the rectclip is directly linked to the bitmapdata concept.
If you use the movieMaterial, each time you do call the update (if the
autoupdate property is false)
the whole bitmapdata of the material is updated. Because internally
the information is stored into a bitmapdata.
In your case you want just move an item on the earth texture. so why
draw the whole bitmap again?
instead you pass a rectangle defining the region to update. as a
result, you can run huge texture and update them at much higher speed
using
the cliprect.
For example, "copy background
rect" or "copy new part where you paste" code-wise what do you mean?
The bitmapdata approach is the most complicated if you are not
familiar with the bitmapdata class.
The principle is quite simple and the cliprect describe above is being
used again.
you have your earth texture and your aircraft bitmap.
using the bitmapdata class you can offset the x and y of the source
you copypixel into a destination bitmapdata.
so if you copy the earth texture at the rect you want to paste the
aircraft first and save it for later. copypixel the aircraft into the
bitmapdata
next iteration, you want update the aircraft again. if you would not
restore the background, you will get trails.
so you need first to copypixel the background, copy a new piece of the
background equal to the new position of the aircraft, save it again,
paste the aircraft at new location etc etc... no need to say its
highly recommanded to use the same size for both aircraft and
background patch bitmapdata's.
the copypixel is fast so if you avoid to generate new bitmapdata's
each time, it will run as fast or even faster than the MovieMaterial.
Fabrice
On May 24, 2009, at 12:25 AM, Joseph wrote:
Thanks for the response Fabrice.
I can't seem to find Rob's earth/smiley example/code on away3d.com
anywhere ... :S
Also looked at AnimatedBitmapMaterial but that didn't seem the right
direction.
The whole rectclip concept isn't very clear as to what is going on
basically. Could you eloborate just a wee bit more for me and other
noobs?
I'm starting to realize my big problem (there are others I know I
know :S ) is the syntax for things. For example, "copy background
rect" or "copy new part where you paste" code-wise what do you mean?
Thanks again Fabrice for being right here when all the noobs and
others need you. It's very appreciated :)
On May 23, 12:39 pm, Fabrice3D <[email protected]> wrote:
yes you can do this way, there is another example that Rob made, very
similar to what you want.
its planet earth with smileys, look on away3d.com posts from 2008.
but if its a little plane only...
you just have to copy background rect, paste your plane on source,
next iteration, paste background back, copy new part where you paste,
paste etc etc
or use MovieMaterial. if you set the rectclip before the update, it
will be easy on code and as fast as bmd only.
Fabrice
On May 22, 2009, at 11:14 PM, Joseph wrote:
I found this example from Rob Bateman ...
view = new View3D({session:new BitmapRenderSession(1), clip:new
RectangleClipping(-400, -300, 400, 300)});
var mybitmapData:BitmapData = view.getBitmapData();
where a bitmap "session" is used instead of a "scene" ... as opposed
to what I do currently:
view = new View3D({scene:scene,
camera:camera,renderer:Renderer.BASIC});
apparently this allows you to grab a bitmap image of the rendered
view
then apply effects to it (here's the post):
http://groups.google.com/group/away3d-dev/msg/b7bd8151cbac34c0
However, I don't understand the difference between a view as a
"session" and a view as a "scene" ... ?
Is this even the right dirrection for what I want to do?
On May 22, 11:59 am, Joseph <[email protected]> wrote:
I must be really bad at keyword searching because I've been
searching
with no luck ... also I have nothing significant to give back to
the
community code-wise so feel a bit guilty about asking more
questions ... I'll donate $$ to the cause eventually or any other
way
to give back let me know.
I have a sphere with a bitmapfile material applied to it. I want to
"project"/"draw"/"overlay" a smaller bitmap file onto the sphere
bitmap. i.e. create the earth with bitmap file and sphere
primitive ... now show a small airplane bitmap "flying" along the
surface of the earth with position updated each frame render.
I've looked at the Away3dTextureProjection demo and it's uber cool
but
I take a huge perf hit (I'm working with alot of objects).
Using shaders to do "overlays" and I get a huge perf hit (working
with
alot of different objects).
It seems like I should be able to "grab" the bitmap image on the
sphere, place the smaller airplane on some point on the sphere
bitmap
and put them together back on sphere each enter frame ... ???? If
this
is possible how do I get access to the bitmap and plop the airplane
onto it?
Cheers in advance.
Joseph- Hide quoted text -
- Show quoted text -