Novolis.Avalonia.Rendering
2026.1.6.250
dotnet add package Novolis.Avalonia.Rendering --version 2026.1.6.250
NuGet\Install-Package Novolis.Avalonia.Rendering -Version 2026.1.6.250
<PackageReference Include="Novolis.Avalonia.Rendering" Version="2026.1.6.250" />
<PackageVersion Include="Novolis.Avalonia.Rendering" Version="2026.1.6.250" />
<PackageReference Include="Novolis.Avalonia.Rendering" />
paket add Novolis.Avalonia.Rendering --version 2026.1.6.250
#r "nuget: Novolis.Avalonia.Rendering, 2026.1.6.250"
#:package Novolis.Avalonia.Rendering@2026.1.6.250
#addin nuget:?package=Novolis.Avalonia.Rendering&version=2026.1.6.250
#tool nuget:?package=Novolis.Avalonia.Rendering&version=2026.1.6.250
Novolis.Avalonia.Rendering
Avalonia hosts for Novolis rendering stacks (no XAML).
Install
dotnet add package Novolis.Avalonia.Rendering
Prerequisites: Avalonia 12+, .NET 10. Published Novolis.Rendering.Planar and Novolis.Silk.Runtime on GitHub Packages.
Quick start
using Novolis.Avalonia.Rendering;
using Novolis.Rendering.Presentation;
using Novolis.Rendering.Planar;
var view = new PlanarSceneControl { Scene = new PlanarScene() };
view.FrameUpdating += (_, e) =>
{
// Poll-style (Silk-like): edge-triggered in framebuffer pixels
if (view.IsMouseButtonPressed(MouseButton.Left))
HitTest(view.MousePixelPosition);
};
view.ScenePointerPressed += (_, e) =>
{
// Event-style: e.PixelX/Y already DPI-scaled to the GL framebuffer
if (e.Button == MouseButton.Left && e.IsInside)
HitTest(new(e.PixelX, e.PixelY));
};
// OpenGlControlBase needs ICustomHitTest (implemented) or pointer events never arrive.
// Agents can also inject: view.InjectPointerPressed(px, py);
Controls
| Control | Hosts | Use when |
|---|---|---|
PlanarSceneControl |
Novolis.Rendering.Planar + Silk OpenGL |
World / map / sprite viewport |
Rgba32FrameControl |
CPU Rgba32 buffer (IFramePresenter) |
Path tracing preview, software ray trace |
For Avalonia menus and HUD over the Silk surface (pause, encyclopedia, status strips), use Novolis.Avalonia.Gaming (GameShell) instead of drawing interactive chrome into PlanarScene.
Planar scene (OpenGL)
On Windows, prefer WGL so OpenGlControlBase initializes:
appBuilder.UsePlatformDetect()
.With(new Win32PlatformOptions { RenderingMode = [Win32RenderingMode.Wgl] });
On macOS (Avalonia 12 defaults to Metal), force OpenGL if required:
.With(new AvaloniaNativePlatformOptions
{
RenderingMode = [AvaloniaNativeRenderingMode.OpenGl],
});
CPU frame (path trace)
var frame = new Rgba32FrameControl();
frame.PresentCpuFrame(pixels, width, height);
// or: backend presents via IFramePresenter when frame is the control
Boundaries
- References Rendering packages only — not Simulation, Physics, or Raylib.
- Apps wire simulation → scene or
PresentCpuFrameat compose time. - For Raylib inside Avalonia, use
Novolis.Avalonia.Raylib(RaylibHostControl). - For interactive HUD/menus over Planar, use
Novolis.Avalonia.Gaming(GameShell).
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. 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. |
-
net10.0
- Avalonia (>= 12.1.4)
- Novolis.Math.Geometry (>= 2026.1.1.61)
- Novolis.Rendering.Planar (>= 2026.1.1.86)
- Novolis.Rendering.Presentation.Abstractions (>= 2026.1.1.86)
- Novolis.Silk.Runtime (>= 2026.1.1.8)
NuGet packages (4)
Showing the top 4 NuGet packages that depend on Novolis.Avalonia.Rendering:
| Package | Downloads |
|---|---|
|
Novolis.Avalonia.Raylib
Avalonia host control for embedded Raylib viewports (hidden GLFW + RGBA streaming). |
|
|
Novolis.Avalonia.Gaming
Avalonia game shell: Silk/Planar viewport host with HUD and modal menu overlays, HardPause defaults for interactive UIs. |
|
|
Novolis.Avalonia.ThreeD
Avalonia ThreeD editor surface: scene hierarchy, OpenGL wireframe viewport, mesh tools, lights, cameras, and agent session. |
|
|
Novolis.Avalonia.Modeling
Avalonia Modeling editor surface: scene hierarchy, OpenGL wireframe viewport, mesh tools, lights, cameras, and agent session. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 2026.1.6.250 | 146 | 10/25/2026 |
| 2026.1.6.249 | 155 | 10/21/2026 |
| 2026.1.6.248 | 148 | 10/19/2026 |
| 2026.1.6.247 | 146 | 10/18/2026 |
| 2026.1.6.244 | 153 | 10/18/2026 |
| 2026.1.6.243 | 146 | 10/18/2026 |
| 2026.1.6.242 | 142 | 10/18/2026 |
| 2026.1.6.241 | 145 | 10/18/2026 |
| 2026.1.6.240 | 152 | 10/12/2026 |
| 2026.1.6.230 | 165 | 10/6/2026 |
| 2026.1.6.229 | 163 | 10/4/2026 |
| 2026.1.6.228 | 150 | 10/4/2026 |
| 2026.1.6.226 | 159 | 10/4/2026 |
| 2026.1.6.221 | 159 | 10/4/2026 |
| 2026.1.6.220 | 156 | 10/3/2026 |
| 2026.1.6.218 | 166 | 10/3/2026 |
| 2026.1.6.196 | 163 | 10/2/2026 |
| 2026.1.6.195 | 154 | 10/2/2026 |
| 2026.1.6.194 | 182 | 10/1/2026 |