|
|
|
@ -61,18 +61,15 @@ GLFWAPI void glfwSetGamma(float gamma) |
|
|
|
|
|
|
|
|
|
for (i = 0; i < size; i++) |
|
|
|
|
{ |
|
|
|
|
float value = (float) i / ((float) (size - 1)); |
|
|
|
|
float value; |
|
|
|
|
|
|
|
|
|
// Apply gamma
|
|
|
|
|
// Calculate intensity
|
|
|
|
|
value = (float) i / (float) (size - 1); |
|
|
|
|
// Apply gamma curve
|
|
|
|
|
value = (float) pow(value, 1.f / gamma) * 65535.f + 0.5f; |
|
|
|
|
// Clamp to value range
|
|
|
|
|
value = (float) fmax(fmin(value, 65535.f), 0.f); |
|
|
|
|
|
|
|
|
|
// Clamp values
|
|
|
|
|
if (value < 0.f) |
|
|
|
|
value = 0.f; |
|
|
|
|
else if (value > 65535.f) |
|
|
|
|
value = 65535.f; |
|
|
|
|
|
|
|
|
|
// Set the gamma ramp values
|
|
|
|
|
ramp.red[i] = (unsigned short) value; |
|
|
|
|
ramp.green[i] = (unsigned short) value; |
|
|
|
|
ramp.blue[i] = (unsigned short) value; |
|
|
|
|