본문 바로가기

IT/Column

컴퓨터 그래픽 관련 용어들

컴퓨터 그래픽 관련 용어들 



- Alpha Value(알파값) : 

색의 투명도를 나타내는 값으로 오픈GL에서는 1.0f가 불투명, 0.0f가 투명을 나타낸다. 예를 들어 알파값이 0.0f인 빨간 색을 하얀 색 배경에 칠하면 하얀 색이 유지되지만, 1.0f인 빨간 색을 칠하면 배경의 하얀 색이 없어지고 빨간 색만 남는다. 알파값이 0.5f인 빨간 색을 칠하면 빨강과 흰색의  중간인 분홍색이 된다. 


- Antialiasing (앤티앨리어싱) : 

그림의 경계부위에서 울툴불퉁한 부분이 생기는 계단현상을 완화하기 위해  각 화소의 중간색을 경계에 뿌려 부드럽게 만드는 기법 


- Blending(블렌딩) : 

두개의 색상을 하나의 색상으로 합치는 것.  알파값에 따라서 배경색과 전경색을 합치는 것이 블렌딩의 예이다. 


- Double Buffering(더블버퍼링) : 

애니메이션의  다음 장면을 화면에 직접 렌더링하게 되면 렌더링의  중간과정이 보여면서 화면이 깜빡거리는 현상이 생긴다. 더블버퍼링이란 이런 문제를 해결하기 위해서  화면에 보이지 않는 버퍼를 설정하고 버퍼에서 렌더링이 끝난  장면을 한번에 화면으로 옮기는 기법을 말한다. 


- Indexed Color(인덱스컬러) : 

사용할 수 있는 색상 수가 정해져 있는 색상모델. 천연색상은 메모리를 지나치게 많이 사용하기  때문에 많이 쓰이는 일부색상에만 번호를 붙여(indexed)사용하는 것을 말한다. 


- Motion Blur(모션블러) : 

실감있는 애니메이션을 보이도록 하기 위해 동작의 잔상이 남도록 하는 기법. 


- Polygon(폴리곤) : 

세개 이상의 선분을 연결하여 만든 도형(다각형)이며 3차원 그래픽에서 물체를 생성하는 기본이 된다. 


- Rendering(렌더링) : 

디지털 데이터로 저장된 이미지 정보를 화면 등에 출력하기 위한 비트맵  이미지로 바꾸는 과정으로 특히 3차원 그래픽 프로그램에서  미리 지정된 색상, 재질, 그림자, 움직임 등을 이용해 최종 이미지를 만드는 것을 말한다.

 

- Rendering Context(렌더링 컨텍스트) : 

윈도용 오픈GL에서 화면에 렌더링을 하기 위해 필요한 정보를  모아놓은 자료구조이다. 윈도 프로그램이 윈도에 그림을 그리기 위해서 디바이스 컨텍스트를  이용해야 하듯 오픈GL로  렌더링을 하기 위해서는 RC를 이용해야 한다.

 

- RGB Color(알지비 컬러) : 

빛의 삼원색인 빨강(R), 녹색(G), 파랑(B)의 값을 이용해 색상을 지정하는 방법 


- Texture Mapping(텍스처 매핑) : 

3차원 면의 표면에 이미지를 입히는 것. 


- Vertex(버텍스) : 

정점, 꼭지점 


- Wireframe Modeling(와이어프레임 모델링)) : 

물체의 색상이나 질감을 표현하지 않고, 철사모양의 외곽선만으로 물체를 표현하는 방법 


- 지오메트릭 연산 : 

화면에 그림을  그리기 위해서 계산하는 작업. 모델 좌표계에서 월드 좌표계로 변환, 월드 좌표계에서 카메라 좌표계로 변환,  카메라 좌표계에서 화면 좌표계(2D)로 변환(Projection)하는 작업 등을 말한다. 


- 키프레임(Keyframe)과 보간(Interpolation) : 

애니메이션에 사용되는 방법 중의 하나이다. 애니메이션으로 사용할 모션데이터를  각각의 프레임마다 만들어두는 것이 아니라 두드러지는 몇개의 모션(Keyframe)만을 정해놓고 그 중간 프레임(Inbetween)을 전·후의 키프레임을 이용하여 보간계산(Interpolate)하는 것을 말한다. 


- color index mode :

팔레트 모드와 비슷한 의미이다. 몇개(주로  256개)의 색상만을 대표적으로 사용해서 그림을 구성하는 경우를 말한다. 


- display list : 

OpenGL에서 복수 개의 명령들을 실행할 때 오버헤드를 줄이기 위해서 하나의 display  list에 저장해 놓고 다음부터는  복수 개의 명령대신 list를 불러서 실행하는 방법. 


- hidden surface removal : 

