Tesselation vs Actual Model

jordanecmusic

Senior member
Jun 24, 2011
265
0
0
Wouldn't it be much less CPU and GPU bogging if developers stopped being lazy and actually added the polygons to the models, instead of implementing tessellation to it?

Tessellation seems like a gimmick gone horribly wrong. In AVP, there is no reason why tessellation should be implemented into the game if the developers would have created the models with a bit more polygons.

Maybe this is just a result of console games being ported to pc. As a result the developer doesn't introduce higher quality models, but instead adds more fancy effects.

If the developer knows that the game is going to be on pc, then why wont they create the game like Dice created Battlefield 3, create the Ultimate version, then downscale it to consoles.

Someone please correct me if I am wrong about this matter.
 

imaheadcase

Diamond Member
May 9, 2005
3,850
7
76
You are right to a sense, most actual features are just shortcuts to get better performance or better graphics.

Many of them are not noticeable even if they went missing by the user. But people are so used to marketing they simply think they can't do without them when its just the software/GPU makes concentrate on faster returns for little of work. This was true with physics, game engines can do it just as good as GPU can now because CPU is now powerful multicore beasts. Anti-aliasing is one of those other "tricks" that don't really add much to the game for most people, but it adds better graphics to others.

I think in the end GPU makes make it easier for programmers (i'm not one so might be wrong here) to hook into a feature so its easier to implement with engine they use vs raw power that could drag down tons of games, making it a easier playing field.
 

SunnyD

Belgian Waffler
Jan 2, 2001
32,666
123
106
www.neftastic.com
There's more to it than that - more polys = more load on the cpu, gpu and memory. More load = lower frame rates = unplayable game across a larger cross-section of the community.

Tessellation is a level of detail optimization, similar to mipmapping. A level of detail optimization where the farther away you are from something, the less detail needs to be there since you're not going to see it in detail anyway. It's actually beneficial to the title as a whole, as it lets you see more of the game world as it would be rather than obscuring it like you would using a clipping plane as your optimization.

Tessellation is actually giving you more overall detail for the game as a whole, rather than limiting it, thereby making it playable on a larger range of hardware at an overall better quality.
 

motsm

Golden Member
Jan 20, 2010
1,822
2
76
Tessellation is actually giving you more overall detail for the game as a whole, rather than limiting it, thereby making it playable on a larger range of hardware at an overall better quality.
In theory that's true, but in practice, it typically doesn't pan out that way. Most developers don't seem to have a grip on tessellation yet, so they severely over tessellate certain objects, while completely ignoring others, so the visual to performance trade offs are often terrible. I think with traditional brute force polygons, they often take a bit more care with their use, and find better performance to visual ratios. It also doesn't help that tessellation is typically just a GPU sponsored afterthought plugged into a console port.

With a few more years of refinement I think it will be a much better feature; as of now I'd rather see them go without it, but I suppose the awkward stages of getting to know something are required to get to the next step. Reminds me a lot of the first couple years of rag doll physics, but now that we suffered through them they have been refined to a point where they are much better than the entirely static animations they replaced.
 

wuliheron

Diamond Member
Feb 8, 2011
3,536
0
0
Its all about cost verses performance. Your monitor, speakers, everything is all about getting the most bang-for-your-buck and the manufacturers and developers getting the most bang for their buck.

What would be ideal would be ray cast geometry, but the cost/performance ratio just isn't there yet. Tessellation provides a very cheap way to add more geometry to even a wimpy laptop. You can call it a cheat and say its imperfect, but video game developers are fond of saying some 80% of graphics is faking it. The next big trick with tessellation that some of us are holding our breath to see is covering all those polygons with megatextures which can add the illusion of even more geometry to hide the triangles even more.
 

PrincessFrosty

Platinum Member
Feb 13, 2008
2,301
68
91
www.frostyhacks.blogspot.com
One of the biggest benefits of Tessellation is not that you can add detail with it, generally speaking it's better to add detail by hand so it looks hand tailored, it's mostly because it can dynamically add detail.

You can determine the distance between the players point of view and an object and then set the complexity of the tessellation to be a function of that distance so the closer something is the more detail is dynamically added.

More than anything this is good for newer types of LOD, in previous LOD systems developers would literally have to make multiple models for characters, environment and so on, often requiring lower resolution textures and simpler animations then set LOD zones where these high/low quality objects are swapped out which causes pop in and objects that snap from one LOD to another.

Now they can make 1 model and dynamically add vertices to it to increase the complexity, you can make a tank barrel for example that's just an extruded triangle so when the tank is 100m away you simply can't tell it on has 3 faces, but tessellation can add 10 faces when it's say 50m away and then add 30 faces when it's 10m away and when you're right next to it, it can add hundreds and make it appear almost perfectly smooth.

You don't need to swap out barrels, change textures, set LOD distances, you don't get models that snap between LODs and you dont get any issues with animation, it just blends automatically between those shapes.

It means gamers will get some surfaces that look amazing up close that would not normally have that level of detail and there is less work on the developers to actually produce the artwork which means they can produce more unique artwork during development. it also has the added benefit of scaling very well when exposed to the user, allowing users to manually tweak the aggressiveness of tessallation allows them to get games that look really awesome if they have the rig to back it up, it means that games last longer before they look outdated because it's future proofed to a greater extent.
 

jordanecmusic

Senior member
Jun 24, 2011
265
0
0
adding detail as you approach an object? games already do that. left 4 dead does that (dx9 and no tesselation), fall out does that (again no tesselation), home front does that (no tienes tesselation jhejejejje). thats not unique to tesselation. it runs a lower quality object when your far away, but then shows a higher quality object as you approach it more and more showing the higher quality object than before.

Im still not convinced why tesselation is a big deal.
 

rstrohkirch

Platinum Member
May 31, 2005
2,318
313
126
adding detail as you approach an object? games already do that. left 4 dead does that (dx9 and no tesselation), fall out does that (again no tesselation), home front does that (no tienes tesselation jhejejejje). thats not unique to tesselation. it runs a lower quality object when your far away, but then shows a higher quality object as you approach it more and more showing the higher quality object than before.

Im still not convinced why tesselation is a big deal.
Did you read the post above yours? He explained rather well the advantage of it over a conventional LOD system which you are describing. It's also a time saver if you only needed one model and the engine dynamically did the rest. You have no idea how much more work goes into creating those extra LOD models and textures then assigning attributes to them in level construction.
 
Last edited:

wuliheron

Diamond Member
Feb 8, 2011
3,536
0
0
Did you read the post above yours? He explained rather well the advantage of it over a conventional LOD system which you are describing. It's also a time saver if you only needed one model and the engine dynamically did the rest. You have no idea how much more work goes into creating those extra LOD models and textures then assigning attributes to them in level construction.
Not to mention its done in the tessellator using hardware acceleration to speed up the process.
 

Throckmorton

Lifer
Aug 23, 2007
16,830
2
0
I don't get how tesselation is any more efficient than what is normally done, using different polygon count models.
 

PrayForDeath

Diamond Member
Apr 12, 2004
3,489
0
76
One of the biggest benefits of Tessellation is not that you can add detail with it, generally speaking it's better to add detail by hand so it looks hand tailored, it's mostly because it can dynamically add detail.

You can determine the distance between the players point of view and an object and then set the complexity of the tessellation to be a function of that distance so the closer something is the more detail is dynamically added.

More than anything this is good for newer types of LOD, in previous LOD systems developers would literally have to make multiple models for characters, environment and so on, often requiring lower resolution textures and simpler animations then set LOD zones where these high/low quality objects are swapped out which causes pop in and objects that snap from one LOD to another.

Now they can make 1 model and dynamically add vertices to it to increase the complexity, you can make a tank barrel for example that's just an extruded triangle so when the tank is 100m away you simply can't tell it on has 3 faces, but tessellation can add 10 faces when it's say 50m away and then add 30 faces when it's 10m away and when you're right next to it, it can add hundreds and make it appear almost perfectly smooth.

You don't need to swap out barrels, change textures, set LOD distances, you don't get models that snap between LODs and you dont get any issues with animation, it just blends automatically between those shapes.

It means gamers will get some surfaces that look amazing up close that would not normally have that level of detail and there is less work on the developers to actually produce the artwork which means they can produce more unique artwork during development. it also has the added benefit of scaling very well when exposed to the user, allowing users to manually tweak the aggressiveness of tessallation allows them to get games that look really awesome if they have the rig to back it up, it means that games last longer before they look outdated because it's future proofed to a greater extent.
Thank you for this post. This explains alot.
 

wuliheron

Diamond Member
Feb 8, 2011
3,536
0
0
I don't get how tesselation is any more efficient than what is normally done, using different polygon count models.
Several major reasons have already been given. Polygons are generated in software, by someone writing a detailed program and having the cpu execute it. With tessellation the programmer just tells the machine to do the work on the gpu. No need to write a detailed program about exactly what to do and no need to lug the cpu with repetitious work.

That way the programmer spends less time on it, and the game can run in Dx 11 on a wimpy dual core laptop. Its less flexible then doing everything using custom programming run on the cpu, but much more efficient. That's how graphics card evolved in the first place, to do more of the repetitious work that would lug a cpu and require more programming time without one.
 

PrincessFrosty

Platinum Member
Feb 13, 2008
2,301
68
91
www.frostyhacks.blogspot.com
adding detail as you approach an object? games already do that. left 4 dead does that (dx9 and no tesselation), fall out does that (again no tesselation), home front does that (no tienes tesselation jhejejejje). thats not unique to tesselation. it runs a lower quality object when your far away, but then shows a higher quality object as you approach it more and more showing the higher quality object than before.

Im still not convinced why tesselation is a big deal.
Of course, as I said, they use traditional LOD systems and I listed some of the drawbacks.

1) They take more artist time to make since each different LOD model has to be created by the artists.
2) There is usually an obvious snap between quality when the LOD chanages which is often noticeable
3) It takes more room in memory and on the disk to store the additional models
4) It's more scaleable than regular LODs and can be scaled with a simple set of parameters without additional work, future proofing the quality of the graphics
5) You can do other dynamic effects like damage system that chip away at objects as they take damage in the game logic the can represent that visually without it being hard coded

