Readit News logoReadit News
cube2222 · 2 years ago
How does something like this work?

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?

dev_snd · 2 years ago
This is the reason it only works with directx 8 or 9: they have a pretty rigid render path with a clearly separated vertex and pixel shader pipeline.

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.

qikInNdOutReply · 2 years ago
For everything over it, nvidia would have to expose the byzantine monstrosity that is the drivers they wrote, that detect games and hotswap the buggy developer shadercode out for working nvidia shader code. And they could do that for older titles. It just wouldnt be neat.
ls612 · 2 years ago
I mean there’s plenty of DX9 games from the 2000s that would look amazing with an RTX touch up so that doesn’t seem like too bad a thing
l33tman · 2 years ago
It hooks into the DirectX fixed-function pipeline used back in the day (i.e. where you set up model/view/projection matrices and lightsource coordinates and surface materials and sent to OpenGL/Direct3D), so it knows what the programmer wanted to do, and from there it's "easy" to replace everything.

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

Deleted Comment

royjacobs · 2 years ago
This is such a good way to make these old games look really spectacular. 2d graphics of the era haven't aged particularly badly but old 3d games usually look pretty janky (imo!). Being able to literally see them in a new light is wonderful.
zokier · 2 years ago
There is increasing newfound appreciation for that early 3d visual look though. You can see that in new games being clearly inspired by that look, for example Dusk (with "overwhelmingly positive" rating): https://store.steampowered.com/app/519860/DUSK/
zimmund · 2 years ago
It's very interesting to see this new wave of games that are now evoking the childhood (or the "retro" feeling) of a new generation, in the same way pixelated games did for us not so long ago.

Much like fashion or music, the state of the art of a period consolidates into a style that becomes a design choice.

rasz · 2 years ago
Childhood trauma bonded acquired taste, like enjoying Surströmming or raw oysters. Same goes for people fondly remembering original Playstation glitchfest.
Arrath · 2 years ago
Maybe I spent far too much time playing Morrowind, but that place just feels homey. Low poly models and muddy textures and all.
hbn · 2 years ago
I also feel like cranking up the quality of scenes like this is just gonna make it more jarring when you talk to an NPC, the world freezes, and their cold, dead eyes stare into your soul as their mouth awkwardly wiggles around and corny voice acting is played at you.
officeplant · 2 years ago
I love it, but projects like OpenMorrowind and Daggerfall Unity have given me new appreciation for the older games I struggled with as a kid.
ptato · 2 years ago
For Morrowind it didn't just upgrade the rendering, it completely changed the aesthetic of the scene. Is that on purpose? At that point you can't call the results better, only different.
jandrese · 2 years ago
It seems like the big change is that the light sources now actually emit light so the scene becomes a lot brighter. Maybe part of the process should be turning down global illumination? That might make dark corners even more dark however, and "hidden" clues that were supposed to be difficult to see may become outright invisible.
Arrath · 2 years ago
It seems you'd certainly be able to go in and just tweak the lighting without doing all the AI touchups, texture upscaling, and model swaps as they did in the video. Pretty wild stuff, either way.
mordae · 2 years ago
It ended up looking similar to Oblivion. So I'd wager a guess that it was the intended aesthetic, only limited by the older technology.

The only authority here would be the original designers.

bee_rider · 2 years ago
It is true that it changes the aesthetic a bit, and it is a change rather than a straight upgrade.

But the old rendering pipeline still exists I guess, and the new one look wicked cool.

FrostKiwi · 2 years ago
Don't read too much into it. It's a tech demo for a tool. Modders are supposed to make those decisions.
panki27 · 2 years ago
According to the user guide [0], it's as simple as dragging the provided DLL into the game folder. I'm going to try this out with one of my old favorites today, I doubt it'll be quite this easy.

[0] https://github.com/NVIDIAGameWorks/rtx-remix/wiki/runtime-us...

