vkmEngine 1.0.0
A C++ game engine · vkmengine.com
Loading...
Searching...
No Matches
Vkm::Engine::LightData Struct Reference

One light affecting the frame, resolved to world space. More...

#include <light_data.h>

Public Attributes

uint32_t entitySlot = 0
 The entity slot this light was gathered from.
glm::vec3 direction
 Travel direction; used by directional/spot.
float radius
 Attenuation radius (point/spot/area)
float innerConeAngle
 Spot: full-brightness cone (radians)
float outerConeAngle
 Spot: falloff edge (radians)
glm::vec3 axisU {0.0f}
 Rect/Disk: half-right world axis.
glm::vec3 axisV {0.0f}
 Rect/Disk: half-up world axis.
bool twoSided
 Rect/Disk: emit from both faces.
float shadowBias
 See Light::shadowBias.
float shadowNormalBias
 2D only: normal offset before the compare, in shadow texels
float shadowDistance
 Directional only: world distance the cascades cover.
float sourceRadius = 0.0f
 Light::sourceRadius: radians for a directional light, metres otherwise.

Detailed Description

One light affecting the frame, resolved to world space.

Covers every LightType; area lights carry rotation and size folded into two world-space half-extent axes.

Member Data Documentation

◆ entitySlot

uint32_t Vkm::Engine::LightData::entitySlot = 0

The entity slot this light was gathered from.

A stable tie-break (as findLowestSlot) for scarce shadow atlas slots: list order is SparseSet packing, which moves when an unrelated light is destroyed.

◆ sourceRadius

float Vkm::Engine::LightData::sourceRadius = 0.0f

Light::sourceRadius: radians for a directional light, metres otherwise.

Sizes a directional or spot light's penumbra, and a directional light's highlight. Zero is a point.


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