Rendering Confusion



i previously used the gnomecanvas, but i stopped cos it took waaaay too  much memory (using thousands of canvas items here)

Okay - I'm currently rendering to a GdkRGB buffer and then rendering that to a Drawing Area. The problem is I am /forced/ to render only on expose events (i can't manually render otherwise I get a crash). Anyway, first of all it seems a bit 'expensive' to re-render the whole thing when i could re-render just the exposed area (not easy to do I believe). 

Also - i want to sometimes be able to manually re-render myself (i.e. its a 'simulation' I need to re-render every turn or when the user changes something (such as color)). This doesn't happen with my current set-up (gdkRGB buffer -> drawable). 

I currently have the data/simulation part separate from the GUI. The SVPs and vpath's are created right before rendering. 

Does anyone have a solution to the above problem(s) using GdkRGB buffers ?

I was told by Tim Janik that he created a widget called gnome-forest that does exactly this. It uses an ArtPixBuf though... how would I go about rendering to an ArtPixBuf. I believe there is a function to take an RGBA and render it into a pixbuf, but (1) if i make a chnage to the GdkRGB buffer will it be reflect in the ArtPixBuf (2) if not, does that mean i have to fill the GdkRGB buffer and then re-render into the ArtPixBuf every turn? (3) Does gnome-forest 'monitor' the ArtPixBuf for changes, or do i have to remove then re-add it as a sprite? or how do i exactly set it up?

Any help on the above is appreciated.



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]