gl-mesh3d
Visualization module for meshes/point clouds/graphs.
Example
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
Install
npm i gl-mesh3d
Basic interface
Constructor
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 arraysvertexUVs
cellUVs
vertexIntensity
colormap
vertexIntensityBounds
intensity range for the colormapcellIntensity
cellColors
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 totrue
forcescellNormals
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 opacity
Returns A renderable mesh object
Update
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 constructor
Properties
mesh.lightPosition
The 3D position of the directional light source
mesh.ambientLight
Ambient light color
mesh.diffuseLight
Diffuse light color
mesh.specularLight
Specular light color
mesh.roughness
Mesh surface roughness
mesh.fresnel
Fresnel parameter
mesh.vertexNormalsEpsilon
Epsilon for vertex normals calculation
mesh.faceNormalsEpsilon
Epsilon for face normals calculation
mesh.opacity
Opacity
Credits
(c) 2013-2015 Mikola Lysenko. MIT License