TGX 1.1.4
A tiny 2D/3D graphics library optimized for 32 bits microcontrollers.
Loading...
Searching...
No Matches
tgx::Renderer3D_detail::SpotLightData< MAX_SPOT_LIGHTS > Struct Template Reference

Internal storage for local spot lights. More...

#include <Renderer3DSpotLightData.h>

Public Attributes

int count
 Number of active spot-light slots.
 
int globalFlags
 Bitwise OR of SpotLightGlobalFlag values.
 
fVec3 position [MAX_SPOT_LIGHTS]
 Light positions in world space.
 
fVec3 direction [MAX_SPOT_LIGHTS]
 Light directions in world space.
 
RGBf diffuseColor [MAX_SPOT_LIGHTS]
 User diffuse light colors.
 
RGBf specularColor [MAX_SPOT_LIGHTS]
 User specular light colors.
 
int flags [MAX_SPOT_LIGHTS]
 Bitwise OR of SpotLightFlag values.
 
float range2 [MAX_SPOT_LIGHTS]
 Squared range, or a very large value for infinite range.
 
float invRange2 [MAX_SPOT_LIGHTS]
 Inverse squared range, or 0 for infinite range.
 
float cosOuter [MAX_SPOT_LIGHTS]
 Cosine of the outer cone half-angle.
 
float invCosWidth [MAX_SPOT_LIGHTS]
 1 / (cos(inner) - cos(outer)), or 0 for hard cones.
 
fVec3 positionView [MAX_SPOT_LIGHTS]
 Light positions in view space.
 
fVec3 directionView [MAX_SPOT_LIGHTS]
 Normalized light directions in view space.
 
RGBf runtimeDiffuseColor [MAX_SPOT_LIGHTS]
 diffuseColor multiplied by material diffuse strength.
 
RGBf runtimeSpecularColor [MAX_SPOT_LIGHTS]
 specularColor multiplied by material specular strength.
 

Detailed Description

template<int MAX_SPOT_LIGHTS>
struct tgx::Renderer3D_detail::SpotLightData< MAX_SPOT_LIGHTS >

Internal storage for local spot lights.

A point light is represented as a spot light without SPOT_LIGHT_CONE_ENABLED. The arrays are split by field instead of grouped per light so the render loop may touch only the values needed by each branch.


The documentation for this struct was generated from the following file: