Skip to content

Releases: MethanePowered/MethaneKit

Methane Kit v0.0

04 Mar 20:08
Compare
Choose a tag to compare

Per-module shaders, cube textures, sky-box extension, CMake toolchain improvements, platform input infrastructure, full screen support and runtime device reset were made in this release:

  • Tutorial updates:
    • Fixed rendering hiccups due to unsynchronised buffer updates (closed #16).
    • ContextController implemented for switching graphics settings in runtime: vsync, device, full-screen and frame buffers count switching supported (closed #30).
  • Graphics Core API:
    • Cube Textures are now supported: multiple sub-resource data loading supported on per-Resource level (closed #36).
    • Fixed RenderCommandList multi-reset drawing.
    • Device and System classes allow to enumerate and query available GPU devices and change active device by reseting graphics Context. Switching to full-screen rendering is supported (closed #13).
    • Context frames synchronization was improved in DirectX 12 implementation (closed #32, closed #15).
  • Graphics Extensions:
    • SkyBox rendering primitive was added to Graphics Extensions module along with its shaders (closed #38).
    • MeshBuffers extension was created to reduce Tutorials code duplication.
    • ImageLoader supports loading face images to single cube texture.
    • Sphere mesh generator was implemented
  • Platform and Data modules:
    • ParallelFor based on std::thread was created.
    • ArcBallCamera was split from ActionCamera implementation for the sake of simplicity.
    • Platform input controllers updated to support triggers by key combinations with modifier keys. Fixed keyboard state after showing Alert/MessageBox.
    • ActionCameraController now supports pivot point change.
    • Application help extended with a list of available GPU devices in system and support for showing command line help.
    • Application user input with keyboard and mouse implemented (closed #3)
    • Action camera supporting rotation, moving and zooming implemented (closed #25)
    • Input controllers infrastructure implemented (closed #26)
    • Animations infrastructure implemented (closed #27)
  • Common code cleanup:
    • Removed excessive virtual keywords from method overrides.
    • Concatenated nested namespaces using C++17 standard. Removed using namespaces whenever possible.
    • Changed extensions of Objective-C++ files to .hh/.mm.
    • ITT instrumentation extended to all Methane Kit modules (closed #29)
  • Build Infrastructure:
    • Methane CMake modules were improved and split into separate toolchains for Utils, Modules, Resources, Shaders and Applications.
    • Shader and Texture application resources now can be added to dedicated library modules, not just to an application, multiple shader files are now supported. Methane shader object settings changed accordingly and additionally contain shader file name along with function name (closed #37).
    • Build.bat now supports Visual Studio 2019.
    • Test executables are added to install output and are started separately from build to show test results in Azure pipelines.
    • JetBrains ReSharper and CLion IDE configurations with code-style description were set and added.
    • SonarCloud code analysis tool integrated in build scripts.