Aardworx.Rendering.WebGL 1.2.4

There is a newer version of this package available.
See the version list below for details.
dotnet add package Aardworx.Rendering.WebGL --version 1.2.4
                    
NuGet\Install-Package Aardworx.Rendering.WebGL -Version 1.2.4
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Aardworx.Rendering.WebGL" Version="1.2.4" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Aardworx.Rendering.WebGL" Version="1.2.4" />
                    
Directory.Packages.props
<PackageReference Include="Aardworx.Rendering.WebGL" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Aardworx.Rendering.WebGL --version 1.2.4
                    
#r "nuget: Aardworx.Rendering.WebGL, 1.2.4"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Aardworx.Rendering.WebGL@1.2.4
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Aardworx.Rendering.WebGL&version=1.2.4
                    
Install as a Cake Addin
#tool nuget:?package=Aardworx.Rendering.WebGL&version=1.2.4
                    
Install as a Cake Tool

WebAssembly libraries for Aardvark

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on Aardworx.Rendering.WebGL:

Package Downloads
Aardworx.WebAssembly.Dom

WebAssembly libraries for Aardvark

Aardworx.WebAssembly.WebXR

WebAssembly libraries for Aardvark

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.2.8 173 5/20/2026
1.2.7 200 5/18/2026
1.2.6 206 4/28/2026
1.2.5 186 4/26/2026
1.2.4 185 4/26/2026
1.2.3 192 4/26/2026
1.2.2 186 4/26/2026
1.2.1 181 4/25/2026
1.2.0 185 4/25/2026
1.1.14 402 11/6/2025
1.1.13 328 10/22/2025
1.1.12 348 10/16/2025
1.1.11 351 2/22/2025
1.1.10 337 10/21/2024
1.1.9 365 10/19/2024
1.1.8 359 10/1/2024
1.1.7 360 5/13/2024
1.1.6 335 9/27/2023
1.1.5 375 9/27/2023
1.1.4 302 9/25/2023
Loading failed

implemented several `IRuntime` members that were previously `NotImplementedException` stubs:
- `Clear(IBackendTexture, ClearValues)` — attaches the texture to a temporary FBO and routes through the right `glClearBuffer*` family (integer vs float color, depth-only vs depth+stencil). Mirrors the Aardvark GL backend's contract: clears level 0 / slice 0.
- `Copy(IBackendTexture, ...)` with explicit slice/level ranges — iterates per (slice, level) and reuses the existing single-image `BlitFramebuffer` path. WebGL2 has no `glCopyImageSubData`, so per-image FBO blit is the only option.
- `DownloadAsync(IBackendBuffer, ...)` — performs the download eagerly (WebGL is single-threaded JS — no meaningful async path) and returns a no-op thunk that satisfies the `unit -> unit` waiter contract.
- `CreateOcclusionQuery(precise)` — wraps WebGL2's `ANY_SAMPLES_PASSED{,_CONSERVATIVE}` query target. `IsPrecise` returns `false` regardless because WebGL2 does not expose `SAMPLES_PASSED` (the exact sample count) — only the boolean any-samples-passed variants.
- `CreateTimeQuery()` — wraps `GL_EXT_disjoint_timer_query_webgl2` `TIME_ELAPSED`. Throws if the extension isn't supported by the current context (common on iOS Safari and some Linux drivers; check `device.Info.Features.TimerQuery` first).
added tests covering each: `texture clear (color)`, `texture copy (slice/level)`, `buffer downloadAsync`, `occlusion query`, `time query` (auto-skipped when the GPU lacks the timer extension).