Skip to content

package matrix

import "kaijuengine.com/matrix"

Constants

Mat3Row0

iota

Mat3Row1

Mat3Row2

Mat3Col0

iota

Mat3Col1

Mat3Col2

Mat3x0y0

x0y0_3

Mat3x1y0

x1y0_3

Mat3x2y0

x2y0_3

Mat3x0y1

x0y1_3

Mat3x1y1

x1y1_3

Mat3x2y1

x2y1_3

Mat3x0y2

x0y2_3

Mat3x1y2

x1y2_3

Mat3x2y2

x2y2_3

Mat4Row0

iota

Mat4Row1

Mat4Row2

Mat4Row3

Mat4Col0

iota

Mat4Col1

Mat4Col2

Mat4Col3

Mat4x0y0

x0y0

Mat4x1y0

x1y0

Mat4x2y0

x2y0

Mat4x3y0

x3y0

Mat4x0y1

x0y1

Mat4x1y1

x1y1

Mat4x2y1

x2y1

Mat4x3y1

x3y1

Mat4x0y2

x0y2

Mat4x1y2

x1y2

Mat4x2y2

x2y2

Mat4x3y2

x3y2

Mat4x0y3

x0y3

Mat4x1y3

x1y3

Mat4x2y3

x2y3

Mat4x3y3

x3y3

TransformWorkGroup

"transform"

TransformResetWorkGroup

"transformReset"

Functions

Abs[T tNumber]

func Abs[T tNumber](x T) T

AbsInt

func AbsInt(a int) int

Acos[T tNumber]

func Acos[T tNumber](x T) T

Approx[T tNumber]

func Approx[T tNumber](a, b T) bool

ApproxTo[T tNumber]

func ApproxTo[T tNumber](a, b, tolerance T) bool

Asin[T tNumber]

func Asin[T tNumber](x T) T

Atan[T tNumber]

func Atan[T tNumber](x T) T

Atan2[T tNumber]

func Atan2[T tNumber](y T, x T) T

Ceil[T tNumber]

func Ceil[T tNumber](x T) T

Cos[T tNumber]

func Cos[T tNumber](x T) T

Floor[T tNumber]

func Floor[T tNumber](x T) T

IsInf[T tNumber]

func IsInf[T tNumber](x T, sign int) bool

IsNaN[T tNumber]

func IsNaN[T tNumber](x T) bool

Lerp[T tNumber]

func Lerp[T tNumber](v0 T, v1 T, t T) T

Log2[T tNumber]

func Log2[T tNumber](x T) T

Mat3Approx

func Mat3Approx(a, b Mat3) bool

Mat3ApproxTo

func Mat3ApproxTo(a, b Mat3, delta Float) bool

Mat4Approx

func Mat4Approx(a, b Mat4) bool

Mat4ApproxTo

func Mat4ApproxTo(a, b Mat4, delta Float) bool

Mod[T tNumber]

func Mod[T tNumber](x T, y T) T

Pow[T tNumber]

func Pow[T tNumber](x T, y T) T

QuaternionApprox

func QuaternionApprox(a, b Quaternion) bool

Round[T tNumber]

func Round[T tNumber](x T) T

Sin[T tNumber]

func Sin[T tNumber](x T) T

Sqrt[T tNumber]

func Sqrt[T tNumber](x T) T

Tan[T tNumber]

func Tan[T tNumber](x T) T

Vec2Approx[T tNumber]

func Vec2Approx[T tNumber](a, b Vec2T[T]) bool

Vec2ApproxTo[T tNumber]

func Vec2ApproxTo[T tNumber](a, b Vec2T[T], delta T) bool

Vec2Dot[T tNumber]

func Vec2Dot[T tNumber](v, other Vec2T[T]) T

Vec2Nearly

func Vec2Nearly(a, b Vec2) bool

Vec2Roughly

func Vec2Roughly(a, b Vec2) bool

Vec3Approx[T tNumber]

func Vec3Approx[T tNumber](a, b Vec3T[T]) bool

Vec3ApproxTo[T tNumber]

func Vec3ApproxTo[T tNumber](a, b Vec3T[T], delta T) bool

Vec3Dot[T tNumber]

func Vec3Dot[T tNumber](v, other Vec3T[T]) T

Vec4Approx[T tNumber]

func Vec4Approx[T tNumber](a, b Vec4T[T]) bool

Vec4ApproxTo[T tNumber]

func Vec4ApproxTo[T tNumber](a, b Vec4T[T], delta T) bool

Vec4Dot[T tNumber]

func Vec4Dot[T tNumber](v, other Vec4T[T]) T

Vec4Roughly

func Vec4Roughly(a, b Vec4) bool

Types

Color

Vec4T[float32]

type Color Vec4T[float32]

ColorAqua

func ColorAqua() Color

ColorAquamarine

func ColorAquamarine() Color

ColorAzure

func ColorAzure() Color

ColorBeige

func ColorBeige() Color

ColorBisque

func ColorBisque() Color

ColorBlack

func ColorBlack() Color

ColorBlanchedAlmond

func ColorBlanchedAlmond() Color

ColorBlue

func ColorBlue() Color

ColorBlueViolet

func ColorBlueViolet() Color

ColorBrown

func ColorBrown() Color

ColorBurlyWood

func ColorBurlyWood() Color

ColorCadetBlue

func ColorCadetBlue() Color

ColorChartreuse

func ColorChartreuse() Color

ColorChocolate

func ColorChocolate() Color

ColorClear

func ColorClear() Color

ColorCoral

func ColorCoral() Color

ColorCornSilk

func ColorCornSilk() Color

ColorCornflowerBlue

func ColorCornflowerBlue() Color

ColorCrimson

func ColorCrimson() Color

ColorCyan

func ColorCyan() Color

ColorDarkBG

func ColorDarkBG() Color

ColorDarkBlue

func ColorDarkBlue() Color

ColorDarkCyan

func ColorDarkCyan() Color

ColorDarkGoldenrod

func ColorDarkGoldenrod() Color

ColorDarkGray

func ColorDarkGray() Color

ColorDarkGreen

func ColorDarkGreen() Color

ColorDarkKhaki

func ColorDarkKhaki() Color

ColorDarkMagenta

func ColorDarkMagenta() Color

ColorDarkModeGrayBG

func ColorDarkModeGrayBG() Color

ColorDarkModeGrayFG

func ColorDarkModeGrayFG() Color

ColorDarkOliveGreen

func ColorDarkOliveGreen() Color

ColorDarkOrange

