본문 바로가기

Library/Computer Graphics

Projection Transformation 투영 변환(projection transformation)은 모델뷰 변환(modelview transformation) 뒤에 이루어지는데, 이 변환은 뷰포트 변환(viewport transformation)을 위한 준비 단계이다. 즉, 임의의 가상의 3D 공간은 어쨌거나 최종적으로는 2D 공간에 투영(projection)되어야 하며, 투영 변환은 이를 위한 준비 변환이다. 물론, 직접 3D 공간 좌표를 2D 장치 좌표계로 변환하는 것은 뷰포트 변환이지만, 모델뷰 변환 바로 뒤에 뷰포트 변환을 할 수는 없다. 물체가 정의된 공간이 어느 만큼 보여져야 하는지 결정되지 않았고, 모델뷰 변환을 거친 뒤의 정점 정보를 직접 2D 장치 좌표계로 옮길 수 없기 때문이다. 또, 성능 측면에서 본다면, 실시간 렌더링 시.. 더보기
ModelView Transformation 어떤 3D 모델링된 물체를 컴퓨터가 그래픽 시스템을 통해 그린다고 생각해보자. 전통적인 렌더링 파이프라인에서 모델링 정보를 처리하는 응용 단계(application stage)를 거쳐 가상의 공간에서 기하 변환(geometry stage)이 이루어진 뒤, 래스터화 단계(rasterization stage)를 거쳐 최종적으로 장치에 출력된다. 응용 단계에서부터 생각해보자. 어떤 물체를 3D 모델링 소프트웨어를 사용해서 만들어냈다고 하면, 각 정점의 정보는 무엇을 기준으로 한 것일까? 당연히, 물체 자신을 원점을 기준으로 한 것이다. 모델링 소프트웨어가 저장하는 물체의 기하 정보는, 물체 자신의 원점을 기준으로 한 상대적인 각각의 정점의 위치 따위이다. 시점을 기준으로 한 정점의 위치를 저장할 수도 있겠지만.. 더보기
Rendering Pipeline 그래픽스에서의 렌더링 파이프라인은 크게 응용 단계(application stage), 기하 단계(geometry stage), 래스터화 단계(rasterization stage)로 구성된다. 개략적으로, 응용 단계는 기하 단계에서 처리할 3D 기하 정보를 생성하는 단계이며, 기하 단계는 이 기하 정보들을 가상의 공간에서 선형 변환하는 단계이다. 래스터화 단계는, 이 가상 공간에서의 데이터를 실제로 눈에 보이는 2D 평면으로 투영(projection)하는 단계이다. 즉, 응용 단계에서 기하 정보를 생성한다는 것은 기하 정보 생성 그 외에도 충돌 검출, 애니메이션, 포스 피드백과 같은 요소들을 반영하여 다음 기하 단계에서 처리할 모든 정보를 생성하는 것을 뜻하는 것이다. 기하 단계는 아키텍처에 따라서 소프트.. 더보기
Ambient Light, Diffuse Light, Specular Reflection 물체의 재질이 어떻든 결국 빛이 있어야 비로소 물체의 색을 볼 수 있게 된다. 물체의 색이란 광원에서 나온 빛이 주변이나 물체면과 상호 작용하고, 관찰자의 눈에 와 닿는 세기에 의해 결정된다. 따라서, 이들을 어떻게 모델링하느냐에 따라 렌더링 시스템에서의 최종적인 물체의 색상이 결정된다. 일반적으로, 이것을 근사적으로 모델링하기 위해 환경광(ambient light), 난반사(diffuse reflection), 정반사(specular reflection)가 사용된다. 관찰자가 물체를 인식하게 되는 과정을 살펴보자. 먼저, 광원이 없다면, 특히 인간의 시각은 가시 광선만을 인식할 수 있기 때문에 물체가 스스로 가시 광선 영역에 해당하는 빛을 방출하거나, 그런 광원으로부터의 빛을 반사하지 못한다면, 관찰자.. 더보기
조명(Lighting) 사람이 실세계에서 표면을 볼 때 빛을 인지할 수 있는 것은, 망막에 도달한 광자 에너지가 추상체를 자극하기 때문이다. 광자는 하나 또는 여러 개의 광원으로부터 나오는데, 이들 중 일부는 흡수되고 일부는 표면에 반사된다. 뿐만 아니라, 표면의 속성에 따라 광자를 흡수하거나 반사하는 정도가 크게 달라진다. 예를 들어, 어떤 것은 빛을 일정한 방향으로만 반사하여 광택이 나지만, 어떤 것은 빛을 모든 방향으로 고르게 반사한다. 대부분의 표면은 이러한 극단적인 두 경우 사이의 속성을 갖는다. 어떤 물체를 시각으로 인지할 수 있다는 것은, 그 물체에서 반사된 빛이 관찰자의 눈까지 도달했다는 것이다. 그렇지만, 관찰자의 눈까지 도달한 빛은 순수하게 물체가 반사된 빛 외에도 여러 빛들이 포함되어 있다. 예를 들어, 어.. 더보기
Color Model 가장 흔히 쓰이는 컬러 모델은, 가산 모델(additive model)인 RGB 모델과 감산 모델(subtractive model)인 CMY 모델이 있다. RGB 모델의 경우, 모든 색을 섞으면 흰색이 되며 CMY 모델의 경우, 모든 색을 섞으면 검은색이 된다. RGB 모델을 그래프에 나타내면 다음과 같다. RGB 모델에서는 모든 색을 섞으면 흰색이 되기 때문에, 보색(complementary color) 관계는 다음과 같다. 빨간색(R)과 초록색(G)를 섞으면 노란색(Y)이 된다. R(1, 0, 0) + G(0, 1, 0) = Y(1, 1, 0) 초록색(G)과 파란색(B)를 섞으면 청록색(Cyan)이 된다. G(0, 1, 0) + B(0, 0, 1) = Cyan(0, 1, 1) 파란색(B)과 빨간색(R.. 더보기
Property of Light 태양광이나 형광등 등 일반적인 광원(light source)은 백색광(white light)를 뜻한다. 백색광에는 가시광선 영역의 보라색부터 적색에 걸친 모든 주파수 성분이 포함되어 있다. 이 빛이 물체 표면에 부딪치면 어떤 주파수 성분은 물체 내부로 흡수되는 반면, 어떤 주파수 성분은 반사된다. 반사된 빛 중 가장 많은 에너지를 지닌 파장의 주파수를 우세 주파수(dominant frequency)라고 하며, 우세 주파수의 색을 물체의 색상(hue, color)이라 한다. 채도(saturation, purity)란 색의 선명도, 혹은 순도를 말한다. 색의 채도는 빛의 세기와 빛이 얼마나 다른 파장의 영역에 걸쳐 있는지에 의해 결정된다. 가장 순수한 색은 강한 빛의 세기의 파장 중 하나를 선택해서 얻을 수.. 더보기