애니메이터

[Shader] #pragma... 구문 본문

Game Engine/Unity3D

[Shader] #pragma... 구문

욤마핫 2015. 4. 1. 19:43

Writing Surface Shader 에서는 다음과 같다.

#pragma surface ......... directive 이다.

 

아래와 같이 작성한다.

#pragma surface surfaceFunction lightModel [ optionalparams ]

 

surfaceFunctionvoid functionName(Input IN, SurfaceOutput o) 의 밑줄친 함수 이름이다.

lightModel 은 크게 세가지 유형이 있다.

1. Standard lighting

2. StandardSpecular lighting

3. Lambert, BlinnPhong

 

Optional Parameters

1. Transparency and alpha testing

2. Custom modifier functions

3. Shadows and Tessellation

4. Code generation options

5. Miscellaneous options

 

Writing Vertex and Fragment Shader 에서는 다음과 같다.

여러가지 많은데...다음에 작성하려고 하였으나 Unlit Shader를 만드려면 여기를 건드려야 하는것 같다.

Pass {
      // ... the usual pass state setup ...
     
      CGPROGRAM
      // compilation directives for this snippet, e.g.:
      #pragma vertex vert
      #pragma fragment frag

     
      // the Cg/HLSL code itself
     
      ENDCG
      // ... the rest of pass setup ...
  }