gave up on normals map tutorial

yuriythebest

30-10-2006 21:39:38

I gave up on that tutorial after doing it more than 10 times with some variations due to inconsistencies. Can anyone please send a 3ds max 8 scene with a working normals map to my email yuriythebest@yahoo.com, thanks whoever you are.

Paulov

30-10-2006 22:08:17

Hi

I´m about to start working with normal maps, (next week) so would apreciate also to have a max scene.

would be anough a plane with a material that contains a normal map.

I can provide a texture and a normal map in dds.

thanks in advance

yuriythebest

31-10-2006 13:01:49


I can provide a texture and a normal map in dds.


I'm glad this is gathering a sort of momentum. For consistencies sake lets all beg for a scene with the standard brick normal map & texture on a plane so everyone will have the needed files.

Also to make the scene accessible to everyone the kind contributor of such a novelty should, instead of sending it to everyone's email upload it to a public filesharing site like rapidshare.de or megaupload.com

yuriythebest

02-11-2006 12:45:56

please someone find the time to upload such a scene, it will help me a lot.

Lioric

02-11-2006 14:57:34

The sample scenes from the shader tutorials will be posted in the next days

yuriythebest

02-11-2006 18:50:45

The sample scenes from the shader tutorials will be posted in the next days

thanks!

yuriythebest

04-11-2006 14:22:08

is it added yet?

Madrayken

07-11-2006 08:13:01

I'd be interested in this, too - but not as much as I'd like the tutorial to more accurately reflect the blending modes you should use in the new release of oFusion (see steps 15, 25 and 28 where the interface no longer resembles the diagrams, and the instructions are out of date).

yuriythebest

07-11-2006 12:01:26

I'd be interested in this, too - but not as much as I'd like the tutorial to more accurately reflect the blending modes you should use in the new release of oFusion (see steps 15, 25 and 28 where the interface no longer resembles the diagrams, and the instructions are out of date).

exactly

Evak

07-11-2006 17:27:32

the old normal map tutorial only worked with convex type meshes really, if you tried using it on walls the lighting would come out wrong.

Any chance of getting some general purpose shaders for Ofusion, kind of like the monster shader that no longer works.

That enabled you to turn on and off features with simple flags, like number of lights, bumpiness, shinyness etc.

It seems to me that 90% of the time all you need are bump, specular and masking to describe most materials, unfortunately most artists havent a clue when it comes to coding, myself included. Leaving the shader features of ogre all but useless.

yuriythebest

07-11-2006 18:06:43


It seems to me that 90% of the time all you need are bump, specular and masking to describe most materials, unfortunately most artists havent a clue when it comes to coding, myself included. Leaving the shader features of ogre all but useless.


it's especially frustrating for me because I'm a 3d modeller/graphics designer first and coder second. Well, normals are basically bump maps that look better, could also have been called 'bump maps V2'. I would have preffered bump maps over normals maps that are unusable due to outdated tutorials.
Don't get me wrong- I like oFusion and am thankfull to ofusiontechnologies for creating such a fine product. A few minor fixes/updates and it's all set.

Madrayken

08-11-2006 20:03:12

Agreed - in comparison to everything that's come before, it's stellar.

I'd settle for the tutorials being accurate, initially. Then, maybe, later on, I might possibly want things simplified a bit to hide the fact that I'm following what I learned in tutorials blindly!

Dene

Lioric

09-11-2006 01:03:53

The scenes from the tutorials are available in the Scene Downloads section of the Artist's Center

You need to update to the new CE 1.6 version before using the scenes

The tutorials has been updated for the new versions

Evak: The Monster shader works correctly, in the current versions (Pro or CE) you just need to put the shader file in the shaders folder

A tutorial on using it will be posted in the next days (with a sample scene)

A general purpose shader library will be posted too, feel free to make any specific suggestion(s) as to what materials you need

yuriythebest

09-11-2006 15:29:37

hmm, something is wrong. I seem to have the latest version of oFusion, which I downloaded a month or so ago. The results are strange- there is a strange shadow that is affected by the position of the viewport. The falloff is linear- no brick normals map visible. I'm downloading oFusion again in case I don't have the latest version.

Lioric

09-11-2006 16:30:31

You need the latest CE 1.6 version

The display issue happens on previous versions

After you install the latest version, post your Example_BumpMapping.cg file (from the "oFusion/Media/shaders" folder) to review if you have the updated version

