Domanda

Io sto guardando http://www.swiftless.com/tutorials/glsl/ 3_glcolor.html che ha il seguente frammento di codice:

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

Ho cercato di usare gl_Color sul mio WebGL. Ho ottenuto un errore che è gl_Color identificatore non dichiarato.

Che cosa ho fatto di sbagliato?

Grazie in anticipo per il vostro aiuto.

È stato utile?

Soluzione

WebGL utilizza Open GL ES 2.0 come la sua base, quindi si dovrebbe utilizzare GLSL ES 1.0 per gli shaders. GLSL ES non ha un gl_Color, e quindi si dovrà riscrivere questo shader.

Altri suggerimenti

La mia ipotesi è che si sta cercando di compilare il codice GLSL utilizzando un compilatore C normale.

Sembra che si suppone essere il codice C, ma in realtà è fonte GLSL -. Deisgned essere compilato dal compilatore OpenGL GLSL, non la macchina compilatore C

Lo shader frammento ha una variabile predefinita 'gl_Color' che rappresenta l'uscita dal vertex.

Il campione si fa riferimento ha il codice all'interno di un file shader.frag, che fa riferimento shader.init (). La libreria OpenGL per sé in grado di gestire compilarlo in istruzioni GPU per la vostra macchina. Inserire il codice in quel file, e, auspicabilmente, l'esempio funziona:)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top