Novolis.Rendering.Backends.Cpu
2026.1.1.72
dotnet add package Novolis.Rendering.Backends.Cpu --version 2026.1.1.72
NuGet\Install-Package Novolis.Rendering.Backends.Cpu -Version 2026.1.1.72
<PackageReference Include="Novolis.Rendering.Backends.Cpu" Version="2026.1.1.72" />
<PackageVersion Include="Novolis.Rendering.Backends.Cpu" Version="2026.1.1.72" />
<PackageReference Include="Novolis.Rendering.Backends.Cpu" />
paket add Novolis.Rendering.Backends.Cpu --version 2026.1.1.72
#r "nuget: Novolis.Rendering.Backends.Cpu, 2026.1.1.72"
#:package Novolis.Rendering.Backends.Cpu@2026.1.1.72
#addin nuget:?package=Novolis.Rendering.Backends.Cpu&version=2026.1.1.72
#tool nuget:?package=Novolis.Rendering.Backends.Cpu&version=2026.1.1.72
Novolis.Rendering.Backends.Cpu
CPU path tracing backend with progressive accumulation and optional deterministic sampling for golden tests.
Install
dotnet add package Novolis.Rendering.Backends.Cpu
Prerequisites: .NET 10 SDK (net10.0), Novolis.Rendering.Runtime.
Quick start
using Novolis.Rendering.Backends.Cpu;
using Novolis.Rendering.Runtime;
var backend = new CpuRayTracingBackend(deterministic: true);
await backend.ResizeAsync(320, 240);
await backend.UploadSceneAsync(DemoSceneFactory.UnitCubeRoom());
var camera = CameraSnapshot.LookAt(
new Vector3(1.2f, 0.8f, 2f), new Vector3(0f, 0.25f, 0f), Vector3.UnitY, 60f, 320f / 240f);
await backend.RenderAsync(camera, sampleIndex: 0);
backend.Output.TryGetCpuPixels(out var pixels, out var w, out var h);
ResetAccumulation() clears integrated samples. SampleCount tracks progressive rendering progress. BackendLabel is "CPU" or "CPU (deterministic)".
API
| Type | Role |
|---|---|
CpuRayTracingBackend |
IRayTracingBackend; CPU-only output, no GPU surface |
DemoSceneFactory |
UnitCubeRoom() → precompiled demo CompiledScene |
Dogfooding / apps
Reference backend for correctness checks and Novolis.Rendering.Testing golden hashes. Selected via NOVOLIS_RAY_BACKEND=cpu or PathTraceBackendKind.Cpu.
Support
Pre-release platform library. Public API is fully documented with strict XML (CS1591 enforced).
No GPU driver or native window required.
Related
| Package | Role |
|---|---|
Novolis.Rendering.Backends.Igpu |
GPU compute via ILGPU |
Novolis.Rendering.Backends.Vulkan |
Vulkan compute shaders |
Novolis.Rendering.Testing |
SHA-256 golden assertions |
Novolis.Rendering.DependencyInjection |
UseCpuBackend(deterministic:) |
More documentation
| 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
- Novolis.Math.Geometry (>= 2026.1.1.56)
- Novolis.Rendering.Abstractions (>= 2026.1.1.72)
- Novolis.Rendering.Compile (>= 2026.1.1.72)
- Novolis.Rendering.Presentation.Abstractions (>= 2026.1.1.72)
- Novolis.Rendering.Runtime (>= 2026.1.1.72)
- Novolis.Rendering.Scene (>= 2026.1.1.72)
NuGet packages (5)
Showing the top 5 NuGet packages that depend on Novolis.Rendering.Backends.Cpu:
| Package | Downloads |
|---|---|
|
Novolis.Rendering.Backends.Vulkan
Vulkan backends: compute path tracing and interactive wireframe graphics (SPIR-V). |
|
|
Novolis.Rendering.Backends.Igpu
ILGPU ray tracing backend (GPU compute with CPU fallback). |
|
|
Novolis.Rendering.DependencyInjection
Dependency injection registration for ray tracing backends. |
|
|
Novolis.Rendering.PathTrace.Demos
Shared path-tracing demo scenes, async workers, and session helpers for Silk and Raylib samples. |
|
|
Novolis.Rendering
Rendering composition stack — materials, scene compile, CPU/GPU backends, presentation contracts. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 2026.1.1.72 | 47 | 10/4/2026 |
| 2026.1.1.71 | 84 | 10/1/2026 |
| 2026.1.1.70 | 68 | 9/30/2026 |