본문 바로가기
Unity/Shader

ShaderLab 알아보기

by 호아나트 2022. 3. 31.
반응형

SubShader

  • 각 셰이더는 최소 한개의 SubShader를 가진다.
  • 지원이 되는 API: SubShader가 실행됩니다.
  • 지원이 되지 않는 API: Fallback 컴포넌트를 활용해 그래픽 에러 없이 실행이 될 수 있도록 합니다.
Shader "Unlit/Drawers"
{
    Properties
    {
    ...
    }
    SubShader
    {
        Tags { "RenderType"="Opaque" }
        LOD 100

        Pass
        {
           
           ...
        }
    }
}

Tags

  • 셰이더가 어떤방식으로 언제 진행되야할지 알려주는 라벨이다.

사용방식

  1. SubShader 내부에서 사용
    1. 모든 pass에 영향을 준다.
  2. pass 내부에서 사용
    1. 해당 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축에 따라서 가깝고 먼 물체를 정의할 수 있다.
반응형

댓글