목록컴퓨터 그래픽스 (45)
개발하는 리프터 꽃게맨입니다.
변환 Transformation우리는 3D 세계에서 객체를 기하학적으로 표현한다. (객체의 표면을 삼각형들의 집합으로 근사하는 방법을 사용) 객체가 움직이지 않는다면 세계는 흥미롭지 않을 것이다. 따라서 우리는 기하학을 변환하는 방법에 관심을 갖는다. 기하학적 변환의 예로는 이동, 회전, 크기변환이 있다. 이 장에서는 3D 공간에서 점과 벡터를 변환하는 데 사용할 수 있는 행렬 방정식을 개발한다. 학습 목표1. 선형 변환과 아핀 변환이 행렬로 어떻게 표현될 수 있는지 이해한다.2. 기하학적으로 객체의 크기, 회전, 이동을 위한 좌표 변환을 배운다.3. 여러 변환 행렬이 행렬 곱셈을 통해 하나의 최종 변환 행렬로 결합될 수 있음을 알아본다.4. 한 좌표계에서 다른 좌표계로 좌표를 변환하는 방법과 이 변환이..
챕터2: 행렬대수컴퓨터 그래픽스에서 우리는 행렬을 사용하여 크기 변환, 회전 변환, 이동 변환과 같은 기하학적 변환을 간결하게 설명하고, 또한 한 프레임에서 다른 프레임으로 점 또는 벡터의 좌표를 변경한다. 목표:1. 행렬과 행렬에서 정의된 연산에 대해 이해한다.2. 벡터와 행렬 곱셈이 어떻게 선형 결합으로 해석될 수 있는지 알아본다.3. 항등 행렬, 전치, 행렬식, 역행렬이 무엇인지 배운다.4. 행렬 수학을 위해 사용되는 XNA 라이브러리를 학습한다. 정의m x n 행렬은 m 행, n 열로 구성된 실수들의 직사각형 배열을 의미한다.행과 열의 곱은 행렬의 차원을 나타낸다. 행렬 내의 숫자들은 요소, 원소 등으로 불린다. 우리는 이중 첨자 표기법을 사용하여 요소가 속한 행과 열을 지정할 수 있다. 1.A..
파트1: 수학적 선수지식비디오 게임은 가상 세계를 시뮬레이션하려고 시도한다. 하지만 컴퓨터는 그 본질상 숫자를 계산한다.따라서 컴퓨터에 세계를 어떻게 전달할 것인가 하는 문제가 발생한다. 그 해답은 우리의 세계와 그 안의 상호작용을 완전히 수학적으로 기술하는 것이다. 따라서 수학은 비디오 게임 개발에서 기본적인 역할을 한다. 이 사전 요구사항 부분에서는 이 책 전반에 걸쳐 사용할 수학적 도구를 소개한다. 벡터, 좌표계, 행렬 및 변환에 중점을 두며, 이러한 도구들은 이 책의 거의 모든 샘플 프로그램에서 사용된다. 수학적 설명 외에도 XNA 수학 라이브러리에서 관련 클래스와 함수에 대한 데모가 제공된다. 여기서 다루는 주세는 이 책의 나머지 내용을 이해하는 데 필수적인 것들만 다루고 있으며, 이는 결코 비..
서론Direct3D 11은 (이하 DX11) Windows 플랫폼에서 최신 그래픽 하드웨어(GPU)를 사용하여 3D 그래픽을 작성하기 위한 렌더링 라이브러리이다. DX11은 그래픽 하드웨어를 밀접하게 다루는 API라는 점에서 저수준 라이브러리다. DX11는 주로 게임 산업에 사용되며, DX11 API를 사용하여 높은 수준의 렌더링 엔진을 구축한다. 그러나 의료, 과학 시각화, 건축 등에서도 고성능 대화형 3D그래픽을 위해서 사용할 수 있다. 또한, 최신 PC들이 현대적인 그래픽 카드를 장착함에 따라, non-3D 프로그램에서도 GPU를 활용하여 복잡한 계산들을 그래픽 카드로 분산시키기 시작했다. 이를 일반 목적 GPU 컴퓨팅이라고 하며, DX11 은 일반 목적 GPU 프로그램 작성을 위한 compute ..