Cgor_Cyrosly
07-15-2007, 04:33 AM
I used cgc 2.0 to compile glsl vertex shader,and return the down information:
multiTex.glslv(25) : error C7506: OpenGL does not define the global function dot
multiTex.glslv(25) : error C7506: OpenGL does not define the global function max
I dont know why the error occured.
help!!!
My code as down:
#version 120
varying vec3 normal;
varying vec3 V;
uniform vec4 ambientDiffuse;
uniform vec4 lightDiffuse;
void main()
{
vec4 texCoord[]={gl_MultiTexCoord0,gl_MultiTexCoord1,
gl_MultiTexCoord2,gl_MultiTexCoord3,
gl_MultiTexCoord4,gl_MultiTexCoord5,
gl_MultiTexCoord6,gl_MultiTexCoord7};
gl_Position=gl_ModelViewProjectionMatrix*gl_Vertex ;
for(int i=0;i<gl_MaxTextureCoords;i++)
{
gl_TexCoord[i]=texCoord[i];
}
normal=normalize(gl_NormalMatrix*gl_Normal);
V=normalize((gl_ModelViewMatrix*gl_Vertex-gl_LightSource[0].position).xyz);
gl_FrontColor=max(dot(normal,V),0.0)*ambientDiffus e*lightDiffuse;
}and I set the *.bat file like this:
cgc -profile glslv -entry main -oglsl -o asm.txt -l cInfo.txt multiTex.glslv
multiTex.glslv(25) : error C7506: OpenGL does not define the global function dot
multiTex.glslv(25) : error C7506: OpenGL does not define the global function max
I dont know why the error occured.
help!!!
My code as down:
#version 120
varying vec3 normal;
varying vec3 V;
uniform vec4 ambientDiffuse;
uniform vec4 lightDiffuse;
void main()
{
vec4 texCoord[]={gl_MultiTexCoord0,gl_MultiTexCoord1,
gl_MultiTexCoord2,gl_MultiTexCoord3,
gl_MultiTexCoord4,gl_MultiTexCoord5,
gl_MultiTexCoord6,gl_MultiTexCoord7};
gl_Position=gl_ModelViewProjectionMatrix*gl_Vertex ;
for(int i=0;i<gl_MaxTextureCoords;i++)
{
gl_TexCoord[i]=texCoord[i];
}
normal=normalize(gl_NormalMatrix*gl_Normal);
V=normalize((gl_ModelViewMatrix*gl_Vertex-gl_LightSource[0].position).xyz);
gl_FrontColor=max(dot(normal,V),0.0)*ambientDiffus e*lightDiffuse;
}and I set the *.bat file like this:
cgc -profile glslv -entry main -oglsl -o asm.txt -l cInfo.txt multiTex.glslv