Tesselation in games...

RooK

[H]ard|Gawd
Joined
Aug 19, 2001
Messages
1,108
Pretty slick new technology isn't it?

No... it isn't. New that is. When Carmack released the quake source, many engines spawned from it - many were just minor improvements on the GLQuake, but one engine (don't ask me which one... I wish I could remember) did "tessellation."

It was a very odd effect and worked great in OpenGL. I remember playing megaTF with the old voodoo3 with some sort of tessellation enabled. And didn't nVidia buy 3DFX?

So what's the hold up nVidia? This is 10 years later, and I don't have a quick switch so that the side of the barrel in borderlands doesn't switch from having 4 sides to 32?

Yes, it is worth to note that 10 years ago the only "tessellation" was on the players, weapons, and drop1, drop2's etc.., but it was there.

Please just tell me i'm being stupid and haven't found the setting to turn this feature on yet. Right?
 
ATi used to have some sort of crude tessellation setting in their older GPU's

Someone actually mentioned it on here recently. Forgot what they called it though]
 
From the TruForm wiki entry and the tessellation section in the R600 wiki, it becomes apparent that TruForm tessellation failed because Nvidia was doing its own tessellation feature (yeah, I never heard about that either). Supporting only one or both tessellation features made things so awkward and inconvenient for game developers that the games industry collectively said "screw you both" and supported neither.

What's different now is that Microsoft is pushing tessellation for Xenos (the chip ATi makes for the XBox 360). Since a single tessellation method is now in DirectX, both Nvidia and ATi have jumped on the same bandwagon and the game developers are back into it.
 
For those with a AMD/ATI chip with TruForm and UT2K4, you can enable tessellation. Open the config file and look for the Npatches setting. Turn it on and set the tessellation factor to 15, which is the highest the old tessellation hardware can go. It doesn't make much, if any, IQ difference but it's something to play with.
 
Last edited:
For those with a AMD/ATI chip with TruForm and UT2K4, you can enabled tessellation. Open the config file and look for the Npatches setting. Turn it on and set the tessellation factor to 15, which is the highest the old tessellation hardware can go. It doesn't make much, if any, IQ difference, but it's something to play with.

npatch!!!!

That was the console command in the customer GLQuake engine. You could set it to 1 or 0 - it made the backpacks look like a big bubble - but it did what it said it did with no performance hit - but like I said - only player characters, weapons, and small items. Never anything on the map.

Geez - i'm feeling my oldness creep up on me...

Really, I just posted this in hopes that a driver dev reads this and gets embarrassed that someone did it 10 years ago with the FIRST 3D ACCELERATED GRAPHIC ENGINE, but they haven't yet made it force-able on an app like vsync, AA, etc. :cool:
 
Really, I just posted this in hopes that a driver dev reads this and gets embarrassed that someone did it 10 years ago with the FIRST 3D ACCELERATED GRAPHIC ENGINE, but they haven't yet made it force-able on an app like vsync, AA, etc. :cool:

Too bad that's impossible, because that's not how tessellation works. In my admittedly limited understanding, the game developer needs to supply displacement maps for the areas to be tessellated.
 
Too bad that's impossible, because that's not how tessellation works. In my admittedly limited understanding, the game developer needs to supply displacement maps for the areas to be tessellated.

No, the beauty of TruForm was it could be used without serious modification. You could reuse existing meshes. This is why several games backported the technology (like CS), because it was easy.

The only problem was "To enable the feature without causing visual problems, such as ballooned-up weapons, the models had to have flags identifying which areas were to be tessellated"

So, just make a small mod in the engine's vertex path (which was open-source by that point), and you can get npatches in Quake 1. Oh, and hey, lookie there, on the TruForm Wiki page, a mention of the TruQuake Patch, which enables TruForm in Quake 1!

Nvidia's tech (introduced in the GeForce 3)never caught-on because it required a completely different approach to building meshes, so it was incompatible with everything out there.
 
Too bad that's impossible, because that's not how tessellation works. In my admittedly limited understanding, the game developer needs to supply displacement maps for the areas to be tessellated.

Pretty much correct. For each model or mesh which has to support tesselation hints have to be given for every section of the mesh as to how it should be tesselated. The tesselation feature is not psychic and can not determine somehow what the tesselated model would look like. It's also not free and gives a pretty big performance hit, in addition to the many hours of extra work on each model.

Disclaimer: I am a game developer and professional 3D modeller :)
 
