Войти
ПрограммированиеФорумГрафика

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

Страницы: 1 2 3
#30
14:38, 12 ноя 2009

Z
> > В ДХ9 это вообще единственный способ отрендерить в шадоумапу
> Да ну.

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

#31
14:58, 12 ноя 2009

Z
> Да ну.

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

#32
15:02, 12 ноя 2009

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

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

#33
15:27, 12 ноя 2009

Кто-нибудь сделает скрин анизотропки с таким распределением? :)

#34
22:11, 12 ноя 2009

SNVampyre
> Кто-нибудь сделает скрин анизотропки с таким распределением? :)
А смысл? У вас вообще съедут все текстурные координаты - для них не будет применяться перспективная коррекция, поскольку w=1 согласно коду в статье.

#35
22:41, 12 ноя 2009

sgi
> А смысл? У вас вообще съедут все текстурные координаты - для них не будет
> применяться перспективная коррекция, поскольку w=1 согласно коду в статье.
Ну вот и я о том же.

#36
18:04, 13 ноя 2009

А почему бы в пиксельном шейдере не линериализовать Z? И фигачить его в oDepth. Вот, правда, мне не совсем понятно зачем это может быть нужно..зато проблему с текстурированием решает

#37
4:46, 23 янв 2010

Executor
> В ДХ9 это вообще единственный способ отрендерить в шадоумапу, а что туда
> пишется (линейная глубина или не линейная, или мусор какой) вообще не имеет
> никакого значения...
имеет значение, как параметры интерполируется
если передавать некую величину через интерполяторы текстурных координат, а позицию трансформировать классическим способом, когда w != 1, то интерполяция будет с перспективной коррекцией, важность чего просто невозможно ставить под сомнение
а если трансформировать позицию так, как в статье, когда w == 1, то привет всем "прелестям" аффинного текстурирования
короче, подсказка вредная

#38
8:44, 23 янв 2010

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

#39
15:24, 23 янв 2010

Executor
> То что у автора пишется прям в позицию - не страшно, можно поправить и писать через varying
две большие разницы, см. ниже почему

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

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

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

Прошло более 1 года
#40
16:20, 27 сен 2011

Я не понял, почему автор в нативный Zбуфер пишет линейную глубину, её же в рендер таргет надо, или это Хак?

#41
18:25, 27 сен 2011

На всякий случай:
http://outerra.blogspot.com/2009/08/logarithmic-z-buffer.html

#42
11:39, 28 сен 2011

в общем разобрался, всем спасибо.

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

Страницы: 1 2 3
ПрограммированиеФорумГрафика

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