diff --git a/java/libraries/opengl/src/processing/opengl/LineShaderVert.glsl b/java/libraries/opengl/src/processing/opengl/LineShaderVert.glsl index 20b8ec026..b4627aed2 100644 --- a/java/libraries/opengl/src/processing/opengl/LineShaderVert.glsl +++ b/java/libraries/opengl/src/processing/opengl/LineShaderVert.glsl @@ -71,7 +71,7 @@ vec4 calculateLight(int i) { specular = gl_FrontMaterial.specular * gl_LightSource[i].specular * pow(NdotHV, gl_FrontMaterial.shininess); } - return NdotL * diffuse + ambient + specular; + return NdotL * diffuse + ambient; } void main() { @@ -102,14 +102,15 @@ void main() { gl_Position.xy = clip_p.xy + window_offset.xy; gl_Position.zw = clip_p.zw; - gl_FrontColor = vec4(0, 0, 0, 0); + vec4 color = vec4(0, 0, 0, 0); vec4 globalAmbient = gl_Color * gl_LightModel.ambient; if (lights == 0) { - gl_FrontColor = gl_Color; + color = gl_Color; } for (int i = 0; i < lights; i++) { vec4 light = calculateLight(i); - gl_FrontColor += light; + color += light; } - gl_FrontColor += globalAmbient; + color = clamp(color, 0.0, 1.0); + gl_FrontColor = color; } \ No newline at end of file diff --git a/java/libraries/opengl/src/processing/opengl/PointShaderVert.glsl b/java/libraries/opengl/src/processing/opengl/PointShaderVert.glsl index 5eeebb2a5..fe984a844 100644 --- a/java/libraries/opengl/src/processing/opengl/PointShaderVert.glsl +++ b/java/libraries/opengl/src/processing/opengl/PointShaderVert.glsl @@ -62,7 +62,7 @@ vec4 calculateLight(int i) { specular = gl_FrontMaterial.specular * gl_LightSource[i].specular * pow(NdotHV, gl_FrontMaterial.shininess); } - return NdotL * diffuse + ambient + specular; + return NdotL * diffuse + ambient; } void main() { @@ -70,14 +70,15 @@ void main() { pos.xy += vertDisp.xy; gl_Position = gl_ProjectionMatrix * pos; - gl_FrontColor = vec4(0, 0, 0, 0); + vec4 color = vec4(0, 0, 0, 0); vec4 globalAmbient = gl_Color * gl_LightModel.ambient; if (lights == 0) { - gl_FrontColor = gl_Color; + color = gl_Color; } for (int i = 0; i < lights; i++) { vec4 light = calculateLight(i); - gl_FrontColor += light; + color += light; } - gl_FrontColor += globalAmbient; + color = clamp(color, 0.0, 1.0); + gl_FrontColor = color; } \ No newline at end of file