메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

★ [컨퍼런스] 인공지능, 챗봇부터 블록체인까지 기업 적용 사례로 알아보는 IT 트랜드 2018 (2017년 11월 23일) ★

DirectX 12를 이용한 3D 게임 프로그래밍 입문

게임 개발 중심으로 익히는 대화식 컴퓨터 그래픽 프로그래밍

한빛미디어

번역서

판매중

  • 저자 : 프랭크 D. 루나
  • 번역 : 류광
  • 출간 : 2017-05-25
  • 페이지 : 1048 쪽
  • ISBN : 9788968487798
  • 물류코드 :2779
초급 초중급 중급 중고급 고급
4.3점 (4명)
좋아요 : 3

3D 그래픽 프로그래밍의 기초부터 최신 기법까지 

 

이 책은 DirectX 12로 게임을 개발해가며 대화식 컴퓨터 그래픽 프로그래밍을 익히는 입문서다. 1부는 기본적인 수학적 도구들을, 2부는 Direct3D의 기본 과제들을 수행하는 방법을, 그리고 3부는 여러 응용 기법과 특수 효과를 설명한다. 그 과정에서 명령 목록, 파이프라인 상태 객체, 서술자 힙과 테이블, CPU 추가부담 감소 및 다중 CPU 코어를 효율적으로 사용하기 위한 명시적 자원 관리 같은 DirectX 12의 새 기능을 활용하는 방법을 보여준다. 하드웨어 테셀레이션, 계산 셰이더, 주변광 차폐, 실시간 반사, 법선 매핑과 변위 매핑, 그림자 렌더링, 캐릭터 애니메이션 같은 현대적인 특수 효과와 기법도 이 책으로 배울 수 있다.

 

 

게임 개발 중심으로 익히는 대화식 컴퓨터 그래픽 프로그래밍

상용 엔진이 게임 업계를 호령하는 시기에 저수준 그래픽스 API 계에 오랜만에 혁신이 찾아왔다. 개발자가 GPU에 더 가까이 접근하고 통제하도록 하여 그래픽 드라이버의 부하를 줄이고 CPU를 제대로 활용하도록 근본적인 변화를 도입한 것이다. 그 결과 API 교체만으로 게임 성능이 수십 퍼센트 개선되기도 한다. 이러한 혁신을 담은 주인공이 바로 DirectX 12다.

 

물론 이 책은 DirectX 12의 신기능과 깊은 이해보다는 3D 그래픽 프로그래밍에 집중한다. 그 과정을 DirectX 12를 이용해 보여주는 것이다. 게임 개발만을 목표로 한다면 조금 지루한 학습 방식일 수도 있으나, 3D 그래픽이 꼭 게임에 국한된 것은 아니다. 각종 그래픽 도구 구현과 가속, 영화와 애니메이션의 특수 효과, 심지어 2D로 이뤄진 GUI 시스템에도 쓰인다. 또한 여러 오픈소스 혹은 상용 엔진의 소스 코드를 분석하거나 개발에 참여해보고 싶다면 이 책이 큰 도움이 될 것이다.

 

 

주요 내용
  • 필수 수학과 조명, 텍스처, 혼합, 스텐실 같은 3차원 그래픽 렌더링의 기초
  • 널리 쓰이는 실시간 게임 효과에 대한 상세한 설명
  • 주변광 차폐, 실시간 반사, 법선 매핑과 변위 매핑, 그림자 렌더링, 기하 셰이더 프로그래밍, 캐릭터 애니메이션 같은 고급 렌더링 기법
  • CPU 부하를 줄이고 다중 코어를 제대로 활용하는 DirectX 12의 새 기능
  • 이해한 내용을 점검하고 DirectX 12 프로그래밍을 직접 체험할 수 있는 다양한 연습문제 수록
저자

프랭크 D. 루나

Frank D. Luna
15년 넘게 대화식 3차원 그래픽 응용 프로그램을 프로그래밍해왔다. DirectX에 관한 세 권의 베스트셀러를 저술했으며, 3차원 의료 시각화와 3차원 건축 설계 소프트웨어, 그리고 게임 개발 분야에서 일한 경력이 있다. 캘리포니아 대학교 어바인(University of California, Irvine)에서 수학 학사 학위를 받았다.

 

역자

류광

1996년부터 활동해온 프로그래밍 서적 전문 번역가로, 커누스 교수의 고전 『컴퓨터 프로그래밍의 예술(The Art of Computer Programming)』 시리즈를 비롯해 다양한 분야의 프로그래밍 서적을 50권 번역했다. 게임 및 그래픽 프로그래밍 관련 번역서로는 본서의 전작인 『DirectX 11을 이용한 3D 게임 프로그래밍 입문』과 『Game Programming Gems』 시리즈, 『Game Engine Gems』 시리즈, 『3D 게임 프로그래밍 & 컴퓨터 그래픽을 위한 수학』 1, 2판 등이 있다.

번역과 프로그래밍 외에 소프트웨어 문서화에도 관심이 많으며, 수많은 오픈소스 프로젝트의 표준 문서 형식으로 쓰이는 DocBook의 국내 사용자 모임인 닥북 한국(http://docbook.kr)의 일원이다.

현재 번역서 정보 사이트 occam’s Razor(http://occamsrazr.net)와 Game Programming Gems 시리즈를 비롯한 게임 개발서들의 독자 지원 및 논의 사이트 GpgStudy(http://www.gpgstudy.com)를 운영하고 있다.

PART I 기초 필수 수학

 

1장 벡터 대수

1.1 벡터

1.2 길이와 단위벡터

1.3 내적

1.4 외적

1.5 점  

1.6 DirectXMath 라이브러리의 벡터  

1.7 요약

1.8 연습문제

 

2장 행렬 대수

2.1 정의

2.2 행렬 곱셈  

2.3 전치행렬

2.4 단위행렬

2.5 행렬식  

2.6 딸림행렬

2.7 역행렬  

2.8 DirectXMath의 행렬  

2.9 요약

2.10 연습문제

 

3장 변환

3.1 선형변환

3.2 아핀변환

3.3 변환들의 합성  

3.4 좌표 변경 변환

3.5 변환 행렬 대 좌표 변경 행렬

3.6 DirectXMath 라이브러리의 변환 관련 함수들

3.7 요약

3.8 연습문제

 

PART II Direct3D의 기초

 

4장 Direct3D의 초기화

4.1 기본 지식  

4.2 CPU와 GPU의 상호작용

4.3 Direct3D의 초기화

4.4 시간 측정과 애니메이션

4.5 예제 응용 프로그램 프레임워크

4.6 Direct3D 응용 프로그램의 디버깅

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 연습문제

 

7장 Direct3D의 그리기 연산 제2부

7.1 프레임 자원

7.2 렌더 항목  

7.3 패스별 상수 버퍼  

7.4 도형 기하구조  

7.5 도형 예제  

7.6 루트 서명 추가 설명  

7.7 지형과 파도 예제  

7.8 요약

7.9 연습문제

 

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 조명 구현  

8.14 파도 조명 예제

8.15 요약

8.16 연습문제

 

9장 텍스처 적용

9.1 텍스처와 자원의 개괄  

9.2 텍스처 좌표

9.3 텍스처 자료 원본  

9.4 텍스처 생성 및 활성화

9.5 필터

9.6 텍스처 좌표 지정 모드

9.7 표본추출기 객체

9.8 셰이더에서 텍스처 표본 추출  

9.9 나무 상자 예제

9.10 텍스처 변환

9.11 텍스처 입힌 언덕과 파도 예제

9.12 요약

9.13 연습문제

 

10장 혼합

10.1 혼합 공식  

10.2 혼합 연산  

10.3 혼합 계수  

10.4 혼합 상태  

10.5 예제

10.6 알파 채널  

10.7 픽셀 잘라내기  

10.8 안개

10.9 요약

10.10 연습문제

 

11장 스텐실 적용

11.1 깊이·스텐실 버퍼의 자료 형식과 버퍼 지우기  

11.2 스텐실 판정

11.3 깊이·스텐실 상태의 서술

11.4 평면거울 구현  

11.5 평면 그림자의 구현

11.6 요약

11.7 연습문제

 

12장 기하 셰이더

12.1 기하 셰이더 프로그래밍

12.2 나무 빌보드 예제  

12.3 텍스처 배열

12.4 알파-포괄도 변환

12.5 요약

12.6 연습문제

 

13장 계산 셰이더

13.1 스레드와 스레드 그룹  

13.2 간단한 계산 셰이더 예제  

13.3 자료 입력 자원과 출력 자원  

13.4 스레드 식별 시스템 값

13.5 추가 버퍼와 소비 버퍼

13.6 공유 메모리와 동기화  

13.7 흐리기 예제

13.8 더 읽을거리

13.9 요약

13.10 연습문제

 

14장 테셀레이션 단계들

14.1 테셀레이션 기본도형 위상구조  

14.2 덮개 셰이더

14.3 테셀레이터 단계

14.4 영역 셰이더

14.5 사각형 하나의 테셀레이션  

14.6 삼차 베지에 사각형 패치  

14.7 요약

14.8 연습문제

 

PART III 응용

 

15장 1인칭 카메라 구축과 동적 색인화

15.1 시야 변환 개괄

15.2 카메라를 대표하는 Camera 클래스

15.3 주요 메서드 구현  

15.4 카메라 예제 해설  

15.5 동적 색인화

15.6 요약

15.7 연습문제

 

16장 인스턴싱과 절두체 선별

16.1 하드웨어 인스턴싱  

16.2 경계입체와 절두체  

16.3 절두체 선별

16.4 요약

16.5 연습문제

 

17장 3차원 물체의 선택

17.1 화면에서 투영 창으로의 변환  

17.2 세계 공간과 국소 공간의 선택 반직선

17.3 반직선 대 메시 교차 판정

17.4 예제 응용 프로그램

17.5 요약

17.6 연습문제

 

18장 입방체 매핑

18.1 입방체 매핑

18.2 환경 매핑  

18.3 하늘에 텍스처 입히기  

18.4 물체의 주변 환경 반사

18.5 동적 입방체 맵

18.6 기하 셰이더를 이용한 동적 입방체 매핑  

18.7 요약

18.8 연습문제

 

19장 법선 매핑

19.1 동기

19.2 법선 맵

19.3 텍스처 공간 또는 접공간  

19.4 정점 접공간

19.5 접공간과 물체 공간 사이의 변환  

19.6 법선 매핑 셰이더 코드

19.7 요약

19.8 연습문제

 

20장 그림자 매핑

20.1 장면 깊이의 렌더링

20.2 직교투영

20.3 투영 텍스처 좌표  

20.4 그림자 매핑

20.5 큰 PCF 핵  

20.6 요약

20.7 연습문제

 

21장 주변광 차폐

21.1 반직선 투사를 통한 주변광 차폐  

21.2 화면 공간 주변광 차폐(SSAO)  

21.3 요약

21.4 연습문제

 

22장 사원수

22.1 복소수 개괄

22.2 사원수 대수학  

22.3 단위 사원수와 회전

22.4 사원수 보간

22.5 DirectXMath 라이브러리의 사원수 함수들

22.6 사원수 회전 예제  

22.7 요약

22.8 연습문제

 

23장 캐릭터 애니메이션

23.1 뼈대 좌표계들의 계통구조  

23.2 메시 스키닝

23.3 정점 혼합  

23.4 파일에서 애니메이션 자료 적재

23.5 캐릭터 애니메이션 예제

23.6 요약

23.7 연습문제

 

부록 A Windows 프로그래밍 입문

A.1 개요

A.2 기본적인 Windows 응용 프로그램

A.3 기본 Windows 응용 프로그램 설명  

A.4 더 나은 메시지 루프  

A.5 요약

A.6 연습문제

 

부록 B HLSL 레퍼런스

B.1 변수 형식  

B.2 키워드와 연산자

B.3 프로그램의 흐름

B.4 함수

 

부록 C 해석기하학 주제 몇 가지

C.1 반직선, 선, 선분

C.2 평행사변형

C.3 삼각형

C.4 평면  

C.5 연습문제  

 

부록 D 연습문제 해답 모음

 

부록 E 참고문헌 및 더 읽을 거리

  • 요즘같이 게임 엔진들이 많은 시대에, 제대로된 게임 개발 프로그래밍에 대한 지식 없이

    게임 개발을 하는 사람들이 많은데.. 좀더 심화되고, 전문적인 지식에 대한 궁금증과 갈증을

    갖고 있는 도중에, 사이다같이 궁금증을 해소해 줄 수 있는 책이라고 생각합니다. 쉐이더와 렌더링

    조명, 그림자 등 3D 전반적인 기술과 수학 공식들에 대해 상세히 설명이 되어 있어서 좋았습니다.

    예제가 좀 단편적이기는 하지만, 필요한 부분만 공부하실 분들에게는 큰 무리 없는 예제인것 같습니다.

     

  • 개인적으로 컴퓨터를 공부하는 입장에서 가장 난이도가 높은 분야를 3개 꼽으라고 하면 운영체제, 컴파일러, 게임을 꼽고 싶다. (개인적인 의견일 뿐 다른 분야가 더 어려울 수 있다. 내가 잘 모르는 것일 수도 있고..) 운영체제를 다루기 위해서는 하드웨어의 복합적인 동작을 알아야되고, 컴퓨터는 언어를 컴퓨터의 입장에서 봐야하기 때문에, 어렵다고 선택했다. 그리고 마지막으로 게임을 선택한 이유는 게임을 개발하기 위해서는 수학을 공부해야 되기 때문이다. 물론 사람에 따라서는 "수학이 제일 쉬웠어요" 라고 할수도 있겠지만, 3D를 표현하기 위해 내부적으로 여러 수식이 복합적으로 적용되어야 하고, 겉의 질감을 표현하기 위해서 빛의 방향과 세기 같은 것도 수식적으로 계산해야 한다. 심지어는 위와 같은 수학만 전문적으로 다룬 책도 있다. 이런 와중에 동 출판사에서 게임 프로그래밍 관련 입문책을 전달 받아 이에 대한 서평을 써보고자 한다. 참고로 게임을 전문적으로 개발해보지는 않았지만, 몇년전에 대회를 준비하면서 3D에 대해서 잠깐 공부한 적이 있었던 경험 측면에서 책을 살펴보고자 한다.

     잠깐 소개를 하자면 DirectX는 Microsoft에서 Multimedia 용도로 사용할 수 있는 API들을 묶은 C++기반의 프레임워크다. 그래도 아마 일반적으로 게임에 대해서 잠깐이나마 접한 사람이라면 "아 그거 3D 게임할 때 꼭 설치해야 되는거?" 라고 알고 있는 그 프레임워크다. 물론 오픈소스용 프레임워크인 OpenGL도 있겠지만, 윈도우 기반에서 실행되는 거의 모든 게임은 이 DirectX 기반의 API를 사용해서 개발된다. 이 책에서 다루는 버전 12는 2015년에 나왔다.

     일단 책을 딱 보면 알겠지만 매우 두껍다. 장장 1천여 페이지인데, 그 많은 페이지 만큼이나 책안에 담고 있는 내용들이 정말 자세하고 다양하다. 우선 이해를 돕기 위해 필요한 기본적인 수학적 내용을 다룬 부분부터 초기화, 렌더링, 셰이더, 조명, 텍스쳐와 같은 게임 개발에 필요한 기본 지식들을 다룬 기초 부분, 마지막으로 기초 부분을 응용한 파트까지 크게 세부분으로 구분되어져 있다. 각 파트별로 실습 예제 코드와 연습문제들이 제시되어 있으며, 글 흐름이 순차적으로 진행되기 때문에 처음부터 공부하고자 하는 사람에게는 많이 뭔가를 알려줄 수 있는 그런 책이 되겠다. 다만 책 양이 많은 만큼이나, 이를 설명하고자 하는 글이 길기 때문에 순간순간 필요한 부분만 따서 보려는 사람에게는 조금 책 보기가 어려울 수 있다. 딱 입문이라는 단어가 이책을 표현하기에 적합한 것 같다. 그렇다고 정말 게임을 처음 개발하는 초보자가 볼 수 있을 만큼 난도가 매우 쉽지는 않다. 이 책은 어느 정도 DirectX 내API를 구성하는 C++ 문법에 대해서 어느정도 익숙한 사람이 보면 좋을 듯 하다는 생각을 해본다. 물론 이 책을 선택했다는 것 자체가 아마 그런 부분에 대해서는 익숙한 사람이겠거니 싶다.

     아 그리고 이책에 대해서 언급하고 싶은 부분이 있다면 책 자체가 번역투같지 않고, 그냥 읽기 자연스럽다는 것이다. 게임 개발서 중에 몇몇 많이 언급되는 책이 해골책과, 용책, 그리고 보석책이 있는데, 보석책을 옮기신 류광님이 이 책도 썼다. 사실 이분이 옮긴 책들이 우리집에 찾아보니 참 많다. 보석책이라고 불리는 GPG 책부터 컴퓨터 프로그래밍의 예술(The Art of the computer Programming), APUE(Advanced Programing in Unix Environment) 책까지... 개인적으로 번역투가 느껴지지 않고, 불편하지 않게 쭉 읽혀지는 느낌이라 선호하는 스타일이다. 이번 책도 역시 그런 느낌으로 읽어서 읽기가 불편하지 않았다. 

     이 책의 단점이라면 굳이 뽑자면 선뜻 구매하기 어려운 책값이나, 책 두께를 딱 보면 선택하기 쉽지 않다. 그리고 입문이라는 책에 맞지 않게 앞에 하나의 파트로 분리된 수학적 지식을 설명한 부분은 다른 파트에 비해서 상대적으로 미약하다.(원서가 그랬다면 할말이 없지만, 조금 수학적 내용도 기초 지식 만큼이나 자세하게 다뤄졌음 좋았을 법하다.) 또한 DirectX의 특성상 뭔가 그림으로 표현되어지는 부분보다는 코드를 설명하고 이를 원론적으로 증명하기 위한 수식이 많이 포함되어 있기 때문에, 읽는데 있어서 끈기를 가져야 한다. 물론 책읽는 독자 입장에서는 끈기를 가지고 읽기가 참 쉽지 않은 부분이지만, 게임 개발을 목적에 두고 있는 사람이라면 이 책은 그럴 의미가 충분한 책이다. 거의 유일무이한 DirectX 12 관련 책이기 하고, 게임 개발서라는 범주로 놓고 볼때 설명과 예제가 충실한 책이라고 생각한다.

  • 리뷰자 김종욱

    B5088646371_l.jpg

    클로버 DirectX 12를 이용한 3D 게임 프로그래밍 입문

    프랭크 D.루나 지음 // 류광 옮김

     

     블로거가 게임 업계에 입문한지 10여년이 넘었다. 그동안 3D와 관련하여서도 여러 가지 경험을 하였는데, DirectX 9를 처음 접한 이후로 꾸준히 DirectX가 발전하여 지금의 12버전에 이르는 것 역시 본 블로거가 경험하였던 여러 가지 경험중 하나이다. 특히나 DirectX 9를 처음 접하던 시절의 교과서는 용책과 해골책으로 통하였고 지금 시대에는 류광님께서 옮기신 DirectX 시리즈가 새로운 교과서로 떠오르고 있다.


    책에 관한 본격적인 리뷰에 임하기에 앞서 어떤 사람들에게 본 서를 권하는지 적어보도록 하겠다.

     


    어떤 독자를 위한 책인가

     

      이 책은 Windows 기반의 3D 게임 프로그래밍이나 혹은 3D 프로그래밍 자체를 입문하고자 하는 이들과 중급자를 대상으로 한 책이다. 솔직히 말해 누구를 위한 책이라고 권하는 것 조차 그 내용이 너무 방대하여 바이블로 사용하면 되는 책이다. 여기서 바이블로 사용함이라 함은 필요할 때마다 해당 내용을 참조하는 도서로 사용하라는 것이다. 학습 로드에 대해서 간략하게 나마 정리하자면 다음과 같다. 각 챕터별 1회 속독, 그후 각 챕터별 실습, 마지막으로 각 챕터별 정독 및 부족한 부분 심화 정리 정도이다. 만약 위의 교과 과정을 전부 마친 후, 자신을 돌아본다면 당신은 Windows에서 DirectX를 이용하는 3D 프로그래머 중급자 그 이상이 되어 있을 것이다.

        

    【책의 구성】 'DirectX 12를 이용한 3D 게임 프로그래밍 입문책의 구성은 어떠한가.


    망치 상기 책은 바이블이다. 거의 DirectX 12를 다루는데에 필요한 모든 기능들을 다루는 책이다. 따라서 구성은 기초를 시작으로 심화하는 과정으로 되어 있으며, 수학에 대한 기초 지식을 시작 장으로 다루고 있으므로 어느 정도 수학에 관한 지식이 있는 분이 읽기 시작하시길 권한다.  


    DirectX 12를 이용한 3D 게임 프로그래밍 입문를 읽으며…….

     용책과 해골책을 비롯하여 수많은 3D관련 게임 프로그래밍 책과 본 서를 읽으면서 느낀점은 3D 프로그래밍을 잘 하기 위해서는 어느 정도 수학적 지식이 뒷받침되어야 한다는 것이다. 만약 수학적 지식이 전혀 전무한 상태로 3D 프로그래밍을 입문한다면 마치 초등학생에게 고등 수학을 가르치는 것처럼 굉장히 힘들고 아무 것도 모르는 아랍어를 바로 직독 직해하라는 것과 같이 무리한 공부가 될 것이다. 따라서 3D를 입문 하고자하는 분이라면 반드시 고등 기초 수학을 학습하시고 입문하시길 권한다. 무엇보다 본 서는 한국 유일무일의 3D DirectX 12와 관련된 바이블이므로 가지고 있는다면 언젠가 반드시 쓸모가 있을 그러한 책임에 틀림없다.



     

    【점수…….】

    구성 : ★★★★☆ 내용:★★★★☆  디자인: ★★★★☆ 전문성 : ★★★★☆


    #본 리뷰는 리뷰자 김종욱의 저작권에 귀속되므로 참고시 참고 URL 명시 및 저작자에게 사용 통보를 해 주시기 바랍니다.

    #본 리뷰의 점수 및 평가 내용은 김종욱 리뷰자의 한정된 것이므로 지극히 주관된 평가 임을 명시합니다.

    #학습과 관련된 질문과 문제에 대한 질문은 일절 받지 않습니다. 스스로 찾아서 학습하는 것 그것이야 말로 진정한 학습자입니다. 



    ######  감사합니다  ######  

  • 사실 DirectX9 이후로는 게임 시장이 모바일위주 시장으로 이동과 더불어 상용엔진 위주로 프로젝트를

    진행하다 보니 DirectX나 OpenGL과 같은 3D API를 할 일이 많이 줄어 들었다.

    하지만 그럼에도 3D API를 직접 짜 보는 일(software renderer)과 3D API를 사용하여 간단한 게임을

    만들어 보는게 여전히 중요하다고 생각한다.

    이 책은 예전에 내가 게임 프로그래머가 되기 위해 공부할 때 많은 도움을 받았던

    "DirectX9를 이용한 3D Game 프로그래밍 입문"(일명 용책) 책의 최신 개정판이다.

     

    이 책을 가볍게 읽고 난 후의 느낌은 "아, 역시 이 책은 정석 이구나" 였다.

    용책과 마찬가지로 활용법이나 응용법이 보다, 사용법에 좀 더 집중하여 쓴 책이라는 느낌을 받았다.

     

    처음에는 대부분의 3D 책의 틀대로 간단한 수학적인 내용이 나온다.

    벡터, 행렬, 변환... 이 조합은 책 살때마다 들어있어 지겹지만 사실 볼때마다 새롭게 느껴진다.

    특히 최근에는 그다지 볼 일이 없어 오랜만에 읽었더니 기억이 새록새록 떠오르는게 좋았다.

    그 이후로는 Direct 3D에 대한 기본적인 내용과 렌더링에 대한 기본적인 내용이 나온다.

    자연스럽게 이어지는 내용으로는 렌더링 내부는 어떤 순서로 이루어 지는지에 대한 설명이며

    축약해서 말하자면 렌더링 파이프라인에 대한 글이다.

    이전에는 지원하지 않았던 테셀레이션, 기하 셰이더가 시대를 반영해서 추가되어 있었다.

    조금은 지루한 개념들 설명이 끝나면 DirectX를 사용한 렌더링을 실습하면서 추가 개념들을

    익힐 수 있는 구성으로 넘어가고, 3D 렌더링에서 중요한 조명에 관한 내용이 뒤따른다.

    기본에 충실한 렌더링, 라이팅 텍스처, 블렌딩등을 DirectX 12로 하나씩 따라 구현하다보면

    어느새 DirectX12 문법이 익숙해 진다.

    문법이 익숙 해 질 때즘, 스텐실, 기하셰이더, 계산 셰이더, 테셀레이션, 등의 고급(?) 단계로 넘어가고

    용책에는 조금 약했다고 느껴지는 응용에 대한 내용이 나온다.

     

    이 책을 대략적으로 훑어보고 나서 드는 생각은 다시 하나하나씩 꼼꼼하게 읽어보고 정리하고 싶다였다.

    그만큼 책 내용이 알차게 들어 있어 다시 자세하게 읽어보고 싶어졌다.

    특히 뒤의 응용부분은 하나하나 주제로 하여 추가 구현이나 정리를 하면 재미있을 것 같다.

     

    나름 현 시대를 반영한 최신 DirectX12 바이블이며 유일한 번역서이다.

    시대가 시대인 만큼 분명 "용책"만큼의 사랑을 받기는 어렵겠지만 집에서 자체엔진을 만드는 

    사람이나, DirectX에 관심이 있는사람, 또는 PC 프로젝트를 하는 사람(DirectX 12로 게임을 제작하는

    회사가 있을까??), 또는 3D 렌더링을 공부하는 사람들 한테 좋은 지침서가 될 것이다.

    기본에 충실하고 내용이 알차서 좋다.

     

    다소 옛날 지식이나 너무 반복되는 기본내용이라고 생각할 수 도 있지만 내가 보기엔

    3D 입문서라는 명칭에 맞게 용책과 마찬가지로 기본에 충실하며, 용책보다는 좀 더 폭넓게

    쓰기 위해 노력한 부분이 보인다.

    다만 입문서기에 간단하게 맛만 보는 느낌의 주제들이 꽤 많다.

    그렇기에 좀 더 깊이있게 파이프라인을 공부하고자 하는 사람들, 셰이더 테크닉을 공부하고 싶은 사람들,

    물리적 작용에 대한 공부를 하고 싶은 사람들, 자체엔진을 만들고 싶은 사람들은 

    이 책을 지침으로 추가 공부를 하면 좋을 것 같다.

     

    입문서로서 전반적으로 균형이 잘 잡힌 좋은 책 인 것 같다.

     

부록/예제소스
자료명 등록일 다운로드
예제소스 2017-05-25 다운로드
결재하기
배송료 : 0원배송료란?

배송료 안내

  • 책, 아이템 등 상품을 3만원 이상 구매시 무료배송
  • 브론즈, 실버, 골드회원이 주문하신 경우 무료배송

무료배송 상품을 포함하여 주문하신 경우에는 구매금액에 관계없이 무료로 배송해 드립니다.

닫기

리뷰쓰기

닫기
* 도서명 :
DirectX 12를 이용한 3D 게임 프로그래밍 입문
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
DirectX 12를 이용한 3D 게임 프로그래밍 입문
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
DirectX 12를 이용한 3D 게임 프로그래밍 입문
구입처*
구입일*
부가기호*
부가기호 안내

* 회원가입후 도서인증을 하시면 마일리지 500점을 드립니다.

* 한빛 웹사이트에서 구입한 도서는 자동 인증됩니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한됩니다.

* 절판도서, eBook 등 일부 도서는 도서인증이 제한됩니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?

자료실