
000 | 00000cam c2200205 c 4500 | |
001 | 000045186509 | |
005 | 20170711094042 | |
007 | ta | |
008 | 050419s2005 ulka 001c kor | |
020 | ▼a 8956742529 ▼g 18000 | |
035 | ▼a KRIC09795399 | |
040 | ▼a 225007 ▼c 225007 ▼d 244002 ▼d 211009 ▼d 244002 ▼d 211009 | |
041 | 1 | ▼a kor ▼h eng |
082 | 0 4 | ▼a 006.6/6 ▼2 22 |
085 | ▼a 006.66 ▼2 DDCK | |
090 | ▼a 006.66 ▼b 2005 | |
245 | 0 0 | ▼a OpenGL : ▼b Superbible / ▼d Richard S. Wright, Jr., ▼e Lipchak Benjamin 외저 ; ▼e 최현호 역 |
246 | 1 9 | ▼a OpenGL superbible ▼g (3rd ed.) |
260 | ▼a 서울 : ▼b 정보문화사, ▼c 2005 | |
300 | ▼a 1177 p. : ▼b 삽화 ; ▼c 24 cm + ▼e 전자 광디스크 (CD-ROM) 1매 | |
500 | ▼a 부록수록 | |
504 | ▼a 참고문헌(p. [1161]-1162)과 색인수록 | |
653 | ▼a 3D ▼a 그래픽 | |
700 | 1 | ▼a Wright, Richard S., ▼e 저 |
700 | 1 | ▼a Benjamin, Lipachak, ▼e 저 |
700 | 1 | ▼a 최현호, ▼e 역 |
Holdings Information
No. | Location | Call Number | Accession No. | Availability | Due Date | Make a Reservation | Service |
---|---|---|---|---|---|---|---|
No. 1 | Location Science & Engineering Library/Sci-Info(Stacks1)/ | Call Number 006.66 2005 | Accession No. 121114202 | Availability Available | Due Date | Make a Reservation | Service |
No. 2 | Location Science & Engineering Library/Sci-Info(Stacks1)/ | Call Number 006.66 2005 | Accession No. 121114203 | Availability Available | Due Date | Make a Reservation | Service |
No. 3 | Location Science & Engineering Library/Sci-Info(Stacks1)/ | Call Number 006.66 2005 | Accession No. 121190670 | Availability Available | Due Date | Make a Reservation | Service |
No. 4 | Location Sejong Academic Information Center/Science & Technology/ | Call Number 006.66 2005 | Accession No. 151182211 | Availability Available | Due Date | Make a Reservation | Service |
No. | Location | Call Number | Accession No. | Availability | Due Date | Make a Reservation | Service |
---|---|---|---|---|---|---|---|
No. 1 | Location Science & Engineering Library/Sci-Info(Stacks1)/ | Call Number 006.66 2005 | Accession No. 121114202 | Availability Available | Due Date | Make a Reservation | Service |
No. 2 | Location Science & Engineering Library/Sci-Info(Stacks1)/ | Call Number 006.66 2005 | Accession No. 121114203 | Availability Available | Due Date | Make a Reservation | Service |
No. 3 | Location Science & Engineering Library/Sci-Info(Stacks1)/ | Call Number 006.66 2005 | Accession No. 121190670 | Availability Available | Due Date | Make a Reservation | Service |
No. | Location | Call Number | Accession No. | Availability | Due Date | Make a Reservation | Service |
---|---|---|---|---|---|---|---|
No. 1 | Location Sejong Academic Information Center/Science & Technology/ | Call Number 006.66 2005 | Accession No. 151182211 | Availability Available | Due Date | Make a Reservation | Service |
Contents information
Book Introduction
OpenGL의 새 버전을 사용해서 프로그램을 만드는 데 필요한 모든 내용을 다루고 있는 포괄적이고 실용적인 가이드로, 3판인 이번 책에서는 OpenGL 1.5, OpenGL 2.0의 쉐이딩 언어, ARB 저수준 쉐이더 확장, 윈도우즈뿐만 아니라 Mac OS X와 리눅스에서의 프로그래밍에 이르기까지 다양한 내용을 포함시켰다.
OpenGL을 마스터하고 그 지식을 바탕으로 그래픽 프로그램과 3D 그래픽을 만들고자 하는 개발자들을 위해 쓰여졌으며, 개념을 정리하고 이해시키는 튜토리얼일 뿐만 아니라 개발 과정에서 수시로 참고할 수 있는 레퍼런스의 역할 또한 할 수 있도록 구성되어 있다.
다음 내용들을 담고 있다
Information Provided By: :

Author Introduction
리처드 S. 라이트 주니어(지은이)
버전 1.1 이래로 18년 이상 OpenGL을 사용해왔고, 플로리다 올랜도 근처 풀세일 대학의 게임 디자인 학위 프로그램에서 10년 이상 OpenGL 프로그래밍을 가르쳐왔다. 현재 소프트웨어 비스크(Software Bisque)의 선임 연구원으로, 3D 태양계 시뮬레이터와 완전한 돔형의 천체 투영관 제작을 위한 기술 리더와 제품 관리자 역할을 하고 있고, 모바일 제품과 과학 이미징 애플리케이션 분야에서 일하고 있다. 그전에는 Real 3D/Lockheed Martin에서 정규 OpenGL ARB 소속원으로 OpenGL 1.2 명세와 적합성 테스트에 기여했다. 그 후 복수 차원의 데이터베이스 시각화 작업, 게임 개발, 의료 진단 시각화 작업, 우주항공 시뮬레이션 분야에서 윈도우, 리눅스, Mac OS X와 다양한 모바일 플랫폼으로 작업해왔다. 1978년인 8학년 때 페이퍼 터미널 위에서 프로그램을 배웠다. 16살 때 부모님이 잔디를 깎은 대가로 자동차 대신 컴퓨터를 사주었고, 그 후 일 년이 채 안 되어 그의 첫 번째 프로그램을 만들어서 팔았다(그것은 그래픽 프로그램이었다)! 고등학교를 졸업한 뒤 지역 소비자 교육 회사에서 프로그래밍과 컴퓨터 소양을 가르치는 일이 그의 첫 직업이었다. 루이빌에 있는 스피드 사이언티픽 스쿨 대학에서 전기 공학과 컴퓨터 공학을 공부했으며 고학년의 절반을 그곳에서 보낸 후 플로리다로 옮겨 그의 경력에 전성기가 만들어졌다. 켄터키의 루이빌 태생으로 현재 플로리다의 레이크 메리에 살고 있다. 프로그래밍을 하거나 폭풍을 피해 다니지 않을 때는 열정적인 아마추어 천문학자나 사진광이 된다. 그리고 자랑스러운 Mac 사용자다.
최현호(옮긴이)
(주)씨큐브 테크놀로지 개발 팀장. 1994년부터 주로 윈도우 NT, 유닉스에서 SQL 서버, 오라클 데이터베이스를 이용하여 비주얼 베이직, 파워빌더, 자바 등으로 작성된 기업 업무용 클라이언트/서버 응용 프로그램을 개발하고 있다. 옮긴 책으로 <게임 프로그래머를 위한 C++>, <DirectX 9를 이용한 3D 게임 프로그래밍 입문>, <Beginning Oracle Programming>, <Beginning Visual Basic .NET> 등이 있다.

