본문 바로가기

쉐이더

[유니티 쉐이더] LightMode / PassFlags 태그 정리

[유니티 쉐이더] LightMode / PassFlags 태그 정리


LightMode 태그

설명

Always

항상 렌더링 되며, 라이팅은 적용되지 않습니다.

ForwardBase

Forward rendering에서 사용되는 환경광, 주 지향성 라이트, 정점/SH 라이트, 라이트맵이 적용됩니다.

ForwardAdd

Forward rendering에서 사용되는 라이트마다 하나의 패스에서 Additive 픽셀 라이팅이 적용됩니다.

Deferred

Deferred Shading에서 사용됩니다; G버퍼를 렌더링합니다.

ShadowCaster

오브젝트를 쉐도우맵 또는 깊이 텍스처로 렌더링합니다.

 

PrepassBase

legacy Deferred Lighting에서 사용되며, 노멀과 반사 지수(specular exponent)를 렌더링합니다.

PrepassFinal

legacy Deferred Lighting에 사용되며, 텍스처, 라이팅 및 emission을 합성하여 최종적인 색상을 렌더링합니다.

Vertex

legacy Vertex Lit rendering에서 오브젝트가 라이트맵 되지 않은 경우에 사용되며, 모든 정점 라이팅이 적용됩니다.

VertexLMRGBM

legacy Vertex Lit rendering에서 오브젝트가 라이트맵 되고 있는 경우, 라이트맵이 RGBM 인코딩되는 플랫폼(PC & 콘솔)에서 사용됩니다.

VertexLM

legacy Vertex Lit rendering에서 오브젝트가 라이트맵 되고 있는 경우, 라이트 맵이 double-LDR 인코딩되는 플랫폼(모바일)에서 사용됩니다 .

 

PassFlags 태그

설명
OnlyDirectional 이 플래그를 ForwardBase 패스 타입에 사용하면 주 방향 광원과 앰비언트/라이트프로브 데이터만 셰이더에 전달됩니다. 따라서 중요하지 않은 광원의 데이터는 버텍스 라이트 또는 구면 조화 셰이더 변수에 전달되지 않습니다. 

 

사용예

// 주 방향 광원과 앰비언트/라이트프로브 데이터만 셰이더에 전달됩니다.
Tags { "LightMode"="ForwardBase" "PassFlags" = "OnlyDirectional" }

Comments