A non-exhaustive list of WebGL and WebGPU frameworks and libraries. It is mostly for learning purposes as some of the libraries listed are wip/outdated/not maintained anymore.
Name | Stars | Last Commit | Description |
---|---|---|---|
three.js | ![GitHub |
const Web3 = require("web3"); | |
const BN = Web3.utils.BN; | |
(async () => { | |
const network = "mainnet"; | |
const web3 = new Web3( | |
new Web3.providers.HttpProvider( | |
`https://${network}.infura.io/v3/${process.env.INFURA_API_KEY}` | |
) | |
); |
import numpy as np | |
import re | |
import sys | |
''' | |
Read a PFM file into a Numpy array. Note that it will have | |
a shape of H x W, not W x H. Returns a tuple containing the | |
loaded image and the scale factor from the file. | |
''' | |
def read_pfm(file): |
//JavaScript implementation of winding number algorithm to determine whether a point is inside a polygon | |
//Based on C++ implementation of wn_PnPoly() published on http://geomalgorithms.com/a03-_inclusion.html | |
function pointInPolygon(point, vs) { | |
const x = point[0], y = point[1]; | |
let wn = 0; | |
for (let i = 0, j = vs.length - 1; i < vs.length; j = i++) { | |
let xi = vs[i][0], yi = vs[i][1]; | |
let xj = vs[j][0], yj = vs[j][1]; |
var cameraZ = camera.position.z; | |
var planeZ = 5; | |
var distance = cameraZ - planeZ; | |
var aspect = viewWidth / viewHeight; | |
var vFov = camera.fov * Math.PI / 180; | |
var planeHeightAtDistance = 2 * Math.tan(vFov / 2) * distance; | |
var planeWidthAtDistance = planeHeightAtDistance * aspect; | |
// or |
A non-exhaustive list of WebGL and WebGPU frameworks and libraries. It is mostly for learning purposes as some of the libraries listed are wip/outdated/not maintained anymore.
Name | Stars | Last Commit | Description |
---|---|---|---|
three.js | ![GitHub |
export function tween( time, update ) { | |
const start = Date.now(); | |
var isCanceled = false; | |
var isComplete = false; | |
var chain = []; | |
function loop() { | |
if ( isCanceled ) return; |
// Add on element with overflow | |
-webkit-mask-image: -webkit-radial-gradient(white, black); |
export const Spring = (x, y, mass, stiffness, viscosity) => ({ | |
prevX: x, | |
prevY: y, | |
currX: x, | |
currY: y, | |
mass, stiffness, viscosity | |
}); | |
Spring.copy = (spring) => ({ | |
prevX: spring.prevX, |