The Photo-Realism Challenge: Polygons
In 3D gaming, polygons are everything. Much has changed since the early days of 3D gaming, but if you compare an early 3D game (like Doom) to a current game (like Crysis 3), the biggest difference you will see is the number of polygons on the screen.
In the early days of 3D gaming, increasing the number of polygons (called the “poly count”) was simply a matter of throwing more transistors on the GPU and ramping up the clock speed.
For awhile, this worked just fine, and we got games with higher and higher poly counts. But eventually, hardware designers hit a point of diminishing returns, and poly counts were unable to keep up with demand. So they started to get creative. 
Um . . . I’ll take the one on the right.
The first thing that these engineers did, and it was paradigm-changingly huge, was creating “shaders.” A shader is a sort of “mini-chip” on the die of a graphics processing unit (GPU). Shaders handle very simple equations, but address huge problems (like reflective surfaces, for example). Originally, shaders were fixed function (meaning they could only do a set number of things), but eventually fully programmable shaders (meaning they can be coded to do whatever the game designer dreams up) found their way onto video cards. The first video game console to have programmable shaders was the original Xbox, to give a time of reference (the PS2 and GameCube—and Wii—had fixed function shaders, for the curious).

Oh Microsoft, we thank thee for giving unto us the first game console with programmable shaders . . .
The way in which shaders fixed the polygon problem without fixing the polygon problem (er) was by making light act as though there are more polygons to a model than there really are. This is done with a variety of techniques, such as bump mapping, normal mapping, and parallax mapping. Let’s consider normal mapping. The artist for the model in question begins by designing a model with an impossibly high poly count. He then uses that model to create a normal map. Normal maps are grayscale “textures” that tell light how to reflect off the model. The artist now reduces the fidelity of the model to something more manageable. When the model is put into a game, the normal map runs through a shader, which tells light to reflect off surfaces that aren’t really there. Neat!

It isn’t the prettiest job, but it really displays normal mapping well.
The problem with all of these techniques is that when you get close to the model, you can tell that it isn’t really as high poly as it appears from a distance. The newest hardware and APIs (DirectX 11 via Shader Model 5.0 & OpenGL 4.0) support a new technique called “hardware tessellation.” Before anyone accuses me of spreading misinformation, I know that ATI video cards had tessellation years ago (called TruForm). TruForm never made it into DirectX (it was available in OpenGL), and it was different feature-wise, so I’m treating the new tessellation technology differently.
The way tessellation works is simple: The artist creates his high poly model, reduces the poly count, and ships it in a game. Tessellation “creates” extra polygons, smoothing out the overall model. ATI’s old implementation of tessellation did this quite well, but it was indiscriminate: regardless of the model, it was getting tessellated, dammit! This was great for soft models, like faces, but bad for hard models, like chiseled rocks.

TruForm is on the left, untessellated is on the right. Notice two things: 1) the tessellation on the face is a huge improvement, and 2) the tessellation on the hands makes the fingers look like slightly damp sausage.
The new Shader Model allows for programmable tessellation. Making a rock? Just disable tessellation. Making a person? Crank tessellation to the max.
They say a picture is worth a thousand words, so I’ll let the following images sell you on hardware tessellation.
Remember, you can get this on the PS4, (probably) the Xbox Infinity, and a PC with reasonably current hardware and at least Windows Vista! Buy or pre-order today 🙂



Nice article TStrauss! I know quite nothing about polygons, but now I think I at least understand a little bit why GTA IV runs so good with good graphics on my laptop ;D
Love it, As a person going in for the fine field of Game Art in college I thought this article was very informative and I’m making notes so I can remember this in class.
Great article! I love the Economic play on words in the beginning. 🙂 I always love reading your posts. They are so much more technical. Keep up the great work!
Once again, nice article!
I seem to be wounded but I can keep going.
I love reading these Photo-Realism posts. It’s really interesting and detailed! Nice work, TStrauss!
windows vista????
correct me if im wrong, but isn’t it vista is one of the worst (if not the worst) windows release ever?
nice article though.. keep it up
haha… go with win7 folks.. XD
pfft nope, it’s allabout win8!
I’ve tried windows 8, and it’s even worse than Mistake Edition. I’ll wait for 9 before moving off of 7.
Windows 9? The next Windows is called Windows Blue & will be released in August, actually Microsoft are porting the whole Explorer to metro.
Yes, you’re correct. But his point was that to have all these effects and stuff( DX11 and above, tesselation), you’ll need at least Vista, because anything below doesn’t support it( or doesn’t run very well)
Normal mapping is in DirectX 9.0c (and whichever OpenGL corresponds to that), so you can enjoy that on a PC running Windows XP. But hardware tessellation is a feature of Shader Model 5.0, which is a part of DirectX 11/11.1. DirectX 10 and up are only on Vista and later, so you will need Vista or later to enjoy hardware tessellation. I don’t know if OpenGL 4.0 runs on Windows XP, so I can’t address that possibility.
Also, I never said “use Vista,” I said “at least Vista!” I recommend Windows 7, personally. Windows 8 is faster than 7 for most purposes, but benchmarks have consistently put Windows 7 ahead of 8 for gaming, albeit slightly. The upcoming Windows 8 update might improve the render path, I couldn’t say.
Vista had it’s issues, but it also implemented a lot of new technology. I was quite fond of Vista, I never had any trouble getting any of the programs to run that everyone was going “oh my gawd! why won’t it run!” It definitely took more doing to install things though if you didn’t turn all the security off. The security hobbled the average user experience in vista.
No, it was Windows ME the worst one.
No Windows ME was definitly the worst windows
Hopefully, the future of polygons will be real-life images. 😛
Um . . . I’ll take the one on the LEFT! 😀
-DoomSpace Marine,
as Duke Nukem called the corpse in the secret passage in the church of level 3 😀
” the biggest difference you will see is the number of polygons on the screen.”
Yeah, thats because Doom doesn’t use a single polygon! Doom uses a raycasting engine which cannot be compared to polygon engines.
well, you got the idea, right?
why you don’t propose Quake or Descent as a replacement.
Using Doom as an example is ok since it is one of the very first fully textured 3d games, but it is not a correct example when you talk about polygon counts.
I know this just a short article and besides the different type of engine it is still kinda legit to compare the complexity of 3d surfaces on the screen. It was just the nerd in me who insisted to raise his finger 😉
Anyway : Actually these early 3d games like DooM and Duke3D do have something in common with todays games. They both use workarounds to create a more detailed enviroment. Just compare Quake to Duke3D : If you only look at screenshots Duke3D looks way more detailed and runs faster but has some serious limitations in leveldesign.
The point of these articles is to give a layman a basic understanding of the underlying tech behind games. Sometimes I have to gloss over relatively small details because it would take too much effort to explain such a minor point (raycasting is hard to explain!). I glossed over much bigger points than raycasting for the sake of simplicity.
Of course you are correct, Doom is raycasted; the first Id game to run in 3D proper was Quake if I’m not mistaken.
duh how could I forgot to add ‘Alone in the dark’… walking triangles if you check it now 😀
So how do we get real life graphics, what is needed to achieve this or close to this ? More ram, faster CPU, Faster GPU or something else ?
I understand the basic stuff but just wondering from those that know a lot what is needed. Could the PS4 achieve close to real live images with it’s power ?
I will address this in my next article. This is a good question.
Want to see some polygon games, check out Bubsy 3D for PS1.