[유니티 쉐이더 스타트업] Part 02 | 쉐이더를 익히기 위한 기반 지식들

jungizz_·2023년 1월 24일
0

Unity Shader StartUp

목록 보기
2/17
post-thumbnail

1. 랜더링 파이프라인 (랜더링 순서)

  1. 오브젝트 데이터 받아오기
    • 그래픽카드는 vertex로 이루어진 물체의 데이터값을 받아온다.
    • vertex는 index number, postition, normal, color등의 정보를 가짐

  2. 정점 쉐이더 (Vertex Shader)
    • 카메라에서 물체를 볼 수 있도록 변환하는 과정
    • Model(Local) Coordinates -> World Coordinates -> Camera Coordinates
      • 로컬좌표계MC월드 변환 행렬과 곱해 월드좌표계WC로 변환하고
      • 카메라 행렬(View, Orthographic Projection)과의 곱을 통해 카메라 좌표계CC로 변환하여 카메라의 중심점에서 얼마만큼 떨어져있는지를 표현
      • 그 뒤 프로젝션 행렬을 곱해 카메라에서 먼 곳은 좁혀진 것 처럼 원근감 부여 (Perspective projection인 경우에만 진행, Orthographic projection에서는 X)
    • 텍스쳐, 음영이 없는 폴리곤 오브젝트를 단지 3D공간에 생성

☑️유니티에서는 이렇게 부른다

  • 로컬좌표계: 오브젝트(Object) 좌표계
  • 월드좌표계: 모델(Model)
  1. 래스터라이져 (Rasterizer)
    • 모니터에 오브젝트를 표현해주는 과정 (오브젝트가 어느 픽셀로 표현될 것인지를 나타냄)
    • 3D 오브젝트를 2D 픽셀 이미지(raster image)로 변환 (픽셀화)
    • 매 프레임마다 진행됨

  2. 픽셀쉐이더(Pixel shader) / 프레그먼트 쉐이더(Fragment shader)
    • 조명과 텍스쳐, 그림자 등 각종 특수효과등을 연산

2. 가산혼합

  • 모니터에 표현되는 색과 빛의 기본원리
  • RGB로 이루어진 색을 더하면 더할수록 밝아지고, 모두 더하면 흰색이 되는 색의 체계
profile
( •̀ .̫ •́ )✧

0개의 댓글

관련 채용 정보