OpenGL Geometry Shader Mac OS X - PullRequest
       31

OpenGL Geometry Shader Mac OS X

2 голосов
/ 15 ноября 2010

Я пытаюсь заставить простой проход через геометрический шейдер работать в Mac OS X 10.6. Код компилируется и связывается без проблем, но по какой-то причине геометрия не отображается на экране. Вот мой код шейдера:

#version 120
#extension GL_EXT_geometry_shader4: enable

void main()
{
    gl_Position = gl_PositionIn[0];
    EmitVertex();

    EndPrimitive();
}

Если бы кто-нибудь мог помочь, я был бы признателен.

Ответы [ 2 ]

2 голосов
/ 16 ноября 2010

Итак, как оказалось, проблема была не в коде шейдера вообще. По-видимому, при использовании версии 120 в геометрическом шейдере вы должны установить типы ввода и вывода следующим образом:

glProgramParameteriEXT(shaderProgramID, GL_GEOMETRY_OUTPUT_TYPE_EXT, GL_POINTS);
glProgramParameteriEXT(shaderProgramID, GL_GEOMETRY_VERTICES_OUT_EXT, GL_POINTS);

После этого все отлично сработало.

0 голосов
/ 15 ноября 2010

Геометрический шейдер работает на целых примитивах.Похоже, он подойдет только для очков.Если вы не набираете баллы, вам нужно обработать все gl_VerticesIn (количество) вершин.

...