diffuse map, normal map, specular map, what else?

This topic is 1735 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

Recommended Posts

Hi, I have some questions I hope to get an awnser to.

What types of maps does a typical model need these days to look great? For instance, an High Detail Animal such as a Lion? What about a building (wood or stone)?

Does tesselation, Fur or Hair require any maps? Nvidia had a fur demo with its GTX 6xx series, I guess this technology requires top of the line graphics cards. Is there any point in realisticly having Fur and Hair in a game with tens of characters in the same scene? Perhaps other less costly fur and hair techniques are available.

Cheers!

Share on other sites

Hi, I have some questions I hope to get an awnser to.

What types of maps does a typical model need these days to look great? For instance, an High Detail Animal such as a Lion? What about a building (wood or stone)?

Does tesselation, Fur or Hair require any maps? Nvidia had a fur demo with its GTX 6xx series, I guess this technology requires top of the line graphics cards. Is there any point in realisticly having Fur and Hair in a game with tens of characters in the same scene? Perhaps other less costly fur and hair techniques are available.

Cheers!

there is a bump-map, but this is often stored in the normal map.

one way of simulating fur (more traditionally) is via textures.

for example, the model would have its basic fur-colored skin layer, with geometry sticking off which would have an alpha-blended fur texture.

for example, these could be pyramid-shaped (or other patterns, like a "waffle" pattern), but only really the bottom part is used.

this then causes the model to have a "fuzzy" layer over its surface.

using a map of some sort and a shader is also a possibility I guess, but I don't really know of the specifics.

I would guess that the model could have a secondary "outer shell" for the fur layer (basically a slightly "inflated" version of the underlying model geometry), then probably at each point use the eye/point vector and normal to pick out a spot in the fur texture.

say, for example:

    vorg=eyeOrg-point;
t=1.0-abs(dot(vorg, normal));
s=length(point);
pix=texture(furTexture, vec2(s, t));


or something like this...

dunno how well it would work, just made this part up.

the basic idea though is that the bottom of the texture would be solid fur, whereas the top is wispy hairs, and if the camera is more seeing it from the side it sees the wispy hairs and more from above and it sees the solid fur.

possibly, this could be done without needing a secondary outer shell, but the problem is that when seen from the side, geometry would still cut off in a hard edge, whereas a shell could simulate a smooth fuzzy edge.

I guess another trick could be the fur shader simply translating the vertex slightly (in the vertex shader) avoiding the need to have a separate layer in the model.

say, something like:

    normal = vec3(NormalMatrix * Normal);
point0 = vec3(ModelView * Vertex);
org = vec3(ModelView * Origin);
dir = normalize(point0 - org);

point = point0 + dir * (Offset / dot(dir, normal));
alternatively:
point = point0 + dir * Offset;


where the idea is that the point is projected a certain offset from the origin along the normal.

alternatively, we could skip the normal, in this case simply projecting the point a certain distance away from the origin (similar to simply upscaling that part of the model).

this should be fairly reasonable on most commonly available hardware.

none of this is tested though...

Edited by cr88192

Share on other sites

What types of maps does a typical model need these days to look great?

What do you mean by "great"? What do you mean by "typical model"?

Here's the point. Consider Halo. No doubt Master Chief looks good. Consider Gears. No doubt those characters look good.

Consider LA Noir, a game which took facial capture and turbocharged them. They needed to convey very specific information. No doubt both Halo and Gears models would be considered "not up to the task".

Yet if you look at LA noire graphics... it does not look much of a big deal. But sure facial animations are another planet.

Do we need specular maps for everything? Hell no.

Tassellation maps for everything? Not yet.

I've read a document years ago about remote control of surgical equipments. They stated that "20 layers" were absolute minimum to convey a realistic look. But that's not a game, I see.

So, what can you do? Instead of thinking about specific texture maps, think about providing a generic system. The shaders will then just like everything up and deal with them.

Does tesselation, Fur or Hair require any maps?

Yes, no, maybe, depends. I've seen a fur demo on GeForce3, it looked quite crappy I admit. Hair is usually dynamically animated. If the data goes in a texture, it won't be from disk.

Limited geometry amplification is available from anything being Shader Model 4 via Geometry Shaders.

Proper tassellation is Shader Model 5. AMD cards have been offering those features for quite a while and they're pretty well performing in my opinion. They could probably do what you want but nobody will do that as there's no real installed base yet.

Share on other sites
Another kind of map that you might want to use ( it depends on the game ) are glow maps. Used to make glow only certain parts of the models.
They are mostly used in futuristic looking games, but nonetheless they can improve the game's style instead of using full glow on models.

They are very often monochromatic, thus they require one channel. The glow's color is usually extracted from the

Happy coding !