Typical number of textures per object in a modern game

Started by
5 comments, last by mattnewport 15 years, 8 months ago
____I need some input on texture usage from people who have worked on commercial projects, or anything involving complicated uses of shaders and textures. Specifically, how many textures (not counting cube, & 3D) are typical per object in a game, and what's a worst case scenario for a complex object? Thanks. EDIT: Also, how typical are meshes with multiple UVs?

[Hardware:] Falcon Northwest Tiki, Windows 7, Nvidia Geforce GTX 970

[Websites:] Development Blog | LinkedIn
[Unity3D :] Alloy Physical Shader Framework

Advertisement
Do you mean multiple textures as in Diffuse/Normal/etc?

I would say two textures per object is not uncommon, but it really depends on the game and your target hardware.
Depending on the material you can make creative use of extra channels (e.g. using the alpha channel for gloss or parallax mapping), which can save you dedicating a whole new texture to these effects.

Also, before slapping a normal map onto a model it's a good idea to think about whether you could get a similar output by using more vertices.
You can store a LOT of extra triangles in the same spaces as a 512x512 px nomral+height map (512px*512px*4bytes == 1MB).

Multiple UVs are common when using traditional static light-mapping AFAIK.
____Yes, I meant things like Diffuse, Normal, etc. To illustrate my point, and mention the specific case that caused my concern, here's an example from [DICE] Frostbite Rendering Architecture. On pg 25, they show an example shader using 6 textures for a soldier's uniform.

1.) Cloth normal map
2.) Model normal map
3.) Cloth detail map
4.) Model color map
5.) Model occlusion map
6.) Dirt map

Is this unusual?

[Edited by - n00body on August 19, 2008 12:27:08 PM]

[Hardware:] Falcon Northwest Tiki, Windows 7, Nvidia Geforce GTX 970

[Websites:] Development Blog | LinkedIn
[Unity3D :] Alloy Physical Shader Framework

No there's nothing wrong with using loads of textures (in a modern shader-based renderer). The only concern is the amount of memory all those textures are going to chew up (which is why it depends on the game - different games will have a different memory budget per model).

I'm guessing the cloth normal/detail textures would be pretty small tiling textures, and the model's color, occlusion and dirt maps can probably be DXT compressed without many visual artefacts.
check out doom3 etc eg just had a quick look under /materials
they usually have 3 ie diffuse,bump + specularmaps
u should be able to checkout other games that are modable for what theyre using
Diffuse, Specular/Gloss and Normal Maps are pretty standard. Ambient Occlusion and Emissive textures are quite common. Beyond that it depends on the shader and there's endless possibilities. Some examples are Detail Maps, Height/Displacement Maps, Dirt Maps, Subsurface Scattering Maps, Light Maps and 'Team Colour' Maps (don't know a standard name for that). Six as in the Frostbite example is certainly not unusual for a modern game.

Game Programming Blog: www.mattnewport.com/blog

To answer the second question, multiple UVs are fairly common. A model that has a tiling detail map and a non-tiling base map will usually need two sets of UVs. Some maps like Ambient Occlusion should have unique UVs and may need another different UV set if the base texture uses mirroring or other non-unique mapping.

Game Programming Blog: www.mattnewport.com/blog

This topic is closed to new replies.

Advertisement