-
Notifications
You must be signed in to change notification settings - Fork 5
Aardvark Rendering 5.3 changelog
Martin edited this page Oct 17, 2022
·
4 revisions
This major version update comes with various backend fixes and improvements. The public API did not receive major overhauls this time around, so updating from 5.2.x should be straightforward.
- Reworked adaptive buffers
- Added
BufferStorageenum to select preferred buffer memory type (i.e. host-visible or device local) - Improved
ManagedBufferimplementation:- Based on reworked adaptive buffer implementation
- Avoids creating writers for constant data
- Buffer storage can be selected for optimal transfer & rendering
- The following backend resource interfaces inherit from
IDisposablenow:IBackendTextureIRenderbufferIStreamingTextureIBackendSurfaceIComputeShader
- Implemented resource sharing between Vulkan and OpenGL backends (Textures and buffers). The Vulkan backend may create and export resources, which can be used by the OpenGL backend.
- Implemented backend-specific debug configurations (
Aardvark.Rendering.GL.DebugConfigandAardvark.Rendering.Vulkan.DebugConfig). Debug configurations can be used to toggle various backend-specific debugging features. Debug levels (DebugLevel) are now abstractions for specific configurations. For example, using the Vulkan backend can enable more features provided by the validation layers like best practices validation or debug print. When the latter is enabled, shaders may invokeDebug.Printfto directly print to the console. - Added full support for rendering to color attachments with integer formats (signed and unsigned). Use the new
V2ui,V3uiandV4uivector types for unsigned integer formats. Expected shader output types solely depend on the used texture format now. Previously some default semantics would always expect a certain type regardless of the attachment (e.g.DefaultSemantic.Colorsdefaulted toV4d) - Added and changed
Sgfunctions:- Added
Sg.textureArrayfor sampler arrays - Reworked
Sg.geometrySetto useManagedPoolinternally. Previously, used the brokenGeometrySetUtilities.GeometryPacker, which was removed. - Made
Sg.runtime-andSg.scopeDependentTexturegeneric - Rearranged parameters of
Sg.pool
- Added
- ManagedTracePool improvements:
- Added some utility functions for
TraceGeometryInfo - Added face attributes
- Optimized geometry attribute caching`
- Added some utility functions for
- Changed type of
INativeBuffer.SizeInBytesfrominttonativeint - Removed obsolete
MultiApplication - Renamed
BufferUsage.DefaulttoBufferUsage.All - [Vulkan] Fixed various concurrency-related issues
- [Vulkan] Improved support for image sampler arrays
- [Vulkan] Rework descriptor set updates to be more fine grained
- [Vulkan] Fixed issue with
NullTexture()only being usable for 2D textures - [Vulkan] Use update after bind to prevent recompilation of command task
- [GL] Renamed
RuntimeConfig.SupressSparseBufferstoRuntimeConfig.SuppressSparseBuffers - Fixed broken BGR(A) texture up- and download