Skip to main content
GameDev.net gamedev.net
🔒 Locked

Workflow for Tesselation - Model to Shaders

Started by AverageJoeSSU Nov 9, 2010 at 4:21 PM 0 replies 750+ views
Original Post
AverageJoeSSU
AverageJoeSSU
How does one create a Model (character or whatever) to be tesselated?

Do you generate the LOD for the mesh and then the shader goes between the different LODs? how do the tesselation primitives play into this (ie patches).

links to this workflow would be greatly appriciated.
------------------------------ redwoodpixel.com
spek
spek
What I do is simply making 3 or 4 variants of each model, and then let the CPU decide which one to render based on distance. These distances may also depend for the pass (a cubeMap or water mirror can do with lower LOD versions for example). So basically I first model the high-poly version, then remove details and eventually let it reduce the polygon with some automated tools for each version.

Probably the simplest method, although you may see the model suddenly changing after X meters (this also happens in many other games if you look carefully). But if the distance is big enough and the models not too different, you hardly notice it.


You can do it the advanced way on a GPU with Geometry Shaders as well, although I'm not so sure about the performance. I don't have any experience with them, but even the nVidia papers state that tesselating on the GPU is quite expensive. Anyhow, a geometry shader can take a single primitive and then generate new ones based on distance, with sub-division for example. But the real difficulty is that you need a reference somehow, just making a shape somewhat smoother/rounder is probably not what you want for complex models such a human. Other shapes like a terrain can work with a heightMap; for each new vertex you generate in the GS, you'll pick the corresponding height from that texture.

Rick

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.