Программирование игр, создание игрового движка, OpenGL, DirectX, физика, форум
GameDev.ru / Программирование / Форум / Равномерное распределение глубины в z буфере. (комментарии) (3 стр)

Равномерное распределение глубины в z буфере. (комментарии) (3 стр)

Страницы: 1 2 3
innuendoПостоялецwww12 ноя. 200914:38#30
Z
> > В ДХ9 это вообще единственный способ отрендерить в шадоумапу
> Да ну.

наверно, он имел ввиду без хаков

ExecutorУдалёнwww12 ноя. 200914:58#31
Z
> Да ну.

А что в ДХ9 есть рендер в depth texture? Или что?

innuendoПостоялецwww12 ноя. 200915:02#32
Executor
> А что в ДХ9 есть рендер в depth texture? Или что?

Там есть не совсем в depthTexture - но нечно подобное ( через D3DUSAGE_DEPTHSTENCIL ) , только не на всех картах поддерживающих DX9

SNVampyreУдалёнwww12 ноя. 200915:27#33
Кто-нибудь сделает скрин анизотропки с таким распределением? :)
sgiПостоялецwww12 ноя. 200922:11#34
SNVampyre
> Кто-нибудь сделает скрин анизотропки с таким распределением? :)
А смысл? У вас вообще съедут все текстурные координаты - для них не будет применяться перспективная коррекция, поскольку w=1 согласно коду в статье.
SNVampyreУдалёнwww12 ноя. 200922:41#35
sgi
> А смысл? У вас вообще съедут все текстурные координаты - для них не будет
> применяться перспективная коррекция, поскольку w=1 согласно коду в статье.
Ну вот и я о том же.
evirusПостоялецwww13 ноя. 200918:04#36
А почему бы в пиксельном шейдере не линериализовать Z? И фигачить его в oDepth. Вот, правда, мне не совсем понятно зачем это может быть нужно..зато проблему с текстурированием решает
arabescПостоялецwww23 янв. 20104:46#37
Executor
> В ДХ9 это вообще единственный способ отрендерить в шадоумапу, а что туда
> пишется (линейная глубина или не линейная, или мусор какой) вообще не имеет
> никакого значения...
имеет значение, как параметры интерполируется
если передавать некую величину через интерполяторы текстурных координат, а позицию трансформировать классическим способом, когда w != 1, то интерполяция будет с перспективной коррекцией, важность чего просто невозможно ставить под сомнение
а если трансформировать позицию так, как в статье, когда w == 1, то привет всем "прелестям" аффинного текстурирования
короче, подсказка вредная
ExecutorУдалёнwww23 янв. 20108:44#38
То что у автора пишется прям в позицию - не страшно, можно поправить и писать через varying, чтобы не было проблем и ни на какую интерполяцию влиять это не будет... Суть же показана и это главное...
Ещё бывает в шадоумапе дистанцию хранят или вообще квадрат глубины, но почемуто никто не всомпинает в этом случае про интерполяцию... :)
Потому что всё это передаётся и так через интерполятор и никак не может повлиять на него...
arabescПостоялецwww23 янв. 201015:24#39
Executor
> То что у автора пишется прям в позицию - не страшно, можно поправить и писать через varying
две большие разницы, см. ниже почему

> Ещё бывает в шадоумапе дистанцию хранят или вообще квадрат глубины, но почемуто
> никто не всомпинает в этом случае про интерполяцию... :)
повторю, тут важна не сама величина, не её распределение, линейное или какое ещё, а то, как она интерполируется по треугольнику

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

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

TheGrayWolfПостоялецwww27 сен. 201116:20#40
Я не понял, почему автор в нативный Zбуфер пишет линейную глубину, её же в рендер таргет надо, или это Хак?
CybeRUSПостоялецwww27 сен. 201118:25#41
TheGrayWolfПостоялецwww28 сен. 201111:39#42
в общем разобрался, всем спасибо.

вот только вопрос один есть, лучше линейную глубину писать в Unsigned Formats или Floating-Point ?
или линейная глубина только для без знаковых целых и придумывалась,  на практике работает одинаково, в чём подвох?

Страницы: 1 2 3

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

Тема в архиве.

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