Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
kennyalive committed Dec 1, 2024
1 parent cec680f commit 5c5ee85
Showing 1 changed file with 6 additions and 6 deletions.
12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,25 +5,25 @@
## What's in this repository
* This repository contains Quake 3 Arena source code which can be built with modern versions of Visual Studio.
* Only Windows x64 platform is supported.
* I don't try to fix bugs inherited from the original Q3 source code distribution - in this regard the project is Q3-bugs-friendly. I still make fixes if the compiler complains about something or if functionality starts to shows its age (SetDeviceGammaRamp).
* I don't try to fix bugs inherited from the original Q3 source code distribution - in this regard the project is Q3-bugs-friendly. I still make fixes to functionality that did not stand the test of time (SetDeviceGammaRamp).
* Some functionality related to ancient graphics hardware was removed. Also I removed compilation of qvm code to native instructions to simplify maintenance. This means all game code is run through QVM which is slower than native execution but fast enough for modern computers.
* No changes in terms of visual appearence or gameplay. Provided Vulkan backend is enabled by default. It produces the same pixels as OpenGL backend. The decision to make Vulkan a default backend was made after the issues with SetDeviceGammaRamp API.
* No changes to visuals or gameplay. Vulkan backend is now enabled by default. This change was made due to issues with the SetDeviceGammaRamp API.

## Usage
* Build `visual-studio/quake3.sln` solution and copy `quake3-ke.exe` to your local Quake-III-Arena installation folder.
* To debug the game from Visual Studio go to quake3 project settings -> Debugging -> Command Arguments. Specify game installation location: `+set fs_basepath <quake3/installation/directory>`
* To debug the game from Visual Studio, go to `quake3` project settings -> Debugging -> Command Arguments. Specify the game installation location: `+set fs_basepath <quake3/installation/directory>`

## Vulkan support
Vulkan backend provides the same graphics features as the original OpenGL-based one, including support of all renderer `r_` cvars (except the few ones that were removed as part of this project maintenance). For example, cvars for debug visualization are supported. Prototype implementation of stencil shadows is supported in Vulkan backend too (yes, Q3A shipped it, disabled by default). What does Vulkan backend add that does not exist in OpenGL version? It adds nothing new. The purpose of this project is not to create extra but to preserve what already exists.
The Vulkan backend supports everything provided by the original OpenGL version, including all available `r_` cvars. No new features have been added; the goal is to preserve existing functionality rather than expand it.

#### New cvars:
* **r_renderAPI** - 3D API to use. Requires vid_restart.
* 0 - OpenGL
* 1 - Vulkan

* **r_gpu** - Selects GPU in multi-GPU system (zero-based index). By default, GPU 0 is selected. Requires vid_restart.
* **r_gpu** - Select GPU in multi-GPU system (zero-based index). By default, GPU 0 is selected. Requires vid_restart.

* **r_vsync** - Enables vsync in Vulkan. It is recommended to set com_maxFPS to 0 if the monitor's refresh rate is higher than the current com_maxFPS value. Requires vid_restart.
* **r_vsync** - Enable vsync in Vulkan. Requires vid_restart.

* **r_shaderGamma** - Use compute shader to apply gamma instead of legacy HW gamma API (SetDeviceGammaRamp).

Expand Down

0 comments on commit 5c5ee85

Please sign in to comment.