Learning about computer graphics

Source: Internet
Author: User
Learning about computer graphics
Note:
This article tries to avoid theoretical descriptions and try to introduce the learning of computer graphics in the most popular language, as well as some bibliography and network resources;
This article does not involve the definition of concepts, so as not to fall into academic discussions.
This article is the author's experience in learning computer graphics. If you have different opinions, please do not attack or abuse

The right question in this article should be: What about computer graphics?

1. 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.

2. 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 from the very beginning.

Foley's
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 structure andAlgorithmThe following books are suitable
Joseph o 'Rourke's computational geometry in C, which contains CSource code, Simple and clear, suitableProgramMember Learning

In general, computer graphics involves two major parts: Modeling and rendering.
2.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 program pseudo-state of the curve and surface ofCodeIt is easy to change to C. The book is easy to understand, but you need to have patience 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.

// other things you want to know: Other styling methods-start
Note: This chapter will be available later, mark
// other things you want to know: Other styling methods-start
// other things you want to know: other styling methods-Conclusion
there are some advanced topics that I think will not affect your learning of computer graphics, haha
there are other styling technologies, such as:
implicit Surface Modeling:
F (x, y, z) = 0 curved surface for modeling. This modeling technology is suitable for describing the meat like animal organs. We recommend you to use two books
introduction to Implicit Surfaces edited by Jules bloomenthal, he is a monograph on Implicit surface modeling, polygonization, and rendering.
the implicit objects Computer Graphics of Luiz Velho is also a monograph, update Progress

Subdivision Surface Modeling
Surface stitching is a complex issue when you use a place where you can 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 areArticleSo we omit the description of it.

// Other things you want to know: Other styling methods-end

The following is a high-level topic :)

// Other things you want to know: it is not enough to have a shape! -Start
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
// Other things you want to know: it is not enough to have a shape! -End
2.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 ), don't be scared by this word.

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) effects of transparent objects .., the effects between objects must be considered before implementation.

// Other things you want to know: OpenGL can implement shadow-start
OpenGL itself is not supported, but it can be implemented through some Methods :), search by Google
Shadow volume. OpenGL will find the answer.
// Other things you want to know: OpenGL can implement shadow-end

The Global Illumination Model and other models are all considered. Currently, there are three categories of Global illumination technologies. The specific technologies are not introduced here. If you want to know more, contact me to discuss them:

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, now Cohen in MSR graphics <a target = _ blank href = http://research.microsoft.com /~ Http://research.microsoft.com/cohensmallbw2.jpg> /~ Cohen/cohensmallbw2.jpg </a>

Francois X. sillion's radiosity and Global Illumination. sillion is a French. His main research direction is radiosity, which is well written and very 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 !! In this case, you have to give 5 *****

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

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.