0.0.118 • Published 1 year ago

triangles-mesh-viewer-sdl-regl v0.0.118

Weekly downloads
-
License
MIT
Repository
-
Last release
1 year ago

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

bunny

raytracing

See Also

stonks