Compositor Features and speedup
For quite some time I've been building node groups, specifically for the compositor - features that don't exist or features that need to work a different way than the way they usually do. For example, the defocus node doesn't blur over clear background objects. I don't know why, but I can't get it to, so I was led to build one that consists of 10 layers.
Here is the problem - node groups, as I got to build them, are generally slower than coded features. Coded allows you much more direct access to the pixel filters and allows for much higher speeds. My problem is I can't code and the compositor is known for it's really slow speeds (I am unsure if this has been addressed with 2.8 yet - please let me know in the comments).
So, this proposal consists of two things:
- A compositor speed up request (I know that is a huge ask and one that has hung around for years)
- Coding of at least some of the features I got to build.
List of current node groups:
- 2Depth - 2D to 3D (Parallax)
- 2Depth - 2D to 3D (Warp)
- 2Depth - 2D to 3D - SuperFast (Warping)
- 2Depth - Converter - 3D Anaglyph Grayscale
- 2Depth - Converter - Color Anaglyph
- 2Depth - Converter - Interlaced 3D
- 2Depth - Converter - L/R Stereo 3D
- 2Depth - Converter - Side-by-side (50%)
- 2Depth - Converter - Top and bottom (50%)
- 2Depth - Depth Map Generator (pseudo approx.)
- 2Depth - Parallax Adjustment (SBS)
- For Anime - Defocus (2 Layer)
- For Anime - Liquefy object
- For Anime - Motion Lines
- For Anime - Motion Smear Fancy NEW
- For Anime - Motion Smear Simple NEW
- For Anime - Sun Glare
- For Anime - Underwater Atmosphere NEW
- For Anime - Vector Mask for Motion Lines
- Gimpness - Brightness
- Gimpness - Contrast
- Gimpness - Hue
- Gimpness - Saturation
- Gimpness - ColorBalance (Video Coloring)
- Quick Analogue Signal Noise
- Quick Anti-Aliasing - 4Images
- Quick Anti-Aliasing - 4Text
- Quick Blur
- Quick De-Interlace
- Quick Film Effect
- Quick Halftone
- Quick Miniature Blur
- Quick Old Black and White Film
- Quick Pixelation (Integrated)
- Quick Pixelation (Traditional)
- Quick Progresive Defocus (10Layer) UPDATED
- Quick Sun Glare
- Quick Vignette
Check out the link for more info: pantherdynamics.yolasite.com/downloads.php
Of course I'd be happy to learn how to code these myself, but honestly, haven't found any info that is step-by-step enough for me to learn to... Recommendations on a really for dummies level is super welcome! I have some coding experience in Delphi7, which is similar to Python, but this will need to be done on a deeper level...
For the layered ones, they need a lot more than 10 (the idea is to have them work with the amount of values a colorramp has) - 10 is just the limit I have ito speed - more it becomes impractically slow, and less, it doesn't look good either.
I hope for those of you who already use the groups, they are of immense value to you and the same for those of you just finding them now for the first time!
GOD bless you! (^^,)
14 Comments
To speed up the compositor a lot there is a great disk cache addon by cgvirus youtube.com/watch He also made a light wrap and film noise node tree. This alow me not always to use natron for some little compositing in blender.
* @groslaine * I will definitely check it out!!! Any speed-up I can get will be of huge help. Thank you for sharing!
I also vote for a caching system of some sort for the compositor as larger editing really slows down compositions. SOrt of like in the NLA editor for movie clips the clips can be cached to speed up editing by using lower resolutions.
* @motionblur.of.doom * Lol, love the username! Improvements are welcome! Thank you for commenting and upvoting! (^^,)
I believe the compositor needs a node similar to principled shader, where there will be a way to not use a lot of nodes when working on mostly basic post processing applications.
* @johnpdelacruz26 * The compositing process, like the 3D modelling process is extremely varied. For example, blurring isn't just blurring. You get Soften, Bokeh, Flat, Mitch, Gaussian, Cubic, etc. You can, however build something like that for yourself with group nodes and use it for a while so it can be refined - just like the list above was and still is - and make a proposal for it to be coded. I would seriously like to see what exactly you have in mind! (^^,) Thank you for commenting!
* @Marius * I will try to look into to it if there are reasonable steps that can be added as a single node.
Hey, I love your work! I have a similar problem, using material nodes. My EEVEE materials have about 500 nodes each! Hahaha.
Anyhow, I think the Everything Nodes project has already yielded a really fast node-compilation backend. This is being used for modifier nodes and particle nodes at the moment. I doubt the compositor is considered a priority at the moment, but it's not out of the question that it could use the same backend for its node compilation. At the moment, the compositor is far from optimized, re-compiling for every node changed, regardless if it has any downstream effect. So to me that's the solution.
* @Josephbburg * Thank you very much!! Lol, those node trees can be a redwood of a root system, lol.
That is unfortunate... I did see a while back that someone did start a "realtime" version of the compositor, but it just kinda faded away as quickly as it popped up. I do hope they change at least that aspect. Another aspect is that it carries all the nodes forward, if that makes sense. I gain just under a minute of compositing time alone if I let certain steps be done separately - that's nuts.
Thank you for your comment!! Have an awesome day!!
look like nodes that can be added like a add on
* @pipeliner * They can, and are already freely available, but they can be made a lot better and a lot faster if coded and that's where I'm stuck for the time being, lol. If the compositor were a lot faster, they can be majorly improved and then coding most of them would probably be a non-issue. For example, the parallax 3D conversion node uses 16 layers that are offset and patched. If the compositor were faster, I could use like 32 (if coded, a 1000) and many other improvements: blender.community/c/rightclickselect/t4bbbc/
The goal here isn't mainly to have a wish list of my personal group nodes coded (though that would be awesome, a benefit to other uses and I did make it an option, lol), but there are major speed issues and if these are addressed, it will certainly remove the need for coding a lot of them completely.
* @Marius * I wonder if Blender has put any work into supporting openFX plugins? Natron and Nuke do. It would be great if Blender and Natron had more in common.
* @Josephbburg * If the BSD license is compatible, they've probably at least looked at it. I think the big issue is that it's still owned by someone other than the community, so to speak, despite being open source and re-use and changing is allowed. Is the BSD License compatible with Blender's?
* @Josephbburg * I think someone asked about OpenFX in Blender Today awile ago. No information about that at the moment.