- editor: quicksave, multiple scenes support, gui changes, additional shortcuts
- physics: improvements for handling multiple scenes, and removal of physics objects
- scripting: ability to override global scene and camera with custom scene and camera from cpp side
* font renderer updates, text debug drawer;
editor: name visualizer;
github CI: vulkan sdk not required;
* cmake: vulkan sdk not required
* refactors
* lua binding for DrawDebugText()
* comment
* transparency sorting for debug texts;
font alphablend fix;
* softer debug text
shadow atlas will contain directional, spot, point light shadows all in one texture;
shadow count will not be limited, they will be tigthly packed within the atlas instead;
shadow resolution will be dynamic per light;
shadow texture arrays will no longer be used;
0.60.50:
- Added procedural terrain generator (for now this is Editor only preview version)
- Added LOD (Level Of Detail) support
- Added LOD Generator to Editor (Mesh Window -> LOD Gen), uses the meshoptimizer library
- Editor can merge multiple objects now into one mesh (Mesh window -> Merge Selected)
- Ocean: added occlusion culling support to detect when ocean is occluded
- can skip planar reflection render for ocean
- can skip ocean simulation
- can skip ocean rendering
- CPU ray tracing optimization: TMin and TMax parameter
- can improve Ray-AABB and Ray-Triangle tests
- improves performance of third person character controller script
- other fixes
- namespace refactor (example: wiGraphics:: -> wi::graphics)
- provided namespace compatibility macro for old user code: WICKEDENGINE_BACKWARDS_COMPATIBILITY_0_59
- resource manager will return `Resource` instead of `shared_ptr<Resource>` objects
- MAD shader optimizations
- implemented alpha to coverage with alpha tested materials when MSAA is enabled
- alpha testing fix with transparent shadow maps
- TLAS and scene buffers will be recreated less frequently when things get added/removed from the scene
- std container replacements for vector, unordered_map, unordered_set
- unordered_map and unordered_set replaced with ska::flat_hash_map
- vector replacement is still std::
- unordered_map performance test (std:: vs ska::)
- backlog improvements
- wiArchive improvements
- editor: added option to dump scene to C++ header file
- common improvements, refactors
* common refactors:
- DirectXMath only included in wiMath.h instead of CommonInclude.h
- cleanups in CommonInclude.h
- lua math refactor
- generic allocator refactor
* FLT_MAX to numeric_limits
* linebreak
* comment fix
* allocator fix
* more math refactors
* removed wiContainers, renamed wiAllocators to wiAllocator, moved ThreadSafeRingBuffer to wiAllocator
* Mark concrete graphics device classes as final - they should not be inherited from further.
* Apply consistent snake_cast naming (which has been used in more recent additions) across wiGraphics structs
* Make 'CommandList' type safe so that calling graphics device functions is less error-prone.
* Decouple wiProfiler from wiRenderer by passing the device instance to functions instead of using wiRenderer::GetDevice().
* Bump minor version for graphics refactors.
* Decouple wiHelper screenshot/saveTexture* functions from wiRenderer by providing the graphics device as a parameter.
* Convert wiGraphics.h enums to use enum class (except a couple of raytracing flag enums which seem best left)
* hdr fix
* Documentation updates for enum class.
* Revert "Decouple wiHelper screenshot/saveTexture* functions from wiRenderer by providing the graphics device as a parameter."
This reverts commit fd70249554.
* Revert "Decouple wiProfiler from wiRenderer by passing the device instance to functions instead of using wiRenderer::GetDevice()."
This reverts commit 69b5326cfc.
* Fix debug build
* Fix gcc build (hopefully). Move bitmask operator defs to end of file outside of wiGraphics namespace.
* Remove 'to_underlying' and replace with casts
* graphics device access decoupled from wiRenderer, now should be accessed from wiGraphics::GetDevice()
* minor refactors, comments
* dx12 assert fix
* fixes
* commandlist refactor
* commandlist initial value
* commandlist refactor
* graphicsdevice comments, GetActivePipelineCount() function
* has changed to has_flag
* just rename a thing
Co-authored-by: Turánszki János <turanszkij@users.noreply.github.com>