func ColorDarkOrange() Color

ColorDarkOrchid

func ColorDarkOrchid() Color

ColorDarkRed

func ColorDarkRed() Color

ColorDarkSalmon

func ColorDarkSalmon() Color

ColorDarkSeaGreen

func ColorDarkSeaGreen() Color

ColorDarkSlateBlue

func ColorDarkSlateBlue() Color

ColorDarkSlateGray

func ColorDarkSlateGray() Color

ColorDarkTurquoise

func ColorDarkTurquoise() Color

ColorDarkViolet

func ColorDarkViolet() Color

ColorDeepPink

func ColorDeepPink() Color

ColorDeepSkyBlue

func ColorDeepSkyBlue() Color

ColorDimGray

func ColorDimGray() Color

ColorDodgerBlue

func ColorDodgerBlue() Color

ColorFirebrick

func ColorFirebrick() Color

ColorFloralWhite

func ColorFloralWhite() Color

ColorForestGreen

func ColorForestGreen() Color

ColorFromColor8

func ColorFromColor8(c Color8) Color

ColorFromHexString

func ColorFromHexString(str string) (Color, error)

ColorFromVec3

func ColorFromVec3(v Vec3) Color

ColorFromVec4

func ColorFromVec4(v Vec4) Color

ColorFuchsia

func ColorFuchsia() Color

ColorGainsboro

func ColorGainsboro() Color

ColorGhostWhite

func ColorGhostWhite() Color

ColorGold

func ColorGold() Color

ColorGoldenrod

func ColorGoldenrod() Color

ColorGray

func ColorGray() Color

ColorGreen

func ColorGreen() Color

ColorGreenYellow

func ColorGreenYellow() Color

ColorHoneydew

func ColorHoneydew() Color

ColorHotPink

func ColorHotPink() Color

ColorIndianRed

func ColorIndianRed() Color

ColorIndigo

func ColorIndigo() Color

ColorIvory

func ColorIvory() Color

ColorKhaki

func ColorKhaki() Color

ColorLavender

func ColorLavender() Color

ColorLavenderBlush

func ColorLavenderBlush() Color

ColorLawnGreen

func ColorLawnGreen() Color

ColorLemonChiffon

func ColorLemonChiffon() Color

ColorLightBlue

func ColorLightBlue() Color

ColorLightCoral

func ColorLightCoral() Color

ColorLightCyan

func ColorLightCyan() Color

ColorLightGoldenrodYellow

func ColorLightGoldenrodYellow() Color

ColorLightGreen

func ColorLightGreen() Color

ColorLightGrey

func ColorLightGrey() Color

ColorLightPink

func ColorLightPink() Color

ColorLightSalmon

func ColorLightSalmon() Color

ColorLightSeaGreen

func ColorLightSeaGreen() Color

ColorLightSkyBlue

func ColorLightSkyBlue() Color

ColorLightSlateGray

func ColorLightSlateGray() Color

ColorLightSteelBlue

func ColorLightSteelBlue() Color

ColorLightYellow

func ColorLightYellow() Color

ColorLime

func ColorLime() Color

ColorLimeGreen

func ColorLimeGreen() Color

ColorLinen

func ColorLinen() Color

ColorMagenta

func ColorMagenta() Color

ColorMaroon

func ColorMaroon() Color

ColorMediumAquamarine

func ColorMediumAquamarine() Color

ColorMediumBlue

func ColorMediumBlue() Color

ColorMediumOrchid

func ColorMediumOrchid() Color

ColorMediumPurple

func ColorMediumPurple() Color

ColorMediumSeaGreen

func ColorMediumSeaGreen() Color

ColorMediumSlateBlue

func ColorMediumSlateBlue() Color

ColorMediumSpringGreen

func ColorMediumSpringGreen() Color

ColorMediumTurquoise

func ColorMediumTurquoise() Color

ColorMediumVioletRed

func ColorMediumVioletRed() Color

ColorMidnightBlue

func ColorMidnightBlue() Color

ColorMintCream

func ColorMintCream() Color

ColorMistyRose

func ColorMistyRose() Color

ColorMix

func ColorMix(lhs, rhs Color, amount float32) Color

ColorMoccasin

func ColorMoccasin() Color

ColorNavajoWhite

func ColorNavajoWhite() Color

ColorNavy

func ColorNavy() Color

ColorOldLace

func ColorOldLace() Color

ColorOlive

func ColorOlive() Color

ColorOliveDrab

func ColorOliveDrab() Color

ColorOrange

func ColorOrange() Color

ColorOrangeRed

func ColorOrangeRed() Color

ColorOrchid

func ColorOrchid() Color

ColorOver

func ColorOver(src, dst Color) Color

ColorOver alpha-composites src "over" dst using straight (non-premultiplied) alpha and returns the result as a straight-alpha color. This is the standard Porter-Duff "over" operator:

A_out = src.A + dst.A(1-src.A) RGB_out = (src.RGBsrc.A + dst.RGBdst.A(1-src.A)) / A_out

When dst is opaque (the common case for calculated/"used" UI colors) the result is opaque and is exactly what src looks like painted on top of dst. If both src and dst are effectively transparent the result is transparent (RGB carried from src so a sensible hue remains for later compositing).

ColorPaleGoldenrod

func ColorPaleGoldenrod() Color

ColorPaleGreen

func ColorPaleGreen() Color

ColorPaleTurquoise

func ColorPaleTurquoise() Color

ColorPaleVioletred

func ColorPaleVioletred() Color

ColorPapayaWhip

func ColorPapayaWhip() Color

ColorPeachPuff

func ColorPeachPuff() Color

ColorPeru

func ColorPeru() Color

ColorPink

func ColorPink() Color

ColorPlum

func ColorPlum() Color

ColorPowderBlue

func ColorPowderBlue() Color

ColorPurple

func ColorPurple() Color

ColorRGBAInt

func ColorRGBAInt(r, g, b, a int) Color

ColorRGBInt

func ColorRGBInt(r, g, b int) Color

ColorRed

func ColorRed() Color

ColorRosyBrown

func ColorRosyBrown() Color

ColorRoyalBlue

func ColorRoyalBlue() Color

ColorSaddleBrown

func ColorSaddleBrown() Color

ColorSalmon

func ColorSalmon() Color

ColorSandyBrown

func ColorSandyBrown() Color

ColorSeaGreen

func ColorSeaGreen() Color

ColorSeashell

func ColorSeashell() Color

ColorSienna

func ColorSienna() Color

ColorSilver

