Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

Огляд рендерерів

Дивись також

На цій сторінці наведено огляд засобів візуалізації Godot, зосереджуючись на відмінностях між їхніми функціями візуалізації. Щоб отримати додаткові технічні відомості про рендерери, перегляньте Внутрішня архітектура візуалізації.

Вступ

Godot 4 містить три рендерери:

  • Вперед+. Найдосконаліший рендерер, який підходить лише для настільних платформ. Використовується за умовчанням на настільних платформах. Цей засіб візуалізації використовує Vulkan, Direct3D 12 або Metal як драйвер візуалізації, а також використовує серверну частину RenderingDevice.

  • Мобільний. Менше функцій, але швидше рендерить прості сцени. Підходить для мобільних і настільних платформ. Використовується за умовчанням на мобільних платформах. Цей засіб візуалізації використовує Vulkan, Direct3D 12 або Metal як драйвер візуалізації, а також використовує серверну частину RenderingDevice.

  • Сумісність, яку іноді називають GL Compatibility. Найменш просунутий рендерер, підходить для недорогих настільних і мобільних платформ. Використовується за умовчанням на веб-платформі. Цей рендерер використовує OpenGL як драйвер візуалізації.

Рендеринги, драйвери візуалізації та RenderingDevice

Схема шарів візуалізації. Рендерер сумісності працює на OpenGL  водій. Рендерери Forward+ і Mobile працюють на RenderingDevice, який може використовувати  Vulkan, Direct3D 12 або Metal як драйвер візуалізації.

Відтворення шарів абстракції Godot.

Рендеринг, або метод візуалізації, визначає, які функції доступні. У більшості випадків це єдине, про що вам потрібно думати. Рендерерами Godot є Forward+, Mobile і Compatibility.

Драйвер візуалізації повідомляє графічному процесору, що робити, використовуючи графічний API. Godot може використовувати драйвери візуалізації OpenGL, Vulkan, Direct3D 12 і Metal. Не кожен графічний процесор підтримує всі драйвери візуалізації, а тому не кожен графічний процесор підтримує всі рендерери. Vulkan, Direct3D 12 і Metal — це сучасні низькорівневі графічні API, які потребують новішого апаратного забезпечення. OpenGL — це старіший графічний API, який працює на більшості апаратних засобів.

RenderingDevice — це сервер рендерингу, рівень абстракції між рендерером і драйвером рендерингу. Він використовується засобами візуалізації Forward+ і Mobile, і ці засоби обробки іноді називають «системами обробки на основі RenderingDevice».

Вибір рендерера

Вибір рендерера є складним питанням і залежить від вашого апаратного забезпечення та платформ, для яких ви розробляєте. Як відправна точка:

Виберіть Вперед+, якщо:

  • Ви розробляєте для комп’ютера.

  • У вас відносно нове обладнання, яке підтримує Vulkan, Direct3D 12 або Metal.

  • Ви розробляєте 3D-гру.

  • Ви хочете використовувати найдосконаліші функції візуалізації.

Виберіть Мобільний, якщо:

  • Ви розробляєте для новіших мобільних пристроїв, настільного ПК XR або настільного комп’ютера.

  • У вас відносно нове обладнання, яке підтримує Vulkan, Direct3D 12 або Metal.

  • Ви розробляєте 3D-гру.

  • Ви хочете використовувати розширені функції візуалізації з урахуванням обмежень мобільного обладнання.

Виберіть Сумісність, якщо:

  • Ви розробляєте для старих мобільних пристроїв, старих настільних пристроїв або автономних XR. Рендерер сумісності підтримує найширший діапазон обладнання.

  • Ви розробляєте для Інтернету. У цьому випадку єдиним вибором є сумісність.

  • У вас старе обладнання, яке не підтримує Vulkan. У цьому випадку єдиним вибором є сумісність.

  • Ви розробляєте 2D-гру або 3D-гру, яка не потребує розширених функцій візуалізації.

  • Вам потрібна найкраща продуктивність на всіх пристроях і вам не потрібні розширені функції візуалізації.

