Best way to optimize textures for 10 characters

Recommended Posts

This is what I was thinking for a 2k-3k polygon character model.
Character
---------
512x512 Texture Map(color map)
512x512 Diffuse Map
512x512 Specular Map
512x512 Normal Map
Now I figure I can put all 4 of those textures into one 1024x1024 texture atlas. That would mean I would have to do four samples in the pixel shader per character. It seems something like this would kill performance.
I'm wondering what you guys think would be most optimal for a character in a game? Is 512x512 dds lod texture too much, are four texture too much? If it is then what type of textures would work the best? Any other suggestions for how I could arrange this.
BTW - target platform, Radeon 9800 pro(vs_2_0/ps_2_0)

0

Share this post

Link to post

Share on other sites

Original post by ph33rNow I figure I can put all 4 of those textures into one 1024x1024 texture atlas. That would mean I would have to do four samples in the pixel shader per character. It seems something like this would kill performance.

You'll have to do four samples anyway, no matter if you put all 4 textures in one big atlas or keep them in separate texture stages.Hmm, why do you have separate color map and diffuse map?

Share this post

Link to post

Share on other sites

Original post by ph33rI figured the artist could specify if they want some area's more diffuse then others. So they could paint in the chest area of low diffuse and paint in the hair a higher diffuse.

The color map(maybe I'm confusing terminology) is the actualy texture itself, the picture of what the character looks like.

Ahh, now I think I understand... [smile] I suggest putting your diffuse map in color map's alpha channel, for example. If it only defines how strong the diffuse should be, one channel is enough. You could do the same with specular map and normal map, too.

0

Share this post

Link to post

Share on other sites

Now, I have two textures per character(and ten different types of characters) how should I arrange it so I could get most optimal performance? I could have an atlas that would hold two characters each now. Would reducing the texture size be beneficial, or is 512x512 the defacto standard?

Share this post

Link to post

Share on other sites

The diffuse map and the color map are typically the same thing. It's known as the albedo texture, and each channel tells how much incoming light is reflected from the surface.

By color map, do you mean emissive? Like light is coming from the surface even in the absence of an external light source?

If so, one trick is to use just an alpha channel for where emissive goes, and use a single color constant to have one emissive color per object. Like for instance, if you have a dude with evil glowing red eyes, his constant would be red.

0

Share this post

Link to post

Share on other sites

Actually by color map I mean the texture for the character, that is the texture that shows his face, jacket, pants etc. My OGL always refered to this texture as a color map so thats where I got the term from.

Share this post

Link to post

Share on other sites

Original post by ph33rI would define the diffuse map as the intensity of diffuse component at different parts of the character. Just like a gloss map defines how much specular intensity is at certain parts.

So what would an object with a color map of "white" and a diffuse map of "black" look like? (assuming no specular lighting)