목록컴퓨터 그래픽스 (45)
개발하는 리프터 꽃게맨입니다.
프레임을 렌더링할 때, 먼저 지형을 그리고 그 다음으로 나무 상자를 그리며, 지형과 나무 상자의 픽셀들이 백 버퍼에 저장된다. 그 후 Blending을 사용하여 물 표면을 back buffer에 그리면, 물의 픽셀들이 지형과 나무 상자에 적절하게 혼합되어 지형과 나무 상자가 물을 통해 보이게 된다. 이 장에서는 현재 래스터화 중인 픽셀을 이전 back buffer에 이미 래스터화된 픽셀과 혼합할 수 있게 해주는 기술을 살펴본다. 이 기술은 물과 유리 같은 반투명 객체를 렌더링할 수 있게 해준다. 논의를 위해 우리는 back buffer를 렌더 타겟을 언급한다.그러나 나중에 off screen 렌더 타겟에도 렌더링할 수 있다는 것을 보여줄 것이다. 블렌딩은 이러한 렌더 타겟에도 동일하게 적용되며, 목적지 ..
실제 세계의 물체는 보통 버텍스 단위의 색상만으로는 포착할 수 없는 더 많은 세부 사항을 가고 있다.텍스처 매핑은 삼각형 위에 이미지 데이터를 매핑할 수 있는 기법으로, 이를 통해 장면의 세부 사항과 사실감을 크게 향상시킬 수 있다. 예를 들어, 육면체를 만들고 각 면에 상자 텍스처를 매핑하여 상자처럼 보이게 만들 수 있다. 텍스처와 리소스 복습우리는 앞서 이미 텍스처를 사용해왔다. 특히, 깊이 버퍼와 백 버퍼는 ID3D11Texture2D 인터페이스로 표현되는 2D 텍스처 객체이다. 2D 텍스처는 데이터 요소들의 행렬이다. 2D 텍스처는 많은 용도로 사용될 수 있으며, 그 중 한가지 용도는 픽셀의 색상을 저장하는 것이다. 이 때 텍스처는 2D 이미지 데이터를 저장한다. 그러나 이것이 유일한 용도는 아니..
이 장의 주요 주제는 렌더링 파이프라인이다. 가상 카메라가 배치되고 방향이 설명된 3d 장면의 기하학적 설명을 바탕으로,렌더링 파이프라인은 카메라가 보는 것을 기반으로 2D 이미지를 생성하는 일련의 과정 전체를 의미한다. 말이 어려울 수도 있는데.. 월드에 3D 기하학들이 정해져 있고, 카메라는 특정 공간을 미추고 있다.3D 기하학 정보들을 적절하게 해석하여 뷰포트에 2D 형태로 이미지를 생성하는 과정을 렌더링 파이프라인이라고 한다. 외 그림에서 왼쪽이미지는 카메라가 위치하고 조준된 3D 월드의 객체들의 측면 뷰를 보여준다.가운데 이미지는 같은 장면을 위에서 내려다본 모습이다.카메라의 시야 (피라미드 모양, 혹은 절두체라고 부름) 은 볼 수 있는 공간의 부피 (가시부피)를 나타내며, 해당 공간 외부에 있..
좌표계 변환에 대해서 잘 이해하지 못해서 다시 제대로 공부한 뒤 그 기록을 남긴다.개인적으로 아핀변환이 더 직관적으로 이해된다고 생각하기 때문에..좌표계 변환을 아핀 변환과 조금 섞어서 다시 표현해보도록 하겠다.좌표계 변환 Change Of Coordinate Transformations좌표계에는 여러 종류가 있다.자신의 좌표계는 로컬 좌표계라고 하며자신을 정의하는 좌표계도 존재할 수 있으므로 그러한 좌표계를 부모 좌표계이런 식의 상속구조가 재귀적으로 정의될 수 있다. 물론 하나의 부모에서 여러 자식 좌표계가 존재할 수도 있다. 그러나 자식은 자신의 좌표계에서는 자기가 마치 표준 기저인 양 점들을 정의할 것이다. 로컬 좌표계만 가지고는 월드를 렌더링할 수가 없다.결국 월드를 기준으로하는 모든 로컬좌표계를..
파트2: Direct3D 살펴보기이 부분에서는 이 책의 나머지 부분에서 사용되는 Direct3D의 기본 개념과 기법들을 학습한다.이 기초들을 숙달하면 더 흥미로운 응용 프로그램을 작성할 수 있다.이 부분에 포함된 각 장의 간단한 설명은 다음과 같다. 챕터 4: Direct3D 초기화이 장에서는 Direct3D가 무엇인지, 그리고 3D 그리기를 준비하기 위해 어떻게 초기화하는 지 배운다.serface, pixel format, page fliping, depth buffer, multi sampling 과 같은 기본 Direct3D 주제들도 소개된다. 또한 성능 카운터를 사용해 초당 렌더링된 프레임 수를 계산하는 방법도 배우며, Driect3D 애플리케이션을 디버깅하는 몇 가지 팁도 제공한다. 우리는 SD..