I've read the post "KWQ Graphics code on Windows", and it seems that crossplatform need is an absolutely critical point. So I'm just if Amanith ( http://www.amanith.org ) would be the solution you are searching for (that can reduces maintenance and maximizes developer support).

Some good points pro Amanith could be:
- opensource
- real crossplatform architecture (the same source tree has been compiled and tested on 32/64bit systems, Windows2k/XP, MacOS X, Linux, *BSD, Irix, Solaris)
- use of pure ANSI C++
- clear and stable API (never changed since first release)
- the rendering engine has already a first implementation built on top of OpenGL (going from OpenGL 1.1 to OpenGL 2.0, using extensions where available and fragment programs too), other platform specific implementations will come later. Taken from website (about Amanith 0.2 version):
"
The entire drawboard is adaptive; performance and visual quality are scalable using three quality steps: LOW, NORMAL, HIGH. - Fragment programs can be forced off by the user. This parameter can be useful on those boards where they are badly supported. - Logical viewport can be modified independently by the physical one, at any time.
       - Shapes can be stroked and/or filled, independently.
- Stroke can be solid or dashed (with an optional initial phase), and also stroke thickness can be changed.
       - Supported stroke joins are: BEVEL, ROUND, MITER.
       - Supported stroke caps are: BUTT, SQUARE, ROUND.
- Supported drawing styles are: PLAIN COLOR, LINEAR GRADIENT, RADIAL GRADIENT, CONICAL GRADIENT, PATTERN. - Supported color interpolation modes in gradients are: CONSTANT, LINEAR, HERMITE. - Supported spread methods in gradients and patterns are: PAD, REPEAT, REFLECT. - Gradients and patterns have their own transformation matrix, that is independent from all other matrices. - The opacity is always supported in colors, gradients, gradients color keys and patterns. - Group opacity is also supported, but it requires that OpenGL render context has been opened with at least 4bits stencil buffer. - Clip paths are supported when the OpenGL render context has been opened with at least 4bits stencil buffer. They can be enabled/disabled at any time. From the user point of view, clip paths are exposed through a 'stack', where paths can be
       pushed and popped specifying an AND or REPLACE operator.
- Stroke and fill can be drawn using any of supported styles, independently. - Supported geometric primitives are: LINE, QUADRATIC BEZIER, CUBIC BEZIER, ELLIPTICAL ARC, RECTANGLE, ROUND RECTANGLE,
       CIRCLE, ELLIPSE, POLYGON, PATH.
- Path can be specified using SVG commands or directly with SVG string (path 'd' attribute). - All Amanith curves and path can be drawn directly, this makes the user free to draw also BSpline, high order Bezier and so on. - Every shape can be transformed specifying a model-view matrix, that can be changed at any time.
"
The incoming 0.3 version will include geometry caching, clip paths with union operations and full SVG 1.2 compositing modes (a pre-test example could be found here http://www.amanith.org/test/Amanith-HWcompositing.png ), 15 of them are available also without pixel shaders.

Currently Amanith lacks of text support, but it's already planned for the end of Q2 2006, and it will be fully accelerated.
Amanith team is also cooperating with KSVG2 guys on an Amanith backend.

Regards,
      Matteo, main Amanith developer.

_______________________________________________
webkit-dev mailing list
webkit-dev@opendarwin.org
http://www.opendarwin.org/mailman/listinfo/webkit-dev

Reply via email to