Did you tested the specularBump scene?

Evak

09-11-2006 17:12:03

thanks for the info Lioric, I think the general purpose shader library will really help a lot of people that struggle with coding get up and running quickly :)

yuriythebest

09-11-2006 18:59:29

You need the latest CE 1.6 version

I can't access your site for a couple of hours now- it went out just as I was in the middle of downloading the latest oFusion :cry:

Madrayken

10-11-2006 00:03:09

Thanks, Lioric.

This is much better! While I still don't quite understand everything, I can at least achieve the sorts of results I want after a bit of fiddling.

All I need now is to cull this down a bit to get the simple 2D normal bump-mapping onto a 2D surface I'm after. I presume it's best to trawl the general Ogre tutorials for that sort of information?

Dene

Paulov

10-11-2006 21:03:41

eih Lioric thanks!!!

next week I´m going to work had with normal mapping & I´ll show the results on the forum [If I get some, of course :wink: ]

thanks thanks thanks

yuriythebest

11-11-2006 12:06:08

yay I've been able to downloading & currently in learning mode :D

yuriythebest

11-11-2006 16:04:49

I've discovered a very strange bug, which affects the results in the same way both in oFusion preview and ogre

I've created a simple object - an asteroid. Which is just a sphere with a collapsed noise modifier. I've assigned it the brick material provided in the tutorial, and changed the normals,base textureUnits to my own. Everything works fine. Then I've deleted the torus- that's where things started going wrong. Seems the only way for the material to work correctly is for that torus to be in the scene, and that applies both to 3ds max and ogre!

Using jacmoes appWizzard, I've created a simple ogre application, added just the asteroid, the result, just as in 3ds max is an incorrectly working map:



then I added another Entity- that of the torus, and everything works like a charm!



note: in the first image I've changed the ambient light colour to (0,0,0) while the second image has ambient set to(0.25,0.25,0.25)


almost forgot- the scene with the normals map can be downloaded here:
http://rapidshare.com/files/2927379/asteroid.rar.html

the base pass texture is 3ds max standard space/moon.jpg

yuriythebest

12-11-2006 09:27:46

I've performed another test without modifying the material in any way- I've crated a geosphere, assigned it the material- everything works fine, but after I delete the torus things are wrong. Btw I'm using 3ds Max 8 SP3.


yuriythebest

13-11-2006 19:48:58

does this happen only with me? I mean what am I doing wrong? How can the presence/absence of geometry affect the correct working of shaders??

Paulov

13-11-2006 20:19:12

eih yury have to recheck what you said, because I think I´ve the same problem when deleting the thorus, but I´ve to see if the scene has changes because I moved a light accidentaly or was because teh torus...
I also cant understand how can the ausence of the torus affect to others...

som images of my normal maped geometries




puff, this theme of the normal maps is fantastic.. .. looking forward to implement them in my already mapped scenes...

I´ve not started yet to make serious tests but I´m feeling that im going to have the following problem:

I like to have an original .max file that is the source of the rest of the objets versions, versions like XXX_lightmaped.max or XXX_lightmaped_ogre-material.max

but with the theme of the normal maps I think that they are aplied at the end of the "chain", to the objet wich has already its materials converted to ogre, would it be posible to assing a material as "Bump" map and when evaluatin it make it be a normal map?, something like what happens with lightmaps, that they are stored in "Self-Illumination" and when evaluating they keep on displaying correctly....
would it be posible? may be it is now but haven´t tested yet... :oops:

bye
[EDIT: Yuri, you were right, deleting the torus makes strange things occur.
I´ve captured a couple of shots of the same camera with the only difference of the torus deletion:]


Lioric, you´ve the scene available if interested in testing in your mail inbox.

Pablo

Lioric

13-11-2006 21:28:45

Have you activated "Generate Tangent Vectors" for your objects (in the "Object Properties" panel)?

It looks like your object(s) dont have any tangent vectors

If you are starting with Normal Mapping and shaders, it would be better if you use the scene from the "Render Monkey shaders" tutorial. It has a good normal mapping result and it doesnt need the normalization maps (these are used as optimizations) and the complete effect is done in a single pass (it can be extended to reflect the environment adding a cube map)

Bump maps and Normal maps are different images (but the term is generalized to refer to both techniques), but seems you refer to using the normal map from the bump channel in a Std material, in an oFusion normal mapping material, this can be easily done/automated with a custom script (or extending the "Update Mtls" script), that after evaluating the material, it creates a new texture unit in the correct pass with the image of the bump map channel, but it will be very specific to your project, as you need to define what pass contains the NM shader and what texture unit slot the NM image will use

