Рассчитывают только рассеяние по Ламберту, но появляется энергия из неоткуда
И сколько по времени рендерится вся картинка ?
Ziltop
Сложно сказать. Методом Монте-Карло рассчитывается. Каждый кадр происходит уточнение уравнения рендеринга
Примерно. Секунда или минута ?
Выглядит не плохо.
Для глобального освещения интересно. Особенно на Compute шейдере.
Ziltop
Секунд 5, до шума как на картинке. Но энергия происходит из неоткуда. Посмотри на плоскость. Сфера не является источником света.
Нашел косяк в выборке по полусфере
IBets
деноизер будет?)
Лучше демку и весь код.
Кстати ТС этот баг сохрани. Потому что хороший эффект, может когда то тебе пригодится.
Misanthrope
Наверное, но меня бесит джиттеринг. У меня прогрессивное сэмплирование из-за него камера дрожит при движении. Как с этим бороться?
Ziltop
Да там всего два Compute шейдреа. Сами сможете запилить. Почитайте "Ray tracing in one weekend" Там без Монте-Карло, но вы легко адаптируете
Ziltop
Запилил Ray Marching по Texture3D. Эффектный результат
IBets
да, isosurface renderer выглядит круто. к сожалению, совершенно не масштабируется.
Suslik
Как убрать чертовы круги?
IBets
в этом конкретном случае выглядит так, будто сам датасет был снят в одном разрешении, а потом переинтерполирован на другое. если ты сам строишь датасет для сферы, например, то же самое?
Suslik
Здесь вот так от этого избавились (ctrl+f <- трикубическая интерполяция)
Тема в архиве.