Novolis.Rendering.Backends.TwoD.Silk
2026.1.1.72
dotnet add package Novolis.Rendering.Backends.TwoD.Silk --version 2026.1.1.72
NuGet\Install-Package Novolis.Rendering.Backends.TwoD.Silk -Version 2026.1.1.72
<PackageReference Include="Novolis.Rendering.Backends.TwoD.Silk" Version="2026.1.1.72" />
<PackageVersion Include="Novolis.Rendering.Backends.TwoD.Silk" Version="2026.1.1.72" />
<PackageReference Include="Novolis.Rendering.Backends.TwoD.Silk" />
paket add Novolis.Rendering.Backends.TwoD.Silk --version 2026.1.1.72
#r "nuget: Novolis.Rendering.Backends.TwoD.Silk, 2026.1.1.72"
#:package Novolis.Rendering.Backends.TwoD.Silk@2026.1.1.72
#addin nuget:?package=Novolis.Rendering.Backends.TwoD.Silk&version=2026.1.1.72
#tool nuget:?package=Novolis.Rendering.Backends.TwoD.Silk&version=2026.1.1.72
Novolis.Rendering.Backends.TwoD.Silk
Silk.NET OpenGL backend and game loop for Novolis.Rendering.TwoD — orthographic platformer rendering, PNG loading, HUD/menus, and optional framebuffer capture.
Install
dotnet add package Novolis.Rendering.Backends.TwoD.Silk
Depends on Silk.NET (windowing, OpenGL, input) and Novolis.Rendering.TwoD. Requires OpenGL 3.3+ and .NET 10 SDK (net10.0).
Quick start — game loop
using Novolis.Rendering.Backends.TwoD.Silk;
using Novolis.Rendering.TwoD;
SilkTwoDGame.Run("Platformer", 800, 600, ctx =>
{
var bg = SilkTwoDPngLoader.LoadPng(ctx.Scene.Textures, "assets/level1.png");
TwoDScenePrimitives.AddBackground(ctx.Scene, bg, worldWidth: 50f, worldHeight: 15f);
}, ctx =>
{
ctx.Scene.Update(ctx.DeltaSeconds);
});
SilkTwoDGameContext exposes Scene, Renderer, DeltaSeconds, keyboard/mouse input, and menu navigation helpers (IsMenuUpPressed, IsMenuConfirmPressed, …). Menu stack input (W/S, arrows, Enter, Escape) is handled automatically when a menu is active.
Quick start — PNG and manual draw
var texture = SilkTwoDPngLoader.LoadPng(scene.Textures, "hero.png");
// … populate scene …
renderer.Resize(width, height);
renderer.DrawScene(scene);
Quick start — streaming capture
using var capture = new SilkTwoDFrameCaptureSession(new CaptureStreamOptions
{
CaptureEveryNFrames = 2,
MaxBufferedFrames = 32,
});
SilkTwoDGame.Run("Capture", 800, 600, initialize: null, update: ctx => { }, renderOverlay: null, capture);
// Drain PNG frames from capture.TryRead(out var frame) on any thread.
API
| Type | Role |
|---|---|
SilkTwoDGame |
GLFW window loop with initialize/update/overlay/capture hooks |
SilkTwoDGameContext |
Per-frame scene, renderer, input, timing |
SilkTwoDRenderer |
OpenGL implementation of ITwoDRenderer |
SilkTwoDPngLoader |
Load PNG files into TwoDTextureRegistry |
SilkTwoDFrameCaptureSession |
Post-draw framebuffer capture queue |
CaptureStreamOptions |
Frame interval and queue depth |
SilkTwoDCapturedFrame |
PNG bytes, dimensions, frame index, elapsed time |
Related
| Package | Role |
|---|---|
Novolis.Rendering.TwoD |
Host-neutral 2D scene, collision, HUD, menus |
Novolis.Rendering.Presentation.Silk |
Silk window for path-tracing demos (separate stack) |
| 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.Math.Topology (>= 2026.1.1.56)
- Novolis.Rendering.Presentation.Abstractions (>= 2026.1.1.72)
- Novolis.Rendering.TwoD (>= 2026.1.1.72)
- Silk.NET.GLFW (>= 2.23.0)
- Silk.NET.Input (>= 2.23.0)
- Silk.NET.Input.Common (>= 2.23.0)
- Silk.NET.Input.Glfw (>= 2.23.0)
- Silk.NET.OpenGL (>= 2.23.0)
- Silk.NET.Windowing (>= 2.23.0)
- Silk.NET.Windowing.Glfw (>= 2.23.0)
- StbImageSharp (>= 2.30.16)
- StbImageWriteSharp (>= 1.16.7)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Novolis.Rendering.Backends.TwoD.Silk:
| Package | Downloads |
|---|---|
|
Novolis.Avalonia.Rendering
Avalonia hosts for Novolis.Rendering.TwoD (OpenGL) and CPU RGBA frames. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 2026.1.1.72 | 40 | 10/4/2026 |
| 2026.1.1.71 | 128 | 10/1/2026 |
| 2026.1.1.70 | 88 | 9/30/2026 |