* PE: fixed - Crash on debug BVH visualizer is no raytracing is available.
* PE: fixed - black dots issue. ( https://github.com/turanszkij/WickedEngine/issues/450#issuecomment-1143647323 )
* PE: Another way to check if BVH is active is needed.
* PE: fix - Check if debug BVH is possible. or it will crash.
* PE: changed bug fix to a general Workaround function, depending on current backend.
* Fixed - Crash when creating screenshot without a folder.
* PE: Another way to fix black dots issue single call to workaround. ( https://github.com/turanszkij/WickedEngine/issues/450#issuecomment-1143647323 )
* PE: EventBegin for Workarounds.
* PE: workaround cleanup , removed enum and getbackend.
* PE: Disable DX12 workaround on linux.
* subresource download, upload improvements, ktx2, basis convert: using mipmap data from GPU
* bush and tree terrain assets: mipmap coverage fix
* refactors
* comments
* custom implementation for wi::vector
* fix
* sdl vulkan fix
* linux fix
* fix
* vector fix
* shader compiler and job system will be initialized automatically on first use
* vector improvements
* updates
* update
* network and audio will be auto initializing on first use only
* fix
* for now, use std::vector
* vector refactor minor
* backlog: access safety
* shader clearcoat fix
* gui initialization on demand
* initializer updates
* job system will be explicitly initialized
- 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>
* Vulkan: Implement pipeline cache support, verifies and loads cache validation.
* wiHelper: Add GetTempDirectoryPath and use it in vulkan cache lookup.
version 0.57.0:
- DX11 removed, DX12 is default now on Windows
- graphics interfaces improved:
- Bindless descriptor support is now assumed
- GPU Buffers with USAGE_UPLOAD and USAGE_READBACK will be persistently mapped after creation
- Removed Map/Unmap
- added BindDynamicConstantBuffer helper function
- improved AllocateGPU helper function
- GPU Queries resolving can be done directly into GPUBuffer
- UpdateBuffer now doesn't synchronize internally, this allows batching updates
- removed support for bindless constant buffers (uniform buffers)
- BindConstantBuffer will accept offset
- RESOURCE_STATES refactor, they can be combined now in the barriers
- many other refactors
- gbuffer normals removed, implemented visibility buffer
- bindless decals, bindless lightmaps, bindless hair particles, bindless software path tracing
- hair particles path tracing support
- path tracing eye adaption supported
- Surfel GI (experimental)
* SDL2 and Unix fix
SDL2 keyboard input, Unix filesystem fix, and SDL2 editor window config, CMake cache gitignore
* Adding comments to the SDL2 keycode fix
For a better understanding
* Slimming down SDL Unix path translation
* Static pathfile compile fix
More pathfile code fix for the compile to work
* Re: Static pathfile compile fix
* sheen and clearcoat
* updated material wnd
* clearcoat works
* sheen updates
* sheen working
* environment reflection alwyas from probe
* restore comment sheen energy conservation
* fixes and gui for sheen and clearcoat
* sheen fix
* ocean, rt reflection fix
* material wnd update
* updated features list