Methane Kit v0.0
egorodet
released this
04 Mar 20:08
·
2468 commits
to master
since this release
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:
- 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
andSystem
classes allow to enumerate and query available GPU devices and change active device by reseting graphicsContext
. 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 fromActionCamera
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)
- Removed excessive
- Build Infrastructure:
- Methane CMake modules were improved and split into separate toolchains for Utils, Modules, Resources, Shaders and Applications.
Shader
andTexture
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.