ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • ShaderX2: DirectX 9 셰이더 프로그래밍
    내 이야기/COM 북 2005. 10. 22. 22:57

    사용자 삽입 이미지

     

     

    지은이 Wolfgang Engel 지음  | 이창한, 신승백 옮김 


    출판사 정보문화사

     

     

     

     

     

    목차
     
     1. DirectX 고수준 셰이딩 언어 HLSL에 대한 소개(Craig Peeper & Jason L. Mitchell)

    소개
    간단한 예제
    어셈블리 언어와 컴파일 타겟
    하드웨어에 대한 현실적 고려
    컴파일 실패
    커맨드라인 컴파일러 - fxc
    언어의 기초
    키워드
    데이터 유형
    형 수정자(type modifier)
    스토리지 클래스 수정자(storage class modifier)
    초기화
    벡터로 작업하기
    생성자(constructor)
    형 변환(type casting)
    구조체(structure)
    샘플러(sampler)
    내장 함수
    수학 내장 함수
    텍스처 샘플링 내장 함수
    셰이더 입력
    uniform 입력
    varying 입력
    셰이더 출력
    셰이더의 적용 예
    최적화
    행렬 데이터형의 사용법
    정수 데이터형의 사용법
    조건 분기와 성능
    입력 데이터형 선언의 중요성
    정밀도 문제(logp, expp, lit)
    ps_1_x 컴파일 타겟의 사용
    ps_1_x 타겟을 위한 전략
    D3DX Effect를 사용하여 엔진에 적용하기
    Effect 파일
    Effect API
    D3DX Effect를 사용하지 않고 엔진에 적용하기
    상수 테이블
    SDK 업데이트
    결론
    감사의 말


    2. Vs_3_0 및 ps_3_0 셰이더 모델 소개(Nicolas Thibieroz, Kristof Beets, Aaron Burton)

    소개
    Vs_3_0과 ps_3_0의 일반적인 기능
    유연한 입.출력 선언
    조건자(Predication)
    정적, 동적 조건 분기
    임의의 스위즐(Arbitary Swizzle)
    텍스처 명령어 상의 쓰기 금지 마스크
    vs_3_0의 기능
    레지스터
    명령어
    텍스처 샘플링
    정점 스트림 빈도
    ps_3_0 기능
    레지스터
    명령어
    무제한의 텍스처 샘플과 의존적 읽기
    결론
    참고 자료


    3. Direct3D 9로 구현한 향상된 조명과 셰이딩(Michal Valient)

    소개
    픽셀 당 퐁(phong)
    퐁 조명 방정식
    정점과 픽셀 셰이더 2.0
    정점과 픽셀 셰이더 3.0
    프레넬 항을 이용한 픽셀 당 환경 범프 매핑
    수학적 배경
    정점 셰이더
    픽셀 셰이더 1.4
    픽셀 셰이더 2.0
    HLSL 버전
    진보적인 모델을 위한 배경 지식
    구 좌표계
    표면의 거칠기
    마스킹과 섀도잉
    오렌-나야르 모델
    셰이더들
    HLSL 버전
    쿡-토르란스 모델
    셰이더 2.0
    셰이더 1.4
    HLSL 버전
    품질 비교
    결론
    참고 자료


    4. 다양한 안개 효과 소개(Markus Nuebel)

    소개
    안개 계산 이면의 이론
    기법 하나: 선형 안개
    안개 방정식
    구현
    기법 둘: 지수 안개
    안개 방정식
    구현
    기법 셋: 지수 제곱 안개
    안개 방정식
    구현
    기법 넷: 레이어 안개
    이론과 방정식
    구현
    기법 다섯: 움직이는 안개
    이론과 방정식
    구현
    결론
    참고 자료


    5. Direct3D 9로 구현한 그림자 매핑(Michal Valient)

    소개
    그림자 알고리즘(Shadow Algorithm)
    깊이 보정 문제
    그림자 맵 필터링
    그림자 맵 생성을 위한 셰이더
    최종 렌더링을 위한 셰이더
    결론
    참고 자료


    6. 스텐실 그림자 입체 이론(Hun Yen Kwoon)

    소개
    그림자 입체의 개념
    depth-pass(z-pass)
    depth-fail(z-fail)
    문제와 해법
    유한 그림자 덮개
    고스트 그림자
    시야 절두체 절단
    CPU에서의 실행
    어떤 방식으로 실행되나?
    외곽선 찾기
    그림자 입체 만들기
    그림자 입체 덮개
    Depth-pass 스텐실 작업(DepthPassCPU)
    Depth-fail 스텐실 작업(DepthFailCPU)
    그림자 입체 덮개의 렌더링
    GPU(셰이더)에서의 실행
    어떤 방식으로 실행되나?
    데이터의 전처리
    셰이더에서 그림자 입체 만들기
    정점 셰이더에서 실행하기(FiniteGPU)
    정점 셰이더에서 실행하기(InfiniteGPU)
    셰이더 방식이 더 좋은가?
    DirectX 9 HLSL 샘플
    효율과 견고함
    많은 것을 위해 적게 사용하라
    가능한 한 편법을 사용하라
    보이지 않는 영역의 계산
    안쪽과 바깥쪽의 장면 관리
    언제나 효과적인 전환을 하라
    혼합과 배치
    결론
    참고 자료


    7. 렌더몽키를 사용한 셰이더 개발(Natalya Tatarchuk)

    소개
    IDE 개괄
    기본 조명 효과 제작
    실행 시간 데이터베이스 개괄
    작업 공간 뷰
    변수 생성과 관리
    미리 정의된 렌더몽키 변수들
    스트림 매핑 모듈
    모델 관리
    효과 관리
    픽셀과 정점 셰이더들
    셰이더 편집하기
    정점 셰이더 설정과 편집
    셰이더 컴파일하기
    출력 창
    셰이더 어셈블리 혹은 컴파일 에러
    어셈블리 편집하기
    픽셀 셰이더 설정과 편집
    미리보기 창
    변수 편집하기
    렌더 스테이트 블록 관리
    렌더몽키에서의 텍스처링
    텍스처 오브젝트
    HLSL 셰이더로 텍스처 사용하기
    텍스처에 렌더링하기
    렌더 패스
    렌더 가능한 텍스처 지원
    렌더 가능한 텍스처 편집
    렌더 타겟 편집하기
    아티스트 편집기
    아티스트 편집 모듈에서 변수 편집
    요약


    8. 셰이더 친화적 3D 모델 제작을 위한 팁(Gim Guan Chua)

    소개
    적절한 텍스처 좌표 생성하기
    "정점 가중치"의 영향
    비볼록(Non-Convex) 평면의 문제
    결론

    찾아보기 

    댓글