yuriythebest

13-11-2006 21:52:53

I've done some more experimenting and contemplating. Having to include a torus in every scene with normal maps is'nt really too big a price to pay, however something else troubles me now: I've been unable to create a propperly working copy of that material (ie a simple copy with changed base pass texture). the result- the mesh of the object the material is applied to appears in the same position as the torus, along with some imperfections. Well outside it's boundingBox:



assigning the original material to all meshes does not cause this problem. Creating an unchanged copy and applying it to a mesh causes it.

Paulov

14-11-2006 22:28:28

Hi

First answer to Yuri´s probs; well I´ve make tests on copying the material and aplying it to a sphere, and it has rendered ok. see the image.


Eih Lioric, you recommended me to better to try the Render Monkey normal maps rather than the "starndard" ones; well, I´ve tried and have some things to say&show.

Obtained results:




Well, at first , this normal mapping results very "eye candy", but does not really fit what I´m looking for, because this kind of specular normal mapping offer as a result a material that looks as if had been all covered by a layer of a vanish.
This effect could be fine to simulate a floor covered fy a film of watter or something like that, but its quite unrealistic, and does not even worth to simulate a wet road or something similar (in my opinion)

So I´ll keep on with the standard normal mapping.

some coments questions:

1)well, I´ve realised something and is that normal maps will not make the things raise up as if thei where geometries, no? I think it is a concept I had incorrectly in my mind. They offer practically the same effect as bump, (wich is pretty good--> some deepness and material texture emphasys).

I the showcase I met the following: (monster shader 2.0)
http://www.ogre3d.org/phpBB2/viewtopic.php?t=22191
I´ve seen something about in the oFusion forum, so I´ll enter on it as fast as I´m done with normal maps. This "3D extreme bump" can be very nice in some conditions, for example for the area I´m starting to model in short time; but I´ll start a threat appart, not to hihack this one.


2)
If you are starting with Normal Mapping and shaders, it would be better if you use the scene from the "Render Monkey shaders" tutorial. It has a good normal mapping result and it doesnt need the normalization maps (these are used as optimizations) and the complete effect is done in a single pass (it can be extended to reflect the environment adding a cube map)

-After doing some tests, I think that still uses the normalization map not just as a simple optimizer, I think this map is still the one that gives deepnes/roughness to the material.

-Its nice to have everything in a single pass, sure it makes processing faster or something similar that is "good".

-About extending it to reflect the enviroment, this could be done with "standard"normal mapping? adding another pass?

-Bump maps and Normal maps are different images (but the term is generalized to refer to both techniques), but seems you refer to using the normal map from the bump channel in a Std material, in an oFusion normal mapping material, this can be easily done/automated with a custom script (or extending the "Update Mtls" script), that after evaluating the material, it creates a new texture unit in the correct pass with the image of the bump map channel, but it will be very specific to your project, as you need to define what pass contains the NM shader and what texture unit slot the NM image will use

You perfectly catched what I meant 8) ;
I think the best way would be to extend the "update Mtls".
Do you really think it is a particular need of my project / workflow?; I think that it is easier to set up the lightmaps & normal maps in the Standar d max material and then evaluate then leting oFusion to automaticaly set each "property" in its correct pass with an starndard "working" values.

-Also if in the future you need to modify your object (imagine a car) because you whant to add a wallet on its roof or any other detail, wont be able to modify in the .max file that has the ogre materials, since it will have everything attached due to the lightmaps. It would be preferable to do in the original "source".max file and then attach all, redo lightmaps and evaluate all materials, having all the lightmaps and normal maps working with a few clicks.
If it is an easy thing I would really apreciate it to be in a future release.

3)The render monkey shaders has a very strange illumination. It is like if the ilumination was baked or something similar, wherever you place a plane with this material it has the same ilumination, chek the images:
[if interested I send scene via mail]





4)this afternoon I´ve been re-reading the users-guide in the area of materials, and I´ve seen that the specular value & others dont have any effect if vertex program is ussed, so, how can we make a normal mapped road to shine when the sun hits on it?


5)and to finish: how do you think this normal map has been done?
I´ve tried to get such a height on the rocks border using the Nvidias Normal mpa generator, but even if I get similar results in the rocks It is imposible to achieve such a height on the rocks corners, how do you think this can be done? by hand? how?



bye

Pablo:: : : _ _ _ _

Evak

15-11-2006 00:06:50

I found that the bump map in the tutorial only really lit properly on convex style shapes, and things like walls lit oddly with the light not being directional.

Been a while since I played with it, had better results by using the Monster shader and tweaking the values. That seemed to hilight the walls more realisticly, and was pretty fast when the number of lights were reduced etc.

I struggle a lot with shaders, as I can't code them myself, so I tend to use fixed function as much as possible.

Would love to get into shaders some more though :)

BergBoy

15-11-2006 03:36:19

THe render monkey shader can take quite a lot of tweaking to get working right. Flat objects (eg: a box) dont work too well so i up the ambient light on them so you dont get soo many weird results. Just tweak the materiels. Likewise, this can dampen the specular highlights so things are not so shiney. The Monster shader im a little weird on. Any shader with taht much going on makes me worried for speed. It a good all purpose shader though.

yuriythebest

15-11-2006 07:29:24

cool I'l try the rendermonkey shaders sometime soon


1)well, I´ve realised something and is that normal maps will not make the things raise up as if thei where geometries, no? I think it is a concept I had incorrectly in my mind. They offer practically the same effect as bump, (wich is pretty good--> some deepness and material texture emphasys).


correct. Normal maps are basically bump maps on steroids- they offer much more accurate & better looking results.


5)and to finish: how do you think this normal map has been done?
I´ve tried to get such a height on the rocks border using the Nvidias Normal mpa generator, but even if I get similar results in the rocks It is imposible to achieve such a height on the rocks corners, how do you think this can be done? by hand? how?



You seem to make the mistake of trying to generate normal maps from textures. That is incorrect. Optimal normal maps can be generated from bump maps- be that already existing bump maps provided with the texture or bump maps you drew yourself.

Lioric

15-11-2006 18:35:10

this kind of specular normal mapping offer as a result a material that looks as if had been all covered by a layer of a vanish.

Shaders are not a general solution to all cases, shaders are specialized solutions that needs to be fine tuned to your needs

In the Render monkey shader scene, click on the "Edit" button of the "Pixel Shader" section of the first Pass in the specular shader material, the shader parameter editor will be displayed where you can fine tune the parameters to suit your needs

The "Kd" and the "specular_power" values are the ammount of specular light, with them you can control the ammount of specular shinnines

Parameters of the pixel shader:


Ka = ambient light
Kd = diffuse light
Ks = specular light
specular_power = shininess
bumpiness = bump/detail scale



So I´ll keep on with the standard normal mapping./

Actually that is not a standard normal mapping shader, its a Parallax Mapping Shader (Offset Mapping) that uses a height map (bump map) in the alpha channel of the normal map texture, to modify the UV's of the texture in relation to the camera position

This kind of shader adds texture occlusion (depending on the view position, the texture creates the effect of occluding other pixels that are behind) this improves the effect of adding more detail to the object, but it wont make any difference in relatively flat surfaces without marked bumps (as in your asphalt texture)


well, I´ve realised something and is that normal maps will not make the things raise up as if thei where geometries, no? I think it is a concept I had incorrectly in my mind. They offer practically the same effect as bump, (wich is pretty good--> some deepness and material texture emphasys).


Normal mapping affects the normal of each pixel, so you dont depend on the normal of each vertex (an the need for high ammounts of geometry)

Parallax mapping creates this effect, but not at the edges

Steep Parallax Mapping and Relief Texture Mapping are normal mapping derived shaders that increase the edge bump displace effect, but for convex objects and no for arbitrary shapes

Here you can see the differences in the normal mapping techniques:

http://graphics.cs.brown.edu/games/SteepParallax/index.html


After doing some tests, I think that still uses the normalization map not just as a simple optimizer, I think this map is still the one that gives deepnes/roughness to the material.

"Normalization cubemap map" and "Normal map" are different textures

About extending it to reflect the enviroment, this could be done with "standard"normal mapping? adding another pass?

Yes, but this is adding another pass (not a problem if the performance in your scene is not affected)


About the automatic bump channel map support:

Do you really think it is a particular need of my project / workflow?

Yes, because not all users will use the same normal map shader, and because of this the TextureUnit slot of the bump map is different

This might be done automatically when the new general purpose shader library will be released

how can we make a normal mapped road to shine when the sun hits on it?