Here is a good example of the sort of dynamic, procedural effects you can do with tessellation - http://www.youtube.com/watch?v=1c_PVtMIz-A
 

Kalessian

Senior member
Aug 18, 2004
825
12
81
Just wanted to make a comment on the OP saying the devs are too lazy to make higher poly counts. I dont think thats the issue I think devs would want to if the hardware could handle it.

I say this because I remember watching a vid by epic where they claimed that their art was so good because they created really high poly count models and used software to reduce the poly count and add bump mapping to optimize with very little noticable loss to quality but big perf gains.

edit - I do agree about lazy console ports though
 
Last edited:

jordanecmusic

Senior member
Jun 24, 2011
265
0
0
I just got a great idea. Why don't developers use tesselation to actually create the models? Therefore decreasing time to make the model and increasing the detail of it? Sort of like a premade tesselation based model, instead of our gpu actually trying to calculate what polygons go where.

That would probably less computation extensive compared to real time tesselation, but it would have to be the same results
 

TakeNoPrisoners

Platinum Member
Jun 3, 2011
2,600
1
81
I'm pretty sure tessellation, along with AA is a technique used to get around the fact that the resolution of our monitors has not increased at all in 10 years.

If we had monitors with the DPI of an iPhone we wouldn't need it.
 

BathroomFeeling