func ColorSilver() Color

ColorSky

func ColorSky() Color

ColorSkyBlue

func ColorSkyBlue() Color

ColorSlateBlue

func ColorSlateBlue() Color

ColorSlateGray

func ColorSlateGray() Color

ColorSlateGrey

func ColorSlateGrey() Color

ColorSnow

func ColorSnow() Color

ColorSpringGreen

func ColorSpringGreen() Color

ColorSteelBlue

func ColorSteelBlue() Color

ColorTan

func ColorTan() Color

ColorTeal

func ColorTeal() Color

ColorThistle

func ColorThistle() Color

ColorTomato

func ColorTomato() Color

ColorTransparent

func ColorTransparent() Color

ColorTurquoise

func ColorTurquoise() Color

ColorViolet

func ColorViolet() Color

ColorWheat

func ColorWheat() Color

ColorWhite

func ColorWhite() Color

ColorWhiteSmoke

func ColorWhiteSmoke() Color

ColorYellow

func ColorYellow() Color

ColorYellowGreen

func ColorYellowGreen() Color

ColorZero

func ColorZero() Color

NewColor

func NewColor(r, g, b, a float32) Color

OklabToColor

func OklabToColor(l, a, b, alpha float32) Color

https://bottosson.github.io/posts/oklab/#converting-from-linear-srgb-to-oklab

OklchToColor

func OklchToColor(l, c, h, alpha float32) Color

https://bottosson.github.io/posts/oklab/#the-oklab-color-space h (hue) is in degrees

Color.A

func (c Color) A() float32

Color.AsColor8

func (c Color) AsColor8() Color8

Color.B

func (c Color) B() float32

Color.Equals

func (lhs Color) Equals(rhs Color) bool

Color.G

func (c Color) G() float32

Color.Hex

func (c Color) Hex() string

Color.Inverted

func (c *Color) Inverted() Color

Color.IsZero

func (c Color) IsZero() bool

Color.MultiplyAssign

func (c *Color) MultiplyAssign(other Color)

Color.PA

func (c *Color) PA() *float32

Color.PB

func (c *Color) PB() *float32

Color.PG

func (c *Color) PG() *float32

Color.PR

func (c *Color) PR() *float32

Color.R

func (c Color) R() float32

Color.RGBA

func (c Color) RGBA() (float32, float32, float32, float32)

Color.ScaleWithoutAlpha

func (c Color) ScaleWithoutAlpha(scale float32) Color

Color.SetA

func (c *Color) SetA(a float32)

Color.SetB

func (c *Color) SetB(b float32)

Color.SetG

func (c *Color) SetG(g float32)

Color.SetR

func (c *Color) SetR(r float32)

Color8

[4]uint8

type Color8 [4]uint8

Color8FromBytes

func Color8FromBytes(bytes []byte) Color8

Color8FromColor

func Color8FromColor(c Color) Color8

Color8FromHexString

func Color8FromHexString(str string) (Color8, error)

NewColor8

func NewColor8(r, g, b, a uint8) Color8

Color8.A

func (c Color8) A() uint8

Color8.AsColor

func (c Color8) AsColor() Color

Color8.B

func (c Color8) B() uint8

Color8.Equal

func (c Color8) Equal(rhs Color8) bool

Color8.G

func (c Color8) G() uint8

Color8.Hex

func (c Color8) Hex() string

Color8.PA

func (c *Color8) PA() *uint8

Color8.PB

func (c *Color8) PB() *uint8

Color8.PG

func (c *Color8) PG() *uint8

Color8.PR

func (c *Color8) PR() *uint8

Color8.R

func (c Color8) R() uint8

Color8.RGBA

func (c Color8) RGBA() (uint8, uint8, uint8, uint8)

Color8.SetA

func (c *Color8) SetA(a uint8)

Color8.SetB

func (c *Color8) SetB(b uint8)

Color8.SetG

func (c *Color8) SetG(g uint8)

Color8.SetR

func (c *Color8) SetR(r uint8)

Color8.Similar

func (lhs Color8) Similar(rhs Color8, tolerance uint8) bool

Color8.ToUintRaw

func (c Color8) ToUintRaw() uint32

ColorComponent

int

type ColorComponent = int

const ( R ColorComponent = iota G B A )

Float

float32

type Float = float32

Clamp[T tNumber]

func Clamp[T tNumber](current, minimum, maximum T) Float

Deg2Rad[T tNumber]

func Deg2Rad[T tNumber](degree T) Float

Inf

func Inf(sign int) Float

Mat3Determinant

func Mat3Determinant(m Mat3) Float

NaN

func NaN() Float

Rad2Deg[T tNumber]

func Rad2Deg[T tNumber](radian T) Float

Mat3

[9]Float

type Mat3 [9]Float

Mat3FromMat4

func Mat3FromMat4(m Mat4) Mat3

Mat3FromSlice

func Mat3FromSlice(a []Float) Mat3

Mat3FromVec3

func Mat3FromVec3(v Vec3) Mat3

Mat3Identity

func Mat3Identity() Mat3

Mat3Multiply

func Mat3Multiply(a, b Mat3) Mat3

Mat3Zero

func Mat3Zero() Mat3

NewMat3

func NewMat3() Mat3

Mat3.Add

func (m Mat3) Add(rhs Mat3) Mat3

Mat3.AddAssign

func (m *Mat3) AddAssign(rhs Mat3)

Mat3.At

func (m Mat3) At(rowIndex, colIndex int) Float

Mat3.ColumnVector

func (m Mat3) ColumnVector(col int) Vec3

Mat3.Determinant

func (m Mat3) Determinant() Float

Mat3.Equals

func (m Mat3) Equals(other Mat3) bool

Mat3.Inverse

func (m *Mat3) Inverse()

Mat3.Inverted

func (m Mat3) Inverted() Mat3

Mat3.IsIdentity

func (m Mat3) IsIdentity() bool

Mat3.Multiply

func (m Mat3) Multiply(rhs Mat3) Mat3

Mat3.MultiplyAssign

func (m *Mat3) MultiplyAssign(rhs Mat3)

Mat3.MultiplyVec3

func (m Mat3) MultiplyVec3(v Vec3) Vec3

Mat3.Negate

func (m Mat3) Negate() Mat3

Mat3.NegateAssign

func (m *Mat3) NegateAssign()

Mat3.Reset

func (m *Mat3) Reset()

Mat3.RowVector

func (m Mat3) RowVector(row int) Vec3

Mat3.Scale

