Refactor and enhance math and utility libraries
Some checks failed
Publish NuGet Packages / publish (push) Failing after 3m12s
Some checks failed
Publish NuGet Packages / publish (push) Failing after 3m12s
Refactored `sincos` usage across `quaternion` and `random` to use `out` parameters for improved performance. Enhanced `random` struct with updated random direction generation methods. Added new benchmarks in `MathematicsBenchmark` for vector operations, including SIMD-based `f4` struct. Downgraded target framework to `net9.0` for compatibility. Introduced `ReadOnlyUnsafeCollection` for low-level memory management. Added utility methods in `CollectionUtility` for span creation and optimized list operations. Renamed `MemoryUtilities` to `MemoryUtility` and updated all references. Enhanced `ObjectPool` with `Rent` and `TryRent` methods. Enabled `AllowUnsafeBlocks` and AOT compatibility in project configuration. Performed general code cleanup, including removal of unused methods, improved formatting, and alignment with modern coding practices.
This commit is contained in:
@@ -94,7 +94,12 @@ public struct OBB : IEquatable<OBB>
|
||||
|
||||
public readonly AABB ToAABB()
|
||||
{
|
||||
var absRotation = math.abs(new float3x3(Rotation));
|
||||
var absRotation = new float3x3
|
||||
{
|
||||
c0 = math.abs(Rotation.value.x),
|
||||
c1 = math.abs(Rotation.value.y),
|
||||
c2 = math.abs(Rotation.value.z)
|
||||
};
|
||||
var worldExtents = absRotation.c0 * Extents.x + absRotation.c1 * Extents.y + absRotation.c2 * Extents.z;
|
||||
return new AABB(Center - worldExtents, Center + worldExtents);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user