본문 바로가기
그래픽/Opengl

[Graphic] 그래프 파이프라인

by jod2 2023. 1. 24.
반응형

<프로그램 영역>

1. Application

- Opengl 함수를 호출하는 프로그램 영역

- 그리고 싶은 정점의 위치 /색상 등을 입력한다.

- 3D의 그래픽의 오브젝트 단위는 삼격형이고 2D의 그래픽의 오브젝트는 단위는 픽셀이다.

- 삼각형인 이유는 픽셀인 이라면 정교한 오브젝트를 만들 때 그래픽 리소스가 너무 많이 들고 가상의 카메라로 어떠한 위치에 배치될지 계산하기가 용의하다

 

<GPU 영역>

2. Geometry Processting

정점 단위의 처리. 정점의 위치 결정

3. Rasterization

정점 단위로 구성된 삼각형을 픽셀 단위로 결정

4. Pixel Processing

각 픽셀의 단위를 처리하여 픽셀의 색상을 결정

 

하지만 각 GPU안에서 돌아가는 작은 프로그램(Shader Programe)을 처리하여 GPU를 조금 제어할 수 있음

Opengl 3.3 이후에는 Vertex shader와 Framgment shader는 반드시 필수로 작성해야 한다.

# Programmable shader

- Shader: 각 파이프라인 단계마다 GPU 상에서 실행되는 작은 프로그램 

- GLSL(GL Shading Language)라는 C기반 프로그래밍 언어로 작성

 

# Shader 코드의 빌드 방법

1. 일반적으로, Opengl 코드 내에서 빌드 / 로딩됨

2. 미리 빌드한 뒤 로딩하는 방법: SPIR-V 이용 

 

반응형

댓글