8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
30 for (
int i = 0; i < 256; ++i) {
32 table_[i] =
static_cast<uint8_t>(i);
35 const float normalized =
static_cast<
float>(i) / 255.0f;
36 const float corrected = powf(normalized, gamma);
37 int value =
static_cast<
int>(corrected * 255.0f + 0.5f);
38 if (value < 0) value = 0;
39 if (value > 255) value = 255;
40 table_[i] =
static_cast<uint8_t>(value);
Precomputed 8-bit gamma correction lookup table.
Definition: GammaTable.h:23
float gamma_
Definition: GammaTable.h:49
GammaTable(float gamma)
Definition: GammaTable.h:26
uint8_t table_[256]
Definition: GammaTable.h:50
void setGamma(float gamma)
Definition: GammaTable.h:28
float gamma() const
Definition: GammaTable.h:44
GammaTable()
Definition: GammaTable.h:25
uint8_t apply(uint8_t value) const
Definition: GammaTable.h:46
Definition: DSIBusESP32.h:19