Моя цель состояла в том, чтобы раскрасить вершины в соответствии с их порядком
РЕДАКТИРОВАТЬ: долгосрочная цель: доступ к предыдущим и следующим вершинам для имитации гравитационного поведения
Я использовал следующий код
#version 120
#extension GL_EXT_geometry_shader4 : enable
void main( void ) {
for( int i = 0 ; i < gl_VerticesIn ; i++ ) {
gl_FrontColor = vec4(float(i)/float(gl_VerticesIn),0.0,0.0,1.0);
gl_Position = gl_PositionIn[i];
EmitVertex();
}
}
но все вершины нарисованы черным, кажется, что i всегда оценивается как 0, я что-то упускаю или делаю неправильно?
РЕДАКТИРОВАТЬ: разобрался с мета-проблемой: как передать всю геометрию модели в один вызов геометрического шейдера, чтобы основной цикл выполнялся по всем вершинам, а не по каждому треугольнику.