What's new in TDM 2.08: Difference between revisions

From The DarkMod Wiki
Jump to navigationJump to search
Line 80: Line 80:


<font size="3">Cabalistic has finally added the much requested SSAO feature to TDM
<font size="3">Cabalistic has finally added the much requested SSAO feature to TDM
<br>Using a method called Scalable Ambient Obscurance now areas with flat ambient
<br>Using a method called Scalable Ambient Obscurance, now areas with  
<br>lighting come alive with new detail </font>
<br>flat ambient lighting come alive with new detail </font>


* Shaders are now all GLSL OpenGL 3.x Core Context compliant
* Shaders are now all GLSL OpenGL 3.x Core Context compliant

Revision as of 13:57, 28 May 2020

Version 2.08 of The Dark Mod has not been released yet.

See the roadmap on our bugtracker.



The Dark Mod 2.08 New Baseline


TDM 2.08 casts off the problems with supporting old OpenGL versions by
modernizing all shaders to OpenGL 3.x Core Context compliant GLSL.

Long in development, many fixes related to Multi-Core, Uncapped FPS, and the 64-bit migration
are now available.

For Linux users, the project can now be compiled via cmake

Many new mapper friendly updates for Rain, Fog, Patrolling AI, and visportals have been added.

For the eye-candy crowd, new Bloom, 64-bit color mode, and SSAO options have been added!





Important CVARS

Old

  • r_postprocess_gamma and r_postprocess_brightness: these cvars have replaced the old r_gamma and r_brightness. Also gamma now has default value "1.2".
  • r_interactionProgram and tdm_ambient_method: this are the current cvars controlling "interaction" and "ambient" programs. These settings were previously available in Advanced video settings, but they are no longer visible in menu. Only change this for some debugging/investigation purposes.
  • r_uniformTransforms: setting to 0 is known to fix severe graphical issues on Intel HD 3000; please leave this as default, and let developers know if your machine needs this to run TDM properly.


New:

  • r_glCoreProfile: default value 2 forces "Core profile" OpenGL context, while value 0 says to create "Compatibility profile". Should have no visual impact. Only takes effect during engine initialization. Only change this is someone suspects that Core profile breaks something.
  • r_testSpecularFix: this controls whether specular color or diffuse collor is used to modulate specular light term. Should be used to see what was fixed or broken by the corresponding change. Set to -1 to make game switch back and forth between old and new behavior every second.
  • r_ssao_*: several cvars with this prefix can be used to tweak SSAO implementation. Although ideally you shouldn't have to touch them.
  • r_bloom*: several cvars with this prefix can be used to tweak Bloom implementation. Although ideally you shouldn't have to touch them.
  • r_tonemap: enable\disable tonemap and bloom effects (which depend on tone mapping).
  • r_usePersistentMapping, r_useBaseVertex: use new graphical features for potentially faster rendering. Should not touch these unless it is suspected that one of them causes a problem.


Experimental Graphics

  • image_useNormalCompression = 2: Initial support for RGTC compression. Similar to AMD 3Dc or D3D BC5.
Not fully working but fairly complete. Needs new GLSL based materials for water\glass or other complex ARB materials.
  • r_useParallelAddModels: an experimental cvar to further parallelize a considerable part of the renderer.
Should slightly increase FPS in many cases, but can cause all sort of problems.
  • r_useMultiDraw = 0 Do not enable, the code was reverted in 2.08 beta

Swimming variation:

  • pm_swimspeed_variation
  • pm_swimspeed_frequency



AI


  • AI can now be directly instructed to stop patrolling (easy method)
  • AI no longer sleep or sit in strange places due to path obstructions
  • AI no longer instantly lose the player when the player moves to darkness above them



Graphics


AMBIENT OBSCURANCE SSAO IN 2.08!!