Senior member
Apr 26, 2007
210
0
0
I just got a great idea. Why don't developers use tesselation to actually create the models? Therefore decreasing time to make the model and increasing the detail of it? Sort of like a premade tesselation based model, instead of our gpu actually trying to calculate what polygons go where.

That would probably less computation extensive compared to real time tesselation, but it would have to be the same results
Because instead of letting a dedicated engine handle it, you're offloading the workload to the rest of the GPU. Not all GPUs can handle such high per-tessellated models, so low framerates will be the result across most gaming systems. Contrast that with a dedicated tessellated engine - low poly model getting tessellated on the fly based on how powerful the engine is on the card. More powerful = more polygons. Less powerful = fewer polygons.



I'm pretty sure tessellation, along with AA is a technique used to get around the fact that the resolution of our monitors has not increased at all in 10 years.
If we had monitors with the DPI of an iPhone we wouldn't need it.
Bro, if we had super high resolution monitors, ugly blocky models would not look better. It'll just be a clearer picture of ugly blocky models. I don't want sharp corners on chicks man, do you? Smooth & voluptuous requires adequate tessellation.

In the case of AA, higher-resolution screens would just be a hardware translation of AA. You'd still need to do the associated GPU workload on such high resolution monitors. Lets say we use a 22" 1920x1080@72dpi screen as an example. An iPhone screen has a resolution of 163dpi. If we had a 22" screen with that resolution, it'd translate to something like 4346x2445@163dpi... more than double the original size. That's practically 2xFSAA. You'd increase GPU load then, as we do now.
 

PrayForDeath

