Go Back   AC3D Forums > General > AC3D General
Register FAQ Members List Calendar Today's Posts

Reply
 
Thread Tools Display Modes
Old 17th February 2008, 09:29 AM   #1
lisa
Senior Member
Professional user
 
lisa's Avatar
 
Join Date: Mar 2005
Location: Phoenix, AZ
Posts: 917
Default Re: Hello & Questions

This reflection map indicates which parts of the cube should be subject to environment mapping. Like the specular power map, this type of map is somewhat unusual. Most people just make the whole object reflective:
Attached Images
 
lisa is offline   Reply With Quote
Old 17th February 2008, 09:31 AM   #2
lisa
Senior Member
Professional user
 
lisa's Avatar
 
Join Date: Mar 2005
Location: Phoenix, AZ
Posts: 917
Default Re: Hello & Questions

Unfortunately, it is difficult to convey the effect of an environment map in a still image, but here are a couple of different views of the cube with only environment mapping enabled:
Attached Images
  
lisa is offline   Reply With Quote
Old 17th February 2008, 09:33 AM   #3
lisa
Senior Member
Professional user
 
lisa's Avatar
 
Join Date: Mar 2005
Location: Phoenix, AZ
Posts: 917
Default Re: Hello & Questions

Displacement Map

A displacement map measures the amount to displace, or move, the geometry at the specified point. Brighter pixels move the geometry upwards or away from the surface, and darker pixels move the geometry downwards or toward the surface.

Many landscape editors use displacement maps to indicate the height of the terrain at a particular point. Displacement maps used in this way are often referred to as "height maps".

Most displacement maps are grayscale and only measure the displacement of a point on a single axis. However, it is possible to make a displacement map that moves a point on all three axes. "Sculpted prims" in Second Life are one such example of a 3D displacement map. Coloring the red channel causes the point to move on the x axis, coloring the green channel causes the point to move on the y axis, and coloring the blue channel causes the point to move on the z axis.

My cube shader is not capable of displacing geometry using a displacement map. However, it still uses a displacement map for something else even cooler I'll show you in a moment.
Attached Images
 
lisa is offline   Reply With Quote
Old 17th February 2008, 09:46 AM   #4
lisa
Senior Member
Professional user
 
lisa's Avatar
 
Join Date: Mar 2005
Location: Phoenix, AZ
Posts: 917
Default Re: Hello & Questions

Bump Map or Normal Map

One of the downsides of a displacement map is that it needs one vertex for every point you want to displace. If you have many fine details this can eat up a lot of memory and slow down your game or render unacceptably. Bump mapping is a technique that lets you re-create the *appearance* of a displacement map without the performance penalty.

A bump map is a grayscale image that often looks similar or identical to a displacement map. In fact, the same image can often be used interchangeably as a displacement map or a bump map. However, unlike a displacement map, a bump map does not actually alter the geometry of the model. Instead, it alters the model's surface normals.

A surface normal is used by the renderer to calculate the angle between a surface and a light, so that the renderer knows how much light the surface should receive. By perturbing these surface normals, a bump map causes shadows to appear on the surface of the model as if it were covered in fine details. Because the human eye relies on light and shadow so heavily as an indicator of depth, the appearance of these shadows can convince the mind that the shapes are really there, even though no such details exist.

Bump maps aren't a 100% replacement for displacement maps. Because they only change the shadows, not the geometry, they can't be used for large bumps or anything that would change the silhouette of the model. However, for small details they can be very effective.

A normal map is a more advanced type of bump map. Whereas a bump map merely bends the existing surface normal, a normal map allows you to replace it entirely. Each RGB value in a normal map represents the new XYZ vector of the surface normal at that pixel. This allows you to create more convincing illusions of shape that are not possible with traditional bump maps.

Normal maps can be in "object space" or in "tangent space". Object space normal maps have the XYZ values relative to the object. These normal maps usually appear multi-colored. They are faster to render, but can't be easily used for animation and they can't be tiled. Tangent space normal maps have the XYZ values relative to each surface. They usually appear bluish in color. These type of normal maps are more common because they are more flexible to use.

The effects of a normal map can be *very* dramatic. Many modern games use normal maps to give the illusion of much higher resolution geometry than the game is actually capable of. The effect is often so convincing that it is difficult for players to discern a high resolution model from a lower-resolution normal mapped model even when they are placed side-by-side.
Attached Images
 
lisa is offline   Reply With Quote
Old 17th February 2008, 09:47 AM   #5
lisa
Senior Member
Professional user
 
lisa's Avatar
 
Join Date: Mar 2005
Location: Phoenix, AZ
Posts: 917
Default Re: Hello & Questions

The cube with normal mapping applied:
Attached Images
 
lisa is offline   Reply With Quote
Old 17th February 2008, 09:53 AM   #6
lisa
Senior Member
Professional user
 
lisa's Avatar
 
Join Date: Mar 2005
Location: Phoenix, AZ
Posts: 917
Default Re: Hello & Questions

Parallax Mapping

When I said earlier there was something cool you could do with a displacement map other than displace geometry, I was thinking about parallax mapping. To clarify, parallax mapping isn't another map type; it's a technique that combines a normal map with a displacement map to create an even more convincing illusion of depth.

One of the limitations of normal maps is that since they don't actually move the geometry--they only change the surface normal--they can't occlude the geometry that is "behind" any raised surfaces. In addition, the human eye expects that objects further away will slide past at slower speed than objects that are nearer. This phenomena is called "parallax". The result of these limitations means that at shallow angles, normal maps become less convincing. They either appear less "deep", or the illusion falls apart entirely.

Parallax mapping corrects both of these problems. Parallax mapping uses a displacement map to determine which pixel would actually be seen based on the current view angle. It also causes further pixels to scroll at a different speed.

Unfortunately, this is again difficult to convey in a still image. Here are two different images of the cube with parallax off and parallax on.

This pair of images shows the effect even more dramatically:
http://jerome.jouvie.free.fr/images/...g-Disabled.png
http://jerome.jouvie.free.fr/images/...led-3Steps.png
Attached Images
  
lisa is offline   Reply With Quote
Old 17th February 2008, 10:06 AM   #7
lisa
Senior Member
Professional user
 
lisa's Avatar
 
Join Date: Mar 2005
Location: Phoenix, AZ
Posts: 917
Default Re: Hello & Questions

Hopefully that points you in the right direction.

I've been meaning to do a texture tutorial for a while, so I hope that's a healthy start.

FWIW, there's usually no need to use quite as many maps as I used on the cube, so *don't* feel overwhelmed. I usually start with just a diffuse map and then only start adding more maps when something doesn't look right. Sometimes a good diffuse map and the right material settings are all you need.
lisa is offline   Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off



All times are GMT -4. The time now is 12:28 PM.


AC3D Forum
(C) Inivis Limited 2020