7 ms·
Cascade: Open-source Node-based image editor with GPU-acceleration
- numlock86 5y agoAs someone who uses Blender for (GPU accelerated) node-based image manipulation (along with all the other things it brings to the table, like video editing etc.), what are the benefits of dedicated node-based image editors like this one? Serious question, not a rant. I am genuinely curious.
- VladimirGolovin 5y agoNot having to redo the entire chain of image operations from scratch if you mess up one step. The ability to reuse the chain of operations on a different image. The ability to tune / tweak the settings of each step without having to repeat the entire chain manually from the start. The ability to edit the chain of operations if you don't like the result, without having to re-execute the chain manually. And, lastly, node-based systems can be incredibly fun, if done right.
- dTal 5y agoI believe they were asking what was the point of a standalone system, as opposed to just using Blender which has a node-based image editor built in.
- VladimirGolovin 5y agoI knew Blender had a video editor, but I didn't know that Blender had a node-based image editor. Just did a quick Google search -- are you referring to Compositor?
- numlock86 5y agoBlender has a "generic" node-editor in a sense that you can use it for not just image manipulation but also for things like shaders or even manipulating geometry, although (of course) each have mostly their specific set of operations (nodes).
- atoav 5y agoOne datapoint: Color manipulation or color grading in film is mostly done using Blackmagic Davinci Resolve (runs under Linux, can also edit, mix sound etc, worth checking out). Davinci is a nose based software as well (for the color part). The advantage is of course that you can easily copy graphs, parts of graphs or nodes from one picture to another. In a professional setting that means you can create one calibration node for your camera, one node to adjust differences between different pictures, one to use a certain look etc. You can combine masks from multiple nodes, do parallel color correction etc.
- liotier 5y agoAre nodes conceptually distinct from effect layers or is the difference only in the way they are presented ? One of the examples show a merge operation though, which involves a sequence and therefore would not be possible with just a stack of layers.
- VladimirGolovin 5y agoUnlike the effect layers, nodes can have multiple inputs. Also, in more advanced node systems, nodes can have types other than "Image", e.g. number, boolean, etc., and node inputs can accept those types.
- atoav 5y agoWell one example would be a node that outputs HSV as seperate (greyscale) outputs, you could then operate parallel on all these strands and merge them together in a combine node that has 3 seperate inputs for HSV and gives you the full color again. Practically nodes make it easier to deal with more complex operations than layers (e.g. operations wherebyou have multiple source images and/or multiple target images, like e.g. in compositing, CGI etc)
- lastdong 5y agoI guess this tool can evolve to more specific image and photography functions, like touchup brushes to remove imperfections and image filters a la lightroom. Having a dedicated tool also means the UI can be better tuned to the photography workflow. Blender is brilliant and I love it but different tools can fill different needs, imo
- rperez333 5y agoIn theory, nothing, just specialization. This software is an open-source answer to the standard in the visual effects industry, Nuke https://www.foundry.com/products/nuke-family/nuke https://www.foundry.com/products/nuke-family/nuke. In the media industry, 2D and 3D roles employ very different skill sets, so while Blender could evolve to offer a robust package for compositors, this likely won't be their primary focus.
- phkahler 5y agoAs someone who uses neither, my hope would be that a specialized tool has a smaller learning curve and possibly more capabilities in its niche.
- chrisshroba 5y agoThis looks like fun - I’m excited to try it out!
- Aeolun 5y ago> Cascade is written in C++ For those confused by the title.
- paraxion 5y agoIt got me. I went into the /src directory so I could find out if you could actually write a reasonable image editor in javascript, and was confused to find .cpp files.
- mkl 5y agoWell, people succeed, e.g. https://www.photopea.com/ https://www.photopea.com/.
- 88j88 5y agoAgree, many may never give this a look simply being "node-based" assuming it has anything to do with node.js
- cinntaile 5y agoIt wouldn't be confusing if the title didn't use a capital letter for node-based.
- em-bee 5y agoi think it was some kind of morbid curiosity that made me look anyways
- delhanty 5y agoFurther confusing is that Open CASCADE https://github.com/Open-Cascade-SAS https://github.com/Open-Cascade-SAS is also written in C++ and used to be called CAS.CADE before it was open-sourced https://en.wikipedia.org/wiki/Open_Cascade_Technology#History https://en.wikipedia.org/wiki/Open_Cascade_Technology#Histor...
- Arelius 5y agoHow does this compare to a compositor like say Natron? https://github.com/NatronGitHub/Natron https://github.com/NatronGitHub/Natron
- fxtentacle 5y agoNatron is older and more mature, but has less GPU acceleration because they started before Vulkan was usable.
- tambourine_man 5y agoThis looks nice. No Mac version, unfortunately. Perhaps due to Vulcan dependency.
- programmarchy 5y agoIsn’t Vulkan compatible with macOS, though? MoltenVK is an implementation using Metal.
- tambourine_man 5y agoPerhaps, I've read that Vulkan on Mac is complicated, but it's not my field.
- can16358p 5y agoThis is something that I'd LOVE to use, yet I'm on Mac. Would love to see Mac support at some point.
- tuananh 5y agowhat is the meaning of "node-based" here?
- Chilko 5y agoLook at the screenshots in the repo - it refers to applying or stacking effects/edits based on a system of linked nodes, as used by color grading software such as Davinci Resolve, and also used by Blender I believe.
- iszomer 5y agoWhich iirc, is contextually referred to as visual programming. Some notable examples I've briefly used include: PureData [0] and SunVox [1] and some dabbling in Bespoke Synth [2] and generative content of Nodes.io [3]. [0] https://puredata.info/ https://puredata.info/ [1] https://warmplace.ru/soft/sunvox/ https://warmplace.ru/soft/sunvox/ [2] https://www.bespokesynth.com/ https://www.bespokesynth.com/ [3] https://nodes.io/story/ https://nodes.io/story/
- MayeulC 5y agoSomewhat. This is true for the drag-and-drop interface and representation, but nodes here are an implementation detail IMO. Nodes are a subset of visual programming, and well-suited for representing functional and data-oriented processing pipelines. In turn, these programming paradigms are well suited to hardware acceleration and distributed/multithreaded pipelines. The underlying edition approach is called "non-destructive editing", as you can always remove some operations to find the original again. When it comes to visual programming, the first example that comes to my mind is labview, which I find very unwieldy to work with. As a programmer, node editors are one of the very few visual programming methods I'm comfortable using (at least as long as the graphs stay relatively small).
- skocznymroczny 5y agoI always found these editors to be a bit more cumbersome than just writing things in code. I do like the visual feedback in form of previews. Perhaps the optimal workflow would be a code-based editor with easy visualization of each stage, notebook style perhaps?
- deleted 5y ago[deleted]
- von_lohengramm 5y ago> Cascade is a node-based image editor with GPU-acceleration. Wrong capitalization.
- seanw444 5y agoYeah that's an unfortunate typo.
- white_dragon88 5y agoI got a headache trying to comprehend how that would even work
- deleted 5y ago[deleted]
- gurjeet 5y agoIf you think so, please spend some more effort and provide the correct capitalization, as well.
- Jarwain 5y agoHe did. He decapitalized "Node" which makes it more clear that it's not a reference to NodeJS
- VladimirGolovin 5y agoLooks very interesting. I tried the Windows build, but I can't get it to show any preview image. Tried selecting nodes and double-clicking them -- nothing. Maybe it needs to recompile the shader manually, but I haven't found any GUI command or hotkey for that. Checked the log, but it looks OK, no errors. UPD: I managed to get it to show the preview: 1) Delete the default nodes (Read Image and Write Image). 2) Create a Checkerboard node. 3) In its Properties, set Size to anything except "As Input". You can then plug it into filter nodes (e.g. Directional Blur), but the preview is still fickle -- at some point it just disappears and never shows up again until I reset the project.
- tde 5y agoHi! I am the creator of Cascade, thanks for trying it out! I would like to investigate the issue you are having with the preview. When you load an image in a Read node and then press F4 (with the Read node selected), do you see the image?
- deleted 5y ago[deleted]
- deleted 5y ago[deleted]
- Shadonototra 5y ago
- detaro 5y agoIt's not just Rust projects, but it is right now where a lot of the interest is. A few years ago it was a lot of "written in Go" or "written in NodeJS", as those were the "hype" things. Also it seems very off-topic complaint (even more than it would be anyways) in the discussion of a C++ project?
- andybak 5y agoThe whole "node-based" vs "based on node" ambiguity is going to get annoying. Already makes it hard to find stuff on Github.
- andybak 5y agoThe UI text is impossible to read on my laptop. Looks like it ignores UI scaling settings and therefore is tiny on high-res screens.