This demo shows the combination of a normalmap after its generation with a bumpmap.
The settings are of course overkill, but they should show you enough how powerfull and good looking this combination can be. Even with this amount of faces.
Two events for the monitoring of the trace are available, TraceEvent.COMPLETE and PROGRESS. Handy if you generate from very large models.
You can set the amount of polygons to be handled per iteration to avoid to crash the player as well and even add a little blur to smooth the results.
The demo shows also one of the feature the new NormalUVModifier class has to offer.
First a sphere is generated and the bump information is applyed to it with the NormalUVModifier class. (I will soon show more of what this baby is capable of)

Then the Dot3Material is generated with the following maps and of course the generated normalmap.


A Flash 10 dedicated version is in the make. And should be available soon in a good svn near you.


December 6th, 2008 at 2:27 am
Amazing work with the Normal Maps! This is the main reason I’ll be using Away3D for my next project over Papervision3D.
Have you done any performance comparisons between using normal maps vs higher poly count to achieve similar quality results? I’m curious how much more efficient using Normals maps is.
December 6th, 2008 at 4:23 pm
thx Bill,
You are looking at the f9 version, the f10 version should mean if I can manage to build it the way I want it, a totally new level of detailing in flash with same performance as a regular texture. Simply because I will not need to layer stuff. Pixel bender is not as fast as I’ve expected but I think its because I was not using it the right way… I’m now following another concept, so far so good.. lets see how it goes…
For now, the best to way to use that code, is to generate the maps from higher definition models and use that data on low poly models. Or like shown here, but with an extra rescale of the map down again after generation, then you get the best performance and the finish is just “wow”. Since its layered, each tri counts for two. The combo low polycount and the higher definition of the map would be the key to get best out both worlds.
Don’t forget we are still talking flash here.. we are now at 45k tris max per sec. And we have to deal with this, until the player gives us more power.
A side note, one major drawback of this technic is that it doesn’t work nicely when the model is mapped reusing same parts of the texture. I’m busy looking at a work arround for this, that would allow to get that finish no matter the uv mapping.
December 6th, 2008 at 10:42 pm
Looks great! I’m becoming a fan of Away3D normal maps! Its funny to see this right now as well because I’ve just written a Flex utility to convert displacement maps (as used in Papervision3D) to normal maps to see what can be done in Away3D.
December 7th, 2008 at 3:05 am
Hey Tartiflop, very very nice code!
Would be a very usefull addition to the api if you wanted to share it, especially because this would allow to apply on objects using multiple textures or having poor geometry like Cubes.
December 7th, 2008 at 12:53 pm
Hi Fabrice, and thanks too!
No problem for sharing the code. I think it would be fairly simple also to extend the algorithm for most primitives for which there is a mathematical relationship between the pixel position and the primitive geometry.
December 14th, 2008 at 3:00 pm
As I just said at http://blog.tartiflop.com/2008/12/displacement-map-to-normal-map-converter/ this is thinking in wrong direction. Just change your dot material to support local maps, and you no longer need all of this.
December 15th, 2008 at 11:41 am
no Mack, working from geometry gives much nicer/accurate results especially for non primitives meshes. (I’m working on an AIR app to allow generation from higher polygons model the easy way to speed up production processes) While be able simulate a surface of a cube and add bump to it is much faster and looks wonderfull on a cube or on a Sphere but less good on a irregular mesh like a human, rock, car etc…
The good news is both ways will land into Away’s svn very soon since Stuart shared his code with me. So you’ll be able to choose witch one fits best your requirements. Its not a question of A or B, Away gives you A AND B !!
The biggest issue now, is a find a way to have all this nice information displayed as fast as possible…. but that’s another story.
October 19th, 2009 at 12:43 pm
Hi Fabrice,
if you could just take a look at that :
as you’ve seen in the google group, I’m workin on few experiement with normal, and normalUVModifier (I know this is not the right place…)
And even if all is clear for me (how it works, etc…) I can’t fix a strange “automatic invertface of my mesh”. I will share more than 4 billions dollar (my dad is an expatried CEO of a Gabon national bank)
http://www.agence-anonyme.com/files/clay.zip
(that won’t be exausting, promess, 20 lines to look at in only 250 lines…), or if you had some sources that could help me fix the bug…
thank you much, and yes as a brandnew “oficial away3D contributor”, I feel a little ashamed…