moron4hire · 2 years ago
I believe the DLL alone only makes the game moddable. Thereafter, there's still a lot of work to do to swap out low resolution and poly-count assets for more detailed ones.
jsheard · 2 years ago
The graphical tool shown for swapping out assets also isn't available yet, though it's supposed to be coming "soon".
capableweb · 2 years ago
The video seems to hint that some of the process of upgrading models can be done automatically with AI-assisted tooling.
lostmsu · 2 years ago
That last bit will hopefully be AI automated soon.
amrb · 2 years ago
The of the widescreen fixes for the Unreal games was the addition of a dll file in the game folder.
boywitharupee · 2 years ago
Would this work for counterstrike 1.6 or halflife?
panki27 · 2 years ago
I loaded up HL2 with this, it's the only game I've tested so far that actually loads the DLL correctly. I can toogle the overlay menu and I've gotten one of the menu screens to look somewhat OK. After loading into Route Canal or Sandtraps, it's pitch black, aside from the weapon and the buggy. Spent like half an hour messing with the settings but I couldn't get it to work well.

NFS:U2 and GTA:SA do not start at all with the DLL present.

boastful_inaba · 2 years ago
It could work - but loading modded DLLs on CS is a great way to get VAC banned. It would be a very expensive tech demo!
prettyStandard · 2 years ago
Is Nvidia making good on its promise to Open Source it's drivers a d stuff? They may not give us everything but this must be the third or fourth announcement from Nvidia on some open source they are providing I have seen in the past year or so.
kkielhofner · 2 years ago
Nvidia really hurt themselves with their long-standing closed source driver position. In many circles (like HN) they burned a lot of goodwill and mindshare because of their driver stance and effect it has had on Linux desktop users. It is an extremely tiny population (in terms of numbers) BUT those users (like the HN users) have an outsized impact due to the tendency for them to be in technical and decision making positions.

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

[3] - https://github.com/RadeonOpenCompute

nazgulsenpai · 2 years ago
NVIDIA open sourcing lots of non-graphic driver codebases doesn't excuse them from open-sourcing their graphic drivers. It's simple really.
kimixa · 2 years ago
Counting github repos is too dependent on how projects or organized to be anywhere near a useful metric - especially as one of the major advantages of open source is integration to the corresponding open source projects, like the linux kernel and mesa, which aren't under AMD's github.

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.

delta_p_delta_x · 2 years ago
> Nvidia really hurt themselves with their long-standing closed source driver position

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

pjmlp · 2 years ago
It is doing just fine in Hollywood, CAD folks and GPGPU.

Many companies would dream to hurt themselves that bad.

sintax · 2 years ago
Looks like it's based on DXVK from https://github.com/doitsujin/dxvk
anthk · 2 years ago
This would work great on the first Max Payne. Now if Havok was under a libre license... (or a Max Payne engine reimplementation a la re3/openrw).
v7n · 2 years ago
MP 1 & 2 remakes are in the works by Remedy

https://www.remedygames.com/games/max-payne-remake/

henriquecm8 · 2 years ago
I played Max Payne recently, and didn't find a way to fix the audio problems, other than that it runs great.
amrb · 2 years ago
feel more likely to rip game assets and build in a supported engine like Unreal.
paulmd · 2 years ago
It's too bad this is a no-go for online/competitive games, which tbh are a decent number of the DX9 games still worth playing. I'd love to use this on Team Fortress 2 but I don't want to risk it on my account with all my items without some kind of explicit approval, since this hooking/injection probably looks just like a hack to VAC.

But path-traced TF2 would own lol.

smoldesu · 2 years ago
It might be fine. If it's just messing with the way DXVK is being presented, it's not very different from the "hacking" people use to get DirectX games working on Linux. AFAIK, games aren't really picky about graphics API calls as long as everything behaves as-expected.
Bjartr · 2 years ago
Aren't there non-VAC servers you could play on?
paulmd · 2 years ago
Non-valve? Yes. Non-VAC? Very very few that I know of. Nobody wants to deal with a horde of hackers and bots, not even community servers.