SimonDev
SimonDev
  • Видео 65
  • Просмотров 10 170 973
Exploring a New Approach to Realistic Lighting: Radiance Cascades
Radiance Cascades are an innovative solution to global illumination from the devs of Path of Exile 2. Let's explore and implement their approach.
Gamedev Courses: simondev.io
Support me on Patreon: www.patreon.com/simondevyt
Follow me on:
Instagram: beer_and_code
Twitter: iced_coffee_dev
In this video, we look through the recent Radiance Cascades paper from the devs of Path of Exile 2, explore the ideas behind their approach, and implement something similar.
Reference:
Paper: drive.google.com/file/d/1L6v1_7HY2X-LV3Ofb6oyTIxgEaP4LOI6/view?usp=sharing
Discord: discord.com/channels/318590007881236480/1142751596858593372
Other great explanations:
GM Shaders: mini.gmshaders.com...
Просмотров: 76 886

Видео

How Quake Failed their way to Success
Просмотров 142 тыс.2 месяца назад
Breakthroughs aren't created in a vacuum. Let's dig into Quake's technical failures and missteps, in order to better understand their ultimate success. Gamedev Courses: simondev.teachable.com/ Support me on Patreon: www.patreon.com/simondevyt Follow me on: Instagram: beer_and_code Twitter: iced_coffee_dev In this video, we explore some of the history behind Quake's gr...
When Optimisations Work, But for the Wrong Reasons
Просмотров 867 тыс.5 месяцев назад
Level of detail and imposters are effective optimizations that work for reasons you may not fully understand. Let's explore why, from a hardware perspective, these work. Gamedev Courses: simondev.teachable.com/ Support me on Patreon: www.patreon.com/simondevyt Follow me on: Instagram: beer_and_code Twitter: iced_coffee_dev In this video, we explore the underlying reas...
How Games Have Worked for 30 Years to Do Less Work
Просмотров 1,3 млн7 месяцев назад
We explore the evolution of culling and visibility determination in video games, building on work started over 30 years ago, and evolving with every generation of hardware. Gamedev Courses: simondev.teachable.com/ Support me on Patreon: www.patreon.com/simondevyt Follow me on: Instagram: beer_and_code Twitter: iced_coffee_dev In this video, I implement some of the var...
How do Major Video Games Render Grass?
Просмотров 393 тыс.8 месяцев назад
Trying out the last grass and foliage rendering techniques used by Ghost of Tsushima. 🛒 Recommended books (on Amazon): www.amazon.com/hz/wishlist/ls/1IMV0IR3QIZMQ?type=wishlist&tag=simondev01-20&sort=priority&viewType=grid ❤️ Support me on Patreon: www.patreon.com/simondevyt 🌍 My Gamedev Courses: simondev.teachable.com/ Disclaimer: Commission is earned from qualifying purchases on Amazon links....
Is the COST of JavaScript’s GC REALLY that high?
Просмотров 91 тыс.Год назад
How much overhead is there really for garbage collection, is it as high as so many people say it is? My Courses: simondev.teachable.com/ Support me on Patreon: www.patreon.com/simondevyt Follow me on: Twitter: iced_coffee_dev Instagram: beer_and_code Garbage Collection is often cited as a major source of performance problems in JavaScript. In this vdeo, we explore gar...
So how does your computer ACTUALLY compute sine? Basics of trig and more…
Просмотров 290 тыс.Год назад
What is sin/cos/tan really? How do they relate to the dot product? How are they even computed by your hardware? My Courses: simondev.teachable.com/ Support me on Patreon: www.patreon.com/simondevyt Follow me on: Twitter: iced_coffee_dev Instagram: beer_and_code Trigonometry is often cited as an are of math for game development. In this video, I explore trig functions ...
How Big Budget AAA Games Render Bloom
Просмотров 107 тыс.Год назад
Trying out some of the latest approaches to Bloom used in Unity/Unreal. 🛒 Recommended books (on Amazon): www.amazon.com/hz/wishlist/ls/1IMV0IR3QIZMQ?type=wishlist&tag=simondev01-20&sort=priority&viewType=grid ❤️ Support me on Patreon: www.patreon.com/simondevyt 🌍 My Gamedev Courses: simondev.teachable.com/ Disclaimer: Commission is earned from qualifying purchases on Amazon links. Follow me on:...
How Big Budget AAA Games Render Clouds
Просмотров 263 тыс.Год назад
Explored a few of the latest techniques in procedural cloud rendering used in Horizon: Zero Dawn and the FrostBite engine. 🛒 Recommended books (on Amazon): www.amazon.com/hz/wishlist/ls/1IMV0IR3QIZMQ?type=wishlist&tag=simondev01-20&sort=priority&viewType=grid ❤️ Support me on Patreon: www.patreon.com/simondevyt 🌍 My Gamedev Courses: simondev.teachable.com/ Disclaimer: Commission is earned from ...
The ONE Texture Every Game NEEDS
Просмотров 248 тыс.Год назад
Exploring why procedural noise (such as perlin noise) are so useful in game development and graphics. 🛒 Recommended books (on Amazon): www.amazon.com/hz/wishlist/ls/1IMV0IR3QIZMQ?type=wishlist&tag=simondev01-20&sort=priority&viewType=grid ❤️ Support me on Patreon: www.patreon.com/simondevyt 🌍 My Gamedev Courses: simondev.teachable.com/ Disclaimer: Commission is earned from qualifying purchases ...
An In-Depth look at Lerp, Smoothstep, and Shaping Functions
Просмотров 157 тыс.Год назад
Exploring some common math that game developers use, let's look at linear interpolation and apply it to everything. 🛒 Recommended books (on Amazon): www.amazon.com/hz/wishlist/ls/1IMV0IR3QIZMQ?type=wishlist&tag=simondev01-20&sort=priority&viewType=grid ❤️ Support me on Patreon: www.patreon.com/simondevyt 🌍 My Gamedev Courses: simondev.teachable.com/ Disclaimer: Commission is earned from qualify...
Ray Marching, and making 3D Worlds with Math
Просмотров 240 тыс.Год назад
Built this entire video on raymarching in shaders using shaders, ray marching, and signed distance functions. 🛒 Recommended books (on Amazon): www.amazon.com/hz/wishlist/ls/1IMV0IR3QIZMQ?type=wishlist&tag=simondev01-20&sort=priority&viewType=grid ❤️ Support me on Patreon: www.patreon.com/simondevyt 🌍 My Gamedev Courses: simondev.teachable.com/ Disclaimer: Commission is earned from qualifying pu...
I Tried Making an FPS Game in JavaScript
Просмотров 127 тыс.Год назад
GLSL Course: simondev.teachable.com/p/glsl-shaders-from-scratch Support me on Patreon: www.patreon.com/simondevyt Follow me on: Twitter: iced_coffee_dev Instagram: beer_and_code Here I tried making a 3D first person shooter, all in JavaScript and Three.js. I took some code from a couple of my other tutorials, like first person camera controls and ammo.js stuff, bolted...
SimonDev Course Announcement! | Course Trailer
Просмотров 15 тыс.2 года назад
AVAILABLE NOW, LIMITED PRICE: simondev.teachable.com/p/glsl-shaders-from-scratch?coupon_code=EARLYBIRD2022 I'm excited to announce that after months of work, my GLSL Shader Course is ready for early preview. From beginner all the way to more advanced topics, and features some incredibly fun projects to build 100% in shaders. We cover topics the same way I learn them, by learning the fundamental...
Make stuff look better with DECALS!
Просмотров 24 тыс.2 года назад
Make stuff look better with DECALS!
Immersive 3D Audio and Visualization (three.js & javascript)
Просмотров 29 тыс.2 года назад
Immersive 3D Audio and Visualization (three.js & javascript)
Building a Simple First Person Camera
Просмотров 53 тыс.2 года назад
Building a Simple First Person Camera
Building a Simple 3D Scene with Physics in JavaScript & Three.js
Просмотров 39 тыс.2 года назад
Building a Simple 3D Scene with Physics in JavaScript & Three.js
What can “The Simpsons” teach us about Dynamic Programming?
Просмотров 97 тыс.2 года назад
What can “The Simpsons” teach us about Dynamic Programming?
Wait, so comparisons in floating point only just KINDA work? What DOES work?
Просмотров 243 тыс.2 года назад
Wait, so comparisons in floating point only just KINDA work? What DOES work?
Hash Tables, Associative Arrays, and Dictionaries (Data Structures and Optimization)
Просмотров 114 тыс.2 года назад
Hash Tables, Associative Arrays, and Dictionaries (Data Structures and Optimization)
Can JavaScript Go Faster? Threading in JavaScript (Data Structures & Optimization)
Просмотров 66 тыс.2 года назад
Can JavaScript Go Faster? Threading in JavaScript (Data Structures & Optimization)
Simple Biome Generation (3D World Generation #11)
Просмотров 29 тыс.2 года назад
Simple Biome Generation (3D World Generation #11)
I Tried to Make Star Wars Battlefront II in JavaScript
Просмотров 120 тыс.3 года назад
I Tried to Make Star Wars Battlefront II in JavaScript
What Big-O notation ACTUALLY tells you, and how I almost failed my Google Interview
Просмотров 375 тыс.3 года назад
What Big-O notation ACTUALLY tells you, and how I almost failed my Google Interview
How Slow is JavaScript Really? JavaScript vs C++ (Data Structures & Optimization)
Просмотров 290 тыс.3 года назад
How Slow is JavaScript Really? JavaScript vs C (Data Structures & Optimization)
3D Mesh Generation, Gaps, and Stitching (3D World Generation #10)
Просмотров 27 тыс.3 года назад
3D Mesh Generation, Gaps, and Stitching (3D World Generation #10)
Why Linked Lists vs Arrays isn’t a real choice
Просмотров 307 тыс.3 года назад
Why Linked Lists vs Arrays isn’t a real choice
Logarithmic Depth Buffers and Problems of Scale (3D World Generation #9)
Просмотров 29 тыс.3 года назад
Logarithmic Depth Buffers and Problems of Scale (3D World Generation #9)
I made an EVEN BETTER Minecraft
Просмотров 322 тыс.3 года назад
I made an EVEN BETTER Minecraft

Комментарии

  • @jakeparker918
    @jakeparker918 2 часа назад

    SDFs to overcome light leak? Convert shadow to SDF and go from there, doing a second pass to refine it

  • @lFunGuyl
    @lFunGuyl 3 часа назад

    This man clearly never heard of the Black Mesa cautionary tale 😬

  • @leendert2029
    @leendert2029 9 часов назад

    NANITE

  • @Viola-iu1ys
    @Viola-iu1ys 16 часов назад

    thanks for the laughter and learning in every video!

  • @AtanvarnoALDA
    @AtanvarnoALDA 17 часов назад

    1:08 "And you have the Near and Far" ... And Wherever You Are

  • @Stonehawk
    @Stonehawk 20 часов назад

    Sounds like this would be perfect for Minecraft ESPECIALLY!

  • @heatstudio78
    @heatstudio78 День назад

    Did u publish it

  • @cabezaCode
    @cabezaCode День назад

    ruclips.net/user/shortsygPrY3jAkJk?si=QOF2BL8SYoh4EhgI

  • @marscaleb
    @marscaleb День назад

    So would I be correct to say: a scene with high-density polygons would actually run faster on early 2000's hardware? I mean, if all things were equal, like your modern card was handicapped to your 2002 card's speed/memory, and you weren't running any material effects but just simple textures or whatnot. Would those older systems comparatively be better at handling wasted detail because they just push the model entire model through regardless of size, whereas the modern systems optimize the rendering path, creating a (theoretical) point where the optimizations take up more time to run?

  • @saidevpappu
    @saidevpappu День назад

    what are your PC specifications?

  • @the_curious1
    @the_curious1 День назад

    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.

  • @the_curious1
    @the_curious1 День назад

    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.

  • @AlexPechenka
    @AlexPechenka День назад

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

  • @0x8badbeef
    @0x8badbeef День назад

    Ghost of Tsushima does a novel thing with the grass. Most games have some sort of navigation system. Ghost of Tsushima points the blades of grass in the direction you should be going. Likewise with the wind.

  • @kepinaf
    @kepinaf День назад

    bro, not javascript💀

  • @diamondhunter6467
    @diamondhunter6467 День назад

    This was the first time i heard impostor and didn't think of amongus, thanks!

  • @oinvestigard
    @oinvestigard День назад

    Sin(n) = a/c, cos(n) = sin(n+(pi/2)) or sin(n+90), tan(n) = sin(n)/cos(n),csc=??? , sec(n) = csc(n+pi/2) or csc(n+90), cot(n) = -tan(n+pi/2) or -tan(n+90)

  • @kipchickensout
    @kipchickensout День назад

    Love it! I bet this or some more practical example would be interesting to 2kliksphilip too

  • @agsilverradio2225
    @agsilverradio2225 2 дня назад

    I wonder if you could use AI to make the low polly models.

  • @AldoTheApache97
    @AldoTheApache97 2 дня назад

    Did the Discord Channel disappear?

  • @foxypiratecove37350
    @foxypiratecove37350 2 дня назад

    I've a better way: using Euler's sine and cosine formulas, derived from the Euler's identity, e^(iθ) = cos(θ) + i sin(θ). These formulas are exact, a'd use only complex numbers (in reality they're more simple than complex) and exponential.

  • @B_dev
    @B_dev 2 дня назад

    It works because imposter sus

  • @sabriath
    @sabriath 2 дня назад

    or, 512 angles between 0 and pi/2 in a lookup to lerp is a tiny bit faster, smaller storage, and is about 0.000000005% accurate

  • @cerilious
    @cerilious 3 дня назад

    Amazing video. Thanks Simon.

  • @brandonallen2301
    @brandonallen2301 3 дня назад

    Bobs Renderurgers

  • @ValidatingUsername
    @ValidatingUsername 3 дня назад

    Some of the greatest useless math is used in game optimization.

  • @partyinthecloudkingdom
    @partyinthecloudkingdom 3 дня назад

    you sound like will arnett with a cold

  • @flimflam1798
    @flimflam1798 3 дня назад

    he sounds like bob from bobs burgers

  • @nanoalt8127
    @nanoalt8127 3 дня назад

    Someone call Sebastian Lague!

  • @mysticalfoxie
    @mysticalfoxie 3 дня назад

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

  • @ThatTallBrendan
    @ThatTallBrendan 3 дня назад

    "They're _waiting_ for you Simon.. in the *dev* chamberrrr..."

  • @nathanfranck5822
    @nathanfranck5822 3 дня назад

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

  • @sampirat
    @sampirat 3 дня назад

    that's why when teachng hardware architecture i tell my student just to not use float. And moreover, never ever make the mistake some language imply and call these "real" a 32bit word mathematically belongs to N no mater if it's float or integer or grey code or whatever Floating point is a lie

  • @4.0.4
    @4.0.4 3 дня назад

    For some reason, even though you explained all it's doing, the end result looks better than what I would imagine if you didn't show it. Like I'd expect worse artifacts from this.

  • @Kyoz
    @Kyoz 3 дня назад

    🤍

  • @greatnate29
    @greatnate29 4 дня назад

    I straight up don't understand

  • @PolyRocketMatt
    @PolyRocketMatt 4 дня назад

    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

  • @anon_y_mousse
    @anon_y_mousse 4 дня назад

    I love how you pretend not understand the concept as a way to ease the viewer into the explanation. Only thing I wonder is, how does this effect work with glass?

  • @xtc564
    @xtc564 4 дня назад

    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?

  • @svens3722
    @svens3722 4 дня назад

    haha nice, i know quadtree but i didnt know where to start if you have no objects (of course except the camera which i know from you now and is on rethinking realy logical x)

  • @gsestream
    @gsestream 4 дня назад

    avoid special cases, special cases are called unnecessary work, or claim to need to do unnecessary complex work, at all, ie re-solving a problem, with some complex stuff, just re-phrase the issue and solution, and you get the simplest possible radiance lighting algorithm, working same for all scenarios, if you need to reason about the number of samples in real time, meh, just raster every radiance cache and you are done, with same resolution uniform distribution everywhere, no denoising check nonsense, just one final calculation for each point, no travelling checks, yep raster instead of the ray samples, convert most of the primary rays to light a point to generalized raster, yep you can collect light with a spherical normalized raster cube view map. yep raster radiance cache can recursively collect bounce diffuse lighting also. and raster radiance is faster form of same distribution implemented in independent rays. instead doing stepping checks, just increase the number of rays from the actual point dramatically, and do it only once. sometimes you just cant interpolate. its not accurate actually. worse approximation only. teaching complex tech is without merit and only serves the market system, not the usefulness. yeah you did not fully check (think through) the complexity and simplified the tech to be the most useful. ie you just forced the math result, but did not make it simple. raster radiance collection does not have any ringing or leakage issues. you can check javarenderengine on github for whitepaper and java implementation for the cubemap view radiance collection method.

    • @gsestream
      @gsestream 4 дня назад

      also the discord link is not a discord join link, its some other standard link

    • @gsestream
      @gsestream 4 дня назад

      to make the raster radiance collection idea simple to understand, light an object by single or dual triangle (rectangle) area light by cubemap view raster, yep its lighting by radiance environment maps, where the object triangles are the emissive light source. and fast, one triangle can provide the information of millions of rays to the same surface.

  • @SweeperFlies
    @SweeperFlies 4 дня назад

    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) ❤️

  • @sagielevy
    @sagielevy 4 дня назад

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

  • @rrrfrdd4497
    @rrrfrdd4497 4 дня назад

    The Penumbra Condition sounds like a nice title for a game

  • @towaii
    @towaii 4 дня назад

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

  • @disk0__
    @disk0__ 4 дня назад

    But Simrola,

  • @tirushone6446
    @tirushone6446 4 дня назад

    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).

  • @dXXPacmanXXb
    @dXXPacmanXXb 4 дня назад

    I did not understand this

  • @amimirmimir512
    @amimirmimir512 4 дня назад

    Fun fact: over 2000 gpu's were used to find huge cactuses in minecraft

  • @LePtitPop
    @LePtitPop 4 дня назад

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