summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorJuan Linietsky <reduzio@gmail.com>2014-09-16 21:19:54 -0300
committerJuan Linietsky <reduzio@gmail.com>2014-09-16 21:19:54 -0300
commitf00f4b9296a827ac1014cc2cc84b0dfbb4cac497 (patch)
tree57da76829a89ceb42d258865a3a4afb3cf51d5d4 /drivers
parent642c63319eb7471c9accc0c50dfffef5d72c0078 (diff)
CollisionPolygon (3D)
Workaround for round() on PC.
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gles2/shader_compiler_gles2.cpp4
-rw-r--r--drivers/gles2/shaders/material.glsl2
2 files changed, 6 insertions, 0 deletions
diff --git a/drivers/gles2/shader_compiler_gles2.cpp b/drivers/gles2/shader_compiler_gles2.cpp
index b928d3709b..ada9efa4b3 100644
--- a/drivers/gles2/shader_compiler_gles2.cpp
+++ b/drivers/gles2/shader_compiler_gles2.cpp
@@ -611,7 +611,11 @@ ShaderCompilerGLES2::ShaderCompilerGLES2() {
replace_table["sign"]= "sign";
replace_table["floor"]= "floor";
replace_table["trunc"]= "trunc";
+#ifdef GLEW_ENABLED
+ replace_table["round"]= "roundfix";
+#else
replace_table["round"]= "round";
+#endif
replace_table["ceil" ]= "ceil";
replace_table["fract"]= "fract";
replace_table["mod" ]= "mod";
diff --git a/drivers/gles2/shaders/material.glsl b/drivers/gles2/shaders/material.glsl
index 3aa27c98ff..ad8a364ac1 100644
--- a/drivers/gles2/shaders/material.glsl
+++ b/drivers/gles2/shaders/material.glsl
@@ -4,6 +4,7 @@
#ifdef USE_GLES_OVER_GL
#define mediump
#define highp
+#define roundfix( m_val ) floor( (m_val) + 0.5 )
#else
precision mediump float;
precision mediump int;
@@ -470,6 +471,7 @@ VERTEX_SHADER_CODE
#ifdef USE_GLES_OVER_GL
#define mediump
#define highp
+#define roundfix( m_val ) floor( (m_val) + 0.5 )
#else
precision mediump float;