1.3.6 • Published 2 years ago

voxel-triangulation v1.3.6

Weekly downloads
4
License
MIT
Repository
github
Last release
2 years ago

voxel-triangulation.js

converts voxels into a set of triangles using ndarray and libtess.js. It is used by the vox-viewer web component.

💾 Installation

npm install voxel-triangulation

🚀 Usage

  
  const ndarray = require('ndarray');
  const triangulateVoxels = require('voxel-triangulation');
  
  let values = [
    0, 1, 0, 
    0, 1, 2, 
    0, 1, 0,
    
    0, 1, 0, 
    0, 0, 2, 
    0, 1, 0,
    
    0, 1, 0, 
    0, 0, 2, 
    0, 0, 0
  ];
   
  let voxels = new ndarray(values, [3, 3, 3]);

  // gives list of voxel values which will be excluded (handled as void)
  let config = { exclude: [0] }; 

  let triangulation = triangulateVoxels(voxels, config);
  
  // outputs an object with vertices, normals, indices, uvs and voxel values of the triangles
  console.log(triangulation); 

  // vertices (3 entries for every vertex): [ v1.x, v1.y, v1.z,  v2.x, v2.y, v2.z,  ... ] 
  // normals (3 entries for every vertex): [ n1.x, n1.y, n1.z,  n2.x, n2.y, n2.z,  ... ]
  // indices (3 entries for every face): [ f1.a, f1.b, f1.c,  f2.a, f2.b, f2.c,  ... ] 
  // uvs (2 for every vertex): [ v1.u, v1.v, v2.u, v2.v, ... ] 
  // voxelValues (1 entry for every face): [ value1, value2, ... ]

👀 Demo

You can see a live demo here

📖 License

(c) 2019 Florian Fechner. MIT License

1.3.6

2 years ago

1.3.5

2 years ago

1.3.4

3 years ago

1.3.3

3 years ago

1.3.2

3 years ago

1.3.1

3 years ago

1.3.0

3 years ago

1.2.0

3 years ago

1.1.9

4 years ago

1.1.8

4 years ago

1.1.7

4 years ago

1.1.6

4 years ago

1.1.5

4 years ago

1.1.4

4 years ago

1.1.3

4 years ago

1.1.2

4 years ago

1.1.1

4 years ago

1.1.0

4 years ago

1.0.2

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago