그래픽스를 공부하고 싶어하는 학생을 위한 추천책 목록

GPG 카탈로그에서 다루는 책들을 읽을 때 도움이 될만한 참고자료를 추천하는 게시판입니다.
(참고자료 추천 요청을 받는 곳은 아닙니다.)

Moderator: 류광

gggg
Posts: 1
Joined: 2006-09-21 15:05

그래픽스를 공부하고 싶어하는 학생을 위한 추천책 목록

Post by gggg »

웹서핑 중에 미국 아리조나주립대학(ASU)의 한 교수님이 추천하는, 그래픽스를 공부하고 싶어하는 대학원생을 위한 책 목록을 보고 여기에 퍼옵니다. 유명한 분은 아니지만 siggraph에도 논문이 실리는 등 나름 괜찮은 분 같습니다.^^ 저는 이 책들을 공부해 볼 생각입니다. ^^

원본은 http://www.public.asu.edu/~pwonka/Docum ... ToRead.htm 입니다.

-----------------------------------------------------------------------------------------------
0) Preface

The following list is primarily intended as a study guide for graduate students (masters or PhD) who intend to do research in the area of computer graphics. Computer graphics has involved into a fairly mature field so that a decent foundation is required before good research can be done. The list gives several books that I would recommend to read. There are many different types of books and it is sometimes difficult to pick the right one. Personally, I prefer to start reading books that are less formal, more redundant and give a good intuitive understanding of a topic. These type of books might be criticized for being to easy and not rigorous enough. However, if your background is computer science, it might be hard to understand advanced mathematical texts at the beginning. I believe it is much more efficient to read the simple introduction first. Then, after you have a good initial understanding, you might get bored with introductory books and favor books that are concise, in depth and include a rigorous and complete treatment of a topic. Additionally, it is important to consider that even the simple books require a decent mathematical foundation.

Constructive comments and feedback is appreciated. Peter Wonka - May 2006.

1) Computer Graphics Text Books

1.1) Basic Text Books

There are several interesting text books that can be used as introduction to Computer Graphics. These books cover the topics of an introductory undergraduate class in computer graphics:

Hearn, Baker. Computer Graphics with OpenGL.
The book has many nice illustrations, but is fairly long and not very concise. I currently use this book for the undergraduate class in computer graphics.

Shirley. Fundamentals of Computer Graphics.
This book is more concise and formal and covers more advanced topics.

1.2) OpenGL

Most computer graphics programs in research use OpenGL. OpenGL is also typically covered in the first introductory undergraduate class:

OpenGL Architecture Review Board, Dave Shreiner, Mason Woo, Jackie Neider, Tom Davis.
OpenGL(R) Programming Guide : The Official Guide to Learning OpenGL(R), Version 2 (5th Edition) (Paperback)

1.3) Real-time rendering

The main book in this area is

Tomas Moeller, Eric Haines. Real-Time Rendering (2nd Edition)

The book is very ambitious and covers many topics in the area of real-time rendering and also related topics from other areas. I think this book is one of the best books to read after reading an introduction to Computer Graphics. The disadvantage is the fact that several topics are not described in sufficient detail to be understandable from the book. However, the book does a very good job to reference important research papers in most areas for further study Other interesting books in real-time rendering are the GPU GEMS. These books are collected articles about various topics that use graphics hardware. The advantage is that articles are easier to read than average research papers and the articles often include source code for vertex shader and pixel shader.

GPU Gems 2 : Programming Techniques for High-Performance Graphics and General-Purpose Computation (Gpu Gems)Matt Pharr, Randima Fernando;

GPU Gems: Programming Techniques, Tips, and Tricks for Real-Time Graphics
Randima Fernando

1.4) Physically-based rendering

I use the following two texts for the graduate graphics class:

Pharr and Humphreys. Physically-based Rendering.
This book is a good introduction to global illumination, focusing on ray tracing. The book includes source code and includes many detailed explanations. I think it is a great introduction to global illumination and ray tracing, because it is detailed enough to convey advanced concepts, but still easy to read.

Dutre, Bekaert, Bala. Advanced Global Illumination.
This book is more concise, shorter and it seems to be more complete. It is definitely harder to read as an introduction, because it includes a many formulas.

2) Mathematics

To sell research ideas and to be precise in the description of what you are doing, it is important to read a lot of math. Starting with a good foundation in calculus and linear algebra you can then proceed to more advanced topics. Again, this list focuses on books that are understandable by computer science graduate students with decent mathematics background.

2.1) Calculus

James Steward. Calculus.
This seems to be a basic book that is not extremely formal. Most of this information is typically covered in undergraduate classes.

2.2) Linear Algebra

Gilbert Strand. Linear Algebra and Its Application.
This is one of my favorite books. I would recommend it to any PhD student in computer graphics.


3) Related Areas

3.1) Computational Geometry

Computational Geometry covers topics such as spatial data structures (quadtrees, kd-trees, bsp-trees, ...) and geometric algorithms such as triangulation that are often used in computer graphics. I would recommend the book

Computational Geometry
Mark de Berg, Marc van Kreveld, Mark Overmars, Otfried Schwarzkopf

3.2) Image Processing

Digital Image Processing (2nd Edition)
Rafael C. Gonzalez, Richard E. Woods.
This book is fairly easy to read and covers most basic topics in image processing.

3.3) Computer Vision

Computer vision and computer graphics share many interesting problems and in the recent past conference papers included components from computer vision and computer graphics. I would recommend the book:

Computer Vision
Linda G. Shapiro, George C. Stockman, George Stockman, Linda G Shapiro


3.3) Wavelets

Jensen and la Cour Harbo. Ripples in Mathematics.
This book is a very simple introduction to the topic. The first 70 pages give an excellent intuitive understanding of wavelets using simple examples and almost no formalism. It is possible to gain a lot of intuitive insight into the topic and spend only an afternoon.

3.4) Signal Processing

Bracewell. The Fourier Transform and Its Application.
This text focuses on the continuous Fourier transform. I really like this book, because it includes many images and explains the Fourier transform without too many simplifications. I found that most computer graphics books do not present the Fourier transform in sufficient depth. This is understandable due to space constraints, but the Fourier transform is essential for several topics in computer graphics, most importantly aliasing and anti-aliasing. I would recommend that text to all PhD students in computer graphics. Read at least the first eight chapters.

3.5) Differential Geometry

O'Neill. Elementary Differential Geometry.
If you work with triangle meshes, curves, and surfaces, this book is a good introduction.
Do Carmo. Differential Geometry of Curves and Surfaces.
This book is more formal and complete.

3.6) Other Topics

There are many other topics of interest, such as statistics, monte-carlo statistical methods, curves and surfaces, and calculus of variations. I need to spend more time to write book recommendations for these topics ...
Hybrid
Posts: 223
Joined: 2006-12-30 23:39
Contact:

Post by Hybrid »

신기하게 Computer Graphics : Principles and Practice 책이 빠졌네요.
컴퓨터 그래픽 책 추천 목록 치고 이 책이 빠진걸 거의 본적이 없는거 같은데.. ^^;
Imagination is more important than knowledge - Albert Einstein
비회원

근데

Post by 비회원 »

실무에서 느낀 바로는 써먹을데가 있으려나.. 취미 생활 화 됨
비회원

..

Post by 비회원 »

공부를 하는 학생(대학원생)에게는 좋은 책들인 것 같습니다.

그런데 선형대수학은 동일 저자가 이번에 새로 낸 책이 더 좋은 것 같습니다. 위의 책보다 훨씬 더 쉽더군요.
Introduction to Linear Algebra, Third Edition by Gilbert Strang
Hybrid
Posts: 223
Joined: 2006-12-30 23:39
Contact:

Re: 근데

Post by Hybrid »

비회원 wrote:실무에서 느낀 바로는 써먹을데가 있으려나.. 취미 생활 화 됨
그럴 수도 있지만, 그 세부적인 지식을 써먹는건 본인 몫 아닐까요?
제 경우는 이해하는데 무척 도움이 많이 되거든요.
단순히 함수만 써서, 혹은 될때까지 함수만 써보는 것 보다는 원하는 것을 정확한 계산을 통해 유도할 수도 있구요. 그것을 살짝 변형해서 새로운 것을 응용할 수도 있구요.

자기하기 나름이라고 봅니다. 수학이라는것도 원래 그렇죠. 모르면 모르는대로 쓸모 없어 보이지만, 막상 알고나면 알면 알수록 도움이 된다고 생각합니다.
Imagination is more important than knowledge - Albert Einstein
Post Reply