* WIP TR4 style mirrors
* Fixed broken previous commit
* Added debris and effects drawing in mirrored rooms;
Some optimizations for early skip non mirrored items;
* Implemented mirrors in file format
* Use default argument value for ReadCount
* Use emplace_back and camera room number
* Fixed items culling in mirror rooms;
Changed file format for having also virtual room;
* Cached reflection matrix of mirrors at load time;
Fixed lighting in mirrored items;
Added bad cull mode after mirrore debrises drawing;
Added mirroring of dynamic lights;
* Fixed ambient occlusion in mirrored rooms
* Fixed random statics positions while shooting
* Added logic for hiding selectively reflecting moveables and statics;
Added enabled flag for disabling mirrros in the future with LUA;
* Simplify renderer code, remove excessive if statements
* Update level.cpp
* Decopypaste more mirror-related code
* More decopypasting, rename inline function, remove unneeded arg
* Remove unnecessary inline, dont reflect room lights
* Fixed billboards, reintroduce ReflectVectorOptionally
* Fixed dynamic lights
* Update RendererDraw.cpp
* Fixed 3D sprites mirroring
* Draw reflections also when Lara is in any of mirrored rooms, not only camera
* Remove unrelated changes
* Remove lambdas
* Rename fields for consistency
* Reorganize renderer code a little
* Rename
* Spawn mirrored dynamic lights in Lara rooms too
* Update RendererDraw.cpp
* Add option to reflect sprites
* Update CHANGELOG.md
* Fixed mirrors on savegame reloading
* Fix Lara not mirroring when using binoculars
* Continuation of previous fix
* Fixed 3D non-sorted sprites mirroring
* Fixed various binocular / lasersight issues
* Fix meshswap, if object is not present
* Don't perform binocular animations if binocular meshswap is not present
* Rename CamOldPos and use more consistent type for it
* Update title.bin
* Fixed#1521
* Fixed#1522
* Interpolate Lara flare light, hide target highlighters in binos
* Fix#1525
* Fixed postprocessing order and precompile shaders to speed-up loading
* Fixed#1524
* Fixed silent crash if several Lara objects are present in level near dynamic light with shadow
* Implement proper soft shadows
* Disable self-shadowing for now, as it's causing visual glitches
* Update RendererInit.cpp
* Update CHANGELOG.md
* Update CHANGELOG.md
* Formatting pass
* Revert "Formatting pass"
This reverts commit 88a8ba24de.
* Reapply "Formatting pass"
This reverts commit becd24da93.
* Update RendererFrame.cpp
* Final formatting pass
---------
Co-authored-by: MontyTRC89 <montyhammet@hotmail.it>
Co-authored-by: Jakub <80340234+Jakub768@users.noreply.github.com>
Co-authored-by: Sezz <sezzary@outlook.com>
* Initial commit
* Fix crash on title
* Update level.cpp
* Update CHANGELOG.md
* Do slight audiotrack fade-ins and fade-outs on leveljumps
* Implement hash checks
* Fixes
* Rename rapid to fast
* Fixed flipmaps and bridge reinit
* Bypass reinitializing renderer for fast reload
* Fix issue when title and last loaded level are the same files
* Update CHANGELOG.md
* Additional fixes
* Wrap savegame loading code into a try-catch
* Update CHANGELOG.md
* Remove door collision on fast reload, restore stopper flag
* Display log message if level file was not found
* Update CHANGELOG.md
* Clear blocked flag for boxes
* Implement fast reload setting
* Add defaults to settings
* Consistent naming
* Smooth level loading audio crossfades
* Stop non-ambience soundtracks early
* Minor formatting
* Update Settings.lua
---------
Co-authored-by: Jakub <80340234+Jakub768@users.noreply.github.com>
Co-authored-by: Sezz <sezzary@outlook.com>
* Add "Lara's Home" menu entry
* Minor things
* Move home_level into Strings.lua
* Lara's Home -> Home Level
---------
Co-authored-by: Sezz <sezzary@outlook.com>
* Fixed vertex effects for statics
* WIP implementing SMAA antialiasing
* Fixed double drawing of additive faces
* SMAA working, need to tune it
* Cleaned SMAA code, ready for test
* Formatting
* Renderer cleaning Tier 1
* Renamed Renderer11 to Renderer;
Forced DX11 hardware support;
Removed m_ from private fields in Renderer class;
Refactored render targets: optional depth buffer creation;
Back buffer now is a RenderTarget2D;
* Converting constexpr and defines to enum classes
* Converting enum to enum classes, tier 2;
* Converting constexpr to enum classes, tier 3
* Cleaned enums and constants; Renamed some files;
* Fixed shaders; Renamed AlphaTestModes;
* Cleaned shaders directory; Reverted hardware version to DX10.1 (we'll upgrade it again in the next releases);
* Renamed private fields;
Refactored quad vertex buffer for sprites;
Refactored HUD renderer structure;
Minor fixes;
* Deleted some files
* Removed reference to RendererQuad.h
* New renderer transparency, for rooms now
* Continue work
* Implemented WOIT for alpha blending;
Started renderer refactoring;
* Removed redundant DirectX api calls
* Added G-Buffer with normals and depth
* Refactored and optimized particle enemies (rats, bats, locusts, beetles);
Extended G-Buffer to effects, rats, bats, locusts, beetles, gunshells, debris;
Extended animated textures sequence to 256;
Fixed normal mapping for items and statics;
* Removed WOIT code;
Removed write to depth map in opaque pass (it's already done in depth pre-pass);
Cleaned debris rendering code;
* Removed legacy render targets;
Added dual paraboloid mapping for ambient light (to finish the light shader):
Minor cleanups;
* Implement additive debug triangles
* Unhardcode value
* Finished room ambient code, commented for now (need to write a gaussian filter);
* Fixed wrong constant buffer slot in SMAA
* Renamed draw effects functions;
Moved prepare sprites function before the draw code;
Restored additive drawing;
Restored alpha blend faces collect;
* Enhance visual debug object API
* Partially restored sprites drawing
* Rename local variables
* Improve spheres
* Update names
* Rename function
* Remove unneeded parameter
* Formatting
* Cleaned and optimized drawing of opaque/additive sprites
* Removed legacy alpha blend code;
Added drawing of alpha blended faces for rooms;
* Completed drawing of non commutative objects;
FIxed compilation;
Removed old files;
* Refactored debug statistics for renderer
* Fixed FPS calculation
* Removed not used render targets and shaders
* Added base post-process framework;
Added monochrome and sepia effects;
* SSAO WIP
* SSAO almost working, needs tuning;
Changes to G-Buffer;
* Removed .cpp files in Graphics directory and moved constructors to headers;
Templatized VertexBuffer class;
New post-process system work in progress;
New blur stage for SSAO;
* SSAO at 1/4 resolution
* Removed FinalPass.fx and moved pixel shader to PostProcess.fx;
Added color to PostProcessVertex;
Rewritten the post-process step using new system;
Tweaked some variables for SSAO;
Fixed drawing of render targets debug thumbnails;
* Rewritten antialiasing techniques with new post-process system;
Made depth target optional when creating render targets using UNKNOWN DXGI format;
* Fix for empty vertex and index buffers
* Encode normals to RGBA8 render target;
Fixed samplers of depth texture;
* Removed legacy hairs shader
* Restored SSAO at fuill res for now;
Fixed shaders structs;
* Optimized G-Buffer shaders for speed and avoid DX log spam;
Renamed updateData to UpdateData in constant buffers;
* Bilateral gaussian filter for SSAO
* Fixed wrong enum
* Cleaning constant buffers tier 1
* Added SSAO setting
* Fixed shaders
* Fixed shaders
* Update SystemStrings.lua
* Refactored initialization code;
Added read and write of ambient occlusion in Windows registry;
Refactored shaders;
Added LUA API for setting color scheme;
Removed some old variables;
* Added effect strength to post-process framework
* Some shaders cleaning;
Don't calculate SSAO if disabled;
* Restored wireframe mode
* Revert "Merge branch 'develop' into renderer_refactor"
This reverts commit 4706f46982, reversing
changes made to bd413d00b2.
* Add negative postprocess effect
* Update PostProcess.fx
* Removed some DX log spam in SMAA shaders;
Fixed crash while drawing alpha blended faces from static objects;
* Fixed alpha blended faces drawing double sided for items and statics
* Fixed flickering of alpha blended faces of rooms
* Fixed gunflashes
* Revert "Revert "Merge branch 'develop' into renderer_refactor""
This reverts commit 536c555b2d.
* Fixed shadow mapping for point lights
* Fixed bad merge in speedometer
* Fix display pickup crash
* Fix SSAO toggle with left key
* Refactoring postprocess effect workflow
- Added exclusion mode
- Separated effect mode and strength to different functions
- Reset postprocess on level start
- Preserve postprocess on savegame reload
- Enum and function renames to maintain consistency
* Fix some comments
* Fix display pickup drawing
* Rename
* Fix for lights not affecting big static objects
* Fixed antialiasing for pickup objects and for inventory scene
* Fixed ghost polygons bug
* Fixed SSAO on surfaces with no or invalid normals
* Fix merge
* Bypass postprocessing if effect strength is set to 0
* Update SystemStrings.lua
* Update Changes.txt
* Update Changes.txt
* Turn on SSAO and target highlighter by default
* Remove duplicated changelog entries
* Implement LARA_START_POS object handling
* Update lara_initialise.cpp
* Update Changes.txt
* Update Changes.txt
* Fixed double sided alpha blend faces again
* Added things to changes.txt
* Update Changes.txt
* Don't use LARA_START_POSes with OCB 0
* Fixed 3D sprites like footprints
* Fixed glow for statics;
Fixed world position for items;
* Per-triangle sorting alpha blend
* Fixed missing last polygons in alpha blending
* Code cleaning
* Added alpha blending to rats, bats, locusts, scarabs
* Restored fast alpha blend
* Fixed AA in title level
* Improved light collector;
Added code for disable statics instancing if needed for debug;
* Fixed rare wrong caustics textures sizes
---------
Co-authored-by: MontyTRC89 <montyhammet@hotmail.it>
Co-authored-by: Sezz <sezzary@outlook.com>
Co-authored-by: Stranger1992 <84292688+Stranger1992@users.noreply.github.com>
Co-authored-by: Lwmte <3331699+Lwmte@users.noreply.github.com>
* Finalize features
* Add descriptions
* Amplify loudness output
* fix compile error
* Add subtitle parser for voice track
* Update bass.lib
* Return nil instead of empty string if no subtitle is found
* Allow to use newlines in subtitles
* Additionally try to load subtitles from /subtitles subdirectory
* Don't stop ambience when Lara dies
* Add option for turning subtitles on or off
* Update TombEngine.vcxproj
* Parse newlines correctly in subtitles
* Add millisecond constant
* Align menu
* Minor formatting; remove newlines preventing tooltips
---------
Co-authored-by: Kubsy <kubadd475@gmail.com>
Co-authored-by: Sezz <sezzary@outlook.com>