Godot은 GLES2 및 GLES3, 두 가지 렌더링 엔진을 지원합니다. 프로젝트를 시작할 때 GLES2 또는 GLES3 중에서 선택하고 가능한 경우 전환하지 않아야 합니다. 프로젝트는 이 두 렌더링 엔진 간에 전환할 수 있지만 전환하려면 추가 마이그레이션 작업이 필요합니다.
Android에서 이러한 렌더기는 각각 OpenGL ES 2.0 및 OpenGL ES 3.0 API를 사용합니다. GLES3 렌더기의 기능과 특징이 더욱 정교하며 GLES2 렌더기는 더 많은 Android 기기와 호환됩니다. 또한 렌더기는 동일한 입력 장면 데이터에 대해 약간 다른 시각적 출력을 생성합니다. 이러한 불일치는 GLES3 렌더기가 선형 색상 공간을 사용하는 반면 GLES2 렌더기는 색 공간을 사용하기 때문에 발생합니다.
렌더기 선택
GLES2
GLES2 렌더기는 그래픽 요구사항이 적당한 2D 또는 3D 프로젝트에 가장 적합하며 거의 모든 활성 Android 기기와 호환됩니다. 프로젝트가 구형 기기에서 제대로 실행 및 설계된 경우 이를 지원하는 GLES2가 가장 적합할 수 있습니다.
Android의 GLES2 렌더기에 있어 중요한 제한사항은 ETC1이라는 하나의 압축된 텍스처 형식만 지원된다는 점입니다. ETC1은 알파 채널을 지원하지 않습니다. 다른 엔진에서는 하나의 텍스처에는 색상 데이터가, 두 번째 텍스처에는 알파 채널 데이터가 포함된 이중 ETC1 텍스처를 해결 방법으로 사용할 수 있습니다. Godot은 이 작업을 하지 않습니다. Android에서 GLES2 렌더기를 사용하는 프로젝트는 알파 채널을 포함할 때 비압축 텍스처를 사용해야 합니다.
비압축 텍스처는 메모리를 훨씬 더 많이 사용하며 압축된 텍스처만큼 성능이 좋지 않습니다. 특히 리소스가 제한된 구형 기기는 큰 비압축 텍스처를 사용할 때 메모리 제한에 도달하는 등의 문제가 발생할 수 있습니다.
GLES2 렌더기에서 고급 렌더링 기능을 사용하지 못할 수 있습니다. GLES2 렌더기의 제한사항에는 다음이 포함되나 이에 국한되지 않습니다.
활성 실시간 조명당 성능 확장이 좋지 않습니다.
고화질 범위, 굴절 속성, 화면 공간 반사 또는 화면 공간 앰비언트 오클루전과 같은 렌더링 기능을 지원하지 않습니다.
셰이더 복잡도에 제한이 있습니다.
실시간 글로벌 일루미네이션 지원 기능이 없습니다.
입자에 대한 GPU 가속 지원 기능이 없습니다.
GLES3
GLES3 렌더기는 OpenGL ES 3.0을 지원하는 활성 Android 기기의 약 90%와 호환됩니다. 가장 오래된 활성 Android 기기에만 OpenGL ES 3.0 지원이 없습니다.
GLES3 렌더기는 모든 OpenGL ES 3.0 기기와 호환되지만 이전 기기는 허용되는 프레임 속도로 실행될 가능성이 작습니다. 일부 구형 기기에는 OpenGL ES 3.0 구현에 그래픽 드라이버 버그도 포함됩니다. Android의 GLES3 렌더기는 드라이버 버그가 제한적으로 완화되었습니다. 최신 기기에서는 이러한 문제가 크게 중요하지 않습니다.
GLES3 렌더기는 Android에서 ETC2 텍스처 압축 형식을 지원합니다.
ETC1과 달리 ETC2에서는 알파 채널이 지원됩니다.
이 페이지에 나와 있는 콘텐츠와 코드 샘플에는 콘텐츠 라이선스에서 설명하는 라이선스가 적용됩니다. 자바 및 OpenJDK는 Oracle 및 Oracle 계열사의 상표 또는 등록 상표입니다.
최종 업데이트: 2025-07-27(UTC)
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["필요한 정보가 없음","missingTheInformationINeed","thumb-down"],["너무 복잡함/단계 수가 너무 많음","tooComplicatedTooManySteps","thumb-down"],["오래됨","outOfDate","thumb-down"],["번역 문제","translationIssue","thumb-down"],["샘플/코드 문제","samplesCodeIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-07-27(UTC)"],[],[],null,["# Godot renderer options\n\nGodot supports two rendering engines: GLES2 and GLES3. You should choose\nbetween GLES2 or GLES3 when you start your project, and avoid switching if\npossible. Projects can switch back and forth between these two rendering\nengines, but switching requires additional migration work.\n\nOn Android, these renderers use the OpenGL ES 2.0 and OpenGL ES 3.0 APIs\nrespectively. The GLES3 renderer has more sophisticated capabilities and\nfeatures, while the GLES2 renderer is compatible with more Android devices. The\nrenderers also produce slightly different visual output for identical input\nscene data. This disparity is caused by the GLES2 renderer using a sRGB color\nspace while the GLES3 renderer uses a linear color space.\n\nChoosing a renderer\n-------------------\n\n### GLES2\n\nThe GLES2 renderer is most appropriate for 2D or 3D projects with modest graphic\nrequirements, and is compatible with virtually all active Android devices. If\nyour project is designed to run well on older devices, and you intend to support\nthem, GLES2 may be the best choice.\n\nAn important limitation of the GLES2 renderer on Android is that only one\ncompressed texture format is supported: ETC1. ETC1 doesn't support an alpha\nchannel. Other engines may use dual ETC1 textures as a workaround, with one\ntexture containing color data and a second texture containing the alpha channel\ndata. Godot doesn't do this. Projects using the GLES2 renderer on\nAndroid must use uncompressed textures when including an alpha channel.\nUncompressed textures use significantly more memory and don't perform as well as\ncompressed textures. Older devices with limited resources in particular may\nhave issues when using large uncompressed textures, including running into\nmemory limits.\n\nAdvanced rendering features might\nnot be available to the GLES2 renderer. Limitations of the\nGLES2 renderer include but are not limited to:\n\n- Poor performance scaling per active real-time light.\n- Lack of support for rendering features such as high-definition range, refraction properties, screen space reflections, or screen space ambient occlusion.\n- Restrictions on shader complexity.\n- Lack of real-time global illumination support.\n- Lack of GPU acceleration support for particles.\n\n### GLES3\n\nThe GLES3 renderer is compatible with the approximately 90% of active Android\ndevices that have OpenGL ES 3.0 support. Only the oldest of active Android\ndevices lack OpenGL ES 3.0 support.\n\nWhile the GLES3 renderer is compatible with\nany OpenGL ES 3.0 device, be aware that older\ndevices are less likely to run at acceptable\nframe rates. Some older devices also contain graphic driver bugs in their OpenGL\nES 3.0 implementations. The GLES3 renderer on Android has limited mitigations\nfor driver bugs. These issues are less of a concern on newer devices.\n\nThe GLES3 renderer supports the ETC2 texture compression format on Android.\nUnlike ETC1, ETC2 includes support for an alpha channel.\n\nFor more information, see the [Godot Documentation - Differences between GLES2 and GLES3](https://docs.godotengine.org/en/stable/tutorials/misc/gles2_gles3_differences.html)"]]