#opengl #glsl #shader
#opengl #glsl #шейдер
Вопрос:
В OpenGL Programming Guide
некотором коде используется ‘in’ в шейдере оценки тесселяции, подобном этому:
layout(triangles,equal_spacing,ccw,points) out;
и в некоторые моменты, подобные этому:
layout (quads,equal_spacing,cw) in;
имена переменных меняются, иногда это так out
, иногда in
я в замешательстве.И я изменил это в своем коде, различий нет, так в чем же разница между in
и out
?
Ответ №1:
[…] имена переменных меняются, иногда это происходит
out
, иногдаin
.
Нет, это не так.
Шейдер оценки тесселяции позволяет указать квалификаторы макета ввода для режима примитива, расстояния между вершинами и порядка.
Шейдер управления тесселяцией позволяет вам указать квалификатор выходного макета для количества вершин.
См. Спецификацию OpenGL Shading Language 4.60 (HTML) — 4.4. Квалификаторы макета
Квалификатор макета:
layout(triangles,equal_spacing,ccw,points) out;
неверно и вызывает ошибку времени компиляции.
Комментарии:
1. О, теперь я понимаю. Даже
layout(triangles,equal_spacing,ccw,points) out;
на моем компьютере все работает нормально, я напишу правильные коды. Спасибо!!!