v0.7.1-alpha1
Pre-release
Pre-release
·
12 commits
to master
since this release
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 deprecatedMeshManipulator
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
andIMeshBuffer
MeshPacker
s V1 and V2, we encourage programmable pulling from BDA now
Improvements
- made the
refctd_memory_resource::allocate
anddeallocate
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 acreate
factory which can fail if it can't allocate the amount of HOST_VISIBLE memory you requested- split
MonoAssetManagerAndBuiltinResourceApplication
into two classes alPreviousStages
andallLaterStages
sync utlitity functionsemulated_vector
now haslength_helper
specialization, andinversesqrt
foremulated_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