[ Render Texture _ (Inspector) Depth Stencil Format ]
Depth Stencil Format은 렌더링 과정에서 깊이와 스텐실 정보를 저장하는 포맷을 설정하는 옵션.
렌더링 품질과 성능을 조절할 수 있음.
1. 깊이 정보 저장
- 깊이 버퍼는 장면의 각 픽셀에 대한 깊이 정보를 저장하여 물체의 앞뒤 관계를 결정.
- 카메라는 어떤 물체가 앞에 있고 어떤 물체가 뒤에 있는지를 알 수 있음.
2. 스텐실 정보 저장:
- 스텐실 버퍼는 특정 픽셀에 대한 추가 정보를 저장
- 특정 렌더링 효과를 구현할 수 있으며, 예를 들어 특정 영역에만 그림자를 적용하거나 특정 객체를 마스킹하는 데 활용.
[스텐실] 컴퓨터 그래픽스에서 특정 픽셀에 대한 추가 정보를 저장하고 렌더링 효과를 제어하는 데 사용되는 개념. - 마스킹 : 특정 영역에만 렌더링 효과를 적용하거나 생략 가능. (예: 특정 오브젝트에만 그림자 적용.) - 그림자 처리 : 스텐실 정보를 사용하여 그림자를 계산하고, 어떤 픽셀이 그림자를 받아야 할지를 결정. - 효과 제어 :반사, 투명도 조절 등 다양한 그래픽 효과 구현에 활용. - 성능 최적화 : 불필요한 렌더링 작업을 줄여 성능 향상. 특정 영역을 건너뛰고 렌더링할 필요가 없는 경우 처리. - 저장 방식 : 일반적으로 8비트로 저장되며, 각 픽셀에 대해 다양한 값을 가짐. 이를 통해 복잡한 장면에서 다양한 렌더링 효과를 효과적으로 구현할 수 있음. |
* D16_UNORM : 16비트 깊이 정보로 각 픽셀의 깊이를 저장.
메모리 사용량이 적고 성능이 좋지만, 깊이 정밀도가 낮아 복잡한 장면에서 아티팩트 발생 가능.
* D24_UNORM : 24비트 깊이 정보를 제공하여 더 높은 정밀도.
깊이 버퍼에서 더 많은 정보를 처리할 수 있어 복잡한 장면에서 성능 향상.
* D24_UNORM_S8_UINT : 24비트 깊이 정보와 8비트 스텐실 정보를 결합.
깊이와 스텐실 정보를 함께 사용할 경우 유용.
* D32_SFLOAT : 32비트 부동소수점 깊이 정보를 제공.
매우 높은 정밀도가 필요할 때 사용되며 큰 거리 범위 처리 가능.
* D32_SFLOAT_S8_UINT : 32비트 부동소수점 깊이 정보와 8비트 스텐실 정보를 결합.
깊이와 스텐실 모두 높은 정밀도가 필요할 때 유용.
* S8_UINT : 8비트 스텐실 정보만 제공.
깊이 정보가 필요 없는 경우 스텐실 버퍼만 사용할 때 사용.
* D16_UNORM_S8_UINT : 16비트 깊이 정보와 8비트 스텐실 정보를 결합.
메모리 사용량을 줄이면서도 기본적인 깊이 및 스텐실 처리 가능.
[ D32_SFLOAT_S8_UINT 저사양 폰에서 이미지 보이지 않는 이슈 ]
- 스텐실 버퍼를 처리하는 과정에서 문제가 발생했을 가능성이 높음.
- 저사양 기기에서는 불필요한 스텐실 정보를 제외한 D32_SFLOAT 포맷이 더 안정적이고 성능이 좋을 수 있음.
* D32_SFLOAT
- 32비트 부동소수점 깊이 정보만 사용.
- 깊이 정밀도가 매우 높아 넓은 거리 범위에서도 정확한 깊이 값을 제공.
- 스텐실 정보가 필요 없는 경우에 적합.
* D32_SFLOAT_S8_UINT
- 32비트 부동소수점 깊이 정보와 8비트 스텐실 정보를 함께 사용.
- 스텐실 정보는 특정 렌더링 효과(예: 마스킹, 그림자)에 사용되며, 이 정보를 필요로 하는 경우 유용.
- 저사양 기기에서는 스텐실 버퍼 처리로 인해 성능 저하나 호환성 문제를 일으킬 수 있음.
'디지털 > Unity' 카테고리의 다른 글
게임 성능 최적화 '드로우 콜'? 무대 뒤 숨겨진 연출가의 외침 (0) | 2025.03.25 |
---|---|
[Unity] 2D Sprite & Image 랜더링 우선순위 설정 (0) | 2025.03.06 |
[Unity] Textmesh Pro (텍스트 메쉬 프로) (0) | 2025.03.05 |
[Unity] PrefabLightmapping Script (배경프리펩 라이트맵) (0) | 2025.03.05 |
[Unity] Scene View 에서 오브젝트 선택 안될 때, 해결방법 (0) | 2025.03.04 |