onnoj / DeusExEchelonRenderer

Fixed-Function Pipeline renderer for Deus Ex (2000), for use with Nvidia's RTX Remix
MIT License
100 stars 2 forks source link

Deus Ex 'Echelon Renderer'

Welcome to the Deus Ex Echelon Renderer; a fixed-function rendering pipeline intended for use in with NVidia's RTX Remix!

Note that this is a piece of tech, and not a mod. You can probably play through Deus Ex with this renderer, but you'll want to tweak the default rtx.conf options a bit. Hopefully, in due time, there will be proper graphics overhaul mods that utilize this or another renderer.

NvRemixBridge Screenshot 2024 03 29 - 21 06 40 59 NvRemixBridge Screenshot 2024 03 29 - 21 07 18 84

How To Use

  1. Grab the latest RTX Remix release, extract it in Deus Ex's System folder.

  2. Grab the latest release of the renderer, extract it in the game's system folder as well.

  3. If you haven't already, grab Deus Exe, again, Deus Ex's System folder.

  4. Start the game, select the "Echelon Renderer" from the list of renderers.

  5. If you use Deus Exe:

    • For the best performance, set "FPS Limit" to 0
    • Make sure to turn off "Raw Input", otherwise you cannot interact with RTX Remix: image
  6. Have fun! (Use alt+x to set a graphics preset)

Dependencies

Most users will already have these dependencies installed, but if the renderer doesn't launch properly, you can try (re)installing the following dependencies:

For developers: How to build

  1. Clone repository recursively (ie with git clone --recurse-submodules)
  2. Run cmake on the root folder with 32-bit architecture specified (ie -A win32). For convenience sake, there's a batch file in the BUILD_WIN32 folder. You can edit the file to point to your Deus Ex installation folder.
  3. Build
  4. Install (use the install target to copy the binaries to the deus ex system folder)

History

Deus Ex, released in 2000, was built using the Unreal Engine. In terms of rendering architecture, the game's renderer was largely software-driven. Vertex transformation was done in software, and then pushed to the GPU as a giant vertex soup. The lighting was baked into lightmaps.

Out of the box, Deus Ex (and other Unreal-Engine games) work poorly with Remix; from Remix's perspective, it just sees a giant vertex soup being pushed to the GPU. That vertex soup is already pre-transformed in view-space, so while some basic raytracing can happen, the results look awful, and things like lighting can never look correct.

Thankfully, the Unreal Engine shipped with a plugin system for its renderers, and Ion-storm were kind enough to release an SDK for Deus Ex which included the headers needed to write new renderers. Thanks to Marijn Kentie and others, there are various modern open-source renderers available for Deus Ex.

While taking inspiration from those renderers, this renderer is written from scratch with the goal to provide render calls in the most compatible way with RTX Remix.

Features

Limitations

TODO

TODO TO INVESTIGATE

Contributing

Contributions to the project are welcome! If you have ideas for improvements or new features, feel free to fork the repository and submit a pull request. Be sure to follow the contribution guidelines outlined in the repository.

License

Copyright (c) 2024 Onno Jongbloed

This project is licensed under the MIT License - see the LICENSE file for details. If you redistribute the renderer or create derivative works based on it, I would appreciate being attributed. Please attribute Onno Jongbloed and provide a link to the original source.

Several external libraries are used, you can find more information about their licenses in the .\EXTERNAL\ directory:

Acknowledgements

Support

For questions, bug reports, or feature requests, please open an issue on the GitHub repository. Please bear in mind that this is a hobby project, and I don't have much free time to work on this, the more information (such as screenshots, debugging attempts, etc) you can include, the better.

Disclaimer

This project is not affiliated with or endorsed by whoever owns the Deus Ex IP/rights or what became of Ion Storm, Eidos Interactive, or any associated entities. It is an independent, fan-made project created for educational and recreational purposes.