Path Guiding in Blender 3.4, Better Caustics and Less Noise.

แชร์
ฝัง
  • เผยแพร่เมื่อ 9 ธ.ค. 2022
  • Path Guiding is based on a framework technology developed by Intel called OpenPGL. In this video I explain this technology in the recently released Blender 3.4.
    NOTE: Blender 4.0 has updates to path guiding and I show that in this video: • Exciting Render Update...
    #pathguiding #blender3d #blender3.4 #architecture #caustics #cycles #blendertutorial
  • ภาพยนตร์และแอนิเมชัน

ความคิดเห็น • 86

  • @world_production
    @world_production ปีที่แล้ว +5

    This is incredible, it’s like rendering with completely different lighting 🤩 Thank you 👏

  • @ObscureHedgehog
    @ObscureHedgehog ปีที่แล้ว +1

    God I love this channel! So much in-depth info 🔥🔥🔥

  • @tcheadriano
    @tcheadriano ปีที่แล้ว +1

    I usually have to disable the shadows from glassy objects. Really great news! Thank you for the examples!

  • @Intercepto
    @Intercepto ปีที่แล้ว +2

    Great demo, really nice feature make images look so much better in some situations.

  • @matchdance
    @matchdance ปีที่แล้ว

    I did render a clock animation for a project and I was always wondering what went wrong with the glass and the light sample. Thank you for the explanation! Blender is getting better and better!

  • @designfreedom3651
    @designfreedom3651 ปีที่แล้ว +1

    Thank you very much for wonderful review and great examples!

  • @ZylonFPV
    @ZylonFPV ปีที่แล้ว +1

    Excellent video man! Exciting feature, really hope it gets the full gpu acceleration soon

  • @robertYoutub
    @robertYoutub ปีที่แล้ว

    Perfect video for a exciting technology that is otherwise not easy to understand

  • @Vospi
    @Vospi ปีที่แล้ว

    Thanks for a ton of demos.

  • @AMR2442
    @AMR2442 ปีที่แล้ว

    Wow. Just wow.

  • @eslamelmashhady4135
    @eslamelmashhady4135 ปีที่แล้ว

    very good examples

  • @heckensteiner4713
    @heckensteiner4713 9 หลายเดือนก่อน +1

    I didn't even know about this until I stumbled across your video! I'm surprised people aren't shouting this from the rooftops! I guess because most use GPUs, but I had an animated scene that refused to render after 10 frames on my 3080 ti. So I tried pathguiding at only 128 samples and all 200 frames fonished without a hitch. It looked about as good as the 400 sample GPU renders too and only took a liitle bit longer per frame. It will be insane if this ever gets added to GPU rendering!

    • @christopher3d475
      @christopher3d475  9 หลายเดือนก่อน +2

      Yes. And watch my video on render improvements in the upcoming 4.0 because they've improved the path guiding function to include glossy reflections.

  • @dimitrilalushi4693
    @dimitrilalushi4693 ปีที่แล้ว

    Very informative. Thanks!

  • @rufatahmadeus1801
    @rufatahmadeus1801 ปีที่แล้ว

    great explanation and great examples

  • @yacineo86
    @yacineo86 ปีที่แล้ว

    Thank u so much for sharing so intersting .

  • @jascrandom9855
    @jascrandom9855 ปีที่แล้ว

    These all look so photoreal!

  • @Igoreshkin
    @Igoreshkin ปีที่แล้ว

    Very good explanation. Thank you.

  • @CsokaErno
    @CsokaErno ปีที่แล้ว

    You changed my whole workflow, the way I work, render and pay money for a computer hardware. This is a revolution for me. I give you a golden "thank you", big like Eiffel. Please multiply it with 100 :)
    What will I do with my grapich card? :D :D :D I don't need it anymore. The only disadvantage that it is slow, although I have a i7-13000k processor.

    • @christopher3d475
      @christopher3d475  ปีที่แล้ว

      I'm pretty sure Path Guiding will be coded to work on the GPU sooner rather than later. It's just a bit of a waiting game for that to happen.

  • @Hinge45
    @Hinge45 ปีที่แล้ว +2

    can't wait for it to come to gpu

  • @maxmaxed2887
    @maxmaxed2887 ปีที่แล้ว +2

    This is a must for Archviz. Without it Blender renders simply can't compete with any of your average Archviz software

    • @christopher3d475
      @christopher3d475  ปีที่แล้ว +1

      Agreed. Once they get this GPU enabled it'll totally rock.

  • @pixelkay2004
    @pixelkay2004 ปีที่แล้ว

    thanks!!

  • @TheFrogChannel
    @TheFrogChannel ปีที่แล้ว +4

    Excellent video, Chris! It's great to see another video from you.
    At around 7:21, you mention that path guiding allows us to crank up the value of indirect clamping. As fireflies in renders can show what the path guiding algorithms are looking for, would setting indirect clamping to 0 help make path guiding more effective? Thanks!

    • @christopher3d475
      @christopher3d475  ปีที่แล้ว +3

      I've still found that some clamping helps reduce really tough fireflies, you can just set it higher now.

  • @Looki2000
    @Looki2000 ปีที่แล้ว +1

    You can also disable caustics and make material that makes glass transparent for indirect rays to preserve reflections and strong, direct light without path guiding, but light will fly straight through the glass instead of refracting through it.

    • @christopher3d475
      @christopher3d475  ปีที่แล้ว +1

      Yep, but what's great about this new path guiding mechanism is it moves us closer towards not have to create workaround and hacks.

  • @Lucas72928
    @Lucas72928 10 หลายเดือนก่อน

    Is the "importance map" preserved if I re-do a render or even for animations where scene geometry is static?

  • @ZylonFPV
    @ZylonFPV ปีที่แล้ว

    How do you get refractive caustics? I thought that blender removed that feature and we only have shadow caustics now

  • @lageopedal5126
    @lageopedal5126 ปีที่แล้ว +1

    thanks a lot! Interesting in-depth explainervideo. Could you please describe in few words or add a screenshot of the shading network of the architecturalglass of the bathroomscene?

    • @christopher3d475
      @christopher3d475  ปีที่แล้ว +2

      There's nothing special about the architectural glass, it's just a polygon with a Solidify modifer applied, .25" thickness, and then standard glass material. Meaning the Principled shader with transmission set to 100% and refraction set to 1.52. nothing special, no hacks.

    • @lageopedal5126
      @lageopedal5126 ปีที่แล้ว

      @@christopher3d475 thanks a lot

  • @kes099
    @kes099 ปีที่แล้ว

    Wonderful! I have been getting used to setting up glass/water shaders by mixing a glass bsdf with a transparent bsdf driven by the Is Camera Ray property in order to let more light in (eg. I found this essential for the cornea so that the iris behind it is not just a murky blob looking like the eye of a dead fish). I am hoping that this new path guiding feature will allow a more straightforward approach of just setting a single glass shader (or principled shader with transmission on) with appropriate IOR and forgetting about it.
    I wonder if you have tried it with liquids. Also have you tried it with volume absorption, eg. a large window with subtle green absorption - does the green light enter the scene well?

    • @christopher3d475
      @christopher3d475  ปีที่แล้ว +1

      Yes I agree, all of these new rendering technologies are about less hacks. I'm working on a tutorial right now about the new Many Lights Sampling in 3.5 which works in hand with Path Guiding. I believe Cycles is moving in the direction of requiring less hacks for glass. The developers are aware of some of these problems. One with glass in particular is called nested dialectrics, something I hope gets solved sooner rather than later.
      Path Guiding does have a limitation with lots of traversals through multiple transparent refractive interfaces. Hopefully that'll get solved with time. But adding an absorption volume to a glass I do believe does get taken into account with path guiding.

    • @kes099
      @kes099 ปีที่แล้ว

      Another tutorial I can't wait to see! Thank you so much for your contribution to the Blender community

  • @capricalee
    @capricalee ปีที่แล้ว

    I turned on Path Guiding to test my outdoor(my scene was using psa add-on and with huge plane with bump map for water shader) scene and it became super slow, don't know which one make it slow. After turn on path guiding my scene slower than before almost triple.

    • @christopher3d475
      @christopher3d475  ปีที่แล้ว

      The 128 training rays at the beginning can be slower and it will also depend on the complexity of your scene. It may be that PG doesn't give you benefit over the standard sampler using GPU so continue using it.

  • @spastor92
    @spastor92 ปีที่แล้ว

    for glass y use a transparent material mixed with a glossy material blended with the fresnel node and using the camera ray node i can tell the material to not affect to the shadows so i have window reflection and 100% light passing through

    • @christopher3d475
      @christopher3d475  ปีที่แล้ว

      Yes, but that's a non-intuitive hack. The point of path guiding is not have to invoke things like that.

    • @spastor92
      @spastor92 ปีที่แล้ว

      @@christopher3d475 for windows make sense, you only made the material once, this is more efficient, and the result is almost the same. Also you can render in GPU. Bit this not work for caustic obviously, only windows

    • @christopher3d475
      @christopher3d475  ปีที่แล้ว

      @@spastor92 There's still a place for this workaround at the moment. Path guiding only works on diffuse surfaces, so any glossy-only surface will still need something like this to receive an indirect light efficiently. But they're moving in the right direction. Once they implement PG for glossy, combined with GPU support, and in combination with the upcoming revamped Principled V2 shader, the need to do workaround will be a thing of the past.

  • @BrentonWoods774
    @BrentonWoods774 ปีที่แล้ว +1

    Excellent video, Christopher. So Path Guiding appears to be CPU-only, do you know why that is? Also why can't we hybrid render: use CPU for path guiding and GPU for everything else?

    • @christopher3d475
      @christopher3d475  ปีที่แล้ว +5

      Yes, it's new technology that's been developed by Intel, it's based on their implementation called OpenPGL which is a composite of various academic approaches that have been developed over the years. An Intel software engineer has been working with the Blender dev team to integrate it and this first implementation of OpenPGL doesn't yet support GPU. It's planned but it just hasn't happened yet.

    • @BrentonWoods774
      @BrentonWoods774 ปีที่แล้ว +1

      @@christopher3d475 Thanks for your answer! I'm excited for Path Guiding on GPU.

  • @northwind6199
    @northwind6199 ปีที่แล้ว +5

    This is amazing, I've been waiting for it for such a long time! I have 2 questions:
    1. If we want to see dispersion caustics, do we have to build a dispersion shader? Would that work properly with this new feature and create colorful caustics?
    2. When you say "the receiving surface has to have a diffuse component", basically it just needs to not be entirely reflective or refractive, correct?

    • @christopher3d475
      @christopher3d475  ปีที่แล้ว +3

      They still don't do dispersion although there's been discussion about it on the developer forum. I haven't tried building a dispersion type node setup and see what it does. The diffuse component in the principled shader is the 'Base Color'. As long as the material as the base color it can be affected by path guiding.

    • @maxmaxed2887
      @maxmaxed2887 ปีที่แล้ว

      If you want proper dispersion and caustics, just get a Realistic Glass Shader off Blendermarket. It works perfectly and you don't even need native Blender Caustics enabled. It's also much faster than Blender caustics, even new one. In fact new caustics is still bugged and simply can't render two refracting objects inside of each other properly. That shader does all of it.

    • @christopher3d475
      @christopher3d475  ปีที่แล้ว +1

      @@maxmaxed2887 Yes, OpenPGL is a fairly new system, Intel only lists it as version 0.4. But I suspect it'll evolved fairly quickly considering their Embree libraries have continuously evolved and improved over the past decade. But thanks for the tip, I'll give the realistic shader a try.

    • @maxmaxed2887
      @maxmaxed2887 ปีที่แล้ว

      @@christopher3d475 Frankly I would be screwed without that shader lol. I do a lot of bottle/alcohol/drink renderings for a major company and that's the only way I get realistic caustics/dispersion.

    • @exploringrvdude7817
      @exploringrvdude7817 ปีที่แล้ว +1

      @@maxmaxed2887 Blender also doesn't do nested dialectrics properly, but that's something that's been discussed in the developer forums for Cycles. I'm not sure if it's slated to be fixed in 3.5, but they're aware of the problem.

  • @egorfateyev8356
    @egorfateyev8356 ปีที่แล้ว

    Hi, Christopher! Where can i see the material of the diamonds?

    • @christopher3d475
      @christopher3d475  ปีที่แล้ว +1

      It's just a Principled shader, transmission set to 100 and the transmission IOR is 2.41. I also turned up the reflection recursions.

    • @egorfateyev8356
      @egorfateyev8356 ปีที่แล้ว

      @@christopher3d475 ok ,thank you!

  • @ColleteralProject
    @ColleteralProject ปีที่แล้ว +1

    That means we dont need a fake Glass shader anymore and can use the Basic glass shader in Blender? If i'm right, this will be awesome...

    • @christopher3d475
      @christopher3d475  ปีที่แล้ว +1

      Yes, this is one of the main improvements here, less of a need to hack things.

    • @ColleteralProject
      @ColleteralProject ปีที่แล้ว +1

      Hope they will bring GPU support very soon. 👍

  • @Andy_Shust
    @Andy_Shust ปีที่แล้ว

    So should you only enable PG for caustics, or is it useful if there are no caustic objects or materials in the scene?
    Thanks for the super informative video!

    • @christopher3d475
      @christopher3d475  ปีที่แล้ว

      It improves noise convergence generally. However since it's not yet GPU enabled you may still get faster convergence using standard sampling. So it depends on what you want to render.

    • @mnomadvfx
      @mnomadvfx ปีที่แล้ว

      @@christopher3d475 Given Intel just released their frst GPU enabled Embree version (v4) I don't think it will be too long before we see GPU capabilities in this library.

    • @christopher3d475
      @christopher3d475  ปีที่แล้ว +1

      @@mnomadvfx That's fascinating, I didn't realize they had done that. But it make sense. I just hope it's sooner rather than later. The OpenPGL framework is not yet at 1.0 (I think it's 0.45) so maybe it'll get GPU enabled by a 1.0 release.

    • @mnomadvfx
      @mnomadvfx ปีที่แล้ว

      @@christopher3d475 I've been following path guiding research for a few years so it's good that Intel made it easier to get this working in renderers - though it's been in production use as early as the VFX work for 2019's Alita: Battle Angel release.
      An interesting fact is that the concept of path guiding in ray tracing was based on research into simulating neutron paths / distribution in nuclear reactors from what I've read in academic papers.

    • @christopher3d475
      @christopher3d475  ปีที่แล้ว +1

      @@mnomadvfx There's a video done at the recent Blender conference done by the Intel engineer tasked with implementing OpenPGL into Cycles, it was quite interesting. He does mention that GPU is on their radar. Maxwell Render uses a more sophisticated mechanism akin to path guiding called Metropolis Light Transport, and it took them quite some time to get that up and running on GPU, so i wonder if there are some kind of technical hurdles they're working to overcome.

  • @eclairesrhapsodos5496
    @eclairesrhapsodos5496 ปีที่แล้ว

    I just disable shadow and diffuse, glossy light pass in windows objects.

    • @christopher3d475
      @christopher3d475  ปีที่แล้ว

      That's one way of doing things, but as path guiding's implementation matures in Blender we won't have to revert to hacks or things like this which is nice.

  • @pietroalessandrini
    @pietroalessandrini ปีที่แล้ว

    The problem of path guiding on the cpu is that my gpu can, for example, render a scene with 64.000 samples in 44 minutes. It's a lot of time and a lot of samples. Now if I let my cou render with path guiding for 44 minutes it will still give me a worse result than my gpu because in those 44 minutes it will have rendered much much less samples and so even with the smart sampling technique of oath guiding it is gonna give me worse results

    • @christopher3d475
      @christopher3d475  ปีที่แล้ว

      Well, like I mentioned in the video several places, GPU is planned and to consider this a kind of technology preview. This is based on Intel's OpenPGL framework API which is at its first release, and is part of their OneAPI. From their website it says, "Intel Open PGL is optimized for different CPU platforms, including Intel® processors with SSE, Intel® AVX-2, and Intel® AVX-512. The library also works on x86 compatible processors, support for ARM and Apple’s M1 CPUs are coming soon. Support for upcoming Intel Xe architecture GPUs and industry-standard GPUs are planned in the future."

  • @peihengzhang5647
    @peihengzhang5647 ปีที่แล้ว

    Is this available for the GPU yet

  • @sebbosebbo9794
    @sebbosebbo9794 ปีที่แล้ว

    god hope Gpu comes fast..
    what is with combing CPU + GPU

    • @christopher3d475
      @christopher3d475  ปีที่แล้ว

      I very much agree. I suspect this will become the default sampling method once that happens. You can watch the developer tasked with integrating PG into Blender here. th-cam.com/video/BS1JLbNqGxI/w-d-xo.html

  • @Darksoda-15
    @Darksoda-15 ปีที่แล้ว

    Is this the same as Photon mapping?

    • @christopher3d475
      @christopher3d475  ปีที่แล้ว +1

      No, photon mapping is a bi-directional ray casting mechanism that Blender doesn't use. The Shadow Caustics mechanism is a different kind of mechanism altogether. And the kind of caustics Blender produces with normal ray tracing is just part of the unidirectional path tracing system.

    • @christopher3d475
      @christopher3d475  ปีที่แล้ว +1

      Oh, and just for clarity, photon mapping is a process where 'photon' rays are cast from a light source into the scene at surfaces that have characteristics that would produce caustics (reflective or transparent surfaces). That's why it's called bi-directional, because most of the raytracing system is a backwards process, but photon mapping starts out at the light sources and casts rays into the scene which is the opposite of what normally happens, where rays are cast from the camera and traced back to light sources. Path Guiding makes this process more intelligent.

  • @kingdomsaa
    @kingdomsaa ปีที่แล้ว

    there is too many bugs in this version 3.4 cpu is usage 100% and don't switch to gpu 11700k 3060ti and i'm back to 3.3 when they fix it

    • @christopher3d475
      @christopher3d475  ปีที่แล้ว

      Yeah I noticed 3.4 seems to crash a lot. I bet they push out a 3.4.1 update fairly quickly.

  • @Optimus97
    @Optimus97 ปีที่แล้ว

    Now it feels like I should've saved up for a Threadripper instead of an RTX GPU. 😵‍💫

    • @christopher3d475
      @christopher3d475  ปีที่แล้ว

      I'm pretty sure we'll end up with it being GPU enabled sooner rather later, just guessing.

    • @Optimus97
      @Optimus97 ปีที่แล้ว +1

      @@christopher3d475 sure hope so

    • @Optimus97
      @Optimus97 ปีที่แล้ว

      @@christopher3d475 I mean, some of Cycles features (like volumetrics) used to be CPU-only for some time and got GPU treatment later

    • @christopher3d475
      @christopher3d475  ปีที่แล้ว

      @@Optimus97 If you follow the developer forums, there's increasing support for various GPU core technologies and manufacturers, AMD, NVIDIA and now INTEL gpu's, in addition to their various frameworks. So I'm guessing this'll happen sooner rather than later.

    • @Optimus97
      @Optimus97 ปีที่แล้ว

      @@christopher3d475 nice!!

  • @D-K-C
    @D-K-C ปีที่แล้ว

    Ъ.

  • @azarelthecreator7098
    @azarelthecreator7098 5 หลายเดือนก่อน

    No thanks, relying on the cpu is going to leave you with the longest render times imaginable.

    • @christopher3d475
      @christopher3d475  5 หลายเดือนก่อน

      The Intel libraries of PG are only at 0.5. I'm sure they'll get converted to GPU soon enough.