func (m Mat3) Scale(s Float) Mat3

Mat3.ScaleAssign

func (m *Mat3) ScaleAssign(s Float)

Mat3.Subtract

func (m Mat3) Subtract(rhs Mat3) Mat3

Mat3.SubtractAssign

func (m *Mat3) SubtractAssign(rhs Mat3)

Mat3.ToMat4

func (m Mat3) ToMat4() Mat4

Mat3.Transpose

func (m Mat3) Transpose() Mat3

Mat3.TransposeAssign

func (m *Mat3) TransposeAssign()

Mat3.Zero

func (m *Mat3) Zero()

Mat4

[16]Float

type Mat4 [16]Float

Mat4FromSlice

func Mat4FromSlice(a []Float) Mat4

Mat4Identity

func Mat4Identity() Mat4

Mat4LookAt

func Mat4LookAt(eye, center, up Vec3) Mat4

Mat4Multiply

func Mat4Multiply(a, b Mat4) Mat4

Mat4Zero

func Mat4Zero() Mat4

NewMat4

func NewMat4() Mat4

Mat4.AddAssign

func (m *Mat4) AddAssign(rhs Mat4)

Mat4.At

func (m Mat4) At(rowIndex, colIndex int) Float

Mat4.ColumnVector

func (m Mat4) ColumnVector(col int) Vec4

Mat4.Equals

func (m Mat4) Equals(other Mat4) bool

Mat4.ExtractPosition

func (m Mat4) ExtractPosition() Vec3

Mat4.ExtractRotation

func (m Mat4) ExtractRotation() Quaternion

Mat4.ExtractScale

func (m Mat4) ExtractScale() Vec3

Mat4.Forward

func (m Mat4) Forward() Vec3

Mat4.Inverse

func (m *Mat4) Inverse()

Mat4.Inverted

func (m Mat4) Inverted() Mat4

Mat4.IsIdentity

func (m Mat4) IsIdentity() bool

Mat4.LookAt

func (m *Mat4) LookAt(eye, center, up Vec3)

Mat4.Mat3

func (m *Mat4) Mat3() Mat3

Mat4.Mat4ProjToVulkan

func (m Mat4) Mat4ProjToVulkan() Mat4

Mat4.Mat4Project

func (m Mat4) Mat4Project(pos Vec3, viewport Vec4) Vec3

Mat4.Mat4UnProject

func (m Mat4) Mat4UnProject(p Vec3, invViewProj Mat4, viewport Vec4) Vec3

Mat4.MultiplyAssign

func (a *Mat4) MultiplyAssign(b Mat4)

Mat4.NegateAssign

func (m *Mat4) NegateAssign()

Mat4.Orthographic

func (m *Mat4) Orthographic(left, right, bottom, top, near, far Float)

Mat4.Perspective

func (m *Mat4) Perspective(fovy, aspect, nearVal, farVal Float)

Mat4.Reset

func (m *Mat4) Reset()

Mat4.Right

func (m Mat4) Right() Vec3

Mat4.Rotate

func (m *Mat4) Rotate(rotate Vec3)

Mat4.RotateAngles

func (m *Mat4) RotateAngles(axis Vec3, angle Float)

Mat4.RotateX

func (m *Mat4) RotateX(angles Float)

Mat4.RotateY

func (m *Mat4) RotateY(angles Float)

Mat4.RotateZ

func (m *Mat4) RotateZ(angles Float)

Mat4.RowVector

func (m Mat4) RowVector(row int) Vec4

Mat4.Scale

func (m *Mat4) Scale(scale Vec3)

Mat4.SetTranslation

func (m *Mat4) SetTranslation(translation Vec3)

Mat4.SubtractAssign

func (m *Mat4) SubtractAssign(rhs Mat4)

Mat4.ToQuaternion

func (m Mat4) ToQuaternion() Quaternion

Mat4.TransformPoint

func (m Mat4) TransformPoint(point Vec3) Vec3

Mat4.Translate

func (m *Mat4) Translate(translation Vec3)

Mat4.Transpose

func (m Mat4) Transpose() Mat4

Mat4.TransposeAssign

func (m *Mat4) TransposeAssign()

Mat4.Up

func (m Mat4) Up() Vec3

Mat4.Zero

func (m *Mat4) Zero()

Quaternion

[4]Float

type Quaternion [4]Float

NewQuaternion

func NewQuaternion(w, x, y, z Float) Quaternion

QuatAngleBetween

func QuatAngleBetween(lhs, rhs Vec3) Quaternion

QuaternionAxisAngle

func QuaternionAxisAngle(axis Vec3, angle Float) Quaternion

QuaternionFromArray

func QuaternionFromArray(xyzw [4]Float) Quaternion

QuaternionFromEuler

func QuaternionFromEuler(v Vec3) Quaternion

QuaternionFromMat4

func QuaternionFromMat4(m Mat4) Quaternion

QuaternionFromSlice

func QuaternionFromSlice(xyzw []Float) Quaternion

QuaternionFromVec4

func QuaternionFromVec4(v Vec4) Quaternion

QuaternionFromXYZW

func QuaternionFromXYZW(xyzw [4]Float) Quaternion

QuaternionFromXYZWSlice

func QuaternionFromXYZWSlice(xyzw []Float) Quaternion

QuaternionIdentity

func QuaternionIdentity() Quaternion

QuaternionLerp

func QuaternionLerp(from, to Quaternion, factor Float) Quaternion

QuaternionLookAt

func QuaternionLookAt(from, to Vec3) Quaternion

QuaternionSlerp

func QuaternionSlerp(from, to Quaternion, factor Float) Quaternion

Quaternion.AddAssign

func (q *Quaternion) AddAssign(rhs Quaternion)

Quaternion.Conjugate

func (q *Quaternion) Conjugate()

Quaternion.Inverse

func (q *Quaternion) Inverse()

Quaternion.IsZero

func (q Quaternion) IsZero() bool

Quaternion.Multiply

func (q Quaternion) Multiply(rhs Quaternion) Quaternion

Quaternion.MultiplyAssign

func (q *Quaternion) MultiplyAssign(rhs Quaternion)

Quaternion.MultiplyVec3

func (q Quaternion) MultiplyVec3(rhs Vec3) Vec3

Quaternion.Normal

func (q Quaternion) Normal() Quaternion

Quaternion.Normalize

func (q *Quaternion) Normalize()

Quaternion.Rotate

func (q Quaternion) Rotate(v Vec3) Vec3

Rotate transforms a vector by this quaternion.

