ZZ Computer Graphics

Source: Internet
Author: User

Computer Graphics
A good way to study is the CG courses offered by foreign universities, such as Standford, Unc, UNM, Waterloo, etc. A bunch of universities can go to the courseware and related papers below, standford's "real time graphics architecture" was launched by Kurt Akeley.
The other is the source code, including Mesa, Standford glsim, and csgl made by C sharp. These things are worth studying, but it takes a lot of time.
I also learned this, but I think the top-down method is better than the top-down method. It is better to have a perceptual knowledge of some things and continue to drill down.

[Introduction]
What is computer graphics? This article tries to avoid strictly defining it. However, computer graphics is usually the inverse process of digital image processing. This is just an inaccurate definition. We will see that, in fact, the differences between computer graphics, digital image processing, and computer vision are not very clear in many places. Many concepts are the same.
Computer Graphics is a subject that uses computers to draw things. digital image processing is a subject that uses computers to process externally obtained images. In France, graphics and images are a course.
How to learn computer graphics? In addition to the basic knowledge of computer graphics, you also need the following knowledge. The more you know, the better you do.
* You must learn English well. If you want to learn computer graphics, read English books and materials as much as possible.
* Mathematics and computer graphics use a lot of mathematics. We can list some common ones:
Advanced Mathematics, numerical analysis, differential ry, topology, probability, interpolation theory, (partial) differential equations...
* Physical: If you want to perform physical-based modeling, some physical theories should be learned:
Mechanics (kinematics, dynamics, fluid mechanics ...), Optics, finite element...
* Programming language: C or C ++ is the most common 'mandarin 'in computer graphics ',
* Data Structure: You need a Data Structure to describe your graphic objects. In addition to common data structures such as linked lists and trees, graphics also have their own special data structures.
* Other categories: Sometimes you need the knowledge of other disciplines. Learn it based on your needs.

What you listed above is not something you must learn, but something that may be used in computer graphics. Remember not to expect to learn computer graphics through a textbook, it is much more complicated than you think.

[Graphics problems]
Each subject has its own subject's specific problems. What graphics should solve is how to draw a picture and get the desired results. Of course, this is the biggest problem in graphics.

When you start learning computer graphics, find a simple book and have a rough understanding of computer graphics. Then you can start your graphics Journey:

OpenGL programming guide: the official guide to learning OpenGL, version 1.4, Fourth Edition
OpenGL superbible (3rd edition)

It is a relatively good entry-level teaching material for learning computer graphics. In practice, I went to learn it and began to chew on Foley.
Computer Graphics: Principles and Practice, second edition in C
It's not a good idea. It's confusing to read. The results of a book that tells everything are often not clear.
After you have mastered the basic content of OpenGL, you will have a rough understanding of graphics.

Next, you can learn the data structures and algorithms of computer graphics. the following books are suitable:
Joseph o'rourke's computational geometry in C. The book contains the C source code, which is simple and clear, and is suitable for programmers to learn.

In general, computer graphics involves two major parts: Modeling and rendering.
(1)Modeling
If you want to draw a thing, you must first have its geometric model. Where can this geometric model come from? The following books are good:
Gerald farin's curves and surfaces for CAGD: A Practical Guide
This book is a little difficult. This book is a classic book of CAGD (Computer-Aided Geometric Design), a full picture of CAGD, and two books about curved surfaces: The Book of beiser and
Les A. piegl, the OpenGL book of Wayne tieller
The book contains the pseudocode of the program of the curve and surface of the form of the curve, which is easy to change to C. The book is easy to understand, but you have to be patient to read it :)

Mathematics of curves and surfaces
This book is a Chinese translation version written by French people. It also contains the sequence J written by bezie himself. The translation is very good. After reading this book, you can master the bezeiser surface technology.
There are other styling technologies, such:
Shape of the implicit surface:
It is to shape the surface with f (x, y, z) = 0 in the form of functions. Such a styling technique is suitable for describing the meat-like things of animal organs. We recommend you to read two books:
The introduction to Implicit Surfaces edited by Jules bloomenthal is a monograph on Implicit surface modeling, polygonization, and rendering.
Luiz Velho's implicit objects computer graphics is also a monograph about some updates.

Subdivision Surface Modeling
Surface joining is a complex issue when you use a place where you want to create a shape using a place where a split or fold may occur during animation. Subdivision Surface is used to solve this problem.
Joe Warren's subdivision methods for geometric design: a constructive approach is a monograph in this regard.

