Opengl es NVIDIA Cg编译器错误C1307

Opengl es NVIDIA Cg编译器错误C1307,opengl-es,glsl,nvidia,cg,Opengl Es,Glsl,Nvidia,Cg,当我尝试使用Cg编译以下着色器时,请使用有效的webGL着色器: attribute vec3 position; attribute vec3 normal; uniform mat4 modelMatrix; uniform mat4 viewMatrix; uniform mat4 projectionMatrix; uniform mat3 normalMatrix; varying vec3 vCameraNormal, vCameraEyeDirection, vCameraLi

当我尝试使用Cg编译以下着色器时,请使用有效的webGL着色器:

attribute vec3 position;
attribute vec3 normal;

uniform mat4 modelMatrix;
uniform mat4 viewMatrix;
uniform mat4 projectionMatrix;
uniform mat3 normalMatrix;

varying vec3 vCameraNormal, vCameraEyeDirection, vCameraLightDirection;
varying vec3 vLightPosition, vWorldPosition;
varying float vSquareDistance;

void main(void) {
    vec3 lightPosition = vec3(0.0, 5.0, -5.0);

    vec3 worldPosition = (modelMatrix * vec4(position, 1.0)).xyz;
    vec3 cameraPosition = (viewMatrix * vec4(worldPosition, 1.0)).xyz;
    vCameraEyeDirection = -1.0 * cameraPosition;

    vec3 cameraLightPosition = (viewMatrix * vec4(lightPosition, 1.0)).xyz;
    vCameraLightDirection = cameraLightPosition - cameraPosition;

    float distance = length(lightPosition - worldPosition);
    vSquareDistance = (distance * distance);

    vLightPosition = lightPosition;
    vWorldPosition = worldPosition;

    vCameraNormal = normalMatrix * normal;
    //vCameraNormal = (viewMatrix * modelMatrix * vec4(normal, 0.0)).xyz;

    gl_Position = projectionMatrix * vec4(cameraPosition, 1.0);
}
使用命令:

cgc.exe -debug -entry main -profile glslv -ogles -o outfile infile
我得到一个错误:

(0) : error C1307: non constant expression for array size

我知道我漏掉了一些明显的东西,我只是不知道没有任何明显的数组会有什么奇怪的错误。尝试注释行,直到您隔离出导致问题的行。唯一让我觉得奇怪的是mainvoid中的void参数规范。我试着将它简化为void main{gl_Position=projectionMatrix*viewMatrix*modelMatrix*vec4position,1.0},在不同的计算机和操作系统上进行了尝试,但仍然存在相同的问题我遇到了相同的问题。你有没有发现什么地方出了问题?我费力地把我的写进了要点