반응형
SubShader
- 각 셰이더는 최소 한개의 SubShader를 가진다.
- 지원이 되는 API: SubShader가 실행됩니다.
- 지원이 되지 않는 API: Fallback 컴포넌트를 활용해 그래픽 에러 없이 실행이 될 수 있도록 합니다.
Shader "Unlit/Drawers"
{
Properties
{
...
}
SubShader
{
Tags { "RenderType"="Opaque" }
LOD 100
Pass
{
...
}
}
}
Tags
- 셰이더가 어떤방식으로 언제 진행되야할지 알려주는 라벨이다.
사용방식
- SubShader 내부에서 사용
- 모든 pass에 영향을 준다.
- pass 내부에서 사용
- 해당 pass만 영향을 받는다.
SubShader
{
1. Tags { "RenderType"="Opaque" }
LOD 100
Pass
{
// 2. Tags { "RenderType"="Opaque" }
...
}
Pass
{
...
}
}
RenderType
- surface가 어떻게 보일지 정의하는 Tag이다.
- 기본적으로 모든 surface는 “opaque(불투명)”이다.
Tags { "RenderType"="Opaque" }
Queue Tags
- 기본적으로 GPU에 컴파일되기에 코드에 표시가 되지 않는다.
- 오브젝트 프로세싱 순서와 관련되어있다.
Tags { "Queue"="Geometry" }
- GPU가 오브젝트를 그리는 순서
- 카메라에서 먼 물체 → 가까운 물체 순으로 그린다.
- 카메라의 Z축에 따라서 가깝고 먼 물체를 정의할 수 있다.
반응형
'Unity > Shader' 카테고리의 다른 글
Draw call은 무엇일까 (0) | 2022.04.04 |
---|---|
[Material property drawer(4)] PowerSlider , IntRange 사용하기 (0) | 2022.03.30 |
[Material property drawer(3)] Enum 사용하기 (0) | 2022.03.27 |
[Material property drawer(2)] KeywordEnum 사용하기 (0) | 2022.03.26 |
[Material property drawer(1)] Toggle 사용하기 (0) | 2022.03.25 |
댓글