Quaternion.ToEuler

func (q Quaternion) ToEuler() Vec3

Quaternion.ToMat4

func (q Quaternion) ToMat4() Mat4

Quaternion.W

func (q Quaternion) W() Float

Quaternion.X

func (q Quaternion) X() Float

Quaternion.Y

func (q Quaternion) Y() Float

Quaternion.Z

func (q Quaternion) Z() Float

QuaternionComponent

int

type QuaternionComponent = int

const ( Qw QuaternionComponent = iota Qx Qy Qz )

Transform

struct

type Transform struct {
    // Has unexported fields.
}

Transform.AddPosition

func (t *Transform) AddPosition(add Vec3)

Transform.AddRotation

func (t *Transform) AddRotation(add Vec3)

Transform.AddScale

func (t *Transform) AddScale(add Vec3)

Transform.ContainsPoint

func (t *Transform) ContainsPoint(point Vec3) bool

Transform.ContainsPoint2D

func (t *Transform) ContainsPoint2D(point Vec2) bool

uses centered coordinates

Transform.Copy

func (t *Transform) Copy(other Transform)

Transform.Forward

func (t *Transform) Forward() Vec3

Transform.Initialize

func (t *Transform) Initialize(workGroup *concurrent.WorkGroup)

Transform.InverseWorldMatrix

func (t *Transform) InverseWorldMatrix() Mat4

Transform.IsDirty

func (t *Transform) IsDirty() bool

Transform.LocalPosition

func (t *Transform) LocalPosition() Vec3

Transform.LookAt

func (t *Transform) LookAt(point Vec3)

Transform.Matrix

func (t *Transform) Matrix() Mat4

Transform.Parent

func (t *Transform) Parent() *Transform

Transform.Position

func (t *Transform) Position() Vec3

Transform.ResetDirty

func (t *Transform) ResetDirty()

Transform.Right

func (t *Transform) Right() Vec3

Transform.Rotation

func (t *Transform) Rotation() Vec3

Transform.Scale

func (t *Transform) Scale() Vec3

Transform.ScaleWithoutChildren

func (t *Transform) ScaleWithoutChildren(scale Vec3)

ScaleWithoutChildren will scale a transform without changing the world scale of the children of this transform. That is to say, it will update all the child transform scales to return to their original world scale after scaling this transform.

Transform.SetChildrenOrdered

func (t *Transform) SetChildrenOrdered()

Transform.SetChildrenUnordered

func (t *Transform) SetChildrenUnordered()

Transform.SetDirty

func (t *Transform) SetDirty()

Transform.SetLocalPosition

func (t *Transform) SetLocalPosition(position Vec3)

Transform.SetParent

func (t *Transform) SetParent(parent *Transform)

Transform.SetPosition

func (t *Transform) SetPosition(position Vec3)

Transform.SetRotation

func (t *Transform) SetRotation(rotation Vec3)

Transform.SetScale

func (t *Transform) SetScale(scale Vec3)

Transform.SetWorldPosition

func (t *Transform) SetWorldPosition(position Vec3)

Transform.SetWorldRotation

func (t *Transform) SetWorldRotation(rotation Vec3)

Transform.SetWorldScale

func (t *Transform) SetWorldScale(scale Vec3)

Transform.SetupRawTransform

func (t *Transform) SetupRawTransform()

Transform.Up

func (t *Transform) Up() Vec3

Transform.WorldMatrix

func (t *Transform) WorldMatrix() Mat4

Transform.WorldPosition

func (t *Transform) WorldPosition() Vec3

Transform.WorldRotation

func (t *Transform) WorldRotation() Vec3

Transform.WorldScale

func (t *Transform) WorldScale() Vec3

Transform.WorldTransform

func (t *Transform) WorldTransform() (Vec3, Vec3, Vec3)

Vec2

Vec2T[Float]

type Vec2 = Vec2T[Float]

NewVec2[T1, T2 tNumber]

func NewVec2[T1, T2 tNumber](x T1, y T2) Vec2

Vec2Down

func Vec2Down() Vec2

Vec2FromArray[T tNumber]

func Vec2FromArray[T tNumber](a [2]T) Vec2

Vec2FromSlice[T tNumber]

func Vec2FromSlice[T tNumber](a []T) Vec2

Vec2FromString

func Vec2FromString(str string) Vec2

Vec2Half

func Vec2Half() Vec2

Vec2Inf

func Vec2Inf(sign int) Vec2

Vec2Largest

func Vec2Largest() Vec2

Vec2Left

func Vec2Left() Vec2

Vec2Lerp

func Vec2Lerp(from, to Vec2, t Float) Vec2

Vec2Max

func Vec2Max(a, b Vec2) Vec2

Vec2Min

func Vec2Min(a, b Vec2) Vec2

Vec2MinAbs

func Vec2MinAbs(a, b Vec2) Vec2

Vec2NaN

func Vec2NaN() Vec2

Vec2One

func Vec2One() Vec2

Vec2Right

func Vec2Right() Vec2

Vec2Up

func Vec2Up() Vec2

Vec2Zero

func Vec2Zero() Vec2

Vec2T

[2]T

type Vec2T[T tNumber] [2]T

Vec2MaxAbs[T tNumber]

func Vec2MaxAbs[T tNumber](a, b Vec2T[T]) Vec2T[T]

Vec2T.Abs

func (v Vec2T[T]) Abs() Vec2T[T]

Vec2T.Add

func (v Vec2T[T]) Add(other Vec2T[T]) Vec2T[T]

Vec2T.AddAssign

func (v *Vec2T[T]) AddAssign(other Vec2T[T])

Vec2T.Angle

func (v Vec2T[T]) Angle(other Vec2T[T]) T

Vec2T.AsVec2i

func (v Vec2T[T]) AsVec2i() Vec2i

Vec2T.AsVec3

func (v Vec2T[T]) AsVec3() Vec3

Vec2T.Distance

func (v Vec2T[T]) Distance(other Vec2T[T]) T

Vec2T.Divide

func (v Vec2T[T]) Divide(other Vec2T[T]) Vec2T[T]

Vec2T.DivideAssign

func (v *Vec2T[T]) DivideAssign(other Vec2T[T])

Vec2T.Equals

func (v Vec2T[T]) Equals(other Vec2T[T]) bool

Vec2T.Height

func (v Vec2T[T]) Height() T

Vec2T.Inverse

func (v *Vec2T[T]) Inverse()

Vec2T.IsInf

func (v Vec2T[T]) IsInf(sign int) bool

