728x90
래스터 저장방식
이는 기본적으로 3D 모델을 화면에 픽셀로 렌더링하는 프로세스를 의미합니다. 래스터화란, 3차원 공간에서의 객체들을 2차원 화면에 표현하기 위해 필요한 작업들을 의미합니다.
OpenGL에서 래스터화는 다음과 같은 단계로 이루어집니다:
- 정점 처리(Vertex Processing): 래스터화 프로세스는 우선 3D 모델의 정점들을 처리합니다. 이 과정에서는 정점의 좌표를 변환하고, 조명, 텍스처, 카메라의 시점 등과 같은 다양한 효과들이 적용됩니다.
- 기하 처리(Geometry Processing): 정점 처리 이후, OpenGL은 이들 정점을 기하적으로 처리합니다. 이 과정에서는 정점들을 선, 삼각형 등의 기본 기하 요소들로 결합하고, 클리핑(화면 영역 밖의 기하 요소들을 제거) 등의 작업을 수행합니다.
- 래스터화(Rasterization): 기하 처리 후, OpenGL은 화면에 실제로 픽셀을 그리기 위해 래스터화 단계로 이동합니다. 이 과정에서, 기하 요소들은 화면 상의 픽셀로 변환됩니다. 이 과정에서는 대부분의 그래픽카드의 하드웨어 가속을 사용합니다.
- 픽셀 처리(Pixel Processing): 래스터화된 픽셀은 최종적으로 텍스처 매핑, 조명, 셰이딩 등과 같은 처리 단계를 거치게 됩니다. 이 단계에서 픽셀의 색상이 결정되고, 깊이 버퍼 등의 기능을 사용하여 깊이 및 투명도를 처리합니다.
이미지 -> 색상이 있는 사각형의 2차원 배열(ex) 엘레베이터 표시 화면)
Color Depth
색 깊이, 비트 깊이를 나타낸다. 더 많은 bit를 쓸 수록 더 좋은 품질이 나오지만 더많은 memory를 사용한다.
일반인은 200단계 생상차이를 인식한다. 그래서 2^8만큼 단계의 차이를 인식하기 때문에 1pixel 8bit를 사용한다.
Color Image
color image는 3color channels(RED, GREEN, BLUE)를 이용한다.
Color channel 마다 8bit를 사용한다. 1pixel =3 * 8bit로 24bit color 모델이라고한다. 반드시 24bit로 표현하는 것 은아님. 과거에는 메모리 자원이 중요해서 너 낮추기도 했음.
True Color System
3n = 24bit 현재 가장 많이 사용하는 LCD 모니터
HDRI
3B = 30bit 더 넓은 명도 범위 품질
RGBA color model
RGB + A(alpha channel)로 a는 투명도를 저장한다.
1pixel당 4n = 32bit
728x90
'OpenGL' 카테고리의 다른 글
[OpenGL] OpenGL와 GLM(OpenGL Mathematics) (0) | 2024.04.16 |
---|---|
[OpenGL] ※그래픽 파이프라인과 GLSL(ShaderProgram) (0) | 2024.04.03 |
[OpenGL] Delayed execution 지연실행와 glFlush, glFinish (0) | 2024.04.02 |
[OpenGL] Double buffering와 glfwSwapBuffers (0) | 2024.04.02 |
[OpenGL] GLAD 설치 및 사용법 (0) | 2024.04.01 |