Странные цветные артефакты при попытке использовать пинг-понг - PullRequest
0 голосов
/ 26 ноября 2018

Я пытаюсь написать шейдер для многошагового эффекта с буферами для пинг-понга, используя Java и Lwjgl.Но это выглядит не так, как в ShaderToy.Поэтому в своих поисках ответа я разобрал все до гораздо более простого шейдера, который в основном таков:

glFragColor = texture2D(u_Texture, v_TexCoords) * 3.0;

Я умножаю цвет текстуры для изображения 512x512, используя буферы для пинг-понга 512x512.,Когда я выполняю эти 3 шага, это выводится:

problem

Слева вверху - исходное изображение, все пиксели полностью черные, кроме белого и желтого,Шаги идут по часовой стрелке до левого нижнего.Как вы можете видеть, некоторые артефакты закрадываются, сначала я думал, что это может быть нормально, но это не происходит с тем же шейдером в ShaderToy.Если я не умножу цвет, все будет в порядке, и я получу одно и то же изображение независимо от того, сколько пинг-понгов.Если я выполняю выборку со смещением в несколько пикселей на каждом шаге, изображение корректно смещается к сумме всех шагов без проблем (поэтому я думаю, что координаты текстуры не ошибочны).

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

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