Vec2T.IsNaN

func (v Vec2T[T]) IsNaN() bool

Vec2T.IsValidNonZero

func (v Vec2T[T]) IsValidNonZero() bool

Vec2T.IsZero

func (v Vec2T[T]) IsZero() bool

Vec2T.LargestAxis

func (v Vec2T[T]) LargestAxis() T

Vec2T.LargestAxisDelta

func (v Vec2T[T]) LargestAxisDelta() T

Vec2T.Length

func (v Vec2T[T]) Length() T

Vec2T.Multiply

func (v Vec2T[T]) Multiply(other Vec2T[T]) Vec2T[T]

Vec2T.MultiplyAssign

func (v *Vec2T[T]) MultiplyAssign(other Vec2T[T])

Vec2T.Negative

func (v Vec2T[T]) Negative() Vec2T[T]

Vec2T.Normal

func (v Vec2T[T]) Normal() Vec2T[T]

Vec2T.Normalize

func (v *Vec2T[T]) Normalize()

Vec2T.PX

func (v *Vec2T[T]) PX() *T

Vec2T.PY

func (v *Vec2T[T]) PY() *T

Vec2T.Scale

func (v Vec2T[T]) Scale(scalar T) Vec2T[T]

Vec2T.ScaleAssign

func (v *Vec2T[T]) ScaleAssign(scalar T)

Vec2T.SetHeight

func (v *Vec2T[T]) SetHeight(y T)

Vec2T.SetWidth

func (v *Vec2T[T]) SetWidth(x T)

Vec2T.SetX

func (v *Vec2T[T]) SetX(x T)

Vec2T.SetY

func (v *Vec2T[T]) SetY(y T)

Vec2T.Shrink

func (v Vec2T[T]) Shrink(scalar T) Vec2T[T]

Vec2T.ShrinkAssign

func (v *Vec2T[T]) ShrinkAssign(scalar T)

Vec2T.String

func (v Vec2T[T]) String() string

Vec2T.Subtract

func (v Vec2T[T]) Subtract(other Vec2T[T]) Vec2T[T]

Vec2T.SubtractAssign

func (v *Vec2T[T]) SubtractAssign(other Vec2T[T])

Vec2T.Width

func (v Vec2T[T]) Width() T

Vec2T.X

func (v Vec2T[T]) X() T

Vec2T.XY

func (v Vec2T[T]) XY() (T, T)

Vec2T.Y

func (v Vec2T[T]) Y() T

Vec2i

[2]int32

type Vec2i [2]int32

Vec2i.Height

func (v Vec2i) Height() int32

Vec2i.SetHeight

func (v *Vec2i) SetHeight(height int32)

Vec2i.SetWidth

func (v *Vec2i) SetWidth(width int32)

Vec2i.SetX

func (v *Vec2i) SetX(x int32)

Vec2i.SetY

func (v *Vec2i) SetY(y int32)

Vec2i.Width

func (v Vec2i) Width() int32

Vec2i.X

func (v Vec2i) X() int32

Vec2i.Y

func (v Vec2i) Y() int32

Vec3

Vec3T[Float]

type Vec3 = Vec3T[Float]

Mat3MultiplyVec3

func Mat3MultiplyVec3(m Mat3, v Vec3) Vec3

Mat4ToScreenSpace

func Mat4ToScreenSpace(pos Vec3, view, projection Mat4, viewport Vec4) (Vec3, bool)

NewVec3[T1, T2, T3 tNumber]

func NewVec3[T1, T2, T3 tNumber](x T1, y T2, z T3) Vec3

NewVec3XYZ[T tNumber]

func NewVec3XYZ[T tNumber](xyz T) Vec3

Vec3Abs

func Vec3Abs(v Vec3) Vec3

Vec3Backward

func Vec3Backward() Vec3

Vec3Down

func Vec3Down() Vec3

Vec3Forward

func Vec3Forward() Vec3

Vec3FromArray[T tNumber]

func Vec3FromArray[T tNumber](a [3]T) Vec3

Vec3FromSlice[T tNumber]

func Vec3FromSlice[T tNumber](a []T) Vec3

Vec3FromString

func Vec3FromString(str string) Vec3

Vec3Half

func Vec3Half() Vec3

Vec3Inf

func Vec3Inf(sign int) Vec3

Vec3Largest

func Vec3Largest() Vec3

Vec3Left

func Vec3Left() Vec3

Vec3Lerp

func Vec3Lerp(from, to Vec3, t Float) Vec3

Vec3Max

func Vec3Max(v ...Vec3) Vec3

Vec3MaxAbs

func Vec3MaxAbs(v ...Vec3) Vec3

Vec3Min

func Vec3Min(v ...Vec3) Vec3

Vec3MinAbs

func Vec3MinAbs(v ...Vec3) Vec3

Vec3NaN

func Vec3NaN() Vec3

Vec3One

func Vec3One() Vec3

Vec3Right

func Vec3Right() Vec3

Vec3Up

func Vec3Up() Vec3

Vec3Zero

func Vec3Zero() Vec3

Vec3MinMax

struct

type Vec3MinMax struct {
    Min Vec3
    Max Vec3
}

NewVec3MinMax

func NewVec3MinMax() Vec3MinMax

Vec3T

[3]T

type Vec3T[T tNumber] [3]T

Vec3Cross[T tNumber]

func Vec3Cross[T tNumber](v, other Vec3T[T]) Vec3T[T]

Vec3T.Abs

func (v Vec3T[T]) Abs() Vec3T[T]

Vec3T.Add

func (v Vec3T[T]) Add(other Vec3T[T]) Vec3T[T]

Vec3T.AddAssign

func (v *Vec3T[T]) AddAssign(other Vec3T[T])

Vec3T.AddX

func (v *Vec3T[T]) AddX(x T)

Vec3T.AddY

func (v *Vec3T[T]) AddY(y T)

Vec3T.AddZ

func (v *Vec3T[T]) AddZ(z T)

Vec3T.Angle

func (v Vec3T[T]) Angle(other Vec3T[T]) T

Vec3T.AsAligned16

func (v Vec3T[T]) AsAligned16() [4]Float

Vec3T.AsVec2

func (v Vec3T[T]) AsVec2() Vec2

Vec3T.AsVec3i

func (v Vec3T[T]) AsVec3i() Vec3i

Vec3T.AsVec4

func (v Vec3T[T]) AsVec4() Vec4

Vec3T.AsVec4WithW

func (v Vec3T[T]) AsVec4WithW(w T) Vec4

