Skip to content
Snippets Groups Projects
Commit 449902b5 authored by bunnei's avatar bunnei
Browse files

gl_shader_gen: Fix bug in LUT range (should within range [0, 255] not [0, 256]).

parent 348c9c9f
No related branches found
No related tags found
No related merge requests found
...@@ -362,11 +362,11 @@ static void WriteLighting(std::string& out, const PicaShaderConfig& config) { ...@@ -362,11 +362,11 @@ static void WriteLighting(std::string& out, const PicaShaderConfig& config) {
if (abs) { if (abs) {
// LUT index is in the range of (0.0, 1.0) // LUT index is in the range of (0.0, 1.0)
index = config.lighting.light[light_num].two_sided_diffuse ? "abs(" + index + ")" : "max(" + index + ", 0.f)"; index = config.lighting.light[light_num].two_sided_diffuse ? "abs(" + index + ")" : "max(" + index + ", 0.f)";
return "clamp(" + index + ", 0.0, FLOAT_255)"; return "(FLOAT_255 * clamp(" + index + ", 0.0, 1.0))";
} else { } else {
// LUT index is in the range of (-1.0, 1.0) // LUT index is in the range of (-1.0, 1.0)
index = "clamp(" + index + ", -1.0, 1.0)"; index = "clamp(" + index + ", -1.0, 1.0)";
return "clamp(((" + index + " < 0) ? " + index + " + 2.0 : " + index + ") / 2.0, 0.0, FLOAT_255)"; return "(FLOAT_255 * ((" + index + " < 0) ? " + index + " + 2.0 : " + index + ") / 2.0)";
} }
return std::string(); return std::string();
...@@ -487,7 +487,7 @@ std::string GenerateFragmentShader(const PicaShaderConfig& config) { ...@@ -487,7 +487,7 @@ std::string GenerateFragmentShader(const PicaShaderConfig& config) {
#define NUM_TEV_STAGES 6 #define NUM_TEV_STAGES 6
#define NUM_LIGHTS 8 #define NUM_LIGHTS 8
#define LIGHTING_LUT_SIZE 256 #define LIGHTING_LUT_SIZE 256
#define FLOAT_255 0.99609375 #define FLOAT_255 (255.0 / 256.0)
in vec4 primary_color; in vec4 primary_color;
in vec2 texcoord[3]; in vec2 texcoord[3];
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment