Size: a a a

pro.graphon (and gamedev)

2020 March 04

k

koren in pro.graphon (and gamedev)
Ну... Позиция в буфере
источник

eb

ed braed in pro.graphon (and gamedev)
koren
Ну... Позиция в буфере
А, понил..
Потом просто обходишь все источники и проверяешь входит ли пиксель в сферу, если да считаем освещение, если нет забиваем.
Пральна?
источник

S

Sergey in pro.graphon (and gamedev)
ed braed
Хмм, а как у тебя сферы привязывают источник к конкретным пикселям?

Вопрос из любопытства, потому что наверное скоро по твоим стопам пойду.
В простейшем случае ничего не надо привязывать.
Сферу рендерим с тестом глубины, обратным обычному тесту, а во фрагментном шейдере при выводе сферы считаем вклад источника.
Вклад суммируем с уже имеющимся буфером с помощью правильного ROP.
источник

TG

Timur Gagiev in pro.graphon (and gamedev)
koren
Там указано всё
там нежизнеспособная херня, а не deferred
источник

eb

ed braed in pro.graphon (and gamedev)
Sergey
В простейшем случае ничего не надо привязывать.
Сферу рендерим с тестом глубины, обратным обычному тесту, а во фрагментном шейдере при выводе сферы считаем вклад источника.
Вклад суммируем с уже имеющимся буфером с помощью правильного ROP.
Но получается что у нас условие "либо все источники обсчитываем, либо ни одного"?
источник

S

Sergey in pro.graphon (and gamedev)
Sergey
В простейшем случае ничего не надо привязывать.
Сферу рендерим с тестом глубины, обратным обычному тесту, а во фрагментном шейдере при выводе сферы считаем вклад источника.
Вклад суммируем с уже имеющимся буфером с помощью правильного ROP.
А чтобы не считать вклад для близких к камере объектов, лежащих за пределами сферы, можно сделать предварительный проход по сферам, который запишет стенсил.
источник

k

koren in pro.graphon (and gamedev)
ed braed
А, понил..
Потом просто обходишь все источники и проверяешь входит ли пиксель в сферу, если да считаем освещение, если нет забиваем.
Пральна?
Пока да
источник

S

Sergey in pro.graphon (and gamedev)
ed braed
Но получается что у нас условие "либо все источники обсчитываем, либо ни одного"?
Почему? Каждая сфера - это отдельный источник. Сколько источников нужно - столько дроколлов для рисования сферы и сделаем.
источник

k

koren in pro.graphon (and gamedev)
Sergey
Почему? Каждая сфера - это отдельный источник. Сколько источников нужно - столько дроколлов для рисования сферы и сделаем.
Инстансинг
источник

TG

Timur Gagiev in pro.graphon (and gamedev)
koren
Инстансинг
стенсил не сработает
источник

S

Sergey in pro.graphon (and gamedev)
koren
Инстансинг
Разумеется, без него объяснять проще.
источник

eb

ed braed in pro.graphon (and gamedev)
Sergey
Почему? Каждая сфера - это отдельный источник. Сколько источников нужно - столько дроколлов для рисования сферы и сделаем.
Ну все сферы то в итоге в один стенсил попадут, не?
источник

k

koren in pro.graphon (and gamedev)
Timur Gagiev
стенсил не сработает
Почему?
источник

TG

Timur Gagiev in pro.graphon (and gamedev)
koren
Почему?
потому что ты походу не понимаешь, что тебе тут пытаются донести
источник

TG

Timur Gagiev in pro.graphon (and gamedev)
или не хочешь понимать
источник

k

koren in pro.graphon (and gamedev)
Я стенсил проверяю, а не записываю
источник

TG

Timur Gagiev in pro.graphon (and gamedev)
судя по рендердоку ничего такого не делаешь
источник

S

Sergey in pro.graphon (and gamedev)
ed braed
Ну все сферы то в итоге в один стенсил попадут, не?
Да. Нам нужен один бит стенсила на все сферы.
Бит будет показывать, лежит ли данный фрагмент в сфере.
источник

k

koren in pro.graphon (and gamedev)
Timur Gagiev
потому что ты походу не понимаешь, что тебе тут пытаются донести
Скорее вообще нихрена не понимаю
источник

k

koren in pro.graphon (and gamedev)
Timur Gagiev
судя по рендердоку ничего такого не делаешь
Потому что не включил их
источник