primitive-quad

an indexed quad mesh with normals and UVs

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
primitive-quad
502.0.07 years ago9 years agoMinified + gzip package size for primitive-quad in KB

Readme

primitive-quad
stable
screen
(demo)

Creates an indexed quad mesh (two triangles), with normals and UVs. It sits on the XY plane with Z=0, and positions ranging from -1.0 to 1.0.

Example

var mesh = require('primitive-quad')()

// the simplicial complex
console.log(mesh.positions, mesh.cells)

// rendering attributes
console.log(mesh.uvs)
console.log(mesh.normals)

Usage

NPM

mesh = quad([scale])

Creates a new indexed quad along the XY plane, with an optional scale number (defaults to 1).
scale can also be an [x, y] array to scale each axes independently.
The vertices are in counter-clockwise order, the UV origin is top-left (0 - 1 range), and the normals are negative along the Z axis.
The returned mesh is an object with the following data:
{
  positions: [ [x, y, z], [x, y, z], ... ],
  cells: [ [a, b, c], [a, b, c], ... ],
  uvs: [ [u, v], [u, v], ... ],
  normals: [ [x, y, z], [x, y, z], ... ]
}

License

MIT, see LICENSE.md for details.