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