[그래픽스] 정점 처리(Vertex Processing)

YEOM JINSEOP·2023년 11월 19일
0

Computer Graphics

목록 보기
6/14

GPU rendering

  • GPU는 polygon mesh를 입력으로 받아서,
    각각의 3차원 polygon을 스크린에 그려질 2차원 형태로 바꾸고,
    이 2차원 polygon 내부를 차지하는 pixel들의 색상을 결정한다.
    이 pixel은 color buffer에 기록되는데, 이는 스크린에 나타날 pixel 전체를 저장하는 메모리 공간을 말한다.
    color buffer는 주기적으로 스크린에 복사된다.

  • vertex는 program과 동의어다.
    GPU rendering을 위해서 vertex shader와 fragment shader 두 가지 프로그램을 작성해야한다.

  • rasterizer와 output merger는 하드웨어로 고정된 단계로, 정해진 연산을 수행한다.


  • vertex shader는 vertex arrat에 저장된 모든 vertx에 대해서 transform을 비롯한 다양한 연산을 수행한다.

  • rasterizer는 변환된 vertex들로 삼각형들을 조립한 후, 각 삼각형 내부를 차지하는 fragment를 생성한다.
    한 fragment는 color buffer의 한 pixel을 갱신하는 데 필요한 데이터를 총칭한다.

  • 예를 들어, 스크린에서 100개의 pixel을 차지하는 삼각형이 있다면,
    이 삼각형으로부터 총 100개의 fragment가 만들어진다.

  • rasterizer가 출력한 fragment는 하나하나 fragment shader로 입력되어,
    lighting과 texturing 작업을 거쳐 색상이 결정된다.

  • output merger는 이러한 fragment와
    현재 color buffer에 저장된 pixel 중 하나를 선택하거나 혹은 이들의 색을 결합하여,
    color buffer를 갱신한다.


    Vertex Shader

  • vertex shader가 수행하는 세 가지 transform

https://velog.io/@yeomjinseop/그래픽스-좌표계-변환-fx77xzxw

0개의 댓글

관련 채용 정보