What exactly does computer graphics say?

Source: Internet
Author: User

Recently read a number of graphic learning books, are written by Chinese people, feel that everything has, different books tell different content. So he turned over the Sun's broad "computer graphics (third edition)", and read the graphic Bible "computer graphics principles and Practice C Language description" directory, found that the Bible covers a wide range of content, almost all of the other graphics teaching materials. Too many things, read a bit messy, so I comb it, see what is the end.

Roughly speaking, computer graphics is divided into two aspects: one is modeling, the other is transformation, and the third is rendering. Modeling is a model of a real object or an imaginary object that enables the computer to recognize it. The so-called transformation is to transform the entities in the space onto the screen. The so-called rendering, is to display some scenes on the screen.


1. Modeling
There are relatively few aspects involved in modeling, which are mainly related to mathematics. Because computers are based on mathematics, computer-recognizable models are mathematical models.

(1) How to represent a model

There are two types of model representation, one is expressed by equation and one is represented by solid modeling.

The equation representation mainly includes common curved surface equations, Bezier curved surfaces, B-spline curved surfaces and nurbs curved surfaces.

Solid modelling means that there are a lot of content, such as boundary Representation, Space division representation, and many more.

In summary, the main task of this part is to represent an entity in some form.

(2) Polygon Mesh

Once the model is represented in some form, the model is not really built up in the three-dimensional graphics field. The generic model is in the form of a polygon mesh and needs to be transformed.

The shapes formed in the previous step can represent a large number of points, which are points on the solid surface. By connecting points in a certain order, you get a solid contour, a polygon mesh.

Triangular meshes are usually used, which requires triangulation of points. Delaunay triangulation and random incremental splitting are often used.

(3) Mesh simplification

When a triangular mesh is formed, if the number of meshes is too large, the model needs to be simplified to reduce the rendering load. While simplifying, try not to reduce the effect of rendering. There are usually static mesh simplification techniques, LOD techniques, progressive grid model representations, and so on.

2. Coordinate system transformation

(1) Observing the transformation

This part transforms a space object from a world coordinate system to a two-dimensional viewport. Because the object is in three-dimensional space, the screen is displayed as a picture, that is, the viewport is two-dimensional, which requires such a transformation. The following three steps are included:

Observe transformations: Transforms an entity from a world coordinate system to an observation coordinate system.

Normalize transformations: Normalize the Observer domain

Viewport transformations: Complete the mapping from the observing coordinate system to the viewport.

(2) Cutting

Cropping is the determination of whether an entity falls in an area. The viewport is limited, and entities outside the viewport do not need to be displayed on the screen. Cropping is performed during the viewport transformation.

There are many cropping algorithms, such as line clipping, Cohen-sutherland algorithm, Liang-barsky algorithm, polygon clipping, Sutherland-hodgman algorithm and Weiler-atherton algorithm.

3. Rendering
Rendering is the largest part of computer graphics, which is connected with many disciplines, such as computers, mathematics and physics.

(1) Lighting and shading

This part of the study is the light emitted by the lamp to the solid surface of the light produced by the effect. Therefore, we need to study the following contents:

Light model. That is what the light source is, and what kind of light it emits.

Shading model. That is, what is the surface of the model and how to reflect the light. Shadows belong to this section

Ray tracing. An algorithm for calculating lighting effects.

Irradiance algorithm. Another algorithm for calculating lighting effects.

That is, the main content of this part of the study is: what kind of light emitted from the light, how the object is reflected on the light, and the algorithm of simulating the lighting effect based on the model and shading model.

(2) color model and coloring

The real world is colorful, so there must be a variety of colors. There are a variety of color models, such as cie-xyz chromaticity, RGB color model, CMY color model, HSV color model, HLS color model, and so on.

Selecting a particular color model, coloring the entity, is the important content of rendering, and is an important part of increasing the authenticity of rendering effect.

(3) can meet judgment

The graphical simulation is the human eye to see the world. For an entity, the face of one side can be seen, while the body's back is not in sight. Parts that are not in sight are called hidden polygons.

The visible face determination determines which faces are visible and which faces are not visible. Here the algorithm is also more, involving Z-buffer algorithm, surface intersection algorithm and so on.

(4) Texture

Add textures to entities, usually in the form of maps, to make the entities more realistic.

Summarize:

In fact, the collation is also very messy, because the graphics involved too many things too miscellaneous, such as geometric transformations, projections and so on, are not written on the above.

The following is a three-dimensional graphic implementation process, I would like to have such a flowchart, the heart has a relatively clear context.

About the rendering process is not complete, but the more important thing is these. Write this is to comb, want to explain the next technology in the graphics in the end what the role, only that.

The End


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.