Class Qkmaxware::Rendering::LightSource

Class List > Qkmaxware > Rendering > LightSource

Base class for light sources

Inherits the following classes: Qkmaxware::Rendering::SceneNode

Inherited by the following classes: Qkmaxware::Rendering::AmbientLight, Qkmaxware::Rendering::PointLight

Public Attributes inherited from Qkmaxware::Rendering::SceneNode

See Qkmaxware::Rendering::SceneNode

Type Name
Vec3 Backward = => -Forward
World aligned backwards vector
IEnumerable< SceneNode > Children = => children.AsReadOnly()
All direct children of this scene node
Vec3 Down = => -Up
World aligned down vector
Vec3 Forward = => LocalToWorldMatrix * Vec3.J
World aligned forward vector
Vec3 Left = => -Right
World aligned left vector
Transformation LocalToWorldMatrix = => (Parent != null) ? Parent.LocalToWorldMatrix * this.Transform : this.Transform
Matrix to convert from local to world space
Vec3 Position = => LocalToWorldMatrix * Vec3.Zero
World position of this node
Vec3 Right = => LocalToWorldMatrix * Vec3.I
World aligned right vector
Scene? Scene = => (Parent != null) ? Parent.Scene : this.root_scene
Scene in which this node belongs
Transformation Transform = = Transformation.Identity()
Local transformation matrix representing the coordinate frame for this node
Vec3 Up = => LocalToWorldMatrix * Vec3.K
World aligned up vector
Transformation WorldToLocalMatrix = => LocalToWorldMatrix.Inverse
Matrix to convert from world to local space

Public Functions

Type Name
virtual abstract Vec3 Direction (Vec3 position, Vec3 normal) = 0
Direction of the light incident to the given position
virtual abstract double Intensity (Vec3 position, Vec3 normal) = 0
Intensity of the light at the given position

Public Functions inherited from Qkmaxware::Rendering::SceneNode

See Qkmaxware::Rendering::SceneNode

Type Name
void Add (SceneNode node)
Add a node to the scene graph under this node
void Detach ()
Remove this node from the scene graph
IEnumerator< SceneNode > GetEnumerator ()
void Move (Vec3 delta)
Move this node
void Remove (SceneNode node)
Remove a node from the scene graph
void Rotate (Vec3 axis, double angle)
Rotate this coordinate frame about an axis
void RotateAround (Vec3 point, Vec3 axis, double angle)
Rotate this node around a point in space

Public Functions Documentation

function Direction

virtual abstract Vec3 Qkmaxware::Rendering::LightSource::Direction (
    Vec3 position,
    Vec3 normal
) = 0

Parameters:

  • position world position
  • normal world normal

Returns:

light direction

function Intensity

virtual abstract double Qkmaxware::Rendering::LightSource::Intensity (
    Vec3 position,
    Vec3 normal
) = 0

Parameters:

  • position world position
  • normal world normal

Returns:

intensity of the light between 0 and 1


The documentation for this class was generated from the following file Render/src/LightSource.cs