opengl-es-2.0 - latest - opengl android developers
¿Por qué no vec3 para OpenGL ES 2.0 gl_Position? (2)
La w en vec4 (x, y, z, w) se usa para recortar, y desempeña su parte mientras se aplican transformaciones de álgebra lineal a la posición.
De forma predeterminada, esto debe establecerse en 1.0.
Consulte aquí para obtener más información: http://web.archive.org/web/20160408103910/http://iphonedevelopment.blogspot.com/2010/11/opengl-es-20-for-iOS-chapter-4.html
Soy nuevo en OpenGL ES 2.0 y no puedo entender el siguiente sombreador más simple:
attribute vec4 vPosition;
void main()
{
gl_Position = vPosition;
}
Mi pregunta es, ya que una posición sería un vector de (x, y, z)
, ¿por qué es gl_Position un vec4 en lugar de vec3?
Si proporciona sus vértices al sombreador directamente en el espacio de recorte, podría simplemente pasar x, y, z y agregar 1 como el componente w en ese sombreador.
attribute vec3 vPosition; // vec3 instead of vec4
void main()
{
gl_Position = vec4 (vPosition, 1.0);
}