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.
Checking the stable version of the documentation...
렌더러의 개요
더 보기
이 페이지에서는 Godot 렌더러의 개요를 제공하며, 렌더러의 렌더링 기능 간의 차이점을 중심으로 맞춥니다. 렌더러의 대한 자세한 기술적 사항은 내부 렌더링 아키텍처를 참조하세요.
소개
Godot 4에는 세 가지 렌더러가 포함되어 있습니다:
Forward+. 데스크톱 플랫폼에만 적합한 가장 고급 렌더러입니다. 데스크톱 플랫폼에서는 기본으로 사용됩니다. 이 렌더러는 Vulkan, Direct3D 12, 또는 Metal을 렌더링 드라이버로 사용하며, RenderingDevice 백엔드를 사용합니다.
모바일. 기능은 적지만 단순한 씬을 더 빠르게 렌더링합니다. 모바일 및 데스크톱 플랫폼에 적합합니다. 모바일 플랫폼에서는 기본으로 사용됩니다. 이 렌더러는 Vulkan, Direct3D 12, 또는 Metal을 렌더링 드라이버로 사용하며, RenderingDevice 백엔드를 사용합니다.
호환성, 때때로 GL 호환성이라고도 불립니다. 가장 덜 발전된 렌더러로, 저사양 데스크톱 및 모바일 플랫폼에 적합합니다. 웹 플랫폼에서는 기본으로 사용됩니다. 이 렌더러는 OpenGL을 렌더링 드라이버로 사용합니다.
렌더러, 렌더링 드라이버 및 RenderingDevice
Godot의 렌더링 추상화 계층.
렌더러 또는 렌더링 방법*에 따라 사용 가능한 기능이 결정됩니다. 대부분의 경우 이것이 당신이 생각해야 할 유일한 것입니다. Godot의 렌더러는 **Forward+*, Mobile, **Compatibility**입니다.
The rendering driver tells the GPU what to do, using a graphics API. Godot can use the OpenGL, Vulkan, Direct3D 12, and Metal rendering drivers. Not every GPU supports every rendering driver, and therefore not every GPU supports all renderers. Vulkan, Direct3D 12, and Metal are modern, low-level graphics APIs, and require newer hardware. OpenGL is an older graphics API that runs on most hardware.
RenderingDevice는 렌더러와 렌더링 드라이버 사이의 추상화 계층인 *렌더링 백엔드*입니다. Forward+ 및 Mobile 렌더러에서 사용되며 이러한 렌더러를 "RenderingDevice 기반 렌더러"라고도 합니다.
렌더러 선택하기
Choosing a renderer is a complex question, and depends on your hardware and which platforms you are developing for. As a starting point:
다음 경우는 Forward+를 선택하세요:
데스크톱용으로 개발하고 있습니다.
Vulkan, Direct3D 12, 또는 Metal을 지원하는 비교적 새로운 하드웨어가 있습니다.
3D 게임을 개발하고 있습니다.
가장 고급 렌더링 기능을 사용하고 싶습니다.
다음 경우는 모바일을 선택하세요:
You are developing for newer mobile devices, desktop XR, standalone XR, or desktop.
Vulkan, Direct3D 12, 또는 Metal을 지원하는 비교적 새로운 하드웨어가 있습니다.
3D 게임을 개발하고 있습니다.
모바일 하드웨어의 제한에 따라 고급 렌더링 기능을 사용하고 싶습니다.
다음 경우는 호환성을 선택하세요:
You are developing for older mobile devices, or older desktop devices. The Compatibility renderer supports the widest range of hardware.
웹용으로 개발하고 있습니다. 이 경우, 호환성이 유일한 선택입니다.
Vulkan을 지원하지 않는 오래된 하드웨어가 있습니다. 이 경우, 호환성이 유일한 선택입니다.
2D 게임을 개발하고 있거나, 고급 렌더링 기능이 필요 없는 3D 게임을 개발하고 있습니다.
모든 기기에서 가능한 한 최상의 성능을 원하며 고급 렌더링 기능은 필요하지 않습니다.
모든 게임은 고유하며 이는 단지 시작점일 뿐이라는 점을 명심하세요. 예를 들어, 최신 GPU가 있더라도 호환성 렌더러를 사용하도록 선택하면 가장 광범위한 하드웨어를 지원할 수 있습니다. 또는 2D 게임에 Forward+ 렌더러를 사용하여 컴퓨팅 셰이더와 같은 고급 기능을 사용할 수도 있습니다.
렌더러 간 전환하기
편집기에서 편집기의 오른쪽 상단 모서리에서 렌더러 이름을 클릭하여 항상 렌더러 간에 전환할 수 있습니다.
각 렌더러가 다르기 때문에 렌더러 간에 전환하려면 씬, 조명 및 환경을 수동으로 조정해야 할 수 있습니다. 일반적으로 모바일과 Forward+ 렌더러 간 전환에는 호환성 렌더러와 Forward+ 또는 모바일 렌더러 간 전환보다 조정 작업이 더 적습니다.
Godot 4.4부터 Forward+ 또는 Mobile을 사용할 때 Vulkan이 지원되지 않으면 엔진은 Direct3D 12로 돌아가고 그 반대의 경우도 마찬가지입니다. 시도한 대체 드라이버도 지원되지 않는 경우 RenderingDevice 백엔드가 지원되지 않으면 엔진은 호환성으로 대체됩니다. 이렇게 하면 프로젝트가 어쨌든 실행될 수 있지만 더 제한된 렌더러로 인해 의도한 모양과 다르게 보일 수 있습니다. 이 동작은 :ref:`Rendering > Rendering Device > Fallback to OpenGL 3<class_ProjectSettings_property_rendering/rendering_device/fallback_to_opengl3>`를 선택 취소하여 프로젝트 설정에서 비활성화할 수 있습니다.
기능 비교
이는 각 렌더러의 기능의 완전한 목록이 아닙니다. 여기에 나열되지 않은 기능은 모든 렌더러에서 사용 가능하지만, 일부 렌더러에서는 훨씬 더 빠를 수 있습니다. Godot에서 모든 기능의 목록에 대해서는 기능의 목록을 참조하세요.
RenderingDevice를 지원하는 하드웨어는 Vulkan, Direct3D 12, 또는 Metal을 실행할 수 있는 하드웨어입니다.
전체 비교
기능 |
호환성 |
모바일 |
Forward+ |
|---|---|---|---|
필수 하드웨어 |
오래되거나 저사양. |
더 새롭거나 고사양. Vulkan, Direct3D 12, 또는 Metal 지원이 필요합니다. |
더 새롭거나 고사양. Vulkan, Direct3D 12, 또는 Metal 지원이 필요합니다. |
새 하드웨어에서 실행 |
✔️ 예. |
✔️ 예. |
✔️ 예. |
오래되고 저사양 하드웨어에서 실행 |
✔️ 예. |
✔️ 네, 그러나 호환성보다 느립니다. |
✔️ 네, 그러나 모든 렌더러 중에서 가장 느립니다. |
RenderingDevice 지원이 없는 하드웨어에서 실행 |
✔️ 예. |
❌ 아니오. |
❌ 아니오. |
대상 플랫폼 |
모바일, 저사양 데스크톱, 웹. |
모바일, 데스크톱. |
데스크톱. |
데스크톱 |
✔️ 예. |
✔️ 예. |
✔️ 예. |
모바일 |
✔️ 예 (저사양). |
✔️ 예 (고사양). |
⚠️ 지원하지만 최적화가 형편없습니다. 대신 모바일이나 호환성을 사용하세요. |
XR |
⚠️ Supported, but not recommended. Use Mobile instead. |
✔️ Yes. Recommended for desktop and standalone headsets. |
⚠️ 지원하지만 최적화가 형편없습니다. 대신 모바일이나 호환성을 사용하세요. |
웹 |
✔️ 예. |
❌ 아니오. |
❌ 아니오. |
게임패드 |
✔️ 예. |
✔️ 네, 하지만 일반적으로 2D에서는 호환성이 충분합니다. |
✔️ 네, 하지만 일반적으로 2D에서는 호환성이 충분합니다. |
게임패드 |
✔️ 예. |
✔️ 예. |
✔️ 예. |
기능 태그 |
핵심 기능 |
기능 목록 |
애니메이션 설정 |
애니메이션 설정 |
✔️ 예. |
✔️ 예. |
✔️ 예. |
애니메이션 설정 |
✔️ 예. |
✔️ 예. |
✔️ 예. |
환경 옵션 |
❌ 아니오. |
⚠️ 예, 모바일 하드웨어에 따라 제한됩니다. |
✔️ 네. 모든 렌더링 기능이 지원됩니다. |
핵심 기능 |
⚠️ 호환성에 몇 가지 새로운 렌더링 기능이 추가되었습니다. Mobile 및 Forward+ 이후에 기능이 추가됩니다. |
✔️ 대부분의 새로운 렌더링 기능이 모바일에 추가되었습니다. 모바일은 일반적으로 Forward+와 마찬가지로 새로운 기능을 제공합니다. |
✔️ Forward+에 모든 새로운 기능이 추가되었습니다. 새로운 개발의 초점으로 Forward+는 기능을 먼저 얻습니다. |
렌더링 |
기본 비용은 낮지만 확장 비용은 높습니다. |
중간 기본 비용 및 중간 규모 확장 비용. |
기본 비용은 가장 높고 확장 비용은 낮습니다. |
렌더링 |
OpenXR |
Vulkan, Direct3D 12 또는 Metal. |
Vulkan, Direct3D 12 또는 Metal. |
빛과 그림자
자세한 정보는 3D 빛과 그림자를 참조하세요.
기능 |
호환성 |
모바일 |
Forward+ |
|---|---|---|---|
조명 접근법 |
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개. 늘릴 수 있습니다. |
전방위 조명(Omnidirectional lights). |
8 |
8 |
8 |
OmniLight 및 SpotLight용 PCSS |
지원됨 |
지원됨 |
지원됨 |
방향성 조명용 PCSS |
지원됨 |
지원됨 |
지원됨 |
행성 텍스처 만들기 |
지원됨 |
지원됨 |
지원됨 |
벡터 내장 타입
자세한 정보는 CGS 노드 소개를 참조하세요.
기능 |
호환성 |
모바일 |
Forward+ |
|---|---|---|---|
ReflectionProbe |
✔️ 지원됨, 메시당 2개. |
✔️ 지원됨, 메시당 8개. |
✔️ 지원, 무제한. |
라이트맵GI |
⚠️ 구운 라이트맵 렌더링이 지원됩니다. 베이킹에는 RenderingDevice를 지원하는 하드웨어가 필요합니다. |
지원됨 |
지원됨 |
복셀GI |
지원됨 |
지원됨 |
지원됨 |
SSIL(화면 공간 간접 조명) |
지원됨 |
지원됨 |
지원됨 |
SDFGI(부호 디스턴스 필드 글로벌 일루미네이션) |
지원됨 |
지원됨 |
지원됨 |
환경 및 후처리
자세한 정보는 환경 및 후처리를 참조하세요.
기능 |
호환성 |
모바일 |
Forward+ |
|---|---|---|---|
안개 (깊이와 높이) |
지원됨 |
지원됨 |
지원됨 |
체적 안개 |
지원됨 |
지원됨 |
지원됨 |
톤매핑 |
지원됨 |
지원됨 |
지원됨 |
스크린 공간 반사 |
지원됨 |
지원됨 |
지원됨 |
스크린 공간 앰비언트 오클루전(SSAO) |
지원됨 |
지원됨 |
지원됨 |
SSIL(화면 공간 간접 조명) |
지원됨 |
지원됨 |
지원됨 |
SDFGI(부호 디스턴스 필드 글로벌 일루미네이션) |
지원됨 |
지원됨 |
지원됨 |
빛번짐 |
지원됨 |
지원됨 |
지원됨 |
조정 |
지원됨 |
지원됨 |
지원됨 |
전체 화면 쿼드로 커스텀 후처리 |
지원됨 |
지원됨 |
지원됨 |
CompositorEffects로 커스텀 후처리 |
지원됨 |
지원됨 |
지원됨 |
안티앨리어싱
자세한 정보는 3D 안티앨리어싱을 참조하세요.
기능 |
호환성 |
모바일 |
Forward+ |
|---|---|---|---|
MSAA 3D |
지원됨 |
지원됨 |
지원됨 |
MSAA 2D |
지원됨 |
지원됨 |
지원됨 |
TAA |
지원됨 |
지원됨 |
지원됨 |
FSR2 |
지원됨 |
지원됨 |
지원됨 |
FXAA |
지원됨 |
지원됨 |
지원됨 |
SMAA |
지원됨 |
지원됨 |
지원됨 |
SSAA |
지원됨 |
지원됨 |
지원됨 |
화면 공간 거칠기 제한기 |
지원됨 |
지원됨 |
지원됨 |
StandardMaterial 기능
자세한 정보는 표준 재료 3D 및 ORM 재료 3D를 참조하세요.
기능 |
호환성 |
모바일 |
Forward+ |
|---|---|---|---|
Subsurface scattering |
지원됨 |
지원됨 |
지원됨 |
셰이더 기능
자세한 정보는 현재 씬 변경하기를 참조하세요.
기능 |
호환성 |
모바일 |
Forward+ |
|---|---|---|---|
화면 텍스처 |
지원됨 |
지원됨 |
지원됨 |
깊이 텍스처 |
지원됨 |
지원됨 |
지원됨 |
법선/거칠기 텍스처 |
지원됨 |
지원됨 |
지원됨 |
셰이더 계산 |
지원됨 |
⚠️ 지원되지만 구형 장치에서는 성능이 저하됩니다. |
지원됨 |
기타 기능
기능 |
호환성 |
모바일 |
Forward+ |
|---|---|---|---|
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 |
지원됨 |
지원됨 |
지원됨 |
가변 비율 셰이딩 |
지원됨 |
지원됨 |
지원됨 |
데칼 |
지원됨 |
지원됨 |
지원됨 |
입자 트레일 |
지원됨 |
지원됨 |
지원됨 |
입자 콜리전 |
지원됨 |
지원됨 |
지원됨 |
필드 블러의 깊이 |
지원됨 |
지원됨 |
지원됨 |
적응형 및 사서함 수직동기화 모드 |
지원됨 |
지원됨 |
지원됨 |
2D HDR 뷰포트 |
지원됨 |
지원됨 |
지원됨 |
HDR output |
지원됨 |
지원됨 |
지원됨 |
RenderingDevice 접근 |
지원됨 |
지원됨 |
지원됨 |