- Видео 20
- Просмотров 59 918
Graphics Programming Conference
Нидерланды
Добавлен 17 ноя 2024
The Graphics Programming Conference is an annual conference that focuses on real-time and interactive graphics programming.
Pondering Orbs: The Rendering and Art Tools of COCOON
Rendering the game’s beautiful worlds within worlds takes a few tricks - from thick billowing froxel fog and spherical harmonics volumetric lightmaps, to a host of visual effects like crystalline Voronoi bridges, SDF shoreline ripples on water, and warping through ponderable orbs.
Mikkel Svendsen presents how these features, tools and effects were implemented and shipped on the game’s target platforms, how they contributed to the game’s look, and how it all works together with an MSAA-friendly rendering pipeline by carefully considering the gotchas of fitting these features and effects with that.
#gpc #geometricinteractive #buas
Mikkel Svendsen presents how these features, tools and effects were implemented and shipped on the game’s target platforms, how they contributed to the game’s look, and how it all works together with an MSAA-friendly rendering pipeline by carefully considering the gotchas of fitting these features and effects with that.
#gpc #geometricinteractive #buas
Просмотров: 1 671
Видео
The Road to Baldur's Gate 3
Просмотров 1,7 тыс.День назад
Baldur’s Gate 3 shipped with the fourth iteration of our custom in-house engine. This presentation will give a high level overview of the things that were done by the graphics team at Larian Studios, to achieve the rendering goals we had for our latest title. Compared to our previous project, we wanted to support larger and denser worlds, with more distant views and larger vistas. We wanted a n...
Mission: Importable - Ghost of Tsushima PC Postmortem
Просмотров 3,7 тыс.День назад
Bringing the beautiful island of Tsushima to the PC platform has been a significant technological undertaking. The single platform Sucker Punch engine was made to run on the PC for the first time. A custom DirectX 12 render backend had to be built from scratch to accomplish this. From the first triangle to the final post effect. How do you make a to-the-metal console engine run on PC? Yana Mate...
Occupancy Explained Through the AMD RDNA™ Architecture
Просмотров 816День назад
Learn about the AMD RDNA™ graphics hardware architecture and its execution model, and discover how the concept of occupancy naturally emerges from how it works. Understand the critical importance of latency hiding for performance and the hardware mechanisms that enable it on the GPU. Join François in investigating practical examples with the AMD Radeon™ Developer Tool Suite where he explains wh...
Rendering Tiny Glades With Entirely Too Much Ray Marching
Просмотров 41 тыс.День назад
Learn how Tiny Glade’s custom engine draws lush meadows, fluffy trees, and player-created castles and towns. We’ll explore a range of bespoke techniques employed in the game, from real-time global illumination to tilt-shift DoF and stable shadows with continuous time of day. All running on 10 year old hardware, laced with excessive amounts of ray marching, GPU-driven rendering, and just the rig...
Intro to GPU Occlusion
Просмотров 733День назад
For games that heavily feature dynamic or user-generated levels, classic optimization techniques like static occlusion hierarchies are less viable due to their inflexibility. Runtime-generated acceleration structures introduce their own fair share of CPU and memory overhead. In this talk, Leon will cover an adaptation of GPU-based occlusion culling using a hierarchical z-buffer, which achieved ...
Neural Networks in the Rendering Loop
Просмотров 472День назад
At Traverse Research we’ve developed a cross-platform GPU-driven neural network crate (yes we develop in Rust!) in our Breda engine. This talk explores the breda-nn framework, which enables seamless integration of neural networks within the render loop via our render graph system. We’ll discuss our strategy for in-the-loop training and inference, showcase practical applications in neural materi...
DirectX 12 Memory Management
Просмотров 585День назад
Discover the challenges and successes Nixxes faced in developing an optimal memory management strategy adaptable to a wide range of hardware. Learn how we manage video memory oversubscription by automatically transferring low-priority resources to and from system memory, and how we utilize multi-threading to ensure a seamless experience. Explore the statistics we monitor and how we use them to ...
Boon or Curse: Custom Rendering Engine for Hades and Hades II
Просмотров 2,6 тыс.День назад
Explore the pivotal role of Supergiant Games’s rendering engine in shaping the immersive visuals of their latest titles. Dive into the triumphs and tribulations faced by the small but passionate team as they navigate the complexities of developing and refining their technology. From unlocking the art team’s creative potential to wrestling with technical constraints. Devansh presents how creatin...
Harnessing Wave Intrinsics for Good (and Evil)
Просмотров 450День назад
Optimizing shaders using wave intrinsics has been possible for many years and can offer significant performance benefits. Whether you’re looking to compact data, run parallel reductions, or reduce register pressure through scalarization, wave intrinsics are invaluable tools. Alex will delve into alternative uses of wave intrinsics that range from useful to mere curiosities, highlighting how to ...
From Gates to Pixels: Making your own Graphics Hardware
Просмотров 444День назад
In this talk I will discuss how using recent open source tooling you can design your own hardware, from FPGAs to ASICs - your own piece of silicon! - to implement your favorite graphics algorithms as pure wired logic. From making a GPU with a 90’s twist to creating your own computer from scratch, this opens incredible new possibilities. #gpc #inria #buas
Magic Pixels FSR Frame Generation and Upscaling
Просмотров 472День назад
Magic Pixels FSR Frame Generation and Upscaling
Gigi: A Platform for Rapid Graphics Development and Code Generation
Просмотров 1,1 тыс.День назад
Gigi: A Platform for Rapid Graphics Development and Code Generation
Solving Numerical Precision Challenges for Large Worlds in Unreal Engine 5.4
Просмотров 443День назад
Unreal Engine 5 expands the world size from a 22 km radius to 88 million kilometers. This presentation explores the evolution of our approach to supporting these large-scale open worlds on GPU. It delves into the complexities of maintaining both numerical precision and performance in GPU computations, both fixed-function and artist-driven. We’ll share the engineering hurdles encountered in Unre...
Adaptive Refresh Rates on Android
Просмотров 186День назад
A deep dive into how Android Framework supports variable refresh rates, from 1Hz to 120Hz, and how it blends the refresh rates of dynamic content on the screen. #gpc #android #buas
Realtime Global Illumination in Enshrouded
Просмотров 2,3 тыс.День назад
Enshrouded has a voxel based environment, where nearly everything can be destroyed or built from scratch, so there is no room for pre-baked lighting. This presentation takes you on a journey through the development process of Enshrouded GI and shows which techniques worked for us or which didn’t. Discover how we moved to our own SDF rays from Vulkan Raytracing to run on a wide range of GPUs. Fr...
Shipping a Vulkan Game in 2024
Просмотров 818День назад
Shipping Eshrouded on PC with just a Vulkan backend has been a lot of work and we learned a lot along the way. This presentation will discuss the good, the bad and the ugly of Vulkan from the perspective of a small indie studio shipping an ambitious game like Enshrouded using our custom Vulkan engine. We’ll share with you the details on how we evolved our internal graphics api, how we managed m...
Had to slow this guy down to 75% to be understandable..
Excellent talk and explainer on wavefront and occupancy. Thank you!
bro united south east asia
I hope the future of gaming has more procedural generation. I would like to see it new games for older generation consoles too, like megadrive and nes. I feel like we can explore new, never ending games for these old consoles using new programming techniques.
Awesome talk! ☺
Amazing presentation! 😊
Id love a game like the OG roller coaster tycoon games but with this sort of engine. Like a tiny theme park!
Lots of great practical info here, thanks so much for sharing!!
29:46 *Rcace oindition. Don't care.* _I see what you did there!_ /s
I like your funny words magic man
Lovely presentation, great detail, really good showcase, incredible results, such a silent crowd. Guys come on, show some appreciation!
Great talk! Doubt the speaker will see this comment, but the (genius) opaque-fading seems to be broken on PS5. Shows obvious artifact from the stipple pattern and isn't smooth at all. Maybe a bug?
Awesome presentation! ❤️
anyone understands what he means by "marching alone 1d radial slices of the DoF kernel". Brilliant work btw!
DoF gathers samples in a two-ended cone with the apex on the focal plane. He's just reordering how he processes those samples, so that he accesses screen space data in a more coherent fashion. For example, a vertical slice would be gathering all samples directly above/below the target pixel. If you process this vertical slice for all pixels within a tile (before moving onto the next angular slice) then you'll get nice data access coherency.
@@iestynne I see, I am reading the Bend Studio screen space shadow and thinking it may be where the idea comes from. Thanks!
Mac version?
Amazing talk, thanks a lot! That's the format, right? Lol. But seriously, this guy is very good at speaking about highly technical topics!
He mentions these 3 terms a lot when comes to ray trace performance, linear steps + bisection + secant. I roughly know about linear steps, but clueless about bisection + secant. Any idea what these words used in ray trace performance?
The trick is that you can sort of view raymarching as a kind of root finding algorithm: you're trying to find the distance t along the ray that returns an intersection through iterative search. So, step along with raymarching until you hit a rough intersection, which gives you a minimum and maximum t value that your intersection occurs within, then bisect to find better bounds, then use the secant method to find the actual intersection distance t.
Giant enemy Crab PS3 E3 moment 🤣
That game is absolute garbage anyway why they even let tjis shit talk
cringe
Clearly havent played it or your are trolling hahaha, you must lead a boring ass life :D
@@warlorddk2070 it's easy to pirate and fun like 2 minutes. Delusional
Game is too hard to win actually, died 3 times in a row in under 10 minutes and had to uninstall.
@@dr.angerousquoth The Big Lebowski, “That's just like, your opinion, man” Presumptuous to project from a sample size of one to the subjective view of everyone. Hate to break to you, but you are not the main character of the universe.
I discovered this game thanks to the youtuber called Quaz. It was something I really craved for and the game is so worth it. I also love all the lens effects you have added to the game. It is amazing.
It's garbage
@dr.angerous Who's an edgy boy.
Can someone please tell me what's the name of the thing, you know the thing where devs put so much work into anti-games because they prefer only to release art tools rather than say a fully fleshed out RPG or RTS (at least at first). Recalling Spore and No Man's Sky as other examples. The this tech demo for a real-time Civilization clone with many extra tools is really cool and solid getting released as just the art tools and no game.. someone else commented that this could be useful to export scenes to other fully fleshed out games, and yeah that would work too. Like if this was an inspiration to Ludeon Studios for a Rimworld 2 they could have so much offer generated content to draw from when generating planets. And provide players robust tools to make them ourselves in the game.
41:00 .... So it's just trying to push art for art's sake but they mentioned that from the start so ok
Or Townscaper? I guess the fun part for the developer is working on the technology and art etc but turning it into a "proper game" they don't find fun or interesting so they just go all in on making a cool tech demo.
@thesenamesaretaken by all means yes it's a grind and can be thankless so on the other side of the coin it's amazing to see the uptake on this particular product.. which hopefully sets a visual quality and user experience bar for those RTS and RPGs
Brilliant, super impressive results for such a small team.
great work
I'm very sorry if this comes across as harsh and I'm sure this is a great talk by a very knowledgeable presenter, but if i can offer a bit of constructive criticism, they should really aim to cut filler words like "um" when rehearsing such presentations. These kinds of presentations are not easy for anyone, but a long "um" is present between nearly every sentence and, at least for me, it gets a bit hard to listen to after a while.
This is such a superb example of "constraints breed innovation" I especially love all of the comparisons to UE5's tech, because I constantly feel as though Unreal is blatantly leaving even 1-generation-old hardware behind
I'd reccoment you to watch materials from Threat Interactive, talking about nanite and other UE5 tech. The situation is worse than many imagine.
@@wydualiterally clicked on this comment intending to recommend those exact videos. it's nasty stuff, we really shouldn't be having to rely entirely on indie studios to do any innovation in optimization at all.
Lumen runs on decade old hardware. Not exactly abandoning old hardware.
I bet nvidia/amd/intel areninvolved in ue5 development to push more high end hardware because quite frankly budget gaming is dead because of this Epic's blunder of an engine
@@draco6349 Hey, just some precision on UE5 vs custom rendering techniques : keep in mind all throughout the presentation Tomasz explains that they didn't go for the "common" rendering methods - the extremely specific scope and nature of the game. The reason why they rolled out some of these innovative solutions is because they knew exactly what was needed and what wasn't. Outdoors only, limited map size and entity count, complete control over meshes and LODs, camera POV and gameplay interactivity... UE is a generalist game engine that "works" almost out of the box in every scenario which comes with severe drawbacks. I hate Epic's marketing disregarding and even hiding those drawbacks as well, but I just wanted people to know why it's an inevitability and to avoid bashing UE's rendering without getting the bigger picture. Thank you for reading.
Vulkan is better than DX11/12 ..as a Linux gamer and someone working on my own game, it runs faster and doesn't give games that shader stuttering and does everything including RT with ease, glad to see more devs using it.
I think it's pretty obvious that vulkan works better than dx on Linux, but I don't think it helps very much with shader compilation issues, you still manage all the shader compilation yourself. Dx11 actually didn't have this problem as hard because of how it left the problem of pipeline bloat to the drivers. The main reason people do dx12 support as far as I can tell is mainly that they're already used to dx11, so it's more familiar for them to work with, but it's also closer to the API in Xbox and also provides PIX as a debugging tool which is a lot better than render doc.
@@deprilula28 Every single time I start a DX12/11 game there is shader stutter, but not if im using Vulkan ..thats on Windows when a game has the option and on Linux, if I play the same game on Windows and play it with DX11/12 and then go to linux the Linux version has no stutter but the windows version is crap, that leads me to believe Vulkan is better, if they resolve the shader compile stutter with DX11/12 that would be great.
let me guess your gpu: AMD
Awesome presentation!
Wow, I would not have guessed they used Bink videos for their characters. Seems like a real unique render pipeline.
Heh, Bink dev here. Supergiant did this for a *long* time and was the source of some of the more interesting technical challenges we had with Bink as a result! Pyre on the PS4 used BinkGPU (GPU-side decoding) with compute shaders and had (IIRC, it's been almost 10 years!) over 20 videos playing simultaneously in some cases. It was not just characters in game, but also pretty much anything animated on the world map. As you might imagine, very different workload from our usual fare!
As a PostProcessing dev, love this! ACES is totally overused, all public DoF methods are generally full of pitfalls, but the best bit was all the fun names for systems.
Obligatory: ACES is not a tone mapper it is color space system. AgX works with ACES color space. Saying ACES is overused is like saying the MP4 video container is overused
@@benny_dryl To be even more pedantic back, ACES is an entire color system, composed of color spaces (AP0 for archival, AP1/ACEScg for mastering), and a suite of output mastering transforms (in ACES v1.0 these were the SDR/HDR ODTs, in ACES v1.1 they were replaced by the combined Output Transforms). When we talk about the tonemapping part of things, we're referring to a transformation sequence that goes from your render space to AP1, then using the ODT/OT on the other side. Usually this whole chain is replaced with a pre-parameterized LUT, like in the Sucker Punch approximation. These ODT/OT transforms are also infamous for many reasons, most famously for the controversial "sweeteners" that can embed a bit of a look. AgX (or things like Tony McMapface) are a replacement for that entire transform chain. AgX was mostly designed with sRGB primaries in mind, though you can run it in BT.2020 or AP1... though I would be careful if you use AP1, that fake D50 whitepoint is a doozy IMO. When I was investigating this about a year ago, the modes labeled "ACES" in Unreal and Unity did not agree on their color transforms, my recollection was that Unreal did proper chromatic adaption for the D50 whitepoint, and Unity did not.
Do you know if there's a quirk to the ACES -> sRGB tonemapper used in game engines that would cause the "notorious 6" color clamping? I work in animation and have never had that issue, if anything I find the transform we use to be a very good split between perceptual and a filmic response, especially when it comes to highlights.
Hi great presentation, one question did you guys test this on Intel? I'm having major bugs come up on Intel (Arc) when trying to use a fully bindless approach. NV and AMD work fine.
Thanks, no we did not see specific issues using bindless on Intel Arc.
This guy speaks at 1.5x speed
He probably thinks at that same speed ! :O
It's to make up for all his stuttering.
probably nervous, happens
Me when I put yt videos on 1.5x speed
@@VoxelMusic all of his stuttering happens because he talks at 1.5x speed
This is too much for me but I am glad I found this content on RUclips.
Great work! and Great Work!
644 subs, 1288 views. Trippy. I'm a fan of the super-particle system.
Sounds like a good number, given the channel is brand new 😄. Quality content, got a subscription from me
Great presentation. The algo brought me here. Seeing two very professional and smart people talk through their approach and anecdotes is fantastic. Yana's confidence is inspiring. Looking forward to these two in my credit sprawls for decades to come.
The best about the video is the N² - The Nerd Nervousness!😂
LOVED THIS TALK!
Lol "Cloud computing"... nice :)
Geniuses created a brilliant work of art - Tiny Glade!
Released games that use Bevy +1 Now SteamDB has to put that on the map 😀
Amazing! Love your work, Ana&Tom. So inspiring 🥰
Amazing work. Man I would love to be able to use this as a world design/level design tool and be able to export into an RPG. 100% on the jealousy meter!
I know people are building similar things for Blender using geometry nodes. I don't think anybody has yet built a full equivalent, but should be possible. I think a big part of why there is no exact equivalent in Blender is once you learn to use geometry nodes you end up making your own generator for your own style so there isn't a one size fits all thing.
43:02 OMG, using warping to accumulate different views! that's absolutely brilliant!!
Great presentation, thank you ❤
Amazing talk, thanks a lot!
I didn't know you approached the abstraction like that, that's amazing! Impressive work you two, game came out lovely :)
Amazing talk, thanks a lot!
After a lifetime of coding, the one thing that's become more and more clear is that floating point numbers are a bad idea.
I think fixed point would help here a lot. Precision would be 1/16th cm so just store 4 bits for fraction and then 27 for integer and 1 sign bit. Would only allow up to 1k km though but if you extend this to 5-byte (provided there's a free byte somewhere) you could already handle up to 350k km or 87M km if you find 6 bytes somewhere (per float). Could save some bytes and fixed point should be easier to calculate (though have to be converted to floats after). I'll probably see if I can emulate IEEE754 doubles and compare vs fixed point
Amazing...I hope EPIC is watching
Nani!?
@@medicalwei he's referencing the increasingly common conception that UE5 is poorly optimized
Ohh, is THAT how the particle systems work! Seriously, though, great job with the game and this presentation, and sorry for all the obstacles I threw in your way!