I Think I Broke It!  Free online help for your everyday computer problems

How a Graphics Card Works - Page 5

Feeding the Frame Buffer

Most of the graphics card is dedicated to 'feeding' the frame buffer with information. This information, while three dimensional in origin, has to become two dimensional (a process known as rasterisation - the production of a 'raster' image) once it enters the frame buffer (before it gets sent on to the monitor). The easiest way to understand how this happens is to remember that the frame buffer is only capable of storing 2D raster data, so no matter how '3D' the data is that it's supplied with, it can only ever be represented as 2D data. (Think of the way that cameras and televisions work together, the camera captures 3D data that is then displayed on a 2D device).

The 'camera' and '3D data' we're interested in with regards to a graphics card are of course virtual constructs whose properties are determined by the graphics card hardware and the software. 3D applications simulate an imaginary camera in an imaginary world (it's not real you know!).

So instead of film, we've got the graphics card writing pixel data to the frame buffer (which is sent directly to the monitor screen). Instead of real things, the graphics card constructs all of the 3D geometry the scene uses in real time, and then creates a virtual 2D projection of it for the frame buffer to use.

The three dimensional geometry used in the scene is constructed from points in space known as 'vertices'. A vertex is a point in 3D space, with its value given in terms of its x, y, and z coordinates. Vertices can then be grouped together to define flat triangular polygons. Even the most complex three dimensional surfaces are built up from a simple mesh of triangles (of which some will share the same vertices).

 


Even this little fish is nothing more than a mesh of triangles

 

So, by using these vertices, any surface in a 3D environment can be described by using a string of numbers to represent each vertex coordinate of the triangular faces it's made up from. While having a basic wire frame of something is all very well and good, to generate a truly realistic 3D object you need another property to add to the faces and vertices, called the 'surface normal'.

 


A polygon face and its 'normal'

 

Each triangular polygon face, depending on the position of its vertices in the 3D environment, can point in a different direction from its neighbours. The surface normal is a three-dimensional vector which is perpendicular the surface of the polygon in question. The values of these normals help to generate some very important effects, particularly important when the graphics card is creating curved surfaces, or surfaces with slight irregularities.

E.g. When creating a light source in a 3D scene, it's often useful to know which polygon faces are pointing towards, or away from the light source. As faces which are pointing towards a light source will be lit more intensely than others, this data can be used to produce a fairly convincing lighting effect (with the side of a player/object near the light source appearing brighter than the side facing away).


<<< Previous 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 Next >>>

Article Navigation:

Latest Question

Stop Automatic Restarts after Automatic Windows Updates - After leaving my computer to encode a large video the other day, I was surprised to come back and find it sitting at the login screen. ...

View Full Question & Answer
 

Search
To search the site, enter your search string in the box below: