triangles-mesh-viewer-sdl-regl
v0.0.118
Published
node.js simple 3d mesh viewer with fps controls via SDL + regl
Downloads
40
Maintainers
Readme
triangles-mesh-viewer-sdl-regl
very simple 3d mesh viewer with fps controls [ASWD+mouse] via SDL + regl, for node.js
meant to quickly view meshes in the same format as bunny
and just as a simple boilerplate to be hacked and modified.
Installation
npm i triangles-mesh-viewer-sdl-regl
Usage
var tmv = require('triangles-mesh-viewer-sdl-regl');
//modelViewer(theModel? = bunny); //default model is require('bunny')
var bunny = require('bunny');
//example with smooth vertex colors
//bunny.vertexColors = bunny.positions.map((p,i)=>[Math.random(),Math.random(),Math.random()]);
//example with discontinuous vertex colors -- force each tri to have its own verts
//bunny = require('triangles-index').demergeMeshTriangles_meshView(require('bunny'));
//bunny.vertexColors = bunny.positions.map((p,i)=>[Math.random(),Math.random(),Math.random()]);
//random face colors
//bunny.faceColors = bunny.cells.map((p,i)=>[Math.random(),Math.random(),Math.random()]);
var meshViewer = tmv.meshViewer.modelViewer(bunny);
//change the model:
//var newModel = require('bitey'); //note that bitey has much bigger scale than bunny
//meshViewer.updateModel(newModel);
//can also get raw buffers using getBuffers(), can then update the mesh with subdata command on the buffer
//see test.js or https://github.com/regl-project/regl/blob/master/API.md#buffer-update
//tmv.meshViewer.getBuffers(); //{positionBuffer, normalBuffer, cellsBuffer}
//just for hacking/fun/experimentation -- can also launch regl raytracing test scene
//var meshViewer = tmv.raytraceBvhViewer.modelViewer(); //this is just a static test scene, model cannot be updated
See Also
- @kmamal/sdl
- regl
- triangles-mesh-renderer - CPU mesh renderer, no SDL/GL/GPU needed, but slow