From 8609b6e6b1d75d847488c9675e81cc7215255582 Mon Sep 17 00:00:00 2001 From: rdb Date: Mon, 28 Nov 2011 16:21:21 +0000 Subject: [PATCH] gl_Tangent and gl_Binormal --- panda/src/glstuff/glShaderContext_src.I | 6 +----- panda/src/glstuff/glShaderContext_src.cxx | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/panda/src/glstuff/glShaderContext_src.I b/panda/src/glstuff/glShaderContext_src.I index 1c9c8ae994..c5a204258b 100755 --- a/panda/src/glstuff/glShaderContext_src.I +++ b/panda/src/glstuff/glShaderContext_src.I @@ -39,15 +39,11 @@ valid() { //////////////////////////////////////////////////////////////////// // Function: GLShaderContext::uses_custom_vertex_arrays // Access: Public -// Description: Returns false in case of GLSL, true in case of Cg. +// Description: Always true, for now. //////////////////////////////////////////////////////////////////// INLINE bool CLP(ShaderContext):: uses_custom_vertex_arrays() { -#ifdef OPENGLES_2 return true; -#else - return (_shader->get_language() == Shader::SL_Cg); -#endif } //////////////////////////////////////////////////////////////////// diff --git a/panda/src/glstuff/glShaderContext_src.cxx b/panda/src/glstuff/glShaderContext_src.cxx index ec0a127a4d..d94de2ed0a 100755 --- a/panda/src/glstuff/glShaderContext_src.cxx +++ b/panda/src/glstuff/glShaderContext_src.cxx @@ -379,6 +379,24 @@ CLP(ShaderContext)(Shader *s, GSG *gsg) : ShaderContext(s) { gsg->_glBindAttribLocation(_glsl_program, i, param_name); continue; } + if (noprefix.substr(0, 7) == "Tangent") { + bind._name = InternalName::get_tangent(); + if (noprefix.size() > 7) { + bind._append_uv = atoi(noprefix.substr(7).c_str()); + } + s->_var_spec.push_back(bind); + gsg->_glBindAttribLocation(_glsl_program, i, param_name); + continue; + } + if (noprefix.substr(0, 8) == "Binormal") { + bind._name = InternalName::get_binormal(); + if (noprefix.size() > 8) { + bind._append_uv = atoi(noprefix.substr(8).c_str()); + } + s->_var_spec.push_back(bind); + gsg->_glBindAttribLocation(_glsl_program, i, param_name); + continue; + } if (noprefix.substr(0, 13) == "MultiTexCoord") { bind._name = InternalName::get_texcoord(); bind._append_uv = atoi(inputname->get_name().substr(13).c_str());