Diamond Member
Apr 12, 2004
3,489
0
76
In the case of AA, higher-resolution screens would just be a hardware translation of AA. You'd still need to do the associated GPU workload on such high resolution monitors. Lets say we use a 22" 1920x1080@72dpi screen as an example. An iPhone screen has a resolution of 163dpi. If we had a 22" screen with that resolution, it'd translate to something like 4346x2445@163dpi... more than double the original size. That's practically 2xFSAA. You'd increase GPU load then, as we do now.
I believe it's 333 dpi for the retina display phones (iphone 4/4s), so the res on a 22" would be even more ridiculous.
 

PrincessFrosty

Platinum Member
Feb 13, 2008
2,301
68
91
www.frostyhacks.blogspot.com
I just got a great idea. Why don't developers use tesselation to actually create the models? Therefore decreasing time to make the model and increasing the detail of it? Sort of like a premade tesselation based model, instead of our gpu actually trying to calculate what polygons go where.

That would probably less computation extensive compared to real time tesselation, but it would have to be the same results
Well in some senses they already do, there are tessellate function in most modelling programs, you can tessellate models in 3D Studio Max and you have a sort of dynamic tessellation in Z-brush which is a very high quality modelling application used to create source art for things like normal maps which are often millions of polygons.

But that's ignoring the benefit of tessellation which is that it's dynamic and can alter the amount of detail on the fly, you can have artists make a high quality model but the problem is that causes many performance issues in game, you cant just use high quality on everything, we don't have an unlimited amount of processing power, so we need something that intelligently scales in game, and tessellation can do this.
 

jordanecmusic

Senior member
Jun 24, 2011
265
0
0
Well in some senses they already do, there are tessellate function in most modelling programs, you can tessellate models in 3D Studio Max and you have a sort of dynamic tessellation in Z-brush which is a very high quality modelling application used to create source art for things like normal maps which are often millions of polygons.

But that's ignoring the benefit of tessellation which is that it's dynamic and can alter the amount of detail on the fly, you can have artists make a high quality model but the problem is that causes many performance issues in game, you cant just use high quality on everything, we don't have an unlimited amount of processing power, so we need something that intelligently scales in game, and tessellation can do this.
intelligently scales in game? tessellation drops frame rates by 30% or more compared to when its not in use.

I'll make an example real quick. Left 4 Dead 2, if you look at Coaches head, there are no jags. Its completely smooth. I would have to say nothing in Left 4 Dead 2 requires tesselation because Valve managed a way to include such high quality models without breaking the memory bank.

Left 4 Dead 1. Look at the characters heads. You can actually see the head jag I am talking about (think doom 3 heads lol). This is proof that developers should not have a problem adding some polygons where its important and removing some where the player will not even notice. Valve is king of optimization for a reason. Still wonder how they got their shadows to not drop framerate what so ever.
 

PrincessFrosty

Platinum Member
Feb 13, 2008
2,301
68
91
www.frostyhacks.blogspot.com
intelligently scales in game? tessellation drops frame rates by 30% or more compared to when its not in use.
First of all it depends to what degree you tessellate the models, if you're adding a million polygons then you'll get a large frame rate drop. If you're only adding thousands you'll get less. It's possible to use tessellation as a substitute for traditional LOD systems and while you might not see the same kind of FPS benefit you'll definitely see a quality benefit, so it's a balance.

You also have to factor in that the tessellating power of modern video cards is still pretty poor, that is getting better with each new generation, when the overhead for tessellation becomes less noticeable it will make more sense to use it in games.

Concerning Left4Dead 1/2, in all fairness these are not particularly good looking games, they make almost no use of advanced graphics techniques, the maps are very basic BSP which for the most part are tightly enclosed and extremely linear. They put a lot of detail into the 4 player models but it's lacking almost everywhere else. It's classic valve these days, they do really well with last generations graphics technology so it can all run on older machines and kudos for them for that, but when I'm running at like 500fps at 2560x1600 it's just silly, they could be offering more but they just cba to.
 
Last edited:

jordanecmusic

Senior member
Jun 24, 2011
265
0
0
After playing Shogun 2 with everything at max and tesselation turned on. It does make a slight difference on everything in the distance being not funny looking, but smooth and everything. Scaling to the screen resolution with tesselation is actually real :O
 

WMD

