Skip to content

Correction

Source: Correction.h

Correction

struct Correction
src/light/drivers/Correction.h:54

Public Attributes

uint8_t briLut = {}

Curve curve = Curve::Cie : Which perceptual curve rebuildBrightness fills through.

uint8_t offRed = 1

uint8_t offGreen = 0

uint8_t offBlue = 2

uint8_t offWhite = kAbsent

uint8_t offWarmWhite = kAbsent

uint8_t offDimmer = kAbsent

uint8_t offPan = kAbsent

uint8_t offTilt = kAbsent

uint8_t offZoom = kAbsent

uint8_t offRotate = kAbsent

uint8_t offGobo = kAbsent

bool hasMotion = false

bool motionHeld = false : Hold the rig's aim: motion stops being written to the wire, so a fixture keeps the last position it was sent.

uint8_t offYellow = kAbsent

uint8_t offUV = kAbsent

uint8_t outChannels = 3

WhiteMode whiteMode = WhiteMode::Min

Public Methods

inline void rebuildBrightness(uint8_t brightness)

inline void rebuild(uint8_t brightness, const ChannelRole * roles, uint8_t nChannels)

inline void apply(const uint8_t * src, uint8_t * out, uint8_t srcChannels) const : Hot path: transform one source light (srcChannels bytes at src) into out (outChannels bytes).

Public Static Attributes

constexpr uint8_t kAbsent = 255

Public Static Methods

static inline float cieLuminance(float control255) : CIE 1931 lightness, inverted: a 0..255 control position to a 0..1 luminance fraction.

Public Types

enum Curve : The perceptual curve the output LUT is filled through.

Value Description
Cie
Gamma22
Gamma28
Linear