목록분류 전체보기 (150)
개발하는 리프터 꽃게맨입니다.
이 장의 주요 주제는 렌더링 파이프라인이다. 가상 카메라가 배치되고 방향이 설명된 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..
변환 Transformation우리는 3D 세계에서 객체를 기하학적으로 표현한다. (객체의 표면을 삼각형들의 집합으로 근사하는 방법을 사용) 객체가 움직이지 않는다면 세계는 흥미롭지 않을 것이다. 따라서 우리는 기하학을 변환하는 방법에 관심을 갖는다. 기하학적 변환의 예로는 이동, 회전, 크기변환이 있다. 이 장에서는 3D 공간에서 점과 벡터를 변환하는 데 사용할 수 있는 행렬 방정식을 개발한다. 학습 목표1. 선형 변환과 아핀 변환이 행렬로 어떻게 표현될 수 있는지 이해한다.2. 기하학적으로 객체의 크기, 회전, 이동을 위한 좌표 변환을 배운다.3. 여러 변환 행렬이 행렬 곱셈을 통해 하나의 최종 변환 행렬로 결합될 수 있음을 알아본다.4. 한 좌표계에서 다른 좌표계로 좌표를 변환하는 방법과 이 변환이..
챕터2: 행렬대수컴퓨터 그래픽스에서 우리는 행렬을 사용하여 크기 변환, 회전 변환, 이동 변환과 같은 기하학적 변환을 간결하게 설명하고, 또한 한 프레임에서 다른 프레임으로 점 또는 벡터의 좌표를 변경한다. 목표:1. 행렬과 행렬에서 정의된 연산에 대해 이해한다.2. 벡터와 행렬 곱셈이 어떻게 선형 결합으로 해석될 수 있는지 알아본다.3. 항등 행렬, 전치, 행렬식, 역행렬이 무엇인지 배운다.4. 행렬 수학을 위해 사용되는 XNA 라이브러리를 학습한다. 정의m x n 행렬은 m 행, n 열로 구성된 실수들의 직사각형 배열을 의미한다.행과 열의 곱은 행렬의 차원을 나타낸다. 행렬 내의 숫자들은 요소, 원소 등으로 불린다. 우리는 이중 첨자 표기법을 사용하여 요소가 속한 행과 열을 지정할 수 있다. 1.A..