module Maths

This is the documentation for Enlighten.

module Maths

Classes

Name

Description

Geo::ConvexHull

A convex hull of a set of points.

Geo::ConvexHullBuilder

Builds ConvexHull objects.

Geo::CovarianceMatrix

A covariance matrix.

Geo::CovarianceMatrixBuilder

Used for building CovarianceMatrix.

Geo::DebugLine

A line between two points.

Geo::Geo2DTransform

A class representing a 2d linear transform between UVs.

Geo::GeoBlueNoise

class GeoBlueNoise Adapted from: Bridson, Robert, "Fast Poisson Sampling in Arbitrary Dimensions", ACM SIGGRAPH 2007 sketches

Geo::GeoBlueNoiseDiskPalette

Builds a pallet of blue noise samples, each in a disk of radius 1.

Geo::GeoBlueNoiseRayPalette

class GeoBlueNoiseRayPalette

Geo::GeoBoundingBox

This class represents an axis aligned bounding box.

Geo::GeoBoundingSphere

This class represents a bounding sphere.

Geo::GeoIntRange

Represents a range of integers, e.g. between 10 and 20.

Geo::GeoPoint2

Single precision 2 dimensional point class.

Geo::GeoPoint2D

Integer 2 dimensional point class.

Geo::GeoPoint3

Single precision 3 dimensional point class.

Geo::GeoPoint3D

Integer 3 dimensional point class.

Geo::GeoVector3

Single precision 3 dimensional vector class.

Geo::GeoVector4

Single precision 4 dimensional vector class.

Geo::GoodRNG

A Mersenne Twister RNG.

Geo::Matrix4x4

Single-precision 4x4 matrix class.

Geo::SimpleRNG

The 'super-duper' random number generator with shuffle (an LCG).

Geo::Statistics

Result structure used for comparing input lighting buffers.

Geo::VectorD

Double precision vector class.

Functions

Name

Description

BloatTriangle(ConvexHull *, Geo::v128, Geo::v128, Geo::v128, float, Geo::s32)

Bloat a triangle by a specified amount.

CalcCubeMapCoordinatesForDirection(Geo::v128, Geo::s32, Geo::s32 &, float &, float &)

Compute the cube map texel coordinate for a given direction and cubemap resolution.

CalcDirectionForCubeMapCoordinate(Geo::s32, Geo::s32, Geo::s32, Geo::s32)

Generate a direction vector for a cubemap texel coordinate.

CalcDirectionForCubeMapTexel(Geo::s32, float, float)

Generate a direction vector for a cubemap texel UV coordinate.

ClosestPointInBox(const Geo::v128 &)

Compute the closest point in the box to p.

CombineStatistics(const Statistics &, const Statistics &)

Combine the values in statsA and statsB so that the properties of each member are retained over the whole set.

ComputeStatistics(Statistics &, const Geo::v128 *, const Geo::v128 *, const Geo::s32, const Geo::v128 &)

Computes the difference between two vector arrays.

ContainsBox(const Geo::GeoBoundingBox &)

Is a box contained by the box?

ContainsPoint(const Geo::v128 &)

Is a point in the box?

ContainsPoint2D(const Geo::v128 &)

Is a point in the box? Only tests xy.

Cross(VectorD, VectorD)

Double precision vector operators.

Dot(VectorD, VectorD)

Double precision vector operators.

EnclosePoint(const v128 &)

Enlarge this bounding box to include the given point.

ExpandBy(const v128 &)

Expands this bounding box by the given amount in each of the three axes (in both directions).

GenerateGuidFromString(GeoGuid &, const GeoString< char > &)

Convert a string to a GUID by hashing.

GenerateGuidFromString(const GeoString< char > &)

Convert a string to a GUID by hashing.

GenerateUnitSquareFastPoissonDistribution(const s32 &, GeoArray< GeoPoint2 > &, const u32 &)

Helper function to generate fast poisson samples in the 2D unit square.

GenerateUnitSquareSobolDistribution(const s32 &, GeoArray< GeoPoint2 > &, const u32 &)

Helper function to generate sobol samples in the 2D unit square.

GeoBoundingBox(float, float, float, float, float, float)

Create a bounding box defined by two extreme points.