Cornell McRay T'Racing
github.com
github.com
All that aside, what really stands out with this demo is how nice the dev experience is. Lots of bits and pieces that didn’t exist 10 or 20 years ago. It’s git clone and cargo run. The threshold for tinkering with a repo like this compared to an old C++ equivalent is extremely low. I had to try making the day/night sky dynamic and it was literally a two minute job even though I’m a rust newbie.
https://www.youtube.com/watch?v=-Qw5bavWxBs
https://web.archive.org/web/20110519050817/http://exceed.hu/...
Ray marching a SDF based scene is also pretty easy but that’s more like a world inside a shader than anything resembling a full game scene.
Same with Minecraft RTX https://www.minecraft.net/en-us/updates/ray-tracing
Though both still calculate the lighting over several frames, so if you want to be pedantic you could argue that it's not strictly real time.
It's not to downplay the achievement. It's to say that I hope one of you takes up the task of making truly real, indistinguishable-from-TV videos generated in real time.
It may seem like an impossible dream. But so was realtime raytracing, at the start of my career. And there are a few promising signs that it's coming within reach. ML trained on video, applied to gamedev, seems like a matter of time. You could do it right now.
Since the talking point of "We don't want real-looking outputs!" always comes up, I suggest ignoring that detail. It's worth doing, even if nobody wanted it, just to show biology who's boss. And incidentally, you'll want to become familiar with how to run blinded experiments, since you'll realize that your own judgement isn't any good when deciding how "real" something looks. The sole test is whether human observers can distinguish your outputs from real outputs no better than random chance.
Indeed!
Photorealistic GTA V using ML : https://www.theverge.com/platform/amp/2021/5/12/22432945/int...
I think this ML demo got there by effectively emulating a low-res, poorly white balanced, low framerate dash cam. I think those "defects" make people see the image looking more like the output of a real (albeit shitty) camera system.
It would be more interesting to see what kind of output we could get at 4K 60fps and properly white balanced.
See when people argue “I wan’t dynamic and destructible environments” the problem is to a large extent the lighting. If you can blow a hole in the roof but the sun doesn’t shine in - you can tell something is wrong. So you can’t make a hole in the roof.
With GI you can crash a part of the roof and the interior lighting “just works”.
kajiya currently works on a limited range of operating systems and hardware.
Hardware:
Nvidia RTX series
Nvidia GTX 1060 and newer (slow: driver-emulated ray-tracing)
AMD Radeon RX 6000 series
In theory it will, the VFX/CG industry went through the rasterisation -> raytracing change ~10 years ago, as it simplified things (at least in the pipeline, and in the renderers themselves to some degree). It was slower in terms of compute time than rasterisation, but made up for that by not needing things like irradiance/pointcloud caches, shadow map passes, etc (the removal of which made total iteration time faster), and the fidelity it allowed was quite a bit better (global GI, accurate layered materials traced through the surface, volume SSS, etc, etc).
In terms of renderer complexity, it means that while you have to specialise how you use the rays (ray casting/tracing is really just a visibility query), it means you can use them for camera visibility, reflection, refraction, shadows, environment quite easily in a very similar manner (especially with path tracing), whereas with rasterisation, you need rasterisation for the main tri/quad drawing, then (cascading) shadow maps for shadows, then cube mapping for environment lighting/reflection, and these for rasterisation are very different techniques / algorithms.
[1] https://apps.apple.com/us/app/jet-car-stunts/id337866370
Interesting you can still get both on the app store
I thought this was ray tracing but I take it it must still takes shortcuts to do this in real time?
Is that a draw distance issue or some other approximation, it reminds me of shadow mapping going wrong.
Either way, there definitely are some leaks and other artifacts -- many corners need to be cut for this to run in real-time.
i.e. the very base of the white columns is pure white, as a disconnect from the rest of the columns.
(for those who aren't, Connor McDavid is arguably the best hockey player alive today)
[0] https://en.wikipedia.org/wiki/Colin_McRae
[1] https://en.wikipedia.org/wiki/Colin_McRae_Rally_and_Dirt
(edit: formatting)
Metro: Exodus EE (the game discussed in the video) is the only game I've played that really shows what 'RTX' and similar GPU hardware is capable of, IMO. Even CP77, which was supposed to push modern systems to their limit, feels like its ray tracing and GI stuff is janky and tacked-on.