Vec3T.Cross

func (v Vec3T[T]) Cross(other Vec3T[T]) Vec3T[T]

Vec3T.Depth

func (v Vec3T[T]) Depth() T

Vec3T.Distance

func (v Vec3T[T]) Distance(other Vec3T[T]) T

Vec3T.Divide

func (v Vec3T[T]) Divide(other Vec3T[T]) Vec3T[T]

Vec3T.DivideAssign

func (v *Vec3T[T]) DivideAssign(other Vec3T[T])

Vec3T.Dot

func (v Vec3T[T]) Dot(other Vec3T[T]) T

Vec3T.Equals

func (v Vec3T[T]) Equals(other Vec3T[T]) bool

Vec3T.Height

func (v Vec3T[T]) Height() T

Vec3T.Inverse

func (v Vec3T[T]) Inverse() Vec3T[T]

Vec3T.InverseAssign

func (v *Vec3T[T]) InverseAssign()

Vec3T.IsInf

func (v Vec3T[T]) IsInf(sign int) bool

Vec3T.IsNaN

func (v Vec3T[T]) IsNaN() bool

Vec3T.IsZero

func (v Vec3T[T]) IsZero() bool

Vec3T.LargestAxis

func (v Vec3T[T]) LargestAxis() T

Vec3T.LargestAxisDelta

func (v Vec3T[T]) LargestAxisDelta() T

Vec3T.Length

func (v Vec3T[T]) Length() T

Vec3T.LengthSquared

func (v Vec3T[T]) LengthSquared() T

Vec3T.LongestAxis

func (v Vec3T[T]) LongestAxis() int

Vec3T.LongestAxisValue

func (v Vec3T[T]) LongestAxisValue() T

Vec3T.Multiply

func (v Vec3T[T]) Multiply(other Vec3T[T]) Vec3T[T]

Vec3T.MultiplyAssign

func (v *Vec3T[T]) MultiplyAssign(other Vec3T[T])

Vec3T.MultiplyMat3

func (v Vec3T[T]) MultiplyMat3(rhs Mat3) Vec3T[T]

Vec3T.Negative

func (v Vec3T[T]) Negative() Vec3T[T]

Vec3T.NegativeAssign

func (v *Vec3T[T]) NegativeAssign()

Vec3T.Normal

func (v Vec3T[T]) Normal() Vec3T[T]

Vec3T.Normalize

func (v *Vec3T[T]) Normalize()

Vec3T.Orthogonal

func (v Vec3T[T]) Orthogonal() Vec3T[T]

Vec3T.PX

func (v *Vec3T[T]) PX() *T

Vec3T.PY

func (v *Vec3T[T]) PY() *T

Vec3T.PZ

func (v *Vec3T[T]) PZ() *T

Vec3T.Scale

func (v Vec3T[T]) Scale(scalar T) Vec3T[T]

Vec3T.ScaleAssign

func (v *Vec3T[T]) ScaleAssign(scalar T)

Vec3T.ScaleX

func (v *Vec3T[T]) ScaleX(s T)

Vec3T.ScaleY

func (v *Vec3T[T]) ScaleY(s T)

Vec3T.ScaleZ

func (v *Vec3T[T]) ScaleZ(s T)

Vec3T.SetX

func (v *Vec3T[T]) SetX(x T)

Vec3T.SetY

func (v *Vec3T[T]) SetY(y T)

Vec3T.SetZ

func (v *Vec3T[T]) SetZ(z T)

Vec3T.Shrink

func (v Vec3T[T]) Shrink(scalar T) Vec3T[T]

Vec3T.ShrinkAssign

func (v *Vec3T[T]) ShrinkAssign(scalar T)

Vec3T.SignedAngle

func (v Vec3T[T]) SignedAngle(other Vec3T[T], axis Vec3T[T]) T

SignedAngle returns the signed angle (in radians) from v to other around the given axis. The sign is positive for counterclockwise rotation when looking along the axis direction. Assumes non-zero vectors; returns 0 if v or other is zero-length or they are equal. For best precision, normalize v, other, and axis before calling if they aren't already.

Vec3T.SquareDistance

func (v Vec3T[T]) SquareDistance(b Vec3T[T]) T

Vec3T.String

func (v Vec3T[T]) String() string

Vec3T.Subtract

func (v Vec3T[T]) Subtract(other Vec3T[T]) Vec3T[T]

Vec3T.SubtractAssign

func (v *Vec3T[T]) SubtractAssign(other Vec3T[T])

Vec3T.Width

func (v Vec3T[T]) Width() T

Vec3T.X

func (v Vec3T[T]) X() T

Vec3T.XY

func (v Vec3T[T]) XY() Vec2

Vec3T.XYZ

func (v Vec3T[T]) XYZ() (T, T, T)

Vec3T.XZ

func (v Vec3T[T]) XZ() Vec2

Vec3T.Y

func (v Vec3T[T]) Y() T

Vec3T.Z

func (v Vec3T[T]) Z() T

Vec3i

[3]int32

type Vec3i [3]int32

Vec3i.Depth

func (v Vec3i) Depth() int32

Vec3i.Height

func (v Vec3i) Height() int32

Vec3i.SetDepth

func (v *Vec3i) SetDepth(depth int32)

Vec3i.SetHeight

func (v *Vec3i) SetHeight(height int32)

Vec3i.SetWidth

func (v *Vec3i) SetWidth(width int32)

Vec3i.SetX

func (v *Vec3i) SetX(x int32)

Vec3i.SetY

func (v *Vec3i) SetY(y int32)

Vec3i.SetZ

func (v *Vec3i) SetZ(z int32)

Vec3i.Width

func (v Vec3i) Width() int32

Vec3i.X

func (v Vec3i) X() int32

Vec3i.Y

func (v Vec3i) Y() int32

Vec3i.Z

func (v Vec3i) Z() int32

Vec4

Vec4T[Float]

type Vec4 = Vec4T[Float]

Mat4MultiplyVec4

func Mat4MultiplyVec4(a Mat4, b Vec4) Vec4

NewVec4[T1, T2, T3, T4 tNumber]

func NewVec4[T1, T2, T3, T4 tNumber](x T1, y T2, z T3, w T4) Vec4

Vec4Area[T tNumber]

func Vec4Area[T tNumber](xa, ya, xb, yb T) Vec4

Vec4FromArray[T tNumber]

func Vec4FromArray[T tNumber](a [4]T) Vec4

Vec4FromSlice[T tNumber]

