OpenGL Geometry Shader Mac OS X
-
10-10-2019 - |
Вопрос
Я пытаюсь получить простой проход через геометрию шейдер для работы под Mac OS X 10.6. Код компилизируется и ссылается без проблем, но по какой -то причине геометрия не тянется на экран. Вот мой код шейдера:
#version 120
#extension GL_EXT_geometry_shader4: enable
void main()
{
gl_Position = gl_PositionIn[0];
EmitVertex();
EndPrimitive();
}
Если бы кто -нибудь мог бы помочь, я бы это оценил.
Решение
Так что, как оказалось, проблема вообще не была в коде шейдера. По -видимому, при использовании версии 120 в геометрическом шейдере вы должны установить типы ввода и вывода следующим образом:
glProgramParameteriEXT(shaderProgramID, GL_GEOMETRY_OUTPUT_TYPE_EXT, GL_POINTS);
glProgramParameteriEXT(shaderProgramID, GL_GEOMETRY_VERTICES_OUT_EXT, GL_POINTS);
После этого все сработало отлично.
Другие советы
Геометрический шейдер работает на целых примитивах. Ваш выглядит так, как будто он подходит только для очков. Если вы не проходите в точках, вам нужно обрабатывать все gl_VerticesIn
(счет) вершины.
Не связан с StackOverflow