fero86
07-09-2009, 20:36
sto provando a scrivere degli shaders per OpenGL ma non riesco a mettere la direttiva #version. ho una scheda grafica NVIDIA GeForce 6600 (scusate se non é il massimo :p) e i drivers aggiornati l'altro ieri, non da Windows Update visto che non ce li hanno messi, ma proprio dal sito NVIDIA; ebbene se provo a scrivere questo semplicissimo fragment shader:
#version 150
void main()
{
gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0);
}
ottengo i seguenti errori di compilazione:
0(1) : error C0129: invalid char 'v' in integer constant suffix
0(1) : error C0129: invalid char 'o' in integer constant suffix
0(1) : error C0129: invalid char 'i' in integer constant suffix
0(1) : error C0129: invalid char 'd' in integer constant suffix
0(1) : error C0205: invalid profile "main"
0(1) : error C0206: invalid token "<invalid atom 127890368>" in version line
(0) : error C0000: syntax error, unexpected $end at token "<EOF>"
(0) : error C0501: type name expected at token "<invalid atom -1>"
sono sicuro che il testo del codice sorgente venga passato correttamente alla glShaderSource (verificato col debugger).
la sintassi per scrivere il numero di versione é giusta? perché mi sembra di capire che dopo il numero 150 lui si aspetti un "integer constant suffix".
grazie ^^
#version 150
void main()
{
gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0);
}
ottengo i seguenti errori di compilazione:
0(1) : error C0129: invalid char 'v' in integer constant suffix
0(1) : error C0129: invalid char 'o' in integer constant suffix
0(1) : error C0129: invalid char 'i' in integer constant suffix
0(1) : error C0129: invalid char 'd' in integer constant suffix
0(1) : error C0205: invalid profile "main"
0(1) : error C0206: invalid token "<invalid atom 127890368>" in version line
(0) : error C0000: syntax error, unexpected $end at token "<EOF>"
(0) : error C0501: type name expected at token "<invalid atom -1>"
sono sicuro che il testo del codice sorgente venga passato correttamente alla glShaderSource (verificato col debugger).
la sintassi per scrivere il numero di versione é giusta? perché mi sembra di capire che dopo il numero 150 lui si aspetti un "integer constant suffix".
grazie ^^