How 3D Game Rendering Works: Vertex Processing

We have come a long way from the days of wobbling scenery on Playstation. Where the vertices could only be expressed with an integer so they would snap back and forth to the nearest whole pixel as the viewpoint moved around. No interpolation.

Wire meshes and polygon counts were the big deal in hardware discussions throughout the 1990s, before you had a host of other shader functions. As soon as hardware accelerated tessellation became vogue the number of polygons you had become fairly irrelevant. You could detail whatever it is you wanted with so many triangles.

This was evident by Crysis 2 where Crytek were tesselating concrete lane dividers with zillions of triangles. This being a simple slab sided object you could probably represent nicely with just a few hundred polygons. The word at the time was Nvidia may have asked Crytek to push tessellation hard even when it really wasn't necessary.....
 
For me, you can track the advancements made in game graphics and computing power by how well they can draw a circular object (like a pipe or cable), using triangles. It continuously amazed me as the shape got closer and closer to a perfect circle, just by adding more and smaller triangles.
 
Under the "The power of the vertex shader" section you have fixed pipeline DX9 code. Somewhat disappointing. I didn't read the entire article, but in general it felt a little messy.
 
Under the "The power of the vertex shader" section you have fixed pipeline DX9 code. Somewhat disappointing.
Thank you for the feedback. I had considered adding in more code examples to show the scope of vertex shaders (and hence better fit the subsection title) but the article was getting too long by this point, and I didn't want people to be scrolling past large blocks of code. However, you make a valid point about the rather unVS-like nature of the example given; I'll ask Julio if he doesn't mind me making a ninja edit to provide another (better) VS example.

I didn't read the entire article, but in general it felt a little messy.
A valid comment - somewhat my fault; somewhat the nature of the topic, as it requires a lot of supporting elements to be covered before trying to tackle vertex shaders. I'll keep this in mind for the next article (especially as it's a similar thing, regarding the multiple elements aspects of the topic).[/QUOTE]
 
This might have been one of the coolest and most helpful articles I have ever read about 3D rendering! I never made the connection while studying Linear Algebra in college that the scaling and translation properties of matrices could be used to "move" objects in a 3D game until reading this article. Thanks for putting this together and I look forward to the next part!
 
Back