목차 일부
CHAPTER 1 <B><FONT color ... #0000
Section 01 장치 설정 ... 16
1.1 장치 설정에 필요한 Direct 3D 함수 ... 16
[소스 1-1] 3D 설정 함수 ... 16
LPDIRECT3D9 ... 17
LPDIRECT3DDEVICE9 ... 17
...
더보기
목차 전체
CHAPTER 1 <B><FONT color ... #0000
Section 01 장치 설정 ... 16
1.1 장치 설정에 필요한 Direct 3D 함수 ... 16
[소스 1-1] 3D 설정 함수 ... 16
LPDIRECT3D9 ... 17
LPDIRECT3DDEVICE9 ... 17
IDirect3D9, *Direct3DCreate9(UNIT SDKVersion) ... 17
IDirect3D9::CreateDivece(...) ... 17
[소스 1-2] CreateDevice 함수 ... 18
1.2 3D 디바이스 설정 인자 ... 19
[소스 1-3] D3DPRESENT_PARAMETERS 구조체 ... 19
1.3 사용 가능한 3D 장치 찾기 ... 22
3D 장치 검색 함수 ... 22
[소스 1-4] 3D 장치 검색 함수 ... 22
[소스 1-5] D3DADAPTER_IDENTIFIER9 구조체 ... 25
[소스 1-6] D3DDISPLAYMODE 구조체 ... 27
1.4 3D 장치 설정 예제 ... 27
〈예제 1-1〉 3D 장치 설정 ... 28
[소스 1-7] 장치 설정 클래스에 사용된 기타 함수 ... 37
[소스 1-8] D3DSURFACE_DESC 구조체 ... 40
Section 02 기본 모델 구조 ... 42
2.1 모델 기본 구조 ... 42
2.2 모델 생성에 필요한 함수들 ... 44
[소스 1-9] 모델 생성에 필요한 함수 ... 44
2.3 모델 생성 소스 ... 47
[소스 1-10] 기본 모델 클래스 헤더 ... 47
[소스 1-11] 모델 클래스 소스 ... 49
2.4 모델 그리기 관련 함수 ... 57
[소스 1-12] 그리기 관련 함수 ... 57
Section 03 텍스처 설정 ... 59
3.1 텍스처 설정 ... 59
[소스 1-13] 텍스처 클래스 헤더 ... 60
[소스 1-14] 텍스처 클래스 함수 소스 ... 62
F_Texture::Create_Texture_Buffer() ... 63
F_Texture::Set_Texture_Buffer() ... 63
[소스 1-15] D3DLOCKED_RECT 구조체 ... 64
[소스 1-16] LockRect 함수 ... 64
3.2 텍스처 사용 ... 65
〈예제 1-3〉 텍스처 렌더링 ... 65
LRESULT CALLBACK WndProc() ... 70
BOOL Init_3D_Object() ... 70
BOOL Main_Render() ... 71
Section 04 동작 설정 ... 73
4.1 모델의 연결 ... 73
4.2 움직임 변환 ... 75
[소스 1-17] 모델 설정과 동작 지정 ... 75
모델의 점 데이터 ... 80
모델의 인덱스 데이터 ... 81
모델의 연결 구조 ... 81
모델의 움직임 설정 ... 82
Sectio 05 3D 연산 ... 83
5.1 벡터 연산 ... 83
5.2 행렬 연산 ... 85
CHAPTER 2 모델 구조
Sectio 01 점, 선, 면 ... 90
1.1 점 렌더링 ... 90
[소스 2-1] 점 모델 클래스 ... 91
〈예제 2-1〉 점 렌더링 예제 ... 94
점 버퍼 설정 ... 98
점 데이터 설정 ... 98
점 버퍼에 저장 ... 98
렌더링 ... 98
1.2 선 렌더링 ... 99
선 리스트 ... 100
[소스 2-2] 선 리스트 소스 ... 100
〈예제 2-2〉 선 리스트 예제 ... 102
선 스트립 ... 104
[소스 2-3] 선 스트립 소스 ... 104
〈예제 2-3〉 선 스트립 예제 ... 106
1.3 면 렌더링 ... 108
삼각형 리스트 ... 108
[소스 2-4] 삼각형 리스트 소스 ... 109
〈예제 2-4〉 삼각형 리스트 렌더링 ... 111
삼각형 스트립 ... 113
[소스 2-5] 삼각형 스트립 소스 ... 114
〈예제 2-5〉 삼각형 스트립 렌더링 ... 116
삼각형 팬 ... 118
[소스 2-6] 삼각형 팬 소스 ... 118
〈예제 2-6〉 삼각형 팬 렌더링 ... 121
Section 02 조합 모델 ... 123
2.1 부분 모델의 연결 ... 124
[소스 2-7] 조합 모델 클래스(부분 모델의 연결) ... 124
조합 모델 클래스 헤더 : F_Link_Model.h ... 128
조합 모델 클래스 소스 : F_Link_Model.cpp ... 129
예제 살펴보기 ... 132
[함수 2-1] 조합 모델 클래스에 사용된 Direct3D 함수 ... 132
〈예제 2-7〉 조합 모델의 연결 ... 134
2.2 종속 모델의 이동 ... 137
조합 모델 클래스 : 부분 모델 이동 ... 138
[소스 2-8] 조합 모델 클래스(부분 모델의 이동) ... 138
조합 모델 이동 예제 ... 142
〈예제 2-8〉 조합 모델의 이동 ... 143
2.3 종속 모델의 회전 ... 145
[소스 2-9] 조합 모델 클래스(부분 모델의 회전) ... 146
[함수 2-2] 조합 모델 클래스에 사용된 Direct3D 함수 ... 151
〈예제 2-9〉 조합 모델의 회전 ... 152
Section 03 통합 모델 ... 155
3.1 통합 모델의 부분 연결 ... 156
[소스 2-10] 통합 모델 클래스(부분 연결) ... 156
통합 모델 클래스 헤더 : F_Model_T.h ... 166
통합 모델 클래스 소스 : F_Model_T.cpp ... 168
〈예제 2-10〉 통합 모델의 부분 연결 ... 173
3.2 통합 모델의 부분 이동 ... 176
[소스 2-11] 통합 모델 클래스(부분 이동) ... 177
〈예제 2-11〉 통합 모델의 부분 이동 ... 181
3.3 통합 모델의 부분 회전 ... 184
[소스 2-12] 통합 모델 클래스(부분 회전) ... 184
[함수 2-3] Direct3D의 벡터 연산 함수 ... 191
예제 살펴보기 : 통합 모델의 부분 회전 ... 192
〈예제 2-12〉 통합 모델의 부분 회전 ... 193
Section 04 화면 모델 구조 ... 195
4.1 데이터 구조 ... 195
[소스 2-13] 화면 모델 구조체 ... 196
4.2 화면 모델 클래스 설정 ... 197
[소스 2-14] 화면 모델 클래스 ... 197
4.3 화면 모델 렌더링 예제 ... 204
〈예제 2-13〉 화면 모델 예제 ... 205
CHAPTER 3 텍스처 구조
Section 01 텍스처 클래스 ... 210
1.1 텍스처 클래스의 기본 구조 ... 211
[소스 3-1] 텍스처 클래스 헤더 ... 211
A_Alpha가 TRUE인 경우 ... 212
알파를 포함하고 있지 않은 경우 ... 213
Section 02 BMP 구조 ... 214
[소스 3-2] BMP 파일 읽기 ... 215
2.1 F_Texture::Create_Texture_Buffer() ... 218
2.2 BOOL F_Texture::Load_BMP_File() ... 218
파일 열기 공통 대화상자 호출 ... 218
비트맵 파일 정보 읽기 ... 219
16비트 텍스처 포맷으로 변경 ... 219
텍스처에 저장 ... 220
Section 03 포맷 변환 ... 221
[소스 3-3] 16비트 RGB 변환(10진수 연산) ... 222
[소스 3-4] 16비트 RGB 변환(비트 연산) ... 223
〈예제 3-1〉 비트맵 포맷 변환 ... 225
Section 04 텍스처 파일 처리 ... 227
4.1 텍스처 파일 처리 함수 ... 227
[소스 3-5] 텍스처 파일 처리 ... 227
4.2 Save_Load_Texture() 함수의 사용 방법 ... 232
〈예제 3-2〉 텍스처 파일 처리 ... 232
Section 05 텍스처 라이브러리 ... 236
5.1 텍스처 라이브러리 클래스 만들기 ... 236
[소스 3-6] 텍스처 라이브러리 클래스 ... 236
텍스처 라이브러리 클래스 헤더 : F_Texture_Lib.h ... 242
텍스처 라이브러리 클래스 소스 : F_Texture_Lib.cpp ... 243
5.2 텍스처 라이브러리 만들기 ... 245
〈예제 3-3〉 텍스처 라이브러리 작성 도구 ... 245
CHAPTER 4 동작 구현
Section 01 동작 구조 ... 256
1.1 동작을 표현하기 위해 필요한 내부 정의 ... 257
초당 프레임 수 ... 257
경로의 개수 ... 257
경로에 사용되는 프레임 수 ... 258
총 프레임 수 ... 258
1.2 구분 동작 구조체 ... 258
[소스 4-1] 구분 동작 구조체 ... 258
1.3 완성 모델 구조체 ... 260
[소스 4-2] 동작 구조체 ... 260
Section 02 동작 클래스 ... 263
2.1 동작 클래스 소스 보기 ... 263
[소스 4-3] 동작 클래스 ... 263
2.2 소스 분석 ... 274
Section 03 조합 모델의 동작 설정 ... 284
3.1 조합 모델 클래스 소스 보기 ... 284
[소스 4-4] 조합 모델 클래스(동작 추가) ... 284
동작 클래스를 위해 추가된 항목 ... 290
소스 분석 ... 291
3.2 조합 모델의 동작 예제 ... 293
〈예제 4-1〉 조합 모델의 동작 ... 294
Section 04 통합 모델의 동작 설정 ... 303
4.1 통합 모델 클래스 소스 보기 ... 303
[소스 4-5] 통합 모델 클래스(동작 추가) ... 303
4.2 통 모델의 동작 예제 ... 312
〈예제 4-2〉 통합 모델의 동작 ... 313
CHAPTER 5 3D 파일 처리
Section 01 파일 처리 ... 320
1.1 WIN32API 파일 처리 함수 ... 320
[소스 5-1] WIN32API 파일 처리 함수 ... 320
HANDLE CreateFile() ... 321
BOOL CloseHandle() ... 322
BOOL ReadFile() ... 322
BOOL WriteFile() ... 323
DWORD SetFilePointer() ... 323
DWORD GetFileSize() ... 324
Section 02 일반 모델 파일 ... 325
2.1 일반 모델 파일 저장과 읽기 소스 ... 325
[소스 5-2] 일반 모델 파일 함수 ... 325
2.2 소스 살펴보기 ... 328
파일 저장 과정 ... 329
읽기 과정 ... 331
Section 03 통합 모델 파일 ... 335
3.1 통합 모델 소스 ... 335
[소스 5-3] 통합 모델 파일 함수 ... 335
3.2 함수 세부 보기 ... 339
파일 저장 과정 ... 339
읽기 과정 ... 342
Section 04 화면 모델 파일 ... 346
4.1 화면 모델 소스 보기 ... 346
[소스 5-4] 화면 모델 파일 함수 ... 346
4.2 화면 모델 소스 살펴보기 ... 348
파일 저장 ... 348
파일 읽기 ... 349
Section 05 3DS 파일 읽기 ... 351
5.1 3DS 파일 클래스 헤더 ... 351
[소스 5-5] 3DS 파일 클래스 헤더 ... 351
5.2 3DS 파일 클래스 헤더 소스 분석 ... 355
5.3 3DS 파일 편집 예제 만들기 ... 359
〈예제 5-1〉 3DS 파일 편집 ... 359
예제에서 사용되는 전역 클래스 ... 364
LRESULT CALLBACK WndProc() ... 364
CHAPTER 6 조명과 재질
Section 01 재질 ... 372
1.1 재질 구조체 ... 372
[소스 6-1] 재질 구조체 ... 373
D3DCOLORVALUE Diffuse; ... 373
D3DCOLORVALUE Ambient; ... 373
D3DCOLORVALUE Specular; ... 374
D3DCOLORVALUE Emissive; ... 374
float Power; ... 374
1.2 재질 렌더링 상태 설정 ... 374
렌더링 상태 설정 함수 ... 374
[소스 6-2] 재질 렌더링 상태 설정 ... 375
재질 설정에 따른 효과 ... 377
Section 02 재질 클래스 ... 380
2.1 재질 클래스 헤더 ... 380
[소스 6-3] 재질 클래스 헤더 ... 380
2.2 재질 설정 ... 382
재질 클래스 소스 ... 383
[소스 6-4] 재질 클래스의 재질 설정 함수 ... 383
재질 설정 예제 ... 392
2.3 재질 데이터 관리 ... 398
재질 클래스의 재질 데이터 관리 함수 ... 398
[소스 6-5] 재질 클래스의 재질 데이터 관리 함수 ... 398
재질 데이터 작성 예 ... 403
〈예제 6-2〉 재질 데이터 작성 예제 ... 403
Section 03 조명 ... 410
3.1 졉
더보기 닫기