Skip to content

Latest commit

 

History

History
executable file
·
123 lines (86 loc) · 4.49 KB

README.md

File metadata and controls

executable file
·
123 lines (86 loc) · 4.49 KB

primitive-octasphere

npm version stability-stable npm minzipped size dependencies types Conventional Commits styled with prettier linted with eslint license

An octasphere geometry for 3D rendering, including normals, UVs and cell indices (faces). Based on Philip Rideout's article here.

paypal coinbase twitter

Installation

npm install primitive-octasphere

Usage

import createOctasphere from "primitive-octasphere";

const geometry = createOctasphere();

console.log(geometry);
// {
//   positions: [ [x, y, z], [x, y, z], ... ],
//   cells: [ [a, b, c], [a, b, c], ... ],
//   uvs: [ [u, v], [u, v], ... ],
//   normals: [ [x, y, z], [x, y, z], ... ]
// }

API

Functions

createOctasphere([options])SimplicialComplex

An octasphere geometry for 3D rendering, including normals, UVs and cell indices (faces).

Typedefs

vec2 : Array.<number>
vec3 : Array.<number>
OctasphereOptions : object
SimplicialComplex : object

Geometry definition.

createOctasphere([options]) ⇒ SimplicialComplex

An octasphere geometry for 3D rendering, including normals, UVs and cell indices (faces).

Kind: global function

Param Type Default
[options] OctasphereOptions {}

vec2 : Array.<number>

Kind: global typedef

vec3 : Array.<number>

Kind: global typedef

OctasphereOptions : object

Kind: global typedef Properties

Name Type Default
[radius] number 0.5
[subdivisions] number 2

SimplicialComplex : object

Geometry definition.

Kind: global typedef Properties

Name Type
positions Array.<vec3>
normals Array.<vec3>
uvs Array.<vec2>
cells Array.<vec3>

License

MIT. See license file.