Its been a while since I have been here, what with one thing and another...
My question(s) are based around normalmap's, and from the perspective of generating these for use within GS. To my understanding there are two types of Normalmap, which I call 2D and 3D although im sure this is not an accurate description.
Let me clarify a little. When you process a texture with a tool like Nvidia's Normal map plugin for adobe, you produce a 2D normal map. When you texture bake a normal map from a 3D object you create a true 3D normal map. It's usually easy to see the difference of these two types of map, 2D's are pink and blue and 3D maps tend to be yellow, green, pink, blue and everything in between.
For a better description please check out the tutorials I have posted on my clan site if you would like more information:
2D Normal Map3D Normal MapFor the last few years I have been working with a AAA game engine developing expansions and other modifications, working very closely with the developers. Now during some testing with their engine I encountered a number of problems with normal maps and I wondered if anyone had some experience of these issues with GS and really just to explore the topic a little further.
So I noticed that with a 2D normal map, you will get display inacuracies, namely with the normal mapping having the opposite effect on the reverse of a model. i.e if the front of the model is raised, it's rear using the same normal map seems to be inverted. Now maybe I am applying this incorrectly and hopefully someone here will put me right. However I suspect I am correct in this matter as these 2D normal maps are just that, they are missing the 3rd axis and this is why the results are inconsistant and at best, poor looking.
So the obvious next step is to produce a 3D normal map, in my case, baked through 3D Studio Max's texture baking system, producing far better results. For example the human model I am baking at the moment is embedding much of the 18,000 polygon model into the 2000 poly one.
However in this other engine, i noticed some issues with 3D normal maps, when being rotated or moved, their shadows seemed to stay with the object, instead of re-adjusting. In other words a rotating barrel's self shadow rotated with it. Now im 90% confident this is simply bcz that particular engine's shader system was, flawed.
So I would be interested to know how GS handles these 3D normal maps.
I have taken the liberty of including a simple normal map in both 2D and 3D versions to wrap around a simple cylinder:
2D Normal Map
3D Normal Map
I have also added a small vid clip of these normals in action in the 'other' engine for reference. However in this clip the objects are not also rotating, so the shadowing is accurate here. Additionally I have added a link to another video of a fully normal mapped room, that is 1 model with a 1024x1024 diffuse and normal map.
Applied 2D & 3D Normal Maps3D Normal Mapped Room ModelIn short I was not happy with the way the other engine handled the new shaders and so I'm considering returning to GS. Your feedback would be very useful. Thanks in advance.