Forum: Poser - OFFICIAL


Subject: Normal Maps

lkendall opened this issue on Dec 18, 2007 ยท 76 posts


ghonma posted Wed, 19 December 2007 at 5:46 AM

Quote - In other words, if normal maps are hard to make, cannot be dynamically changed using math/masks, and are limited in resolution, they are inferior to bump maps, IMO.

Well for modern renderers at least this is not a problem, because they support 32 bit per chan float precision in shaders. Even firefly renders internally in float format, it just clips it down to 8-bit when writing the file (IIRC). So it shouldn't be too hard to support them in poser pro. Also some renderers use what are called 'delta' normal maps. These are merely the difference in the actual gemoetry normal and the calculated bump normal. By using them, not only can you store the map in smaller precision (since the range is much smaller) but you can also change the intensity of the 'bump' by changing the magnitude/values of the delta. With some limitations of course. Rez has no limitation only what your RAM limits.

And normal maps arent hard to make, you just need the right software for it. ZBrush does them easily, as does XSI and MAX. Modo too i believe. It's simply a matter of either sculpting your detail and baking it out as normals, or painting a bump and converting that. There's also a very nice free tool for working with them:

xNormal

and an nVIDIA plugin for photoshop:

Photoshop normal mapper

Quote - I hate to admit it, but I do not understand the term "baked," which I have seen several times lately.

Baking simply means taking some calculated value in a render and writing it out as a texture. That way you only do the calculation once per image/animation and not for every single pixel in the image or every frame in the animation. You can bake out stuff like lighting, shadows, complex nodes or IBL, AO, GI etc. So eg if you have a scene in which only the camera is moving and the lights etc are all still, then there is no point in calculating the lighting and shadows again and again. You just calculate it once, store it to texture and reuse it for each frame.

Can save a lot of rendering time if your renderer supports it (dont think FF does though)