A module that draws meshes with a simple orbit based camera. This is useful for quickly making demos and live coding.
var shell = require("mesh-viewer")()
var mesh
shell.on("viewer-init", function() {
mesh = shell.createMesh(require("bunny"))
})
shell.on("gl-render", function() {
mesh.draw()
})
npm install mesh-viewer
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")
var shell = createShell([options])Creates a viewer. In addition to accepting all the arguments as gl-now, it also takes in the following arguments:
fov Default fov for camerazNear Near clip planezFar Far clip planemeshColor Default color for meshespointSize Default point size for meshesuseCellNormals If set, use flat shading for polygonsambient Default ambient light color * intensitydiffuse Default diffuse light color * intensityspecular Default specular light color * intensityspecularExponent Default specular exponentlightPosition Default light positionReturns A mesh viewer shell
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.
viewer.cameraAn instance of a game-shell-orbit-camera that controls the viewing direction.
viewer.fovThe FOV of the camera
viewer.zNearThe near z clip plane distance
viewer.zFarThe far z clip plane distance
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 arraysvertexColors A list of per vertex color attributes encoded as length 3 rgb arrayscellColors A list of per cell color attributesmeshColor A constant color for the entire meshvertexNormals An array of per vertex normalscellNormals An array of per cell normalsuseFacetNormals A flag which if set to true forces cellNormals to be computedpointSizes An array of point sizespointSize A single point size floatReturns A drawable mesh object
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.
(c) 2013 Mikola Lysenko. MIT License