Программирование игр, создание игрового движка, OpenGL, DirectX, физика, форум
GameDev.ru / Программирование / Форум / Почему видно углы ?

Почему видно углы ?

Поделиться

Страницы: 1 2 3 4 5 Следующая

MisanthropeПостоялецwww1 ноя. 201717:53#0
есть две текстуры, одна синяя, другая градиент от синего к белому. Обе они натянуты на планы, прилегающие друг к другу и образующие куб (ну или угол хотя бы)
в месте прилегания цвет синий у обоих планов/текстур. Почему так сильно заметен стык ? Как лечить ?
Интересует природа сего явления.
+ Показать
+ Показать

Правка: 1 ноя. 2017 18:01

MikleМодераторwww1 ноя. 201718:02#1
Misanthrope
> природа сего явления
Обман зрения.
MisanthropeПостоялецwww1 ноя. 201718:05#2
Mikle
> Обман зрения.
точно блин!
пипедко подтверждает O_o
Но как-то же это решить можно?
И почему тут скачка не видно?
ИзображениеИзображение

Правка: 1 ноя. 2017 18:10

bykabakПостоялецwww1 ноя. 201718:07#3
Натяните на сферу
MisanthropeПостоялецwww1 ноя. 201718:09#4
bykabak
> Натяните на сферу
низзя, не спрашивайте почему))
ЗЫ в шейдере тоже красить низзя, надо именно текстурами выкручиваться.
SuperInoyПостоялецwww1 ноя. 201718:10#5
Misanthrope
> Почему так сильно заметен стык ?
А почему он не должен быть заметен?
Misanthrope
> Как лечить ?
Натягивать на цилиндр/рисовать шойдером градиент с учётом координат/забить/ рисовать плоскость с градиентом вращающуюся с пользователем.
Misanthrope
> надо именно текстурами выкручиваться.
Ну деформируй её чуть вверх с границ, на глазок.

Правка: 1 ноя. 2017 18:11

MisanthropeПостоялецwww1 ноя. 201718:11#6
SuperInoy
> А почему он не должен быть заметен?
контакт синего и синего потому-что)
MisanthropeПостоялецwww1 ноя. 201718:17#7
вообще-то я смотрел в сторону генерации сферических кубомап, проблему они решают конечно, но увы не полностью
отталкивался я значит от этой картинки
+ Показать

в результате градиент стал почти ровным
+ Показать
+ Показать

но не идеальным!

Правка: 1 ноя. 2017 18:19

nuke_birdНовичокwww1 ноя. 201718:25#8
GL_ARB_seamless_cube_map
nuke_birdНовичокwww1 ноя. 201718:25#9
glEnable(GL_TEXTURE_CUBE_MAP_SEAMLESS)
MisanthropeПостоялецwww1 ноя. 201718:29#10
nuke_bird
да знаю-знаю, но это не мой случай)
у меня шесть разрозненных текстур/сторон от кубомапы, но накладываются они по отдельности и тд. но не суть.
суть в том, что это не кубомапа и не куб, а абсолютно разные объекты образующие как бы куб.
не спрашивайте зачем))
нужен GL_TEXTURE_2D SEAMLESS ))

Правка: 1 ноя. 2017 18:31

ArochПостоялецwww1 ноя. 201718:35#11
nuke_bird
у него не со швами проблема, а с распределением градиента в пространстве, так как накладывает на куб то на углах плотность одного цвета возрастает и глаз легко улавливает этот момент.
Misanthrope
с кубом ты не решишь эту проблему если использовать только градиент, при изменении угла взгляда расстояние будет меняться и из-за перспективы не равномерность все также будет очевидна и заметна. Я бы генерировал всё в пиксельном шейдере в экранных координатах если у тебя лишь градиент без какой либо геометрии.
MisanthropeПостоялецwww1 ноя. 201718:48#12
Aroch
> с кубом ты не решишь эту проблему если использовать только градиент
как-то сомнительно.
Ведь если брать текстуры из какого нибудь skybox cross
+ Показать

то всё прекрасно.
скорее всего я ошибся в расчетах градиентов при генерации сферической кубомапы
так-то задача делится на два основных этапа.
рассчитать top и bottom
Изображение
и рассчитать left/right/front/back градиенты.
Изображение
ArochПостоялецwww1 ноя. 201718:55#13
Misanthrope
> Ведь если брать текстуры из какого нибудь skybox cross
то можно заметить что ближе к краям цвет более менее однородный, особенно на углах.
MikleМодераторwww1 ноя. 201718:57#14
Не проще цвет вычислять в шейдере, вообще без текстуры?

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

Правка: 1 ноя. 2017 18:58

Страницы: 1 2 3 4 5 Следующая

/ Форум / Программирование игр / Графика

2001—2017 © GameDev.ru — Разработка игр