Mickhail,
here a few ideas that might help you.

first one
would be to have a hudge floor textured with a single tile and applied with the transformBitmapMaterial the floor would be as unic layer. the 8 reflections would be placed as regular object, planes on a scene above this. or use inversed models. If the texturing is done top/down, the second "reflection" object is just a simple apply mask code to get the reflection works.
this is used very often in those iTunes clones.

second would be to use copypixel. You need to save the source bmd for this. you have that full floor, you calculate the xy top left of the bound of your reflection image. you copypixel the floor, save this and coordinates, you copypixel your reflection into the floor image. next iteration, you copypixel the floor info back to the original place. update the new position, and start over. this is very fast, but suitable only if the bitmapdata can be shown one on one, or just a bit blown up. the drawback is that its working fine with static images or flat representations of reflections, most of the time a snapshot of the bottom of the object seen from beneath with flat object like planes, the perspective would be ugly. if the reflection is animated, it will also cost you more power...

third one if your bmd is hudge and not tiled.
make your floor as movieclip. place your reflections in that mc. And sue the movieMaterial.
and per reflections:
moviematerial.cliprect = rect.sprite reflection + offset x,y, moviematerial.update(); --> update per item internally only the rect where the reflection are are updated instead of the whole image. same as previous, you will need to save the rects to avoid trails but It saves you the custom mechanics of copypixels.

Next you enter the world of math. You would have to calculate the projections,
Li posted some nice examples of this on this list.
Chances are high that it will cost as well, because you do not fake (almost) anymore...

of course you could dry that floor a bit, and just move some average colors arround :)
you could for this one use the simpleshadow code as base.

Fabrice



On Nov 12, 2008, at 7:34 AM, Mikhail Shevchuk wrote:

Hello, Away3D developers

I've built an application with a wet-floor effect which is just a plane of transformed bitmap of real picture. This reflection is built by iterating through pixels and reducing their alpha's. So it looks perfect, but slows this app very much. I have 8 reflections with about 200x150 planes. Is there any way I can reduce CPU consumption? Is there any tricks to work with reflections with Away3D ?

Thanks in advance.

--
m. | http://creationcomplete.com

Reply via email to