skia
    Preparing search index...

    Interface Matrix4x4Helpers

    See SkM44.h for more details.

    interface Matrix4x4Helpers {
        identity(): number[];
        invert(matrix: number[] | Matrix4x4): number[] | null;
        lookat(eyeVec: Vector3, centerVec: Vector3, upVec: Vector3): number[];
        multiply(...matrices: (number[] | Matrix4x4)[]): number[];
        mustInvert(matrix: number[] | Matrix4x4): number[];
        perspective(near: number, far: number, radians: number): number[];
        rc(matrix: number[] | Matrix4x4, row: number, col: number): number;
        rotated(axis: Vector3, radians: number): number[];
        rotatedUnitSinCos(
            axis: Vector3,
            sinAngle: number,
            cosAngle: number,
        ): number[];
        scaled(vec: Vector3): number[];
        setupCamera(area: InputRect, zScale: number, cam: Camera): number[];
        translated(vec: Vector3): number[];
        transpose(matrix: number[] | Matrix4x4): number[];
    }
    Index

    Methods

    • Returns a new identity 4x4 matrix.

      Returns number[]

    • Returns the inverse of the given 4x4 matrix or null if it is not invertible.

      Parameters

      Returns number[] | null

    • Multiplies the provided 4x4 matrices together from left to right.

      Parameters

      Returns number[]

    • Returns the inverse of the given 4x4 matrix or throws if it is not invertible.

      Parameters

      Returns number[]

    • Returns a new 4x4 matrix representing a perspective.

      Parameters

      • near: number
      • far: number
      • radians: number

      Returns number[]

    • Returns the value at the specified row and column of the given 4x4 matrix.

      Parameters

      • matrix: number[] | Matrix4x4
      • row: number
      • col: number

      Returns number

    • Returns a new 4x4 matrix representing a rotation around the provided vector.

      Parameters

      Returns number[]

    • Returns a new 4x4 matrix representing a rotation around the provided vector. Rotation is provided redundantly as both sin and cos values. This rotate can be used when you already have the cosAngle and sinAngle values so you don't have to atan(cos/sin) to call roatated() which expects an angle in radians. This does no checking! Behavior for invalid sin or cos values or non-normalized axis vectors is incorrect. Prefer rotated().

      Parameters

      • axis: Vector3
      • sinAngle: number
      • cosAngle: number

      Returns number[]

    • Returns a new 4x4 matrix representing a scale by the provided vector.

      Parameters

      Returns number[]

    • Returns a new 4x4 matrix that sets up a 3D perspective view from a given camera.

      Parameters

      • area: InputRect

        describes the viewport. (0, 0, canvas_width, canvas_height) suggested.

      • zScale: number

        describes the scale of the z axis. min(width, height)/2 suggested

      • cam: Camera

      Returns number[]

    • Returns a new 4x4 matrix representing a translation by the provided vector.

      Parameters

      Returns number[]

    • Returns a new 4x4 matrix that is the transpose of this 4x4 matrix.

      Parameters

      Returns number[]