Hexa.NET.Math
2.0.3
dotnet add package Hexa.NET.Math --version 2.0.3
NuGet\Install-Package Hexa.NET.Math -Version 2.0.3
<PackageReference Include="Hexa.NET.Math" Version="2.0.3" />
paket add Hexa.NET.Math --version 2.0.3
#r "nuget: Hexa.NET.Math, 2.0.3"
// Install Hexa.NET.Math as a Cake Addin #addin nuget:?package=Hexa.NET.Math&version=2.0.3 // Install Hexa.NET.Math as a Cake Tool #tool nuget:?package=Hexa.NET.Math&version=2.0.3
HexaEngine Math Library
The Math library for HexaEngine provides comprehensive mathematical functions and utilities, optimized for performance and accuracy. Available in both minimal and full versions, this library is designed to be versatile and can be used with HexaEngine or any other project.
Features
Optimized Math Functions
- SIMD Optimized Math Functions: High-performance functions for vectors, matrices, quaternions, and more.
- Double Precision Math Functions: For applications requiring high precision.
Geometric Calculations
- Frustum, Plane, Ray, Sphere, Box, and AABB Math: Essential geometric operations for 3D applications.
Noise Functions
- Generic Noise
- Perlin Noise
- Simplex Noise
Polynomial and Bezier Functions
- Polynomial Functions: For advanced mathematical calculations.
- Bezier Functions: For curve and surface modeling.
Extensions and Utilities
- Vector Math Extensions: Additional operations for vector math.
- Sky Model Functions: Implementations of Preetham and Hosek-Wilkie sky models.
- Color Math Functions: Including RGBA, HSVA, and HSLA color models.
- Prime Number Functions and Caching: Efficient prime number generation and caching.
Shadow Mapping (Full Version Only)
- Shadow Mapping Functions: Support for OSM, PSM, DPSM, and CSM techniques.
Transform Class (Full Version Only)
- Transform Class: Comprehensive class for managing object transformations.
Getting Started
To get started with the HexaEngine Math library, follow these steps:
Install the NuGet package:
dotnet add package Hexa.NET.Math
Full version
X.X.X-full
vs minimal verionsX.X.X-minimal
, make sure to enable allow pre-releases in Visual Studio to see them.Include the library in your project:
using Hexa.NET.Mathematics;
Utilize the math functions:
MathUtil.XXX();
Perform geometric calculations:
var sphere = new BoundingSphere(new Vector3(0, 0, 0), 1.0f); var box = new BoundingBox(new Vector3(-1, -1, -1), new Vector3(1, 1, 1));
Generate noise:
var noiseValue = PerlinNoise.Noise(0.5f, 0.5f, 0.5f);
Work with colors:
var color = Color.FromRGBA(0xFFAABBCC);
Minimal vs Full Version
- Minimal Version: Contains essential math functions and utilities.
- Full Version: Includes additional features such as shadow mapping functions and the Transform class.
Contributions
Contributions are welcome! If you have ideas for new features or improvements, feel free to submit a pull request or open an issue.
License
This project is licensed under the MIT License. See the LICENSE file for more details.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 is compatible. 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 is compatible. 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 is compatible. |
.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 is compatible. |
.NET Framework | net461 was computed. net462 was computed. 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. |
-
.NETStandard 2.0
- IndexRange (>= 1.0.3)
- Microsoft.Bcl.HashCode (>= 6.0.0)
- Microsoft.Bcl.Numerics (>= 9.0.0)
- System.Numerics.Vectors (>= 4.5.0)
- System.Text.Json (>= 8.0.5)
-
.NETStandard 2.1
- System.Numerics.Vectors (>= 4.5.0)
- System.Text.Json (>= 8.0.5)
-
net6.0
- No dependencies.
-
net7.0
- No dependencies.
-
net8.0
- No dependencies.
-
net9.0
- No dependencies.
NuGet packages (2)
Showing the top 2 NuGet packages that depend on Hexa.NET.Math:
Package | Downloads |
---|---|
Hexa.NET.KittyUI
A Cross-Platform UI-Framework build upon ImGui, simplifying ImGui management in C#. |
|
Hexa.NET.ImGui.Widgets.Extras
Hexa.NET.ImGui.Widgets is a comprehensive library of custom widgets for the ImGui graphical user interface library. This package includes a variety of pre-built widgets that enhance the functionality and usability of ImGui in your .NET applications. Each widget is designed to be easy to integrate, with consistent styling and behavior. This library is an extension of the Hexa.NET.ImGui wrapper, providing additional UI components for a seamless user experience. |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
2.0.3 | 110 | 11/13/2024 |
2.0.3-minimal | 66 | 11/13/2024 |
2.0.2 | 265 | 10/8/2024 |
2.0.2-minimal | 81 | 10/8/2024 |
2.0.1 | 333 | 7/26/2024 |
2.0.1-minimal | 73 | 7/26/2024 |
2.0.1-full | 73 | 7/26/2024 |
2.0.0-minimal | 97 | 7/25/2024 |
2.0.0-full | 68 | 7/25/2024 |
1.0.0-minimal | 73 | 7/25/2024 |
1.0.0-full | 84 | 7/25/2024 |