From efd6d8bda6deeee4457c091abf2fe105a59af33d Mon Sep 17 00:00:00 2001 From: Ioannis Tsakpinis Date: Wed, 31 Mar 2004 17:43:46 +0000 Subject: [PATCH] Fixed bugs --- src/java/org/lwjgl/test/opengl/shaders/ShadersTest.java | 6 ++++-- src/java/org/lwjgl/test/opengl/shaders/shaderFSH.fsh | 2 +- src/java/org/lwjgl/test/opengl/shaders/shaderFSH.vsh | 6 ++++-- src/java/org/lwjgl/test/opengl/shaders/shaderVSH.vsh | 8 ++++---- 4 files changed, 13 insertions(+), 9 deletions(-) diff --git a/src/java/org/lwjgl/test/opengl/shaders/ShadersTest.java b/src/java/org/lwjgl/test/opengl/shaders/ShadersTest.java index 39a15760..646d27d6 100644 --- a/src/java/org/lwjgl/test/opengl/shaders/ShadersTest.java +++ b/src/java/org/lwjgl/test/opengl/shaders/ShadersTest.java @@ -206,8 +206,10 @@ public final class ShadersTest { // Setup lighting for when we have fixed function fragment rendering. GL11.glShadeModel(GL11.GL_SMOOTH); - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glEnable(GL11.GL_LIGHT0); + if (shader == null ) { + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glEnable(GL11.GL_LIGHT0); + } vectorBuffer.clear(); vectorBuffer.put(1.0f).put(1.0f).put(1.0f).put(1.0f); diff --git a/src/java/org/lwjgl/test/opengl/shaders/shaderFSH.fsh b/src/java/org/lwjgl/test/opengl/shaders/shaderFSH.fsh index 9971f980..8d024d83 100644 --- a/src/java/org/lwjgl/test/opengl/shaders/shaderFSH.fsh +++ b/src/java/org/lwjgl/test/opengl/shaders/shaderFSH.fsh @@ -5,7 +5,7 @@ varying vec2 dots; void main(void) { // Offset window-space fragment position. vec3 color2D = vec3(gl_FragCoord + UNIFORMS.zwxx); - + // Normalize position. // Multiply with current sin. color2D.xy = normalize(color2D) * UNIFORMS.x; diff --git a/src/java/org/lwjgl/test/opengl/shaders/shaderFSH.vsh b/src/java/org/lwjgl/test/opengl/shaders/shaderFSH.vsh index b64c94ab..242ba9f4 100644 --- a/src/java/org/lwjgl/test/opengl/shaders/shaderFSH.vsh +++ b/src/java/org/lwjgl/test/opengl/shaders/shaderFSH.vsh @@ -1,3 +1,5 @@ +uniform vec4 UNIFORMS; + varying vec2 dots; void main(void) { @@ -6,6 +8,6 @@ void main(void) { vec3 normal = gl_NormalMatrix * gl_Normal; // Pass the dot products to the fragment shader. - dots.x = max(dot(normal, gl_LightSource[0].position), 0.0); - dots.y = max(dot(normal, gl_LightSource[0].halfVector), 0.0); + dots.x = max(dot(normal, vec3(gl_LightSource[0].position)), 0.0); + dots.y = max(dot(normal, vec3(gl_LightSource[0].halfVector)), 0.0); } \ No newline at end of file diff --git a/src/java/org/lwjgl/test/opengl/shaders/shaderVSH.vsh b/src/java/org/lwjgl/test/opengl/shaders/shaderVSH.vsh index e33fca3c..3516b3f5 100644 --- a/src/java/org/lwjgl/test/opengl/shaders/shaderVSH.vsh +++ b/src/java/org/lwjgl/test/opengl/shaders/shaderVSH.vsh @@ -5,8 +5,8 @@ void main(void) { vec3 normal = gl_NormalMatrix * gl_Normal; - float diffuseDot = max(dot(normal, gl_LightSource[0].position), 0.0); - float specularDot = max(dot(normal, gl_LightSource[0].halfVector), 0.0); + float diffuseDot = max(dot(normal, vec3(gl_LightSource[0].position)), 0.0); + float specularDot = max(dot(normal, vec3(gl_LightSource[0].halfVector)), 0.0); specularDot = pow(specularDot, UNIFORMS.y); // Normalize position, to get a {-1..1} value for each vertex. @@ -16,7 +16,7 @@ void main(void) { color3D = (color3D * 0.5 + 0.5) * 2.0; // Accumulate color contributions. - color3D = diffuseDot * color3D + gl_LightModel.ambient; - gl_FrontColor.rgb = specularDot * gl_LightSource[0].specular + color3D; + color3D = diffuseDot * color3D + vec3(gl_LightModel.ambient); + gl_FrontColor.rgb = specularDot * vec3(gl_LightSource[0].specular) + color3D; gl_FrontColor.a = 1.0; } \ No newline at end of file