은면제거. 화면에 가려져서 보이지 않아야 할 부분을 골라내는 방법을 말한다. 은면제거의 방법에는 그릴 primitive들을 뒤에서부터 차례로 그려나가서 덮어씌우는  Painter's 알고리듬 방법과, 화면의 각 픽셀마다 깊이 정보를 주고나서 점을  하나씩 찍을 때마다 깊이값을  비교해 찍을지, 말지 여부를 결정하는 Z-Buffer  방법이 있다. 대부분의 3차원 가속기는 구조상 간단하고 결과물이 정확한 Z-Buffer 방법을 사용한다.

 

- alpha blending : 

반투명의 오브직트를 표현하기 위해서 투명색 정보를 더하는 것을 말한다. 

- Atmospheric effect : 

최종 결과물에 실제감을 더하기 위해 가상효과에 관련된 효과를 더하는 것을 말한다.  여기에는 fog나 haze같이 거리에 비례(또는 거리의 로그값에 비례)해서 점을 특정한(안개의) 색상값과 혼합해 뿌옇게 하는 안개효과를 내는  방법과 depth cueing과  같이 오브직트 자체의  밝기를 거리에 반비례해서 줄여주는 방법이 있다. 


- bilinear filtering : 

텍스처 매핑을 할 때 그림이 커지는 경우, 점들이 두드러지는 현상을 막기 위해  중간의 픽셀들을 상하좌우에 인접한 텍스처  픽셀값과 거리를 참조해서  평균값을 내는 방법이다. 결과적으로는  물체가 시점에 가까워져서 그림이 커지는 경우 bilinear filtering 에 의해서 약간  뿌옇게 변하기 때문에 카메라의 초점보다 가까워지는 원근감 효과를 준다. 


- mipmaping : 

bilinear filtering이 가까이 있는  물체의 표현에 도움을 준다면 mipmapping은 멀리 있는  물체를 표현할 때 픽셀들이 튀는  것을 막아준다. mipmapping은 일정한 단계에 따라 보조적인 텍스처맵을 만들어두었다가 오브직트가 어느 정도  멀어지면 원래  크기의 텍스처맵에서 색값을  결정하지 않고 축소된 텍스처맵에서 색값을 결정한다. 


- Polynomial Evaluator와  NURBS : 

NURBS는 베지에르 곡선으로  구성되는 곡면을 말한다. 이 곡면을 계산하기 위해서  필요한 점들을 만드는데 사용되는 것이 Evaluator이다. Evaluator의 계산에는 주로 다항식(polunomial)의 대수적 계산이 필요하기 때문에 Polynomial Evaluator라고 한다. 


- accumulation buffer : 

특별한 목적, 예를 들면 모션 블러(움직이는 오브직트의 잔상을 남게하는 효과)나 기타 일련의 이미지들에  대한 연산에 사용된다 (1초에 60 프레임짜리 동화상을 50 프레임짜리로 부드럽게 바꾸는 등). 


- stencil plane : 

화면에 픽셀이 그려질 때마다 갱신되는  마스킹 정보. 다음과 같은 용도를 위해 쓸 수 있다(다이렉트3D에서는 지원 안함). 

     1. 폴리곤의 선명한 모서리를 그리는 용도 

     2. 화면의 깊이 복잡도를 판단하기 위한 경우 

     3. 복잡한 화면에서의 가려진 물체들을 빼내기(culling) 

     4. 이미지들 사이의 조합 


- picking : 

화면에 표현된 오브직트나 폴리곤을 골라내는 작업을 말한다. 예를 들어서 화면에 나타난  여러 개의 오브직트를  마우스를 이용해서 골라내는 경우, 마우스의 2차원 좌표로부터 역변환(카메라 → 월드 → 모델)을 통해서 본래의 오브직트의 좌표나 폴리곤의 좌표를 추적하게 된다. 


- perspective-correction : 

화면에 텍스처된  삼각형을 그릴 때는 x, y  좌표와 각 점들의 텍스처값만  가지고서는 정확하게 그릴  수가 없고 실제로는  z값(또는 1/z값 즉, z의 역수)을  참조해야만 정확한 렌더링이 가능하다. 대신 z값을 고려하는 계산을 하기  위해서는 훨씬 계산량이 늘어나게 되는데  대부분의 3차원 가속기는 그러한 계산(perspective-corrected texture mapping)을 자동으로 수행한다. 


- triple-buffering : 

백 버퍼가 2개 이상 있을 때  쓸 수 있는 방법이다. 즉 화면 버퍼, 백버퍼 1, 백버퍼 2를 사용하게 되는데, 이것은 그래픽 가속기가 수직투사(V-sync)를 기다리는   동안에도 다음의  보조버퍼를 이용하여   계속 CPU가 그리는 작업을 할 수 있도록 하는 것이다. 


- BSP : 

Binary Space  Partitioning 알고리듬. DOOM이나 QUAKE같은 게임에서 배경을 그릴 때 효율적으로 그릴 면들을 골라내기 위해서 이진 트리를 만들고 공간을 분할하는 방법으로 트리의 노드를 점진적으로 추가하는 방법이다. 이 방법을 사용해서  그릴 부분을 최소화 하고, 그릴 순서를  자동으로 결정할 수 있다.