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