CRM64Pro GDK v0.80.0
A free cross-platform game development kit built on top of SDL 3.0
Loading...
Searching...
No Matches
CRM64Pro::GFXLight

Point or spot light submitted to a GFX lightmap pass. More...

Public Attributes

float fX = 0.0f
 Light center or spot origin X coordinate in screen space.
float fY = 0.0f
 Light center or spot origin Y coordinate in screen space.
float fRadius = 0.0f
 Maximum radius in pixels. Must be greater than 0.
float fDirection = 0.0f
 Spot direction in degrees. 0 points right and 90 points down.
float fAngle = 360.0f
 Spot cone angle in degrees. Values of 360 or greater produce a point light.
Uint32 iColor = 0xFFFFFFFF
 Primary light color in 0xRRGGBBAA format.
float fIntensity = 1.0f
 Maximum intensity. Must be nonnegative; values above 1.0 are clamped.
bool bUseOccluders = true
 true to clip the light against active occluders.
eGFXLightAnimation eAnimation = GLA_NONE
 Light animation applied during rendering.
float fAnimationRate = 1.0f
 Animation rate. Pulse uses cycles per second; flicker and candle use noise samples per second. Zero or negative keeps the base values.
float fAnimationAmount = 0.25f
 Maximum proportional intensity reduction, clamped to [0.0, 1.0].
Uint32 iSecondaryColor = 0
 Color at the animation low point, or zero to reuse iColor.
float fAnimationRadiusAmount = 0.0f
 Maximum proportional radius reduction, clamped to [0.0, 1.0].
Uint32 iAnimationID = 0
 Stable identifier used to vary animation phase and noise.

Detailed Description

Point or spot light submitted to a GFX lightmap pass.

The structure describes one immediate light draw. GFX does not retain it after drawLight() returns. Animated modes reduce the base intensity and radius and blend from iSecondaryColor to iColor. The same animation identifier produces the same animation. Default member values describe a static white point light; set a positive fRadius and the desired position before drawing.

Note
Set fAngle to a value below 360 degrees for a spot light. Values of 360 degrees or greater produce a point light.
A zero iSecondaryColor uses iColor, disabling color animation without an additional flag.