Cycles-X feedback

Noticed that Ambient Occlusion Node in shader editor isn’t working properly in
blender 3.00 Alpha Cycles-X Hash: ad81074fable from 21.05.2021.

Not showing AO at all, just a mix between b/w (grey) but non noticable AO.
Same scene and AO works in all olther versions (2.92, 2.93, 3.00 Alpha)

Layer weight node and Pointiness from the Geo Node are working fine for edge masking/detecting or overlay.

(Node setup: AO -> Color Ramp -> Mix Node together with a second color ramp for color -> base color from Principled BSDF)

Hope the discription is OK.

This is occuring because the AO node has not been re-implemented into the Cycles-X branch yet.

You can find the task with a list of most of the features that are missing from the Cycles-X branch that need to be added to make it on par with Cycles-Master. https://developer.blender.org/T87837

1 Like

THX
A bit confusing to find all the relevant up front info ! :slight_smile:

@statix I’d be interested in hearing more about how you’re handling temporal denoising with the vector pass. We just completed work on a film and ended up running everything through Resolve. Its temporal denoise was better than Neat Video but if we could do this in Natron or Nuke, that would be fantastic. Would you be willing to elaborate on your workflow for temporal denoising?

Tested few latest Cycles X builds a while ago, but forgot to post the results (red - latest build):

3 Likes

Hi Steve,

I replied to someone else about this workflow so let me copy paste the response below.
I might do a series on denoising on youtube at some point. There are many ways of squeezing details out of renders in comp.



Ok both of these are more centered around compositor tasks using Nuke, Fusion or Natron. Blenders built in compositor doesn’t support log-space but it can be hacked.

Often when dealing with high contrast HDRI / float images and doing 2d transforms or reposition in comp you want to reduce the amount of filter hits as much as possible to avoid any unnecessary degradation in the image. Most 2d transform filters (lancos, bicubic etc) were not developed with float values in mind, so if you convert a linear float image to a log, perform the transform and a log2lin back again you often get much nicer and gentle filtering (if you know what to look for).

In terms of the conversation on denoisers, we’ve had some minor success in creating an even sharper result by doing the same thing, expose down, gamma up, denoise, then gamma down and expose back up. You then force the denoiser to look at the image in another way.

In terms of temporal denoising, its actually super easy. You can do this in blenders compositor or natron but I use fusion and nuke.

What you need to do is match the previous frame and next frame to the current frame, so basically a timeoffset of -1 and +1 frame.
For both of these offset frames you want to 2d displace it with the vector pass, instead of adding motion blur you “push” the pixels into the current frame using the displace node in 2d. And in terms of the +1 frame you push it back into the current frame.

So you now have something that almost looks like 3 identical images, and if you now perform an average of them (frame-1 + current frame + frame+1 / 3) or a median you get basically 3 times the samples pr frame (excluding the very first and last frame of the sequence since you’re missing -1 frames at the very first frame). (this is all assuming youre rendering with different seed values for the noise pr frame, doesnt work with static noise)

Not only is there much less noise but its also temporally more stable. If you increase the frame count to 5 frames you can get super smooth results.

This works really really well, we’ve been using it on feature film vfx for decades now in some way or another.

It breaks down when you have fast moving objects (but at that point you can denoise using motionblur, which is another technique) and it breaks down when there aren’t motion vectors available (for instance things in reflections etc)

Hope that helps

5 Likes

EDIT: Discussion of THIS topic is NOT to happen in this thread. Brecht has answered my question. A more technical explanation of different aspects of working with colours can probably be given to help me understand what’s going on better, however this thread is for Cycles-X feedback, not discussing colour science.


This probably isn’t the best place to ask, and I really don’t want to start a big discussion about it in this thread, so moderators of the site, feel free to split this off to a new topic.

With the new shadow catcher in the Cycles-X branch, indirect light is caught for use in compositing. Only one issue remains for me. How are you supposed to composite this in Blender?

It seems straight forward, just make a setup like this:

