Skip to content

Instantly share code, notes, and snippets.

@BlueMagnificent
BlueMagnificent / asyncflow.js
Created April 12, 2018 14:35
Function to synchronize an asynchronous sets of operations (gotten from Node.js Design Patterns)
function isGenerator(obj) {
return 'function' == typeof obj.next && 'function' == typeof obj.throw;
}
function isGeneratorFunction(obj) {
var constructor = obj.constructor;
if (!constructor) return false;
if ('GeneratorFunction' === constructor.name || 'GeneratorFunction' === constructor.displayName) return true;
return isGenerator(constructor.prototype);
@BlueMagnificent
BlueMagnificent / index.html
Last active April 2, 2019 13:50
Javascript 3D Physics Snippet Zero
<html>
<head>
<meta charset="utf-8">
<title>JS 3D Physics</title>
<style>
body { margin: 0; }
</style>
</head>
<body>
<script src="js/three.js"></script>
@BlueMagnificent
BlueMagnificent / setupPhysicsWorld.js
Created April 2, 2019 14:17
Javascript 3D Physics Setup Physics World
function setupPhysicsWorld(){
let collisionConfiguration = new Ammo.btDefaultCollisionConfiguration(),
dispatcher = new Ammo.btCollisionDispatcher(collisionConfiguration),
overlappingPairCache = new Ammo.btDbvtBroadphase(),
solver = new Ammo.btSequentialImpulseConstraintSolver();
physicsWorld = new Ammo.btDiscreteDynamicsWorld(dispatcher, overlappingPairCache, solver, collisionConfiguration);
physicsWorld.setGravity(new Ammo.btVector3(0, -10, 0));
@BlueMagnificent
BlueMagnificent / Index.html
Last active April 2, 2019 14:24
Javascript 3D Physics Snippet One
<html>
<head>
<meta charset="utf-8">
<title>JS 3D Physics</title>
<style>
body { margin: 0; }
</style>
</head>
<body>
<script src="js/three.js"></script>
@BlueMagnificent
BlueMagnificent / setupGraphics.js
Last active July 31, 2021 18:03
Javascript 3D Physics Setup Graphics
function setupGraphics(){
//create clock for timing
clock = new THREE.Clock();
//create the scene
scene = new THREE.Scene();
scene.background = new THREE.Color( 0xbfd1e5 );
//create camera
@BlueMagnificent
BlueMagnificent / index.html
Created April 2, 2019 15:23
Javascript 3D Physics Snippet Two
<html>
<head>
<meta charset="utf-8">
<title>JS 3D Physics</title>
<style>
body { margin: 0; }
</style>
</head>
<body>
@BlueMagnificent
BlueMagnificent / createPhysicsObjects.js
Created April 2, 2019 16:32
Javascript 3D Physics Object Creation
function createBlock(){
let pos = {x: 0, y: 0, z: 0};
let scale = {x: 50, y: 2, z: 50};
let quat = {x: 0, y: 0, z: 0, w: 1};
let mass = 0;
//threeJS Section
let blockPlane = new THREE.Mesh(new THREE.BoxBufferGeometry(), new THREE.MeshPhongMaterial({color: 0xa0afa4}));
@BlueMagnificent
BlueMagnificent / index.html
Last active July 31, 2021 18:54
Javascript 3D Physics Snippet Three
<html>
<head>
<meta charset="utf-8">
<title>JS 3D Physics</title>
<style>
body { margin: 0; }
</style>
</head>
<body>
@BlueMagnificent
BlueMagnificent / createMaskBall.js
Created April 3, 2019 07:36
Javascript 3D Create Mask Ball
function createMaskBall(){
let pos = {x: 1, y: 30, z: 0};
let radius = 2;
let quat = {x: 0, y: 0, z: 0, w: 1};
let mass = 1;
//threeJS Section
let ball = new THREE.Mesh(new THREE.SphereBufferGeometry(radius), new THREE.MeshPhongMaterial({color: 0x00ff08}));
@BlueMagnificent
BlueMagnificent / index.html
Created April 3, 2019 07:49
Javascript 3D Physics Snippet Four
<html>
<head>
<meta charset="utf-8">
<title>JS 3D Physics</title>
<style>
body { margin: 0; }
</style>
</head>
<body>
<script src="js/three.js"></script>