Cycles Development Updates

Test builds for multi-light sampling are rolling out in this thread on devtalk.
GSoC 2022: Many Lights Sampling in Cycles X (Feedback Thread) - Blender Development / Summer of Code - Blender Developer Talk

From initial testing on one of my own scenes, the sampling overall will be slower due to multiple lights being sampled at once (depending on the split threshold), but it brings back the kind of convergence the Branched Path integrator could do in various scenes without the overhead. In fact, no one will be wishing for BPT to return once this along with path guiding is in.

5 Likes
2 Likes

2022-09-20 Render & Cycles Meeting - Blender Development / Meetings - Blender Developer Talk

Notes

  • Path Guiding:
    • Brecht works on a few remaining changes to make it ready for master, hopes to merge this week.
    • There will be a new OpenPGL release with optimizations and fixes. The library can be updated to the new version independent of the merge.
    • AVX2 is broken in the current OpenPGL version, Brecht will temporarily disable it.
  • OSL GPU:
    • Various code refactors for this were merged to master.
    • Patrick is working on upgrading to the latest OSL version, currently encountering some render errors.
    • Patrick will create developer.blender.org task with to do items.
    • We want to avoid dependency of OSL build on CUDA toolkit and OptiX. OptiX is easy to remove, CUDA may be possible by using clang though this has some issues currently. For OSL the plan seems to be for this to not be a requirement at all, but timeline is unknown.
    • One missing feature is image texture loading through file paths, may be possible to make it work by querying OSL shader and loading in advance?
  • Intel oneAPI:
    • Patches for oneAPI linking and kernel profiling needed review, hopefully done this week.
    • Stefan looks into adding support for using host memory fallback.
  • AMD HIP
    • There is a performance regression related to matrix inverse changes, will be looked into.
    • Hardware ray-tracing aimed for Blender 3.5.

The money quote is the first few lines, Path Guiding is very close, and we will only need multi-light sampling yet so Cycles can handle about any situation you can throw at it.

11 Likes

Rendering dense volumes still can take long time. Tangent Animation did some work on this, but it didn’t found it’s way to master.

1 Like

Haven’t I heard you say this exact sentence for several years with varying features ? spectral, path guiding, caustics handling… it seems like Cycles is always about to become perfect, if only it had this or that

7 Likes

Cycles can already render most situations if given enough samples and enough time. I will also keep in mind that the past decade has seen a lot of realization within the Blender community as to what exactly separated FOSS from the commercial solutions, and how it was not out of ignorance that kept many professionals as far away as they can go (for instance, how long it took for many of us to actually discover why we wanted Troy_S’ work on color).

I will also emphasize that like other times, I am not making baseless feature requests because code for this stuff already exists (with one of them likely winding up in the next official release). The key word is ‘enough time’. It will be a major advance to be able to render most scenes at a high resolution in well under a day.

Then of course, the standards of perfection in CG graphics will change as well, it will not look good if we decide the developers can feel free to stop moving forward in terms of making Blender’s tools and features ever more powerful.

2 Likes

To be fair - these new features will represent a step change in cycles capabilities in many instances.

They are not a magic bullet by any means - but they will massively expand the range of scenarios that can be handled within a reasonable timeframe.

Look at some of the tests carried out on very early builds to see the potential that path guiding has:

1 Like

Path guiding will certainly help with some particularly challenging edge cases, but there are other things that are hard to render that aren’t specular > diffuse > specular rays.

Once you eliminate those issues, you reveal the next issue. It’s like cresting a dune, only to see yet more dunes ahead of you.

I wouldn’t class rendering transparent glass shadows as an “edge case”…it seems pretty fundamental to me.

5 Likes

Agreed. In addition, any scene that produces an abundance of fireflies by default, assuming it is not due to user error, will benefit greatly from Path Guiding. Caustic effects for instance impact the lighting in far more instances than pools and glass, just in a much more subtle fashion. It is not as effective with caustics as metropolis sampling, but then again you do not get as much tradeoff by way of having things like splotches.

I’m stoked about path guiding, and it certainly helps for a lot of things, but it isn’t going to suddenly allow everything we would ever want to render to be rendered in under 60 seconds.

It will help some scenes converge faster. That’s it. If caustics are the only thing holding your renders back from looking perfect, then this will help. But most renders aren’t simply constrained by noisy caustics.

This is my point exactly. Unless you are under a pool or in a cathedral, those clean caustics don’t really matter that much.

Again, it’s a good improvement, but don’t oversell it.

@Ace_Dragon don’t oversell it.

@Hadriscus is right, you’ve been touting the next big thing as the last thing blender will need to render anything and it just is never true. When you remove the obstacle that is right in front of you, you find the one right after that.

And this is why I called SDS paths corner cases. They do happen and it is an issue, but it only really really matters, in that there is no other way to get around their lack, in a small subset of cases. That’s where we are in the state of rendering right now. 99% of lightpaths are handled smoothly and predictably. Hammering out the problem children is good and important work, but every major advance is only going to fractionally improve visual fidelity now. Like adding in spectral rendering, if you are in a nightclub with fully saturated green light, the colors will look more realistic with a spectral engine. 99% of scenes you won’t even be able to tell the differenced though.

We aren’t going to get another leap in rendering quality like we did from BI to Cycles. We might get performance improvements (like cycles X) but there aren’t many big quality leaps left.

I’d be happy to be wrong though.

It does matter to those who meticulously inspect pixels like those in the Corona thread.

Let us bias the lighting a little by turning off caustics, now let us bias the image a little more with clamping, now we bias it even more by using the artistic-minded Principled Shader for everything, we will also use Intel OIDN when the image is still pretty noisy to bias it even more. Suddenly the Cycles images don’t look as great compared to the commercial solutions (even if you use the AgX color transform) and people seeing that conclude the engine is crap.

Sure, one might be tempted not to bother because the difference is subtle, but if you add a whole bunch of subtle things together you will find it adds up.

4 Likes

Im doing visual of skin care product for an event and this feature could have give my renders some nice caustics, but ill gladly exchange path guiding for light linking, its a pain to use multiple view layer and not be able to see your whole render in the viewport preview…

And wondering why studios are more invested in something like path guiding than light liking

3 Likes

Fair enough, if I were trying to please the pixel peeping CG nerds, I might care more. Photorealism isn’t always the goal.

I’m just trying to please my clients, most of whom don’t even know what caustics are.

Nobody complained that I had filter glossy cranked up to 1.0 on this one:

In my work, these images are a means to an end, not the end themselves. The real table we actually built has the caustics just perfect.

YMMV

Sorry for OT, I think path guiding is cool and it would have saved me tens of seconds of render times for that project.

3 Likes

If it’ll be landing in Master soon, it will probably not have GPU support yet, which makes it less useful. I hope GPU Path Guiding will be possible soon. As I understand, it’s a matter of OpenPGL supporting GPU.

I also hope the Principled V2 shader will be actively developed soon again, and land in Master.

A professional 3d artist is either cheating reality constantly or they’re a junior.

5 Likes

This. Also, i would pick bulletproof ability to handle complex and big (and very complex) scenes over path guiding and manifold something anyday. Bad caustics is never a showstopper, “CUDA error: Out of memory” is.

3 Likes

I’m sorry man, I didn’t want to sound so accusatory. There’s no harm done after all. I feel that’s sometimes a bit of an artifical hype is all. But it’s cool. And it’s true that path guiding is pretty big.

1 Like