Может ли шейдер геометрии OpenGL получить доступ к текущим настройкам для glFrontFace и glCullFace, и включено ли отсечение граней? У меня есть геометрический шейдер, который отображает нормали для вершин треугольников, и я хотел бы отображать их только для треугольников, которые не будут отбракованы. Я хотел бы иметь глобальные переменные, аналогичные встроенным универсальным переменным, которые сообщают, был ли glFrontFace предоставлен GL_CCW или CL_CW, и установлено ли для glCullFace значение GL_FRONT, GL_BACK или GL_FRONT_AND_BACK и включена ли отбраковка лиц.
Обходной путь для моей программы на C ++ состоит в том, чтобы установить значения как единые переменные в программе шейдера, но он был бы более общим и упростил бы использование программы шейдера, если бы она могла запрашивать статус отбраковки, настройки glFrontFace и glCullFace из OpenGL .
Обратите внимание, мне не нужна переменная gl_FrontFacing, доступная для фрагментного шейдера. Вместо этого шейдер геометрии должен иметь доступ к значениям, чтобы знать, создавать ли линию, представляющую нормаль в вершинах треугольника.
glFrontFace
иglCullFace
[...] `- Нет. Вы должны использовать униформу. - person Rabbid76   schedule 15.02.2020