Exploring a New Approach to Realistic Lighting: Radiance Cascades

Поділитися
Вставка
  • Опубліковано 9 січ 2025

КОМЕНТАРІ • 475

  • @simondev758
    @simondev758  6 місяців тому +91

    Some additional links from the video. Also, working discord link:
    Discord: graphics-programming.org/
    RC Experimental Testbed: www.shadertoy.com/view/4ctXD8

    • @Monkeymario.
      @Monkeymario. 6 місяців тому +2

      why do i only see this comment on mobile but not pc

    • @Monkeymario.
      @Monkeymario. 6 місяців тому +1

      nvm i see it now on pc

    • @Monkeymario.
      @Monkeymario. 6 місяців тому +1

      oh also does ROBLOX use radiance cascading (probably not)

    • @aladdin8623
      @aladdin8623 6 місяців тому

      Some critical voices say that radiance cascades work in 2D, but were a non starter in 3D. Is this true?

    • @NXTangl
      @NXTangl 5 місяців тому

      This feels like it's related to wavelet transforms. Like, DCT:Wavelet Transform::Spherical Harmonic Lighting:Radiance Cascade.
      I don't see why it wouldn't work in 3d using cubemaps.

  •  6 місяців тому +1680

    I never thought I'd see Radiance Cascades, let alone create one!

    • @KarimInordinate
      @KarimInordinate 6 місяців тому +303

      Now now, Simon doesn't need to hear all this. He's a highly trained professional. We've assured the PoE2 team NOTHING will go wrong.

    • @RingingResonance
      @RingingResonance 6 місяців тому +89

      Alright. Let's let him in.

    • @Bloom_HD
      @Bloom_HD 6 місяців тому +114

      We've just been informed that the lightbulb is ready, Simon. It should be coming up to you at any moment

    • @Takyodor2
      @Takyodor2 6 місяців тому +47

      _panics in scientist_

    • @Mad3011
      @Mad3011 6 місяців тому +88

      If you would be so good as to climb up and start the compilers. We can bring the Global Illumination Spectrometer to eighty fps and hold it there until the release date arrives.

  • @AlexPechenka
    @AlexPechenka 6 місяців тому +490

    Gordon doesn't need to hear all this, he's a highly trained professional!

    • @techpriest4787
      @techpriest4787 6 місяців тому +5

      Make Half-Life great again.

    • @autobr_
      @autobr_ 6 місяців тому +1

      half life 3‼️‼️‼️

    • @Monkeymario.
      @Monkeymario. 6 місяців тому +1

      what

    • @Monkeymario.
      @Monkeymario. 6 місяців тому +1

      i dont understand

    • @cubeoi
      @cubeoi 6 місяців тому +6

      @@Monkeymario. resonance cascade, half life reference

  • @radspiderjackson
    @radspiderjackson 6 місяців тому +182

    That one statement @ 2:08 is precisely why I love this channel. Although i cant deny how much i need the maths in my life

    • @T55sArt
      @T55sArt 6 місяців тому +4

      frrrr tho, math so unreadable

    • @djmips
      @djmips 4 місяці тому

      Programming is a form of math

  • @MaDmanEXE
    @MaDmanEXE 6 місяців тому +805

    So this approach, but for audio, would be called a "resonance cascade"?

    • @Blockbuster2033
      @Blockbuster2033 6 місяців тому +67

      Isn't that what happened in Half-Life?

    • @xXUnhingedDevXx
      @xXUnhingedDevXx 6 місяців тому +181

      Gordon doesn't need to hear all this, he's a highly trained professional

    • @peteruelimaa4973
      @peteruelimaa4973 6 місяців тому +61

      Prepare for unforseen consequences.

    • @fonesrphunny7242
      @fonesrphunny7242 6 місяців тому +25

      As someone doing audio stuff, I can't imagine why you'd ever want a resonance cascade anywhere.

    • @JacobSmith-ts2gq
      @JacobSmith-ts2gq 6 місяців тому +32

      @@fonesrphunny7242 if implemented properly it might be able to be used as a spatial acceleration structure for spatial audio, example: ua-cam.com/video/M3W7m0QSX-8/v-deo.html though I'm not sure if it would be better quality or more perfomant than existing techniques.

  • @Alexander_Sannikov
    @Alexander_Sannikov 6 місяців тому +581

    I knew those PoE2 devs were up to something!

    • @qwfp
      @qwfp 6 місяців тому +17

      Yeah, they are a talented bunch!

    • @HuzMS
      @HuzMS 6 місяців тому +1

      Great work.

    • @PileOPoop1
      @PileOPoop1 6 місяців тому +46

      It's him! He's the PoE2 dev!

    • @F1NEk
      @F1NEk 6 місяців тому +15

      The man, the MYTH, THE LEGEND

    • @simondev758
      @simondev758  6 місяців тому +63

      They're smart cookies, definitely :)

  • @kevincrinklaw7422
    @kevincrinklaw7422 6 місяців тому +34

    We're in this weird place where I don't want to work enough that I will sit through a college level dissertation on lighting simulation. LoL
    Great Video!!!

  • @rrrfrdd4497
    @rrrfrdd4497 6 місяців тому +264

    The Penumbra Condition sounds like a nice title for a game

    • @CyborusYT
      @CyborusYT 6 місяців тому +9

      if deltarune was made by sony

    • @YainVieyra
      @YainVieyra 5 місяців тому +2

      There's the Penumbra Collection

    • @adamrushford
      @adamrushford 5 місяців тому +3

      The Penumbra Collection includes Penumbra Overture, Black Plague, and the expansion Requiem.
      A thrilling blend of puzzles with multiple solutions and horror that will have you screaming for more!
      Full freedom of movement along with the ability to manipulate everything using natural gestures creates an immersive world.

    • @subzerocatalyst
      @subzerocatalyst 5 місяців тому +1

      penumbra mentioned 👹👹👹👹👹👹👹👹👹👹👹

  • @DrunkGeko
    @DrunkGeko 6 місяців тому +71

    Ever since Exilecon i've been waiting for someone to do a nice video breakdown of Radiance Cascades. I can see it becoming a mainstream technique in the upcoming years, so much potential

    • @satibel
      @satibel 6 місяців тому +11

      yeah the main limitation is that it's screen space so doesn't care about lights outside of the screen (mostly behind the camera is an issue, you can fairly trivially have cascades computed at ~1.5x1.5 resolution, i.e 25% extra space all around. and cropped down.).
      so it doesn't work well as is for first or behind the shoulder third person. (you can use world space probes but that's a bit more complex and not a neat constant time like SSRC)
      but there's also a lot of games that are 2d or pseudo-2d where this would work really well (e.g. league of legends/dota, or side scrollers like hollow knight, city builders would also benefit greatly as you could have individual home lights for free ).

    • @DreadKyller
      @DreadKyller 4 місяці тому +4

      @@satibel The effect is not tied to screenspace, you could do it screenspace, but it's usable with any grid of data. If you have a 3D grid of light probes in your world, you can use this. Have probes with 8 directions checked over a small area and place them every meter for example. Then every 2x2 meter in worldspace make probes that scan 64 directions further out. and so forth. Update these probes periodically, and importantly you really only need to update probes close to the player at any regular rates, and you don't need to have probes at infinite distance, you could center a 32x32x32 grid of probes around the player for example and update the probe positions as the player moves.

    • @kitsune0689
      @kitsune0689 2 місяці тому +2

      ​@@DreadKyller how would the performance compare to screenspace ?

    • @thuonglongtrananh8509
      @thuonglongtrananh8509 14 днів тому +1

      @@kitsune0689 Depend, it all comes down to the amount of data you need to calculate, in other words, how you setup your grid. In 2D it should be smaller since you cannot (should not, I guess?) go higher resolution than the pixel resolution. In 3D sure you have to make it in 3D grid and not being tied to screen space, so there is no way to compare to screen space.

  • @coreC..
    @coreC.. 6 місяців тому +64

    It all makes so much sense when you explain and show it to us.
    Without your video, i would get lost in "paper" articles with just a few images. Scrolling through equations and getting familiar with new terms.
    Thanks for another great video SimonDev. 👍

    • @simondev758
      @simondev758  6 місяців тому +13

      Papers are always hard to read (for me).

    • @satibel
      @satibel 6 місяців тому +5

      @@simondev758 reminds me of the meme "I hate how research papers are written, so much yapping, just get to the point bro."

  • @SuboptimalEng
    @SuboptimalEng 6 місяців тому +291

    What’s next, Radiance Cascading Style Sheets?!

    • @simondev758
      @simondev758  6 місяців тому +97

      Quick, contact the Chrome devs!

    • @dantesp7557
      @dantesp7557 6 місяців тому +5

      LMAO XD

    • @plaintext7288
      @plaintext7288 6 місяців тому +13

      A wild CSS framework has appeared!

    • @LimitedWard
      @LimitedWard 6 місяців тому +7

      10x web developers: hey folks, here's my implementation of Radiance Cascades, written entirely in HTML+CSS!

    • @_GhostMiner
      @_GhostMiner 5 місяців тому

      NO! No God please no. No!
      Nooooooooo!

  • @andreanderson626
    @andreanderson626 6 місяців тому +16

    I always know you're going to make me understand something new in the way that I need it to understand it. I think we speak the same exact language; like a mixture of nothing-is-new-just-another-rehashed-version-of-the-same-stuff-we-already-did, and developer-that-wants-his-code-to-run-as-fast-as-possible. Thank you. Every time. Thank you for speaking my language.

  • @Definitely_a_Fox
    @Definitely_a_Fox 6 місяців тому +41

    Looking through the comments, and I'm glad that I'm not the only one who thought the title said "Resonance Cascade"

  • @mxcop
    @mxcop 6 місяців тому +36

    Nice animations, and intuitive explanations, great video!
    And thanks for consulting & mentioning the community at the end :D

  • @JeanOJesus
    @JeanOJesus 6 місяців тому +20

    This channel is a gold mine. Thank you.

  • @theftking
    @theftking 6 місяців тому +119

    "Most of us are programmers, not math people." -> that's a great quote.

    • @bunnybreaker
      @bunnybreaker 6 місяців тому +23

      Exactly. I program so the computer can do the maths I don't understand 😅

    • @DarkFox2232
      @DarkFox2232 5 місяців тому +2

      I became mathematician at age of 6. Then I became programmer at age of 8.
      And at age of 10, I did learn that I was already programmer & mathematician at age of 4, as I fully grasped mathematical concept of "Propositional Logic".
      Every mathematician is programmer. Many just do not know any computer programming languages. And every programmer is expert mathematician in field of logic.

    • @chris-hayes
      @chris-hayes 5 місяців тому

      As a dev who took 3 tries to pass Calculus I, I agree with this statement.

  • @JA-in3hw
    @JA-in3hw 12 днів тому

    That was well explained. It made reading the paper on it so much simpler. Things are always easier with a clear picture and an overview to start. Thanks for putting out a concise explainer.

  • @Visuwyg
    @Visuwyg 5 місяців тому +11

    This video went from super simple to utterly incomprehensible in a span of seconds! I'm having whiplash! 😂

    • @simondev758
      @simondev758  5 місяців тому

      Hah

    • @NotAnInterestingPerson
      @NotAnInterestingPerson 5 місяців тому +2

      In all likelihood the issue here is that the verbal and symbolic explanations are "high frequency" while the animated visual explanations are "low frequency". There were many times in the video where I was waiting for more detailed animations, which never came.
      The predominant example was the rendering equation, which could have been more fully elucidated by continued animations of each term (and possibly subterm) in the equation, but my critique extends to the rest of the video, where the animations were solid but stopped short of fully explaining what was being said and shown symbolically.

    • @PotionShop
      @PotionShop 4 місяці тому +1

      @@NotAnInterestingPerson this comment is big brain lol

  • @Snowdrama
    @Snowdrama 6 місяців тому +10

    So what it's sounding like is multiple resolutions of like real time light probes? You create a fixed grid of probes, and then occasionally precompute the incoming light from different directions for each point, and then when determining the light of any point, you interpolate the light between the points, for each "cascade" of light and then combine them together? At least that's what I'm gathering. This way for each point you're only computing the light from the nearest few cascade points not the whole scene

    • @Alexander_Sannikov
      @Alexander_Sannikov 6 місяців тому +25

      the most important point is that probes don't store radiance (rays that start at the probe), they store radiance intervals (rays that start at a certain distance away from the probe and connect into a continuous ray).

  • @stratos2
    @stratos2 6 місяців тому +32

    Such an intuitive explanation of a super cool rendering method. Awesome work! The only thing I would have loved to see more detail is the actual implementation, especially: How does a point on the screen actually get it's value? A raycast I assume? how does the raycast avoid having to loop over every light source in the image to find a collision? Also, is your explanation only valid in 2d, would it map into 3d by projecting all the points onto the nearest surface, or would it need a 3d matrix of points everywhere? Some of this could have perhaps been clarified by a brief section detailing where this method can be used and where it can not be used as presented. Other than these nitpicks / curious questions though, excellent intuitive explanation!

    • @Alexander_Sannikov
      @Alexander_Sannikov 6 місяців тому +24

      RC is compatible with any technique of casting rays: SDF raymarching, voxel tracing, etc. Even RTX, I guess. PoE2 uses just a constant step per-pixel screenspace raymarching. As for 3d, I suggest you read the paper, because there's a lot of nuances: you can make full-on 3d grid of radiance probes, 2.5d screenspace probes with screenspace intervals, 2.5d screenspace probes with world intervals, etc.

    • @NotAnInterestingPerson
      @NotAnInterestingPerson 5 місяців тому +2

      Keep in mind that (as @Alexander_Sannikov mentioned in his presentations) the screenspace techniques work well for PoE(2) due to the PoV limitations of the game... something that is undoubtedly familiar to players of the genre and PoE specifically but which may be lost on other folks. IMO the expansion of this technique beyond PoE's rendering purview is the next major area of research for Radiance Cascades.

  • @0x5DA
    @0x5DA 4 місяці тому

    this is such a well put-together explanation. you convey a difficult concept from ground 0 to implementation really smoothly and i understand more than i'd expect. hats off.

  • @andreanderson626
    @andreanderson626 6 місяців тому +3

    Thanks!

  • @codesafariDev
    @codesafariDev 6 місяців тому +9

    Crazy good idea and so simple in a way.

    • @Alexander_Sannikov
      @Alexander_Sannikov 6 місяців тому +15

      I really doubted if I should write the paper because of how obvious it seemed.

  • @iestynne
    @iestynne 6 місяців тому +1

    Thanks for helping give this awesome paper wider visibility! It's a fantastic insight.

  • @cynth4941
    @cynth4941 6 місяців тому +27

    13:18 Is it really live on your website? I don't see it, only Grass, Cloud, FPS Game and Minecraft projects.

    • @simondev758
      @simondev758  6 місяців тому +10

      Yeah some people seem to be getting older versions, let me know if it's still not showing up.

    • @oscarelenius4801
      @oscarelenius4801 6 місяців тому +3

      @@simondev758 didnt show up a minute ago but now it works, feels laggy but impressive either way

    • @simondev758
      @simondev758  6 місяців тому +5

      @@oscarelenius4801 Yeah, it's a stock implementation, with no optimizations whatsoever heh.

    • @penguino118
      @penguino118 6 місяців тому

      ​@@simondev758Might be a caching issue? Reloading with ctrl + f5 might work

  • @ali32bit42
    @ali32bit42 6 місяців тому +19

    lets hope to see this implemented in some open source engines. and especially blender. this could be really good tech to at least preview renders.

    • @TristanCleveland
      @TristanCleveland 5 місяців тому

      Do you think it could be used in full production games? (Not a programmer. Just curious about the technology.

    • @ali32bit42
      @ali32bit42 5 місяців тому +10

      @@TristanCleveland it already has. it was specifically invented for a game you see in the intro

  • @gamerxxx9390
    @gamerxxx9390 5 місяців тому

    This is such a great source of information, it explains Radiance Cascades so much better than other videos and papers, I finally managed to understand it! Thank you so much!

  • @skille.t
    @skille.t 5 місяців тому +10

    A radiance cascade? At this time of year, at this time of day, on this side of the border world, localized entirely within our facility?

  • @YippeePlopFork
    @YippeePlopFork 6 місяців тому +20

    Okay…I’m on my fourth watch of this and I can feel myself *slowwwwwly* getting to grips with it, but even with a background in physics and maths (my degrees are in physics and electronic engineering) and a long career as a systems architect, I’ll be honest: I’m struggling.
    It’s a testament both to the PoE developers for the original idea and to Simon (who I follow) that this is penetrating my thick skull at all. Definitely not for the faint of heart but it’s worth watching over and over until it clicks because the end result is fucking gorgeous. Thanks Simon (aka Bob from Bobs Burgers) ❤️

  • @eksleja
    @eksleja 6 місяців тому +22

    Seeing you refrence Aleksander Sannikovs paper is not something I was expecting :O

    • @NotAnInterestingPerson
      @NotAnInterestingPerson 5 місяців тому +3

      I read the paper months ago and got the basic gist but made a mental note to revisit it for better understanding. This DEFINITELY jogged my memory. Bravo to @SimonDev for exposing this wonderful research to a broader audience.

  • @disk0__
    @disk0__ 6 місяців тому +89

    But Simrola,

    • @Monkeymario.
      @Monkeymario. 6 місяців тому +12

      what about the ring and ray artifacts?

  • @Mikee512
    @Mikee512 6 місяців тому +39

    Lowkey wanna suggest that the term that comes after "umbra, penumbra" should be called "bruh."

  • @yds6268
    @yds6268 6 місяців тому +29

    Thanks you for linking the paper. For such complex topics I like to carefully read an article rather than just watch the video

  • @TimothySolomon
    @TimothySolomon 6 місяців тому +1

    This is the answer I was looking for. Thank you for this fracking awesome video. You sir are appreciated.

  • @MarcosRVNeves
    @MarcosRVNeves 6 місяців тому +2

    I started creating my own game engine to learn how it works behind the scenes, all because of your videos. But since I only know JavaScript, I felt intimidated by WebGL and did everything in context2D. Your video on spatial hash grids helped me a lot to create my own version with dynamic ranges instead of fixed arrays. Watching this video, I realized my improvised lighting system in 2D is pretty humble lol.

  • @JoeTheis
    @JoeTheis 6 місяців тому +5

    Great to see the crazy graphics devs at GGG getting some love!

  • @TheGenericCanadian
    @TheGenericCanadian 5 місяців тому +3

    This is one of those videos that I'm going to have to watch like 3 times over before this gets hammered into my thick skull

  • @greenredblue
    @greenredblue 6 місяців тому +5

    1:50 Saving a timestamp for the next time I have to explain the difference between math and programming.

  • @sagielevy
    @sagielevy 6 місяців тому +2

    This is really cool. Thanks for explaining it in an easy to understand manner!

  • @Manu-lc4ob
    @Manu-lc4ob 6 місяців тому

    You are such a great teacher. Starting by building the intuition then it all makes sense. Thanks for posting this

  • @photelegy
    @photelegy 5 місяців тому +2

    7:03
    I was the whole time distracted from the artefact on the left side.
    Is this a computational error?

  • @AHSEN.
    @AHSEN. 6 місяців тому +2

    Excellent video. The paper was a bit too complex for me to understand, but this video explained it very well. I’ll probably go make my own now…

  • @jestahjava4255
    @jestahjava4255 5 місяців тому +1

    No idea what I just watched but still fascinated how clever people are.

  • @JustVincentD
    @JustVincentD 5 місяців тому

    The quality of presentation and the in depth knowledge u are able to explain in simple terms is awesome. Please keep it up I love your content. I would also love to have something focused on physics like gjk/epa for collision and response stuff.

  • @-dafhatas-6519
    @-dafhatas-6519 6 місяців тому

    I love the fact that the explanations in this video are really easy to understand,great video!

  • @marcosfraguela
    @marcosfraguela 6 місяців тому +2

    I've really liked the demo! If you add the possibility to upload an image from wich generate the lights/shadows, and the posibility to change the backgound, you can sell it/launch it as a tool for graphic designers!

  • @boswell255
    @boswell255 5 місяців тому +1

    I never thought I needed a young H John Benjamin explaining lighting algorithms, yet here we are.

  • @GTGTRIK
    @GTGTRIK 6 місяців тому +20

    Great stuff. Although the project isn't in the projects list?

    • @Yilmaz4
      @Yilmaz4 6 місяців тому

      yeah i can't find it either

    • @simondev758
      @simondev758  6 місяців тому +3

      Should be there, if not, just go to my github.

    • @Bidule200
      @Bidule200 6 місяців тому

      @@simondev758 It's not there. The project is indeed on your Github but I can't get it working.

  • @LePtitPop
    @LePtitPop 6 місяців тому +1

    Thank you so much for sharing this knowledge! Super interesting video, as always

  • @cIappo896
    @cIappo896 2 місяці тому +1

    Honestly, PoE devs are brilliant. PoE1 has a lot of technical debt from what I recall, and there's a metric fuckton of things that are happening in the game; and the game still performs extremely well up to a certain point where you reach upper limits of 32 bit integers. And they do that with god knows how many thousands of entities active at any given time.

  • @BenjaminMastripolito
    @BenjaminMastripolito 6 місяців тому +1

    for those curious, cem yuksel has a series of graphics videos that are very easy to understand, including a really intuitive explanation of the rendering equation. he does things very visually

  • @xTobsecretx
    @xTobsecretx 5 місяців тому +2

    Oh cool, didn’t know the PoE devs published this method! Thanks for the breakdown!

  • @Viola-iu1ys
    @Viola-iu1ys 6 місяців тому

    thanks for the laughter and learning in every video!

  • @berghwilliam
    @berghwilliam 6 місяців тому +3

    Awesome video, thought it would be realistic lightning bolts which would also be interesting since I've looked into it a bit but can't find much usable information on it.

  • @tchlux
    @tchlux 6 місяців тому

    This is really beautiful! Well done.

  • @Zolbat
    @Zolbat 6 місяців тому +1

    Thanks so much for the website, it's so cool!

  • @cerilious
    @cerilious 6 місяців тому +1

    Amazing video. Thanks Simon.

  • @clivah1499
    @clivah1499 5 місяців тому +4

    Cascade: The JPEG of Light Render.
    I like it.

  • @dargorwarrior
    @dargorwarrior 5 місяців тому +4

    Alexander, The Great!

  • @nathanfranck5822
    @nathanfranck5822 6 місяців тому

    I love this lighting - definitely an inspiration towards trying new things - you never know what might work!

  • @mopishlynx2323
    @mopishlynx2323 5 місяців тому +1

    I'm wondering how this could extend to 3d. Maybe we do something similar but for points on a UV mapped surface? If you could do that, you could actually speed up ray tracing by a large margin, and allow a high degree of freedom for the hardware spec based on how many iterations you run. Something I may experiment with, but my main expertise is Blender shaders. Glsl and it's equivalents are new to me.

    • @tr1tion
      @tr1tion 4 місяці тому

      glsl syntax is really easy

  • @GroverAU
    @GroverAU 6 місяців тому +1

    Excellent presentation. Thank you!

  • @towaii
    @towaii 6 місяців тому +2

    oh man i'm so hype to have bob belcher explain new and exciting graphics techniques to me

  • @lemonjumpsofficial
    @lemonjumpsofficial 6 місяців тому +3

    Hmm, I think you could also use lower resolution cascades the further away you are from the camera, to save up on computation! :D
    I'm definitely going to try working with this!!!

  • @Skeffles
    @Skeffles 5 місяців тому

    Amazing explanation and it looks awesome on the website!

  • @xtc564
    @xtc564 6 місяців тому +1

    Could you do a video about different shadow techniques? From basic shadow mapping using hard coded projection params [like in directional shadows ortho(left: -10, right: 10, bottom: -10, top: 10, near: -10, far: 10)], through tight projection math, normal bias, texel size world space, etc. to CSM and VSM?

  • @Memeieli
    @Memeieli 4 місяці тому

    Love the video! It'd be really great if you could make a video covering the 3d version and some of the fixes of the artifacts this technique has.

  • @the_curious1
    @the_curious1 6 місяців тому +1

    Cool, reminds me of voxel cone tracing with 3D clipmaps. It also has the same issues: light leakage, not good at perfect reflections but hopefully the new technique scales better and uses less vram. I'll have to look at the paper once it's released in its final form.
    Edit: Btw. for 2D you can make cone tracing work quite well and fast for GI. I only implemented the 3D version 8 years ago. A little bit surprised that it was hardly adapted since it can work quite well in certain types of games.

    • @cube2fox
      @cube2fox 4 місяці тому

      I think voxel cone tracing was used in CryEngine but nowhere else.

  • @NicosLeben
    @NicosLeben 6 місяців тому +5

    The live demo seems not to be available on your homepage yet.

    • @simondev758
      @simondev758  6 місяців тому

      I think there's some caching issues, I'll try invalidating and hopefully you can access it.

  • @feyternerdworld
    @feyternerdworld 6 місяців тому

    I really liked the Visual approach of this but I'm honest I got lost at the chapter "What does this get us?" from 10:20 on... what does the rays from the yellow dots mean? Can someone point me at what I'm missing?

    • @simondev758
      @simondev758  5 місяців тому +1

      They're samples of radiance, in the direction of the line.

    • @feyternerdworld
      @feyternerdworld 5 місяців тому

      @@simondev758 Ok so an object at the top right would be fully lit by all sides? While when the Object would be moved to the bottom right it would only be lit by the bottom and when it's moved to the bottom left corner of the screen it would not be lit at all? I guess it's just random values in this case but it's hard for me to link this to a actual scenes. I mean how would the lights need to be positions to result in something like this. I don't think it has any connection to the previously shown layout?
      But ok maybe I'm getting it now. Thank you very much for taking the time to explain it.

  • @malartbecomes236
    @malartbecomes236 5 місяців тому +1

    I love learning about programming stuff from Archer.

  • @darxoonwasser
    @darxoonwasser 6 місяців тому +4

    Awesome video, however I have one suggestion. In this video, even at 1080p, UA-cam's video compression and low bitrate are extremely noticeable and there are a lot of artifacts all over the place the entire time. As a suggestion, could you upload videos like this at 1440p in the future? Even for people with a 1080p display, this can make a massive change in how clean the video looks because of the better bitrate.

    • @SheepUndefined
      @SheepUndefined 6 місяців тому

      It could also be the background having a sorta high amount of detail?

  • @gargean1671
    @gargean1671 13 днів тому

    We are missing you! Don't dissapear for that long(

  • @djayjp
    @djayjp 6 місяців тому +2

    Maybe I'm missing something, but I think this only works in screen space, right? Therefore, it'll exhibit the usual disocclusion artifacts that such techniques have, such as SSAO, SSR.

    • @robosergTV
      @robosergTV 6 місяців тому

      NO, it can work in world space as well

  • @miguelpereira9859
    @miguelpereira9859 2 місяці тому

    I would love to see a full comparison of this technique and full path tracing rendering the same scene, while also showing how long it takes both to compute, PT would be done on software ofc to make it a fair fight

  • @Monkeymario.
    @Monkeymario. 6 місяців тому +1

    9:27 its so weird to see the multiplication symbol as x over the years i have gotten so used to the multiplication symbol as * or .

  • @iwsfg
    @iwsfg 6 місяців тому +1

    the legend is back with a new upload!

  • @PolyRocketMatt
    @PolyRocketMatt 6 місяців тому +1

    I am curious to see what the bias is like for large scenes though. It reminds me a bit of "surfels" which were developed by EA if I remember correctly. It was an innovative technique but contributed a lot of bias to get real-time noise free images. The way this method is layed out, it seems like that's also going to be the case here, limiting it's effective use in real-time games with certain FPS goals

  • @starc0w
    @starc0w 6 місяців тому +2

    Awesome! Thanks!

  • @spr_
    @spr_ 6 місяців тому +12

    GorDon doesn' need to hear all this, he'sa highly trained propfessional. We've assurdly administrated that nothing-will-go-wrong.

  • @UnifiedFriends
    @UnifiedFriends 5 місяців тому

    Isn't there a way to use engine properties like:
    check for emissive materials, get the size, position and luminance of the object and directly fire probe arrays at it?
    Maybe use the inverse Square and luminance to decide if it even worth to take it into account for further calculations
    Just a quick thought about it 😅

  • @ItsKayJeyD
    @ItsKayJeyD 5 місяців тому

    I’m not a game dev or know anything about any of this. Watched the whole thing without skipping through. You’re a good presenter, even if I still don’t fully get it 😅

  • @hamzzashaffi
    @hamzzashaffi 6 місяців тому

    Thank you so much for sharing your valuable knowledge! :)

  • @KasasagiWad3
    @KasasagiWad3 6 місяців тому +1

    very interesting approach, seems to sit somewhere between light probe grids and surfels.

  • @kekitech
    @kekitech 6 місяців тому

    Commenting mainly for the algorithm, but thank you for the video, please keep it up!

  • @ovi1326
    @ovi1326 21 день тому

    This is insanely cool. I wonder how much more complicated something like like that looks in a 3D environment. Do you just take the 2D code but apply it to the gbuffer? Like obviously now you also need to shoot rays through hemispheres and do something (i'm not sure what) to avoid bleeding between objects (use the zbuf in a clever way?). I'm a sunday graphics engineering enthusiast but it seems like a promising way to do GI in 3D as well.

  • @satibel
    @satibel 6 місяців тому

    nice to see alexander sannikov's radiance cascades be used.
    I actually theorized a way to use a similar things for real time physics calculations with fluid or fluid-like objects (e.g. plague tale's rats/huge armies)
    the idea is that only boundaries get true physics and the other are moved by a vector field based on the population (i.e. they move from high population to low population).
    and the physics need good angular resolution in the middle of the pack, but only good position in the outside.

  • @Beat2Chill2
    @Beat2Chill2 6 місяців тому +2

    These animations look top notch. Any chance of sharing what software you use to create them?

    • @simondev758
      @simondev758  6 місяців тому +1

      I animate them via code in shaders. I cover a lot of it in my shader course.

  • @Paultimate7
    @Paultimate7 2 місяці тому +2

    Grinding Gear Games is responsible for the greatest arpg on the planet Path of Exile. In a few weeks after 13 years, they are about to release Path of Exile 2, fyi.

  • @patrickherbison1100
    @patrickherbison1100 5 місяців тому +1

    Not sure if you've already done a video on this or not but could you do a video about transparency - as an artist i'd like to understand what makes it expensive, draw order issues when you have overlapping planes etc.

    • @simondev758
      @simondev758  5 місяців тому

      Great idea, I'll keep it as a potential topic, but ultimately I let my patreon supporters do the final vote.

  • @gregboucher2439
    @gregboucher2439 5 місяців тому

    Fantastic video and Alexander's concept is incredibly intriguing. I'm trying to understand how it's applied in a screen-space context, as hinted at in Alexander's paper where he mentions they use a 'hierarchy of screen-space radiance probe cascades populated with screen-space ray-marching', - section 4.2, page 23. I noticed in your demo that you ray-march an SDF representing the scene's 'geometry' to populate the radiance cascades. I'm curious about what's being ray-marched in the screen-space implementation of say a 3d scene. Would it be similar to screen-space shadows; using the depth buffer to detect occlusion? I'm new to graphics programming, so any insights would be greatly appreciated. Thanks again for the content.

  • @Soulzjd2
    @Soulzjd2 6 місяців тому

    Reminds me of a video from several years back on Unitys Light Probes. I have VERY little understanding on how all this works though so not sure how similar they are other then they attempt to help solve the same issue of lighting.

  • @FreneticFurry
    @FreneticFurry 4 місяці тому

    14:56 it is still possible to get away with only the 4 samples, the method would just be: spin the samples and take the data over time its basically just a temporal method of doing that with roughly the same cost as 4 so could get away with doing something like 4 with a assumed compute cost of 6-7 depending on the method used (this is a good method for 2D but 3D would require more then 4 samples so around 16 should be good enough)

  • @stephanelegendre7624
    @stephanelegendre7624 6 місяців тому

    Im not qualified into that field at all but that's always interesting to learn about new things.
    I aslo seen Gaussian Splatting (GSplat) techniques which could also provide quite interesting things for the game industry. Like preprocessing all the environnement + light inside a Gsplat which consume way less compute power, which can have lifelike graphics and also take way less space on the harddrive.
    Don't know how Radiance Cascades compete next to Gsplat though, would be an interesting subject to discuss actually (from a professional)

  • @doggo9757
    @doggo9757 6 місяців тому +8

    Perfect video to watch while my PC renders my blender scene.

  • @spencer__
    @spencer__ 4 місяці тому

    Love the voiceover, you sound like the cartoon character Archer haha

  • @wormjuice7772
    @wormjuice7772 6 місяців тому +2

    Cant wait for unreal engine to pick up on this.
    Very nice!

  • @fang_xianfu
    @fang_xianfu 6 місяців тому +2

    It's kind of sad and frustrating that innovative techniques like this get less attention, because many graphics cards now have specific hardware for raytracing. It's great to see them flourishing regardless.

    • @EJM07
      @EJM07 6 місяців тому +1

      hardware raytracing can actually be used with this technique. would love to see an implementation with it

    • @simondev758
      @simondev758  5 місяців тому +1

      Hardware raytracing, if anything, is going to make new techniques even more interesting.

  • @tirushone6446
    @tirushone6446 6 місяців тому +2

    Could just be me but it felt like the video ended a bit soon. Like I am not sure how you get from "layers of probes at different resolutions sampling lighting" to what you show at the end. Also is this global illumination? because it looks more like direct illumination with soft shadows and emmissive surfaces (which is addmittedley impressive in it's own right if it runs fast).

  • @mysticalfoxie
    @mysticalfoxie 6 місяців тому +1

    1:50 Im confused... I thought that was raytracing
    Also remembered you can limit the max bounce count.