Я пытаюсь запустить обратную связь с преобразователем. Я хотел указать макет буфера полностью из шейдеров, используя ядро 4.4 или расширение GL_ARB_enhanced_layouts, используя деклараторы макета (xfb_offset = xx). Я предположил, что после объявления их в вершинном шейдере я могу вызвать
GLint iTransformFeedbackVars;
glGetProgramiv(m_uProgramID, GL_TRANSFORM_FEEDBACK_VARYINGS, &iTransformFeedbackVars);
чтобы получить количество потенциальных переменных, которые нужно записать в буфер обратной связи преобразования. Но мой opengl продолжает возвращать 0 для «iTransformFeedbackVars». Я попытался вызвать вышеупомянутую команду ДО и ПОСЛЕ связывания программы.
Я что-то здесь упускаю или вообще можно позволить шейдеру указывать переменные, в которые он хочет записать, и мой код создает буфер (ы) по желанию шейдера?
Задача ещё не решена.
Других решений пока нет …