Pregunta

Estoy buscando en http://www.swiftless.com/tutorials/glsl/ 3_glcolor.html que tiene el siguiente fragmento de código:

void main() {
// Set the output color of our current pixel
gl_FragColor = gl_Color;}

He intentado utilizar gl_Color en mi WebGL. Tengo un error que es gl_Color identificador no declarado.

¿Qué hice mal?

Gracias de antemano por su ayuda.

¿Fue útil?

Solución

WebGL usa Open GL ES 2.0 como su base, por lo tanto, debe estar usando GLSL ES 1.0 para los shaders. GLSL ES no tener un gl_Color, y por lo tanto tendrá que volver a escribir este shader.

Otros consejos

Mi conjetura es que usted está tratando de compilar el código GLSL utilizando un compilador C regular.

Parece que se supone que es el código C, pero en realidad es la fuente GLSL -. Deisgned para ser compilado por el compilador OpenGL GLSL, no por la máquina compilador de C

El shader fragmento tiene una variable predefinida 'gl_Color', que es la salida del shader de vértice.

La muestra que tiene el código de referencia dentro de un archivo shader.frag, al que hace referencia shader.init (). La biblioteca OpenGL misma se encargará de compilar en las instrucciones de la GPU para su máquina. Poner el código en ese archivo, y es de esperar el ejemplo funcionará:)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top