SystemEX  Lacking
Additional generic collection types missing in .net
SystemEx.Drawing.PointLight Class Reference

Point light implementation. Adds attenuation parameters controlling how light intensity decreases over distance. Typically contains constant, linear, and quadratic terms. More...

Inheritance diagram for SystemEx.Drawing.PointLight:
Collaboration diagram for SystemEx.Drawing.PointLight:

Public Member Functions

 PointLight (Vec4f Attenuation)
 PointLight (Vec4f Attenuation, Vec3f position, Vec3f direction, ColorR8G8B8 ambient, ColorR8G8B8 diffuse)
Public Member Functions inherited from SystemEx.Drawing.Light
 Light (Vec3f position, Vec3f direction, ColorR8G8B8 ambient, ColorR8G8B8 diffuse)
void SetProjParams (Projection projection)
 Sets the projection parameters for lights that require a frustum (typically spot lights or shadow-casting lights).

Protected Attributes

Vec4f m_Attenuation
 Attenuation parameters for the point light. Usually encoded as (constant, linear, quadratic, range).
Protected Attributes inherited from SystemEx.Drawing.Light
Vec3f m_Position
 World-space position of the light.
Vec3f m_Direction
 Normalized world-space direction of the light. Used for directional and spot lights.
Vec3f m_Up
ColorHSV m_DiffuseColor
 Diffuse color contribution of the light. Defines the main visible light color.
ColorHSV m_AmbientColor
 Ambient color contribution of the light. Used for low-frequency indirect lighting.

Properties

float Brightness [get, set]
 Constant attenuation term. Controls base brightness independent of distance.
float BrightnessFalloff [get, set]
 Brightness falloff proportional to distance. Higher values reduce brightness faster as the viewer moves away.
float BrightnessDistance [get, set]
 Brightness falloff proportional to the square of the distance. Controls how quickly the light fades at long ranges.
float Range [get, set]
 Maximum effective range of the light. Used for culling and optional shader optimization.
Properties inherited from SystemEx.Drawing.Light
ColorHSV Ambient [get, set]
ColorHSV Diffuse [get, set]
Vec3f Direction [get, set]
Vec3f Position [get, set]
Vec3f Up [get, set]
Vec3f LookAt [get]
Projection Projection [get]

Detailed Description

Point light implementation. Adds attenuation parameters controlling how light intensity decreases over distance. Typically contains constant, linear, and quadratic terms.

Constructor & Destructor Documentation

◆ PointLight() [1/3]

SystemEx.Drawing.PointLight.PointLight ( )
204 : base() {
205 m_Attenuation = new Vec4f(0, 0, 0.4f, 0);
206 }

◆ PointLight() [2/3]

SystemEx.Drawing.PointLight.PointLight ( Vec4f Attenuation)
207 : base() {
208 m_Attenuation = Attenuation;
209 }

◆ PointLight() [3/3]

SystemEx.Drawing.PointLight.PointLight ( Vec4f Attenuation,
Vec3f position,
Vec3f direction,
ColorR8G8B8 ambient,
ColorR8G8B8 diffuse )
213 : base(position, direction, ambient, diffuse) {
214 m_Attenuation = Attenuation;
215 }

Member Data Documentation

◆ m_Attenuation

Vec4f SystemEx.Drawing.PointLight.m_Attenuation
protected

Attenuation parameters for the point light. Usually encoded as (constant, linear, quadratic, range).

Property Documentation

◆ Brightness

float SystemEx.Drawing.PointLight.Brightness
getset

Constant attenuation term. Controls base brightness independent of distance.

172 {
173 get => m_Attenuation.X;
174 set => m_Attenuation.X = value;
175 }

◆ BrightnessDistance

float SystemEx.Drawing.PointLight.BrightnessDistance
getset

Brightness falloff proportional to the square of the distance. Controls how quickly the light fades at long ranges.

190 {
191 get => m_Attenuation.Z;
192 set => m_Attenuation.Z = value;
193 }

◆ BrightnessFalloff

float SystemEx.Drawing.PointLight.BrightnessFalloff
getset

Brightness falloff proportional to distance. Higher values reduce brightness faster as the viewer moves away.

181 {
182 get => m_Attenuation.Y;
183 set => m_Attenuation.Y = value;
184 }

◆ Range

float SystemEx.Drawing.PointLight.Range
getset

Maximum effective range of the light. Used for culling and optional shader optimization.

199 {
200 get => m_Attenuation.W;
201 set => m_Attenuation.W = value;
202 }

The documentation for this class was generated from the following file:
  • Light.cs