목차
번역 용어집 ... 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
닫기