Check out this example here:
http://antigrain.com/stuff/particle_demo2.exe
Check bitmap caching, move particles to 1000, check start universal.
I get 80-100FPS :| and thats maximised to full screen.
That is incredible! Im totally convinced this is the vector library for us
On Sat, 17 Jun 2006 05:17:46 +0800, Maxim Shemanarev
<[EMAIL PROTECTED]> wrote:
Hi Jarrad,
> Once AGG is ported to nekoVM I am going to be starting an animation
> software.
> Which will possibly need to handle complex vector graphics >
(importing/manipulating/displaying swf's)
In this case, yes, the most recent addition can help you handle the
fancy Flash data model (rasterizer_compound_aa, see
examples/flash_rasterizer.cpp). As far as I know there are no other open
libraries that support it directly. In Amanith the tessellator works
only with traditional single-style polygons. In Flash it's very
different, that is, instead of cyclic contours there's a set of acyclic
edges with left and right fill attributes that eventually form a closed
planar graph. So that, you can rasterize or tessellate the whole
multi-color scene in one pass. But it isn't trivial to reconstruct the
polygons in order to use the traditional polygon fill machinery.
> I am abit concerned when you said
> "you can't use it for heavy duty realtime graphics"
> well the graphics in the app would be a mix of realtime and moving >
things around.
I mean really fancy real time graphics, like in most modern games (not
obligartory 3D). At least AGG isn't slower than the original Flash
player (maybe even faster). Still, very complex scenes, with high
resolution, like 1600x1200 may work too slow in Flash. The criterion
here can be as follows. If you are satisfied with the performance of the
original Flash, AGG is most probably suitable for your needs too. If you
need something dramatically faster, it's a long way to go to HW
accelerated solutions, which are typically very complex, tedious to
implement and expensive. And most of all, the resulting quality isn't
guaranteed.
But if you have a well defined interface and practically working
software backend renderer you can replace it in future with some other
solution.
> Because I was looking at the lens example on the lion and the alpha
> example
> - both ran in realtime on my machine. The MultiClip at fullscreen
goes > slow, but holding space down on the flash rasterizers is fine.
That's right, the multi-clip isn't the best solution; typically these
things are implemented with alpha masking.
> Perhaps theres a way of caching to make it run faster???
Some things can definitely be bitmap-cached. For example, the latest
Flash 8 uses caching technique too. It's not that trivial to implement,
but doable: http://antigrain.com/stuff/particle_demo2.exe
BTW, you are welcome to the mail list:
http://antigrain.com/maillist/index.html
Perhaps, your ideas may be interesting to other people too and you can
get more help there.
McSeem
--
Neko : One VM to run them all
(http://nekovm.org)