- OpenGL/WPF control uses tasks for rendering (avoiding stack-inlining due to STAThread)
- OpenGL/WPF control uses
OnPainRender
again
- OpenGL/WPF control no longer uses
OnPainRender
by default
- added PoolGeometry as alternative to ManagedPool with SymbolDict (more efficient attribute lookups)
- added reference equality check to BufferView Equals
- using SortedSetExt value option methods
- avoid exception in upload/download/write when count=0
- marked MemoryManagementUtilities.FreeList as obsolete (duplicate of Aardvark.Base FreeList)
- updated Aardvark.Base to 5.3.5
- updated Aardvark.Build to 2.0.2
- updated aardpack to 2.0.3
- Improved adaptive converter caching
- Optimized GCHandle.Alloc usage
- [Assimp] Fixed remap.xml for Linux
- [GL] Optimized construction of attribute bindings
- [Text] Use FramebufferLayout as surface cache key
- [Text] Added type aliases
- Renamed
PixImageCube
toPixCube
- Renamed
Aardvark.SceneGraph.IO
toAardvark.SceneGraph.Assimp
- Initial prerelease
- [GL] Fixed potential memory leak after ContextHandle is disposed
- Optimized generic dispatch
- Fixed potential leaks with ConcurrentDictionary.GetOrAdd
- [Application.WPF.GL] SharingRenderControl implementation now uses Silk.NET.Direct3D9 instead of SharpDX
- Removed SharpDX dependency
- Re-added dynamic shader caches
- Fixed multi-threading issue in PrimitiveValueConverter
- [Sg] Use single value attributes for IndexedGeometry
- [IndexedGeometry] Fixed Union() and added ToIndexed() overload
- [IndexedGeometry] Added overload Clone() for deep copy
- [OpenVR] changed GL texture submit to 2 textures (previously side by side, issue with Quest 3)
- [GL] Improved querying of supported sample counts
- [GL] Fixed double disposal of Context
- [GLFW] Fixed OpenTK context interop
- [Vulkan] Fixed conservative raster validation error
- rebuild glvm for ARM64
- [Text] added option to disable sample shading
- [GL] added flag to disable multidraw (experimental)
- [FontResolve] fixed null family name failure
- [PathSegment] minor fixes
- [Text] improved Font resolver for Windows and MacOS
- [PathSegment] fixed several PathSegment tools and added a few new ones
- [LodRenderer] Handle exceptions in background threads
- [GL] Implemented GLSL shader caches for platforms that do not support program binaries (e.g. MacOS)
- [GL] experimental support for quad-buffer stereo(is back again?)
- [GL] Fixed locking order of GlobalResourceLock and context locks to avoid potential deadlocks
- [GL] Added workaround for layered rendering and GLSL < 430
- [GL] Made context creation and sharing more robust (see RuntimeConfig.RobustContextSharing)
- [GL] Improved disposal of ContextHandle
- [GLVM / VKVM] Updated ARM64 binaries
- [GLFW] Fixed context resource leaks
- [GLFW] Reset GetCurrentContext on disposal
- [WinForms / WPF] Removed double dispose of context
- Fixed Frustum.withAspect and Frustum.withHorizontalFieldOfViewInDegrees
- [GL] Fixed InvalidEnum error due to GL_POINT_SPRITE
- [GL] Removed validation via proxy textures (resulted in errors on AMD with multisampled textures)
- [GL] Removed swizzle for multisampled textures (not supported)
- [GL] Added simple parameter device limit checks for textures and renderbuffers
- [GL] Improved texture memory usage tracking
- [GL] Made retrieval of program binaries more robust
- [GL] Improved driver information and error formatting
- [GL] Disabled Dispose() for Program
- [GL] Fixed resource leaks in ContextHandleOpenTK.create
- [GL] Fixed ComputeCommand.SetBufferCmd
- [GL] Fixed issue with texture targets and multisampling
- [Vulkan] Fixed swapchain creation if maxImages is zero
- [Vulkan] Fixed issue with image format queries and external memory
- [Vulkan] Improved error formatting
- [GLFW] Use no error context only when indicated by debug config
- Added IRenderTask.GetRuntime() and IRenderTask.GetFramebufferSignature()
- [ContextHandles] GL.Enable(EnableCap.PointSprite)
- [ManagedPool] Avoid evaluating draw call set if not active
- Fix BlendMode.Blend source alpha factor
- [GeometryPool] Fixed wrongly disposed shader caches
- Exceptions are caught and logged when updating shaders with the debugger
- [GL] Fixed resource management issue with compute shaders and shader debugger, resulting in invalid operation errors
- [GL] Fixed issue with preparing exported buffers
- [GL] Print before debugger break in DebugCommandStream
- [Vulkan] Fixed validation error related to memory export
- Updated to FShade 5.5
- Added support for debugging raytracing effects and compute shaders with the FShade ShaderDebugger
- Fixed issues with dirty sets in OrderedCommand (GL / Vulkan)
- [GL] Increased verbosity level of outdated resource warning
- [GL] Improved warning about missing internal format query support
- [Vulkan] Fixed issue in SBT update
- [Sg] Added C# Surface overload
- Improved shade compile error reporting and code printing
- Fixed net6.0 target for WinForms and WPF
- Renamed NewInputBinding to CreateInputBinding
- Reverted renaming of provider ofDict methods
- Restored IAttributeProvider.All
- Added Signature property to ManagedPool and ManagedTracePool
- Added obsolete extensions for renamed buffer copy methods
- [GL] Removed duplicate context tracking
- [Vulkan] Fixed aspect for depth / stencil samplers
- [Vulkan] Fixed shader stage computation for dynamic effects
- Restored IComputeRuntime.ContextLock
- Added validation for sampler state translation
- Added texture filter reduction
- Added Blit, reworked Copy and ResolveMultisamples
- [GL] Added RuntimeConfig.AllowConcurrentResourceAccess
- [Vulkan] Fixed issue with concurrent eager destroy
- Initial prerelease for 5.4
- [GL] Fixed update issues with OrderedCommand
- Various optimizations
- Added RenderTask.renderTo variants with adaptive clear values
- Fixed RenderPass.before to respect given order
- [AbstractRenderTask] Make Dispose mutually exclusive with Update and Run
- [GL] Fixed ObjectDisposedException related to invalid epilogue prev pointer
- [GLFW] Fixed vsync initialization
- [GLFW] Disabled unknown joystick axis warning
- [Vulkan] Fixed issue with pipeline statistics being wrongfully selected
- Opc: more robust patchhierarchy caching: pro3d-space/PRo3D#283
- OpcPaths now more robust (images vs Images, patches vs Patches) - pro3d-space/PRo3D#280
- Added support for loading mipmaps from file and stream textures
- Added RenderTask.renderToWithAdaptiveClear
- [Vulkan] Fixed synchronization issue with image and buffer uploads
- [Vulkan] Implemented direct texture and framebuffer clear
- [GL] Fixed issue with directly clearing depth-only textures
- Added default component swizzle that duplicates the red channel to the green and blue channels for grayscale formats
- [Application.Slim.GL] Fixed context initialization
- [Vulkan] Fixed deadlock in concurrent descriptor set management
- Added union operation for IndexedGeometry
- Added IndexedGeometry primitives for arrows and coordinate crosses
- [Sg] Fixed and improved active flag cache
- [Vulkan] Fixed issue with logging shader cache reads
- [GL] Fixed access violation and other issues related to internal format queries
- [GL] Implemented shader caches for compute shaders
- [Vulkan] Implemented shader caches for raytracing shaders
- Improved error logging when shader cache access fails
- Reworked shader caches to use FShade-based interface serialization instead of FsPickler
- Made shader cache directory creation lazy
- Fixed export (sharing) bug on MacOS (pNext chain needs to be empty)
- Added hardware support validation for mipmap generation
- [GL] Fixed mipmap generation for compressed file and stream textures
- [GL] Fixed issue with compressed texture download
- [Vulkan] Implemented mipmap compressed PixTexture2d upload
- [Vulkan] Fixed prepare of Stream- / FileTexture with compression
- Implemented debug configurations for enabling backend-specific debug features
- Added validation for color attachment formats when creating framebuffer signatures
- Added proper support for unsigned integer color attachments
- [Vulkan] Implemented RaytracingTask.Update
- [Vulkan] Implemented CommandTask.PerformUpdate
- [Vulkan] Reworked resource manager to prevent disposal of resources in use
- [Vulkan] Use separate device tokens for graphics and compute families
- [Vulkan] Lock pending set during update loop of ResourceLocationSet
- [Vulkan] Added basic support for validation features
- [Raytracing] Fixed issue with acceleration structure building and device tokens
- [GL] Fixed memory usage tracking for imported resources
- Added IRenderTask.Update overloads
- Updated to FShade 5.3 prerelease
- [Vulkan] Fixed issue with duplicate descriptor writes
- [Vulkan] Trim excess elements from image sampler array
- [Vulkan] Fixed extensions being wrongly reported as unavailable
- [Vulkan] Lock pending set during update loop of DescriptorSetResource
- [Vulkan] Fixed issue in DescriptorSetResource related to nested dependencies
- [Vulkan] Reworked RaytracingTask to prevent unnecessary recompilation
- [Vulkan] Implemented update-after-bind descriptors to prevent recompilation of render tasks
- [Vulkan] Added RuntimeConfig.SuppressUpdateAfterBind
- [Vulkan] Fixed issues with dynamic image sampler arrays
- Implemented shrinking of AdaptiveCompactBuffer
- Fixed issue with addition and removal order in AdaptiveCompactBuffer
- Added IRaytracingTask.Update() overloads
- Changed parameter order of Sg.pool
- Initial prerelease for 5.3
- Improved error handling of DDS parser
- [Sg] Added delay
- [Sg] Added reference counting for onActivation
- [Application.Slim] Fixed error code printing
- [Application.Slim.GL] Fix issue with sample count for non-multisampled windows
- Font constructor with System.IO.Stream
- Framebuffer Copy/ReadPixels
- switched to aardvark.assembler
- reverted Vulkan queue creation
- enabled sharing extensions by default (windows/linux)
- disabled useNoError (linux intel, steamdeck compat)
- text rendering workaround linux(nvidia)
- Arch/Fedora working
- moved to Aardvark.Assembler
- added missing FragmentProgram.Update
- test release
- moved to Aardvark.Assembler
- fixed GLFW init problem
- [Vulkan] requesting all queues for device
- [Vulkan] updated vk.xml to latest version (1.3)
- [GL] improved error handling when retrieving uniforms
- [Sg] Fixed runtime-dependent texture caching
- [GL] Remove render task commands from dirty set
- [Text] Winding order of triangles is consistent, degenerated triangles get removed
- [Vulkan] Added image limits checks for layers, levels and size
- [GL] Added texture size limit checks
- [GLFW] Fixed issues with MacOS and other platforms with poor GL support
- [Vulkan] Implemented host-side texture compression
- Added RenderTo overloads with adaptive clear values
- Added checks for maximum multisamples when creating framebuffer signatures and textures
- Implemented PickObjects for RenderCommand
- [GLFW] Fixed issue with non-positive window size
- [GL] Fixed streaming texture issues
- [GL] Use RGB internal format for BGR texture formats
- [GLFW] Add hideCocoaMenuBar parameter
- [ManagedPool] Fixed memory leak
- Improved block compression decoding and copying
- [GL] Implemented host-side texture compression
- [GL] relaxed framebuffer signature compability requirements
- [Vulkan] using any compatible QueueFamily for CopyEngine
- implemented ARM64 assembler
- fixed issue with Retina displays
- [Vulkan] fixed issue with platforms not supporting queries
- [Vulkan] fixed issue with platforms not supporting geometry or tessellation shaders
https://github.com/aardvark-platform/aardvark.docs/wiki/Aardvark-5.2-changelog
- improved C# interop for ClearValues
- added setter for Call of ManagedDrawCall
- made texture clear API consistent with framebuffer clearing
- Initial prerelease for 5.2
- [ManagedPool] no removal of empty PoolNodes from set of RenderObjects: dependency on IndirectBuffer input was causing performance issues when marking/re-evaluating complete set of RenderObjects
- fixed ComputeShader problem in Vulkan
- deterministic Id for instanced-effects
- updated Base & FShade
- disabled multisampling for text outline - fix for #86
- fixed package dependeny to FSharp.Data.Adaptive
- [Vulkan] fixed package dependency to GLSLangSharp
- [GL] implemented UploadBufferCmd and CopyImageCmd
- [GL] fixed IRuntime.Clear/ClearColor
- [Sg] added C# ColorOutput overload
- fixed GL compute shader image bindings
- switched to official AssimpNet
- updated mac glfw lib & option to control cocoa menu bar
- fixed texture download in absense of bufferstorage
- fixed osx64 glvm build
- fix for segfaults on GL without direct state access
- updated FSharp.Core >= 4.7.0
- updated to newest Base/FShade/Adaptive packages
- removed System.Reactive
- added argument validation for texture copying
- added argument validation for texture download and upload
- [GL] changed Shader caches to depend on context / runtime
- [GL] fixed copy of cubemaps
- [GL] fixed RenderingLock
- added types to specify clear values more easily
- added IRenderTask.RenderTo() overloads with clear values
- added RenderTask.render* variants with clear values
- added map and bind functions for IAdaptiveResource
- DepthTest.None and DepthTest.Always are no longer aliases (revert to < 5.1.0 behavior)
- fixed various bugs related to cube texture arrays
- texture creation functions now validate parameters
- [GL] fixed nop RenderingLock
- [GL] render control size is ensured to be valid now
- [GL] fixed bug with draw buffers and prepared surfaces with signatures different from the render task
- reworked low-level texture API
- added functions for creating (adaptive) 1D and 3D textures
- removed IBackendTextureOutputView and BackendTextureOutputView
- fixed management and disposal of renderTo tasks
- proper out-of-date marking for adaptive resources
- reworked TextureFilter and SamplerState regarding anisotropic filtering
- [GL] fixed bug in Context.Blit()
- [GL] fixed copy and download of texture array slices
- [SgFSharp] removed unnecessary SRTP usage
- [SgFSharp] added Sg.lines'
- [Vulkan] implemented dynamic sampler states
- fixed Silk.NET.Core depenedency
- fixed renderToColorCube
- updated packages
- [Vulkan] CommandTask no longer disposes ResourceManager
- [Sg] Added instancing utilities for IndexedGeometry
- fixed thread abort exn on linux
- [GL] OpenVR support for GL
- [GL] replaced EXT_direct_state_access with ARB_direct_state_access
- [GL] fixed crashes when using core profile
- [GL] RenderTask.Dispose no longer needs a transaction (#60)
- [GL] More robust parsing of GL and GLSL versions
- [Text] fixed compatibility with render passes
- [Base] updated aardvark to v5
- [Base] reworked Buffer API: added BufferUsage flags
- [Base] added indirect draw stride
- [Base] refactored RenderObject drawcalls
- [Base] removed IResizeBuffer, IMappedBuffer, IMappedIndirectBuffer
- [Sg] reworked ManagedPool
- [GL] fixed mip level calculation in texture upload
- [Base] updated base packages
- [Base] fixed GLVM loading for all plattforms
- [Base] updated GLVM for linux
- [GL] removed warnings from LodRenderer
- [GL] added support for NormalUV texture (2-channel float images)
- [GL] fixed BufferRuntime.Clear
- [GL] added quad-buffered stereo support to GameWindow
- [Base] fixed RenderTask.custom
- [GL] fixed size 0 UniformBuffer alloc
- [Base] updated packages / fixed memory leak
- [Base] reverted memory leak fix
- [Base] rmeoved hooking mechanism of dynamic uniforms (no need anymore, allowed overwrite of view/proj trafo)
- [Base] moved Caches (UnaryCache, BinaryCache) to Base.FSharp
- [Sg] fixed memory leak when using derived attirbutes (e.g. ModelViewTrafo, ModelViewProjTrafo)
- [GL] fixed texture array uniforms
- LoD Render: removed debug ouput
- [GL] fixed buffer resource stats
- [GL] fixed unmanaged memory leak of VAO