Dot3, BumpMaps, NormalMaps, Norm-doty-bumsy things

Blitz3D Forums/Blitz3D Beginners Area/Dot3, BumpMaps, NormalMaps, Norm-doty-bumsy things

Nexus6(Posted 2005) [#1]
Can someone please explain to me the difference between these techniques.

I have heard that B3D does not natively support these techniques, but that they can be implemented. I have seen a demo of a Greek statue with a light rotating around it and was very impressed with the level of detail that was acheived from a low polygon model.

If this can be acheived, why isn't everybody using it to create seemingly high polygon models within their games?

Last but not least, can someone explain to me (step by step) how to create and implement these effects, remembering I am a newbie. eg

1. Switch on PC
2. Load blitz
3. load Milkshape
4. etc etc


Mustang(Posted 2005) [#2]
You don't need normal maps, and judging from your question it might be too difficult for you to do that anyways (technically).

Reason why everybody is NOT using normal maps is that they are not needed; it's hype word for tech level that's Blitz is in (DX7). Also Blitz normal maps are world-space and that makes them usability limited (comparing to tangent-space ones).

And do you really think that normal-mapped DOOM3 models look realistic? To me they look like bad plastic action figures. So, I would suggest that you forget all about normal maps at least until you have game 99% done using more easier tech.


_PJ_(Posted 2005) [#3]
Just a bit of extra info you may find useful - I did.


sswift(Posted 2005) [#4]
Normal maps store the angle of the surface at each pixel in the texture, just as an alpha map stores the transparency at each pixel in a texture.

Bump maps store the height of the surface at each pixel.

Normal maps are much more accurate the bumpmaps, allowing you to represent surfaces that bumpmaps would have a hard time reproducing well, but they're a hell of a lot harder to generate.

To make a bumpmap, you just paint it. To make a normal map you have to make a version of your model with all the extra detail you want the normal map to have. Chain mail with individual chain links. Millions of polygons. Then you render it with a special program and a normal map is generated. You can generate two kinds of normal maps, world space, and object space. One stores the angle of each pixel relative to the surface under it. The other stores the angle of each pixel relative to the world.

It's possible to use normal maps for characters in Blitz in a very limited manner, (directional lights only, no point lights) but you can't use them for the environment because to do that you have to have pixel shaders so you can transform the angles in a special way. The reason characters are different is hard to explain, and I've forgotten the exact reasoning.

Anyway, you probably wouldn't want to have just your characters normal mapped, because it would look weird having them have detailed lighting while the world does not. And it's so complicated to set up, if you have to ask what they are you're probably a long long way from being able to implement them. I know what they are and have studied them for a long time but even if I wanted to implement them I'd have to do a bunch of research and write a lot of complicated code to handle it.

In short, they're not easy to use. And you can't use bumpmaps in Blitz either.

But you can use specular maps. Specular maps define which parts of a model look matte, and which parts look shiny. Those are basically just alpha maps, and you need a model with two surfaces that have the polygons from the first duplicated in the second. Then you set the top surface to have a high specular setting, and the bottom to have no specular, and then only those parts of the model that have the specular map be white will look shiny when a light shines on them, and the contrast between that and the matte areas will help to create the appearance of bumps.

Someone made a demo of this in Blitzocder. Looked really stunning looking. You should search for it. Seaching this forum for specular mapping too would be a good idea, I'm sure folks have explained how to do it in detail before.


Nexus6(Posted 2005) [#5]
Thanx Guys for the in-depth yet easy to understand explanation. Mustang - I think your right, I'll leave them alone for the time being.


flying willy(Posted 2005) [#6]
www.redflame.net

Check out the downloads on my site (I did the greek statue thing) and the source code is included! You will find it simpler than you think...

You can use bump maps in blitz. And use them fairly easily if you wish.


Alienforce(Posted 2005) [#7]
Flying willy: Can you please! tell me how you did the normal map texture.. witch program to use etc ??????

/Alienforce


Nexus6(Posted 2005) [#8]
Thanks Rob, I'll take a look.
----------------------------

Having looked at the 2 demo's (and source) on your site Rob, my interest is renewed, my question is the same as Alienforce, wich program did you use (free I hope) and what is the process from start to finish, oh and could you write the next Doom/UT beater for me ;-)


Alienforce(Posted 2005) [#9]
Some tips / tools ? anything please.

/Alienforce


Alienforce(Posted 2005) [#10]
Nexus6: Check these links i think its the tools we are looking for...

ORB page...
engineering.soclab.bth.se/tools/177.aspx

PS plug-in:
developer.nvidia.com/object/nv_texture_tools.html

Normal map generators:
www.ati.com/developer/tools.html
developer.nvidia.com/object/melody_home.html

/Alienforce


Nexus6(Posted 2005) [#11]
Thanks Alienforce, but why is there so many? do they all do the same thing and its just a matter of choice which one you use?


Alienforce(Posted 2005) [#12]
Its was the tools i found in earlier posts..
I tried Orb and it seems to do the trick.

But also check out melody because it seems to have a easier interface.. Please let me know your results.. and i will post some stuff, soon when i just got some time for testing :)

/Alienforce