Pretty slick new technology isn't it?

No... it isn't. New that is. When Carmack released the quake source, many engines spawned from it - many were just minor improvements on the GLQuake, but one engine (don't ask me which one... I wish I could remember) did "tessellation."

It was a very odd effect and worked great in OpenGL. I remember playing megaTF with the old voodoo3 with some sort of tessellation enabled. And didn't nVidia buy 3DFX?

So what's the hold up nVidia? This is 10 years later, and I don't have a quick switch so that the side of the barrel in borderlands doesn't switch from having 4 sides to 32?

Yes, it is worth to note that 10 years ago the only "tessellation" was on the players, weapons, and drop1, drop2's etc.., but it was there.

Please just tell me i'm being stupid and haven't found the setting to turn this feature on yet. Right?

I'm not really sure what the point of this thread is. You can't turn "tessellation" on globally, developers have to use it. They can use it through DX11 or they can use it through vendor specific OpenGL extensions (which is what you are talking about).

Until DX11 there was no standard way to use tessellation, and thus developers didn't use it. There also wasn't massive amounts of GPU power sitting idle.

If you don't like how barrels look in borderlands, bitch at the borderlands developers. It isn't NVidia's or ATI's fault. What you are talking about doesn't even need tessellation at all - just a couple more LOD steppings.
 
Until DX11 there was no standard way to use tessellation, and thus developers didn't use it. There also wasn't massive amounts of GPU power sitting idle.

Correction: tesselation is a very old technique, available since the 90s if not sooner. It is hardware tesselation which is new-ish. Software tesselation was and is pretty standard :)
 
Correction: tesselation is a very old technique, available since the 90s if not sooner. It is hardware tesselation which is new-ish. Software tesselation was and is pretty standard :)

Yeah, I meant hardware tessellation. I also meant tessellation in the form of polygon subdivision and displacement to add detail, and not to convert polygons to triangles for performance reasons (which is what OGL's standard tessellation APIs were for - not sure what DX has available)

And hardware tessellation really isn't new-ish either, as it debuted with the Radeon 8500 ;)
 
Pretty slick new technology isn't it?

No... it isn't. New that is. When Carmack released the quake source, many engines spawned from it - many were just minor improvements on the GLQuake, but one engine (don't ask me which one... I wish I could remember) did "tessellation."

It was a very odd effect and worked great in OpenGL. I remember playing megaTF with the old voodoo3 with some sort of tessellation enabled. And didn't nVidia buy 3DFX?

So what's the hold up nVidia? This is 10 years later, and I don't have a quick switch so that the side of the barrel in borderlands doesn't switch from having 4 sides to 32?

Yes, it is worth to note that 10 years ago the only "tessellation" was on the players, weapons, and drop1, drop2's etc.., but it was there.

Please just tell me i'm being stupid and haven't found the setting to turn this feature on yet. Right?

You have to remember that a lot of what we are doing with computer graphics isn't anything new, conceptually, it is just that hardware is getting powerful enough to do it. The concept of tessellation is well established in terms of 3D software. The problem is doing it in real time, on hardware, in a useful fashion, without killing framerate. Previously it was mostly ignored because it sucked. With the DX11 spec it works quite well.

You'll keep seeing things like this too. Eventually, we'll work out a good global illumination scheme for video cards. All lights in a game will come from real sources, it will bounce off surfaces in a proper diffuse way and so on. This will look very realistic and be awesome, but be nothing new at all.

Radiosity is one of the most common and earliest techniques to do this that I know of. You simulate the light bouncing off of surfaces to a high number of bounces. Looks very realistic. Does specular, diffuse, caustics, all equally real. However the problem is it makes raytracing look downright fast. The amount of calculations is insane. Even other GI techniques that cut down on time a lot, like photon mapping, still are way, WAY out of the realm of realtime hardware.

That won't always be the case though. Better techniques will be developed, hardware will get faster, and things like GI will be introduced to graphics cards. It'll be a call new development in games, but nothing new overall. We already know how to make photorealistc graphics, more or less, it is all about doing it in a reasonable amount of time.
 
Yeah, I meant hardware tessellation. I also meant tessellation in the form of polygon subdivision and displacement to add detail, and not to convert polygons to triangles for performance reasons (which is what OGL's standard tessellation APIs were for - not sure what DX has available)

And hardware tessellation really isn't new-ish either, as it debuted with the Radeon 8500 ;)

Nothing is ever really new :)
 
Back
Top