I   회사소개  I  사이트맵  I  도움말
인기검색어
  ID저장
 
회원가입 I 아이디/비밀번호찾기
ㆍOS / 하드웨어 / 서버군
ㆍOA / 오피스 / 전자출판
ㆍ아이폰 / 안드로이드
ㆍ디지털 포토그래피
ㆍ그래픽 / 홈페이지
ㆍ인터넷 프로그래밍
ㆍ일반프로그래밍
ㆍ게임프로그래밍
ㆍSNS / E-Business
ㆍ데이터베이스
ㆍ기 타
ㆍ길라잡이
ㆍ실력이 탐나는
ㆍ회사 실무에 힘을 주는
ㆍ예제가 가득한
ㆍ그림 한 장으로 보는
ㆍ디지털 포토그라피
ㆍ그래픽/홈페이지
페이스북 블로그 네이버포스트
관련분류 : 게임/게임 프로그래밍 / DirectX/OpenGL/3D 프로그래밍
Cg로 배우는 셰이더 프로그래밍 - 절판
크게보기 l 차례보기
ㆍ저 자 Randima Fernando , Mark J. Kilgard
ㆍ역 자 김규열
ㆍ구 분 번역서
ㆍ발행일 2004년 03월 25일
ㆍ정 가 18,000원
ㆍ페이지 350 페이지
ㆍISBN 89-5674-178-6
ㆍ난이도 초급.중급
ㆍ출판사 정보문화사
Cg(그래픽용 C)는 여러 플랫폼 상에서 특수 효과들과 실시간 영화 품질의 영상을 빠르게 제작하기 위한 완벽한 프로그래밍 환경이다.

새로운 수준의 추상화를 제공함으로써, Cg는 개발자들이 그래픽 하드웨어의 어셈블리 언어로 프로그램할 필요 없이 OpenGL, DirectX, Windows, Linux, Mac OS X 그리고 Xbox 같은 콘솔 플랫폼들을 좀더 직접적인 목표로 삼을 수 있도록 해준다. Cg는 엔비디아와 마이크로소프트의 공조로 개발되었으며, 특히 마이크로소프트는 Cg를 HLSL이라는 이름으로 DirectX 9에 포함시켰다. 또한 Cg는 마이크로소프트의 DirectX 9 HLSL은 물론 OpenGL API와도 호환된다.
'Cg로 배우는 셰이더 프로그래밍'은 현재 프로그래밍 가능한 GPU 아키텍처에서 기본과 고급 기법 둘 모두를 어떻게 구현할 수 있는지를 설명한다.

