From 63decee97db175b69830e6b7255f779852c9032b Mon Sep 17 00:00:00 2001 From: Robert Beckebans Date: Sat, 5 Apr 2025 15:30:41 +0200 Subject: [PATCH] Merged changelogs to prepare RELEASE NOTES for 1.6.0 release --- RELEASE-NOTES.md | 328 ++++++++++++++++++----------------------------- 1 file changed, 124 insertions(+), 204 deletions(-) diff --git a/RELEASE-NOTES.md b/RELEASE-NOTES.md index 076205a9..8f718e60 100644 --- a/RELEASE-NOTES.md +++ b/RELEASE-NOTES.md @@ -18,208 +18,39 @@ _______________________________________ TBD - RBDOOM-3-BFG 1.6.0 _______________________________ -## .plan - February 1, 2025 - -This test build improves the Blender .glb map workflow. - -Changelog: - -* editLights supports .glb maps via _extra_ents.map file - -* Use DOOM-3-slim.fgd in model zoo maps - -* Fixed messed up coords in makeZooMapForModels command - -* Throttle down to 15 fps if the engine runs in the background or is unfocused - -* Small bugfix when it comes to entity rotations in .glb maps - -* Replaced CPC color palette with a new one closer to the Amstrad - -* Allow flying around lights by holding Mouse2 in editLights mode - -* Fixed crash when switching maps and editLights is still running - - -## .plan - January 16, 2025 - -This test build comes with HDRI support and a few critical bugfixes that save video memory and avoid unnessessary duplicated .bimage files. - -Changelog: - -* Fixed bad lightgrid lookups if models span multiple areas. close #965 - -* Fixed several bugs in the .bimage lookup logic - -* Added HDRI extension to the material system - -* Added default loading screen for custom maps - -* Simplified image loading code - -* Fixed potential memleaks in R_LoadEXR and R_WriteEXR - -* Added cacheGlobalIlluminationData cmd to turn env/maps/*.exr into .bimage files - -* Apply invertGreen( normalmap ) with DX normalmaps and makeMaterials - -* Added some docs by Mr.Elusive about the BFG architecture - - - -## .plan - January 02, 2025 - -This test build comes with a new TrenchBroomBFG build that drastically reduces the load time of maps that use custom models with higher polycounts than the typical Doom 3 models. This reduces the load time to seconds instead of minutes and makes the editor feasible to work with more modern models like Epic's Sun Temple demo or Crytek's Sponza level. - -Besides that RBDoom has a new binary model format that was necessary to avoid crashes when reloading custom maps. -This will also regenerate all models like .glb -> .bglb, .obj -> .bobj and so on. - -Changelog: - -* Reduced peter panning effect and shadow acne with Nvidia cards - -* Added new .bproc format to avoid crashes with custom maps - -* Replaced in the ingame light editor 'Save as .map' button with 'Apply' button. Use Ctrl+S instead to save the map. - -* Optimized retro shaders by precomputing deviation - -* Deleted NES shader - -* Disabled scrolling scanlines in Newpixie CRT shader - -* Replaced Sega retro shader quant with a fixed 64 color palette - -* Don't quit rbdmap quietly if running in imtui mode - -* Quadruppled vertex cache limits like before in RBDoom 1.4 - -* Extended makeMaterials to handle UE4 specular maps - -* Added textures/common/black material to block light behind walls - -* glTF culling bugfix caused by uninitialized variable - -* Fixed menu button controller mappings with SDL - -* Use correct controller button->joystick event mapping for SDL joystick polling - -Changelog TrenchBroomBFG: - -* Replaced ray traced model picker code using TinyBVH which allows to load bigger glTF 2 maps almost instantly instead of minutes - - -## .plan - December 6, 2024 - -This is a first test build for the new blood effects. - -The new blood materials build upon sikkpin's concept of adding reflections to blood. This time, instead of using a static cubemap, the system leverages env_probes with parallax-correct cubemaps. Additionally, Screen Space Reflections are employed to ensure high-quality visuals, even when env_probes are not manually adjusted for all maps. - - -## .plan - November 27, 2024 - -Another test build. - -Changelog: - -* Added new PBR roughness and specular color estimation by Kennedith98 - -* Tuned r_lightScale influence for PBR so specular is less dominant - -* Added back SMAA so r_antiAliasing 1 = SMAA, 2 = TAA - -* Fixed TAA problems with 3D guis and transparent decals - -* Killed 3DTV render code. It's either VR or flat. - -* MOC now renders only at the half resolution for better perf - -* Improved interpolation between env_probes, especially when they are parallel placed - -* Updated NVRHI with Nvidia's latest patches - - - -## .plan - September 06, 2024 - -This is a test build for the Masked Software Occlusion Culling (MOC) implementation. Many modern engines have a solution like Umbra integrated that automatically hides hidden objects in the renderer before they even get rendered to optimize the performance. - -MOC is a technique for efficient CPU occlusion culling. It supplements the traditional BSP portal culling method. MOC works by directly updating a hierarchical Z-buffer without computing the full resolution depth buffer. This allows culling many pixels in parallel using SIMD instructions. The algorithm has very low memory overhead but can reduce the number of draw calls in worst case scenarios by up to 40% which makes it also very interesting for the VR implementation. - -Steve Saunders also provided a few Linux/Posix specific cleanups. - -Changelog: - -* Fixed glTF normals when transforms have not been applied in Blender. close #929 - -* Added Masked Software Occlusion Culling library by Intel - -* Added material textures/common/occlusion - -* Only draw BSP surfs/patches to masked buffer to reduce tris - -* Fixed a few bugs in the convertMapQuakeToDoom command - -* Show masked occlusion time with com_showFPS 3 - -* Increased vertex cache limits for TSM mod #918 #660 - -* rbdmap for Win32: Suppress warnings from imtui / imgui / pdcurses / wincon third-party source libraries - -* rbdmap for Linux/Posix: Replace deprecated readdir_r() with readdir() to eliminate warnings - -* rbdmap: Suppress warnings from zlib and minizip third-party source libraries - -* Fix rbdmap / idlib PCH mismatch and cleanup rbdmap PCH files after build - - -## .plan - August 17, 2024 - -This update improves the PSX render mode to be more faithful to the original output of the PS1. -It emulates the lack of floating point rasterizer hardware and affine texture mapping. - -Besides that there is a new 4 Color CGA mode and new NES render mode with 55 colors. - -There is also a third advanced CRT shader that is a nice alternative if you prefer the look of a TV shadow mask. - -Changelog: - -* Fixed corpse burn effect of demons - -* PSX affine texture mapping - -* Ported advanced CRT shader by whkrmrgks0 - -* Added 4 color CGA shader - -* Added NES render modes - -* Store world normals in gbuffer - -* Some experiments similar to Obra Dinn and fixed old SSAO - -* Made PSX vertex jitter resolution independent - -* Implemented typical PSX style vertex jittering - - - -# RBDOOM-3-BFG 1.6.0 adds Retro Rendering Support and Better Modding Support +# RBDOOM-3-BFG 1.6.0 adds Retro Rendering and Better Modding Support ## Retro Rendering + Experience the nostalgia of the 8-bit and 16-bit eras with the Retro Rendering Modes, including the Commodore 64, Amstrad CPC 6128, Sega Genesis/Megadrive and Sony PSX styles. -Immerse yourself in the authentic Commodore 64 mode, faithfully replicating the original 16-color palette. Step into the vibrant world of Sega Genesis, with its impressive 512-color range thanks to 3-bit per channel technology. And for those seeking a true PlayStation experience, the PSX mode brings back unfiltered textures and adds a captivating screen space dithering effect. +Immerse yourself in the authentic Commodore 64 mode, faithfully replicating the original 16-color palette. Step into the vibrant world of Sega Genesis, with its impressive 512-color range, limited to 61 colors on screen simultaneously. And for those seeking a true PlayStation experience, the PSX mode has been improved to be more faithful to the original output of the PS1. It emulates the lack of floating point rasterizer hardware and affine texture mapping, while also bringing back unfiltered textures and adding a captivating screen space dithering effect. -The retro rendering modes transport you back to the golden age of gaming, with a resolution that mimics the beloved 320x240 display, now extended to a widescreen 480x270 format. To enhance the arcade feel, two new CRT filters are included that overlay the entire game, including Doom 1 & 2. +The retro rendering modes transport you back to the golden age of gaming, with a resolution that mimics the beloved 320x240 display, now extended to a widescreen 480x270 format. +To enhance the arcade and TV feel, 3 new CRT filters are included that overlay the entire game, including Doom 1 & 2. To access these retro rendering modes, simply navigate to the menu options and select your desired mode. Alternatively, you can control the rendering mode by modifying the `r_renderMode` variable. The available values for `r_renderMode` are as follows: Default (0) for Doom 3, 2-bit CGA (1), 2-bit CGA Highres(2), Commodore 64 (3), Commodore 64 Highres (4), Amstrad CPC (5), Amstrad CPC Highres (6), Sega Genesis (7), Sega Genesis Highres (8) and Sony PSX (9). +## Masked Occlusion Culling + +Experience improved performance with the new Masked Software Occlusion Culling (MOC) implementation by Intel. MOC enhances rendering efficiency by hiding objects not visible to the player, complementing the traditional BSP portal culling method. + +MOC uses advanced SIMD instructions to update a hierarchical Z-buffer, enabling efficient parallel culling of hidden pixels with minimal memory overhead. This technique can reduce significantly draw calls in complex scenarios, making it particularly beneficial for VR and high-performance gaming. Additionally, MOC preemptively culls hidden light volumes, optimizing the renderer backend for a smoother visual experience. + + + +## More Realistic Blood + +The new blood materials take inspiration from Sikkpin's innovative approach to reflective blood effects. By replacing static cubemaps with advanced env_probes featuring parallax-correct cubemaps, the system delivers a more dynamic and immersive visual experience. Combined with Screen Space Reflections, these enhancements ensure consistently high-quality visuals, even in maps where env_probes are not manually fine-tuned. + +[![More Realistic Blood](https://img.youtube.com/vi/xfXu2EPN74g/0.jpg)](https://youtu.be/xfXu2EPN74g) + ## Better Ingame Light Editor + The Light editor has undergone a complete revision, bringing you an enhanced and intuitive editing experience. With the new and improved Light editor, you can effortlessly modify and fine-tune your lighting setups. To access the Light editor, simply use the `editLights` command in the console or bind it to a convenient key, such as F1. Once opened, the Light editor can be docked into different screen areas, allowing you to customize your workspace to suit your preferences. @@ -247,6 +78,10 @@ TrenchBroomBFG has some exciting updates! Now, you can toggle the visibility of Light entities with models are automatically grouped into new light groups and the models are moved to new func_static entities when using the `convertMapToValve220` console command. This workaround allows you to work with TrenchBroom's clean architecture where point entities cannot have optional brushes or patches. +This groundbreaking update to TrenchBroomBFG, delivering lightning-fast load times for maps featuring custom, high-poly models. Say goodbye to waiting minutes—now, maps load in mere seconds, empowering creators to seamlessly work with modern assets like Epic's Sun Temple demo or Crytek's Sponza level. + +Additionally, RBDoom-3-BFG now features a cutting-edge binary model format, ensuring stability and eliminating crashes when reloading custom maps. This new format automatically regenerates models, converting formats such as `.glb` to `.bglb` and `.obj` to `.bobj`, streamlining your workflow and enhancing your creative experience. + Upgrade your mapping experience with TrenchBroomBFG! ## Standalone BSP Compiler @@ -263,12 +98,12 @@ rbdmap.exe uses Imtui with pdcurses on Windows to have features a like progress Also, there is a `significant improvement in dmap speed` by reducing the number of prints to a level similar to q3map. For example, Mars City 1 now compiles in 15 seconds instead of 88 seconds on the developer machine. -## Improved Modding Support +## Improved Virtual Filesystem The virtual filesystem has been revised, bringing back .pk4 support and changing the file lookup order in .resources paks to match previous id Tech engines. It should help modders to organize the content as the filesystem has been slightly changed so paks in mod folders are ensured to have a higher priority regardless of multimod filename clashes. So there is no need to name your pak files zzzWhatever.resources. -E.g. a Multimod setup: +E.g. a Multimod setup: ``` RBDoom3BFG.exe +set fs_game mod_E3_Alpha_Weapons +set fs_game_base mod_D3HDP_Lite ``` @@ -276,7 +111,7 @@ RBDoom3BFG.exe +set fs_game mod_E3_Alpha_Weapons +set fs_game_base mod_D3HDP_Lit mod_D3HDP_Lite is the base mod and mod_E3_Alpha_Weapons is a submod that extends it even further. The path command shows the priority how a file is being looked up in the virtual filesystem. -Higher is better. +Higher is better. ``` Current search path: C:\Users\rober\Saved Games\id Software\RBDOOM 3 BFG/mod_E3_Alpha_Weapons @@ -304,14 +139,13 @@ C:\Projects\RBDOOM-3-BFG/base/_common.resources (2262 files) zzz_E3_Alpha_Weapons.resources has a higher priority now regardless of how the other paks are named. - ## Miscellaneous Changes & Bugfixes Steven Pridham has resolved the fullscreen FX effects, enhancing the game's visuals. A classic flashlight option has been added for a nostalgic gameplay experience. -Private multiplayer matches now function flawlessly, with ongoing efforts to fix the online game browser and leaderboards. +Private multiplayer matches now function flawlessly. Steven Saunders, has addressed many Linux/macOS related compiler warnings and improved the renderer by minimizing the swapchain latency with DX12 / Vulkan. The renderer now also supports the Optick profiler using the Vulkan backend. Optick has been enhanced for macOS and Vulkan users. @@ -326,13 +160,103 @@ A critical issue with recursive texture loading during the loading screen has be The bug causing the game to crash when triggering the bathroom mirror horror effect in Vulkan has been resolved. - - Changelog: -* Allow skipping intro videos with Escape or Xbox controller Menu button +* Quadruppled vertex cache limits like before in RBDoom 1.4 -* Fixed enemy corpse burn effect +* Added new PBR roughness and specular color estimation by Kennedith98 + +* Throttle down to 15 fps if the engine runs in the background or is unfocused + +* Reduced peter panning effect and shadow acne with Nvidia cards + +* Fixed corpse burn effect of demons + +* New makeMaterials `` cmd that generates a .mtr file based on PBR naming conventions + +* extractResourceFile copysound automatically converts .idwav files to .wav files in the ADPCM format + +* Added options "all" and "copysound" to extractResourceFile cmd + +* editLights supports .glb maps via _extra_ents.map file + +* Use DOOM-3-slim.fgd in model zoo maps + +* Fixed messed up coords in makeZooMapForModels command + +* Small bugfix when it comes to entity rotations in .glb maps + +* Allow flying around lights by holding Mouse2 in editLights mode + +* Fixed crash when switching maps and editLights is still running + +* Fixed bad lightgrid lookups if models span multiple areas. close #965 + +* Fixed several critical bugs in the .bimage lookup logic that saves disc space and VRAM memory + +* Added HDRI extension to the material system + +* Added default loading screen for custom maps + +* Fixed potential memleaks in R_LoadEXR and R_WriteEXR + +* Added cacheGlobalIlluminationData cmd to turn env/maps/*.exr into .bimage files + +* Apply invertGreen( normalmap ) with DX normalmaps and makeMaterials + +* Added some docs by Mr.Elusive about the BFG architecture + +* Added new .bproc format to avoid crashes with custom maps + +* Replaced in the ingame light editor 'Save as .map' button with 'Apply' button. Use Ctrl+S instead to save the map. + +* Don't quit rbdmap quietly if running in imtui mode + +* Extended makeMaterials to handle UE4 specular maps + +* Added textures/common/black material to block light behind walls + +* glTF culling bugfix caused by uninitialized variable + +* Fixed menu button controller mappings with SDL + +* Use correct controller button->joystick event mapping for SDL joystick polling + +* Tuned r_lightScale influence for PBR so specular is less dominant + +* Added back SMAA so r_antiAliasing 1 = SMAA, 2 = TAA + +* Fixed TAA problems with 3D guis and transparent decals + +* Killed 3DTV render code. It's either VR or flat. + +* Improved interpolation between env_probes, especially when they are parallel placed + +* Updated NVRHI with Nvidia's latest patches + +* Fixed glTF normals when transforms have not been applied in Blender + +* Added Masked Software Occlusion Culling library by Intel + +* Added material textures/common/occlusion + +* Only draw BSP surfs/patches to masked buffer to reduce tris + +* Show masked occlusion time with com_showFPS 3 + +* Fixed a few bugs in the convertMapQuakeToDoom command + +* PSX affine texture mapping + +* Ported advanced CRT shader by whkrmrgks0 + +* Added 4 color CGA shader + +* Made PSX vertex jitter resolution independent + +* Implemented typical PSX style vertex jittering + +* Allow skipping intro videos with Escape or Xbox controller Menu button * Fixed VRAM memory leak when reloading maps @@ -380,12 +304,6 @@ Changelog: * Fixed leaking problems when converting a map to the Valve 220 format -* New makeMaterials `` cmd that generates a .mtr file based on PBR naming conventions - -* extractResourceFile copysound automatically converts .idwav files to .wav files in the ADPCM format - -* Added options "all" and "copysound" to extractResourceFile cmd - * Save .bcanim files under generated/cameraanim/. close #866 * Reduced Spam and crashes when r_useValidationLayers 2 was enabled (Thanks to Stephen Saunders) @@ -507,6 +425,8 @@ Changelog TrenchBroomBFG: * the DOOM-3-models.fgd has been restored +* Replaced ray traced model picker code using TinyBVH which allows to load bigger glTF 2 maps almost instantly instead of minutes +