목차 일부
번역 용어집 ... 7
머리말 ... 9
소개 ... 12
Part 1 쉐이더 어셈블리 언어 프로그래밍
Chapter 1 버텍스 쉐이더 소개 ... 19
버텍스 처리 ... 20
버텍스 쉐이더 튜토리얼 1 : 버텍스 변환 ... 23
버텍스 쉐이더 튜토리얼 la : 디퓨즈 색상 추가하기 ... 38
요약 .....
더보기
목차 전체
번역 용어집 ... 7
머리말 ... 9
소개 ... 12
Part 1 쉐이더 어셈블리 언어 프로그래밍
Chapter 1 버텍스 쉐이더 소개 ... 19
버텍스 처리 ... 20
버텍스 쉐이더 튜토리얼 1 : 버텍스 변환 ... 23
버텍스 쉐이더 튜토리얼 la : 디퓨즈 색상 추가하기 ... 38
요약 ... 43
Chapter 2 버텍스 쉐이더 가상머신 ... 45
가상머신 개념도 ... 46
쉐이더 레이아웃 ... 47
레지스터 ... 49
명령 ... 53
선언 명령 ... 54
산술 명령 ... 55
매크로 명령 ... 56
텍스처 명령 ... 57
흐름 제어 명령 ... 57
수식어에 의한 가상머신의 확장 ... 58
버텍스 쉐이더 버전 비교 ... 61
요약 ... 62
Chapter 3 버텍스 쉐이더 예제 ... 63
예제 1 : Vertex Shader Fog ... 64
예제 2 : 버텍스 쉐이더 SDK 샘플 ... 69
예제 3 : 버텍스 블렌드 SDK 예제 ... 80
요약 ... 91
Chapter 4 픽셀 쉐이더 가상머신 ... 93
픽셀 처리 ... 94
픽셀 쉐이더 가상머신 블록 다이어그램 ... 99
쉐이더 레이아웃 ... 100
레지스터 ... 102
버전 1_1부터 1_4의 레지스터 ... 103
ps_2_0 및 이후 버전의 레지스터 ... 104
ps_3_0 및 이후 버전의 레지스터 ... 106
명령 ... 107
선언 명령 ... 109
산술 명령 ... 110
매크로 명령 ... 111
텍스처 명령 ... 112
흐름 제어 명령 ... 114
명령 집합 요약 ... 115
수식어에 의한 가상머신의 확장 ... 115
버전 1_1부터 1_4의 수식어 ... 117
ps_2_0 및 이후 버전의 수식어 ... 118
픽셀 쉐이더 버전별 차이 ... 119
요약 ... 120
Chapter 5 픽셀 쉐이더 예제 ... 121
예제 1 : 2-D 이미지 프로세싱 ... 122
예제 2 : 멀티레이어 텍스처 ... 129
Part 2 HLSL 쉐이더 프로그래밍
Chapter 6 HLSL 소개 ... 139
튜토리얼 1 : 버텍스 쉐이더의 시작 : Hello World ... 141
Diffuse 색상 추가하기 ... 144
튜토리얼 2 : 픽셀 쉐이더 추가 ... 146
보색 ... 150
어둡게 하기 ... 151
빨간색 제거 ... 152
빨간색만 나타내기 ... 152
튜토리얼 3 : 절차적 텍스처 추가하기 ... 153
튜토리얼 만들기 ... 156
리소스 생성 ... 157
렌더링 ... 165
요약 ... 166
Chapter 7 언어 ... 167
데이터 타입 ... 168
스칼라 타입 ... 168
변수 선언 ... 169
타입 수식어 ... 169
기억 부류 수식어 ... 171
Semantics(시멘틱 또는 의미) ... 172
Annotations(주해) ... 173
벡터 타입 ... 173
행렬 타입 ... 176
생성자 ... 183
캐스트 ... 183
정수의 산술 연산 ... 184
복잡(Complex) 데이터 타입 ... 185
수식과 문장 ... 192
문장 ... 199
함수 ... 205
함수 선언 ... 206
함수 구현부 ... 215
내장 함수 ... 215
요약 ... 217
Chapter 8 HLSL 예제 ... 219
그로우 예제 ... 220
텍스처 적용 ... 222
그로우 추가 ... 234
번쩍임(Sparkle) 예제 ... 245
버텍스 쉐이더 ... 249
텍스처 쉐이더 ... 252
픽셀 쉐이더 ... 254
diffuse ... 257
diffuse와 광택 ... 257
diffuse, 광택 그리고 번쩍임 ... 257
버텍스와 픽셀 쉐이더 생성 ... 257
절차적 텍스처 생성 ... 260
환경 맵 생성 ... 262
메쉬 생성 ... 263
렌더링 ... 268
EffectEdit에서 HLSL 실험 ... 269
요약 ... 270
Part 3 이펙트 프로그래밍
Chapter 9 이펙트 소개 ... 273
이펙트와 3-D 파이프라인 ... 274
이펙트에서의 버텍스 쉐이더 어셈블리 언어 ... 275
이펙트 전역변수 ... 277
이펙트 스테이트 ... 278
HLSL 버텍스 쉐이더 ... 282
이펙트의 특징 ... 286
스테이트 저장과 복구 ... 286
복수 테크닉과 패스의 사용 ... 288
공유 파라미터 ... 291
파라미터 검색을 위한 시멘틱의 사용 ... 292
파라미터 접근과 변환을 위한 핸들 사용 ... 292
주해를 통한 파라미터 정보 추가 ... 293
이펙트 만들기 ... 294
이펙트 생성 ... 294
이펙트 검증 ... 296
이펙트 렌더링 ... 297
요약 ... 299
Chapter 10 어셈블리 언어 이펙트 예제 ... 301
예제 1 : 어셈블리 버텍스 쉐이더와 조명 ... 302
예제 2 : 버텍스 쉐이더 어셈블리와 픽셀 쉐이더 어셈블리를 이용한 텍스처링 ... 309
예제 3 : 버텍스 쉐이더 어셈블리를 사용한 환경 맵 ... 317
Chapter 11 HLSL 이펙트 예제 ... 329
예제 1 : 버텍스 쉐이더와 픽셀 쉐이더를 이용한 픽셀별 조명 ... 330
예제 2 : 다중 패스 렌더링과 알파 블렌딩 ... 337
EffectEdit : 상호작용을 지원하는 이펙트 개발 환경 ... 348
코드 패널 ... 348
렌더 패널 ... 349
렌더링 옵션 패널 ... 349
컴파일 결과 패널 ... 350
EffectEdit를 사용하여 이펙트 실행하기 ... 350
예제 3 : 반구 조명 ... 352
Appendix A 버텍스 처리 ... 363
Appendix B 어셈블리 쉐이더 명령 ... 383
Appendix C HLSL 레퍼런스 ... 427
Appendix D 이펙트(Effect) 레퍼런스 ... 493
Index ... 521
더보기 닫기