Программирование игр, создание игрового движка, OpenGL, DirectX, физика, форум
GameDev.ru / Программирование / Форум / Вопрос про glPolygonOffset и Z-Fighting (решено, надо 2 прохода, во втором отключить запись в depth buffer и сместить far plane) (3 стр)

Вопрос про glPolygonOffset и Z-Fighting (решено, надо 2 прохода, во втором отключить запись в depth buffer и сместить far plane) (3 стр)

Страницы: 1 2 3
MrShoorУчастникwww8 мая 201816:42#30
Роман Шувалов
Ха. А попробуй вот что. Первый проход рисуешь только в глубину (с GL_LESS или что там у тебя по умолчанию). Далее делаешь второй проход. При этом: подтягиваешь near plane на себя на небольшое значение, near-=bias, выключаешь запись в буфер глубины, но оставляешь тест с буфером глубины.
Роман ШуваловУчастникwww8 мая 201820:03#31
MrShoor
> подтягиваешь near plane на себя на небольшое значение, near-=bias, выключаешь
> запись в буфер глубины, но оставляешь тест с буфером глубины.
А вот это уже совсем другой разговор. Сейчас буду пробовать, спасибо.

Правка: 8 мая 2018 20:05

Роман ШуваловУчастникwww8 мая 201820:16#32
Да! Сработало. Только вместо изменения near plane я воспользовался glDepthRange():
glColorMask(GL_FALSE, GL_FALSE, GL_FALSE, GL_FALSE);
draw();
glColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE);

glDepthMask(GL_FALSE);
glDepthRange(0.0, 0.9999);
draw();
glDepthRange(0.0, 1.0);
glDepthMask(GL_TRUE);

Жаль, что одним проходом не обойтись, ну да ладно, сойдет. Благо вопрос решился без шейдеров. Спасибо за помощь.

MrShoorУчастникwww8 мая 201821:02#33
Роман Шувалов
> Спасибо за помощь.
Пожалуйста. С тебя скриншот того, что получилось. ;)
Роман ШуваловУчастникwww8 мая 201821:18#34
А я в течение месяца аннонсирую проект, как раз тогда и покажу.
Роман ШуваловУчастникwww7 окт. 201811:02#35
MrShoor
> С тебя скриншот того, что получилось. ;)
https://gamedev.ru/projects/forum/?id=238486
Теперь понятно, откуда накладывающиеся друг на друга полигоны?
eDmkУчастникwww7 окт. 201813:39#36
>Так, товарищи, мы немного отвлеклись, с анализом генерируемых плоскостей я буду разбираться
>только если нет никаких способов визуально победить Z-Fighting. Их точно нет? Может, есть?

Немного помогает сдвиг zNear вперед. Скажем если поставить 10.0 или более, то Z-Fighting снижается.
Меньше 2.0 вообще нет смысла ставить. Где то прочитал, сейчас не помню, Кронос не рекомендует делать слишком малую величину zNear.

Роман ШуваловУчастникwww7 окт. 201818:56#37
eDmk
> Немного помогает сдвиг zNear вперед.
Блин, точно, я же совсем забыл что матрицу проекции могу менять!
Страницы: 1 2 3

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

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