Size: a a a

pro.graphon (and gamedev)

2020 November 29

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
или нет…
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
Придётся через SV_DepthLessEqual хачить, чтобы в 32-битный буфер глубины записывать 24-битный флоат :D
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
Через depth_float32 = asfloat(depth_20e4 != 0u ? depth_20e4 * (1u << 3u) + (1u << 23u) : 0u);
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
Будут денормалы (которые в -15 порядке в атишном 20e4) не в -127 порядке (чтобы не флашились), а в -126, а нормализованные в -125…-111, вместо единицы будет 2^-111 :D
источник

TG

Timur Gagiev in pro.graphon (and gamedev)
щас сложно было...
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
Timur Gagiev
щас сложно было...
Мне надо перекодировать глубину в другой формат с плавающей запятой, чтобы в нём же и происходил тест глубины, но при этом как можно меньше повлиять на early Z
источник

TG

Timur Gagiev in pro.graphon (and gamedev)
Переслано от Vitaliy ◀️TriΔng3l▶️...
А SV_Depth убивает HTile вообще, или хотя бы min/max всё равно считаются?
источник

TG

Timur Gagiev in pro.graphon (and gamedev)
Переслано от Timur Gagiev
MaxZ считается, ZMask все биты выставлены, т.е. плейнов нет, но макс глубина есть, HiZ работает, декомпрессить не надо
источник

TG

Timur Gagiev in pro.graphon (and gamedev)
просто читать и писать - будет плохо?
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
Timur Gagiev
Переслано от Timur Gagiev
MaxZ считается, ZMask все биты выставлены, т.е. плейнов нет, но макс глубина есть, HiZ работает, декомпрессить не надо
Hi-z не будет работать, да, но у меня он и так не работает, так как в буфер глубины копирую голые пиксели перед отрисовкой
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
не очищаю/дискардю
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
а, не
источник

TG

Timur Gagiev in pro.graphon (and gamedev)
но HiZ можно будет использовать, это по сути большая часть от early-z
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
Min Z, может быть, и будет, вот это не знаю, плоскости отвалятся
источник

TG

Timur Gagiev in pro.graphon (and gamedev)
всё так
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
Timur Gagiev
Переслано от Timur Gagiev
MaxZ считается, ZMask все биты выставлены, т.е. плейнов нет, но макс глубина есть, HiZ работает, декомпрессить не надо
MinZ будут, если при барьере copy dest -> depth/stencil read/write они считаются
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
Насчёт чего я очень не уверен
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
Надо бы, вообще, когда-нибудь перевести заливку глубины/стенсила перевести с копирования на SV_Depth/SV_StencilRef
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
Жалко только, что на Nvidia нет SV_StencilRef
источник

TG

Timur Gagiev in pro.graphon (and gamedev)
Vitaliy ◀️TriΔng3l▶️ Kuzmin
Мне надо перекодировать глубину в другой формат с плавающей запятой, чтобы в нём же и происходил тест глубины, но при этом как можно меньше повлиять на early Z
величайшие умы планеты тоже бьются над проблемой точности )
источник