Modify the shader parameters

In your application, you can change the specular value (or any value you need) of your shader to the new enviroment conditions

In this aspect, the Render Monkey shader and the Monster shaders offer you more configuration options

how do you think this normal map has been done?

The NVidia NM generator (or other tools like the Gimp NM Generator) creates normal maps from height maps (i.e. bump maps)

Look for tutorials on creating bump maps with the included filters, or look for the "Displacement Map Creator" application

I found that the bump map in the tutorial only really lit properly on convex style shapes, and things like walls lit oddly with the light not being directional.

Yes, as noted above shaders are specialized and specific for a defined use

Shaders depends on the artists (and artist depends of the specifics of the shaders) to use the clearly defined set of rules when using them

Any shader with taht much going on makes me worried for speed. It a good all purpose shader though.


Earlier, i did a brief review of it, and it seems to be very efficient (probably the ammount of "ifdefs" gives a different impression)

I will post a "Moster Shader" scene in the next days

Paulov

20-11-2006 17:43:33

Hi

Thanks Lioric for your complete answer.

I´ve been quite busy to tune the shader, but had time to move the parameters and see how they affected the material, but I´ll post about the shader tuning results/problems later.
I just wanted to share some info that I´ve picked from the net about parallax mapping after reading the previous post:

a very ilustrative video of parallax mapping running, its very interesting since it goes from normal mapping to parallax mapping:

post:
http://www.stratos-ad.com/forums3/viewt ... bde45f2754

video:
http://www.arrakis.es/~jonathan01/strat ... nabled.avi

··························
this image shows that effect of the corners.
http://b2cs.delcorp.org/index.php/Image:Parallax.jpg
wi´ll hide it with some gras.. or whatever...
..........................
a very interesting post where the "media" necessary to create a parallax mapping is described.
http://www.hl2world.com/bbs/looking-for ... 40068.html
_______________________________________________
appart; mmm , so I was wrong on the normal map generation process, I´ll give a look on how to generate bumpmaps...

[edit: I forgot to paste this awesone video!:
http://www.youtube.com/watch?v=OX7YxGsu ... ed&search=]

[edit2]: well, I´ve found a very very interesting text that deals about the basics of the normal map generation; its ideal for people who is about to start with this stuff {people like me}
http://www.quake3bits.com/htm/tutorials ... images.htm
(link adress corrected, thanks KAT)

Pablo_ _

yuriythebest

20-11-2006 21:31:55

wow! are those actual bricks with their own geometry or the parralax shader? My mind tells me shader yet my eyes scream real geometry. Awsome!

kat

23-11-2006 16:59:59

Hello ;o) There's a typo in the link you posted above
http://www.katsbits.com/tutorials/textu ... images.php
[edit]old link updated

Paulov

22-05-2007 18:21:36

Hi

This post comes from the darkness to the top because I would like to know if someone has managed to create Normals Maps in oFusion in an easy way.

When we were discussing about normal mapping it wass quite a buggy effect.
See the post I made with pictures in the page nº2 to see what where the major problems.

So anyone is using normal mapping with OF?¿

Can Artists like me try to insert shaders lik Monster Shaders in the OF shaders directory and have a chance to make them work so we can have parallax, nomal maps etc?¿

bye.

Evak

24-05-2007 16:18:17

monster works fine in ofusion, thats what I use. The current normal map sample with ofusion isn't very useful as it only works with convex type geometry, can't even use it for interiors or anything as the lighting all comes out wrong.

Monster works out of the box, if you have the ofusion version that was released a few months ago on the main ogre forums.

metaldev

28-05-2007 20:15:30

I found the same issue with the normal map example
it seems to invert your normal map effect depending on direction of the UVs on the surface. (ie any mirroring will invert your lighting)


Ive been trying to create an out-of-the box usable normal mapping solution for the Maya pipeline. If the normal mapping shaders in oFusion don't cause this issue would anyone be kind enough to post a stripped down output of the oFusion Normal mapping shaders so that i can integrate it in the maya tools too?

Evak

28-05-2007 21:49:22

it might depend on your hardware. I know that a couple of years ago when using Kaldera normal map rendering plugin for 3dsmax, the direction of the Y green on the normal map was different depending on whether you had an ATI or Nvidia card since one was Green +y and the other was Green -y

A bit of a nuicanse because the normal map would be flipped if used on the wrong brand of hardware. I don't know of this holds true today or not?