[Unity] URP 셰이더 픽셀 셰이더 5.0 샘플러 오류 해결법 (Sampler State 노드)
2023. 7. 14. 17:43ㆍUnity
728x90
반응형
셰이더를 만들다 보면, 많은 텍스쳐를 사용하여 오류가 날 수 있다. 매뉴얼에는 Direct3D 11은 한 셰이더에 최대 128개의 텍스쳐와 16개의 샘플러를 지원한다고 되어있지만, 샘플링이 API 한계를 넘어서면 콘솔 창에 다음과 같은 오류 문구가 나온다. "Shader error in 'Master': maximum ps_5_0 sampler register index (16) exceeded at line 358 (on d3d11)"
이 경우 샘플러 상태를 공유해서 사용하는 샘플링 수를 줄이면 된다.
- Linear: 텍스쳐가 화면에서 확대/축소될 때, 주변 픽셀과 블렌딩 되면서 부드러워진다.
- Point: 블렌딩 되지 않는다.
- Trilinear: Linear와 기본적으로 같지만 Mipmap 변화가 될 때 그 경계선에서도 부드럽게 보간하므로 좋은 퀄리티를 볼 수 있다.
[Wrap]은 UV의 0~1 범위를 넘어가는 텍스쳐를 어떻게 표현할지에 대한 세팅이다. Mirror Once의 경우 대부분의 모바일 GPU/API에서 지원하지 않고 Mirror로 대체된다.
[Sampler State] 노드를 각 텍스쳐 Sampler 부분에 공유하여 연결하니 오류가 해결되었다.
참고자료
728x90
반응형
'Unity' 카테고리의 다른 글
[Unity] URP 셰이더 Detail Map (0) | 2023.07.17 |
---|---|
[Unity] URP 셰이더 Height Map(Parallax Mapping) (0) | 2023.07.17 |
[Unity] URP 셰이더 무료 에셋을 이용한 Lit Shader Graph 정리 (Base Map/Metallic/Smoothness/Ambient Occlusion/Emission) (0) | 2023.07.13 |
[Unity] URP 셰이더 Vertex Color와 응용 (0) | 2023.07.12 |
[Unity] URP 셰이더 Time 노드로 움직이는 불 만들기 (0) | 2023.07.12 |