컴퓨터 그래픽스 란?
컴퓨터를 이용해서 이미지/애니메이션을 만들어내는 모든 기술을 의미한다.
픽셀 < 래스터 < 프레임 버퍼
래스터 시스템
래스터는 픽셀의 2차원 배열이다.
래스터 시스템은 컴퓨터 그래픽스 및 이미지 처리에서 사용되는 일반적인 방법론입니다. 래스터(raster)란 이미지를 표현하는 데 사용되는 픽셀(pixel) 그리드를 의미합니다. 각 픽셀은 이미지의 색상, 밝기 또는 다른 속성을 나타내며, 이러한 속성은 일반적으로 비트맵(bitmap) 형식으로 저장됩니다.
래스터 시스템은 이미지를 표현하고 편집하는 데 사용되며, 일반적으로 디스플레이, 프린터 및 다른 출력 장치에서 이미지를 렌더링 하는 데에도 사용됩니다. 래스터 시스템에서 이미지는 픽셀의 배열로 저장되며, 각 픽셀의 색상 값이나 다른 속성은 해당 픽셀의 위치에 따라 결정됩니다.
대부분의 디지털카메라, 모니터, 프린터 및 그래픽스 소프트웨어는 래스터 기반 시스템을 사용합니다. 이는 픽셀 단위로 이미지를 처리하고 표시함으로써 고해상도 이미지 및 다양한 색상을 효과적으로 처리할 수 있게 합니다.
반면, 래스터 시스템의 단점 중 하나는 이미지를 확대하거나 축소할 때 이미지의 품질이 손상될 수 있다는 것입니다. 이는 이미지가 픽셀 단위로 저장되기 때문에 발생하는 문제로, 이를 극복하기 위해 벡터 그래픽스와 같은 다른 방법론이 사용될 수 있습니다.
프레임버퍼란?
프레임 버퍼를 변경하여 화면을 출력한다.
프레임 버퍼는 화면(디스플레이)과 1대 1 대응 관계로 무한루프를 돌게 된다.(화면 출력을 지속적으로 하기위해)
프레임 버퍼는 쉽게 말해 화면에 나오는 부분을 그대로 저장하는 것으로 픽셀을 저장한 메모리 영역을 뜻 하며 이렇게 프레임 버퍼에 저장한 픽셀들이 LCD모니터 같은 디스플레이에 바로 나오도록 만들어 놓은 것이 지금의 그래픽 카드이다.
프레임 버퍼(Frame Buffer)는 컴퓨터 그래픽스에서 화면에 표시할 이미지를 저장하는 메모리 영역입니다. 이는 그래픽 카드나 디스플레이 장치에서 사용되며, 현재 화면에 무엇을 표시해야 하는지를 나타내는 중요한 역할을 합니다.
프레임 버퍼는 일반적으로 래스터 방식의 그래픽 처리에서 사용됩니다. 즉, 이미지가 픽셀 단위로 처리되고 표시될 때 사용됩니다. 프레임 버퍼는 디스플레이의 각 픽셀에 대한 색상 정보 및 다양한 그래픽 속성을 저장합니다.
일반적으로 프레임 버퍼는 픽셀의 RGB 값, 알파(투명도) 값 등의 정보를 포함하고 있습니다. 이 정보는 화면에 표시되는 이미지의 각 픽셀에 대한 색상 및 투명도를 결정하는 데 사용됩니다.
프레임 버퍼는 그래픽 애플리케이션에서 그래픽 데이터를 생성하고 처리한 후 최종 이미지를 생성하는 데 사용됩니다. 이후 이 이미지는 화면에 표시되기 전에 디스플레이 장치로 전송됩니다. 때때로 두 개 이상의 프레임 버퍼가 사용되어 더욱 복잡한 그래픽 처리를 수행하거나 더 많은 효과를 구현할 수 있습니다.
합성카메라 모델기법이란?
합성 카메라 모델은 컴퓨터 그래픽스 및 컴퓨터 비전 분야에서 사용되는 기법 중 하나입니다. 이 모델은 가상 세계를 만들거나 실제 세계를 모방하기 위해 여러 개의 그래픽 요소를 합성하는 방법을 제공합니다.
합성 카메라 모델은 실제 세계의 카메라 동작을 모방하여 가상 세계에 있는 객체를 보는 것처럼 보이도록 설계됩니다. 이 모델은 다양한 요소를 고려하여 가상 카메라의 시점, 위치, 방향, 렌즈 특성 등을 결정합니다.
주요 개념 및 요소는 다음과 같습니다.
- 시점(Point of View): 합성된 이미지에서 관찰자의 시점을 나타냅니다. 시점은 가상 카메라의 위치와 방향을 결정하는 중요한 요소입니다.
- 투영(Projection): 3D 객체를 2D 이미지로 변환하는 과정을 나타냅니다. 이는 가상 카메라의 시점에서 보이는 것을 화면에 투영하여 표시합니다.
- 렌즈 특성(Lens Characteristics): 실제 카메라의 렌즈와 유사한 특성을 나타냅니다. 이러한 특성은 초점 거리, 시야각, 왜곡 등을 포함할 수 있습니다.
- 광학 효과(Optical Effects): 렌즈 특성 외에도, 빛의 반사, 굴절, 그림자 등과 같은 광학 효과를 고려하여 실제와 유사한 이미지를 생성합니다.
- 렌더링(Rendering): 합성된 이미지를 만들기 위해 3D 모델과 가상 환경을 렌더링 하는 과정을 의미합니다.
합성 카메라 모델은 가상 혹은 실제 환경에서 다양한 시뮬레이션 및 시각화 작업에 사용됩니다. 이를 통해 가상현실, 게임, 영화 제작, 시뮬레이션 등 다양한 분야에서 현실적인 이미지를 생성할 수 있습니다.
렌더링?
컴퓨터를 사용해요 사실적인 그림을 만들어내는 기법으로 저장된 데이터로 사실적 이미지를 만들어내는 특별한 소프트웨어이다.
렌더링(Rendering)은 컴퓨터 그래픽스에서 3D 모델이나 장면을 2D 이미지로 변환하는 과정을 말합니다. 이는 가상 세계를 시각적으로 구성하고 표현하기 위해 사용됩니다. 렌더링은 컴퓨터 그래픽스에서 중요한 단계 중 하나이며, 최종적으로 사용자에게 보이는 이미지의 품질과 현실성에 큰 영향을 미칩니다.
렌더링 과정은 다음과 같은 단계로 구성됩니다.
- 모델링(Modeling): 먼저, 3D 모델링 소프트웨어를 사용하여 객체나 장면의 3D 모델을 만듭니다. 이 모델은 정점(Vertex)과 다각형(Polygon)으로 구성됩니다.
- 장면 설정(Scene Setup): 렌더링 할 장면의 설정을 구성합니다. 이 단계에서는 빛의 위치와 특성, 재질(Material)의 표면 속성, 카메라의 시점 및 특성 등을 정의합니다.
- 렌더링 파이프라인(Rendering Pipeline): 렌더링 파이프라인은 모델링 된 객체를 화면에 투영하는 과정을 담당합니다. 이 과정에는 변환(Transformations), 투영(Projection), 클리핑(Clipping), 레스터화(Rasterization) 등이 포함됩니다.
- 쉐이딩(Shading): 렌더링 된 객체의 표면에 색상, 반사, 그림자 등의 시각적 효과를 부여하는 과정입니다. 이는 조명과 재질 속성을 기반으로 수행됩니다.
- 렌더링 결과물 출력(Output): 최종적으로 렌더링 된 이미지가 디스플레이에 출력되거나 파일로 저장됩니다.
'OpenGL' 카테고리의 다른 글
[OpenGL] Double buffering와 glfwSwapBuffers (0) | 2024.04.02 |
---|---|
[OpenGL] GLAD 설치 및 사용법 (0) | 2024.04.01 |
[OpenGL] GLEW 설치 및 적용 방법 (glew32.dll 오류해결) (0) | 2024.03.29 |
[OpenGL] GLFW 설명과 설치 (0) | 2024.03.29 |
[OpenGL] OpenGL특성 및 유용한 라이브러리 (0) | 2024.03.25 |