Майте на увазі, що кожна гра унікальна, і це лише відправна точка. Наприклад, ви можете вибрати використання рендерера сумісності, навіть якщо у вас найновіший графічний процесор, щоб підтримувати найширший спектр обладнання. Або ви можете використовувати рендерер Forward+ для 2D-гри, щоб мати змогу використовувати розширені функції, такі як обчислювальні шейдери.

Перемикання між рендерерами

У редакторі ви завжди можете перемикатися між засобами візуалізації, клацаючи назву засобу візуалізації у верхньому правому куті редактора.

Перемикання між рендерерами може вимагати деяких ручних налаштувань вашої сцени, освітлення та середовища, оскільки кожен рендерер відрізняється. Загалом перемикання між засобами візуалізації Mobile і Forward+ вимагатиме менше налаштувань, ніж перемикання між рендерером сумісності та засобами візуалізації Forward+ або Mobile.

Починаючи з Godot 4.4, під час використання Forward+ або Mobile, якщо Vulkan не підтримується, механізм повернеться до Direct3D 12 і навпаки. Якщо спроба резервного драйвера також не підтримується, механізм повернеться до режиму сумісності, коли серверний пристрій RenderingDevice не підтримується. Це дозволяє проекту працювати в будь-якому випадку, але він може виглядати інакше, ніж запланований, через більш обмежений рендерер. Цю поведінку можна вимкнути в налаштуваннях проекту, знявши прапорець Rendering > Rendering Device > Fallback to OpenGL 3.

Порівняння ознак

Це не повний список функцій кожного рендерера. Якщо функція не вказана тут, вона доступна в усіх рендерерах, хоча на деяких рендерерах вона може працювати набагато швидше. Щоб переглянути список усіх функцій у Godot, перегляньте Список особливостей.

Обладнання з підтримкою RenderingDevice — це обладнання, яке може працювати з Vulkan, Direct3D 12 або Metal.

Загальне порівняння

Особливість

Сумісність

Мобільний

вперед+

Потрібне апаратне забезпечення

Старіший або недорогий.

Новіший або висококласний. Потрібна підтримка Vulkan, Direct3D 12 або Metal.

Новіший або висококласний. Потрібна підтримка Vulkan, Direct3D 12 або Metal.

Працює на новому обладнанні

✔️ Так.

✔️ Так.

✔️ Так.

Працює на старому та недорогому обладнанні

✔️ Так.

✔️ Так, але повільніше, ніж сумісність.

✔️ Так, але найповільніший із усіх рендерів.

Працює на апаратному забезпеченні без підтримки RenderingDevice

✔️ Так.

❌ Ні.

❌ Ні.

Цільові платформи

Мобільний, недорогий комп’ютер, Інтернет.

Мобільний, настільний.

Настільні.

Робочий стіл

✔️ Так.

✔️ Так.

✔️ Так.

Мобільний

✔️ Так (низький рівень).

✔️ Так (висококласний).

⚠️ Підтримується, але погано оптимізовано. Замість цього використовуйте мобільний телефон або сумісність.

XR

✔️ Так Рекомендовано для автономних гарнітур.

✔️ Так. Рекомендовано для настільних гарнітур.

⚠️ Підтримується, але погано оптимізовано. Замість цього використовуйте мобільний телефон або сумісність.

Інтернет

✔️ Так.

❌ Ні.

❌ Ні.

2D ігри

✔️ Так.

✔️ Так, але сумісності зазвичай достатньо для 2D.

✔️ Так, але сумісності зазвичай достатньо для 2D.

3D ігри

✔️ Так.

✔️ Так.

✔️ Так.

Набір функцій

2D і основні 3D функції.

Більшість функцій візуалізації.

Усі функції візуалізації.

Функції 2D візуалізації

✔️ Так.

