Здравствуйте.
у меня вопрос. суть проблемы такова: рендерю примитивы GL_POINTS с включенным Transform Feedback и выключенным растеризатором, рендерю через glDrawArrays. в вершинном шейдере активно использую gl_VertexID для генерации координат вершин, через Transform Feedback сливаю эти координаты в отдельный вершинный буфер. обнаружилось что если включен Transform Feedback, то gl_VertexID передается в шейдер некорректно и всегда = 0. если отключить Transform Feedback и рендерить GL_POINTS "на экрн", то координаты генерятся нормально, gl_VertexID передается как надо. в спеках о таком ограничении вроде не сказано. проблема проявляется и на NVidia и на ATI. интересуют причины такого странного поведения. лично я не вижу причин которые препятствовали бы совместному использованию Transform Feedback и gl_VertexID в вершинном шейдере.
чтобы небыло лишних вопросов, скажу, что varyings у меня настроены правильно. результаты проверял так, мапил вершинный буфер в который "нагадил" Transform Feedback, и смотрел что записалось в то место куда я положил gl_VertexID. там всегда 0, другие varying записались как надо. у кого какие мысли?
использую OpenGL3.2 (forward compatible core profile).
очень надеюсь на вашу помощь, коллеги.