Visualization module for meshes/point clouds/graphs.
var createScene = require('gl-plot3d')
var createMesh = require('gl-mesh3d')
var bunny = require('bunny')
var scene = createScene()
var mesh = createMesh({
gl: scene.gl,
cells: bunny.cells,
positions: bunny.positions,
colormap: 'jet'
})
scene.add(mesh)
Try out the example in your browser
npm i gl-mesh3d
var mesh = require('gl-mesh3d')(params)Creates a simplicial complex that can be drawn directly in a WebGL context.
params is an object that has the following properties:
gl A reference to the WebGL contextcells (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 arraysvertexUVscellUVsvertexIntensitycolormapvertexIntensityBounds intensity range for the colormapcellIntensitycellColors 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 floatambientLight ambient light color * intensitydiffuseLight diffuse light color * intensityspecularLight specular light colorlightPosition location of lightroughness surface roughnessfresnel surface glossiness/"rim light" factoropacity surface opacityReturns A renderable mesh object
mesh.update(params)Updates the contents of the simplicial complex in place.
params is a list of parameters which are in the same format as the constructormesh.lightPositionThe 3D position of the directional light source
mesh.ambientLightAmbient light color
mesh.diffuseLightDiffuse light color
mesh.specularLightSpecular light color
mesh.roughnessMesh surface roughness
mesh.fresnelFresnel parameter
mesh.vertexNormalsEpsilonEpsilon for vertex normals calculation
mesh.faceNormalsEpsilonEpsilon for face normals calculation
mesh.opacityOpacity
(c) 2013-2015 Mikola Lysenko. MIT License
Copyright 2013 - present © cnpmjs.org