Skip to content

v0.5

Latest
Compare
Choose a tag to compare
@cohaereo cohaereo released this 23 Jul 20:31
· 110 commits to main since this release
b506495

✨ Highlights

Alkahest has been largely rewritten, improving performance and flexibility, as well as adding (or opening the gates
for) a ton
of new features.

The motivation for this rewrite originally started with the desire to rewrite the renderer to make it more accurate to
Destiny 2's rendering pipeline. This quickly spiraled into a rewrite of the entire project as I noticed that the
existing codebase was not very flexible, and we were often implementing hacks for new features. The new codebase is much
easier to maintain and extend, and will allow for a lot of cool new features in the future.

Features are still well on their way, but all the features you know and love from Alkahest 0.4 are here, and some even
received some polish!

Added

  • Added a new, more accurate renderer
    • Added a proper extern slot system
    • Atmosphere rendering
    • Ambient voxel/cubemap IBL
    • Bind DX11 depth, blend, rasterizer and depth bias states based on Technique data
  • Shadow mapping
  • Global lighting
  • Decorator rendering (grass, plants, small rocks, etc.)
  • Transform gizmo
  • Compile-time shader compilation
  • Post processing framework
    • Ambient occlusion
  • Settings panel
  • Fullscreen mode (can be enabled through --fullscreen argument or alt+enter)
  • Hide the cursor when moving the camera
  • Smooth camera acceleration
  • Specular matcap (makes shiny objects look shiny in unshaded mode)
  • Static instances can now be moved, rotated and scaled individually
  • Added a material ball with configurable GBuffer output parameters
  • Added a dim outline when hovering over nametags
  • Added a unit testing framework
    • Currently used for sanity testing various loaders like maps and activities
  • Added Page Up/Down to move up and down in the map list @Froggy618157725
    in #31
  • Added a Children/Parent button in inspector by cohaereo

Changed

  • Reworked the multi-threaded asset loader to use channels, preventing locks
  • Asset loads are requested by the renderer to prevent duplicate loads
  • Cubemaps are now applied to only their respective volumes
  • Replaced the Visible component with Hidden
  • Reworked the Global and Hidden components as stateless ECS flags
  • Removed the scope editor
    • The scope editor has been replaced by the higher-level extern editor
  • Lowered DirectX feature level requirement to 11.0

Removed

  • Removed the built-in lighting mode
    • The built-in lighting mode was an artifact of early Alkahest, and looked horrible due to it rendering outside of
      the in-game shading pipeline.
  • Removed the composite shader
  • Removed entity VS override
    • This is internally still used as a workaround for skinned (skeleton) objects, but is no longer exposed as an
      option

Fixed

  • Fixed specular highlights not moving with the camera
  • Fix skinned meshes not displaying properly without VS override
  • Fixed windows with 0 size
  • Don't save the window size if it's minimized
  • Fixed decals not being blended properly
  • Fixed light shaft occlusion being rendered in the transparent stage
    • This caused objects to render the screen inside of them at 1/4th resolution
  • Fixed certain objects not being rendered correctly due to a missing color buffer
    • These objects are now rendered with a default color buffer
  • Fixed some suns turning into black holes
  • Fixed water showing up as a red box
  • Fixed a renderglobals related crash on startup when using pre-lightfall packages
  • Fixed certain special usage sky objects being rendered in the transparents stage
  • Fixed a bug in the auto updater that caused an error when trying to move the old executable