Skip to main content

ANGLE (Metal backend) macOS dylibs plus the IOSurface helper for the Aura3D.Avalonia render path.

Total Downloads
141
141
Published
Oct 1, 2026
22d ago

Get Started

dotnet add package Aura3D.Angle.MacOS --version 0.1.0
ProductVersions
.NET Standard
netstandard2.0

README

Aura3D.Angle.MacOS

ANGLE (Metal backend) macOS dylibs plus the IOSurface helper for the Aura3D.Avalonia render path.

What's inside

file purpose
native/macos-arm64/libEGL.dylib / libGLESv2.dylib ANGLE GLES 3.0 over Metal, built from commit 58f8882 (target_os=mac, angle_enable_metal)
native/macos-arm64/libAura3dAngleMacOSHelper.dylib tiny C shim that creates 'BGRA' IOSurfaces (row stride 64-byte aligned) — IOSurfaceCreate P/Invoked directly from a .NET process crashes in objc class realization on macOS 26
build/ + buildTransitive/Aura3D.Angle.MacOS.targets copies the three dylibs into the consumer's output directory; MacAngleNative loads them from AppContext.BaseDirectory

Why

macOS 26's OpenGL (the GL-on-Metal translation layer, driver string 4.1 Metal - 90.5) does not implement point primitives at all: ALIASED_POINT_SIZE_RANGE reports [0, 0] and any point draw is culled, in both core and legacy profiles. Point clouds therefore render as invisible dust under the native driver. Aura3D's macOS desktop hosts keep the Avalonia OpenGL compositor but render 3D viewports through this self-hosted ANGLE(Metal) context (see Aura3DViewBase.MacAngle.cs / MacAngleBackend in Aura3D.Avalonia).

Rebuilding the slice

src/Aura3D.Angle.MacOS/build-angle-macos.sh

Requires Xcode + depot_tools in PATH (gn/ninja/gclient); on Xcode 26 also xcodebuild -downloadComponent MetalToolchain. The script reuses the ~/angle_ios checkout by default (same ANGLE revision as the iOS slice) and rebuilds the C shim from this repository.

License: the binaries are ANGLE, BSD-3-Clause (LICENSE.angle.txt).

Downloads by Version

Not enough data for chart

Similar & Alternative Packages

Hand-picked matching NuGet libraries based on tags & ecosystem

Depended On By

Find packages that declare this package as a dependency. NuGet does not provide a reverse-dependency endpoint, so candidates are checked on demand.

Adoption Assessment

Assess this package against its supported frameworks, license, maintenance signals and dependency graph before making it a project standard.

No SPDX license expression is published. Review the license text and your organisation's policy before redistribution.Compatibility metadata lists 1 target framework; confirm the exact target used by your application.

Related Guides & Workflows

Learn how to evaluate, integrate, or audit this package in your .NET project.