Update of /cvsroot/crystal/CS/plugins/video/render3d/shader/shaderplugins/glshader_arb In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9898/plugins/video/render3d/shader/shaderplugins/glshader_arb Modified Files: glshader_afp.cpp glshader_afp.h glshader_avp.cpp glshader_avp.h Log Message: - Marten made a few fixes to the shader system: - Removed the static variable context from csXMLShader::Compile and child methods. - Made some changes to the variable mapping holder to use less memory. - Rewrote Cg plugin to (once again) use Cg calls for parameter setting and not using the ARB_vertex_program routing. - Rewrote shader variable handing in Cg and ARB_*_p plugins to properly support matrix, transform and array datatypes. - Added matrix and transform types to SV and shader parameter loader. - Changed the SV stack to be a SV list. - Marten changed the renderloop to follow the SV context order shadermanager (global) - renderloop - sector - light - mesh - shader - material ( - shaderprogram). - Marten changed fountain meshobject to use csRandomFloatGen which hopefully is faster than normal rand(). - Marten fixed a few compile warnings in isotest.cpp. - Marten fixed environment reflective cubemap support. Index: glshader_afp.cpp =================================================================== RCS file: /cvsroot/crystal/CS/plugins/video/render3d/shader/shaderplugins/glshader_arb/glshader_afp.cpp,v retrieving revision 1.26 retrieving revision 1.27 diff -u -d -r1.26 -r1.27 --- glshader_afp.cpp 28 May 2005 12:11:34 -0000 1.26 +++ glshader_afp.cpp 31 May 2005 16:13:11 -0000 1.27 @@ -64,87 +64,137 @@ { size_t i; const csGLExtensionManager* ext = shaderPlug->ext; + csRef<csShaderVariable> var; // set variables for(i = 0; i < variablemap.Length(); ++i) { VariableMapEntry& mapping = variablemap[i]; - if (RetrieveParamValue (mapping.mappingParam, stacks)) + + var = csGetShaderVariableFromStack (stacks, mapping.name); + if (!var.IsValid ()) + var = mapping.mappingParam.var; + + // If var is null now we have no const nor any passed value, ignore it + if (!var.IsValid ()) + continue; + + switch (var->GetType ()) { - if (mapping.mappingParam.var.IsValid()) + case csShaderVariable::INT: + case csShaderVariable::FLOAT: + case csShaderVariable::VECTOR2: + case csShaderVariable::COLOR: + case csShaderVariable::VECTOR3: + case csShaderVariable::VECTOR4: { - csShaderVariable* lvar = mapping.mappingParam.var; - switch (lvar->GetType()) + csVector4 v; + if (var->GetValue (v)) + ext->glProgramLocalParameter4fvARB (GL_VERTEX_PROGRAM_ARB, mapping.userVal, &v.x); + } + break; + case csShaderVariable::MATRIX: + { + csMatrix3 m; + if(var->GetValue(m)) + { + float matrix[16]; + makeGLMatrix (m, matrix); + ext->glProgramLocalParameter4fARB (GL_VERTEX_PROGRAM_ARB, + mapping.userVal, matrix[0], matrix[4], matrix[8], matrix[12]); + ext->glProgramLocalParameter4fARB (GL_VERTEX_PROGRAM_ARB, + mapping.userVal+1, matrix[1], matrix[5], matrix[9], matrix[13]); + ext->glProgramLocalParameter4fARB (GL_VERTEX_PROGRAM_ARB, + mapping.userVal+2, matrix[2], matrix[6], matrix[10], matrix[14]); + ext->glProgramLocalParameter4fARB (GL_VERTEX_PROGRAM_ARB, + mapping.userVal+3, matrix[3], matrix[7], matrix[11], matrix[15]); + } + } + break; + case csShaderVariable::TRANSFORM: + { + csReversibleTransform t; + if(var->GetValue(t)) + { + float matrix[16]; + makeGLMatrix (t, matrix); + ext->glProgramLocalParameter4fARB (GL_VERTEX_PROGRAM_ARB, + mapping.userVal, matrix[0], matrix[4], matrix[8], matrix[12]); + ext->glProgramLocalParameter4fARB (GL_VERTEX_PROGRAM_ARB, + mapping.userVal+1, matrix[1], matrix[5], matrix[9], matrix[13]); + ext->glProgramLocalParameter4fARB (GL_VERTEX_PROGRAM_ARB, + mapping.userVal+2, matrix[2], matrix[6], matrix[10], matrix[14]); + ext->glProgramLocalParameter4fARB (GL_VERTEX_PROGRAM_ARB, + mapping.userVal+3, matrix[3], matrix[7], matrix[11], matrix[15]); + } + } + break; + case csShaderVariable::ARRAY: + { + csRef<csShaderVariable> cvar; + if (var->GetArraySize () == 0) break; + + cvar = var->GetArrayElement (0); + + switch (cvar->GetType ()) { case csShaderVariable::INT: - { - int intval; - if(lvar->GetValue(intval)) - ext->glProgramLocalParameter4fvARB (GL_FRAGMENT_PROGRAM_ARB, mapping.userVal, (float*)intval); - } - break; case csShaderVariable::FLOAT: - { - float fval; - if(lvar->GetValue(fval)) - ext->glProgramLocalParameter4fvARB (GL_FRAGMENT_PROGRAM_ARB, mapping.userVal, &fval); - } - break; case csShaderVariable::VECTOR2: - { - csVector2 v2; - if(lvar->GetValue(v2)) - ext->glProgramLocalParameter4fvARB (GL_FRAGMENT_PROGRAM_ARB, mapping.userVal, &v2.x); - } - break; case csShaderVariable::COLOR: case csShaderVariable::VECTOR3: - { - csVector3 v3; - if(lvar->GetValue(v3)) - ext->glProgramLocalParameter4fvARB (GL_FRAGMENT_PROGRAM_ARB, mapping.userVal, &v3.x); - } - break; case csShaderVariable::VECTOR4: { - csVector4 v4; - if(lvar->GetValue(v4)) - ext->glProgramLocalParameter4fvARB (GL_FRAGMENT_PROGRAM_ARB, mapping.userVal, &v4.x); + csVector4 v; + for (uint i = 0; i < var->GetArraySize (); i++) + { + cvar = var->GetArrayElement (i); + if (cvar->GetValue (v)) + ext->glProgramLocalParameter4fvARB (GL_VERTEX_PROGRAM_ARB, mapping.userVal+i, &v.x); + } } - break; + break; case csShaderVariable::MATRIX: { csMatrix3 m; - if(lvar->GetValue(m)) + for (uint i = 0; i< var->GetArraySize (); i++) { - float matrix[16]; - makeGLMatrix (m, matrix); - ext->glProgramLocalParameter4fARB (GL_FRAGMENT_PROGRAM_ARB, - mapping.userVal, matrix[0], matrix[4], matrix[8], matrix[12]); - ext->glProgramLocalParameter4fARB (GL_FRAGMENT_PROGRAM_ARB, - mapping.userVal+1, matrix[1], matrix[5], matrix[9], matrix[13]); - ext->glProgramLocalParameter4fARB (GL_FRAGMENT_PROGRAM_ARB, - mapping.userVal+2, matrix[2], matrix[6], matrix[10], matrix[14]); - ext->glProgramLocalParameter4fARB (GL_FRAGMENT_PROGRAM_ARB, - mapping.userVal+3, matrix[3], matrix[7], matrix[11], matrix[15]); + cvar = var->GetArrayElement (i); + if(cvar->GetValue(m)) + { + float matrix[16]; + makeGLMatrix (m, matrix); + ext->glProgramLocalParameter4fARB (GL_VERTEX_PROGRAM_ARB, + mapping.userVal+i*4+0, matrix[0], matrix[4], matrix[8], matrix[12]); + ext->glProgramLocalParameter4fARB (GL_VERTEX_PROGRAM_ARB, + mapping.userVal+i*4+1, matrix[1], matrix[5], matrix[9], matrix[13]); + ext->glProgramLocalParameter4fARB (GL_VERTEX_PROGRAM_ARB, + mapping.userVal+i*4+2, matrix[2], matrix[6], matrix[10], matrix[14]); + ext->glProgramLocalParameter4fARB (GL_VERTEX_PROGRAM_ARB, + mapping.userVal+i*4+3, matrix[3], matrix[7], matrix[11], matrix[15]); + } } } break; case csShaderVariable::TRANSFORM: { csReversibleTransform t; - if(lvar->GetValue(t)) + for (uint i = 0; i< var->GetArraySize (); i++) { - float matrix[16]; - makeGLMatrix (t, matrix); - ext->glProgramLocalParameter4fARB (GL_FRAGMENT_PROGRAM_ARB, - mapping.userVal, matrix[0], matrix[4], matrix[8], matrix[12]); - ext->glProgramLocalParameter4fARB (GL_FRAGMENT_PROGRAM_ARB, - mapping.userVal+1, matrix[1], matrix[5], matrix[9], matrix[13]); - ext->glProgramLocalParameter4fARB (GL_FRAGMENT_PROGRAM_ARB, - mapping.userVal+2, matrix[2], matrix[6], matrix[10], matrix[14]); - ext->glProgramLocalParameter4fARB (GL_FRAGMENT_PROGRAM_ARB, - mapping.userVal+3, matrix[3], matrix[7], matrix[11], matrix[15]); + cvar = var->GetArrayElement (i); + if(cvar->GetValue(t)) + { + float matrix[16]; + makeGLMatrix (t, matrix); + ext->glProgramLocalParameter4fARB (GL_VERTEX_PROGRAM_ARB, + mapping.userVal+i*4+0, matrix[0], matrix[4], matrix[8], matrix[12]); + ext->glProgramLocalParameter4fARB (GL_VERTEX_PROGRAM_ARB, + mapping.userVal+i*4+1, matrix[1], matrix[5], matrix[9], matrix[13]); + ext->glProgramLocalParameter4fARB (GL_VERTEX_PROGRAM_ARB, + mapping.userVal+i*4+2, matrix[2], matrix[6], matrix[10], matrix[14]); + ext->glProgramLocalParameter4fARB (GL_VERTEX_PROGRAM_ARB, + mapping.userVal+i*4+3, matrix[3], matrix[7], matrix[11], matrix[15]); + } } } break; @@ -152,57 +202,9 @@ break; } } - else - { - const csVector4& v = mapping.mappingParam.vectorValue; - switch (mapping.mappingParam.type) - { - case ParamFloat: - case ParamVector2: - case ParamVector3: - case ParamVector4: - { - ext->glProgramLocalParameter4fvARB (GL_FRAGMENT_PROGRAM_ARB, mapping.userVal, &v.x); - } - break; - case ParamMatrix: - { - float matrix[16]; - makeGLMatrix (mapping.mappingParam.matrixValue, matrix); - ext->glProgramLocalParameter4fARB (GL_FRAGMENT_PROGRAM_ARB, - mapping.userVal, matrix[0], matrix[4], matrix[8], matrix[12]); - ext->glProgramLocalParameter4fARB (GL_FRAGMENT_PROGRAM_ARB, - mapping.userVal+1, matrix[1], matrix[5], matrix[9], matrix[13]); - ext->glProgramLocalParameter4fARB (GL_FRAGMENT_PROGRAM_ARB, - mapping.userVal+2, matrix[2], matrix[6], matrix[10], matrix[14]); - ext->glProgramLocalParameter4fARB (GL_FRAGMENT_PROGRAM_ARB, - mapping.userVal+3, matrix[3], matrix[7], matrix[11], matrix[15]); - - } - break; - case ParamTransform: - { - float matrix[16]; - makeGLMatrix (mapping.mappingParam.transformValue, matrix); - /*for (int j = 0; j < 4; j++) - { - ext->glProgramLocalParameter4fvARB (GL_FRAGMENT_PROGRAM_ARB, - mapping.userVal+j, &matrix[4*j]); - }*/ - ext->glProgramLocalParameter4fARB (GL_FRAGMENT_PROGRAM_ARB, - mapping.userVal, matrix[0], matrix[4], matrix[8], matrix[12]); - ext->glProgramLocalParameter4fARB (GL_FRAGMENT_PROGRAM_ARB, - mapping.userVal+1, matrix[1], matrix[5], matrix[9], matrix[13]); - ext->glProgramLocalParameter4fARB (GL_FRAGMENT_PROGRAM_ARB, - mapping.userVal+2, matrix[2], matrix[6], matrix[10], matrix[14]); - ext->glProgramLocalParameter4fARB (GL_FRAGMENT_PROGRAM_ARB, - mapping.userVal+3, matrix[3], matrix[7], matrix[11], matrix[15]); - } - break; - default: - break; - } - } + break; + default: + break; } } } @@ -307,12 +309,10 @@ return true; } -bool csShaderGLAFP::Compile(csArray<iShaderVariableContext*> &staticContexts) +bool csShaderGLAFP::Compile() { shaderPlug->Open (); - ResolveStaticVars (staticContexts); - for (size_t i = 0; i < variablemap.Length ();) { int dest; Index: glshader_afp.h =================================================================== RCS file: /cvsroot/crystal/CS/plugins/video/render3d/shader/shaderplugins/glshader_arb/glshader_afp.h,v retrieving revision 1.14 retrieving revision 1.15 diff -u -d -r1.14 -r1.15 --- glshader_afp.h 28 Mar 2005 11:05:39 -0000 1.14 +++ glshader_afp.h 31 May 2005 16:13:11 -0000 1.15 @@ -88,7 +88,7 @@ { return false; } /// Compile a program - virtual bool Compile(csArray<iShaderVariableContext*> &staticContexts); + virtual bool Compile(); }; Index: glshader_avp.cpp =================================================================== RCS file: /cvsroot/crystal/CS/plugins/video/render3d/shader/shaderplugins/glshader_arb/glshader_avp.cpp,v retrieving revision 1.27 retrieving revision 1.28 diff -u -d -r1.27 -r1.28 --- glshader_avp.cpp 28 May 2005 12:11:34 -0000 1.27 +++ glshader_avp.cpp 31 May 2005 16:13:11 -0000 1.28 @@ -65,145 +65,147 @@ { size_t i; const csGLExtensionManager* ext = shaderPlug->ext; + csRef<csShaderVariable> var; // set variables for(i = 0; i < variablemap.Length(); ++i) { VariableMapEntry& mapping = variablemap[i]; - if (RetrieveParamValue (mapping.mappingParam, stacks)) + + var = csGetShaderVariableFromStack (stacks, mapping.name); + if (!var.IsValid ()) + var = mapping.mappingParam.var; + + // If var is null now we have no const nor any passed value, ignore it + if (!var.IsValid ()) + continue; + + switch (var->GetType ()) { - if (mapping.mappingParam.var.IsValid()) + case csShaderVariable::INT: + case csShaderVariable::FLOAT: + case csShaderVariable::VECTOR2: + case csShaderVariable::COLOR: + case csShaderVariable::VECTOR3: + case csShaderVariable::VECTOR4: { - csShaderVariable* lvar = mapping.mappingParam.var; - switch (lvar->GetType()) - { - case csShaderVariable::INT: - { - int intval; - if(lvar->GetValue(intval)) - ext->glProgramLocalParameter4fvARB (GL_VERTEX_PROGRAM_ARB, mapping.userVal, (float*)intval); - } - break; - case csShaderVariable::FLOAT: - { - float fval; - if(lvar->GetValue(fval)) - ext->glProgramLocalParameter4fvARB (GL_VERTEX_PROGRAM_ARB, mapping.userVal, &fval); - } - break; - case csShaderVariable::VECTOR2: - { - csVector2 v2; - if(lvar->GetValue(v2)) - ext->glProgramLocalParameter4fvARB (GL_VERTEX_PROGRAM_ARB, mapping.userVal, &v2.x); - } - break; - case csShaderVariable::COLOR: - case csShaderVariable::VECTOR3: - { - csVector3 v3; - if(lvar->GetValue(v3)) - ext->glProgramLocalParameter4fvARB (GL_VERTEX_PROGRAM_ARB, mapping.userVal, &v3.x); - } - break; - case csShaderVariable::VECTOR4: - { - csVector4 v4; - if(lvar->GetValue(v4)) - ext->glProgramLocalParameter4fvARB (GL_VERTEX_PROGRAM_ARB, mapping.userVal, &v4.x); - } - break; - case csShaderVariable::MATRIX: - { - csMatrix3 m; - if(lvar->GetValue(m)) + csVector4 v; + if (var->GetValue (v)) + ext->glProgramLocalParameter4fvARB (GL_VERTEX_PROGRAM_ARB, mapping.userVal, &v.x); + } + break; + case csShaderVariable::MATRIX: + { + csMatrix3 m; + if(var->GetValue(m)) + { + float matrix[16]; + makeGLMatrix (m, matrix); + ext->glProgramLocalParameter4fARB (GL_VERTEX_PROGRAM_ARB, + mapping.userVal, matrix[0], matrix[4], matrix[8], matrix[12]); + ext->glProgramLocalParameter4fARB (GL_VERTEX_PROGRAM_ARB, + mapping.userVal+1, matrix[1], matrix[5], matrix[9], matrix[13]); + ext->glProgramLocalParameter4fARB (GL_VERTEX_PROGRAM_ARB, + mapping.userVal+2, matrix[2], matrix[6], matrix[10], matrix[14]); + ext->glProgramLocalParameter4fARB (GL_VERTEX_PROGRAM_ARB, + mapping.userVal+3, matrix[3], matrix[7], matrix[11], matrix[15]); + } + } + break; + case csShaderVariable::TRANSFORM: + { + csReversibleTransform t; + if(var->GetValue(t)) + { + float matrix[16]; + makeGLMatrix (t, matrix); + ext->glProgramLocalParameter4fARB (GL_VERTEX_PROGRAM_ARB, + mapping.userVal, matrix[0], matrix[4], matrix[8], matrix[12]); + ext->glProgramLocalParameter4fARB (GL_VERTEX_PROGRAM_ARB, + mapping.userVal+1, matrix[1], matrix[5], matrix[9], matrix[13]); + ext->glProgramLocalParameter4fARB (GL_VERTEX_PROGRAM_ARB, + mapping.userVal+2, matrix[2], matrix[6], matrix[10], matrix[14]); + ext->glProgramLocalParameter4fARB (GL_VERTEX_PROGRAM_ARB, + mapping.userVal+3, matrix[3], matrix[7], matrix[11], matrix[15]); + } + } + break; + case csShaderVariable::ARRAY: + { + csRef<csShaderVariable> cvar; + if (var->GetArraySize () == 0) break; + + cvar = var->GetArrayElement (0); + + switch (cvar->GetType ()) + { + case csShaderVariable::INT: + case csShaderVariable::FLOAT: + case csShaderVariable::VECTOR2: + case csShaderVariable::COLOR: + case csShaderVariable::VECTOR3: + case csShaderVariable::VECTOR4: + { + csVector4 v; + for (uint i = 0; i < var->GetArraySize (); i++) + { + cvar = var->GetArrayElement (i); + if (cvar->GetValue (v)) + ext->glProgramLocalParameter4fvARB (GL_VERTEX_PROGRAM_ARB, mapping.userVal+i, &v.x); + } + } + break; + case csShaderVariable::MATRIX: + { + csMatrix3 m; + for (uint i = 0; i< var->GetArraySize (); i++) + { + cvar = var->GetArrayElement (i); + if(cvar->GetValue(m)) { float matrix[16]; makeGLMatrix (m, matrix); ext->glProgramLocalParameter4fARB (GL_VERTEX_PROGRAM_ARB, - mapping.userVal, matrix[0], matrix[4], matrix[8], matrix[12]); + mapping.userVal+i*4+0, matrix[0], matrix[4], matrix[8], matrix[12]); ext->glProgramLocalParameter4fARB (GL_VERTEX_PROGRAM_ARB, - mapping.userVal+1, matrix[1], matrix[5], matrix[9], matrix[13]); + mapping.userVal+i*4+1, matrix[1], matrix[5], matrix[9], matrix[13]); ext->glProgramLocalParameter4fARB (GL_VERTEX_PROGRAM_ARB, - mapping.userVal+2, matrix[2], matrix[6], matrix[10], matrix[14]); + mapping.userVal+i*4+2, matrix[2], matrix[6], matrix[10], matrix[14]); ext->glProgramLocalParameter4fARB (GL_VERTEX_PROGRAM_ARB, - mapping.userVal+3, matrix[3], matrix[7], matrix[11], matrix[15]); + mapping.userVal+i*4+3, matrix[3], matrix[7], matrix[11], matrix[15]); } - } - break; - case csShaderVariable::TRANSFORM: - { - csReversibleTransform t; - if(lvar->GetValue(t)) + } + } + break; + case csShaderVariable::TRANSFORM: + { + csReversibleTransform t; + for (uint i = 0; i< var->GetArraySize (); i++) + { + cvar = var->GetArrayElement (i); + if(cvar->GetValue(t)) { float matrix[16]; makeGLMatrix (t, matrix); ext->glProgramLocalParameter4fARB (GL_VERTEX_PROGRAM_ARB, - mapping.userVal, matrix[0], matrix[4], matrix[8], matrix[12]); + mapping.userVal+i*4+0, matrix[0], matrix[4], matrix[8], matrix[12]); ext->glProgramLocalParameter4fARB (GL_VERTEX_PROGRAM_ARB, - mapping.userVal+1, matrix[1], matrix[5], matrix[9], matrix[13]); + mapping.userVal+i*4+1, matrix[1], matrix[5], matrix[9], matrix[13]); ext->glProgramLocalParameter4fARB (GL_VERTEX_PROGRAM_ARB, - mapping.userVal+2, matrix[2], matrix[6], matrix[10], matrix[14]); + mapping.userVal+i*4+2, matrix[2], matrix[6], matrix[10], matrix[14]); ext->glProgramLocalParameter4fARB (GL_VERTEX_PROGRAM_ARB, - mapping.userVal+3, matrix[3], matrix[7], matrix[11], matrix[15]); + mapping.userVal+i*4+3, matrix[3], matrix[7], matrix[11], matrix[15]); } - } - break; - default: - break; - } - } - else - { - const csVector4& v = mapping.mappingParam.vectorValue; - switch (mapping.mappingParam.type) - { - case ParamFloat: - case ParamVector2: - case ParamVector3: - case ParamVector4: - { - ext->glProgramLocalParameter4fvARB (GL_VERTEX_PROGRAM_ARB, mapping.userVal, &v.x); - } - break; - case ParamMatrix: - { - float matrix[16]; - makeGLMatrix (mapping.mappingParam.matrixValue, matrix); - ext->glProgramLocalParameter4fARB (GL_VERTEX_PROGRAM_ARB, - mapping.userVal, matrix[0], matrix[4], matrix[8], matrix[12]); - ext->glProgramLocalParameter4fARB (GL_VERTEX_PROGRAM_ARB, - mapping.userVal+1, matrix[1], matrix[5], matrix[9], matrix[13]); - ext->glProgramLocalParameter4fARB (GL_VERTEX_PROGRAM_ARB, - mapping.userVal+2, matrix[2], matrix[6], matrix[10], matrix[14]); - ext->glProgramLocalParameter4fARB (GL_VERTEX_PROGRAM_ARB, - mapping.userVal+3, matrix[3], matrix[7], matrix[11], matrix[15]); - - } - break; - case ParamTransform: - { - float matrix[16]; - makeGLMatrix (mapping.mappingParam.transformValue, matrix); - /*for (int j = 0; j < 4; j++) - { - ext->glProgramLocalParameter4fvARB (GL_VERTEX_PROGRAM_ARB, - mapping.userVal+j, &matrix[4*j]); - }*/ - ext->glProgramLocalParameter4fARB (GL_VERTEX_PROGRAM_ARB, - mapping.userVal, matrix[0], matrix[4], matrix[8], matrix[12]); - ext->glProgramLocalParameter4fARB (GL_VERTEX_PROGRAM_ARB, - mapping.userVal+1, matrix[1], matrix[5], matrix[9], matrix[13]); - ext->glProgramLocalParameter4fARB (GL_VERTEX_PROGRAM_ARB, - mapping.userVal+2, matrix[2], matrix[6], matrix[10], matrix[14]); - ext->glProgramLocalParameter4fARB (GL_VERTEX_PROGRAM_ARB, - mapping.userVal+3, matrix[3], matrix[7], matrix[11], matrix[15]); } - break; - default: - break; - } + } + break; + default: + break; + } } + break; + default: + break; } } } @@ -328,12 +330,10 @@ return true; } -bool csShaderGLAVP::Compile(csArray<iShaderVariableContext*> &staticContexts) +bool csShaderGLAVP::Compile() { shaderPlug->Open (); - ResolveStaticVars (staticContexts); - for (size_t i = 0; i < variablemap.Length ();) { int dest; Index: glshader_avp.h =================================================================== RCS file: /cvsroot/crystal/CS/plugins/video/render3d/shader/shaderplugins/glshader_arb/glshader_avp.h,v retrieving revision 1.16 retrieving revision 1.17 diff -u -d -r1.16 -r1.17 --- glshader_avp.h 28 Mar 2005 11:05:39 -0000 1.16 +++ glshader_avp.h 31 May 2005 16:13:11 -0000 1.17 @@ -88,7 +88,7 @@ csArray<csShaderVarMapping> &mappings); /// Compile a program - virtual bool Compile(csArray<iShaderVariableContext*> &staticContexts); + virtual bool Compile(); }; |