ZeroGraphics.Core 1.0.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package ZeroGraphics.Core --version 1.0.0
                    
NuGet\Install-Package ZeroGraphics.Core -Version 1.0.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="ZeroGraphics.Core" Version="1.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="ZeroGraphics.Core" Version="1.0.0" />
                    
Directory.Packages.props
<PackageReference Include="ZeroGraphics.Core" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add ZeroGraphics.Core --version 1.0.0
                    
#r "nuget: ZeroGraphics.Core, 1.0.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package ZeroGraphics.Core@1.0.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=ZeroGraphics.Core&version=1.0.0
                    
Install as a Cake Addin
#tool nuget:?package=ZeroGraphics.Core&version=1.0.0
                    
Install as a Cake Tool

ZeroGraphics

High-performance, hardware-accelerated desktop graphics ecosystem for .NET (WinForms / WPF / Headless). Built with direct COM VTable P/Invoke โ€” zero external dependencies (no SharpDX, no Vortice.Windows, no runtime D3DCompiler required).

Dual-targeted for legacy .NET Framework 4.6.2 enterprise apps (e.g., Industrial ERP, MES, SCADA) and modern .NET 8.0 / 9.0+ Windows.


๐Ÿ›๏ธ Ecosystem Architecture

ZeroGraphics/
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ ZeroGraphics.Core/          # Multi-target: netstandard2.0; net462; net8.0
โ”‚   โ”‚   โ”œโ”€โ”€ Math/                   # Analytical SDF calculations, Gaussian kernels
โ”‚   โ”‚   โ”œโ”€โ”€ Data/                   # Zero-allocation LTTB downsampling algorithm
โ”‚   โ”‚   โ””โ”€โ”€ Telemetry/              # DXGI GPU hardware telemetry (Tiers, VRAM, Vendor)
โ”‚   โ”‚
โ”‚   โ”œโ”€โ”€ ZeroGraphics.Direct2D/      # Multi-target: net462; net8.0-windows
โ”‚   โ”‚   โ”œโ”€โ”€ Native/                 # Direct2D 1.0 & DirectWrite COM VTable interfaces
โ”‚   โ”‚   โ”œโ”€โ”€ Core/                   # D2DFactory, DWriteFactory, IDWriteTextFormat
โ”‚   โ”‚   โ””โ”€โ”€ Controls/               # ZeroDirect2DCanvas (Per-Monitor V2 Subpixel ClearType)
โ”‚   โ”‚
โ”‚   โ”œโ”€โ”€ ZeroGraphics.DirectX/       # Multi-target: net462; net8.0-windows
โ”‚   โ”‚   โ”œโ”€โ”€ Native/                 # Direct3D 11, DXGI 1.1, DXBC Bytecode VTable bindings
โ”‚   โ”‚   โ”œโ”€โ”€ Core/                   # D3D11DeviceManager, SwapChain, RenderTargetView
โ”‚   โ”‚   โ”œโ”€โ”€ Pipeline/               # SdfCardPipeline (Single-pass quad, precompiled HLSL)
โ”‚   โ”‚   โ””โ”€โ”€ Controls/               # ZeroDirectXCanvas (Analytical rounded cards, blur, glow)
โ”‚   โ”‚
โ”‚   โ””โ”€โ”€ ZeroGraphics.Waveform/      # Multi-target: net462; net8.0-windows
โ”‚       โ”œโ”€โ”€ Pipeline/               # WaveformPipeline (LineStrip topology, vertex buffer stream)
โ”‚       โ””โ”€โ”€ Controls/               # ZeroWaveformCanvas (100k points @ 60 FPS oscilloscope)
โ”‚
โ”œโ”€โ”€ samples/
โ”‚   โ””โ”€โ”€ ZeroGraphics.Samples.Demo/  # Interactive WinForms demo application
โ””โ”€โ”€ tests/
    โ””โ”€โ”€ ZeroGraphics.Tests/         # Comprehensive xUnit automated verification suite

