Foundation
Loading...
Searching...
No Matches
Classes | Enumerations | Functions | Variables
CIEChromacity.cpp File Reference
#include "Examples.hpp"
#include <RenderCore/ImmediateContext.hpp>
#include <RenderUtils/CSDebugText.hpp>
#include <algorithm>
#include <cstddef>
#include <cstring>
#include <Renderer/Tables.hpp>

Classes

struct  CIEPrimaries
 
struct  ViewPushConstant
 
struct  CIEVertex
 
struct  MeshRange
 

Enumerations

enum class  CIERenderMode : uint32_t { ChromaticityXY , XYZCurves , Count }
 

Functions

constexpr uint32_t ModeIndex (CIERenderMode mode)
 
static float2 SampleCIELocus (uint32_t i)
 
static void AppendTriangle (Vector< CIEVertex > &vertices, float2 p0, float2 p1, float2 p2, float4 color)
 
template<typename FPointAt >
static MeshRange AppendPolylineAsTriangles (Vector< CIEVertex > &vertices, uint32_t pointCount, FPointAt &&pointAt, float4 color, float width, bool closed)
 
static MeshRange AppendCIEChromaticityFill (Vector< CIEVertex > &vertices, float luminance)
 
static MeshRange AppendCIEPrimariesFill (Vector< CIEVertex > &vertices, uint32_t primariesIndex)
 
static float MaxCIEMatchingValue ()
 
static MeshRange AppendXYZCurves (Vector< CIEVertex > &vertices)
 
int main (int argc, char **argv)
 

Variables

constexpr float2 D65 = {0.3127f, 0.3290f}
 
constexpr uint32_t kReferencePrimariesOverlay = ~0u
 
constexpr CIEPrimaries kCIEPrimaries []
 

Enumeration Type Documentation

◆ CIERenderMode

enum class CIERenderMode : uint32_t
strong
Enumerator
ChromaticityXY 
XYZCurves 
Count 

Function Documentation

◆ AppendCIEChromaticityFill()

static MeshRange AppendCIEChromaticityFill ( Vector< CIEVertex > &  vertices,
float  luminance 
)
static

◆ AppendCIEPrimariesFill()

static MeshRange AppendCIEPrimariesFill ( Vector< CIEVertex > &  vertices,
uint32_t  primariesIndex 
)
static

◆ AppendPolylineAsTriangles()

template<typename FPointAt >
static MeshRange AppendPolylineAsTriangles ( Vector< CIEVertex > &  vertices,
uint32_t  pointCount,
FPointAt &&  pointAt,
float4  color,
float  width,
bool  closed 
)
static

◆ AppendTriangle()

static void AppendTriangle ( Vector< CIEVertex > &  vertices,
float2  p0,
float2  p1,
float2  p2,
float4  color 
)
static

◆ AppendXYZCurves()

static MeshRange AppendXYZCurves ( Vector< CIEVertex > &  vertices)
static

◆ main()

int main ( int  argc,
char **  argv 
)

◆ MaxCIEMatchingValue()

static float MaxCIEMatchingValue ( )
static

◆ ModeIndex()

constexpr uint32_t ModeIndex ( CIERenderMode  mode)
constexpr

◆ SampleCIELocus()

static float2 SampleCIELocus ( uint32_t  i)
static

Variable Documentation

◆ D65

constexpr float2 D65 = {0.3127f, 0.3290f}
constexpr

◆ kCIEPrimaries

constexpr CIEPrimaries kCIEPrimaries[]
constexpr
Initial value:
= {
{"sRGB / BT.709", {0.640f, 0.330f}, {0.300f, 0.600f}, {0.150f, 0.060f}, D65},
{"BT.2020", {0.708f, 0.292f}, {0.170f, 0.797f}, {0.131f, 0.046f}, D65},
{"Display P3", {0.680f, 0.320f}, {0.265f, 0.690f}, {0.150f, 0.060f}, D65},
{"Adobe RGB (1998)", {0.640f, 0.330f}, {0.210f, 0.710f}, {0.150f, 0.060f}, D65},
}
constexpr float2 D65
Definition CIEChromacity.cpp:15

◆ kReferencePrimariesOverlay

constexpr uint32_t kReferencePrimariesOverlay = ~0u
constexpr