This issue is to do with colours. In theory for the shadow catcher to work CORRECTLY in this situation, the video or image from the real life camera has to match the colour and lighting format of Cycles (Scene referred lighting in a linear colour space?)? Or am I missing something? Is there a way to get “correct” shadow catcher compositing with more “standard” image formats such as the MP4 or JPG with display referred lighting and brightness’s compressed the range 0-1 with pre-applied tone-mapping/view transforms such as what you’d get from a phone or a consumer dedicated camera?
While doing research I also read somewhere that shooting in LOG can help in this scenario as it allows you to kind of get scene referred lighting once you apply certain transforms to the image, but I’m sure there’s extra steps required to get this to work properly in Blenders compositor than just loading the image into the setup shown above. What are these steps?

Does anyone have any information that they could share that might help?
EDIT: See top of post as to why you shouldn’t answer these questions here.

The footage and render output need to be in the same linear color space for correct compositing, same as before. How to achieve that is not a question for devtalk, but for a user support forum.

Let’s keep this thread on topic, the discussion about denoising workflow also does not belong here.

3 Likes

Cycles-X don’t work properly with older nVidia GPU - Quadro K1200 4GB (Windows 10, Intel 6700). CUDA works partially and OptiX don’t work at all.

  • Broken: Cycles-X, commit hash a117a9c63c3a
  • Working: 2.92 official release (both OptiX and CUDA works)

Tested with Junkshop scene.

OptiX, viewport rendering, drivers 458 and 462:
458_462_QUADRO_K1200_OPTIX_VIEWPORT

OptiX, window rendering, 458 drivers:

OptiX, window rendering, 462 drivers:

CUDA, viewport rendering, drivers 458 and 462 - OK, works fine.
CUDA, window rendering, drivers 458 and 462:

Hi @brecht just thought you might like to know that the addon code for cycles x has a bug.

Traceback (most recent call last):
  File "/Applications/Blender_exp/Cycles-X/Blender.app/Contents/Resources/3.0/scripts/modules/addon_utils.py", line 386, in enable
    mod.register()
  File "/Applications/Blender_exp/Cycles-X/Blender.app/Contents/Resources/3.0/scripts/addons/cycles/__init__.py", line 134, in register
    engine.init()
  File "/Applications/Blender_exp/Cycles-X/Blender.app/Contents/Resources/3.0/scripts/addons/cycles/engine.py", line 132, in init
    _workaround_buggy_drivers()
  File "/Applications/Blender_exp/Cycles-X/Blender.app/Contents/Resources/3.0/scripts/addons/cycles/engine.py", line 47, in _workaround_buggy_drivers
    if _is_using_buggy_driver():
  File "/Applications/Blender_exp/Cycles-X/Blender.app/Contents/Resources/3.0/scripts/addons/cycles/engine.py", line 29, in _is_using_buggy_driver
    if gpu.platform.vendor_get() == "ATI Technologies Inc.":
AttributeError: module 'gpu' has no attribute 'platform'

Happy to write this up as an issue in the tracker if you like?

Best wishes

James

@JamesCrowther we are not handling bug reports at this point, what you found is a known to do marked in the code.

2 Likes

Ok, no probs. Any idea when you will be accepting bugs? I’ll try to stay quiet until then :slight_smile: … promise.

edit,deleted a wrong post

Read what Brecht said… They are not accepting Cycles-X bug reports at this point in time. @Jamescrowther, dont make a bug report. just sit tight and wait for the devs to do their thing.

3 Likes

Oh,you are right i have misread the posting.My fault.

4 Likes

sitting so tight it hurts mate :slight_smile:

1 Like

The latest build Cycles-x - b86c95107f13 for linux doesn’t show any rendered scene.

Hi, no problem here with some test files.
Older build are working for you?

Opensuse Tumbleweed x86_64
Intel i5 3570K 16 GB RAM
GTX 760 4 GB
RTX 2060
Driver 460.79

Cheers, mib

Sorry for incomplete report but I’m testing only with CPU, no compatible GPU and my OS is Ubuntu 18.04…

Hi, I build the latest version on my system 7fdf520d993 and it work on the CPU.
My latest build b86c95107f13 from builder.blender.org is working, too.
Start Blender from a terminal with --debug-cycles to get more information or error messages.
Keep in mind this is not a support forum, I like to help but moderators keep an eye on it.
You may ask for support on https://blenderartists.org/t/cycles-x/1300231/277

Cheers, mib