[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [49147] branches/soc-2012-swiss_cheese/ source/gameengine/Ketsji/BL_Shader.cpp: Fix for Custom Shaders
Alexander Kuznetsov
kuzsasha at gmail.com
Mon Jul 23 19:44:40 CEST 2012
Revision: 49147
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=49147
Author: alexk
Date: 2012-07-23 17:44:40 +0000 (Mon, 23 Jul 2012)
Log Message:
-----------
Fix for Custom Shaders
Add more definitions for ES
Fix for function call.
Reported by dfelinto
Modified Paths:
--------------
branches/soc-2012-swiss_cheese/source/gameengine/Ketsji/BL_Shader.cpp
Modified: branches/soc-2012-swiss_cheese/source/gameengine/Ketsji/BL_Shader.cpp
===================================================================
--- branches/soc-2012-swiss_cheese/source/gameengine/Ketsji/BL_Shader.cpp 2012-07-23 16:43:48 UTC (rev 49146)
+++ branches/soc-2012-swiss_cheese/source/gameengine/Ketsji/BL_Shader.cpp 2012-07-23 17:44:40 UTC (rev 49147)
@@ -293,6 +293,8 @@
"uniform mat4 b_ModelViewMatrix ; \n"
"uniform mat3 b_NormalMatrix ; \n"
+ "#define gl_ModelViewProjectionMatrix (gl_ProjectionMatrix * gl_ModelViewMatrix)\n"
+
"attribute vec4 b_Vertex; \n"
"attribute vec3 b_Normal; \n"
@@ -331,8 +333,18 @@
}
// -- fragment shader ----------------
+#ifdef GLES
+ src[0] = ""
+ "#define B_GLES\n"
+ "precision mediump float; \n"
+ ;
+#else
+ src[0] = "";
+#endif
+ src[1] = fragProg;
+
tmpFrag = gpuCreateShader(GL_FRAGMENT_SHADER);
- gpuShaderSource(tmpFrag, 1,(const char**)&fragProg, 0);
+ gpuShaderSource(tmpFrag, 2,(const char**)src, 0);
gpuCompileShader(tmpFrag);
gpuGetShaderiv(tmpFrag, GL_INFO_LOG_LENGTH, (GLint*) &fraglen);
if (fraglen >0 && fraglen < MAX_LOG_LEN) {
@@ -631,7 +643,7 @@
)
{
MT_assert(mShader!=0);
- int location = glGetUniformLocationARB(mShader, name.ReadPtr());
+ int location = gpuGetUniformLocation(mShader, name.ReadPtr());
if (location == -1)
spit("Invalid uniform value: " << name.ReadPtr() << ".");
return location;
More information about the Bf-blender-cvs
mailing list