GithubHelp home page GithubHelp logo

github30 / q2rtx Goto Github PK

View Code? Open in Web Editor NEW

This project forked from nvidia/q2rtx

0.0 1.0 0.0 6.08 MB

NVIDIA’s implementation of RTX ray-tracing in Quake II

License: Other

CMake 0.24% C 73.18% Python 0.42% Batchfile 0.01% C++ 24.64% Shell 0.03% NSIS 0.09% Objective-C 0.31% Lua 0.37% GLSL 0.70%

q2rtx's Introduction

Quake II RTX

Quake II RTX is NVIDIA's attempt at implemeting a fully functional version of Id Software's 1997 hit game Quake II with RTX path-traced global illumination.

Quake II RTX builds upon the Q2VKPT branch of the Quake II open source engine. Q2VKPT was created by former NVIDIA intern Christoph Schied, a Ph.D. student at the Karlsruhe Institute of Technology in Germany.

Q2VKPT, in turn, builds upon Q2PRO, which is a modernized version of the Quake II engine. Consequently, many of the settings and console variables that work for Q2PRO also work for Quake II RTX. The client and server manuals are particularly useful.

License

Quake II RTX is licensed under the terms of the GPL v.2 (GNU General Public License). You can find the entire license in the license.txt file.

The Quake II game data files remain copyrighted and licensed under the original id Software terms, so you cannot redistribute the pak files from the original game.

Features

Quake II RTX introduces the following features:

  • Caustics approximation
  • Cylindrical projection mode
  • Dynamic lighting for items such as blinking lights, signs, switches, elevators and moving objects
  • Dynamic real-time "time of day" lighting
  • Flare gun and other high-detail weapons
  • High-quality screenshot mode
  • Improved denoising technology
  • Multi-GPU (SLI) support
  • Multiplayer modes (deathmatch and cooperative)
  • Optional two-bounce indirect illumination
  • Particles, laser beams, and new explosion sprites
  • Physically based materials, including roughness, metallic, emissive, and normal maps
  • Player avatar (casting shadows, visible in reflections)
  • Reflections and refractions on water and glass, reflective chrome and screen surfaces
  • Procedural environments (sky, mountains, clouds that react to lighting; also space)
  • Sunlight with direct and indirect illumination
  • Volumetric lighting (god-rays)

You can download functional builds of the game from NVIDIA or Steam.

Additional Information

Forum

System Requirements

In order to build Quake II RTX you will need the following software installed on your computer (with at least the specified versions or more recent ones).

Operating System

Windows Linux
Min Version Win 7 x64 Ubuntu 16

Note: only the Windows 10 version has been extensively tested.

Note: distributions that are binary compatible with Ubuntu 16 should work as well.

Software

min Version
NVIDIA driver
https://www.geforce.com/drivers
430
git
https://git-scm.com/downloads
2.15
CMake
https://cmake.org/download/
3.8
Vulkan SDK
https://www.lunarg.com/vulkan-sdk/
1.1.92

Submodules

Build Instructions

  1. Clone the repository and its submodules from git :

    git clone --recursive https://github.com/NVIDIA/q2rtx.git

  2. Create a build folder named 'build' under the repository root (q2rtx/build)

    Note: this is required by the shader build rules.

  3. Copy (or create a symbolic link) to the game assets folder (q2rtx/baseq2)

    Note: the asset packages from the binary build of Quake II RTX are required for the engine to run. Specifically, the blue_noise.pkz and q2rtx_media.pkz files or their extracted contents.

  4. Configure CMake with either the GUI or the command line and make sure to point the build at the 'build' folder created in step 1.

  5. Build with Visual Studio on Windows, make on Linux, or the CMake command line:

    cmake --build .

MIDI Controller Support

The Quake II console can be remote operated through a UDP connection, which allows users to control in-game effects from input peripherals such as MIDI controllers. This is useful for tuning various graphics parameters such as position of the sun, intensities of lights, material parameters, filter settings, etc.

You can find a compatible MIDI controller driver here

To enable remote access to your Quake II RTX client, you will need to set the following console variables before starting the game, i.e. in the config file or through the command line:

 rcon_password "<password>"
 backdoor "1"

Note: the password set here should match the password specified in the korgi configuration file.

Note 2: enabling the rcon backdoor allows other people to issue console commands to your game from other computers, so choose a good password.

q2rtx's People

Contributors

apanteleev avatar hifi avatar jayschwa avatar skullernet avatar vash63 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.