Real-time Compositor: Feedback and discussion

When it committed to master, the differential will be marked as closed and will mention which commit closed it, that’s how you know a patched moved into master. ⚙ D15758 Realtime Compositor: Implement scale node
Since there is a release happening this week, review takes more time since developers are prioritizing bug fixes. So hopefully it will get a review at the end of this week.

3 Likes

To a discussion of considering nodes as a modifier that can be placed on some scene stack:
Is it technically possible to use this node system as a video editor effect that can be applied to the video as a modifier to object now?

I don’t believe that the VSE has any proposal to have nodes applied to strips in the future. Currently you can set up a compositor scene with effects then import that into a separate VSE scene as a strip. I don’t believe that it will be real time however. Also there is the issue that layers from the VSE scene cannot be respected in the compositor as the datablocks regarding frame start etc are not interchanged.

1 Like

Hello. This is extremely exciting! It’s great to see more good stuff coming from you, Omar! I have a question: is there a list of the Render Layer passes that are currently supported? I didn’t see it in the task (T99210 ) but I did see lists of other things. In particular, I want to know about AOV support, as it doesn’t look like anyone else has asked about this yet.
Thanks

We designed the realtime compositor to be agnostic and flexible enough to be used in multiple places, including potentially VSE. Though I am talking from a technical point of view, we have no plans to actually do that any time soon.

Multi-pass compositing is not supported in its entirety. Only the combined pass can be used, and it actually doesn’t correspond to the real combined pass, it is used to denote whatever is drawn on the viewport. So if you choose a different viewport draw pass, like a normal pass, the combined pass will contain the contents of the normal pass.

2 Likes

Sorry if this a stupid question: many nodes (especially higly requested blur and glare filters) are painly slow in compositor. I wonder how they can perform real-time. Have they been replaced with a new, more performant, implementation?

1 Like

The new nodes make use of the GPU plus some more code optimization, so I would say, yes! They are after all designed to be real-time. Here is the patch for the blur node: ⚙ D15663 Realtime Compositor: Implement blur node.

8 Likes

Blur node is in master :slight_smile:
https://developer.blender.org/rB04ae0fe46ba1f08ef141a051187bea3763afda8d

…and scale node too:
https://developer.blender.org/rB0fd39da3a96adfe30e5260f72ecc8c6d8b68b98f

6 Likes

The to-do for Multi-pass compositing mentions “Needs sizable changes in the draw module and render engines”.

For the multi-pass feature to work, the render engine needs to be updated and I was just curious if the changes that need to be made to the render engine are similar or overlapping with the render engine changes needed for light linking.

Not as far as I can see. The implementation of light linking will likely happen inside the Cycles ray tracing integrator itself, it is more of a core engine change. The render engines changes the TODO mentions is the ability of engines to render multiple passes in viewport rendering and hand it to the compositor through the draw manager.

1 Like

Im testing the scale node added today, ¿is it working as spected? i would expect that at least one of the modes snaps to the camera passepartout

That’s not the purpose of the scale node. The functionality will come in the future.

3 Likes

Oops, I think I meant to ask about View Layers. I suppose that is not planned currently, either? I’m happy either way. Thanks for all you’ve done for Blender :smiley:

@OmarEmaraDev I think I find something that prove that you already finished making the realtime compositor display in camera correctly. The scale image and camera zooming is working as expected.

Here is what I have done to find it:

  • select the camera and go to camera property panel
  • and add image background
  • select “view node” as the of camera image background
  • it is done your camera is already display your view port compositing output.

If you couldn’t see it because the actual implementation display on top of the camera.
To see it zoom your camera bigger or change the shading mode from render/material to shading. Now you will see it.

@OmarEmaraDev please do this to help us use REALTIME COMPOSITOR properly.

If viewport.displayMode == “camera view”:
realtimeComp.displayOn = active_camera.imagebackground
else:
realtimeComo.displayOn = viewport.3dview

Or just make it display on full screen when not in camera view. Because it already possible to in camera with camera image background. You will make it (that image background) on top and a default one. Which should not be editable by user.

Please try it.

And thank you for all great :+1: work

The Viewer Image you are using as a camera background is computed using the existing compositor, not the realtime compositor, so this is still not really supported. Once we make good progress in porting existing nodes, we will work on workflow improvements like camera view.

1 Like

Trust me when I’m in material or rendering mode it use the realtime compositor. Because it update in real-time.
Only the shading mode use the existing compositor and yes I find it slow too.

Then make the camera background image use the realtime compositor if the realtime compositor is activated please.

See only few nodes remain and the most node used in compositing are already in master. Let us just enjoy that possibility before you finished implementing the rest nodes.
Thank you in advance