innuendo
> Круто теперь тоже самое для омни лайтов
Не очень понял, если речь о
Light Omni точечный источник, излучающий свет во всех направлениях (360 градусов)
то это уже реализовано (выше я это назвал объёмной "сферой" в противовес конусу) и требует меньше затрат, т.к. нужно только расстояние до центра и всё, без всяких трюков с гиперболоидом.
GLoom
> Звучит как идея для стартапа :)
Возни многовато. Да и не верится, что этого нет, может, есть, но не нагуглилось.
romanshuvalov
Сорри тогда все супер пупер
То, что пока не удалось сделать - это объёмный свет от "длинных" источников света. например, ламп дневного света и неоновых полос. Обычно достаточно сферического объёма вокруг лампы, но если это прям длинная светящаяся полоса - как на скрине из киберпанка с первой страницы - тут так просто не отделаешься.

Нужно что-то лёгкое и параметрическое. Пробовал эллипсоид с "переменным радиусом", вроде что-то даже получалось, но чем длиннее и тоньше линия, тем в бОЛьшие степени надо возводить значения и тем меньше точность. А во фрагментом шейдере всё должно считается в lowp, максимум в mediump. Скорее всего эллипсоид таки можно добить таким образом, займусь при надобности.
romanshuvalov
https://seblagarde.files.wordpress.com/2015/07/course_notes_movin… o_pbr_v32.pdf
Rectangular area lighting, не?
laloka
Это не про объемный свет, если я правильно понял.
romanshuvalov
А что у тебя получается когда камера заходит внутрь освещенного конуса? По идее там засветка пыли должна быть меньше чем когда ты вне конуса находишься - ты же не через всю пыль смотришь а только через половину. Хотя там свет ярче. Что-то я плохо себе это представляю.
romanshuvalov
> То, что пока не удалось сделать - это объёмный свет от "длинных" источников
> света. например, ламп дневного света и неоновых полос.
Я пробовал находить на отрезке-лампе точку, ближайшую к вьювектору (как в капсульных тенях), а дальше считать вольюмлайт от неё, как от точечного источника, но с "честным" расчетом появлялись артефакты, если смотреть вдоль лампы. Может, с вашим методом прокатит?
romanshuvalov
> P. S. Повторяю, чтоб не потерялось: А бывает shadertoy для 3д, чтобы удобно
> шейдером поделиться? А то меня уже спрашивают.
Взять в shadertoy готовый проект с буфером 3Д сцены и в новый буфер засунуть свой шейдер с ультрамегакрутым светом?)))
ncuxonaT
Я ж пишу, что для коротких полос сойдёт, но длинная неоновая полоса в половину комнаты - см. скриншот, их там две зелёных - так не сработает.
san
Коэффициент прозрачности, зависимый от расстояния от камеры до источника, можно посчитать на цпу.
romanshuvalov
Неплохо. Волюм буффер в каком разрешении рисуешь? А то по моему опыту - фулрес на квесте дропает перф на дно.
>То, что пока не удалось сделать - это объёмный свет от "длинных" источников света.
Ищи Doom 3 volume light. Там по хитрой форме вертексы двигают, так что получаеться оче похоже на обьемный линейный свет.
romanshuvalov
> считается в lowp, максимум в mediump
Lowp точно дает буст? У меня при тестах на mali t830 ничего не меняется по скорости.
Battle Angel Alita
Нет никакого волюм буфера. Всё рисуется одним проходом прямо на экран.
Vitorio
Разница между lowp и highp огромная. Насколько она существенна между lowp и mediump - точно не скажу.
romanshuvalov
> То, что пока не удалось сделать - это объёмный свет от "длинных" источников
> света. например, ламп дневного света и неоновых полос. Обычно достаточно
> сферического объёма вокруг лампы, но если это прям длинная светящаяся полоса -
> как на скрине из киберпанка с первой страницы - тут так просто не отделаешься.
>
> Изображение
>
>
> Нужно что-то лёгкое и параметрическое. Пробовал эллипсоид с "переменным
> радиусом", вроде что-то даже получалось, но чем длиннее и тоньше линия, тем в
> бОЛьшие степени надо возводить значения и тем меньше точность. А во фрагментом
> шейдере всё должно считается в lowp, максимум в mediump. Скорее всего эллипсоид
> таки можно добить таким образом, займусь при надобности.
Глянь здесь, может поможет:
https://learnopengl.com/Guest-Articles/2022/Area-Lights
MikeNew
> Глянь здесь, может поможет:
> https://learnopengl.com/Guest-Articles/2022/Area-Lights
Это всё не про объёмный свет, а просто про расчёт освещения. Мне это не нужно, за меня это делает Cycles в Блендере и запекает готовые лайтмапы.
romanshuvalov
Знания лишними не бввают
Тема в архиве.