XII Release 0.1.0
Loading...
Searching...
No Matches
xiiGpuLightData Struct Reference

#include <LightingData.h>

Public Member Functions

 XII_DECLARE_POD_TYPE ()

Public Attributes

xiiVec4 m_PositionAndInvRange
 xyz = world position, w = 1 / range.
xiiVec4 m_DirectionAndType
 xyz = world direction, w = xiiGpuLightType.
xiiVec4 m_ColorAndIntensity
 rgb = normalized linear color; w = cd (local), lx (directional), or nt (area).
xiiVec4 m_AttenuationAndSize
 x = range, y = source radius, z = tube length, w = reserved.
xiiVec4 m_SpotAnglesAndRectSize
 x = cos(inner half angle), y = cos(outer half angle), zw = rect extents.
xiiVec4 m_ShadowData
 x = casts shadow, y = camera fade-out distance in metres (zero is automatic/full), z = angular/source size, w = reserved.
xiiVec4 m_BoundsCenterAndRadius
 xyz = culling sphere center, w = culling sphere radius.
xiiVec4 m_OrientationRightAndIES
 xyz = local right axis, w = compact IES profile index plus one (zero means none).
xiiVec4U32 m_Metadata
 x = stable light ID, y = compact frame index, z = LightType, w = 16-bit content revision.

Detailed Description

Light representation consumed by clustered lighting shaders.

The layout is intentionally 16-byte aligned and mirrors Data/Base/Shaders/Pipeline/LightingData.h.


The documentation for this struct was generated from the following file:
  • /home/runner/work/XII/XII/Source/Engine/GraphicsCore/Lighting/LightingData.h