UltimateCameraCuller 1.0.0
dotnet add package UltimateCameraCuller --version 1.0.0
NuGet\Install-Package UltimateCameraCuller -Version 1.0.0
<PackageReference Include="UltimateCameraCuller" Version="1.0.0" />
<PackageVersion Include="UltimateCameraCuller" Version="1.0.0" />
<PackageReference Include="UltimateCameraCuller" />
paket add UltimateCameraCuller --version 1.0.0
#r "nuget: UltimateCameraCuller, 1.0.0"
#:package UltimateCameraCuller@1.0.0
#addin nuget:?package=UltimateCameraCuller&version=1.0.0
#tool nuget:?package=UltimateCameraCuller&version=1.0.0
๐ฎ UltimateCameraCuller
UltimateCameraCuller is an ultra-fast, GPU-accelerated frustum culling library for .NET game engines.
Instead of wasting precious CPU cycles iterating through hundreds of thousands of objects, this library leverages the GPU to calculate mathematical visibility instantly. It uses advanced Clip Space Math to return a simple bool[] telling your game engine exactly what to render and what to hide.
Powered by the lightning-fast FastMatrixEngine, this culler ensures your game runs at a buttery-smooth 120+ FPS.
โจ Key Features
- ๐๏ธ Massive Parallelism: Multiplies 100,000+ object positions against the camera matrix in milliseconds on the GPU.
- ๐ง Smart Precision Mode (Float16): An optional toggle to compress 32-bit floats into 16-bit
System.Half. This halves PCIe transfer times and VRAM usage for maximum performance. - ๐งฎ Clip Space Frustum Culling: Uses the strict
-Wto+Whomogeneous coordinates bounding box to perfectly cull objects off-screen. - ๐งต Multi-Threaded CPU Fallback: Automatically utilizes
Parallel.Forto split the final Boolean logic across all available CPU cores.
๐ฆ Installation
Install via the standard .NET CLI or NuGet Package Manager:
dotnet add package UltimateCameraCuller
๐ Quick Start
Here is how easily you can integrate UltimateCameraCuller into your game engine's render loop:
using UltimateCameraCuller;
using System;
class GameLoop
{
static void Main()
{
int numObjects = 100_000;
// 1. Your Camera's View-Projection Matrix (4x4)
float[,] cameraMatrix = new float[4, 4]; // Populated by your game engine
// 2. Your 3D Objects' Positions (X, Y, Z, W)
// W is usually 1.0f for physical positions
float[,] objectPositions = new float[numObjects, 4];
// ... Load your matrix and object data here ...
// 3. Cull the invisible objects!
// Setting useSmartPrecision = true will compress data to Float16 for extreme speed
bool[] visibleObjects = GpuCameraCuller.GetVisibleObjects(cameraMatrix, objectPositions, useSmartPrecision: true);
// 4. Render only what the camera sees
for(int i = 0; i < numObjects; i++)
{
if (visibleObjects[i])
{
// DrawMesh(objects[i]);
}
}
Console.WriteLine("Culling complete!");
}
}
| 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
- FastMatrixEngine (>= 1.0.1)
- ILGPU (>= 1.5.3)
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 |
|---|---|---|
| 1.0.0 | 116 | 6/25/2026 |