๐Ÿš€ Key Advantages

  1. Zero External Dependencies:

    • Uses zero third-party NuGet packages for graphics.
    • All COM interfaces (ID3D11Device, IDXGISwapChain, ID2D1Factory, IDWriteFactory) communicate directly via pure C# [UnmanagedFunctionPointer] VTable delegates.
    • Shaders are precompiled via fxc.exe (Shader Model 4.0) and embedded directly as byte arrays โ€” eliminating the need for d3dcompiler_47.dll at runtime.
  2. Enterprise WinForms Integration (Single HWND):

    • Renders directly into standard WinForms Control.Handle via Direct3D 11 swap chains or Direct2D HwndRenderTarget.
    • On-demand rendering: redraws only when properties change or upon OS invalidation events (0.0% CPU and 0.0% GPU when idle).
  3. Multi-Target Universal Compatibility:

    • ZeroGraphics.Core targets .NET Standard 2.0, .NET Framework 4.6.2, and .NET 8.0.
    • UI canvas libraries support .NET Framework 4.6.2 and .NET 8.0-windows.

๐Ÿ“ฆ Package Matrix

Package Target Frameworks Primary Use Case
ZeroGraphics.Core netstandard2.0, net462, net8.0 Math, SDF kernels, LTTB decimation, GPU telemetry
ZeroGraphics.Direct2D net462, net8.0-windows Subpixel ClearType typography, High-DPI text rendering
ZeroGraphics.DirectX net462, net8.0-windows Analytical SDF cards, drop shadows, neon glow effects
ZeroGraphics.Waveform net462, net8.0-windows Real-time oscilloscope, high-speed time-series streaming

โšก Quick Start

1. Direct3D 11 Analytical SDF Card (WinForms)

using ZeroGraphics.DirectX.Controls;

var card = new ZeroDirectXCanvas
{
    Dock = DockStyle.Fill,
    Elevation = 12f,
    BlurRadius = 24f,
    CornerRadius = 16f,
    BorderWidth = 1.5f,
    GlowIntensity = 0.6f,
    CardColor = Color.FromArgb(24, 28, 38)
};
this.Controls.Add(card);

2. Direct2D DirectWrite Typography

using ZeroGraphics.Direct2D.Controls;

var textCanvas = new ZeroDirect2DCanvas
{
    Dock = DockStyle.Fill,
    TextFontFamily = "Segoe UI",
    TextSize = 16f,
    SampleText = "Subpixel ClearType with Per-Monitor V2 High-DPI Crispness"
};
this.Controls.Add(textCanvas);

3. Waveform High-Speed Oscilloscope (100k points)

using ZeroGraphics.Waveform.Controls;

var scope = new ZeroWaveformCanvas
{
    Dock = DockStyle.Fill,
    AutoScale = true,
    TraceColor = Color.FromArgb(0, 255, 136)
};
this.Controls.Add(scope);

// Stream live telemetry points
float[] points = GetTelemetryBuffer(); // 100,000 points
scope.SetData(points);

๐Ÿงช Verification & Tests

To execute the automated test suite:

dotnet test tests/ZeroGraphics.Tests/ZeroGraphics.Tests.csproj

To run the interactive demonstration application:

dotnet run --project samples/ZeroGraphics.Samples.Demo/ZeroGraphics.Samples.Demo.csproj -f net8.0-windows

๐Ÿ“„ License

MIT License. Designed and engineered by Phong Vรต.

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  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. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 is compatible.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (12)

Showing the top 5 NuGet packages that depend on ZeroGraphics.Core:

Package Downloads
ZeroUI.WinForms

Ultra-high-performance WinForms industrial UI suite with 10M+ rows virtual grid, ISA-18.2 alarms, P&ID actuators, 60 FPS oscilloscope, and modern Obsidian Dark/Clean Light theme.

ZeroUI.Wpf

Ultra-high-performance WPF industrial UI suite with zero-allocation virtual big data grid and modern reactive theme engine.

ZeroGraphics.DirectX

High-performance Direct3D 11 and DXGI rendering pipeline with hardware-accelerated HLSL Signed Distance Field (SDF) effects for Windows Forms (.NET Framework 4.6.2 and .NET 8.0).

ZeroGraphics.Waveform

High-frequency real-time waveform, oscilloscope, and industrial telemetry chart canvas powered by Direct3D 11 hardware-accelerated LineStrip rendering (.NET Framework 4.6.2 and .NET 8.0).

ZeroGraphics.Direct2D

High-performance Direct2D and DirectWrite typography and 2D vector rendering engine for Windows Forms (.NET Framework 4.6.2 and .NET 8.0).

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.2.0 33 9/16/2026
1.0.1 182 9/9/2026
1.0.0 99 9/8/2026