mesh-viewer v1.0.0
mesh-viewer
A module that draws meshes with a simple orbit based camera. This is useful for quickly making demos and live coding.
Example
var shell = require("mesh-viewer")()
var mesh
shell.on("viewer-init", function() {
mesh = shell.createMesh(require("bunny"))
})
shell.on("gl-render", function() {
mesh.draw()
})Install
npm install mesh-viewerAPI
The main viewer class is a modification of gl-now and inherits all the same properties and methods as that.
var createShell = require("mesh-viewer")Constructor
var shell = createShell([options])
Creates a viewer. In addition to accepting all the arguments as gl-now, it also takes in the following arguments:
fovDefault fov for camerazNearNear clip planezFarFar clip planemeshColorDefault color for meshespointSizeDefault point size for meshesuseCellNormalsIf set, use flat shading for polygonsambientDefault ambient light color * intensitydiffuseDefault diffuse light color * intensityspecularDefault specular light color * intensityspecularExponentDefault specular exponentlightPositionDefault light position
Returns A mesh viewer shell
Events
In addition to the events in gl-now and game-shell, mesh-viewer has the following event:
"viewer-init"
This event is triggered after the viewer is initialized.
Properties
viewer.camera
An instance of a game-shell-orbit-camera that controls the viewing direction.
viewer.fov
The FOV of the camera
viewer.zNear
The near z clip plane distance
viewer.zFar
The far z clip plane distance
Methods
var mesh = viewer.createMesh(params)
Creates a mesh object that can be drawn. This works the same as gl-simplicial-complex. The params object accepts the following parameters:
cells(Required) An indexed list of vertices, edges and/or faces.positions(Required) An array of positions for the mesh, encoded as arraysvertexColorsA list of per vertex color attributes encoded as length 3 rgb arrayscellColorsA list of per cell color attributesmeshColorA constant color for the entire meshvertexNormalsAn array of per vertex normalscellNormalsAn array of per cell normalsuseFacetNormalsA flag which if set to true forces cellNormals to be computedpointSizesAn array of point sizespointSizeA single point size float
Returns A drawable mesh object
Mesh Object Methods
mesh.draw([params])
Draws the mesh object. Params has the same properties as in gl-simplicial-complex
mesh.update([params])
Updates the mesh. Same conventions as before.
mesh.dispose()
Destroys mesh releasing all resources.
Credits
(c) 2013 Mikola Lysenko. MIT License