mirror of
https://github.com/glfw/glfw.git
synced 2025-07-29 11:00:04 +00:00
Small tweaks.
This commit is contained in:
parent
dcb4d8ee32
commit
b2fa10ae5b
14
src/gamma.c
14
src/gamma.c
@ -81,18 +81,18 @@ GLFWAPI void glfwSetGamma(GLFWmonitor* handle, float gamma)
|
|||||||
|
|
||||||
for (i = 0; i < 256; i++)
|
for (i = 0; i < 256; i++)
|
||||||
{
|
{
|
||||||
float value;
|
float inv255, value;
|
||||||
|
|
||||||
// Calculate intensity
|
// Calculate intensity
|
||||||
value = i / 255.f;
|
inv255 = 1.f / 255.f;
|
||||||
|
value = i * inv255;
|
||||||
// Apply gamma curve
|
// Apply gamma curve
|
||||||
value = (float) pow(value, 1.f / gamma) * 65535.f + 0.5f;
|
value = powf(value, 1.f / gamma) * 65535.f + 0.5f;
|
||||||
|
|
||||||
// Clamp to value range
|
// Clamp to value range
|
||||||
if (value < 0.f)
|
// There isn't any need to check for values smaller than zero.
|
||||||
value = 0.f;
|
// It is always positive and bigger than 0.5f.
|
||||||
else if (value > 65535.f)
|
value = value < 65535.f ? value : 65535.f;
|
||||||
value = 65535.f;
|
|
||||||
|
|
||||||
values[i] = (unsigned short) value;
|
values[i] = (unsigned short) value;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user