✔️ Так.

✔️ Так.

Основні функції 3D-рендерінгу

✔️ Так.

✔️ Так.

✔️ Так.

Розширені функції візуалізації

❌ Ні.

⚠️ Так, обмежено мобільним обладнанням.

✔️ Так Підтримуються всі функції візуалізації.

Нові функції

⚠️ До сумісності додано деякі нові функції візуалізації. Функції додаються після Mobile і Forward+.

✔️ Більшість нових функцій візуалізації додано до Mobile. Mobile зазвичай отримує нові функції, як Forward+.

✔️ Усі нові функції додано до Forward+. Як центр нової розробки, Forward+ отримує функції першими.

Вартість візуалізації

Низька базова вартість, але висока вартість масштабування.

Середня базова вартість і середня вартість масштабування.

Найвища базова вартість і низька вартість масштабування.

Драйвер візуалізації

OpenGL.

Vulkan, Direct3D 12, або Metal.

Vulkan, Direct3D 12, або Metal.

Світло і тіні

Перегляньте 3D світло та тіні для отримання додаткової інформації.

Особливість

Сумісність

Мобільний

вперед+

Підхід до освітлення

Forward single-pass. Lights with shadows use a multi-pass approach and less accurate blending.

Forward single-pass.

Clustered forward.

Максимальний OmniLights

8 на сітку. Можна збільшити.

8 на сітку, 256 на перегляд.

512 на кластер. Можна збільшити.

Максимум точкових світильників

8 на сітку. Можна збільшити.

8 на сітку, 256 на перегляд.

512 на кластер. Можна збільшити.

Максимальна спрямованість світла

8

8

8

PCSS для OmniLight і SpotLight

❌ Не підтримується.

✔️ Підтримується.

✔️ Підтримується.

PCSS для DirectionalLight

❌ Не підтримується.

❌ Не підтримується.

✔️ Підтримується.

Легкі текстури проектора

❌ Не підтримується.

✔️ Підтримується.

✔️ Підтримується.

Глобальне освітлення

Перегляньте Вступ до глобального освітлення для отримання додаткової інформації.

Особливість

Сумісність

Мобільний

вперед+

ReflectionProbe

✔️ Підтримується, 2 на сітку.

✔️ Підтримується, 8 на сітку.

✔️ Підтримується, без обмежень.

LightmapGI

⚠️ Підтримується рендеринг запечених карт світла. Для запікання потрібне обладнання з підтримкою RenderingDevice.

✔️ Підтримується.

✔️ Підтримується.

VoxelGI

❌ Не підтримується.

❌ Не підтримується.

✔️ Підтримується.

Непряме освітлення екранного простору (SSIL)

❌ Не підтримується.

❌ Не підтримується.

✔️ Підтримується.

Глобальне освітлення поля відстаней зі знаком (SDFGI)

❌ Не підтримується.

❌ Не підтримується.

✔️ Підтримується.

Середовище та пост-обробка

Перегляньте Середовище та пост-обробка для отримання додаткової інформації.

Особливість

Сумісність

Мобільний

вперед+

Туман (глибина і висота)

✔️ Підтримується.

✔️ Підтримується.

✔️ Підтримується.

Об'ємний туман

❌ Не підтримується.

❌ Не підтримується.

✔️ Підтримується.

Тональність

✔️ Підтримується.

✔️ Підтримується.

✔️ Підтримується.

Рефлексії екранного простору

❌ Не підтримується.

❌ Не підтримується.

✔️ Підтримується.

Екранно-просторова амбієнтна оклюзія (SSAO)

✔️ Підтримується.

❌ Не підтримується.

✔️ Підтримується.

Непряме освітлення екранного простору (SSIL)

❌ Не підтримується.

❌ Не підтримується.

✔️ Підтримується.

Глобальне освітлення поля відстаней зі знаком (SDFGI)

❌ Не підтримується.

❌ Не підтримується.

