Shader in Unity ( CG, ShaderLab, HLSL, GLSL )

Unity3D 2015. 1. 5. 11:56
반응형

Unity는 멀티 플렛폼 에디터 답게 다양한 기기에서 하드웨어를 지원하기 위해 많은 종류의 쉐이더를 지원한다.

따라서 쉐이더를 선택하기 곤란한 경우가 있다.


이에 각 쉐이더의 특징을 간략하게 분석해봤다.


GLSL 은 OpenGL 기반 쉐이더

HLSL 은 DirectX 기반 쉐이더


유니티에서 CG, 나 HLSL 로 쉐이더를 작성 할 경우 필요에 따라서 GLSL 로 자동 컨버팅이 가능

그러나 반대로 GLSL 로 작성 할 경우 다른 쉐이더로 자동 컨버팅이 안되 문제 발생 소지가 있음

Ex ) 윈도우의 웹브라우져에서는 GLSL 쉐이더를 지원하지 않음


그러나 GLSL 의 경우 모바일이나 특정 경우에 있어 다른 쉐이더보다 성능이 더 빠를 수 있음.

따라서 성능을 중시하고, 윈도우의 웹브라우져 지원이 필요하지 않다면 GLSL 쉐이더 사용도 고려해 볼 만 함.


ShaderLab 은 유니티 자체적으로 사용하는 쉐이더


CG, HLSL 은 서로 문법이나 작동이 거의 같음, 그러나 완전히 똑같지는 않음.



이상으로 각자 상황에 맞는 쉐이더를 선택하면 될듯.. 

반응형

'Unity3D' 카테고리의 다른 글

Unity3D Error building Player: UnityException: Can not sign application  (0) 2015.02.04
Vector3.Dot  (0) 2015.01.15
3D 렌더링 파이프 라인  (0) 2015.01.05
Doxgen과 Graphviz  (0) 2014.11.27
litJson에서 %문자가 파싱 되지 않는 현상  (0) 2014.11.26
: