21#ifndef _TGX_RENDERER3D_SPOT_LIGHT_DATA_H_
22#define _TGX_RENDERER3D_SPOT_LIGHT_DATA_H_
34 namespace Renderer3D_detail
39 SPOT_LIGHT_CONE_ENABLED = 1u << 0,
40 SPOT_LIGHT_SOFT_CONE = 1u << 1,
41 SPOT_LIGHT_RUNTIME_SPECULAR_ENABLED = 1u << 2
45 enum SpotLightGlobalFlag
47 SPOT_LIGHT_GLOBAL_RUNTIME_SPECULAR = 1u << 0,
48 SPOT_LIGHT_GLOBAL_ACTIVE_CONE = 1u << 1
59 template<
int MAX_SPOT_LIGHTS>
62 static_assert(MAX_SPOT_LIGHTS > 0,
"MAX_SPOT_LIGHTS must be positive for this specialization");
Color classes [RGB565, RGB24, RGB32, RGB64, RGBf, HSV].
Color in R,G,B float format.
Definition: Color.h:2405
Internal storage for local spot lights.
Definition: Renderer3DSpotLightData.h:61
float cosOuter[MAX_SPOT_LIGHTS]
Cosine of the outer cone half-angle.
Definition: Renderer3DSpotLightData.h:78
float invCosWidth[MAX_SPOT_LIGHTS]
1 / (cos(inner) - cos(outer)), or 0 for hard cones.
Definition: Renderer3DSpotLightData.h:79
int globalFlags
Bitwise OR of SpotLightGlobalFlag values.
Definition: Renderer3DSpotLightData.h:65
int flags[MAX_SPOT_LIGHTS]
Bitwise OR of SpotLightFlag values.
Definition: Renderer3DSpotLightData.h:73
fVec3 direction[MAX_SPOT_LIGHTS]
Light directions in world space.
Definition: Renderer3DSpotLightData.h:69
float invRange2[MAX_SPOT_LIGHTS]
Inverse squared range, or 0 for infinite range.
Definition: Renderer3DSpotLightData.h:77
fVec3 positionView[MAX_SPOT_LIGHTS]
Light positions in view space.
Definition: Renderer3DSpotLightData.h:82
fVec3 directionView[MAX_SPOT_LIGHTS]
Normalized light directions in view space.
Definition: Renderer3DSpotLightData.h:83
RGBf diffuseColor[MAX_SPOT_LIGHTS]
User diffuse light colors.
Definition: Renderer3DSpotLightData.h:70
RGBf runtimeSpecularColor[MAX_SPOT_LIGHTS]
specularColor multiplied by material specular strength.
Definition: Renderer3DSpotLightData.h:87
RGBf specularColor[MAX_SPOT_LIGHTS]
User specular light colors.
Definition: Renderer3DSpotLightData.h:71
float range2[MAX_SPOT_LIGHTS]
Squared range, or a very large value for infinite range.
Definition: Renderer3DSpotLightData.h:76
RGBf runtimeDiffuseColor[MAX_SPOT_LIGHTS]
diffuseColor multiplied by material diffuse strength.
Definition: Renderer3DSpotLightData.h:86
int count
Number of active spot-light slots.
Definition: Renderer3DSpotLightData.h:64
fVec3 position[MAX_SPOT_LIGHTS]
Light positions in world space.
Definition: Renderer3DSpotLightData.h:68
Configuration file depending on the architecture.