Research
Security News
Threat Actor Exposes Playbook for Exploiting npm to Build Blockchain-Powered Botnets
A threat actor's playbook for exploiting the npm ecosystem was exposed on the dark web, detailing how to build a blockchain-powered botnet.
gl-simplicial-complex
Advanced tools
Basic module for drawing a simplicial complex. This code can be used to get something on the screen quickly. It is useful for debugging and prototyping, though in a real 3d engine you would probably want to write your own shaders and vertex formats.
var shell = require("gl-now")()
var camera = require("game-shell-orbit-camera")(shell)
var mat4 = require("gl-matrix").mat4
var bunny = require("bunny")
var createSimplicialComplex = require("gl-simplicial-complex")
var mesh
shell.on("gl-init", function() {
var gl = shell.gl
gl.enable(gl.DEPTH_TEST)
bunnyMesh = createSimplicialComplex(gl, bunny)
})
shell.on("gl-render", function() {
bunnyMesh.draw({
view: camera.view(),
projection: mat4.perspective(mat4.create(),
Math.PI/4.0,
shell.width/shell.height,
0.1,
1000.0)
})
})
Try out the example in your browser
npm instal gl-simplicial-complex
var createSimplicialComplex = require("gl-simplicial-complex")
var mesh = createSimplicialComplex(gl, params)
Creates a simplicial complex that can be drawn directly in a WebGL context.
gl
- is a handle to a WebGL context
params
is an object that has the following properties:
cells
(Required) An indexed list of vertices, edges and/or faces.positions
(Required) An array of positions for the mesh, encoded as arraysvertexColors
A list of per vertex color attributes encoded as length 3 rgb arraysvertexUVs
cellUVs
vertexIntensity
cellIntensity
cellColors
A list of per cell color attributesmeshColor
A constant color for the entire meshvertexNormals
An array of per vertex normalscellNormals
An array of per cell normalsuseFacetNormals
A flag which if set to true
forces cellNormals
to be computedpointSizes
An array of point sizespointSize
A single point size floatambientLight
diffuseLight
specularLight
lightPosition
roughness
fresnel
Returns A renderable mesh object
mesh.draw(params)
Draws the mesh to the current buffer using a Phong material.
params
is an object that has the following properties
model
The model matrix for the objectview
The view matrix for the cameraprojection
The projection matrix for the displaymesh.update(params)
Updates the contents of the simplicial complex in place.
params
is a list of parameters which are in the same format as createSimplicialComplex
mesh.drawPick(params)
Draws the mesh for the purposes of point picking and selection.
mesh.pick(pickData)
Using the output from gl-select finds the point on the mesh closest to the given pick data.
Returns An object with the following properties:
positions
the position of the picked point on the meshcellId
the index of the closest cellcell
the cell of the closest pointindex
the index of the closest vertexmesh.dispose()
Destroys the mesh object and releases all resources assigned to it.
(c) 2013 Mikola Lysenko. MIT License
FAQs
Draws a simplicial complex in WebGL
The npm package gl-simplicial-complex receives a total of 6 weekly downloads. As such, gl-simplicial-complex popularity was classified as not popular.
We found that gl-simplicial-complex demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
A threat actor's playbook for exploiting the npm ecosystem was exposed on the dark web, detailing how to build a blockchain-powered botnet.
Security News
NVD’s backlog surpasses 20,000 CVEs as analysis slows and NIST announces new system updates to address ongoing delays.
Security News
Research
A malicious npm package disguised as a WhatsApp client is exploiting authentication flows with a remote kill switch to exfiltrate data and destroy files.