✔️ Підтримується.

Сяйво

✔️ Підтримується.

✔️ Підтримується.

✔️ Підтримується.

Коригування

✔️ Підтримується.

✔️ Підтримується.

✔️ Підтримується.

Спеціальна постобробка з повноекранним квадроциклом

✔️ Підтримується.

✔️ Підтримується.

✔️ Підтримується.

Спеціальна постобробка за допомогою CompositorEffects

❌ Не підтримується.

✔️ Підтримується.

✔️ Підтримується.

Згладжування

Перегляньте 3D згладжування для отримання додаткової інформації.

Особливість

Сумісність

Мобільний

вперед+

MSAA 3D

✔️ Підтримується.

✔️ Підтримується.

✔️ Підтримується.

MSAA 2D

❌ Не підтримується.

✔️ Підтримується.

✔️ Підтримується.

TAA

❌ Не підтримується.

❌ Не підтримується.

✔️ Підтримується.

FSR2

❌ Не підтримується.

❌ Не підтримується.

✔️ Підтримується.

FXAA

❌ Не підтримується.

✔️ Підтримується.

✔️ Підтримується.

SMAA

❌ Не підтримується.

✔️ Підтримується.

✔️ Підтримується.

SSAA

✔️ Підтримується.

✔️ Підтримується.

✔️ Підтримується.

Обмежувач шорсткості екранного простору

❌ Не підтримується.

✔️ Підтримується.

✔️ Підтримується.

Особливості StandardMaterial

Перегляньте Standard Material 3D і ORM Material 3D для отримання додаткової інформації.

Особливість

Сумісність

Мобільний

вперед+

Підповерхневе розсіювання

❌ Не підтримується.

❌ Не підтримується.

✔️ Підтримується.

Особливості шейдера

Перегляньте Посилання на затінення для отримання додаткової інформації.

Особливість

Сумісність

Мобільний

вперед+

Текстура екрану

✔️ Підтримується.

✔️ Підтримується.

✔️ Підтримується.

Глибина текстури

✔️ Підтримується.

✔️ Підтримується.

✔️ Підтримується.

Буфер нормального/шорсткого стану

❌ Не підтримується.

❌ Не підтримується.

✔️ Підтримується.

Обчислювальні шейдери

❌ Не підтримується.

⚠️ Підтримується, але має погіршення продуктивності на старіших пристроях.

✔️ Підтримується.

Інші особливості

Особливість

Сумісність

Мобільний

вперед+

Color precision

RGBA8. Low dynamic range, medium precision.

RGB10A2. Medium dynamic range, low precision. RGBA16F if HDR 2D is enabled.

RGBA16F. High dynamic range, good precision.

Depth precision

24-bit without reverse Z. Medium precision.

24-bit with reverse Z. Medium precision.

32-bit with reverse Z. Good precision.

Debanding

❌ Не підтримується.

✔️ Підтримується.

✔️ Підтримується.

Затінення зі змінною швидкістю

❌ Не підтримується.

✔️ Підтримується.

✔️ Підтримується.

Декалі

❌ Не підтримується.

✔️ Підтримується.

✔️ Підтримується.

Сліди частинок

❌ Не підтримується.

✔️ Підтримується.

✔️ Підтримується.

Зіткнення частинок SDF

❌ Не підтримується.

✔️ Підтримується.

✔️ Підтримується.

Розмиття глибини різкості

❌ Не підтримується.

✔️ Підтримується.

✔️ Підтримується.

Режими Adaptive і Mailbox VSync

❌ Не підтримується.

✔️ Підтримується.

✔️ Підтримується.

Вікно перегляду 2D HDR

❌ Не підтримується.

✔️ Підтримується.

✔️ Підтримується.

HDR output

❌ Не підтримується.

✔️ Підтримується.

✔️ Підтримується.

Доступ RenderingDevice

❌ Не підтримується.

✔️ Підтримується.

✔️ Підтримується.