I'm preparing to build a 3D game without an engine and am wanting to know how I could implement graphic detail levels for my models.

To do this, are the models made in the highest quality level and then the artists remove polygons and texture detail for each model of a lower quality? Or does it work in some other way?

  • \$\begingroup\$ Model LOD (level of detail) is often performed by the artist, although some computerized methods are available (though generally the results are less ideal). Textures on the other hand are often easier to mipmap with algorithmic scaling. You may want to research "mipmaps" and how to store them. Valve's games have their own texture format (VTF = Valve Texture Format) which encodes the mipmaps into one file, along with some other meta data (such as animation, transparency channel meaning, and so on) although there are other methods. \$\endgroup\$ Jan 6 '16 at 19:03

The artists probably won't do this manually quite like you're thinking, but you're on the right track (or at least a viable track). You can generally degrade mesh and texture quality programmatically pretty easily since you probably already have the relevant data.

For geometry, you'll probably have lower level-of-detail version of a mesh you use as part of your LOD system when an object is far enough away. These may be manually generated by an artist or may be automatically generated via tools in whatever modelling software you're using (or both).

For textures, you'll probably already have lower-detail MIP levels for each texture for similar reasons.

You can thus pretty easily hook up a system where you have a few different "texture detail" quality options in your settings, with "highest" using all the available textures and with each subsequently lower setting reducing which MIP level of the texture you load and use for the top quality version. For example, if you normally generate and load five mip levels at "highest" quality, you might only load the bottom four at "high", the bottom three and "low" and the bottom two at "lowest."

The same goes for mesh geometry, which you can put on an independent control or just tie together into one simple slider.

You can make similar adjustments to other graphics features; for example if you have shadows in your game, you can reduce the size of the shadow map render targets by some factor for every lower value of the "shadow quality" slider, or simply turn them off.

Of course it's possible to use these sliders to swap in entirely different collections of art tailored for different performance criteria, but building all of that may be a lot more work and time than can afford, and the cost/benefit over simply degrading through automatically-generated LOD and MIP options may not be there (with the exception maybe of your main character or a handful of other high-visibility items).


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.