Мультисэмплирование металла приводит к затемненным текстурам - PullRequest
0 голосов
/ 16 января 2019

Итак, я пытаюсь реализовать полноэкранный MSAA в своем приложении Metal. У меня это работает, и при рисовании сплошных полигонов края выглядят гладкими, как и ожидалось. Тем не менее, мои текстурированные полигоны кажутся темными и становятся темнее, когда я увеличиваю количество образцов, указывая на то, что шейдер может брать только один образец текстуры на фрагмент и смешивать его с n - 1 образцами черного, что делает его темнее.

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

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

EDIT:

Вот как я настраиваю все мои состояния конвейера

Вот как конкретно настраивается состояние конвейера текстуры

1 Ответ

0 голосов
/ 16 января 2019

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

...