Size: a a a

pro.graphon (and gamedev)

2020 December 21

S

Stas in pro.graphon (and gamedev)
Kirill
а как?
Выше Виталий описал. То что ты предложил - не одно и то же.
источник

S

Stas in pro.graphon (and gamedev)
Нельзя писать в текстуру из фрагментного шейдера и сразу же эту текстуру как sampler держать.
источник

K

Kirill in pro.graphon (and gamedev)
Stas
Выше Виталий описал. То что ты предложил - не одно и то же.
>  туда-сюда между двумя текстурами
Это и подразумевалось
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
Stas
Выше Виталий описал. То что ты предложил - не одно и то же.
Это и есть пинг-понг, когда сначала в одну текстуру пишешь, из другой читаешь, а потом наоборот
источник

U

UsernameAK in pro.graphon (and gamedev)
Stas
Выше Виталий описал. То что ты предложил - не одно и то же.
но пригодное для этой задачи.
источник

K

Kirill in pro.graphon (and gamedev)
Stas
Нельзя писать в текстуру из фрагментного шейдера и сразу же эту текстуру как sampler держать.
А это в принципе возможно? Порядок отрисовки пикселей ведь не определён, что там фетчить? Шум что-ли?
источник

S

Stas in pro.graphon (and gamedev)
Не так понял, приношу извинения @devcpp
источник

K

Kirill in pro.graphon (and gamedev)
Да ладно ничего )
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
Kirill
А это в принципе возможно? Порядок отрисовки пикселей ведь не определён, что там фетчить? Шум что-ли?
Только если железо предоставляет возможность прочитать предыдущее значение во фреймбуфере из кэша/плитки, но это будет не через текстуру, а через gl_LastFragData
источник

AP

Alexander Potapov in pro.graphon (and gamedev)
Если все данные приходят из G-буффера, то еще можно сделать blending(one, one) и поверх к примеру освещение накладывать
источник

d

disba1ancer in pro.graphon (and gamedev)
Anatoly Tomilov
просто помнится это называлось abominable function types и требовало многословности в имплементации: кучи перегрузок/частичных специализаций или специализаций
ты дефайн проглядел
источник

d

disba1ancer in pro.graphon (and gamedev)
чё фу, я бы поглядел как ты решил бы эту задачу...
источник

JA

Jokhar Ali in pro.graphon (and gamedev)
Я видел некоторое дерьмо
источник

L

Lee Armstrong in pro.graphon (and gamedev)
Vitaliy ◀️TriΔng3l▶️ Kuzmin
Только если железо предоставляет возможность прочитать предыдущее значение во фреймбуфере из кэша/плитки, но это будет не через текстуру, а через gl_LastFragData
Моя видеокарта не умеет в это расширение.
А интернете пишут, что пинг-понг не есть гуд.

Ко мне приходит только идея создать какой-нибудь GL_RGB16F буффер, в котором RG - направление приломления (у меня 2д) а B - сила.

А потом уже при рендере исходной картинки применять само приломление.

Есть какой-то лучший способ?
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
Lee Armstrong
Моя видеокарта не умеет в это расширение.
А интернете пишут, что пинг-понг не есть гуд.

Ко мне приходит только идея создать какой-нибудь GL_RGB16F буффер, в котором RG - направление приломления (у меня 2д) а B - сила.

А потом уже при рендере исходной картинки применять само приломление.

Есть какой-то лучший способ?
Но тебе придётся всё равно откуда-то читать цвет из того места, куда попадёт преломлённый вектор
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
Lee Armstrong
Моя видеокарта не умеет в это расширение.
А интернете пишут, что пинг-понг не есть гуд.

Ко мне приходит только идея создать какой-нибудь GL_RGB16F буффер, в котором RG - направление приломления (у меня 2д) а B - сила.

А потом уже при рендере исходной картинки применять само приломление.

Есть какой-то лучший способ?
Надо отрисовать сначала всё до объекта с преломением, потом скопировать фреймбуфер в текстуру, а потом либо рисовать в копию, а к шейдеру биндить оригинал, либо рисовать в оригинал, к шейдеру биндить копию
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
Для преломления даже shader framebuffer fetch не подойдёт, потому что оно позволяет прочитать только последнее значение *текущего* пикселя
источник

L

Lee Armstrong in pro.graphon (and gamedev)
А как быть если преломляющий объект будет находится над другим преломляющм?
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
Lee Armstrong
А как быть если преломляющий объект будет находится над другим преломляющм?
А вот тут уже никак 🤷‍♂️
источник

AT

Anatoly Tomilov in pro.graphon (and gamedev)
Lee Armstrong
А как быть если преломляющий объект будет находится над другим преломляющм?
надо сразу думать о пастрейсере)
источник