Skip to content

Releases: BredaUniversityGames/DXX-Raytracer

Version 1.2.0

08 Jun 20:16
Compare
Choose a tag to compare

Fixed texture mod loading

The previous build required you to write the texture path without the extension for material (.mat) files. In the new build it is now accounted for and will correctly load the texture files regardless of the .png or .dds file description.
In addition, even if a material file has marked a texture as texture.png, it is still able to load the .dds version of that texture if it can find one. So modifications on material files to support .dds is not required.

Dynamic texture loading

The big new feature of this build, you load in textures dynamically when you need them in a level. This reduces the overall VRAM usage which helps a wider selection of graphic cards with lower VRAM while also enabling them to use high-resolution texture packs. Load times between levels have slightly increased since the game will now load the required textures for each level instead of loading all of them on startup.

Full changelist

  • Added dynamic texture loading
  • Added more light on textures meant to be lights
  • Fix texture mod loading
  • Fix issue related to cloaked ships showing up as green instead of black
  • Fix issue with compressed texture with less then 8 bits per pixel
  • Fix automap aspect ratio

Contributors

Thank you @Lehm2000 for:

  • Adding dynamic texture loading #24
  • Adding more light on textures meant to be lights #25
  • Fix texture mod loading #23
  • Fix issue related to cloaked ships showing up as green instead of black #19
  • Fix issue with compressed texture with less then 8 bits per pixel #18

Thank you @jstanley0 for:

  • Fix automap aspect ratio #17

Version 1.1.0

17 Feb 20:38
a36d7fd
Compare
Choose a tag to compare

AMD FSR 2.2

Yes, AMD FSR 2.2 is now fully integrated into the DXX-Raytracer and supports 4 different upscaling modes (as well as no upscaling). This should especially help the lower end graphics cards, and I am very curious to see how the performance looks on those. Please note that our own TAA and AMD FSR 2.2 exclude each other (because they do similar work, except TAA does not do upscaling). So if you choose to use AMD FSR 2.2 with no upscaling selected, you might as well use our own TAA instead, since its cheaper and gives you very similar results. The upscaling modes follow the recommendations given by AMD:

No Upscaling: 1.0x - Output resolution is the same as the render resolution
Quality: 1.5x upscaling
Balanced: 1.7x upscaling
Performance: 2.0x upscaling
Ultra performance: 3.0x upscaling

Texture compression

I think some people with high-res texture packs will definitely like this one. Texture compression with DDS files is now supported, meaning that your GPU VRAM will not be eaten up as quickly as before. To use texture compression, simply convert your textures from PNG to DDS. The game will first try to load the DDS file, and will fall back to the PNG file if no DDS file was found.

NVIDIA driver related crash

In December 2023 we received the first report of this crash in our GitHub issues, but over time it turned out that way more people are affected by this than initially thought. The issue was fixed and NVIDIA users with latest drivers can enjoy the path tracing goodness once more.

DXR Inline Raytracing

This is more relevant to devs since the average end user won't even see any of this, but all of the raytracing shaders have been rewritten to use the DXR Inline Raytracing API instead of DispatchRays with its shader tables. Inline raytracing makes the raytracing process less error prone and is easier to debug. The code can still be built with DispatchRays and shader tables, but the build we ship from now on will use DXR Inline Raytracing instead.

Full changelist

Added AMD FSR 2.2
Added DXR Inline Raytracing
Added DDS texture compression (Credit to Jeffrey Adams for the original implementation)
Added a python script to convert PNGs to DDS files
Added VSync toggle to the raytracing options menu
Added Upscaling & AA setting to the raytracing options menu
Added FSR2 upscaling mode to the raytracing options menu
Added FSR2 reactive mask flag for materials that write into the FSR2 reactive mask to reduce artifacts*
Added FSR2 reactive mask debug render mode
Added support for output independent render resolution in the render backend
Added output & render resolution to the render settings debug menu
Added FPS & frame time to the render settings debug menu, which are averaged over one second
Added missing dxcompiler.dll and dxil.dll files to the repository (relevant for devs)
Added toggle for inline raytracing/dispatchrays in assets/shaders/include_shared/shared_common.hlsl.h (relevant for devs)
Changed maximum FOV from 90 to 120
Changed triple buffering to double buffering to reduce input lag if GPU bound
Changed hard cap for FPS from 200 to 999
Changed some of the raytracing option names to be easier to understand
Fixed crash related to newer NVIDIA drivers
Fixed normals and tangents on rotated texture overlays (Credit to Jeffrey Adams for fixing this)
Fixed level geometry sometimes being rotated incorrectly (Credit to kevin/klmcdorm for fixing this)
Removed the path tracing reference mode

