Рендеринг точечных спрайтов через камеры на кубических картах

Я рендерил систему вершин частиц, которые затем объединяются в квадраты в шейдере геом и текстурируются / отображаются как точечные спрайты. Затем они масштабируются по размеру в зависимости от того, как далеко они находятся от камеры. Я пытаюсь преобразовать каждый кадр моей сцены в кубические карты. По сути, я помещаю шесть камер в свою сцену и указываю их в каждом направлении для лица куба и сохраняю изображение.

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

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

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

У кого-нибудь есть идеи?

Я делаю это в openFrameworks / openGL fwiw.

Деталь из кубической карты

1 ответ

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

(Я бы хотел, чтобы это был комментарий, но не репутация)

Другие вопросы по тегам