nVIDIA GeForce256 and T&L
The computer market evolves to steps LIKE THAT OF BIG, and a sample of it is that only a few months ago we were comparing the TNT2 with the Voodoo 3, like last innovations in games. These monsters have just seen his capacities devastated for the new graphic chips of his respective companies: nVIDIA GeForce256 (or "NV10") and 3Dfx VSA-100 (the chip of the Voodoo 4/5).
The goal you will be able to imagine it: major speed in graphs 3D, more resolution, more colors, more image quality, to be difficult the establishment of the limits between the reality and the fiction. The ways chosen by these two companies are completely different, but we will stop for another day to 3Dfx; in this article we are going to try to tell how there works the GeForce and his new technology Transform and Lighting (T&L).
We are going to do a game...
Someone who reads these lines will have thought one day of programming a game, but I dress it well that the current programmers do it, we are going to allow to keep on doing to them his work, which above they receive; we are going to be satisfied with trying to understand what happens while we play.
When a game has to present on screen an any image of the tens that are drawn every second (technically, when "renderiza a frame"), it must happen for the following 6 steps:
1. - Normal Calculations:
These calculations are those who will define the movement of the objects, the camera or point of view and the interaction of the objects in the three-dimensional world, including the physical calculations (if we throw a tennis ball, it will continue a parable, because if not, nobody would play this game), in addition to calculating the collisions between objects (nobody can cross walls in Quake II without doing pitfall: truth?)
2. - To Foresee the scene:
We are going to see, are in a cars career with the last simulation title: AND WE ARE THE FIRST ONES OF 32!, then: is it necessary that our computer calculates the polygons of others 31 cars, which are not seen in the image?
Or in another case, it is our first career and we go the last ones (to whom has not it happened?), and this minuscule point that is seen to the fund is the car that goes very much in front of us; neither it will be necessary that an enormous textures quantity is applied to him, this way we will save a tons of time and of potency of calculation. Of course, also this does our processor.
3. - Transformations:
In this scene we have to this car at certain distance, but now we are accelerating with the cursor on the verge of going out below our keyboard, we have already almost managed to clog this key... it is supposed that soon this object (the car 31) will be closer, as what it will have a new position with regard to our point of view; and also they will have new position all the objects of the game, with what you can imagine the quantity of calculations that will be necessary.
(Conclusion: if you want that the game goes more rapid, I always know the first one)
Certainly, the rest of cars that we do not see (the cars 30, 29, 28...) also will have new positions, but these do not need to be "transformed" because they are not seen, but 1 and 2 would be calculated in the steps.
4. - Lighting:
Go, we have done a heap of calculations and do not see anything, it will be because we have not lit the light. In the first games 3D, the light was almost always an environmental light, there was light or it was not. With the time the effects have been increasing: colors lights, lights that move, you shine of colors that above move... The importance of the lighting takes root in the high grade of realism that it grants to the games.
5. - Calculation and adjustment ("clipping") of triangles:
Our wonderful processor has already calculated a heap of things, and goes and sends them to us like the coordinates of a series of points (the "apexes": as if not?). Now, all these apexes we are going to transform them into the different triangles that form the objects (joining the apexes that correspond, we all are not going to join them "to sack"), and other information that the engine of "render" of the card will be able to understand.
6. - Renderizado:
We already have all the necessary information. And we see that we have a screen of 640*480 points; let's take the first one, and let's call him "a pixel" that is more elegant than "point". We look what color it has, bearing in mind what texture it has applied; now we look if him the light affects, see of what color it is the light, see if it has some grade of transparence (it can be a color crystal), we see since direction gives him the light; also, perhaps the light bounced from another object comes to him... we paint it, now we take the 2nd pixel and repeat these operations..., like that we even do it in 307.200 puntitos. Now then, perhaps we are playing 800*600, with what we have 480.000 points, if the resolution is 1024*768 we have 786.432 points... and this way we can keep on multiplying. Less evil that we have accelerating graphs: truth?
Scene renderizada and with lights, without applying textures.
The same scene, applied textures (of brick, of wood...); obviously, the image wins very much in realism (on the tastes of the decorator we will speak in another moment).
Well, till now one month ago, almost everything stated there above our processor was doing it, except the last 2 steps (triangles calculation and renderizado), of which one was entrusting the accelerating graphic card 3D (if we had, if not also it was touching the mike... and that's why nowadays a card with capacities 3D is an indispensable requisite).
With the new BEAST of nVIDIA, the GeForce, it is already not like that, since the graphic card takes the control from the transformations phase. Now everything should go more rapid, since we have liberated to our processor of big part of the task and he can devote himself to other things. As a result, the programmers will be able to dedicate his work to more intelligent enemies creating, to improve the physical ones of the games (as they improve the physics of the Blade...).