summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2011-09-28 17:14:31 +0200
committerSven Gothel <[email protected]>2011-09-28 17:14:31 +0200
commitf4730179a4436dff7282bc42bc6aa58fb5fb63b5 (patch)
tree13fb70dee2c10ff5e3fea13447d1f7657ed5b5c9
parent09fd89250066642d05d84699beaacb0c73bcc408 (diff)
Fix ES2 shaders
Add missing floating point precision qualifiers. '#extension OES_standard_derivatives : require' somehow doesn't pass the GLSL compiler, however '#extension GL_OES_standard_derivatives : enable' does. Currently works on ARM's Mali-400 MP, NV Tegra still don't show a picture. TODO: More in depth evaluation.
-rw-r--r--src/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-es2.fp3
-rw-r--r--src/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-xxx.fp2
-rw-r--r--src/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer02-es2.fp3
-rw-r--r--src/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer02-xxx.fp2
-rw-r--r--src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/shader/gears.fp6
5 files changed, 9 insertions, 7 deletions
diff --git a/src/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-es2.fp b/src/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-es2.fp
index 953349f5a..94e62c042 100644
--- a/src/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-es2.fp
+++ b/src/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-es2.fp
@@ -3,7 +3,8 @@
#version 100
// we require dFdx/dFdy
-#extension OES_standard_derivatives : require
+// #extension OES_standard_derivatives : require
+#extension GL_OES_standard_derivatives : enable
#include curverenderer01-xxx.fp
diff --git a/src/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-xxx.fp b/src/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-xxx.fp
index 300164466..52cff807c 100644
--- a/src/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-xxx.fp
+++ b/src/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-xxx.fp
@@ -27,7 +27,7 @@ void main (void)
// size = 1.0/textureSize(gcu_TextureUnit,0);
//#endif
rtex -= 5.0;
- vec4 t = texture2D(gcu_TextureUnit, rtex)* 0.18;
+ GRAPHP vec4 t = texture2D(gcu_TextureUnit, rtex)* 0.18;
t += texture2D(gcu_TextureUnit, rtex + size*(vec2(1, 0)))*tex_weights.x;
t += texture2D(gcu_TextureUnit, rtex - size*(vec2(1, 0)))*tex_weights.x;
diff --git a/src/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer02-es2.fp b/src/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer02-es2.fp
index 66361389b..80702d721 100644
--- a/src/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer02-es2.fp
+++ b/src/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer02-es2.fp
@@ -3,7 +3,8 @@
#version 100
// we require dFdx/dFdy
-#extension OES_standard_derivatives : require
+// #extension OES_standard_derivatives : require
+#extension GL_OES_standard_derivatives : enable
#include curverenderer02-xxx.fp
diff --git a/src/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer02-xxx.fp b/src/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer02-xxx.fp
index ee061a95f..3ba4c8d40 100644
--- a/src/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer02-xxx.fp
+++ b/src/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer02-xxx.fp
@@ -27,7 +27,7 @@ void main (void)
// size = 1.0/textureSize(gcu_TextureUnit,0);
//#endif
rtex -= 5.0;
- vec4 t = texture2D(gcu_TextureUnit, rtex)* 0.18;
+ GRAPHP vec4 t = texture2D(gcu_TextureUnit, rtex)* 0.18;
t += texture2D(gcu_TextureUnit, rtex + size*(vec2(1, 0)))*tex_weights.x;
t += texture2D(gcu_TextureUnit, rtex - size*(vec2(1, 0)))*tex_weights.x;
diff --git a/src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/shader/gears.fp b/src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/shader/gears.fp
index be2ec6843..9a89381d1 100644
--- a/src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/shader/gears.fp
+++ b/src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/shader/gears.fp
@@ -33,14 +33,14 @@ void main()
MEDIUMP vec4 diffuse = color * lambertTerm * attenuation * matDiffuse;
MEDIUMP vec4 specular = vec4(0.0);
if (lambertTerm > 0.0) {
- float NdotHV;
+ MEDIUMP float NdotHV;
/*
MEDIUMP vec3 halfDir;
halfDir = normalize (lightDir + cameraDir);
NdotHV = max(0.0, dot(normal, halfDir));
*/
- vec3 E = normalize(-position.xyz);
- vec3 R = reflect(-lightDir, normal);
+ MEDIUMP vec3 E = normalize(-position.xyz);
+ MEDIUMP vec3 R = reflect(-lightDir, normal);
NdotHV = max(0.0, dot(R, E));
specular += color * pow(NdotHV, matShininess) * attenuation * matSpecular;