On 14 December 2010 08:12, Benoit Jacob <jacob.benoi...@gmail.com> wrote: > 2010/12/14 Thiago Macieira <thi...@kde.org>: >> On Tuesday, 14 de December de 2010 09:01:05 Benoit Jacob wrote: >>> We target every OpenGL ES 2 device. I am not aware of an OpenVG >>> implementation that will run (and be well hardware-accelerated) >>> everywhere there is a OpenGL ES 2 implemetation? >> >> You asked for a hardware-accelerated API. But given your current reply, I >> take >> that you're looking for a 2D abstraction layer on top of OpenGL. > > Right, I'm looking at a 2D library that's accelerated by OpenGL. > However, "abstraction layer" is not how I would call it, because > really it's not just about abstraction, it's going to have to > _implement_ lots of stuff, part of which will have to run on the CPU, > not on the GPU. 2D is hard in that CPU and GPU tasks tend to be > intermingled in a way that makes it quite hard to offload to the GPU.
IIUC, you want a library that meets the following requirements: === Core Library 1. a library that wraps OpenGL calls 2. support different OpenGL profiles -- e.g. 2.1 (desktop) and ES 2.0 (mobile) 3. offloads as much work onto the GPU as possible 4. uses OpenGL-based buffers as much as possible with few round-trips to memory-based buffers -- get the most performance, reduce roundtrip, etc. === Capabilities 1. a vector-based 2D API -- e.g. for svg support -- that constructs an OpenGL scene graph 2. create texture from images -- png, jpg, gif, bmp, custom, etc. -- to support rendering, scaling, etc. of images 3. transformations (scaling, rotating, translating) done as OpenGL-based matrix transforms 4. font selection/enumeration -- i.e. fontconfig support 5. text positioning/layout -- i.e. pango support 6. transparency -- offload alpha-blending to OpenGL/the GPU 7. other effects -- offload as many effects as possible to OpenGL 8. animations/timers/events -- need support for these, offloading to OpenGL to do the transitions where possible - Reece >> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe <<