ShaderLab syntax: Pass

Pass 블록은 한 번에 그려지는 물체의 기하학을 야기합니다.

Syntax

Pass { [Name and Tags] [RenderSetup] [TextureSetup] }
기본 패스 명령은 사용하는 텍스쳐의 리스트에 의해 선택적으로 따르는 렌더 셋업 명령의 선택적인 리스트를 포함합니다.

Name and tags

패스는 그것의 NameTags의 임의적인 숫자를 정의합니다 – 렌더링 엔진에 패스의 의도를 전달하는 이름/값 스트링.

Render Setup

패스는 그래픽 하드웨어의 다양한 상태를 셋업합니다. 예를 들어 알파 블렌딩이 켜져야 하고 연기가 사용되야 하는 등등. 명령은 이것들과 같습니다:

Material { Material Block }
정점 조명 파이프라인에서 사용하는 재질을 정의합니다. 자세한 내용을 위해서 material page을 참고 합니다.
 
Lighting On | Off
정점 조명을 켜거나 끄는 것을 세팅합니다. 자세한 내용을 위해서 material page을 참고 합니다.
 
Cull Back | Front | Off
다각형 culling 모드를 세팅합니다.
 
ZTest (Less | Greater | LEqual | GEqual | Equal | NotEqual | Always)
깊이 테스팅 모드를 세팅합니다.
 
ZWrite On | Off
깊이 쓰기 모드를 세팅합니다.
 
Fog { Fog Block }
연기 파라미터를 세팅합니다.
 
AlphaTest (Less | Greater | LEqual | GEqual | Equal | NotEqual | Always) CutoffValue
알파 테스팅을 합니다.
 
Blend SourceBlendMode DestBlendMode
알파 블렌딩 모드를 세팅합니다.
 
Color Color value
정점 조명이 꺼지지 위해서 사용하는 색상을 세팅합니다.
 
ColorMask RGB | A | 0 | any combination of R, G, B, A
색상 쓰기 마스크를 세팅합니다. ColorMask 0 쓰는 것은 모든 색상 채널로 렌더링하는 것을 끕니다.
 
Offset OffsetFactor , OffsetUnits
깊이 오프셋을 세팅합니다.
 
SeparateSpecular On | Off
정점 조명을 위한 별개의 반사적인 색상을 크거나 끕니다. 자세한 내용을 위해서 material page 살펴봅니다.
 
ColorMaterial AmbientAndDiffuse | Emission
정점 조명을 계산할 때 꼭지점 당 색상을 사용합니다. 자세한 내용을 위해서 material page 살펴봅니다.

Texture Setup

렌더 상태를 셋업한 후에 사용자는 SetTexture 명령을 사용하는 것을 적용하기 위해서 많은 텍스쳐를 지정할 수 있고 그들의 결합 모드도 지정할 수 있습니다:

SetTexture texture property { [Combine options] }

텍스쳐 셋업은 고정 함수 멀티텍스쳐링 파이프라인을 구성하고 사용자 정의 fragment shaders 사용되면 무시됩니다.

Details

Per-pixel Lighting

픽셀당 조명 파이프라인이 다수의 패스에서 물체를 렌더링하는 것에 의해 작동합니다. Unity는 주변의 그리고 정점 조명을 얻기 위해 물체를 한 번 렌더합니다. 그 후에 그것은 별개의 첨가적인 패스에서 물체에 영향을 주는 각 픽셀 조명을 렌더합니다. 자세한 내용을 위해서는 Render Pipeline 살펴보시기 바랍니다.

Per-vertex Lighting

꼭지점 당 조명은 각 꼭지점을 위해 계산되는 기본적인 Direct3D/OpenGL 조명 모델입니다. 조명은 켜집니다. 조명은 Material block, ColorMaterial 그리고 SeparateSpecular 명령에 의해 영향을 받습니다. 자세한 내용을 위해서는 material page 살펴보시기 바랍니다.

See Also

공통적인 기능 또는 다양항 고도의 효과를 구현하기 위한 몇 개의 특별한 패스가 가능합니다:

  • UsePass 또 다른 쉐이더로 부터 이름지어진 패스를 포함합니다.
  • GrabPass 다음의 패스에서의 사용을 위해서 텍스쳐로 스크린의 내용을 얻습니다.

'TA > Unity Shader 레퍼런스' 카테고리의 다른 글

SurfaceShaders  (0) 2012.07.26
한방에 모아보는 레퍼런스  (1) 2012.07.20
Category  (0) 2012.07.18
SubShader Tags  (0) 2012.07.18
GrabPass  (0) 2012.07.18
Posted by 프리랜서 디자이너