GitHub Packages shows this repository README on every package page (upstream limitation). Open the package README for install and quick start — embedded in each .nupkg and linked below.
| Package | Install | Package README |
|---|---|---|
Novolis.Rendering |
dotnet add package Novolis.Rendering |
README |
Novolis.Rendering.Abstractions |
dotnet add package Novolis.Rendering.Abstractions |
README |
Novolis.Rendering.Backends.Cpu |
dotnet add package Novolis.Rendering.Backends.Cpu |
README |
Novolis.Rendering.Backends.Igpu |
dotnet add package Novolis.Rendering.Backends.Igpu |
README |
Novolis.Rendering.Backends.Vulkan |
dotnet add package Novolis.Rendering.Backends.Vulkan |
README |
Novolis.Rendering.Compile |
dotnet add package Novolis.Rendering.Compile |
README |
Novolis.Rendering.DependencyInjection |
dotnet add package Novolis.Rendering.DependencyInjection |
README |
Novolis.Rendering.Materials |
dotnet add package Novolis.Rendering.Materials |
README |
Novolis.Rendering.PathTrace.Demos |
dotnet add package Novolis.Rendering.PathTrace.Demos |
README |
Novolis.Rendering.Presentation.Abstractions |
dotnet add package Novolis.Rendering.Presentation.Abstractions |
README |
Novolis.Rendering.Presentation.Raylib |
dotnet add package Novolis.Rendering.Presentation.Raylib |
README |
Novolis.Rendering.Presentation.Silk |
dotnet add package Novolis.Rendering.Presentation.Silk |
README |
Novolis.Rendering.Runtime |
dotnet add package Novolis.Rendering.Runtime |
README |
Novolis.Rendering.Scene |
dotnet add package Novolis.Rendering.Scene |
README |
Novolis.Rendering.Testing |
dotnet add package Novolis.Rendering.Testing |
README |
For NuGet.org and Visual Studio, the embedded README.md inside each package is authoritative.
Graphics-host-neutral ray tracing — authoring, compilation, CPU/GPU backends, and framebuffer contracts. Computes RGBA frames; does not own windows, GPU draw calls, or input.
Display adapters (Novolis.Rendering.Presentation.Raylib, Novolis.Rendering.Presentation.Silk, …) live in this repo and reference host runtimes only. See library boundaries.
Scene + IMaterial → SceneCompiler → CompiledScene
→ IRayTracingBackend → IRenderOutput (CPU pixels)
→ IFramePresenter (Presentation.Raylib / Presentation.Silk)
| Package | Role |
|---|---|
Novolis.Rendering.Abstractions |
Legacy bootstrap types (obsolete); shared primitives |
Novolis.Rendering.Presentation.Abstractions |
IFramePresenter, IRenderOutput |
Novolis.Rendering.Materials |
IMaterial, presets, MaterialCompiler → GpuMaterial |
Novolis.Rendering.Scene |
Authoring Scene, MeshInstance, lights |
Novolis.Rendering.Compile |
SceneCompiler + BVH build |
Novolis.Rendering.Runtime |
CompiledScene, CameraSnapshot, IRayTracingBackend |
Novolis.Rendering.Backends.Cpu |
CPU path tracer (progressive accumulation) |
Novolis.Rendering.Backends.Igpu |
ILGPU GPU path tracer (CPU fallback when no GPU or deterministic: true) |
Novolis.Rendering.Backends.Vulkan |
Vulkan compute path tracing (SPIR-V) |
Novolis.Rendering.DependencyInjection |
AddRayTracing(), UseCpuBackend() |
Novolis.Rendering.Presentation.Silk |
Silk.NET window + OpenGL CPU presenter |
Novolis.Rendering.Presentation.Raylib |
Raylib CPU frame presenter |
Novolis.Rendering |
Meta package referencing the stack |
Normative API: docs/materials-and-backends.md. Roadmap: docs/roadmap-raytracing.md.
cd d:\novolis\novolis-math
.\scripts\pack-local.ps1
cd d:\novolis\novolis-rendering
.\scripts\ci-pack-dependencies.ps1 # or pack-local.ps1 for full stack
dotnet build Novolis.Rendering.slnx -c Release
dotnet run --project tests/Novolis.Rendering.Backends.Cpu.Tests -c ReleaseCI checks out novolis-math and runs scripts/ci-pack-dependencies.ps1 before restore.
services.AddRayTracing().UseIlgpuBackend();
services.AddSingleton<IFramePresenter, RaylibCpuFramePresenter>();
var backend = provider.GetRequiredService<IRayTracingBackend>();
var presenter = provider.GetRequiredService<IFramePresenter>();
await backend.UploadSceneAsync(SceneCompiler.Compile(scene));
await backend.RenderAsync(camera, sampleIndex);
if (backend.Output.TryGetCpuPixels(out var pixels, out var w, out var h))
presenter.PresentCpuFrame(pixels, w, h);Dogfood sample: novolis-dogfooding/apps/RaytraceHello.
- No reference to
Novolis.Raylib.*orNovolis.Simulation.*from core rendering packages (Scene, Compile, backends). Novolis.Rendering.Presentation.Raylibis the only rendering package that referencesNovolis.Raylib.Runtime(texture blit only).novolis-raylibis a pure Raylib host — noNovolis.Rendering.*references.
Repository: github.com/Novolis-Platform/novolis-rendering