Playmesum;
“what happens when all your images don’t fit in memory?”
this app will be optimized for fast cards w/ 256mb-1gb of onboard memory.
“What happens when you try to composite 2 2k float images together and they don’t fit on the GPU?”
You’re right-- system performance could be slowed by large images with alot of processing on them. Those trees can be written to disk. I may include a -write to ram- caching system later, but it will not be directly implemented into the flow of the app, as it will slow performance when not needed.
Also, sorry for the vague wording in my last response. I’ll try to explain this better-- I have a rough simulator built for testing texture performance/PBO. I’ve simulated the following;
- glTextureSub Image()
- a PBO Image pusher
- a double PBO, using two pixel object buffers.
I’ve found double PBO to be the fastest. Then simulated caching back to system RAM and found that appreciable (approx 50% when using glReadPixels, and 20-25% for asynchronous readback) decreased speed (on a humble system) due to the bottleneck of having to send the info back to system RAM and back to the GPU for display.
The two trouble spots for performance without RAM caching are; 1. playback will be slowed with added processing/layers, and 2. enabling the paint tools to save the frames (a later, optional -write to RAM- can be implemented for previewing, then -write to disk-) .
Also, about the different nodes-- correct, the ‘creator’ nodes have no input in the node flow-- some are image in nodes, and some will create geometry, etc… I have yet to fully optimize the app’s flow, but sorry for the confusing wording anyway…
So, where I’m at right now with the app is;
-must optimize the flow
-must design and implement the node-tree system
-implement the GUI
-EDIT; also thinking about a plugin-maker as a seperate app, for others to be able to add GLSL/Cg shaders as plugins, to semi-automate the implementation of additional needed coding
I’ve noticed several people with much more programming experience attempt a node-based compositor and stop, I don’t want to get lost writing the backend or handcoding extensive GUI functions. Just trying to get it to alpha as soon as possible so people here and elsewhere can dig through it and hopefully make some changes/additions.

