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

#include <IESProfileResource.h>

Public Member Functions

bool IsValid () const
xiiResult ParseLM63 (xiiStringView sSource, xiiStringBuilder *pError=nullptr)
float Sample (xiiAngle verticalAngle, xiiAngle horizontalAngle) const
 Bilinear full-sphere lookup used by validation tools and CPU sensor paths.
void Serialize (xiiStreamWriter &inout_stream) const
xiiResult Deserialize (xiiStreamReader &inout_stream)

Public Attributes

float m_fMaximumCandela = 0.0f
float m_fReportedLumens = 0.0f
xiiDynamicArray< float > m_NormalizedCandela

Static Public Attributes

static constexpr xiiUInt32 s_uiVerticalSampleCount = 64U
static constexpr xiiUInt32 s_uiHorizontalSampleCount = 32U
static constexpr xiiUInt32 s_uiSampleCount = s_uiVerticalSampleCount * s_uiHorizontalSampleCount

Detailed Description

Runtime representation of an LM-63 Type-C photometric web.

Profiles are resampled to a fixed full-sphere grid at import time. A fixed layout makes profiles inexpensive to deduplicate and upload as one GPU structured buffer while preserving asymmetric luminaires and their roll.

Member Function Documentation

◆ ParseLM63()

xiiResult xiiIESProfileResourceDescriptor::ParseLM63 ( xiiStringView sSource,
xiiStringBuilder * pError = nullptr )

Parses an IESNA LM-63 photometric file. Type-C data and TILT=NONE are supported; invalid or unsupported inputs fail without modifying this descriptor.


The documentation for this struct was generated from the following files:
  • /home/runner/work/XII/XII/Source/Engine/GraphicsCore/Lighting/IESProfileResource.h
  • /home/runner/work/XII/XII/Source/Engine/GraphicsCore/Lighting/Implementation/IESProfileResource.cpp