Create a regl draw command from a simplicial complex.
$ npm install regl-primitive --save
See demo here
const primitive = require('regl-primitive')
const bunny = require('bunny')
const regl = require('regl')()
const camera = require('regl-camera')(regl, {
center: [0, 2.5, 0],
distance: 20
})
const drawBunny = primitive(regl, bunny, {
vert: `
precision mediump float;
attribute vec3 position, normal;
uniform mat4 projection, view;
varying vec3 vnormal;
void main () {
vnormal = normal;
gl_Position = projection * view * vec4(position, 1.0);
}
`,
frag:`
precision mediump float;
varying vec3 vnormal;
void main () {
gl_FragColor = vec4(abs(vnormal), 1.0);
}
`
})
regl.frame(() => camera(() => drawBunny()))
where regl-primitive
expects the following arguments:
regl
- A handle to a regl instancecomplex
- An object exposing at leastpositions
(See simplicial-complex)[configuration]
- An optional object that extends the initial state used to create a regl draw command
MIT