PDA

View Full Version : NormalMapBump: node for normal mapping


zhang
09-22-2005, 09:50 AM
http://zjprogramming.com/img/nmap_maya.jpg

It helps to implement normal mapping via shading connection.

Download
Plug-in and example setup (http://zjprogramming.com/bin/normalMapBump_220905.zip)
to give it a go.

It needs the tangentMapper plug-in can be found here (http://forums.cgsociety.org/showthread.php?t=278778).

Keep an eye on
imaginecube.com (http://imaginecube.com)
for more.

AndersEgleus
09-24-2005, 04:21 PM
Looks Great! (I haven't tried it yet).

One crit: It shouldn't be necessary to connect the camera's worldInverseMatrix - the node should be able to get that at rendertime. I'm definitely no coder, but Olivier Renouard's spaceChange plugin can convert a tangent space normal map to camera space normals without connecting any camera attribute into the network. If you want, you can take a look at his source code to see how he's solved it.

Your node looks like it's a bit easier to use though, but I'll stick with the spaceChange node for now.

Good job!

zhang
09-26-2005, 04:09 PM
Pitty the spaceChange source link on the following page appears to be down for now:

http://www.drone.org/tutorials/spaceChange.html

Seems it needs a samplerInfo node to provide normal and tangent vectors already in cameraspace, means no need to transform them any more. That is why you needn't connect a camera matrix to it.

My solution is based on per-vertex primitive variable: using the tangent mapper (http://forums.cgsociety.org/showthread.php?t=278778) to compute tangent and normal in world/object space at each vertex. So that needs to transform to camera space when rendering. I found it produces more soft effects, and easier to setup.

zhang
10-04-2005, 05:39 AM
Detialed notes is online:

http://zjprogramming.com/html/nmtheory.html
or:
http://www.imaginecube.com/normalmapnotes.html

http://www.imaginecube.com/img/nm_ray.jpg

CGTalk Moderation
10-04-2005, 05:39 AM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.