我有一个OpenGL程序,它在着色器中使用布局说明符。我希望它能够支持3.3以下的OpenGL版本(当引入布局说明符时)。有没有办法取代布局说明符来支持早期的OpenGL版本?
z9zf31ra1#
好的,这样做的方法是不使用layout s,而是使用in。例如,如果这是VBO上的一个顶点:
layout
in
// | Coordinates | Colors | Tex Coord | {1.f, 1.f, 1.f, 0.f, 1.f, 0.5f, 1.f, 0.f}
然后,这将是顶点着色器:
in vec3 coordinates; in vec3 color; in vec2 texCoord;
注意vec声明中的数字如何与VBO中的值匹配。
vec
1条答案
按热度按时间z9zf31ra1#
好的,这样做的方法是不使用
layout
s,而是使用in
。例如,如果这是VBO上的一个顶点:然后,这将是顶点着色器:
注意
vec
声明中的数字如何与VBO中的值匹配。