func Vec4FromSlice[T tNumber](a []T) Vec4

Vec4FromString

func Vec4FromString(str string) Vec4

Vec4Half

func Vec4Half() Vec4

Vec4Largest

func Vec4Largest() Vec4

Vec4MultiplyMat4

func Vec4MultiplyMat4(v Vec4, m Mat4) Vec4

Vec4One

func Vec4One() Vec4

Vec4Zero

func Vec4Zero() Vec4

Vec4T

[4]T

type Vec4T[T tNumber] [4]T

Vec4Lerp[T tNumber]

func Vec4Lerp[T tNumber](from, to Vec4T[T], t T) Vec4T[T]

Vec4Max[T tNumber]

func Vec4Max[T tNumber](a, b Vec4T[T]) Vec4T[T]

Vec4MaxAbs[T tNumber]

func Vec4MaxAbs[T tNumber](a, b Vec4T[T]) Vec4T[T]

Vec4Min[T tNumber]

func Vec4Min[T tNumber](a, b Vec4T[T]) Vec4T[T]

Vec4MinAbs[T tNumber]

func Vec4MinAbs[T tNumber](a, b Vec4T[T]) Vec4T[T]

Vec4T.Abs

func (v Vec4T[T]) Abs() Vec4T[T]

Vec4T.Add

func (v Vec4T[T]) Add(other Vec4T[T]) Vec4T[T]

Vec4T.AddAssign

func (v *Vec4T[T]) AddAssign(other Vec4T[T])

Vec4T.Angle

func (v Vec4T[T]) Angle(other Vec4T[T]) T

Vec4T.AreaContains

func (v Vec4T[T]) AreaContains(x, y Float) bool

Vec4T.AsVec3

func (v Vec4T[T]) AsVec3() Vec3

Vec4T.AsVec4i

func (v Vec4T[T]) AsVec4i() Vec4i

Vec4T.Bottom

func (v Vec4T[T]) Bottom() T

Vec4T.BoxContains

func (v Vec4T[T]) BoxContains(x, y Float) bool

Vec4T.Distance

func (v Vec4T[T]) Distance(other Vec4T[T]) T

Vec4T.Divide

func (v Vec4T[T]) Divide(other Vec4T[T]) Vec4T[T]

Vec4T.DivideAssign

func (v *Vec4T[T]) DivideAssign(other Vec4T[T])

Vec4T.Equals

func (v Vec4T[T]) Equals(other Vec4T[T]) bool

Vec4T.Height

func (v Vec4T[T]) Height() T

Vec4T.Horizontal

func (v Vec4T[T]) Horizontal() T

Vec4T.Inverse

func (v *Vec4T[T]) Inverse()

Vec4T.LargestAxis

func (v Vec4T[T]) LargestAxis() T

Vec4T.LargestAxisDelta

func (v Vec4T[T]) LargestAxisDelta() T

Vec4T.Left

func (v Vec4T[T]) Left() T

Vec4T.Length

func (v Vec4T[T]) Length() T

Vec4T.Multiply

func (v Vec4T[T]) Multiply(other Vec4T[T]) Vec4T[T]

Vec4T.MultiplyAssign

func (v *Vec4T[T]) MultiplyAssign(other Vec4T[T])

Vec4T.Negative

func (v Vec4T[T]) Negative() Vec4T[T]

Vec4T.Normal

func (v Vec4T[T]) Normal() Vec4T[T]

Vec4T.Normalize

func (v *Vec4T[T]) Normalize()

Vec4T.PW

func (v *Vec4T[T]) PW() *T

Vec4T.PX

func (v *Vec4T[T]) PX() *T

Vec4T.PY

func (v *Vec4T[T]) PY() *T

Vec4T.PZ

func (v *Vec4T[T]) PZ() *T

Vec4T.Right

func (v Vec4T[T]) Right() T

Vec4T.Scale

func (v Vec4T[T]) Scale(scalar T) Vec4T[T]

Vec4T.ScaleAssign

func (v *Vec4T[T]) ScaleAssign(scalar T)

Vec4T.ScreenAreaContains

func (v Vec4T[T]) ScreenAreaContains(x, y Float) bool

Vec4T.SetBottom

func (v *Vec4T[T]) SetBottom(w T)

Vec4T.SetHeight

func (v *Vec4T[T]) SetHeight(w T)

Vec4T.SetLeft

func (v *Vec4T[T]) SetLeft(x T)

Vec4T.SetRight

func (v *Vec4T[T]) SetRight(z T)

Vec4T.SetTop

func (v *Vec4T[T]) SetTop(y T)

Vec4T.SetW

func (v *Vec4T[T]) SetW(w T)

Vec4T.SetWidth

func (v *Vec4T[T]) SetWidth(z T)

Vec4T.SetX

func (v *Vec4T[T]) SetX(x T)

Vec4T.SetY

func (v *Vec4T[T]) SetY(y T)

Vec4T.SetZ

func (v *Vec4T[T]) SetZ(z T)

Vec4T.Shrink

func (v Vec4T[T]) Shrink(scalar T) Vec4T[T]

Vec4T.ShrinkAssign

func (v *Vec4T[T]) ShrinkAssign(scalar T)

Vec4T.String

func (v Vec4T[T]) String() string

Vec4T.Subtract

func (v Vec4T[T]) Subtract(other Vec4T[T]) Vec4T[T]

Vec4T.SubtractAssign

func (v *Vec4T[T]) SubtractAssign(other Vec4T[T])

Vec4T.Top

func (v Vec4T[T]) Top() T

Vec4T.Vertical

func (v Vec4T[T]) Vertical() T

Vec4T.W

func (v Vec4T[T]) W() T

Vec4T.Width

func (v Vec4T[T]) Width() T

Vec4T.X

func (v Vec4T[T]) X() T

Vec4T.XYZW

func (v Vec4T[T]) XYZW() (T, T, T, T)

Vec4T.Y

func (v Vec4T[T]) Y() T

Vec4T.Z

func (v Vec4T[T]) Z() T

Vec4i

[4]int32

type Vec4i [4]int32

Vec4i.Height

func (v Vec4i) Height() int32

Vec4i.W

func (v Vec4i) W() int32

Vec4i.Width

func (v Vec4i) Width() int32

Vec4i.X

func (v Vec4i) X() int32

Vec4i.Y

func (v Vec4i) Y() int32

Vec4i.Z

func (v Vec4i) Z() int32

VectorComponent

int

type VectorComponent = int

const ( Vx VectorComponent = iota Vy Vz Vw )