이 책이 다루는 주요한 주제들
  • 3D 변환

  • 정점 당 그리고 픽셀 당 조명

  • 스키닝 그리고 키-프레임 보간

  • 환경 매핑

  • 범프 매핑

  • 안개

  • 성능 최적화

  • 투영 텍스처링

  • 카툰 셰이딩

  • 합성


  • "Cg는 프로그래밍 가능한 하드웨어의 새로운 세대의 능력을 풀 수 있는 열쇠이다. 이 책은 Cg의 완벽한 소개서이고 고품질의 실시간 그래픽 프로그래밍을 하는 모든 사람에게 필독서가 될 것이다. '최신 셰이더 프로그래밍: DirectX 9 HLSL & CG 튜토리얼'은 실시간 애플리케이션에서 전에는 불가능하였던 효과들을 Cg를 사용해서 제작할 수 있도록 알려준다."
    - Larry Gritz, 「Advanced Renderman」(Morgan Kaufmann, 2000)의 저자

    "중요하고 시기 적절한 책 : 픽셀 수준의 절차적인 텍스처들(애니메이션되는 구름, 불, 물, 절차적인 방법의 모든 것)이 마침내 영화 화면에서 데스크톱으로 옮겨왔다. C와 유사한 언어를 통해서 이러한 강력한 계산 능력을 제어하는 것은 그래픽 분야를 흥미로운 새로운 시대로 안내하는 것이다."
    - Ken Perlin, 뉴욕 대학 교수

    [저자 소개]
    Randima(Randy) Fernando는 엔비디아 사의 개발자 교육 책임자이고, Mark J. Kilgard는 엔비디아 사의 책임 소프트웨어 기술자이며 「OpenGL Programming for the X Window System」(Addison-Wesley, 1996)의 저자이기도 하다.
     
    토마스 쿤이 패러다임이라는 용어를 사용한 이후에 우리는 이 용어를 상당히 많이 사용하는 것 같다. 그래서 패러다임이라는 용어가 무슨 뜻인가를 인터넷에서 살펴보다가 ‘어떤 한 시대 사람들의 견해나 사고를 지배하고 있는 이론적 틀이나 개념의 집합체’라는 정의를 보게 되었다. 그러면 실시간 3D 그래픽 프로그래머들의 패러다임은 무엇인가? 아마도 현재까지 가장 큰 패러다임은 다각형(Polygon)일 것이다. 3D 그래픽 가속기를 이용해서 우리는 다각형을 그린다. 3D 게임에 나오는 모든 것이 다각형이다. 우리가 사용하는 몇몇 알고리즘들은 다각형에서만 작동하기도 한다(그림자 입체가 대표적인 예다). 그런데 개인적으로는 다각형보다 더 3D 그래픽 프로그래머들의 사고를 제한하고 있던 것은 3D 그래픽 가속기 그 자체였다고 보는 것이 맞는 것 같다. 3D 그래픽 가속기의 제한 사항(이미 회로로 구워진 알고리즘들)이 실시간 3D 그래픽 프로그램의 제한 사항이었다고 해도 과언이 아니었다.

    무어의 법칙에 따라서 그래픽 가속기도 그 성능이 증대되었지만, 프로그래머들의 패러다임을 바꾸지는 못했다. 헌데 2001년도에 엔비디아 사에서 출시한 한 그래픽 가속기의 등장으로 프로그래머들의 패러다임이 바뀌기 시작했다. 그것은 바로 프로그래밍 가능한 GPU였다. 그 전까지 우리의 알고리즘은 그래픽 가속기의 회로 위의 알고리즘만을 따라갈 수밖에 없는 2D적인 틀 속에 있었고 프로그래머들은 아주 제한적인 방법으로만 새로운 알고리즘들을 표현해볼 수 있었다. 그런데 이제 그래픽 파이프라인에서 특정 두 부분들에 프로그래밍 가능한 처리 장치들의 도입으로 날개를 얻어 이제 가속기의 한계보다 프로그래머들의 상상력에 한계를 더욱 더 신경 써야 되는 시점이 되고야 말았다.

    이 새로운 패러다임은 개발자의 능력의 격차를 확연히 드러나게 한다. 제한된 사항에서는 아무리 뛰어난 사람도 그 능력에 제한을 받기 때문에 그릇의 크기를 알 수 없지만, 이제는 알 수 있는 시대가 온 것이다. 결국 이 새로운 패러다임에 빨리 적응하는 것이 중요하다는 것이다. 처음 셰이더 프로그래밍이 어셈블리였기 때문에 학습을 하는 데 어려움이 많았지만 이제 HLSL, Cg 그리고 slang처럼 고급 셰이더 언어들이 등장하면서 셰이더 프로그래밍의 보급이 더욱 가속화되고 있다. 실시간 3D 그래픽 프로그래머로 일하는 사람이나 그 일을 하고 싶은 지망생이나 셰이더 언어를 익히는 것이 이제는 필수적인 사항인 것으로 생각된다.

    지금까지 왜 Cg 같은 셰이더 프로그램을 배워야 하는가에 대한 당위성 측면에서 개인적인 생각을 피력해보았다. 이제 이 책에 대해서 잠시 이야기를 하자면, 1장의 Cg 개발 역사에서도 언급을 하겠지만 Cg는 엔비디아와 마이크로소프트의 공동 작업의 산출물로 엔비디아는 그 산출물을 Cg라고 이름을 지었고 마이크로소프트는 HLSL이라는 이름으로 DX9에 포함시켰다. 이 책에서 1장 이외에 나오는 모든 Cg라는 단어를 HLSL로 바꾸어도 전혀 문제가 없으며 차이점이 있을 때는 그 차이점에 대해서 언급을 하였다. 그런데 책의 흐름을 깨지 않도록 하기 위해서 되도록 역주를 다는 대신에 본문에 그 내용들을 삽입했으며 Cg 언어가 지원하지 않는 픽셀 셰이더 1.4에 대한 내용도 추가하였고 Cg와 HLSL의 표준 함수에 약간의 차이가 있는데 그 부분도 정확하게 명시를 해놓았다.

    그리고 번역서가 나오기 전까지 알려진 원서의 오류에 대해서도 모두 수정해서 번역하였다. 이 책은 전반적으로 예제 중심으로 언어와 그래픽 알고리즘을 동시에 설명하고 있기 때문에 학습 시 일석이조의 효과가 있으며, 알고리즘에 대한 설명이 상당히 잘 설명되었고(물론 모자란 부분들에 대해서는 마지막에 소개된 참고 문헌들을 참고하면 될 것이다) 언어에 대한 설명도 군더더기가 없어서, 셰이더 언어를 전혀 모르는 사람이 보기에도 좋고 프로그래머가 아닌 Cg를 사용해서 DCC에서 자신만의 셰이더를 만들어보고 싶은 그래픽 디자이너에게도 유용한 책이 될 것 같다.
     
    이 책에 있는 샘플 프로그램들을 구동하기 위해 필요로 하는 툴들이 수록
     
    "정보문화사-게임 프로그래밍" 관련도서는 총 38권 입니다.
    - Game Programming Gems 5
    - OpenGL Super Bible 제3판
    - AI Game Programming Wisdom 2
    - Game Programming Gems 4
    - OpenGL 프로그래밍 가이드 : OpenGL 1.4 공식 학습 가이드 제4판
    - OpenGL Extensions Guide
    - ShaderX² : DirectX 9 셰이더 프로그래밍 팁 & 트릭
    - 게임 프로그래밍의 핵심 법칙
    - ShaderX² : DirectX 9 셰이더 프로그래밍
    - DirectX 9를 이용한 전략 게임 프로그래밍
    - 3D 게임 프로그래밍 & 컴퓨터 그래픽을 위한 수학 제2판
    - C++와 DirectX 9를 이용한 실시간 3D 지형 엔진
    - 쉽게 풀어 쓴 인공지능(AI) 게임 프로그래밍
    - Cg로 배우는 셰이더 프로그래밍
    - DirectX 9를 이용한 3D 게임 프로그래밍 입문
    - 게임 프로그래머를 위한 C++
    - 최고의 전문가들에게 배우는 온라인 게임 개발 테크닉
    - Game Coding Complete
    - 게임 프로그래머를 위한 자료구조와 알고리즘
    - Real-Time Rendering 2판
    - 온라인 게임 기획 & 인터랙티비티
    - 게임 속 무한 우주 : 레벨 디자인, 지형 그리고 사운드
    - Direct3D ShaderX 정점 & 픽셀 셰이더 팁과 트릭
    - 게임 개발 프로젝트를 성공으로 이끄는 게임 기획 & 디자인
    - 초보자를 위한 게임 프로그래밍
    - DirectX 비주얼 베이직 게임 프로그래밍
    - Game Programming Gems 3
    - AI Game Programming Wisdom
    - DirectX 실시간 렌더링 실전 테크닉
    - 3D 캐릭터 애니메이션 프로그래밍
    - 게임 프로그래머에게 배우는 게임 개발 테크닉
    - 3D 게임 프로그래밍 & 컴퓨터 그래픽을 위한 수학
    - DIRECTX 8.x를 이용한 3D 게임 프로그래밍
    - 로우 폴리곤 테크닉을 활용한 게임 모델링
    - 게임 개발 수학적 테크닉
    - Game Programming Gems 2
    - OpenGL Game Programming
    - 게임 디자인 이론과 실제
     
                                      
    회사소개      개인정보취급방침      고객센터     사이트맵      도움말