Доброго времени суток! Давно я не смотрел что там у LuxCore происходит, а там куча всего интересного. Мой предыдущий пост пятилетней давности, про версию 2.0)
А последняя нестабильная версия аж 2.8. Но начнем более-менее по порядку с 2.4.
Однократная компиляция ядра
Код библиотеки материалов и текстур был переписан. Теперь после установки требуется только одна компиляция ядра. В сложных сценах новый код работает так же быстро как и старый, но в простых сценах производительность хуже. Вы можете прочитать больше о производительности здесь.
Для художников это изменение означает ускорение времени рендеринга для каждой итерации, огромное количество времени сохраниться при рендеринге анимации и, наконец, рабочий вариант рендеринга в окне просмотра на GPU.
Кроме существующего модуля OpenCL для рендеринга на GPU, у нас теперь есть CUDA, который работает немного быстрее на видеокартах Nvidia. Минимально необходимая для работы версия CUDA - 10.
Рендеринг за пределами ядра (Out-of-Core)
Графические процессоры AMD поддерживают рендеринг за пределами ядра через опцию драйвера (AMD HBCC).
Примечание: HBCC означает «контроллер кэша с высокой пропускной способностью». Это дополнение к кадровому буферу графических карт AMD Vega, которое рассматривает VRAM как кэш верхнего уровня и взамен забирает часть оперативной памяти системы, как если бы это была VRAM.
На графических процессорах Nvidia наш модуль на основе CUDA теперь поддерживает хранение изображений, полигональных сеток, буферов кадров, данных BVH и многого другого.
Переработанный кэш освещения (Environment Light)
Мы улучшили наше решение авто-порталов, которое используется для ускорения выборки прямого освещения (direct light) от освещения фона (background light). Новый кэш вычисляется быстрее, создает более равномерный и менее шумный результат и проще в использовании.
Изображения ниже были отрендерены с использованием 200 сэмплов.
1 - ELVC отключен, 2 - ELVC в Lux 2.3 (старый), 3 - ELVC в Lux 2.4 (новый)
Случайное значение для каждого острова
Теперь для каждого отдельного острова полигональной сетки в шейдерах доступно случайное значение.
PhotonGI теперь поддерживает группы света
Кэш PhotonG, для ускорения непрямого освещения и каустики, был расширен поддержкой групп света, которые можно использовать для генерации отдельных AOV (произвольные выходные переменные) для наборов освещения. Это позволяет кардинально менять световой баланс в сцене во время пост-продакшна и извлекать различные тон и вариант освещения из одного результата рендеринга - теперь с быстрым бесшумным непрямым светом (indirect light)!
Новые паттерны сэмплирования
В прошлом, сэмплер Sobol в LuxCore всегда рендерил изображение снизу вверх, по одной линии пикселей за раз, с одним сэмплом на пиксель за один проход по изображению. Теперь это поведение было изменено на обход изображения с использованием плиток 16x16 вместо полосы 16x1 . Этот режим лучше всего подходит для предпросмотра, так как быстро охватывает все изображение.
Чтобы улучшить использование кэша, был добавлен новый режим "cache-friendly", который вычисляет 32 сэмпла на пиксель за проход, вместо 1. Этот режим может использоваться для финального рендеринга, где быстрый предпросмотр не требуется.
Кроме того, доступен паттерн, оптимизированный для рендеринга за пределами ядра (Out of Core), который вычисляет еще больше сэмплов на пиксель за проход (по умолчанию: 512) для минимизации передаваемых данных между GPU и оперативной памятью процессора.
1 - Progressive, 2 - Cache-friendly; 3 - Out of Core
Интерференция тонких пленок
Добавлена поддержка интерференции тонких пленок. Она может использоваться для разливов нефти, мыльных пузырей, оксидных слоев на нагретом металле, автомобильной краски, анти отражающих покрытий, панцирей жуков и т. д.
Результирующие цвета зависят от толщины пленки, показателя преломления пленки и угла между поверхностью и камерой.
Поддержка файлов .CUBE LUT
Таблицы поиска в формате .CUBE теперь можно использовать для постобработки.
Примечание: LUT это матрица, в которой заключена информация о соответствии одного цвета другому. Для видео и анимационной графики LUT полезен для сопоставления отснятого материала из одного источника с другим.
- Новая текстура «Random»
- Ускорено обнаружение дубликатов вершин в форме pointiness (с 6,7 секунд до 0,016 секунд на сетке с 100 тыс. вершин)
- Добавлена поддержка групп процессоров, позволяющая LuxCoreRender использовать более 64 логических процессоров в Windows
- Улучшенный период прогрева сэмплера Metropolis
Новые возможности в аддоне Blender
BlendLuxCore теперь поддерживает пользовательские разделенные нормали. Как и другие данные сетки, они передаются в LuxCore, код отвечающий за перенос написан на C++, чтобы быть как можно более быстрым.
Изображение Nicolò Vincenzi (andropof)
Режим Eevee lookdev был не очень полезен, потому что для отображения текстур он требует ноды Eevee. Он был заменен режимом рендеринга, оптимизированным для быстрого предварительного просмотра текстур без теней и показывающим альбедо AOV. Он может быть использован для предварительного просмотра всех деревьев нод материалов LuxCore, а также совместимых деревьев нод Cycles, если в материале установлен флажок «Use Cycles Nodes».
Улучшение редактора узлов
Наш редактор узлов был дополнен некоторыми полезными горячими клавишами, вдохновленными Node Wrangler:
- M можно использовать для отключения выделенных узлов, что приведет к их отключению и передаче их входных данных без изменений на их выходы
Ctrl+Shift+LMB щелчок на узле показывает его в виде превью без тени, что полезно для проверки настоящих цветов текстуры.
Ctrl+T создает узел image и узел mapping, если выбранный узел имеет совместимые входы, или только узел mapping, если выбран узел image.
Добавлена поддержка новой системы моделирования дыма в Blender.
Онлайн-библиотека LuxCore
Библиотека с моделями и материалами, созданная Sharlybg, была интегрирована в аддон Blender. Она лицензирована под CC-BY-SA и может быть использована в личных и коммерческих проектах для быстрого наполнения сцены мебелью, декорациями, освещением и многим другим.
Помощник по настройке рендера
Чтобы помочь новым пользователям быстро создать хорошую конфигурацию, был добавлен помощник. Он задает несколько вопросов о сцене и назначает настройки рендеринга, основываясь на ответах.
Оптимизирована проверка обновления видового экрана в сценах с большим количеством частиц/дубликатов
Переработана статистика, добавлены некоторые подстатьи о времени экспорта (время конвертации сетки, время конвертации волос), а также информация о том, какие кэши включены/выключены
Аддон теперь использует узлы Cycles в связанных материалах, если материал не имеет узлов Lux (таким образом, материалы на объектах Cycles автоматически пытаются использовать узлы Cycles, если вы не создадите материал Lux)
Добавлен режим трипланарной проекции в ноде imagemap, общая переработка/улучшение ноды imagemap
Добавлена поддержка прозрачности в результатах шумодава (как во вьюпорте, так и в финальном рендере)
Считыватель нод Cycles:
Добавлена поддержка вложенных групп нод Cycles
Добавлена поддержка входов emission, alpha и transmission для шейдера principled
Добавлена поддержка выводов ноды geometry: position и normal
Добавить поддержку узлов для ноды outputs - object index, material index, random
Добавить поддержку шейдера refraction
Добавлена поддержка blackbody texture
В LuxCore и аддоне для Blender исправлено более 30 ошибок.
Скачать LuxCoreRender v2.6 (, для версий Blender 2.82 - 2.93LTS)
LuxCoreRender доступен под Windows, Mac OS, Linux.