Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/ProwlEngine/Prowl.Vector/llms.txt

Use this file to discover all available pages before exploring further.

Prowl.Vector is a high-performance mathematics library built for the Prowl Game Engine and available as a standalone NuGet package. It provides double-precision (64-bit) and single-precision (32-bit) types for vectors, matrices, and quaternions — with a clean, Unity-inspired API that feels immediately familiar to game and graphics developers.

Quickstart

Get Prowl.Vector installed and write your first vector and matrix operations in minutes.

Installation

Add the NuGet package to your .NET 6/7/8/9/10 or netstandard2.1 project.

Core Types

Explore Double3, Float3, Int3, Quaternion, matrices, Color, and Rect types.

Geometry & Spatial

AABB, Sphere, Frustum, Ray, Plane, Cone, Triangle — and GJK collision detection.

Procedural Geometry

Build, modify, and boolean-combine meshes with GeometryData, generators, and CSG.

API Reference

Full type signatures, constructors, and member documentation for every public type.

What’s Inside

Prowl.Vector covers every layer of 3D math a game engine or graphics application needs:

Vectors

Double2/3/4, Float2/3/4, Int2/3/4 with swizzles, arithmetic, dot, cross, normalize, lerp, and more.

Matrices

2×2, 3×3, and 4×4 matrices in both double and float precision. TRS, view, projection, inversion.

Quaternions

Euler angles, axis-angle, Slerp, Nlerp, LookRotation, and matrix conversion.

Collision

GJK algorithm for any IBoundingShape pair, plus extensive Intersection static tests.

Noise

Simplex, Classic Perlin, periodic, and Cellular (Worley) noise in 2D, 3D, and 4D.

RNG

xoshiro256** random number generator with geometry helpers and Gaussian distribution.

Get Started

1

Install the package

Add Prowl.Vector via NuGet to your .NET project:
dotnet add package Prowl.Vector
2

Import the namespace

using Prowl.Vector;
using Prowl.Vector.Geometry; // for AABB, Intersection, GJK, etc.
3

Start computing

var position = new Double3(1.0, 2.0, 3.0);
var forward  = Double3.Normalize(new Double3(0, 0, -1));
var transform = Double4x4.CreateTRS(position, Quaternion.Identity, Double3.One);
4

Explore the docs

Head to Core Types to learn about vectors, matrices, and quaternions, or jump straight to the API Reference for complete type signatures.
Prowl.Vector targets .NET 6, 7, 8, 9, 10 and netstandard2.1. It has no runtime dependencies beyond the .NET base class library.

Build docs developers (and LLMs) love