[셰이더/Unity] <유니티 URP 셰이더 그래프> 1

0시0분·2024년 9월 23일
0

셰이더

목록 보기
1/3

[유니티 쉐이더 스타트업]을 읽었었는데 읽던 당시에도 버전이 안맞아서 (사용 중인 유니티 버전이 높아서)
핑크 그래픽들과 무수히 싸워가며 예제를 실행했었다.

urp 버전 책을 사야겠다 생각하고 있었는데 운좋게 지인의 책을 빌릴 수 있어서 최대한 기록해가며 읽어보려 한다.

사실 기본 개념은 [유니티 쉐이더 스타트업]과 거의 동일해서 사실상 복습이 될 것 같다. 따라서 개념을 하나하나 적진 않을 것 같고, 우선 기본적인 것들만 이해해보려 한다.


0. 이전 버전(책)과의 차이점

이전 버전)

Surface Shader 에 대해 다룸. 비교적 간단한 코딩으로 구현 가능.
이 셰이더의 경우 유니티 2018버전이 나오면서 '빌트인 파이프라인' 으로 분류됨.

현재 버전 )

SRP(Scriptable Render Pipeline).

  • HDRP : 하이엔드 PC나 콘솔을 고려한 고품질의 템플릿
  • URP(=LWRP) : 모바일이나 VR 같은 성능 위주

버전이 올라가면서 스크립팅이 아닌
언리얼의 블루프린트나 유니티의 볼트 처럼 노드 블록들을 가지고
구현할수 있도록 변경된 듯. 👉 셰이더 그래프 (Shader Graph)

셰이더 그래프 )

HLSL 셰이더 기반의 비주얼 스크립팅.


1. 셰이더란?

쇠의 재질을 표현한다거나, 물에 반사되는 표면, 거친 표면 등 최종적으로 화면에 출력되는 픽셀의 정보를 결정하는 함수.

[유니티 쉐이더 스타트업] 에서는 파티클을 사용하면 부하가 큰 불꽃이나,
사람 얼굴의 주름 등을 직접 만들어내는 것이 아닌 셰이더를 씌워 그럴듯하게 보이게 처리했다.

책의 정의로는 데이터의 음영과 색상을 계산하여 다양한 재질을 표현하는 방법.


2. 랜더링 파이프라인 (Rendering Pipeline)

렌더링의 순서.
오브젝트 데이터 받아오기 : 버텍스 정보(위치, 노말, 색상, uv, 접선 등) 가져오기
버텍스(정점, Vertex) 셰이더 : 로컬 좌표계를 월드(=모델) 좌표계로 변환.
변환된 것을 다시 카메라(=뷰) 좌표계로 변환.
변환된 것을 원근감을 고려한 프로젝션 좌표계로 변환
레스터라이져 : 실제로 모니터에 출력하도록 함. 변환된 매쉬가 모니터에 표현될 때 어느 픽셀로 표현될 것인지를 나타냄.
모니터에 표시될수 있도록 3D 모델링을 2D 이미지화(픽셀화) 하는 것.
픽셀 셰이더, 프레그먼트 셰이더 : 조명과 텍스처, 그림자 등의 특수 효과를 연산.

0개의 댓글