![SimonDev](/img/default-banner.jpg)
- Видео 65
- Просмотров 10 170 973
SimonDev
Канада
Добавлен 25 окт 2019
Hey, ex-Google, ex-gamedev.
I code things, mostly game related, sometimes not.
I code things, mostly game related, sometimes not.
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...
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)
SDFs to overcome light leak? Convert shadow to SDF and go from there, doing a second pass to refine it
This man clearly never heard of the Black Mesa cautionary tale 😬
NANITE
thanks for the laughter and learning in every video!
1:08 "And you have the Near and Far" ... And Wherever You Are
Sounds like this would be perfect for Minecraft ESPECIALLY!
Did u publish it
ruclips.net/user/shortsygPrY3jAkJk?si=QOF2BL8SYoh4EhgI
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?
what are your PC specifications?
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.
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.
Gordon doesn't need to hear all this, he's a highly trained professional!
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.
bro, not javascript💀
This was the first time i heard impostor and didn't think of amongus, thanks!
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)
Love it! I bet this or some more practical example would be interesting to 2kliksphilip too
I wonder if you could use AI to make the low polly models.
Did the Discord Channel disappear?
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.
It works because imposter sus
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
Amazing video. Thanks Simon.
Bobs Renderurgers
Some of the greatest useless math is used in game optimization.
you sound like will arnett with a cold
he sounds like bob from bobs burgers
Someone call Sebastian Lague!
1:50 Im confused... I thought that was raytracing Also remembered you can limit the max bounce count.
"They're _waiting_ for you Simon.. in the *dev* chamberrrr..."
I love this lighting - definitely an inspiration towards trying new things - you never know what might work!
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
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.
🤍
I straight up don't understand
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
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?
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?
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)
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.
also the discord link is not a discord join link, its some other standard link
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.
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) ❤️
This is really cool. Thanks for explaining it in an easy to understand manner!
The Penumbra Condition sounds like a nice title for a game
oh man i'm so hype to have bob belcher explain new and exciting graphics techniques to me
But Simrola,
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).
I did not understand this
Fun fact: over 2000 gpu's were used to find huge cactuses in minecraft
Thank you so much for sharing this knowledge! Super interesting video, as always