To create DDS textures: Download NVIDIA's https://developer.nvidia.com/gpu-accelerated-texture-compression to compress the textures. We have prepared a script for you to convert a batch of textures for you to the correct format and settings. You can run the python script in a command line python PNGToDDS.py with a path to a directory to generate an nvtt file. That file can then be executed with nvtt_export --batch ".nvtt". That will generate DDS files for all PNG files in that directory that follow our naming conventions (_basecolor.png, _normal.png, _metallic.png, _roughness.png, and _emissive.png) and use the correct settings for each of these types. Make sure you generate DDS textures with mips.

*FSR2 reactive mask flag: Materials that are part of a texture animation or emit light should be marked with the new flag in the material editor, called FSR2 reactive mask. This is so that materials that do not write to the depth buffer or do not have motion vectors applied to them can be treated differently for the upscaling, reducing artifacts significantly. If you adjust the materials/textures, make sure that for these types of materials you use that flag.

Version 1.0.1

19 Jul 20:43
Compare
Choose a tag to compare

Patch 1.0.1 (Bugfixes)
This is a smaller patch which contains a bunch of fixes for bugs and crashes reported by the community, as well as some bugs we still had tracked in our development repository.

Change-list:

  • Added options to save and load light settings for global lights and weapon lights in the lights debug menu
  • Added options to configure strength of headlights in the raytracing options
  • Added an option for "smooth textures" (bilinear filtering instead of point filtering) in the raytracing options
  • Fixed NaN values (black nanobot swarm) occurring while rendering the level
  • Fixed crashes that sometimes occurred when loading a savegame (both quicksaves and normal saves were affected by this)
  • Fixed the camera in the end level cutscene so now the ship leaving the mine will be shown properly
  • Fixed the lighting in the endlevel cutscenes (most of them were completely dark)
  • Fixed empty energy bar being visible through UI menus and elements

Version 1.0.0

19 Jun 13:35
Compare
Choose a tag to compare

The official release of Descent Raytracer

Changes:

  • Added options menu integration with most render settings
  • Added a free cam mode (ALT + SHIFT + F)
  • Added a FOV slider to the raytracing settings
  • Added raytraced enemies in mission briefings
  • Added the new 3D cockpit model and textures
  • Added mipmapping and mipmapping debug settings
  • Added gamma to the raytracing settings
  • Added exposure to the debug menu
  • Added a global light multiplier to the debug menu
  • Added render presets to the options menu
  • Added material preview plane to view the material in world
  • Added transparency for cloaking enemies and bosses
  • Added selecting multiple materials and animate between them
  • Added config files for render settings and for the 3D cockpit
  • Re-added the flashing lights once the reactor has been destroyed
  • Updated some of the textures with full physically-based materials
  • Updated most of the textures to also have emissive textures where applicable
  • Replaced the old Descent splash with an updated Descent Raytraced splash
  • Improved the tone mapping
  • Improved the light culling algorithm
  • 3D cockpit no longer casts shadows
  • Some pickups/billboards no longer cast shadows, where it made sense
  • Tweaked some of the default render settings
  • Tweaked some of the weapon lights
  • Tweaked the light culling default settings
  • Fixed custom levels not unloading properly
  • Fixed billboards being rendered upside down
  • Fixed light bleeding related to billboards (was very visible on hostages for example)
  • Fixed incorrect indirect ray bounces which caused wrong indirect lighting
  • Fixed fireflies with low roughness materials

Version 0.9.2

01 Jun 13:26
Compare
Choose a tag to compare

Update that adds controller support, color flash overlay, and some other minor changes and bug fixes.

Changes:

  • Re-added controller/joystick support
  • Added color flashes similar to the base game (e.g. when picking up power-ups and taking damage)
  • Added better error message handling in the render backend, which will now open up a proper message box with an error description and directions to our #support channel or the GitHub issues
  • Added GPU memory usage to the GPU profiler
  • Fixed dynamic lights only being submitted to the renderer every other frame, causing them to flicker (most noticeable with flares, but other projectile lights were affected as well)

Version 0.9.1 Hotfix

25 May 15:47
Compare
Choose a tag to compare

Quick hotfix to fix issues related to AMD graphics cards.

  • Fixed a bug where the level was being rendered incorrectly on AMD graphics cards
  • Fixed a bug with the UI textures having weird artifacts with AMD graphics cards
  • Fixed a bug with DPI scaling applying weird scaling behavior to the window
  • Fixed a crash that occurred when trying to open a light in the light explorer tool
  • Fixed a bug where polymodels were sometimes initialized twice
  • Added proper level unloading for geometry
  • Changed some material definitions to be in actual material files instead of being hard-coded
  • Changed the debug menu behavior when using mouse controls, will no longer track the mouse if a debug menu is in focus
  • Removed feature to switch light types in light explorer tool
  • Changed some pick-ups and power-ups to be more visible, as they were incredibly hard to see in dark sections of the game

Version 0.9.0

18 May 13:32
Compare
Choose a tag to compare
v0.9.0

Version 0.9.0