Cabalistic has finally added the much requested SSAO feature to TDM
Using a method called Scalable Ambient Obscurance, now areas with
flat ambient lighting come alive with new detail

  • Shaders are now all GLSL OpenGL 3.x Core Context compliant
  • A new (improved) Bloom shader has been integrated
  • Brightness and Gamma operations are now done via shaders.
    TDM will no longer cause issues with Desktop brightness.
  • Legacy PostProcess has been replaced with integrated Tone Mapping and Gamma Correction
  • 64-bit color mode reduces banding in soft particles and fog effects
  • "Borderless window" mode integrates a bit better with OS than "fullscreen" mode (Windows-only)
  • Fixed several bugs with non-default Render Scale
  • Fixed bugs with handling water brushes, especially with complex shapes.
  • Fixed MD3 and liquid models. Animated water should work properly now.



Mapping

  • Static collision detection for rain particles
  • Better rain particles, old rain materials deprecated
  • New way to tweak rendering order of translucent surfaces: drawSortOffset spawnarg
  • Easy-to-use parallel light emanating from the sky
  • Spectrum spawnargs restrict light interaction depending on spectrum values of lights and entities
  • X-ray subview changes appearance (skin_xray) of specified entities when seen behind this surface
  • fogAlpha keywords allows mappers to specify whether alpha materials receive fog
  • "sort last" allows soft particles and other effects to render over heathaze or other postprocess shaders



Sound


  • New swim sounds
  • New mantle sounds
  • New Rope and Ladder slide sounds
  • Fixes to sound defs with dashes in the names
  • New arrow bounce sound fixes
  • AI "Help!" barks fixed



Coding


TDM 2.08 goes further with the process to modernize coding standards in TDM.

ALL legacy OpenGL functions have been replaced with modern techniques.
ARB Assembly shaders are gone and have been replaced by GLSL
C++ Library management and compiling have been improved. cmake compiling on Linux too!

Finally, performance optimizations have been applied to the rendering framework,
game code, and code base in general.



  • Precision fixes: dmap and collision-related gameplay are affected.
  • Fixed several bugs in visportals handling in dmap. This affects all existing maps, so please read Visportal Wiki
  • Fixed bug in stencil shadows computation, which was introduced in 2.07 (#5106).
It affects all parallel and projected lights when mapper runs dmap on a CPU with AVX.
It is strongly recommended to re-dmap all FMs dmapped with 2.07 if they contain such lights.
  • Added dmap warnings about rotation-hacked models, fixed culling issue (#4970).
  • Moved closer to Doom 3 BFG Vertex Buffer management (better multi-core stability)
  • Reduced state changes and draw calls
  • More reliable game modelling with "Uncap FPS" when FPS is low (fixes rope bug)



Assets


Many quality textures, models, and materials were added by both Team members and
community contributors over the 2.07 to 2.08 cycle.


  • New Beastmen characters (Kingsal)
  • New zombie characters (Springheel)
  • New "Standalone" Werebeast (Diego, Springheel, Obsttorte & Destined )
  • New environmental models (Springheel & Epifire)
  • Many more Dragofer models incorporated (Dragofer)
  • Atheran's covered furniture models have been fixed and added (Dragofer)



GUIs


  • New Inventory menu theme
  • SSAO Setting
  • Removed legacy Ambient and Interaction settings
  • Updated Bloom settings
  • Max FPS setting
  • Optional new console font



Gameplay


  • Further mantling fixes for running and jumping
  • Swimming now has an undulating animation
  • Shouldering now has an animation
  • Ropes no longer become unstable with low FPS and uncapped FPS set and swinging has been improved
  • It is easier to drop and position ragdolls
  • Mantling no longer causes geometry clip bugs
  • Rope and Ladder slide operations are safer: While looking at the climbable press and hold crouch to slide down the climbable without taking damage
  • Now keybindings are saved into separate file DarkmodKeybinds.cfg
  • Linux can use more keys in keybinds
  • Keybinds are now stored in a separate file so you don't have to reconfigure them every time TDM is updated



Translation

  • Turkish Translation (Outsider One)




See also