I am a blender developer and have been working on the OpenCL compositor for blender. Currently we have a proposal to re-design the technical part of the compositor. This will allow tiled based compositing and increase of performance using OpenCL. This proposal will not change the behaviour of the nodes, only the magic under the nodes.
We think that this has to be solved before redesign the nodes and node-system itself.
Nodes are so much more cumbersome to use compared to the layer stacking system of After Effects. Connecting all those inputs and outputs is a real pain in the potato.
How will these nodes interact with the work phoneybone is doing? will they be easy to port to a system where everything and anything can be connected as long as the data type makes sense, or is this proposal limited to the current compositing nodes
Layer system is much simpler? Yes. But it’s different thing. Nodes based compositor goes far beyound just stacking stuff. Reusage of specific outputs of a composition group, for example. This won’t be any pretty in a layers system. The Sequence editor is what could be improved to be like After effects, because now those are comparable things (composition strips distributed to layers along a timeline).
However, nodes allow much more complex setups, you can have multiple lines of nodes branching out and weaving into each other to allow some fantastically complex effects like normal-based re-lighting, multiply maps to introduce more realistic shadowing, complex layering where each layer has its own filters, effects, nested effects ect…
A layering system may be more quicker with simple setups like simply combining render passes, but will fail with some of the examples I mentioned which nodes excel at.
As for redesign and stuff, the underlying design of the node tree should be changed in a way that would allow the removal of some of the main limitations in the current system (like allowing us to have group nodes inside other group nodes)
I came from an After Effects background, and nodes blow my mind with how much more flexible they are. I would say that the toughest part of learning them was getting them to feel like layers (stacking two of them, reducing alpha on one, etc.) I actually think AE’s quite similar with its curly drag thingy, don’t remember what it’s called now.
The main thing that saddens me about Blender compositing is how frickin’ troublesome it is to accurately display Alpha, both in the Backdrop as well as in individual nodes.
It depends - if you are talking about compositing, give me nodes any day of the week. There is a reason why a node-based workflow is the preferred method in the industry (Nuke, Fusion, anyone?). For quick and dirty motion graphics stuff After Effects works very well, though.
Since we are talking about compositing, nodes are arguably the most efficient and far more flexible method. I use both methods for my work (Nuke and After Effects), and although Afx can do compositing quite well, it pales in comparison to Nuke. Even Blender’s nodes work better for that. Layers and hidden comps just obfuscate the workflow.
Fantastic.
I’d love to be able to give a substancial amount, it has to wait for the time being…
A general question on the concept of OpenCL integration:
So, if I understand it correctly, OpenCL is to 2D graphics what Open GL is to 3D processing ?
I read it is available on both AMD /nVidia platforms. But when i look at the specs of a GC, they mention the OpenGl and DirectX capabilities, but not always OpenCL. Can we be sure this has future ? Or will we have to invest in stuff like the Quadro line to get the benefit of it ? (I still run an old x1950 ATI card)
I’ll make a (small donation) when my next income comes !
No opengl handles both 2d and 3d graphics, blender interface is handled by opengl for instance. opencl allows you to write programs that can ran on either your CPU or GPU. writing programs that can make use of your gpu allows you to use their massive parallel processing abilities to really speed up some computing task.
@Gwenouille: OpenCL is becoming an industry standard. It is combining Cuda and Steam and Direct Compute to a single layer and will become a market standard As many big names are behind the standard: Intel, AMD, ATI, NVidea, Microsoft and Apple are driving the development.
As for older card, Blender implementation will have a failsafe mechanism. This is also needed for low performance laptops and PC users that install blender, but don’t want to or know of installing opencl