OpenGL 기본용어

KJ LEE·2024년 1월 20일

들어가며

Opengl에 대한 기본 개념, rendering하는 로직, 방법등에 대해서 책, 예제를 정리하려고한다. 목표로 하고있는 책은 Opengl ES, Opengl를 이용한 3차원 컴퓨터 그래픽스 입문이다. 추가로 실무를 하면서 정리가 필요하다고 느끼는 부분도 공부하여 정리하려고 한다. 시작에 앞서 Opengl에서 사용하는 주요 용어와 용어에 대한 간단한 설명을 정리하려고 한다.

opengl basic terms

opengl을 하며 자주 접한 용어
: texture / vertex / buffer / framebuffer / VBO / VAO / FBO / shader / pipeline / program / fragment shader / vertex shader / compute shader

1. 영상 Data terms : source/destination

1. texture

  • input image 에 대한 좌표 정보 (input)
  • piepeline으로 볼때 이전 파이프라인의 output(vertex)는 다음 파이프라인의 input(texture)가 될 수 있다.

2. vertex

  • destination 화면에 대한 좌표 정보 (output)
  • 해당 정보는 결국 input 이미지의 결과를 최종 화면 어느 위치에 넣을 것인가를 의미하는 정보이다.

3. buffer

  • Opengl에서 buffer란 저장소/ 데이터를 저장하는 메모리 역할이라고 이해하면된다.
  • opengl이 실시간으로 rendering하는 과정에서 연산 데이터 저장을 buffer에 하고 이것을 다시 재연산을 한다고 이해하면된다.

4. frame buffer

  • texture -> vertex를 그릴때 결과적으로 화면에 그리기위해 저장되는 곳이 frame buffer가 된다. 즉, frame buffer에는 최종 화면에 rendering될 이미지에 대한 좌표, 색상 정보가 모두 포함되어야한다.
  • 1개의 pipeline 결과가 FBO에 저장된다. 이 결과는 다른 파이프라인의 input이 된다.

5. Vertex Buffer

  • Vertex data(좌표 정보들)를 저장하는 저장소를 의미

6. FBO / VBO / VAO

  • FBO: frame buffer object
  • VBO: Vertex buffer object
  • VAO: Vertex Array object

2. 영상 processing terms : shader / pipeline / program

1. shader

  • GPU 내부에서 병렬적으로 처리하는 로직을 shader로 정의하고 이 로직은 GPU내부에서 동시에 병렬처리된다.
  • 종류 : vertex shader / fragment shader / compute shader

    1) Vertex shader : 좌표정보들을 처리하는 shader
    2) frament shader : 색상 정보들을 처리하는 shader (color, alpha)
    3) compute shader : 수학적 연산에 특화된 shader

2. pipeline

  • 하나의 shader를 통해 처리되는 하나의 데이터 흐름을 의미한다. 즉, 파이프라인 형태로 병렬적으로 처리된다고 이해하면된다.
  • 1개의 pipeline 결과는 FBO에 저장된다.

3. program

  • shader를 엮어서 최종적으로 input(image) -> output(display) 으로 처리되는 하나의 묶음을 의미한다.
  • 종류 : computing program / graphics program

    1) computing program : compute shader로만 구성된 프로그램으로 연산에 특화됨.
    2) graphics program : vertex shader(좌표정보) + fragment shader (색상정보) 로 구성된 영상을 처리하는 프로그램.
    <주의> computing program에는 compute shader 이외의 다른 형태 shader linking이 불가능하다.

profile
불국사입니다

1개의 댓글

comment-user-thumbnail
2024년 1월 24일

불국사님 아주 정리를 잘 하시는군요.👍

답글 달기