Senior member
Apr 13, 2011
476
0
0
Very good point OP. Tessellation has been touted as the next best thing that will dramatically increase game detail while incurring less performance lost. The best examples of tessellation is in crysis 2 and Heaven demo where you will see individual bricks or cobblestone render in 3d. However if you play witcher 2 throughout the various level you will also notice that the stone walls and rock piles in that game are not just a flat texture but also have individual stones popping out as if there is tessellation. We know witcher 2 is strictly a dx9 game so those must have been done in plain polygons using traditional LOD scaling. The eye opener is those "fake tessellation do look pretty good and performance looking at those scenes is actually pretty good too. Generally over 70fps even on my ancient 5850 card. The character models themselves are also extremely detailed in terms of polygons but multiple characters on screen does not really bog down performance at all. This is a pretty good indication that geometry performance in most games are not really close to being the main bottleneck in most cases. Now compare the Witcher 2 to Crysis 2. I can have a scene in Crysis 2 where looking at practically nothing other than a brick wall can result in sub 25 fps. Similar story in unigine. Of course you will be saying that the 5800 series are the worst performers when comes tessellation. But also notice that if you allocate more die space and transistor budget into tessellation functions your overall performance/ mm and performance/ watt goes down as in case of Fermi when compared to Cypress. So either way going the tessellation route is not as efficient as it seems. Even the latest Fermi gtx500 parts still cannot run crysis 2 tessellation without significant performance drops. But I still do welcome the additional flexibility and smooth LOD transitions it brings.
 
Last edited:

Modelworks

Lifer
Feb 22, 2007
16,240
6
76
When you create a model in something like maya or max you start with a very low poly model and work your way up to high poly until you get all the features or reach your poly limit. Before you do the final subdividing of the model you save versions of the models with varying polygon counts, those models become the level of detail models that game engines swap out depending on how close the player comes to the model. Some engines are capable of taking a high poly model and automatically scaling it down but they don't do it well and there is a ton that can go wrong with that approach if the models are not designed correctly. Tessellation takes the low poly models divides the triangle by two or four or eight , etc . The problem with doing this is the model has to be designed with that in mind. Things that look good at low poly can look bad when tessellated by the computer because it doesn't have the human ability to understand what the model is supposed to be , to the gpu it is just a bunch of triangles.

What I would like to see is the ability given to the artist to tell the gpu how important tessellating is to faces on the model and not relying on programming to decide what is important. That one feature would allow an artist to design just one model version for a game and then tell the gpu that if you are going to tessellate this model then I want you to do this face a certain way and this face a different way , not applying a standard algorithm to the model and hope it turns out looking good. In software packages for modeling I can select some faces for one form of tessellation and then other faces for a different method, usually these are called smoothing groups or subdivision sets and there can be 30 of them for a typical model. Currently if you translate those models to game engines you lose the smoothing groups information, unless you export it part by part and that doesn't work well for moving parts like fingers connected to hands because you will get a seam at the joint.


The reason the high poly models are not created for the pc when developing for consoles is because of that process of developing from low poly to high poly and stopping at the poly limit for the characters. The pc market doesn't justify the time needed for developers to optimize the higher poly models.
 
Last edited:

jordanecmusic

Senior member
Jun 24, 2011
265
0
0
When you create a model in something like maya or max you start with a very low poly model and work your way up to high poly until you get all the features or reach your poly limit. Before you do the final subdividing of the model you save versions of the models with varying polygon counts, those models become the level of detail models that game engines swap out depending on how close the player comes to the model. Some engines are capable of taking a high poly model and automatically scaling it down but they don't do it well and there is a ton that can go wrong with that approach if the models are not designed correctly. Tessellation takes the low poly models divides the triangle by two or four or eight , etc . The problem with doing this is the model has to be designed with that in mind. Things that look good at low poly can look bad when tessellated by the computer because it doesn't have the human ability to understand what the model is supposed to be , to the gpu it is just a bunch of triangles.

What I would like to see is the ability given to the artist to tell the gpu how important tessellating is to faces on the model and not relying on programming to decide what is important. That one feature would allow an artist to design just one model version for a game and then tell the gpu that if you are going to tessellate this model then I want you to do this face a certain way and this face a different way , not applying a standard algorithm to the model and hope it turns out looking good. In software packages for modeling I can select some faces for one form of tessellation and then other faces for a different method, usually these are called smoothing groups or subdivision sets and there can be 30 of them for a typical model. Currently if you translate those models to game engines you lose the smoothing groups information, unless you export it part by part and that doesn't work well for moving parts like fingers connected to hands because you will get a seam at the joint.


The reason the high poly models are not created for the pc when developing for consoles is because of that process of developing from low poly to high poly and stopping at the poly limit for the characters. The pc market doesn't justify the time needed for developers to optimize the higher poly models.
so would you say tesselation would be pointless if high poly models were involved?
 

ASK THE COMMUNITY