Skip to content

Releases: cohaereo/alkahest

v0.5

23 Jul 20:31
b506495
Compare
Choose a tag to compare

✨ 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

v0.4.1

27 Mar 22:41
Compare
Choose a tag to compare
v0.4.1 Pre-release
Pre-release

✨ Major Changes

  • ⚠ Alkahest is no longer compatible with Avvy's Alkgui. The features provided by Alkgui are now available in Alkahest itself.
  • Reworked the map loading mechanism to allow for maps to be loaded individually by @cohaereo
  • Added a map and activity browser by @cohaereo
  • Added a game installation detector by @cohaereo

Added

  • Added the ability to load maps from packages by name (eg. throneworld or dungeon_prophecy) through the -p argument by @cohaereo
  • Added draw_crosshair to the config by @Froggy618157725 in #21
  • Added 'I' Key shortcut to swap to previous map by @Froggy618157725 in #21
  • Added Controls under Help Menu @Froggy618157725 in #22
  • Added version information to panic log by @cohaereo
  • Package directory is now persisted in the config by @cohaereo

Deprecated

  • Passing a package file is deprecated in favor of the -p switch. In the future, Alkahest will only accept package directory paths

Changed

  • Create window before initializing the package manager by @cohaereo
  • Rework transparent(_advanced) scopes by @cohaereo
  • Change allocator to mimalloc by @cohaereo
  • Configuration files are now stored in the system config directories (see directories API) by @cohaereo
  • The tag dumper and bulk texture dumper windows are now hidden by default, and can be toggled from the View menu by @cohaereo

Fixed

  • Fixed the GitHub URL for stable releases by @cohaereo
  • Copy missing sections in nightly changelog diffs by @cohaereo
  • Fixed build date/timestamp generation by @cohaereo
  • Reset update check indicator timer when starting a new check by @cohaereo
  • Fixed a crash when creating render targets with a zero size by @cohaereo
  • Fixed a map loading crash on Disjunction by @cohaereo

v0.4

17 Feb 23:18
Compare
Choose a tag to compare
v0.4 Pre-release
Pre-release

Added

Changed

Fixed

  • Fixed cubemap level selection that made surfaces too glossy by @cohaereo
  • Lights now obey the Visible component
  • Fixed a TFX parameter that was causing some lights to not be visible by @cohaereo
  • Fixed depth linearization in the transparent scope by @cohaereo

Removed

  • Removed pointless world ID component from static instances by @cohaereo

v0.3

25 Jan 11:36
Compare
Choose a tag to compare
v0.3 Pre-release
Pre-release

Added

Changed

Removed

Fixed

  • Fix camera right and up axis by @cohaereo
  • Fix Utility Visibility by @Froggy618157725 in #10
  • Fixed Sphere Icon in Inspector Panel by @Froggy618167725 in #12
  • Fixed shader warnings by @cohaereo
  • Fix pickbuffer not respecting d3d mapped row pitch by @cohaereo
  • Fixed Selector behavior on screens with scaling factors @Froggy618157725 in #16
  • Fix cubemap view not rotating by @cohaereo
  • Fixed a potential GUI memory leak when using unmanaged DirectX textures by @cohaereo

v0.2.2

05 Jan 16:01
Compare
Choose a tag to compare
v0.2.2 Pre-release
Pre-release

New features

  • Ruler intervals, places a marker at every x meters
  • Pressing F focuses the camera on the selected entity
  • User-created entities (such as the ruler) are now re-nameable
  • When dragging the camera, the cursor will now wrap around the edge of the window

Fixes

  • Changed the staging buffer to a 16-bit floating point format in order to access HDR values

0.2.1

02 Jan 18:48
Compare
Choose a tag to compare
0.2.1 Pre-release
Pre-release

New features

  • Turnback and instant kill barriers are split to their own resource type
  • 'Hide all unselected' shortcut shift+h
  • 'Show all hidden' shortcut alt+h
  • Texture viewer channel/mip selection
  • Texture viewer 3D depth slider
  • --lowres switch to load low resolution textures

Fixes

  • Resource nametags now obey entity visibility

Milestone 0.2: Scenegraph and Inspector

31 Dec 16:24
Compare
Choose a tag to compare
Pre-release
v0.2

Bump version