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)

Reply via email to