Skip to content

v0.7.1-alpha1

Pre-release
Pre-release
Compare
Choose a tag to compare
@devshgraphicsprogramming devshgraphicsprogramming released this 18 Aug 14:18
· 12 commits to master since this release
69c0561

What's Changed

New Features

  • Github CI now tests Examples which are not added with EXCLUDE_FROM_ALL to the meta-example project
  • IGeometry, IPolygonGeometry classes
  • Polygon Geometry can be used with Asset Converter from day one
  • CGeometryCreator making basic geometries like cubes, cones, disks, etc.
  • IGeometryLoader base class (Mesh loaders are back!)
  • PLY Geometry Loader
  • Mitsuba Serialized Geometry Loader
  • CAD Example can now do Digital Terrain Models and display isolines and heightshading on tringular and grid meshes
  • Precompile your Shaders to SPIR-V using NSC (with all our STL headers) and also as a CMake command!
  • Precompile Shader Permutations with different JSON generated Device Capability Traits (we also have C++ autogen utilities that let you resolve the keys to them depending on device capabilities)
  • Normal and Quaternion quantization caches done with our HLSL types
  • CGeometryManipulator stub, more functionality from deprecated MeshManipulator to come
  • finished the AABB.hlsl shape
  • added transform, union and intersect functions which can be specialized for shapes in the HLSL library
  • Almost all SPIR-V intrinsics for Raytracing Pipeline exposed (Except Ray Terminators and ReportHit) so you don't need to rely on HLSL intrinsics getting translated/codegenned properly

Removals

  • IRenderpassIndependentPipeline
  • IMesh and IMeshBuffer
  • MeshPackers V1 and V2, we encourage programmable pulling from BDA now

Improvements

  • made the refctd_memory_resource::allocate and deallocate virtual so they can be overriden (the STD::pmr didn't make sense here)
  • created a adoption_memory_resource
  • most of algorithm.hlsl also compiles as C++ Host code
  • Builtin resource and PCH improvements
  • LRU Cache and Doubly Linked List Container improvements for resizability etc.
  • Replaced Parallel Hashmap with Greg's Template Library as the submodule
  • skip duplicate validation for SPIR-V optimizer
  • Updated DXC
  • Boost-Wave Shader preprocessor now its own Translation Unit, can be always compiled with optimizations (so even Debug builds don't take minutes preprocessing the input to DXC)
  • target SPIR-V version is now a shader preprocessor option (because of __SPIR_V_MAJOR__ and friends)
  • fast_affine.hlsl for doing mathematical abominations like multiplying 3x4 matrices with 3x1 vectors as if they're padded 4x4 and 4x1
  • cofactor and fast inverse HLSL utilities (useful for nice fast normal matrix calc)
  • IUtilities has a create factory which can fail if it can't allocate the amount of HOST_VISIBLE memory you requested
  • split MonoAssetManagerAndBuiltinResourceApplication into two classes
  • alPreviousStages and allLaterStages sync utlitity functions
  • emulated_vector now has length_helper specialization, and inversesqrt for emulated_float64
  • constexpr findLSB variant
  • 3x3 matrix from quaternion HLSL utility

Bugfixes

  • DeferredFreeFunctor actually tested and works now
  • AccelerationStructure::validBuildFlags infinite recursive call
  • Shader compiler adopt_memory typo
  • keep boost-wave compile options consistent and encapsulate/don't leak it

Full Changelog: v0.7.0-alpha1...v0.7.1-alpha1