쉐이더는 기능과 용도에 따라 여러 종류로 나뉨
1. 버텍스 쉐이더(Vertex Shader)
- 3D 모델의 각 정점(버텍스)을 처리
- 주요 용도: 정점 변형, 스키닝(캐릭터 애니메이션), 모델 변형등
2. 프래그먼트 쉐이더(Fragment Shader)
- 픽셀의 최종 색상을 결정
- 주요 용도: 텍스처 매핑, 라이팅 계산, 특수 효과 적용등
3. 지오메트리 쉐이더(Geometry Shader)
- 기존 도형을 수정하거나 새로운 도형을 생성
- 주요 용도: 파티클 효과, 모발이나 풀 랜더링 등
4. 컴퓨트 쉐이더(Compute Shader)
- GPU에서 병렬 연산 수행
- 주요 용도: 물리 시뮬레이션, 대량의 데이터 처리
5. 테셀레이션 쉐이더(Tessellation Shader)
- 기존 도형을 더 작은 조각으로 분할
- 주요 용도: 동적 LOD(Level Of Detail), 지형 랜더링 등
특정 용도에 따른 쉐이더 예
1. PBR 쉐이더(Physically Beased Rendering Shader)
- 물리적으로 정확한 라이팅과 재질을 시뮬레이션
- 용도: 사실적인 재질 표현(금속, 플라스틱, 나무 등)
2. 포스트 프로세싱 쉐이더(Post-processing Shader)
- 랜더링된 이미지에 추가적인 효과를 적용
- 용도: 블룸효과, 모션 블러, 색상 보정등
3. 비 포토리얼리스틱 쉐이더(Non-photorealistic Shaer)
- 만화나 회화같은 스타일화된 랜더링 구현
- 용도: 셀 쉐이딩, 윤곽선 랜더링 등
4. 파티클 쉐이더(Particle Shader)
- 다량의 작은 객체들을 효율적으로 랜더링
- 용도: 불, 연기, 물방울 등 효과
5. 환경 쉐이더(Environment Shader)
- 대규모 환경을 효율적으로 랜더링
- 용도: 하늘, 물, 지형 등의 랜더링
다양한 종류의 쉐이더를 이해하고 적절히 사용함으로써, 게임, 그래픽 애플리케이션에서 원하는 시각적 효과를 효율적으로 구현 가능
'유니티 > 쉐이더' 카테고리의 다른 글
[3일차] 기본 노드 이해 및 사용법 학습 (0) | 2024.10.04 |
---|---|
[3일차] (0) | 2024.10.03 |
[2일차] 색상 이론 (0) | 2024.10.02 |
[1일차] 빛의 상호작용 원리 학습 (0) | 2024.09.26 |
[1일차] 랜더링 파이프 라인과 쉐이더 (1) | 2024.09.26 |