Methane Kit v0.1
egorodet
released this
09 Dec 09:07
·
339 commits
to b507f696b6fa810e6719859a2c032c82e7c266f7
since this release
Asteroids sample with single-threaded rendering was created in this release:
- Asteroids sample now implements fully-functional rendering of the random-generated asteroids field rotating around a planet, but rendering is currently single-threaded (closed #31)
- Asteroid mesh generation based on subdivided icosahedron with perlin-noise randomization.
- Asteroid tri-planar texture arrays generation with perlin-noise and mip-levels implemented.
- Asteroids orbiting simulation implemented with restoring its state after device reset.
- Planet rendering implemented.
- Graphics Core API new features:
- Addressable resource bindings are supported to allow binding to variable chunks of large buffer to program arguments (closed #41):
- Program Resource Bindings now support byte-offset specification for addressable resources.
- Buffer resource can be created with addressable flag to be used in such bindings.
- Texture arrays are now supported (closed #43).
- Texture mip-map levels generation is now available (closed #44).
- Render Command List now supports rendering given subset from vertex/index buffers.
- Addressable resource bindings are supported to allow binding to variable chunks of large buffer to program arguments (closed #41):
- Graphics Extensions and Helpers new features:
- Icosahedron and geosphere mesh generation is added to Mesh primitives (closed #42).
- Sphere mesh now supports correct texture coordinates generation for spheric texture mapping.
- Uber-mesh was added to merge multiple meshes in a single index and vertex buffers.
- Multi-octave perlin-noise generator was added.
- Mesh-Buffers extension now supports rendering multiple subsets from Uber-mesh and Textured Mesh-Buffers extension supports per-subset texturing.
- External modules added:
- Perlin Noise library
- DirectXTex library
- Build infrastructure:
- Added build options to enable ITT instrumentation and shaders code symbols.
- Fixed application properties in plist/rc files.
- Added build-numbers setup in Azure builds.
- Fixed multiple shaders handling in one application/library.
- Refactoring and optimizations:
- Data::ParallelFor reworked based on std::async and std::future, instead of std::thread.
- Optimized resource bindings creation, Program::ResourceBindings now can be created in parallel.
- Optimized CPU overhead of applying Program::ResourceBindings::Apply
- Optimized DirectX command lists by eliminating excessive input assembler calls and resource binding calls as well.
- Instrumentation module moved under Data, Kit module moved under Graphics.