Nvidia RTX Remix Runtime Open Source Available Now
nvidia.com
nvidia.com
Don't most of these games have custom code for rendering and lighting? How is this able to fit into that custom code automatically?
Or is the automation here very limited and you just have to reverse engineer these and find the right hookpoints, while this project just provides the code that you can hook into the games?
For directx 8, you would for example specify light sources as part of special draw calls to the directx API, which makes it easier to translate them to a ray traced scene graph.
Shader tools like reshare also use heuristics to detect which of the framebuffers contains a depth map to add effects like SSAO to older games.
I imagine that rtx remix can to similar things to detect where in a shader the light coordinates are stored: after all most shaders look pretty similar when it comes to implementing a Phong shader etc.
Excerpt: "Scene manager, which uses information coming through the D3D9 fixed function API to create a representation of the original scene, track game objects frame to frame, and set up the scene to be path traced."
Much like fashion or music, the state of the art of a period consolidates into a style that becomes a design choice.
The only authority here would be the original designers.
But the old rendering pipeline still exists I guess, and the new one look wicked cool.
[0] https://github.com/NVIDIAGameWorks/rtx-remix/wiki/runtime-us...
NFS:U2 and GTA:SA do not start at all with the DLL present.
However, Nvidia (other than the driver) has a TON of open source work. In addition to contributions all over the place in the relevant open source ecosystems/projects they have 349 repos on Github[0]. They also have a variety of different organizations on Github (for some reason) like Triton Inference Server that has another 30 repos[1]. If you start wandering through these repos these aren't small efforts either - it's clear Nvidia puts a TON of resources and investment in open source.
At the risk of making this another Nvidia vs AMD thread, AMD (the open source desktop darling) by comparison has 39 repos on Github[2]. Their entire project for ML has a total of another 39 repos[3].
If it weren't for the proprietary closed-source desktop driver souring people it would be clear and obvious how much of a supporter of open source Nvidia is.
[0] - https://github.com/NVIDIA
[1] - https://github.com/triton-inference-server
[2] - https://github.com/amd
Your comment is exactly what I'm talking about "Nvidia has millions of lines of open source" "Yeah but their driver though - they hate open source and I hate them". It's not that simple.
I'm not sure why it would bother anyone else that I find their lack of open source graphic drivers problematic.
https://gitlab.freedesktop.org/drm/amd/-/issues/1417
https://git.kernel.org/pub/scm/linux/kernel/git/firmware/lin...
Nobody's drivers are totally open, if you use HDMI then you aren't allowed to be fully open because HDMI Forum won't let you, that's the brightline. You have to have some blobs to deal with them and similar ultimatums from other vendors.
If you are ok with something working, as long as it's open, and major features being broken doesn't bother you... might I suggest nouveau? AFAIK NVIDIA has even started addressing the reclocking issue on the newer gens.
[0] https://github.com/NVIDIA/open-gpu-kernel-modules#user-conte...
And even then that count misses a large number of projects, like things under OpenGPU (https://github.com/GPUOpen-Drivers and https://github.com/GPUOpen-LibrariesAndSDKs) for example.
It is in NVidia's best interest to foster the ecosystem around their closed system after all, so long as it's all built upon a foundation they control (Their closed source driver, and proprietary interfaces like CUDA). Nobody thought '90s microsoft was an open source beacon, yet they "gave away" a large amount of code - mainly win32 examples and the like.
For someone who claims to be trying to avoid some "Which corporation that doesn't know you exist is the best" fight you have chosen a rather specific unbalanced comparison.
Agreed. Nvidia have a lot of abandoned Github repos where they dumped code and ran away. This lets them obey the letter of the law and release code without anybody being able to make use of it.
I’m not going to do a full LoC analysis for an HN comment or analyze recent commits. It was a sixty second way to say “Nvidia has a lot of open source and the reductive HN take/experience from Linux desktop users solely based on their experience with drivers is a tiny piece of the picture”.
That said I would bet a dinner that a full analysis of Nvidia open source vs anyone else in the field would favor Nvidia handily.
It feels a bit weird to agree that any attempt at comparing is silly, and even agreeing on how to compare impossible to define, immediately followed by "But I bet I'd win anyway".
Many companies would dream to hurt themselves that bad.
> In many circles (like HN) they burned a lot of goodwill and mindshare
I think Nvidia couldn’t really care less about ‘goodwill and mindshare’ (from HN users, of all places) and I’m sure it is really sad at how badly it is hurt by its closed-source driver position, all while rolling in its tens of billions of profit from its gaming and compute divisions.
Oh, and it still has ~90% of the discrete GPU market share.
But path-traced TF2 would own lol.
Honestly, this seems to be nvidia's way of making everything look slightly better while requiring massively stronger hardware. It feels like this was purposely done to disadvantage amd and intel
Now now, lets not forget consoles exist.
I get why they did what they did, because most TVs now days are 4k, but if you know enough about the limits of human vision, it's pretty clear that 4k is a waste for console gaming. It makes much more sense on PC, but even there the biggest noticeable difference is reading text, not playing games.
But the PS4/Xbone/Switch and prior 3D consoles certainly treated 30fps (sometimes less) as a standard in most cases. There's a reason people want to get Bloodborne ported somewhere else, because currently the only way to play it (PS4) is locked at 30fps.
hmm, yeah, i just tried turning off DLSS on a 3080. that went very poorly.
> It feels like this was purposely done to disadvantage amd and intel
they're competitors? "have some free stuff, p.s. we only spent time optimizing it for things we sell" seems pretty ok to me.
The funny part is, that's exactly what Intel did with their C++ compiler.
Did NVIDIA cripple its CPU gaming physics library to spite Intel? https://arstechnica.com/gaming/2010/07/did-nvidia-cripple-it... https://www.realworldtech.com/physx87/3/
Ubisoft comments on Assassin’s Creed DX10.1 controversy https://techreport.com/news/14707/ubisoft-comments-on-assass...
AMD says Nvidia’s GameWorks “completely sabotaged” Witcher 3 performance https://arstechnica.com/gaming/2015/05/amd-says-nvidias-game...
AMD Dubs Nvidia’s GameWorks Tragic And Damaging, Fight Over The Developer Program Continues https://wccftech.com/fight-nvidias-gameworks-continues-amd-c...
"Unnecessary geometric detail slows down all GPUs, of course, but it just so happens to have a much larger effect on DX11-capable AMD Radeons than it does on DX11-capable Nvidia GeForces. The Fermi architecture underlying all DX11-class GeForce GPUs dedicates more attention (and transistors) to achieving high geometry processing throughput than the competing Radeon GPU architectures."
https://techreport.com/review/21404/crysis-2-tessellation-to...
conveniently techreport "lost" images, but we still have archive.org https://web.archive.org/web/20121002034311/http://techreport...
I wonder if certain sponsor didnt suggest removing images to techreport. Sounds preposterous until one remembers Intel commissioned tomshardware story from 2001 https://www.tomshardware.com/reviews/hot-spot,365-4.html Turned out it was mostly a lie of omission and tomshardware published a retraction, but neither that retraction http://www.tomshardware.com/column/01q4/011029/index.html or its archive.org copy are available anymore. archive.org returns "Sorry. This URL has been excluded from the Wayback Machine." for that one single retraction link. Curiously original now confirmed to be wrong story is still there for everyone to read 22 years later, imagine that.
Also https://arstechnica.com/gaming/2010/07/did-nvidia-cripple-it...
I think we are optimizing the wrong thing. I think I'm not alone in wanting round objects more than perfectly ray-traced but polygonal objects.
The following article provides an in-depth exploration of how polygon count affects performance.
https://www.linkedin.com/pulse/polycount-understanding-model...
The smoother the edges the more polygons there are. The more polygons there are the more work the processor has to do to render them. In a very basic sense.
Now, it is absolutely possible to round the corners without incurring heavy processing cost but then you’re probably not going to get good collision, instead you’ll get incredibly obvious clipping (when one seemingly solid object passes through another without triggering collision).
So game developers have to make a choice: look good in still photos or look good in gameplay? (Clipping is a jarring experience while playing). Bonus benefit: if you do it right the lower polygon count and less fancy graphic stuff means your game runs on a wider variety of hardware (smartphones, switch, Xbox/PlayStation, PC, specialty stuff).
And that’s all not even getting into the cost of paying an artist to round those corners. Do you balloon your art payroll and have dozens of artists working on a few hundred “perfect” assets or would you rather they work on thousands of assets that are styled consistently and damn the real world verisimilitude? Games are a passion for many but capitalism invokes a cost when making them.
Those require NURBS, Non-uniform rational basis spline, and (almost) no one does NURBS assets, because it is most of the time it is a unnecessary pain to use and manipulate them directly.
The approximation to polygons when rendering is a non trivial task. Individual curved patches can be easily approximated to triangles but once you connect those patches together you have to ensure that the tessellated triangle edges match between neighboring patches. For the most part it is just easier and more performant to model with triangles and brute-force render them. One day curved surfaces may be a better choice but currently triangles are dominant.
Unreal 5's Nanite system is a big step up but it's brand new and unique. Not many games are out yet and no other big engines have a competitor technology.
- "Infinite" detail, like models that would be described by curves and others are mathematically absurdly expensive. And when you need your entire frame to be out in 16ms, there really isn't much space to keep both the advancements _and_ new very expensive math. It's done for some things like font rendering (see Slug), but it would be horrible for everything to be done that way.
- All of the tooling is still made around triangles and exporting meshes made out of triangles, because that's how everyone works.
- It's how everyone works because your GPU is good at one thing: triangles. It has dedicated units for that single goal: take triangles, and rasterize them to the screen. So, even if you made a brand new GPU with a Bézier Engine :tm: in there to make it efficient... well you still have to support all of the GPUs that only know how to do triangles, and you're back to doing math to transform these into triangles.
- Even if you do that, surprise, your screens don't do curves either, nor do your framebuffers! They're a bunch of pixels, so you just transferred your aliasing problems from "triangles along a grid don't look good" to "you need to match your curve to your grid", and if your detail becomes small enough, you now also have aliasing there.
- There's nothing that we have in this world that is round and we can't do a convincing job of with triangles. Sure, maybe something that has absurd scale, like a planet you can both see from outer space and up close: that'd be a lot of triangles to make it look smooth at all angles. It would be kind of performance wasting, but you can do it. And techniques like Nanite would actually even fix the problem a little bit.
Secondly, raymarching usually involves something different than NURBS, which are Signed Distance Functions (which Inigo,the author, is quite fond of). These have no proper authoring tools to support them. The few games that I know of that uses them are Dreams and Claybook, and that's only as a descriptor of geometry. Dreams then transforms those SDF Into point clouds, then into triangles. And Dreams has basically been the research project of an employee they went through every possible failure before reaching something tolerable.
Yes.
They are unlikely to ever be 'round'. Perhaps when the entire scene, and not just reflections is rendered by raytracers. That way one can represent mathematically correct curves. At that point we'll basically be throwing away all advancements in GPU tech.
Besides, it's utterly unnecessary when we can fake roundness by increasing the number of polygons and by clever illumination.
hehe
Someone at Nvidia of all places uploads YT video with gameplay footage at 1080 30fps with bad frame pacing and stuttering.
Cool technology. Dont know what game publishers are going to say about it, Rockstar sued for less.
Anything interesting has been released with it? Any mod.
I haven't heard/seen anything.
What a shame it can only be used on older DX 7 and 8 games.
i.e. it hasn't been available until today.