GLSL: uso del atributo de salida personalizado en lugar de gl_Position
Actualmente estoy aprendiendo OpenGL con sombreadores (3.3). Sin embargo, hay una cosa que no puedo resolver. He leído que el uso de variables integradas como gl_Position y gl_FragCoords está en desuso en OpenGL 3+, por lo tanto, quería usar mi propia variable de salida.
Entonces, en lugar de esto:
#version 330\n
layout(location=0) in vec2 i_position;
out vec4 o_position;
void main()
{
gl_Position = vec4(i_position, 0.0, 1.0);
};
Yo escribí esto:
#version 330\n
layout(location=0) in vec2 i_position;
out vec4 o_position;
void main()
{
o_position = vec4(i_position, 0.0, 1.0);
};
Los sombreadores compilan sin problemas en ambos casos, pero el segundo código produce una pantalla en blanco. ¿Necesito especificar de alguna manera qué variable es la salida?