Программирование игр, создание игрового движка, OpenGL, DirectX, физика, форум
GameDev.ru / Программирование / Форум / как правильно рассчитывать освещение с тенями для нескольких переотражений ? (2 стр)

как правильно рассчитывать освещение с тенями для нескольких переотражений ? (2 стр)

Поделиться

Страницы: 1 2 3 4 ... 7 8 9 Следующая

asvpПостоялецwww15 мар. 201515:47#15
xma
Афтар CUDA юзает. Работает тока на NVIDIA.

Правка: 15 мар. 2015 15:47

xmaПостоялецwww15 мар. 201516:14#16
asvp
> Афтар CUDA юзает. Работает тока на NVIDIA.
я в курсе :D но, это не значит что нельзя аналогичным образом просчитать освещение на opencl ))
asvpПостоялецwww15 мар. 201516:36#17
xma
> я в курсе :D но, это не значит что нельзя аналогичным образом просчитать освещение на opencl ))
Я не спорю. Можно конечно.
Я к тому, чтобы юзеры Intel и AMD не тратили время.
> открою страшную тайну , на титанах в этом приложении с аналогичными настройками качества 30-45 fps :D
Э-э-э-х... Кто-то титаны юзает. Мне уже не стало хватать моей GTS 250
SergioУдалёнwww15 мар. 201517:59#18
а прикольно эта моделька до сих пор всплывает :)
alex468Пользовательwww16 мар. 20155:11#19
Щас скажу...
+ Показать
xmaПостоялецwww16 мар. 20158:44#20
alex468
в методике ray tracing'а как смешивать тени для разных отражений?
alex468Пользовательwww16 мар. 20159:28#21
xma
> alex468
> в методике ray tracing'а как смешивать тени для разных отражений?

Не знаю. Но сдаётся мне, чам тоже нужен многопроход.

Как в реальности? - Все лучи испускаются одновременно. Происходит интерференция и прочие физические явления. Все тени формируются одновременно. Из-за этого возникают всякие явления дифракции и прочие.

Как в однопроходном рейтрейсинге? - Все лучи испускаются последовательно. Интерференции не происходит. Все тени формируются последовательно.

Как в многопроходном рейтрейсинге? - Всё, как в однопроходном, только за счёт проходов мы можем добавлять тени постепенно, за счёт проявления их после каждого прохода - тот же принцип, что я своим постом выше описал. Правда, определить число проходов тут уже сложнее - их должно быть столько же, сколько и лучей? Или как? - Не знаю.

Как в многопроходном многопоточном рейтрейсинге? - Все лучи испускаются одновременно и на расчёт каждого луча выделен свой потом. Каждый квант времени все потоки синхронизируются, чтобы обнаружить такие вещи, как пересечения лучей и прочие, и чтобы при подобных событиях смоделировать интерференцию и прочие физические явления.

Пожалуй, последний способ будет самым правдоподобным моделированием пространства-времени в предположении, что пространство-время дискретно и как пространство, так и время можно расквантовать. Но боюсь, что электроника не дошла, не скоро дойдёт и не дойдёт вообще до такого. Ибо для полной имитации моделирующая система должна быть сложнее моделируемой, а у нас тут полная имитация вселенной намечается... Хотя, если ограничиться малым объёмом, большим шагом квантования и сделать некоторые упрощения... Но ведь это уже не "достоверный" рендеринг?

Правка: 16 мар. 2015 9:31

Super_inoyПостоялецwww16 мар. 20159:34#22
xma
> в методике ray tracing'а как смешивать тени для разных отражений?
как как, после первого прохода (без отражений) сохранять тень в свою структуру как текстуру материала поверхности(или ещё как нибудь, к примеру как новые объекты находящиеся в дельта окрестности от поверхности(но это провернуть проблематично)), потом делать нормальные проходы с 100500(4мя) отражениями.

Правка: 16 мар. 2015 9:35

alex468Пользовательwww16 мар. 20159:40#23
Super_inoy
> xma
> > в методике ray tracing'а как смешивать тени для разных отражений?
> как как, после первого прохода (без отражений) сохранять тень в свою структуру
> как текстуру материала поверхности(или ещё как нибудь, к примеру как новые
> объекты находящиеся в дельта окрестности от поверхности(но это провернуть
> проблематично)), потом делать нормальные проходы с 100500(4мя) отражениями.

Ну вот, снова даладом. Методы нерейтрейсинга в рейтрейсинг пихать. Неполноценный рейтрейсинг какой-то получается. )))

Значит, "обычный вид" - рейтрейсингом, а тени - намапливать по-старинке? Нет уж, тоже давай рейтрейсингом. ))

Самое правильное я описал. Всё остальное - костыли и маскировка.

Super_inoyПостоялецwww16 мар. 20159:44#24
alex468
> а тени - намапливать по-старинке?
Не совсем :) Но если хочешь не по старинке - твой метод хрень(он выдаст некорректный результат, подумай сам), нужно просто посылать дофига лучей из каждого пикселя, притом не последовательно, а рандомом с равномерным распределением и суммировать получившийся результат.... и мы приходим к path tracing'у :)

Правка: 16 мар. 2015 9:46

SergioУдалёнwww16 мар. 201514:36#25
Погугли virtual point lights.
xmaПостоялецwww16 мар. 201515:49#26
вот что у меня получилось , в динамике смотрится захватывающе ))
Изображение

Правка: 16 мар. 2015 17:34

Super_inoyПостоялецwww16 мар. 201516:06#27
xma
opencl? выкладывай же. Ну и да, если есть запас по производительности (60 фпс вижу), сделай суперсемплинг.
Che@terПостоялецwww16 мар. 201516:53#28
alex468
> Щас скажу...
Я как раз в той теме что-то подобное пытался реализовать:
http://www.gamedev.ru/code/forum/?id=136598&page=23#m340
xmaПостоялецwww16 мар. 201517:34#29

[amd ati]
real-time opencl ray tracer bvh

здесь под amd ati и nvidia, с меньшим количеством косяков в отображении теней
http://www.gamedev.ru/code/forum/?id=199458&page=4#m46

Правка: 16 мар. 2015 21:15

Страницы: 1 2 3 4 ... 7 8 9 Следующая

/ Форум / Программирование игр / Графика

2001—2017 © GameDev.ru — Разработка игр