이미 소장하고 있다면 판매해 보세요.
|
1장. 벡터 대수
__1.1 벡터 __1.2 길이와 단위벡터 __1.3 내적 __1.4 외적 __1.5 점 __1.6 XNA Math 라이브러리의 벡터 관련 기능 __1.7 요약 __1.8 연습문제 2장. 행렬 대수 __2.1 정의 __2.2 행렬 곱셈 __2.3 행렬의 전치 __2.4 단위행렬 __2.5 행렬식 __2.6 딸림행렬 __2.7 행렬의 역 __2.8 XNA Math 라이브러리의 행렬 관련 기능 __2.9 요약 __2.10 연습문제 3장. 변환 __3.1 선형변환 __3.2 아핀변환 __3.3 변환들의 합성 __3.4 좌표 변경 변환 __3.5 변환 행렬 대 좌표 변경 행렬 __3.6 XNA Math 라이브러리의 관련 함수들 __3.7 요약 __3.8 연습문제 4장. Direct3D의 초기화 __4.1 기본 지식 __4.2 Direct3D의 초기화 __4.3 타이밍과 애니메이션 __4.4 예제 응용 프로그램 프레임워크 __4.5 Direct3D 응용 프로그램의 디버깅 __4.6 요약 __4.7 연습문제 5장. 렌더링 파이프라인 __5.1 3차원의 환상 __5.2 모형의 표현 __5.3 색상 표현의 기초 __5.4 렌더링 파이프라인의 개요 __5.5 입력 조립기 단계 __5.6 정점 셰이더 단계 __5.7 테셀레이션 단계 __5.8 기하 셰이더 단계 __5.9 절단 __5.10 레스터화기 단계 __5.11 픽셀 셰이더 단계 __5.12 출력 병합기 단계 __5.13 요약 __5.14 연습문제 6장. Direct3D의 그리기 연산 __6.1 정점과 입력 배치 __6.2 정점 버퍼 __6.3 색인과 색인 버퍼 __6.4 예제 정점 셰이더 __6.5 상수 버퍼 __6.6 예제 픽셀 셰이더 __6.7 렌더 상태 __6.8 효과 프레임워크 __6.9 상자 예제 __6.10 언덕 예제 __6.11 도형 예제 __6.12 파일에서 기하구조 불러오기 __6.13 동적 정점 버퍼 __6.14 요약 __6.15 연습문제 7장. 조명 __7.1 빛과 재질의 상호작용 __7.2 법선 벡터 __7.3 람베르트의 코사인 법칙 __7.4 분산광 조명 __7.5 주변광 조명 __7.6 반영광 조명 __7.7 중간 정리 __7.8 재질의 설정 __7.9 평행광 __7.10 점광 __7.11 점적광 __7.12 구현 __7.13 조명 예제 __7.14 조명된 두개골 예제 __7.15 요약 __7.16 연습문제 8장. 텍스처 적용 __8.1 텍스처와 자원의 개괄 __8.2 텍스처 좌표 __8.3 텍스처 생성 및 활성화 __8.4 필터 __8.5 텍스처 표본 추출 __8.6 텍스처와 재질 __8.7 나무 상자 예제 __8.8 텍스처 좌표 지정 모드 __8.9 텍스처 변환 __8.10 텍스처 입힌 언덕과 파도 예제 __8.11 압축 텍스처 형식들 __8.12 요약 __8.13 연습문제 9장. 혼합 __9.1 혼합 공식 __9.2 혼합 연산 __9.3 혼합 계수 __9.4 혼합 상태 __9.5 예제 __9.6 알파 채널 __9.7 픽셀 자르기 __9.8 안개 __9.9 요약 __9.10 연습문제 10장. 스텐실 적용 __10.1 깊이?스텐실 버퍼의 자료 형식과 버퍼 지우기 __10.2 스텐실 판정 __10.3 깊이?스텐실 상태 집합 __10.4 평면거울의 구현 __10.5 평면 그림자의 구현 __10.6 요약 __10.7 연습문제 11장. 기하 셰이더 __11.1 기하 셰이더 프로그래밍 __11.2 나무 빌보드 예제 __11.3 텍스처 배열 __11.4 알파-포괄도 변환 __11.5 요약 __11.6 연습문제 12장. 계산 셰이더 __12.1 스레드와 스레드 그룹 __12.2 간단한 계산 셰이더 예제 __12.3 자료 입?출력 자원 __12.4 스레드 식별 시스템 값 __12.5 추가 버퍼와 소비 버퍼 __12.6 공유 메모리와 동기화 __12.7 흐리기 예제 __12.8 추가 참고자료 __12.9 요약 __12.10 연습문제 13장. 테셀레이션 단계 __13.1 테셀레이션 기본도형 종류 __13.2 덮개 셰이더 __13.3 테셀레이터 단계 __13.4 영역 셰이더 __13.5 사각형 하나의 테셀레이션 __13.6 삼차 베지에 사각형 패치 __13.7 요약 __13.8 연습문제 14장. 1인칭 카메라 만들기 __14.1 시야 변환 개괄 __14.2 카메라를 대표하는 Camera 클래스 __14.3 주요 메서드의 구현 __14.4 카메라 예제에 관해 __14.5 요약 __14.6 연습문제 15장. 인스턴싱과 절두체 선별 __15.1 하드웨어 인스턴싱 __15.2 경계입체와 시야 절두체 __15.3 절두체 선별 __15.4 요약 __15.5 연습문제 16장. 3차원 물체의 선택 __16.1 화면에서 투영 창으로의 변환 __16.2 세계 공간?국소 공간의 선택 반직선 __16.3 반직선 대 메시 교차 판정 __16.4 예제 응용 프로그램 __16.5 요약 __16.6 연습문제 17장. 입방체 매핑 __17.1 입방체 매핑 __17.2 환경 매핑 __17.3 하늘에 텍스처 입히기 __17.4 물체의 주변 환경 반사 구현 __17.5 동적 입방체 맵 __17.6 기하 셰이더를 이용한 동적 입방체 매핑 __17.7 요약 __17.8 연습문제 18장. 법선 매핑과 변위 매핑 __18.1 동기 __18.2 법선 맵 __18.3 텍스처 공간?접공간 __18.4 정점 접공간 __18.5 접선 공간과 물체 공간 사이의 변환 __18.6 법선 매핑 셰이더 코드 __18.7 변위 매핑 __18.8 변위 매핑 셰이더 코드 __18.9 요약 __18.10 연습문제 19장. 지형 렌더링 __19.1 지형 높이맵 __19.2 지형의 테셀레이션 __19.3 패치의 절두체 선별 __19.4 텍스처 적용 __19.5 지형 표면의 높이 __19.6 요약 __19.7 연습문제 20장. 입자 시스템과 스트림 출력 __20.1 입자의 표현 __20.2 입자의 운동 __20.3 무작위성 __20,4 혼합과 입자 시스템 __20.5 스트림 출력 __20.6 GPU 기반 입자 시스템 __20.7 불을 위한 입자 시스템 __20.8 비를 위한 입자 시스템 __20.9 요약 __20.10 연습문제 21장. 그림자 매핑 __21.1 장면 깊이의 렌더링 __21.2 직교투영 __21.3 투영 텍스처 좌표 __21.4 그림자 매핑 __21.5 큰 PCF 핵 __21.6 요약 __21.7 연습문제 22장. 주변광 차폐 __22.1 반직선 투사를 통한 주변광 차폐 __22.2 화면 공간 주변광 차폐 __22.3 요약 __22.4 연습문제 23장. 메시 다루기 __23.1 .m3d __23.2 메시 기하구조 __23.3 기본 모형 __23.4 메시 표시기 예제 __23.5 요약 __23.6 연습문제 24장. 사원수 __24.1 복소수 개괄 __24.2 사원수 대수학 __24.3 단위 사원수와 회전 __24.4 사원수의 보간 __24.5 XNA Math 라이브러리의 사원수 함수들 __24.6 사원수 회전 예제 __24.7 요약 __24.8 연습문제 25장. 캐릭터 애니메이션 __25.1 프레임 계통구조 __25.2 메시 스키닝 __25.3 정점 혼합 __25.4 .m3d 파일에서 애니메이션 자료 적재하기 __25.5 캐릭터 애니메이션 예제 __25.6 요약 __25.7 연습문제 부록 A. Windows 프로그래밍 입문 부록 B. HLSL 레퍼런스 부록 C. 해석기하학 주제 몇 가지 부록 D. 연습문제 해답 모음 부록 E. 참고문헌 및 더 읽을 거리 |
|
이 책은 Mercury Learning이 2013년에 출간한 『Introduction to 3D Game Programming with DirectX 11』(Mercury Learning & Information, 2012)을 우리말로 옮긴 것입니다. 그런데 원서의 제목, 그리고 그것을 그대로 옮긴 번역서 제목에 약간 오해의 소지가 있습니다. 제목만으로 보면 DirectX 11을 이용한 3차원 ‘게임 프로그래밍’ 입문서이지만, 이 책이 주로 다루는 것은 게임을 구성하는 여러 요소 중 하나인 그래픽입니다. 사실 저자도 서문에서 이 책을 “Direct3D 11을 이용한 게임 개발에 강조를 둔, 상호작용적인 컴퓨터 그래픽 프로그래밍의 입문서”라고 이야기하고 있습니다.
그렇다고 원서 제목이 아주 심한 허풍이냐 하면 그렇지도 않습니다. 그래픽은 게임 구성요소 중 하나이지만, 단지 ‘하나일 뿐’만은 아닙니다. 소수의 실험적인 게임을 제외할 때 시각적 표현을 제공하지 않는 게임은 사실상 없습니다. 네트워크 플레이를 지원하지 않거나, 인공지능이 허접하거나, 심지어 음향 효과가 없는 게임도 게임이라고 부를 수 있지만(비록 재미는 덜할지라도), 상호작용적인 그래픽이 없는 게임은 게임이라고 부르기 힘듭니다. 현실적으로, 그래픽을 다루는 능력을 갖추는 것은 스스로 게임을 만들고자 하는 프로그래머가 반드시 통과해야 할 관문 중 하나입니다. 그런 만큼 상호작용적 컴퓨터 그래픽 프로그래밍에 관한 입문서를 게임 프로그래밍 입문서로 보는 것도 큰 무리는 아닐 것입니다. 그렇다면 다음으로 제기되는 문제는 “그래픽을 다루는 능력을 갖추기 위해 반드시 DirectX 같은 저수준 API를 배워야 하는가?”인데, “남이 만들어 둔 틀 안에 갇히기 싫어서”나 “더 깊숙한 부분을 내 마음대로 제어하고 싶어서”, 심지어 “그냥 배우고 싶어서”나 “취업에 유리하다고 해서” 등 여러 가지 답이 있겠지만, 어쨌든 이 책의 독자 대부분은 그 문제에 대한 나름의 답을 이미 내렸기 때문에 이 책을 선택했으리라 믿습니다. 클릭 몇 번과 코드 몇 줄로 게임을 만들 수 있다고 선전하는 제품들이 넘쳐나는 이 시대에 DirectX 11을 배우기로 결심한 독자에게 찬사를 보냅니다. 그리고 그 결심을 실현하는 첫 걸음에 이 책이 큰 도움이 되었으면 좋겠습니다. 이 책이 입문서이긴 하지만, 3차원 그래픽과 DirectX에 대한 입문서이지 프로그래밍 자체에 대한 입문서는 아닙니다. 이 책은 기본적으로 프로그래밍에 어느 정도 경험이 있는 독자를 대상으로 하는데, 그런 독자라면 아마 여러 권의 개발서를 읽어 보았을 것이며, 종이로 된 책의 장점과 단점을 어느 정도 파악하고 있을 것입니다. 특히 DirectX 11은 아직 무르익지 않은 Windows 8과 관련해서 변화를 겪고 있는 중이므로, 시간이 흐름에 따라 이 책의 내용 중 더 이상 적용되지 않는 부분도 반드시 생길 것입니다. 그런 문제를 비롯해서 독자가 책을 공부하면서 마주치는 여러 어려움과 부족함을 옮긴이인 저와 다른 여러 독자들과 함께 해결할 수 있도록 GpgStudy 사이트(http://www.gpgstudy.com/)에 정보 공유와 논의 공간을 마련해 두었으니 많이 참여해 주세요. 물론 오타나 오역 보고도 환영합니다. _옮긴이, 류광 ---「옮긴이 서문」 |
|
흔히 ‘용책’이라고 부르는 베스트셀러의 개정판인 이 책은 Direct3D 11을 이용한 게임 개발에 강조를 둔, 대화식 컴퓨터 그래픽 프로그래밍의 입문서이다. 이 책은 크게 세 부로 구성되어 있는데, 제1부는 기본적인 수학적 도구들을 설명하고 제2부는 Direct3D의 기본 과제들을 수행하는 방법을, 그리고 제3부는 여러 응용 기법과 특수 효과를 소개한다. 이 책을 통해서 하드웨어 테셀레이션, 계산 셰이더 같은 Direct3D 11의 새 기능은 물론 주변광 차폐, 실시간 반사, 법선 매핑과 변위 매핑, 그림자 렌더링, 기하 셰이더 프로그래밍, 입자 시스템, 캐릭터 애니메이션 같은 고급 렌더링 기법들도 배울 수 있다. 소스 코드와 이미지 파일들을 담은 웹 부록도 제공한다.
[주요 내용] * 하드웨어 테셀레이션과 컴퓨터 셰이더 같은 Direct3D 11의 새 기능들 * 조명, 텍스처 적용, 혼합, 스텐실 적용 같은 3차원 그래픽 렌더링의 기초 * 주변광 차폐, 실시간 반사, 법선 매핑과 변위 매핑, 그림자 렌더링, 기하 셰이더 프로그래밍, 입자 시스템, 캐릭터 애니메이션 같은 고급 렌더링 기법들 * 각 장마다 독자의 이해 정도를 점검하거나 DirectX 11 프로그래밍을 직접 체험해 볼 기회가 되는 연습문제 제공 예제 코드 http://www.hanb.co.kr/exam/2057 |