Releases: GameWin221/Eruption-Engine
Eruption Engine v0.8.1
Added SSAO - Screen Space Ambient Occlusion
Returned back to dynamic rendering for the sake of more simple code.
Fixed the AMD/Intel depth prepass glitch.
Eruption Engine v0.8.0
Reworked:
-Rendering system - Bindless textures, materials and model matrices. Got rid of dynamic rendering in order to get better compatibility with older devices.
-Clustered shading - Different cluster size and better barriers
-Model loader - Replaced Assimp with a custom loader
-Scene resource management - Only the changed lights, model matrices and materials are updated if less than "threshold"% of them changed. Otherwise update all.
-Structure - Some files now have different purpose and got rid of some unnecessary ones..
Eruption Engine v0.7.3
Added:
-Forward Clustered Shading for pointlights and spotlights.
Changed:
-CameraMatricesBuffer
is now CameraBuffer
- An improved and bigger class.
-ComputeShader
can now remain bound after binding and dispatching.
-Primitive types dont use references anymore.
-Separated LBO (LightsBufferObject
) to LBO (LightsBufferObject
), CBO (CameraBufferObject
) and CSMBO (CascadedShadowMapsBufferObject
) because it contained things that were unrelated to lights.
-LightBuffer
is now an SSBO and is updated only after a change occured in any of its contents on the CPU-side.
Removed:
-Silencing the false-positive error code 06195
, 06196
and 06197
as it was repaired in a Vulkan SDK update.
-GBuffer
Fixed:
-Depth conflict glitch. Precision of multiplying projection
and view
matrices on the CPU wasn't the same as on the GPU.
Eruption Engine v0.7.2.5
Added:
-SSAO (Screen Space Ambient Occlusion). It's an early, poorly done implementation so it's really laggy.
Note that SSAO will be improved later, I changed my priority list so now I'm going to work on GPU driven rendering before continuing SSAO.
Eruption Engine v0.7.2
Added:
-Runtime accessible shadows settings (resolution, bits)
-Dynamic example scene
-Shadowcasters sorting by distance (only the closest lights cast shadows)
-Separate shadow pipeline
Changed:
-angleDiff in Shaders/Lighting.frag is now clamped to outerCutoff in order to remove an unnecessary 'if' statement.
-Pipeline::CreateInfo now takes file paths (std::string) to shaders instead of pointers to existing shaders.
Eruption Engine v0.7.1
Added:
-Cascaded Shadows
-Per-light shadow bias
-Synchronisation for the light buffers
-Colorful Logging for vulkan validation
-Settings for shadows
-"BufferPipelineBarrier" function in the Helpers namespace. (Also PipelineBarrier method for the MemoryBuffer class)
-New light setup for the example scene
Changed:
-There are now n light buffers for n frames in flight
-Increased the general resolution of shadows
-Peter panning is less visible
-The light buffer is always being updated each frame. (Cascaded shadows need realtime cascade data)
-Vulkan debug messenger now ignores the false validation layer error related to dynamic rendering.
-Scene ambient light is now showed as floats instead of bytes
Eruption Engine v0.7.0.5
Added:
-Support for not using vSync on older AMD GPUs. (If VK_PRESENT_MODE_MAILBOX_KHR not supported, use VK_PRESENT_MODE_IMMEDIATE_KHR)
Changed:
-Light directions are not normalized in the UI but later in the backend so it's easier to edit them.
-Pipelines use vkCmd[Begin/End]Rendering instead of vkCmd[Begin/End]RenderingKHR
-Fixed a typo in the geometry shader
Eruption Engine v0.7.0
Added:
-Shadows
-PCF soft shadow sampling
Changed:
-It is possible to create multi-layered images with the 'Helpers' namespace
Eruption Engine v0.6.7
Added:
-Sorting and filtering assets
-Compute Shader class
Changed:
-Code. There was a big refactor.
Eruption Engine v0.6.6
This update improved the app's performance a lot.
Added:
-Frames in flight
-Image abstraction class
-Swapchain abstraction class
-Helpers CreateSampler() function
Changes:
-Colorful Logging library uses higher precision (from std::chrono::system_clock to std::chrono::high_resolution_clock)
-Structure initialisation instead of assigning values in some places