Влиять на глубину или трафаретный буфер изнутри фрагмента шейдера? - PullRequest
2 голосов
/ 27 августа 2011

Я знаю, что можно контролировать то, что записывается в буфер глубины в GLSL, записывая в gl_FragDepth, но можно ли записать в буфер трафарета?

Кроме того, можно ли полностью отменить запись пикселя из фрагментного шейдера, как если бы пиксель не прошел проверку трафарета или глубины?

Спасибо

1 Ответ

4 голосов
/ 27 августа 2011

Если вы используете правильное оборудование, вы можете записать в буфер трафарета.Все оборудование Radeon HD может использовать AMD_stencil_shader_export.Существует ARB_stencil_shader_export, но я не могу проверить, является ли он особенно распространенным.

Если вы хотите, чтобы фрагмент не записывал что-либо, вы можете использовать discard.Это похоже на концептуальное исключение (но не на поведение).

...