Size: a a a

pro.graphon (and gamedev)

2020 April 05

VK

Vitaliy ◀️TriΔng3l▶️ Kuzmin in pro.graphon (and gamedev)
disba1ancer
вопрос в том на сколько велика эта погрешность, померить бы в специальных единицах непомню как они называются, помню что единица это расстояние между двумя соседними представимыми числами
Ты про какую единицу?
источник

VK

Vitaliy ◀️TriΔng3l▶️ Kuzmin in pro.graphon (and gamedev)
Просто с фарплейном у тебя весь диапазон мантисс будет по новой прокручиваться примерно каждый раз, когда расстояние в 2 раза увеличивается, а без фарплейна — точно каждый раз, когда это происходит
источник

SM

Sergey Makarov in pro.graphon (and gamedev)
disba1ancer
вопрос в том на сколько велика эта погрешность, померить бы в специальных единицах непомню как они называются, помню что единица это расстояние между двумя соседними представимыми числами
источник

d

disba1ancer in pro.graphon (and gamedev)
reinterpret_cast<uint32_t>(a) - reinterpret_cast<uint32_t>(b) если грубо на плюсцах
источник

VK

Vitaliy ◀️TriΔng3l▶️ Kuzmin in pro.graphon (and gamedev)
ULP?
источник

L

Lain-dono in pro.graphon (and gamedev)
Vitaliy ◀️TriΔng3l▶️ Kuzmin
Это какой? Тимур ещё постил из какой-то книги (GPU Pro 7, что ли), в один вектор упаковать всё. Но так и надо, зачем лишние операции с нулями, если ты чётко знаешь, что там у тебя всегда будут нули
Эм, а если там view matrix + projection matrix? Не так уж много нулей остаётся
источник

L

Lain-dono in pro.graphon (and gamedev)
Место под uniform точно не имеет смысла экономить
источник

VK

Vitaliy ◀️TriΔng3l▶️ Kuzmin in pro.graphon (and gamedev)
Lain-dono
Эм, а если там view matrix + projection matrix? Не так уж много нулей остаётся
Да view тоже не нужна, можно и кватернион/ротор и смещение)
источник

d

disba1ancer in pro.graphon (and gamedev)
не это
источник

d

disba1ancer in pro.graphon (and gamedev)
скорее вот это
источник

d

disba1ancer in pro.graphon (and gamedev)
disba1ancer
reinterpret_cast<uint32_t>(a) - reinterpret_cast<uint32_t>(b) если грубо на плюсцах
a и b разумеется флоаты
источник

VK

Vitaliy ◀️TriΔng3l▶️ Kuzmin in pro.graphon (and gamedev)
Lain-dono
Место под uniform точно не имеет смысла экономить
Ну, SGPR, s_buffer_load_x16 (либо несколько load с latency), всё такое, хотя, там тоже нет очень большого смысла экономить, наверно
источник

L

Lain-dono in pro.graphon (and gamedev)
Vitaliy ◀️TriΔng3l▶️ Kuzmin
Да view тоже не нужна, можно и кватернион/ротор и смещение)
Т.е. мы всё это объединяем в шейдере? На мой взгляд это в итоге медленнее. Именно об этом я и говорил.
источник

VK

Vitaliy ◀️TriΔng3l▶️ Kuzmin in pro.graphon (and gamedev)
Lain-dono
Т.е. мы всё это объединяем в шейдере? На мой взгляд это в итоге медленнее. Именно об этом я и говорил.
Не знаю, измерять надо
источник

L

Lain-dono in pro.graphon (and gamedev)
Vitaliy ◀️TriΔng3l▶️ Kuzmin
Не знаю, измерять надо
Ну и кроме того это ещё и поддерживать может быть сложнее. Хотя аргумент так себе
источник

d

disba1ancer in pro.graphon (and gamedev)
Lain-dono
Т.е. мы всё это объединяем в шейдере? На мой взгляд это в итоге медленнее. Именно об этом я и говорил.
если подключить голову некоторые значения можно предвычислить, и получится быстрее матриц
источник

L

Lain-dono in pro.graphon (and gamedev)
disba1ancer
если подключить голову некоторые значения можно предвычислить, и получится быстрее матриц
Проблема в том, что это не универсально. Вообще это может иметь смысл в особых случаях (кости/анимации?), но в общем случае это не удобно.
источник

d

disba1ancer in pro.graphon (and gamedev)
Lain-dono
Проблема в том, что это не универсально. Вообще это может иметь смысл в особых случаях (кости/анимации?), но в общем случае это не удобно.
зато быстро, даже с т.з. математики
источник

L

Lain-dono in pro.graphon (and gamedev)
disba1ancer
зато быстро, даже с т.з. математики
В том то и дело, что не всегда.
источник

d

disba1ancer in pro.graphon (and gamedev)
Lain-dono
В том то и дело, что не всегда.
сомневаюсь
источник