Hey Argonil,
We look forward to seeing your future experiments with RTX Remix! On to your questions:
Without commenting on Unreal Tournament 2004 specifically, here’s how it should work.
As long as players have the RTX Mod with remastered assets, they will see the maps with updated visuals. The server is uninvolved in the rendering process and is not relevant to whether users will see updated visuals–it’s all about the RTX Mod users have locally stored on their PC. Because the RTX Remix runtime is only influencing the visuals, players should in theory be able to play against each other even if some players are seeing the vanilla game while others are using RTX Mods.
To correct a misconception, you may not have to remaster every custom map. In old games, many custom maps reuse the same textures and assets. RTX Remix should replace all of those textures and assets if the mod has replacements available, even if the level geometry is being seen for the first time.
As for dynamically downloading RTX Mods in game for players who do not have those assets already–that type of functionality would have to be modded into the original game by the modder so that remastered assets are downloaded and put into the RTX Remix Runtime's asset folder. RTX Remix wouldn’t be involved in architecting such a system.
Another thing to note–Anti-cheat software may prevent RTX Remix from working in certain competitive multiplayer titles.
The renderer would fall back to showing classic assets, wherever it has no replacement assets to point to.
Hey DarioRT64, big fan of your mods!
Very detailed questions!
This topic has come up a lot and we are deep in research, but there’s nothing to announce today.
It depends on the implementation used by the game. For CPU based skinning, we get the post-skinned data in Remix, and while it renders correctly, it's a bit more challenging to replace these assets. It’s something we would like to look at closer in the future.
For GPU based (fixed function) skinning, we actually have access to the pre-skinned mesh and the skeleton (including the collision volumes for raytracing) which gives us a great deal of flexibility to modify and reskin characters in RTX Remix.
We saw some (incorrect) speculation that we did not include NPC’s in our Morrowind RTX showcase because we weren’t able to properly mod them. But Morrowind actually passes us pre-skinned meshes and the skeleton so it was perfectly in our capabilities to modify the NPCs. In order to give the artists time to do an incredible job, we narrowed the scope of the project to an indoor environment without NPCs.
Variable level of detail during streaming is an interesting case. Here's how it should work: you would need to take multiple captures at each level of detail, and RTX Remix would regard each asset at each level of detail as a unique instance. For example, imagine an asset has three levels of detail depending on the distance of the player–at 5 meters it’s high quality, at 15 meters it’s middle quality and at 25 meters it’s low quality. That object would actually be regarded as three separate objects depending on the distance of the player.
For the modder, they have two options. Recreate all three assets with different levels of detail to give you a similar feeling as the original game. Or map a high quality asset to all three instances, which would help make the asset feel more at home in a modern graphical context.
Hope that helps Dario. Can't wait to see what you can do with RTX Remix!
Hey DarianStephens,
I love technical questions like this.
I want to preface some of these specific questions by saying lots of aspects of RTX Remix are still in motion, and many games behave in unique ways depending on a host of variables including their lighting model. Not every title has been tested.
For dynamically loaded objects, as long as the capture properly includes each object that is dynamically loaded in and out of an area, the replacements should also dynamically load.
As far as day/night cycles go, that’s a trickier question. Assuming the celestial bodies are coded as directional lights, the ray traced conversion should retain that feeling of dynamic day and night cycles with more realistic shadowing and skies. From our outdoor tests in Mount and Blade: Warband, we’ve seen some stunning sunsets and sky lighting with realistically rendered light rays peeking through clouds–it’s entrancing to see that kind of thing in games from the 2000s!
If it's a lit skybox it should also work. But developers in those days took a lot of shortcuts to simulate a lit sky and there might be certain approaches to doing classic lighting that we haven’t seen in our testing, and therefore haven’t yet addressed.
There shouldn’t be a need to differentiate between outdoors/indoors in a ray traced lighting model since lights begin to behave realistically. An indoor environment would simply possess more meshes and geometry that lights bounce off of, or that occlude lights to cast more shadows. Both outdoor and indoor environments would have to be relit with the context of realistic lighting, which is something we show in our RTX Remix overview video: https://youtu.be/Vg52-HZhrFc?t=163.
On adjusting RTX parameters dynamically, it might help if you can provide us with an example of a game that we can research that would require something like that, to help illustrate the use case (I've sent you a DM). As for RTX Remix’s options with respect to celestial bodies, classic games can specify a directional light (vector + light parameters) and RTX Remix will ray trace it accurately. Or the original game could have a big mesh up in the sky and we can put an emissive texture on it, or even attach a big sphere light to it. There are a lot of options as it pertains to lighting outdoor environments.
Culling is another case where there might be different interactions with RTX Remix depending on the game.
As you’ve noted, if culling causes objects to cease to exist in the original game, then the RTX Renderer would also cease rendering them. Portal has built in settings that let us disable a lot of the more aggressive culling, which lets us avoid most of those issues. It still culls lights very aggressively, so we had to implement persistent static lights even after the game stops drawing them. There are other workarounds of course–for example, we can simply attach new static lights to level geometry and disable the original lights to retain the original game’s feel without breaking the immersion of full ray tracing.
If other games don't allow customizing the culling settings, and the issue can't easily be addressed by traditional modding, then we may need to look into implementing a different system. For example, some kind of caching to improve object permanence. There are many paths to a solution and we will be paying attention to see if this becomes an issue for classic games.
As it is currently implemented, a snapshot will capture a single frame of content which includes everything rendered, whether it is in view or out of view of the player, and every object will be cataloged (alongside the geometry, textures, lighting, cameras). Some games that render the entire level might only require a single capture, while other games that have aggressive culling might require more. RTX Remix will understand duplicate instances of the same asset through a game, so a modder may already have certain assets captured from a prior room when they begin a capture in a new room/area. For a game, you will have to take multiple captures, although a single area might only need a single capture.
We did not get to every one of your questions but hopefully this demystifies things quite a bit. I should point out, another poster asked about skinning and NPC's, so definitely take a glance at the summary that Nexus Mods will post to see how RTX Remix handles that.
Hey LZKiller7,
Btw, Killer7 was one of my favorite games on the Gamecube (always hoped the Smiths would make it into Super Smash Bros).
RTX Remix really started as a way to make full ray tracing (i.e. path tracing) accessible for modders, so that faking reflections or light could be a thing of the past. Big publishers already design their games with ray tracing in mind–we think the modding community should have that same power at their disposal.
As such, in place of non-RT global illumination, volumetric lighting, and screen space reflections, RTX Remix offers highly customizable light accurate global illumination, volumetrics, and on/off screen reflections.
There are some post effects that are non-RT that allow modders to tweak the experience like bloom, tone mapping, motion blur, but the focus is to empower modders with higher fidelity lighting.
Hey Doodlezoid, interesting question.
Currently there is no such API but if there is interest for something like this, we can look to see if there’s anything we can do.
We've answered a similar question about skinning in this comment section. Please take a look at that answer for more information :).
Thank you for the kind words RokHel! We can't wait to see the response when modders actually get their hands on it. On to your (very good) questions:
One of the benefits of turning RTX On in older games is that there’s a lot of GPU performance headroom to take advantage of to modernize graphics. Particularly with performance boosting technology like NVIDIA DLSS available from RTX Remix, you can achieve both beautiful graphics and a smooth (60+ FPS) experience. However, the extent of visual bells and whistles and quality of assets a modder chooses to include is up to their discretion.
Absolutely. We recognize the best mods incorporate high quality custom assets, and that’s why we built RTX Remix on Omniverse–so that any major Digital Content Creation tool (including Adobe Photoshop, Blender, or Adobe Substance) could be used to edit the assets.We demonstrate using outside software in our RTX Remix Overview video: https://youtu.be/Vg52-HZhrFc?t=231For a full list of Omniverse connected applications, take a peek at the bottom of this page:https://www.nvidia.com/en-us/omniverse/?ncid=pa-srch-goog-574267&gclid=CjwKCAjwwL6aBhBlEiwADycBIKRo7oBbr4boAgA8BV6Rj7O1hybawzWGf26QhnVQmg-06dBMqUKrnBoCSFAQAvD_BwE#cid=ov01_pa-srch-goog_en-us?To add some clarification, a modder would modify meshes in a DCC tool and bring them into the game scene via the RTX Remix application. They might use the AI Texture Tools to super rez the textures and add physically based materials, but modifying the mesh within the RTX Remix application isn’t supported.
Yes, we will be creating documentation and tutorials so modders can get up and running quickly with the RTX Remix.
Great question VishVadeva50,
AI Super Resolution currently upscales up to 4x the original resolution of the asset, but the degree of upscale can be configured. Custom textures that a modder might have made manually will just be at whatever resolution they were created to be. During the RTX Mod export process, the exporter will handle the compression and mip generation for you (picking optimal settings for example). However, even the export process can be defined by the modder should they desire.
Hey jayserpa,
The goal is to have RTX Remix capable of modifying as many DirectX8 and 9 games with fixed function pipelines as possible. Compatibility will be an ongoing effort. We will target a number of titles for initial release and with each update, we will broaden that compatibility further.
For the technically minded, availability of the following APIs is a good predictor of compatibility:
- SetTransform(View/Projection/World, ...) - so we can understand the placement of objects and cameras in the world
- SetLight(...) - so we can understand lights in the world (their type, intensity etc).
The absolute minimum we currently need is View/Projection matrix to set up the camera correctly.
We aren’t ready yet to provide a game compatibility list for RTX Remix, but we are listening to the community’s feedback on games to focus on. I’m often in touch with modders, speaking to Nexus Mods, reviewing all of the comments people are making around RTX Remix and taking good notes on the games you all are excited to mod!
Hey Audemus,
Thank you for the informative question.
To make RTX Remix work, we have to be able to understand, parse, and re-create everything the original game does. This is already a huge task just with the fixed function DX8/DX9 pipeline. As games start to rely on shaders, it becomes even harder to accurately capture light data, texture info, and asset models.
Each step of customizability introduced by graphics APIs exponentially increases the amount of stuff RTX Remix has to know how to handle. And as you climb to more sophisticated APIs, it likely would require more and more specific code for a specific game to work with RTX Remix.
DirectX8 and 9 games with fixed function pipelines were a target for us because we can predict how things should be rendered. Compatibility could be improved for older versions of DirectX and possibly future versions of DirectX but it is a significantly more complex problem going forward.
In the future, we ourselves could expand compatibility or the community could work to introduce fixed function pipelines into existing classic games (like Modder Sajid here did in anticipation of RTX Remix):
https://twitter.com/Sajidur78/status/1581411284805120000?s=20&t=nvCiA9qcWRO6KSoKNrp4vQ.
Hey SknTheLisper!
Great question.
We are certainly interested in exploring OpenGL support but we have nothing to announce today. There are some technical hurdles such as DXVK-OpenGL support and OpenGL not exposing separate matrices for model and view transforms. All of it could be surmounted with time but our initial focus is DX8 and 9 titles with fixed function pipelines.
It would be really cool to see OpenGL modding with RTX Remix though!
Hey Argonil, thank you for the question. Ultimately it depends on the art team and what they target for any given mod. Portal with RTX is coming in under 14 gigabytes, but is not fully complete, which could go either way - either larger if we’ve got more content to update or smaller if we undertake more optimizations.
Hey BellCubeDev,
I'm not sure if your question regarding Reflex was a typo and meant to be about Remix? With respect to Reflex, the largely-procedural scenes in a game like Empire Earth: The Art of Conquest is unlikely to matter.
For RTX Remix, the question has a fairly complicated answer.It depends on if a mesh/texture will be procedurally generated the same way every time–if it is, it's essentially treated as a static mesh/texture from our perspective.
With the RTX Runtime (component of RTX Remix), we look at draw calls and motion vectors to see if an asset is present at runtime, and we replace it if we are able to identify it. As long as the modder captures even one scene with the generated asset/texture, we will be able to replace it. If the asset has a true dynamic mesh (like trees blowing in the wind or a never before seen asset), then RTX Remix will be unlikely to identify the object, and therefore won’t be able to replace it.
Hope that helps.
Thanks for the question dsp2003:
For Remix to replace assets with accurate collision behavior, the redone assets must match the meshes of the existing objects they are replacing. This is because we are intercepting draw calls from the game, and replacing assets at runtime. In the Morrowind case, since it was a non-playable technical demo, we opted to let our artists stretch their legs, and make a visually appealing spectacle with new assets that would lack collision in the playable game.
However, I want to point out, adding “ghost” assets into an existing game–especially older games–has a lot of viable uses. In many classic games, it is common for there to be tables covered with non-interactive props, ceiling architecture, or even foliage–all things users can add to a scene without breaking immersion, since the player never has the expectation to collide with them in the first place. Classic games often feature flat textures to represent 3D models that are already non-interactive. These textures benefit from being modeled with a 3D mesh to accurately cast shadows and interact properly with a realistic lighting model.
Also, because RTX Remix does not care about the source of the draw calls, a modder could use RTX Remix alongside another tool that can build assets with collision, and then reskin those objects via RTX Remix without restrictive memory constraints and with full ray tracing and DLSS 3 enabled in the game.
Hey AiBlastafari (great name!):
The goal is to have RTX Remix capable of modifying as many DirectX8 and 9 games with fixed function pipelines as possible. This means there will be titles like Morrowind and Mount and Blade: Warband that are highly modded that will be supported, as well as titles that have been difficult to mod before. To set expectations – compatibility will be an ongoing effort. In Beta, we will target a number of titles and with each update to RTX Remix, we will broaden that compatibility furt6er.