Мультисэмплирование текстур - PullRequest
1 голос
/ 06 февраля 2012

Правда ли, что единственный способ в OpenGL сэмплировать многосэмплированную текстуру, то есть буфер с мультисэмплированным цветом FBO, - это использовать texelFetch и указать сэмпл, который вы хотите, используя целочисленный индекс? Это не дает информации о положении образца в пикселе.

Существует ли какая-либо ссылка, которая может предоставить субпиксельные смещения для каждого семпла?

Кроме того, как насчет фрагментов, которые лежат внутри полигонов? Они не будут использовать все образцы мультисэмплов: будут ли все образцы содержать те же данные?

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

Редактировать: Я могу ошибаться в некоторых предположениях о том, как работает мультисэмплинг. Возможно, каждому образцу не обязательно иметь позицию, связанную с ним.

возможно ARB_texture_multisample - это расширение, которое мне нужно посмотреть?

1 Ответ

2 голосов
/ 07 февраля 2012

Отвечая на ваш первый вопрос - вы правы. texelFetch не предоставляет информацию о положении в пикселе. Имеется расширение AMD_sample_positions , которое позволяет явно задавать местоположение образца в пикселях.

...