Need help with ioq3-renderer-bgfx?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

jpcy
141 Stars 22 Forks GNU General Public License v2.0 548 Commits 0 Opened issues

Description

A renderer for ioquake3 that uses bgfx.

Services available

!
?

Need anything else?

Contributors list

# 81,727
Lua
D
Shell
directx...
547 commits

ioq3-renderer-bgfx

Actions Status License: GPL v2

This is a renderer for ioquake3 that uses bgfx to support multiple graphics APIs.

Minimum requirements: OpenGL 3.2 or Direct3D 11.

Features

  • Anti-aliasing - MSAA, SMAA
  • Soft sprites
  • Real dynamic lights, with extra dynamic lights for Q3A weapons - BFG, Lightning, Plasma, Railgun
  • Bloom

Screenshots

| Bloom | Extra Dynamic Lights | |---|---| | | |

| Planar Reflections | Soft Sprites | |---|---| | | |

Binaries

| Windows (x86) | Linux (x86_64) | |---------------------------------------------------------------------------------|--------------------------------------------------------------------------------|

These are updated after every commit.

Compiling

premake5 gmake
if premake5 is in your PATH. Otherwise,
./bin/premake5 gmake
to use the local copy of premake.

The generated makefiles are written to

build
.

Linux requirements

Packages: libgl1-mesa-dev libsdl2-dev

Cygwin/MinGW-w64/MSYS2 requirements

ioquake3 SDL2 libs and headers are required. Clone ioquake3 to the same parent directory as ioq3-renderer-bgfx.

Visual Studio

Use ioq3-premake-msvc.

Recompiling Shaders

Linux/Cygwin/MinGW-w64/MSYS2:

premake5 shaders
or
./bin/premake5 shaders

Visual Studio: run

bin/shaders.bat

Usage

Copy the renderer binaries from

build\bin_*
to where you have a ioquake3 test build installed.

Select the renderer in-game with

cl_renderer bgfx
followed by
vid_restart
.

Console Variables

Run the following console variables without any arguments to see a list of possible values.

Variable

Description
raa Anti-aliasing.
rbackend Rendering backend - OpenGL, Direct3D 9 etc.
rbgfxstats Show bgfx statistics.
rbloom Enable bloom.
rbloomScale Scale the bloom effect.
rdynamicLightIntensity Make dynamic lights brighter/dimmer.
rdynamicLightScale Scale the radius of dynamic lights.
rextraDynamicLights Enable extra dynamic lights on Q3A weapons.
rfastPath Disables all optional features to improve performance.
rlerpTextureAnimation Use linear interpolation on texture animation - flames, explosions.
rmaxAnisotropy Enable anisotropic filtering.
rtextureVariation Hide obvious texture tiling in a few Q3A maps.
rwaterReflections Show planar water reflections. Only enabled on q3dm2 for now.

Console Commands

Command

Description
r_captureFrame Capture a RenderDoc frame.
screenshotPNG

RenderDoc

The renderer must be built in debug mode -

make config=debug_x86
or
make config=debug_x86_64
.

Place the RenderDoc shared library -

renderdoc.dll
or
librenderdoc.so
- in the same directory as the renderer binary.

Use the

r_captureFrame
console command to capture a frame. Bind it to a key so the console doesn't show up in the capture.

Capture files will be saved to the same directory as the ioquake3 executable as

ioq3-renderer-bgfx_frameX.rdc
where X is the frame number.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.