Shader - 2

Youngmin Choi·2021년 10월 13일
0

Shader

목록 보기
5/5
post-thumbnail
  • 버텍스 쉐이더 : 그려질 위치를 결정.
  • 프래그먼트 쉐이더 : 칠할 색을 결정.

1. 버텍스 쉐이더

  • 주어진 꼭지점(정점)에 대해서 대응되는 화면상의 정점을 출력하는 함수이자 프로그램이다.
    ex) 3D상에 존재하는 것을 => 화면상 위치로 변환
    현실 물체 => 종이 위에 스케치

Q. 그렇다면 버텍스 쉐이더가 필요한 이유는?

  • 현실의 물체가 아무리 동일한 형태로 존재한다 하더라도 어느 각도에서 어떻게 바라보느냐에 따라서 종이 위에 어떻게 그릴지를 결정하고 (밑그림을) 그려야지 색을 칠할 수 있기 때문에 필요하다!



    => 현실에서의 물체의 꼭지점이 종이 위에 어떻게 그려질지(배치될까) 결정한다!

2. 프래그먼트 쉐이더

  • 순서 : 버텍스 쉐이더 => 레스터라이져 => 프래그먼트(픽셀)셰이더
  • 밑그림이 완성된 그림을 받아서 그 위에 색만 칠하는 작업을 한다!
    (최종 출력 될 픽셀의 색을 결정한다! 색칠할 대상의 위치는 결정하지 못한다.)

  • 쉐이더GPU의 병렬성을 이용한 언어이다.
    ex) n개의 입력이 있다면?
    n개의 입력을 받으면 한 번에 하나의 정점만 받고 하나씩 처리하는 것이 아니라, 여러개를 동시에 n개 처리하는 방식으로 이루어진다!


    즉, n개 입력 => 정점 쉐이더 n번 실행(하나씩 입력) => 결과물 n개(출력)
  • 삼각형을 받았다.
  • 3개의 정점을 따로따로 받는다.
  • 제 각각 출력된다. (3개)
profile
Always, Continually, In all circumstance

0개의 댓글