Advertisement

How to deal with LOD/Progressive meshes?

Started by August 05, 2017 11:27 AM
3 comments, last by lucky6969b 7 years, 6 months ago

What is the general practice in dealing with LOD/Progressive Meshes?

1) Do I change the number of faces in the meshes according to the distance to the camera?

2) Do I keep a regular version of the mesh, then a progressive version?

3) If I was to keep 2 versions, when is the appropriate time to switch meshes?

Thanks

Jack

3 hours ago, lucky6969b said:

1) Do I change the number of faces in the meshes according to the distance to the camera?

The size of the object on screen should decide the LOD. This helps because then you know what sizes the textures need to be.

For example if the Player could see the lowest LOD and has a 1600*1200 screen, then there is no point on having a object that is 0.1 scale (160*120 pixel) with a texture of 4096*4096. The texture can't fit in that small space and will use a lot more resources than what is needed.

Also using screen size means you don't need to re-adjust when you change the camera's perspective/ FOV.

3 hours ago, lucky6969b said:

2) Do I keep a regular version of the mesh, then a progressive version?

Yes in fact here is the guides 3D modelers follow.

First make the Detailed/LOD0 mesh, this is what most people think of when you say 3D game model.

Then make the first LOD1 mesh, this one is important because it will get more screen time than LOD0 and has to move very smoothly.

Last make the minimum LOD. This is the least amount of polygons that can still fool the player into thinking it's the same object from all 6 sides.

After you have these you are free to make any in-betweens using what ever tool you want.
 

Spoiler

 

LODG1.png.1a981c5438d2dc19f6531c1d134ae368.png

In the above Image Detail is 600 tri,  443 tri - 216tri and 64tri  - LODmin 36tri.

The above is the manual workflow and is often only used for very important models. The only must have ones is LOD0 and LODmin.

Simplygon is the best auto LOD tool.

3 hours ago, lucky6969b said:

3) If I was to keep 2 versions, when is the appropriate time to switch meshes?

Different kinds of object will have different amounts of LODs. Buildings will have many LODs and small objects maybe only one if even one.

Again you will switch based on screen size yet by now you must have realized a problem, you don't get double the performance from using only halve the amount of polygons.

If your scene had 1 000 000 polygons on screen, you won't save even 25% of the performance switching to 500 000 polygons. This is because modern computers can render huge amount of polygons with little cost.

 

The amount of draw calls is much more important than the polycount. However if we used a LOD manager with a Batch or Instance manager we can suddenly get a lot more models onscreen.

Lets take My LOD 0 at 600 tri and LODmin at 36tri. If I had 16 of the bottles at LODmin I could batch them all into a single model that has 576 tri and one draw call.

 

In other words with my LOD and Batch manager working working together I can turn 16 small models into 1 of my larger models. 

Advertisement

As you batch up a lot of game objects into one mesh, say it's a LOD mesh, and there is a mountain very far away, and you don't need a lot of details for that... as you've batched that mesh into a one mesh, that one mesh must have the same detail level as the mesh that is really close to the camera...

We have saved a lot of draw calls from that, but does it worth it to render the far distanced mountain with high poly count?

Thanks

Jack

When the mesh has just got the positions and normals, it can't generate a progressive mesh. What other prerequisites are required to generate a progressive mesh?

Thanks

Jack

This topic is closed to new replies.

Advertisement