Real-time Compositor: Feedback and discussion

Many single passes aren’t implemented yet. They’re aware of that.


and it won’t be fixed until tomorrowwwwww !!! :slight_smile:
It just entered the smithy !

I wish using compositor nodes does not make EEVEE to re-render the viewport, like how Cycles does.

I guess this is more of an EEVEE thing than the compositor but using realtime compositor makes it more bothering (and make the room needlessly hotter).

edit: Oh yeah, also congrats on merging this to master!

I’m not sure this is a bug or because of Scale node being not supported, but since Transform node is marked as supported…

When mixing images with different scales, scale of background image affects scale of the entire result image.

1 Like

This is a really fantastic addition. I’m using a M1 Mac and experiencing the same crashes noted by other M1 users. I understand this is due to the incomplete state of the Metal backend.

Cycles-X is based on the same Metal backend (I think), and seems to be working fine.

Is there a particular component of the Metal back end that the viewport compositor is waiting on? I’m just trying to figure out when it will likely work on M1 Macs.

Great work!! This is going to change a bunch of our workflows.

1 Like

Better integration with render engines is planned and would be good to have indeed. Though the priority now is to concentrate on feature coverage.

This is a consequence of infinite canvas compositing, which is supported by the realtime compositor.
Essentially, when you scale the image up by 10x, it occupies a larger space in the infinite compositing space, but still has the same number of pixels.

Now, for the Alpha Over node, the “main input” of the node is the background input, which means the output will have the same number of pixels and will occupy the same space as the background input. But since the cube occupies a small space relative to the background, the pixels that it will effectively cover will be small, hence the pixelation you see.

The existing compositor just decides to crop the images to fit the render size as you can see, which shouldn’t happen in infinite canvas compositing.

This is definitely a workflow issue that I plan to tackle. For instance, the most obvious solution is to let the user choose which input is the “main input”. If you are adding a background to your cube, then the cube should be the main input, but if you are adding a cube to your background, then the background should be the main input. So I am aware about this.

There are two different Metal backends in Blender. First, we have the Cycles Metal backend, which is a compute backend that is exclusive to Cycles, so it is not related to our work. Second, we have the GPU module Metal backend, which is still under development and we will likely need to wait for it to be implemented almost entirely. You can track the progress here:

I will make sure to let you know if there is any functional builds for Mac as soon as they are available.


Hi @OmarSquircleArt , I would love to help out porting nodes to the real time compositor. Are you planning on adding any workboard tasks to track which nodes need doing, so that others could potentially contribute? I understand maybe that’s too much work for you to coordinate so you may just do it all yourself, but would be interested to know

1 Like

The task includes the list of nodes that still needs to be ported. So you may pick up some of those. I am currently working on Filter nodes, so maybe you can look into Distort nodes meanwhile to avoid conflicts. But note that many nodes can’t be ported in a straightforward manner, so it would be best if you can let us know what you intend to work on and how you intend to do it first. And let me know if you need help in anything in the process.


some promlem. M1 Pro and Instant crash by switching to rendered mode

1 Like

Maybe you have some unsupported nodes used in compositor. I can’t see your setup.
Also when you picked me to ask you maybe have seen the link here:
have a look under 'To Do’s.
MacOS support. Needs T96261: Metal Viewport .

So I have no idea when it will be working. Could be with the macOS update coming up and/or some coding of the blender devs.

1 Like

Here’s another crash report: connecting an output from empty Movie Clip node crashes Blender.

The problem is that I don’t have time to use any node.

  1. Enable dev extras
  2. Check the box “Compositor”
  3. In the window “Compositing” check the box “Use Nodes”

immediately after that, the Blender freezes forever

That’s just missing MacOS support, you will have to wait for the Metal backend unfortunately.

Can reproduce the crash, will fix that. Thanks!


Hello Omar,
When the scale Node is ready for Realtime support, will it be possible to change factors for X and Y seperatly?

Or is the Transform Node already capable of taking take a Vector/ or 2 factors in its scale socket??

Yes. The scale node should allow you to change the scale in the X and Y directions separately.

Great! that would be VERY useful in my workflow- can we expect this Node to come anytime soon, or is it at the bottom of your list? - it might be a quick thing, as the functionality is aready kind of there as part of the Transform Node…

I can work on it next week, as this week I am on bug triaging duty. It is an important node, so I will give it priority. I just delayed it because I am not entirely sure about its design, but I guess I will implement it using whatever design I decide for now and iterate on it later.


…that’s how keymaps got it quirks… :see_no_evil: :hear_no_evil: :speak_no_evil: :neutral_face:

Great work so far! Is there much chance that this may make it out of experimental and land in 3.4 when released? It is a shame that you have to do alternate weeks of bug triaging. I can only imagine the progress you would make if you were on the compositor fulltime :slight_smile:

I would avoid giving any timeline on moving things out of experimental. That’s because—among other things—we will have to wait for other projects, including the Metal backend for MacOS, which have its own timeline.