유니티 쉐이더는 ShaderLab 이라고 불리는 자체 스크립트 언어을 이용하여, 
일반적인 코딩과 약간 다른 방식으로 작성되며 문법도 약간 다름

이렇게 자체 스크립트로 제작된 이유는 유니티의 특성과 상용자의 편의성 때문 (멀티 플랫품)
쉐이더는 그림자가 있을 때와 없을떄, 라이트맵이 있을 때와 없을 때 등 여러가지 의 수에 따라 제작방법이 달라짐


[ShaderLab을 이용한 제작 방식]

1. ShaderLab으로만 작성하기
- 매우 가볍고 하드웨어 호환성이 좋지만, 기능이 상당히 부족하기 때문에 고급효과를 기대하기 어려움

2. Surface Shader로 작성하기
- ShaderLab 스크립트와 일부분은 CG 쉐이더 코드를 사용하는 방법
- 기본 조명오드와 버텍스 쉐이더의 보잡한 부분은 스크립트를 이용하여 자동으로 처리되고 있고, 픽셀쉐이더 부분만 간편하게 작성할 수도 있어서 편함. 비주얼 쉐이더 에디터와도 상당히 비슷한 개념을 가지고 있어서, 초보자가 공부하기에 좋음
- 최적화에는 다소 무리가 있고, 일정 수준 이상의 고급 기법을 구현하기는 어려움
- 이 책은 서피스 쉐이더로 진행

3. Vertex & Fragment Shader로 작성하기
- 자동으로 처리해주는 부분이 별로 없어 제대로된 CG쉐이더 방식으로 버텍스의 좌표 변환부터 제대로 처리해야 작동함
- 완전히 수동으로 제어 할수 있어서 최적화와 고급 기법을 표현할때 좋음

'Unity > Shader' 카테고리의 다른 글

Function  (0) 2022.01.03
SubShader  (0) 2022.01.03
Properties  (0) 2021.12.24
기본 쉐이더 형태  (0) 2021.12.24
쉐이더 란 / 랜더링 파이프라인  (0) 2021.12.22

+ Recent posts