I had the same problem, several planes with transparent BitmapMaterial consumed a lot of cpu. I make reflections just drawing them in photoshop and load in planes. With white background they could be not transparent. And it solved the problem. Here is the project http://nebgroup.com.ua
On Nov 12, 11:06 am, Fabrice <[EMAIL PROTECTED]> wrote: > 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
