Size: a a a

pro.graphon (and gamedev)

2020 June 25

P🍣

Pavel 🍣 in pro.graphon (and gamedev)
делал как тут (или как в ларе)
источник

P🍣

Pavel 🍣 in pro.graphon (and gamedev)
https://pastebin.com/gHK1UDZC вот, я правда думал этого достаточно (осторожно могут вытеч глаза от жс)
источник

P🍣

Pavel 🍣 in pro.graphon (and gamedev)
Pavel 🍣
Кстати я это выкинул f = f*f*f*(f*(f*6.0-15.0)+10.0); и заменил на smoothstep, показалось что в железке может быть имплменировано
Вот тут я пропиздел конечно, smoothstep делает интерполяцию между двумя точками, поэтому у меня видны артефакты. Но для вокселй делать трикубик это делать 8*8 тапов для каждой точки и просто борода из функций https://www.shadertoy.com/view/ttscRX
источник

P🍣

Pavel 🍣 in pro.graphon (and gamedev)
источник

P🍣

Pavel 🍣 in pro.graphon (and gamedev)
catrom на этой картинке похоже 2 степени и плохой, на деле 3 степени такой же как бикубик должен быть.
источник

k

kvark in pro.graphon (and gamedev)
всем привет. такой вопрос, можно ли в шейдерах делать деление на ноль для получения бесконечности, чтобы потом эту бесконечность как-то математически использовать? или будет просто UB и лучше никогда не делить на ноль?
источник

D

Dadaskis in pro.graphon (and gamedev)
kvark
всем привет. такой вопрос, можно ли в шейдерах делать деление на ноль для получения бесконечности, чтобы потом эту бесконечность как-то математически использовать? или будет просто UB и лучше никогда не делить на ноль?
NaN по идее будет. Ты где бесконечность видел в программах?
источник

S

Stas in pro.graphon (and gamedev)
Dadaskis
NaN по идее будет. Ты где бесконечность видел в программах?
Пруфы по документации в студию.
источник

D

Dadaskis in pro.graphon (and gamedev)
Stas
Пруфы по документации в студию.
Ок, затыкаюсь значит
источник

k

kvark in pro.graphon (and gamedev)
Dadaskis
NaN по идее будет. Ты где бесконечность видел в программах?
ну на обычном CPU возникает флаг inf при при делении флоата на ноль
источник

k

kvark in pro.graphon (and gamedev)
я ж потому и спрашиваю, что не знаю как на GPU это сделано
источник

D

Dadaskis in pro.graphon (and gamedev)
kvark
ну на обычном CPU возникает флаг inf при при делении флоата на ноль
Ок ._.
источник

P🍣

Pavel 🍣 in pro.graphon (and gamedev)
kvark
всем привет. такой вопрос, можно ли в шейдерах делать деление на ноль для получения бесконечности, чтобы потом эту бесконечность как-то математически использовать? или будет просто UB и лучше никогда не делить на ноль?
Можно проверить так:

color = 1/(1/0);

Должно быть 0 по IEEЕ 754, так как 1 разделится на бесконечность.
источник

P🍣

Pavel 🍣 in pro.graphon (and gamedev)
(Точки еще поставить, float)
источник

P🍣

Pavel 🍣 in pro.graphon (and gamedev)
1./(1./0.) + 0.5

даже лучше выражение, так как вдруг NaN интерпретируется как черный цвет?
источник

P🍣

Pavel 🍣 in pro.graphon (and gamedev)
источник

k

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

P🍣

Pavel 🍣 in pro.graphon (and gamedev)
как создать skew матрицу в 3d?
источник

P🍣

Pavel 🍣 in pro.graphon (and gamedev)
чем больше z тем больше нужно сдвинуть по y допустим, это надо в 4 столбец что до добавлять
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
Pavel 🍣
чем больше z тем больше нужно сдвинуть по y допустим, это надо в 4 столбец что до добавлять
4 столбец — это то, что умножается на единицу (на W, то есть)
источник