В бесплатном игровом движке Godot Engine появилась новая технология освещения, которая позволяет создать полностью динамическое глобальное освещение на открытых пространствах. Новинка называется SDFGI (signed distance field cascades global illumination) и предлагает баланс между точностью и производительностью, разделяя пространство на каскады и снижая качество на дистанции. Есть и ограничения: пока она не захватывает динамические объекты.
Godot Engine относится к бесплатным движкам с открытым исходным кодом (Free and Open-Source), разработка игр на нём не требует никаких отчислений или оплаты за продукт. Пользователи Windows, macOS и Linux могут легко скачать его даже на относительно старые компьютеры: вес приложения менее 50 мегабайт, ещё 500 займут темплейты экспорта, но они загружаются отдельно.
источник новости / сайт движка
anonymous
Интересно, а SDF генерируется на лету вокруг камеры, или этот подход ограничивает размер сцены? Нашёл в исходниках voxelizer.cpp, но вряд ли он смог бы работать достаточно быстро, вокселизируя и генерируя SDF на CPU.
Coverbacker Автор
По заявлению на видео, он генерируется в любом месте на лету (условно «до бесконечности»). Вычисления вроде как идут через Vulkan Compute, а он может работать на CPU и GPU.
anonymous
О, тогда я неверно понял, думал, в видео речь идёт о генерации лайтпроб. Надо бы поизучать, какие есть способы генерации SDF на GPU, а то с ними можно много крутых штук сделать. Правда, я не очень понимаю, откуда взять VRAM для больших сцен (вроде тех, скриншоты которых приведены в документации UE).
Coverbacker Автор
Ну, оно не до горизонта делается, скажем так, а только в обозримой области и каскадами со снижением качества, которые потом смешиваются, как каскадные тени обычно (насколько я понял, а я больше по высокоуровневым штукам).
picul
Coverbacker Автор
Вот так
picul
Это OpenCL, Вы же писали про Vulkan Compute. С чего бы ему работать на CPU?
Coverbacker Автор
А, правда, не нашёл. Почему-то по аналогии думал, что в природе встречается.