Specificare la versione GLSL fornisce un errore di sintassi quando si utilizza LWJGL. Non ho provato a riprodurre questo problema al di fuori di LWJGL. Questo sta accadendo su più Mac con Lion.GLSL #version dà errore di sintassi (LWJGL su Mac)
Ho ottenuto il vertex e il framment shader per funzionare senza utilizzare #version
. Ma sto per utilizzare la funzione texture
, che sembra richiedere una direttiva #version
.
Ecco l'esempio non riuscendo più semplice:
#version 120
void main() {
gl_FragColor = vec4(1.0, 1.0, 1.0, 1.0);
}
Compilazione questo frammento shader e chiamando glGetShaderInfoLog
dà questo errore:
ERROR: 0:1: '' : syntax error #version
Sostituzione 120
con qualsiasi altra cosa, come ad esempio 110
, dà anche un errore. Curiosamente, però, se uso 130 o più, dà lo stesso errore più un reclamo sulla versione non supportata da beig. (So che il mio sistema non ha GLSL 1.3, ma è ancora strano che questo errore venga visualizzato quando il compilatore agisce come se non comprendesse il tag della versione.)
Sono su un Mac con un ATI Radeon HD 4670. GL_VERSION
è 2.1 ATI-7.12.9
e GL_SHADING_LANGUAGE_VERSION
è 1.20
.
Dato che, non vedo alcuna ragione per cui GLSL 1.20 non dovrebbe essere disponibile. Ed è davvero strano per me che stia dicendo che #version
è un errore di sintassi, al contrario di dire qualcosa su una versione GLSL non supportata.
Dov'è il codice di caricamento dello shader? –
Posso incollarlo una volta che ho internet. (Usando il mio telefono adesso). Il codice sorgente di Thab sarebbe utile? – rlkw1024