Предотвратить w-умножение для выходов GLSL vec4? - PullRequest
0 голосов
/ 26 апреля 2020

Я работаю над своей первой реализацией отложенного затенения, и я сделал несколько целей рендеринга с внутренним форматом GL_RGBA32F, но когда я пытаюсь вывести vec4 из моего фрагментного шейдера в цель рендеринга, значения перед этим умножаются на компонент w они записаны в текстуру.

Да, я мог бы просто разделить на w, когда буду использовать их позже, но это кажется расточительным. Есть ли способ предотвратить их умножение на w?

1 Ответ

2 голосов
/ 26 апреля 2020

когда я пытаюсь вывести vec4 из моего фрагментного шейдера в цель рендеринга, значения умножаются на компонент w, прежде чем они записываются в текстуру.

Они Умножается только на компонент w - или записывается более очевидным образом - на компонент a, когда ypu настроил альфа-смешение. (например, GL_SRC_ALPHA коэффициент смешивания источника). Вы должны отключить смешивание при записи в gbuffer - прозрачность в любом случае не будет работать с отложенным затенением.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...