1.3.0 • Published 5 years ago

@react-vertex/matrix-hooks v1.3.0

Weekly downloads
1
License
MIT
Repository
github
Last release
5 years ago

@react-vertex/matrix-hooks

license bundlephobia npm version

Documentation and Examples

React hooks for working with matrices in WebGL. This package just contains a couple of items that were helpful in developing the examples. I think a package like this would be great but the API needs to be fleshed out. This package uses gl-matrix.

Install via npm:
npm install @react-vertex/matrix-hooks

Importing:

import {
  useIdentity,
  usePerspective,
} from '@react-vertex/matrix-hooks'

usePerspective(fov, aspect, near, far) => matrix

React hook to create a perspective projection matrix with the given field of view.

Arguments:

fov: A number defining the field of view. Generally, numbers from 35 to 75 are reasonable.

aspect: A number defining aspect ratio. In most cases you want to use canvas.width / canvas.height but other scenarios exist.

near (optional): The camera frustum near plane. Defaults to 1.

far (optional): The camera frustum far plane. Defaults to 1000.

Returns:

matrix: Returns an instance of a gl-matrix mat4

Example Usage:
import { usePerspective } from '@react-vertex/matrix-hooks'

...
  const projection = usePerspective(55, canvas.width / canvas.height, 0.1, 5000)
...

useIdentity([px], [py], [pz], [rx], [ry], [rz]) => matrix

React hook to create a new identity matrix. You can set the initial position and rotation.

Arguments:

px (optional): A number for the x position. Defaults to 0.

py (optional): A number for the y position. Defaults to 0.

pz (optional): A number for the z position. Defaults to 0.

rx (optional): A number for the x rotation in radians. Defaults to 0.

ry (optional): A number for the y rotation in radians. Defaults to 0.

rz (optional): A number for the z rotation in radians. Defaults to 0.

Returns:

matrix: Returns an instance of a gl-matrix mat4

Example Usage:
import { useIdentity } from '@react-vertex/matrix-hooks'

...
  const view = useIdentity(0, 20, 0)
...
1.3.0

5 years ago

1.2.0

5 years ago

1.1.0

5 years ago

1.0.0

5 years ago

0.6.0

5 years ago

0.5.0

5 years ago

0.4.0

5 years ago

0.3.0

5 years ago

0.2.0

5 years ago