La especificación de la versión GLSL produce un error de sintaxis cuando se utiliza LWJGL. No he intentado reproducir este problema fuera de LWJGL. Esto está sucediendo en múltiples Macs ejecutando Lion.GLSL #version da error de sintaxis (LWJGL en Mac)
He obtenido sombreados de vértices y fragmentos para trabajar sin usar #version
. Pero estoy a punto de usar la función texture
, que parece requerir una directiva #version
.
Aquí está el ejemplo más simple en su defecto:
#version 120
void main() {
gl_FragColor = vec4(1.0, 1.0, 1.0, 1.0);
}
la compilación de este fragment shader y llamando glGetShaderInfoLog
da este error:
ERROR: 0:1: '' : syntax error #version
Sustitución 120
con cualquier otra cosa, como por ejemplo 110
, también se da un error. Curiosamente, sin embargo, si uso 130 o más, da el mismo error más una queja sobre la versión que no es compatible. (Sé que mi sistema no tiene GLSL 1.3, pero todavía es extraño que este error se muestre cuando el compilador actúa como si no entendiera la etiqueta de la versión).
Estoy en una Mac con ATI Radeon HD 4670. GL_VERSION
es 2.1 ATI-7.12.9
y GL_SHADING_LANGUAGE_VERSION
es 1.20
.
Dado que, no veo ningún motivo por el que GLSL 1.20 no esté disponible. Y es realmente extraño para mí decir que #version
es un error de sintaxis, en lugar de decir algo acerca de una versión GLSL no compatible.
¿Dónde está su código de carga shader? –
Puedo pegar eso una vez que tengo internet. (Usando mi teléfono ahora mismo.) ¿Sería útil ese código fuente? – rlkw1024