렌더링 파이프라인

2023. 1. 4. 21:04컴퓨터 그래픽스/그래픽스 개념

화면에 이미지를 띄우기 위해서는 파이프라인을 지나는 구조로 되어있다.

그래픽스 파이프라인

화면에 찍을 점들을 vertex라고 하고 해당 vertex 3개가 만나 삼각형이 되는 기본 단위를 primitive라고 한다.

이런 primitive는 삼각형말고도 원, 구, 등 여러 모양으로 할 수 있는데 여기선 삼각형으로 한다.

 

vertex specification

이 단계에서 vertices의 리스트를 작성한다. 이 리스트가 primitive 삼각형을 정의하는 것이다. 

 

vertex shader

vertex들을 처리하는 과정이다. vertex shader의 목적은 vertex의 최종 목적지를 결정하는 것이다. 3차원 상의 위치 정보들이 2차원의 어디서 보이는지 이런 위치정보들을 결정하는 것이다. 

 

Tessellation

 

tessellation 과정은 option이다. 해당 과정은 픽셀을 조작하여 좀 더 부드러워지고 매끄럽게 해주는 효과를 가진다

https://www.youtube.com/watch?v=p_VpAMaxwpY

tessellation 있고 없고 차이를 보여주는 영상
geometry shader

 

이 단계도 option이며 이 단계는 primitive 데이터들이 들어와서 해당 데이터들을 정점을 없애거나 늘리거나 해서 더 많은 도형을 표현하는 단계이다. 

https://www.youtube.com/watch?v=V4UakVeat_4 

geometry shader 적용 영상
vertex processing

 

vertex shader들을 처리하는 과정 개발자가 할 수 있는 것이 없는 단계이다. 이 과정에서 여러 처리를 해준다.

 

  •  Clipping

clipping 이란 우리가 볼 화면의 크기나 범위를 우리가 정해주게 되는데 그 범위 밖의 그림들은 제거하는 과정이다.

예를 들어 3d 게임 속 세상에서 우리가 마우스 드래그를 뒤로하게 되면 원근법에 따라 점점 작아질텐데 일정 범위를 벗어나면 그리지 않게 되어서 사라지게 하는 것이다.

  •  Projection

위에서 말했던 원근법을 적용하는 과정이다.

 

primitive assembly

 

vertex들을 primitive 순서 규칙에 따라 모아주는 과정

 

Rasterization

 

primitive들을 화면에 나타내기 위해서는 pixel들로 근사시켜서 옮겨줘야하는데 그 과정이다.

 

Fragment shader

 

픽셀들에 색을 입히는 과정이다. 이 과정에서 빛이나 그림자들을 표현할 수 있고 텍스쳐를 입힐수도 있고 여러가지 일을 픽셀에 입혀서 할 수 있다.

 

 

 

 

'컴퓨터 그래픽스 > 그래픽스 개념' 카테고리의 다른 글

컴퓨터 그래픽스  (0) 2023.01.04