Table of Contents
파트 1 클래식 OpenGL 1. 3D 그래픽과 OpenGL 컴퓨터 그래픽의 간략한 역사 CRT 3D로의 진화 다양한 3D 효과들 원근법 색상과 쉐이딩 조명과 그림자 텍스처 입히기 안개 블렌딩과 투명 효과 안티 알리아싱 3D 그래픽의 활용 실시간 3D 비 실시간 3D 3D 프로그래밍의 기본적인 지식들 즉시 모드와 보류 모드(씬 그래프) 좌표 체계 투영: 3D를 2D로 단원을 마치며 2. OpenGL의 사용 OpenGL이란 무엇인가? 진화하는 표준 API 전쟁 OpenGL은 어떻게 작동하는가? 일반적인 임플리먼테이션 하드웨어 임플리먼테이션 파이프라인 OpenGL은 언어가 아닌 API이다 라이브러리와 헤더 API 데이터 타입 함수의 이름짓기 규칙 플랫폼 독립성 GLUT의 사용 프로그래밍 환경의 설정 여러분의 첫 번째 프로그램 OpenGL로 도형 그리기 OpenGL과 GLUT를 사용한 애니메이션 더블 버퍼링 OpenGL 상태 머신 상태의 저장과 로딩 OpenGL 오류 좋은 코드에도 나쁜 일들이 벌어진다 버전의 확인 glHint의 사용 확장 기능의 사용 확장 기능의 확인 확장 기능의 제작사 알아내기 윈도우즈에서의 OpenGL 1.1 사용 단원을 마치며 레퍼런스 3. 공간 내의 드로잉 : 지오메트리와 버퍼 3D 공간에서의 점 그리기 3D 캔버스의 설정 3D 점 : 버텍스 무언가 그려보자! 점 그리기 점 크기의 설정 3D 공간에서의 선 그리기 선 스트립과 루프 직선을 사용한 곡선 표현 선 두께 설정 점선 그리기 3D 공간에서 삼각형 그리기 삼각형: 가장 기본적인 폴리곤 와인딩 삼각형 스트립 삼각형 팬 솔리드 물체 만들기 폴리곤의 색 설정 숨겨진 면 제거하기 추려내기: 면 숨기기를 통한 성능 향상 폴리곤 모드 다른 기본 모델들 네 개의 면을 가진 폴리곤: 사각형 일반적인 폴리곤 텍스처와 스티플링 폴리곤 구성의 규칙 분할과 경계선 다른 버퍼 트릭들 버퍼 타겟의 사용 깊이 버퍼의 제어 가위로 자르기 스텐실 버퍼 단원을 마치며 레퍼런스 4. 지오메트리 변환과 파이프라인 골치 아픈 수학 단원인가? 변환의 이해 시각 좌표 관측 변환 모델링 변환 모델뷰의 이중성 투영 변환 뷰포트 변환 3D 그래픽의 수학적 핵심인 행렬 행렬이란 무엇인가? 변환 파이프라인 모델뷰 행렬 단위 행렬 행렬 스택 원자 모형 예제 투영의 활용 직교 투영 원근 투영 원근 투영의 또 다른 예제 보다 발전된 형태의 행렬 제어 행렬의 로딩 자체적인 변환 변환 행렬의 결합 카메라와 액터를 사용한 OpenGL에서의 이동 액터 프레임 오일러의 각 카메라 관리 배운 내용을 종합해보자 단원을 마치며 레퍼런스 5. 색상, 재질, 조명의 기본 색상이란 무엇인가? 빛의 파동성 빛의 입자성 사람의 광자 탐지 능력 컴퓨터에서 광자가 만들어지는 방식 PC 색상 하드웨어 PC 출력 모드 화면의 해상도 색상의 깊이 OpenGL에서의 색상 색상 큐브 드로잉 색상의 설정 쉐이딩 쉐이딩 모델의 설정 실제 세계의 색상 주변광 분산광 반사광 세 가지 빛의 결합 실세계의 재질 재질의 특성 재질에 조명을 추가 주변광 효과의 계산 분산광과 반사광 조명의 추가 조명 효과의 설정 조명 모델의 설정 재질 속성의 설정 광원의 활용 어떤 방향이 위쪽인가? 법선 벡터 법선 벡터의 지정 단위 법선 벡터 법선 벡터 구하기 광원의 설정 재질 속성의 설정 폴리곤의 지정 조명의 효과 반사광 하이라이트 반사광 반사 재질 반사 지수 평균 법선 구하기 배운 내용을 종합해보자 스포트라이트 만들기 스포트라이트 그리기 그림자 그림자란 무엇인가? 물체의 평면화 코드 그림자 예제 SPHEREWORLD 예제 단원을 마치며 레퍼런스 6. 색상과 재질 블렌딩 색상의 결합 블렌딩 계산식의 변경 안티 알리아싱 안개 누적 버퍼 다른 색상 관련 작업들 색상 매스킹 색상의 논리적 연산 알파 테스팅 디더링 단원을 마치며 레퍼런스 7. OpenGL 이미징 비트맵 비트맵 예제 픽셀 패킹 픽셀맵 압축된 픽셀 포맷 보다 다양한 색상을 사용한 예 픽셀의 이동 픽셀의 저장 몇 가지 흥미로운 픽셀 작업 픽셀의 확대 픽셀의 이동 픽셀 맵핑 이미지 서브셋 이미징 파이프라인 단원을 마치며 레퍼런스 8. 텍스처 맵핑의 기본 텍스처의 로딩 색상 버퍼의 사용 텍스처의 업데이트 텍스처와 지오메트리의 맵핑 텍스처 행렬 간단한 2D 예제 텍스처 환경 텍스처 인자 기본 필터링 텍스처 래핑 만화 스타일의 텍스처 밉맵핑 텍스처 개체 여러 텍스처의 관리 단원을 마치며 레퍼런스 9. 텍스처 맵핑 이차 색상 이방성 필터링 텍스처 압축 텍스처의 압축 압축된 텍스처의 로딩 텍스처 좌표의 생성 개체 선형 맵핑 시각 선형 맵핑 구체 맵핑 큐브 맵핑 멀티 텍스처 멀티 텍스처 좌표 멀티 텍스처 예제 텍스처 혼합기 단원을 마치며 레퍼런스 10. 곡선과 표면 기본 모델들 2차 곡면 상태의 설정 곡면 그리기 곡면을 사용한 모델링 베지어 곡선과 표면 매개 변수를 사용한 표현 곡선 만들기 NURBS 베지어에서 B-Spline으로 Knot NURBS 면 만들기 NURBS 속성 면의 정의 트리밍 NURBS 곡선 테설레이션 테설레이터 테설레이터 콜백 버텍스 데이터의 지정 실전에 응용해보자 단원을 마치며 레퍼런스 11. 파이프라인 : 보다 빠른 지오메트리의 처리 모델의 구성 조각과 부분 출력 목록 일괄 처리 선처리 일괄 실행 출력 목록 사용시의 주의사항 출력 목록으로의 변환 성능의 측정 보다 나은 예제 버텍스 배열 지오메트리의 로딩 배열의 사용 데이터는 어디에? 드로잉! 버텍스 배열의 인덱스 단원을 마치며 레퍼런스 12. 인터랙티브 그래픽 선택 기본 모델의 이름 선택 모드의 사용 선택 버퍼 픽킹 계층적 픽킹 피드백 피드백 버퍼 피드백 데이터 마커의 사용 피드백 예제 피드백을 위한 물체의 레이블 1 단계: 물체의 선택 2 단계: 물체에 대한 피드백 얻기 단원을 마치며 레퍼런스 파트 2 OpenGL은 어디에나 있다 13. 윈도우즈에서의 OpenGL 윈도우즈에서의 OpenGL 임플리먼테이션 범용 OpenGL 설치 클라이언트 드라이버(ICD) 미니 클라이언트 드라이버(MCD) 미니 드라이버 확장 OpenGL 기본적인 창 렌더링 GDI 장치 컨텍스트 픽셀 포맷 OpenGL 렌더링 컨텍스트 정리 창 만들기 OpenGL 렌더링 컨텍스트 이용하기 다른 윈도우즈 메시지 윈도우즈 팔레트 색상 매칭 팔레트 중재 OpenGL용 팔레트 만들기 팔레트 생성과 해체 OpenGL과 윈도우즈 글꼴 3D 글꼴과 텍스트 2D 글꼴과 텍스트 전화면 렌더링 테두리 없는 창 만들기 전화면 창 만들기 멀티 스레드 렌더링 OpenGL과 WGL 확장 단순한 확장 새 진입점 이용하기 WGL 확장 단원을 마치며 레퍼런스 14. MacOS X에서의 OpenGL 기본 프레임웍 GLUT API 이용하기 AGL과 Carbon API 이용하기 픽셀 포맷 컨텍스트의 관리 이중 버퍼 렌더링하기 첫 번째 AGL 프로그램 비트맵 글꼴 이용하기 Cocoa API 이용하기 NSOpenGL 클래스 첫 번째 Cocoa 프로그램 단원을 마치며 레퍼런스 15. GLX : 리눅스에서의 OpenGL 기본 OpenGL과 X11 라이브러리 이용 GLUT 라이브러리 이용하기 리눅스에서의 OpenGL OpenGL 에뮬레이션: Mesa X Window 시스템을 위한 OpenGL 확장 X Window 시스템의 기본 비주얼 선택하기 OpenGL 컨텍스트 관리하기 OpenGL 창 만들기 이중 버퍼 창 종합 OpenGL용 비트맵 글꼴 만들기 오프 스크린 렌더링 GLX 픽셀맵 이용하기 Pbuffer 사용하기 Motif 라이브러리 이용하기 GLwDrawingArea와 GLwMDrawingArea: OpenGL 위짓 콜백 함수 종합 단원을 마치며 레퍼런스 파트 3 OpenGL의 현재와 미래 16. 버퍼 개체 : 우리의 비디오 메모리는 우리가 관리한다! 먼저 버텍스 배열이 필요하다 구형 입자 구름 생성하기 버텍스 배열 활성화 조금 더 추가해보자! 버퍼 개체로의 이전 버퍼 개체의 관리 버퍼 개체를 이용한 렌더링 버퍼 개체로 데이터 로딩하기 버퍼 개체로 데이터 복사하기 버퍼 개체의 직접 맵핑 마무리 단원을 마치며 레퍼런스 17. 차단 쿼리 : 필요한 만큼만 일하자 차단 쿼리를 이용하기 전의 환경 경계 상자 쿼리 개체 확인하기 단원을 마치며 레퍼런스 18. 깊이 텍스처와 그림자 빛이 되자 창에 장면 맞추기 건너뛰어야 할 것들 새로운 종류의 텍스처 그림자를 먼저 그린다?! 그리고 빛이 있으라 그림자 맵의 보호: "왜?" 그림자 맵의 보호: "방법" 그림자 비교 부담 줄이기 폴리곤 오프셋에 대한 참고사항들 단원을 마치며 레퍼런스 19. 프로그래머블 파이프라인 : OpenGL의 제어 기존의 방식 고정 버텍스 처리 고정 프래그먼트 처리 새로운 방식 프로그래머블 버텍스 쉐이더 고정 기능 접합재 프로그래머블 프래그먼트 쉐이더 쉐이더 확장 소개 저수준 확장 고수준 확장 단원을 마치며 20. 저수준 쉐이딩 : 깊이 있는 코딩 저수준 쉐이더의 관리 쉐이더 만들기와 연결하기 쉐이더 로딩 쉐이더 삭제 확장 설정 명령어 세트 공통 명령 버텍스 전용 명령 프래그먼트 전용 명령 변수의 타입 임시 변수 인자 변수 속성 변수 출력 변수 별칭 변수 주소 변수 입력과 출력 변경자 입력 부정 입력 혼합 출력 쓰기 매스크 출력 고정 자원 소비와 쿼리 파서의 제한 고유 제한 다른 쿼리들 쉐이더 옵션 위치 불변 버텍스 옵션 안개 애플리케이션 프래그먼트 옵션 정확도 힌트 프래그먼트 옵션 단원을 마치며 레퍼런스 21. 고수준 쉐이딩 고수준 쉐이더의 관리 쉐이더 개체 프로그램 개체 확장 설정하기 변수 기본 데이터 타입 구조체 배열 한정자 내장 변수 표현식 연산자 배열 접근 컨스트럭터 요소 선택자 흐름 제어 반복문 if/else discard 함수 단원을 마치며 레퍼런스 22. 버텍스 쉐이딩 시작하기 분산광 적용 반사광 향상된 반사광 버텍스에 안개를 적용 버텍스 당 포인트 크기 버텍스 변환의 조절 버텍스 블렌딩 단원을 마치며 23. 프래그먼트 쉐이딩 : 픽셀 처리의 향상 색상 변환 그레이스케일 세피아 톤 반전 열 추적 프래그먼트 당 안개 이미지 프로세싱 블러 샤픈 팽창과 침식 경계 검출 조명 분산광 다중 반사광 절차적 텍스처 맵핑 바둑판 텍스처 비치 볼 텍스처 장난감 공 텍스처 단원을 마치며 파트 4 부록 부록 A 참고 문헌 다른 OpenGL 관련 서적들 3D 그래픽 서적들 웹 사이트 부록 B 용어 부록 C OpenGL ES 데이터 타입의 축소 완전히 제거된 기능들 상당히 축소된 기능들 텍스처 맵핑 래스터 작업 조명 결론 찾아보기