From: Pierre A. <pie...@op...> - 2005-02-02 06:40:06
|
On Tuesday, February 01, 2005 9:41 PM [GMT+1=CET], Ellers <an...@el...> wrote: > Wow - you've got some amazing screenshots there! :-) > ALL rendering done by AGG? Great job! Yes. All pixels are painted by AGG into an ARGB buffer, then a simple BLT is used to make the buffer visible on the screen. > What is your solution for storing a tree or graph of objects for > rendering? Did you implement a scene-graph style approach? The widgets are stored as a hierarchical tree. When a region of the window has to be re-rendered, I walk through the tree and paint the widgets from bottom to top (painting the background widgets rather than just clipping them away is required in order to make the use of transparency possible in the upper layers of the GUI). For the document, there is also a tree organized in pages, layers, groups, (sub-)groups and graphical objects. The objects themselves usually map to a few AGG paths which are rasterized and rendered separately (outline, surface, shadow, etc.) Hope this answers your question. Pierre >> Thank you Maxim for your great work... thanks to AGG, EPSITEC has >> been able to roll out its new graphic document editor. There is >> currently a French demo version of the software available for >> download : >> >> http://www.epsitec.ch/cresus/documents/download-f.php |