The current technology can use a 3D Scanner to obtain the points on the surface of an object. Based on these points, the surface of the object is calculated as reconstruction ), because these technologies are described in the article, we omit the description of them.
After your geometric model has been completed, you need to solve some problems with this model to get a suitable model. When there are many patches or the model is very complicated, you need to simplify the geometric model to meet the needs of real-time rendering. This technology is called level details ). The following book is about this:
Level of detail for 3D graphics compiled by David luebke
(2)Rendering
With the model, how can we draw this geometric model? This step is rendering.
If you read the OpenGL book above, you will know some rendering knowledge, but don't be happy too early. OpenGL uses the local illumination model ). The local illumination model only considers the interaction between the light source and the object, and does not consider the impact between the object and the object. Therefore, OpenGL does not support shadow, one (half) the effects of transparent objects can be achieved only when the effects between objects are taken into account.
(* OpenGL does not support it, but it can be implemented in some ways. Use Google to search for it.
Shadow volume, OpenGL will find the answer .)
The Global Illumination Model and other models are considered completely. Currently, there are three main categories of Global illumination technologies. The specific technologies are not described here.

Ray Tracing)
There are two good books about Ray Tracing:
Andrew Glassner's an introduction to Ray Tracing
Glasser is a celebrity in the graphic industry. This book is also a classic of ray tracing.

R. Keith Morley, Peter Shirley's realistic ray tracing, Second Edition
The first version of this book is pseudocode, and the second version is C code. Its structure is not very clear.

Radiosity)
There are four good books about radiosity:
Michael Cohen's radiosity and realistic image synthesis, Cohen received the Siggraph 1998 computer graphics Achievement Award, and he turned radiosity into actually available.
Francois X. sillion's radiosity and Global Illumination. sillion is French and his main research direction is radiosity, which is well written and clear.

Philip dutre's new book, advanced global illumination, looks pretty good. I just got it and haven't seen it yet. Well, it's hard to evaluate it.

Radiosity of Ian Ashdown: a programmer's perspective
Books with source code!
Photon mapping
I don't know how to translate this. This technology has appeared quite late. It's a good book!
Henrik wann Jens' realistic image synthesis using photon mapping
Henrik wann Jenney is the inventor of photon mapping technology
[Non-authenticity graphics] (non-photorealistic graphics)
Authenticity is not the only requirement of computer graphics. For example, if you want to draw a cartoon image for me or use a computer to draw a watercolor image, what should I do? Or: How to spell out the image in text ?, To solve these problems, we need to use non-authentic graphics. Continue to recommend good books!
Bruce Gooch, Amy Ashurst Gooch's non-Photorealistic Rendering

[Body graphics] (volume graphics)
If you use a CTM to make many slices (such as the skull), can you use these slices to get a 3D skull? Volume graphics solves this problem.
Volume graphics compiled by Min Chen

The above two graphics technologies have no obvious boundaries with the image. They are actually a combination of graphic images.

[Other books]
There are also some good books. Oh, you can't finish reading the good books. Let's continue:

Graphics gems I ~ V. a book written by a group of children, including researchers, programmers... Various data structures and programming skills in computer graphics.

Real-time rendering (2nd edition) compiled by Tomas akenine-Moller and others)
Many of the latest advances in computer graphics.

Texturing & Modeling by David Ebert and others: a procedural approach, Third Edition
Describes how to use a program to implement graphics elements such as textures, mountains, and terrain.
There are specific topic books for specific graphics objects,
Evan pipho focus on 3D models, which describes common model formats in graphics.
Focus on 3D terrain programming of Trent Polack, about terrain
About cloth modeling and animation of Donald H. House
Real-time 3D Character Animation of Nik lever with Visual C ++, about role Animation
Richard parent's computer animation: algorithms and techniques, of course, is about animation.
David H. Eberly's 3D Game Engine Design: A Practical Approach to real-time computer graphics, with code! Haha :)

Finally, let's take a look at the following books when there's nothing to do.
Alan H. Watt, 3D computer graphics (3rd edition)

Computer Graphics from James D. FOLEY: Principles and Practice in C (2nd edition). Let's take a look at this Bible when it's okay.

Tired: (No, the above book is almost done, and there are some shader books. I don't know. I will make up later :)

4. Resources

 

Where can I find these books? What resources are there?


I promise you can buy all the books above at www.amazon.com: Don't hit me.

Well, most of the books can be copied to the National Library. The brothers in Beijing are blessed. The books borrowed three years ago are copied at one corner/page, but the new books should be copied in the library early ~ 6 Corners/Page, still cheaper than Amazon, haha.

If you can't, you can buy them abroad. Buy them together and you can afford them.
I don't know about DirectX, so I didn't know about DirectX :)

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.