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
.
var mesh = require('primitive-quad')()
// the simplicial complex
console.log(mesh.positions, mesh.cells)
// rendering attributes
console.log(mesh.uvs)
console.log(mesh.normals)
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], ... ]
}
MIT, see LICENSE.md for details.