Novolis.Rendering.PathTrace.Demos
2026.1.1.73
dotnet add package Novolis.Rendering.PathTrace.Demos --version 2026.1.1.73
NuGet\Install-Package Novolis.Rendering.PathTrace.Demos -Version 2026.1.1.73
<PackageReference Include="Novolis.Rendering.PathTrace.Demos" Version="2026.1.1.73" />
<PackageVersion Include="Novolis.Rendering.PathTrace.Demos" Version="2026.1.1.73" />
<PackageReference Include="Novolis.Rendering.PathTrace.Demos" />
paket add Novolis.Rendering.PathTrace.Demos --version 2026.1.1.73
#r "nuget: Novolis.Rendering.PathTrace.Demos, 2026.1.1.73"
#:package Novolis.Rendering.PathTrace.Demos@2026.1.1.73
#addin nuget:?package=Novolis.Rendering.PathTrace.Demos&version=2026.1.1.73
#tool nuget:?package=Novolis.Rendering.PathTrace.Demos&version=2026.1.1.73
Novolis.Rendering.PathTrace.Demos
Shared path-tracing demo infrastructure: prebuilt showcase scenes, backend selection, session lifecycle, background sample workers, and a thread-safe display buffer for Silk and Raylib dogfood apps.
Install
dotnet add package Novolis.Rendering.PathTrace.Demos
Prerequisites: .NET 10 SDK (net10.0). Pulls CPU, ILGPU, and Vulkan backend packages for PathTraceBackendFactory.
Quick start — interactive session
using Novolis.Rendering.PathTrace.Demos;
using Novolis.Rendering.Runtime;
var scene = ShowcaseScenes.BuildHelloShowcase();
using var session = new PathTraceSession(scene);
var display = new PathTraceDisplayBuffer();
using var worker = new PathTraceBackgroundWorker(session.Backend, display);
session.Resize(1280, 720);
display.Invalidate(1280, 720);
var camera = CameraSnapshot.LookAt(
ShowcaseScenes.HelloDefaultEye,
ShowcaseScenes.OrbitTarget,
Vector3.UnitY,
verticalFovDegrees: 60f,
aspectRatio: 1280f / 720f);
worker.EnqueueOrbit(camera, samplesPerFrame: 4);
// In the host loop: display.TryPresent(presenter);
Quick start — backend selection
// Environment: NOVOLIS_RAY_BACKEND=cpu|ilgpu|vulkan (default ilgpu)
using var session = new PathTraceSession(scene, PathTraceBackendKind.Cpu);
session.SwitchBackend(PathTraceBackendKind.Vulkan);
var kind = session.CycleBackend(); // cpu → ilgpu → vulkan → cpu
Progressive accumulation: worker.TryEnqueueAccumulate(camera, ref sample, batchSize) queues batches when idle.
Quick start — window title HUD
var title = PathTraceStatusTitle.Format(
session.Backend,
display.DisplayedSampleCount,
orbitEnabled: true,
fps: 60f,
rendering: worker.IsBusy);
API
| Type | Role |
|---|---|
ShowcaseScenes |
BuildHelloShowcase(), BuildStudioShowcase(), orbit/eye constants |
PathTraceSession |
Owns backend, resize, upload, backend switch/cycle |
PathTraceBackendFactory |
Create, FromEnvironment, Parse |
PathTraceBackendKind |
Ilgpu, Vulkan, Cpu |
PathTraceBackgroundWorker |
Background orbit/accumulate jobs, ReplaceBackend |
PathTraceDisplayBuffer |
Thread-safe CPU frame buffer + TryPresent |
PathTraceStatusTitle |
Formats demo title-bar status strings |
Dogfooding / apps
Used by Silk and Raylib path-tracing samples (SilkTraceStudio, RaytraceHello). Orbit camera rigs live in app layers (Novolis.Simulation.View), not this package.
Related
| Package | Role |
|---|---|
Novolis.Rendering.Presentation.Silk |
Silk window + OpenGL presenter |
Novolis.Rendering.Presentation.Raylib |
Raylib CPU frame presenter |
Novolis.Rendering.DependencyInjection |
AddRayTracingFromEnvironment() |
Novolis.Rendering.Runtime |
IRayTracingBackend, CameraSnapshot, CompiledScene |
| 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.Arrays (>= 2026.1.1.56)
- Novolis.Math.Geometry (>= 2026.1.1.56)
- Novolis.Rendering.Backends.Cpu (>= 2026.1.1.73)
- Novolis.Rendering.Backends.Igpu (>= 2026.1.1.73)
- Novolis.Rendering.Backends.Vulkan (>= 2026.1.1.73)
- Novolis.Rendering.Compile (>= 2026.1.1.73)
- Novolis.Rendering.Materials (>= 2026.1.1.73)
- Novolis.Rendering.Presentation.Abstractions (>= 2026.1.1.73)
- Novolis.Rendering.Runtime (>= 2026.1.1.73)
- Novolis.Rendering.Scene (>= 2026.1.1.73)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 2026.1.1.73 | 0 | 10/5/2026 |
| 2026.1.1.72 | 40 | 10/4/2026 |
| 2026.1.1.71 | 40 | 10/1/2026 |
| 2026.1.1.70 | 52 | 9/30/2026 |