Skip to content

Aardvark 5.3 changelog

Martin edited this page Aug 5, 2024 · 4 revisions
  • Updated to .NET 8 and F# 8
  • Removed ImageSharp from Aardvark.Base.Tensors. Add a package reference for Aardvark.PixImage.ImageSharp if required.
  • Optimized partial active patterns by using struct representation
  • Added F# tensor utilities and math functions using SRTP
  • Deprecated GenericValues.zero
  • Fixed return type of LengthSquared for integer-based vectors. Now return integer instead of floating-point values.
  • Added missing readonly modifiers for structs
  • RenamedCIeLuvf to CieLuvf
  • Removed IPix and related types:
    • IPixImage is renamed to IPix
    • PixImageCube and PixCubeMap: Use PixCube instead.
    • PixMipMap2d: Use PixImageMipMap instead.
  • Reworked PixImageMipMap:
    • Removed generic PixImageMipMap<T>
    • Removed MipMapOptions, static Create() method takes multiple optional parameters instead. The default interpolation method is now linear.
  • Cleanup of PixImage and PixVolume:
    • Made Array and Data consistent with tensors where Array is untyped and Data is typed. As a consequence, the non-generic PixImage and PixVolume only define Array.
    • Deprecated PixImage.IntStride in favor of Stride and StrideL
    • Added PixVolume.BytesPerChannel
    • Added PixVolume.ToCanonicalDenseLayout
    • Added Add PixImage<T>.Transformed (abstract PixImage.Transformed is renamed to PixImage.TransformedPixImage)
    • Removed obsolete loading API
  • Added IPixLoader.CanEncode and IPixLoader.CanDecode
  • Renamed SRTP member methods for FSharpMath functions due to conflicts with methods introduced in .NET 7 (e.g. Double.Log2). If you are using FSharpMath with custom types you will have to rename the static methods:
    • Acosh -> Acoshb
    • Asinh -> Asinhb
    • Atanh -> Atanhb
    • Cbrt -> CubeRoot
    • Log2 -> LogBinary
    • CopySign -> CopySgn
    • Lerp -> LinearInterp
    • Exp2 -> PowerOfTwo
  • Removed obsolete API:
    • [Color] obsolete conversion functions
    • [Color] Parse() overload with IFormatProvider parameter
    • Async.AwaitTask (already in FSharp.Core)
    • Caching.cacheFunction
    • IDictionary.GetValueOrDefault
    • broken UnsafeCoerce utilities
    • CameraExtrinsics and CameraIntrinsics
    • float variants of Constant
    • IPol.SlerpShortest
    • Cell.Parse() with offset parameter
    • M44x.PerspectiveProjectionTransformLH
    • Trafo.PerspectiveProjectionOpenGl
    • Trafo.PerspectiveProjectionLH
    • Trafo.OrthoProjectionOpenGl
    • RangeSet and RangeSet64
    • RangeSet1*.insert and window
    • Time and TimeLink
    • ExecutableMemory
    • Dictionary.TryRemove and GetOrAdd
    • Seq.forany and Array.forany (use exists instead)
    • Strings module
    • ConversionHelpers lookup table utilities (use utilities from LookupTable module instead)
    • Assembler related types and functions (use Aardvark.Assembler instead)
Clone this wiki locally