UltimateCameraCuller 1.0.0

dotnet add package UltimateCameraCuller --version 1.0.0
                    
NuGet\Install-Package UltimateCameraCuller -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="UltimateCameraCuller" Version="1.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="UltimateCameraCuller" Version="1.0.0" />
                    
Directory.Packages.props
<PackageReference Include="UltimateCameraCuller" />
                    
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 UltimateCameraCuller --version 1.0.0
                    
#r "nuget: UltimateCameraCuller, 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 UltimateCameraCuller@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=UltimateCameraCuller&version=1.0.0
                    
Install as a Cake Addin
#tool nuget:?package=UltimateCameraCuller&version=1.0.0
                    
Install as a Cake Tool

๐ŸŽฎ 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 -W to +W homogeneous coordinates bounding box to perfectly cull objects off-screen.
  • ๐Ÿงต Multi-Threaded CPU Fallback: Automatically utilizes Parallel.For to 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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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