Skip to content

Instantly share code, notes, and snippets.

View jshaw's full-sized avatar
🤖
👨‍🎨 👨‍💻

Jordan Shaw jshaw

🤖
👨‍🎨 👨‍💻
View GitHub Profile
@jshaw
jshaw / lightbar.ino
Created November 6, 2023 14:44 — forked from hsiboy/lightbar.ino
WS2811 - lightbar - FastLED
View lightbar.ino
// From Mark Kriegsman's Anti-aliased light bar example: http://pastebin.com/g8Bxi6zW
#include <FastLED.h>
#define LED_PIN 13 // hardware SPI pin SCK
#define NUM_LEDS 250
#define COLOR_ORDER RGB
#define LED_TYPE WS2811
#define MAX_BRIGHTNESS 255 // watch the power!
@jshaw
jshaw / MarqueeOverlay.ino
Created November 6, 2023 06:03 — forked from kriegsman/MarqueeOverlay.ino
MarqueeOverlay - render marquee-like effects on segments of a display (for YUM cart, Burning Man 2015)
View MarqueeOverlay.ino
#include "FastLED.h"
// MarqueeOverlay
//
// Code to overlay a 'marquee' effect on top
// of other animations, e.g. to highlight individual
// letters of a sign one after another, while
// still allowing the underlying animations to show through.
//
// Initially designed for the "YUM cart" for Burning Man 2015.
View TeensyArtNetE1.31.ino
#include <SPI.h>
#include <Ethernet.h>
#include <EthernetUdp.h>
#define USE_OCTOWS2811
#include <OctoWS2811.h>
#include <FastLED.h>
// enter desired universe and subnet (sACN first universe is 1)
#define DMX_SUBNET 0
#define DMX_UNIVERSE 1 //**Start** universe
@jshaw
jshaw / circlesofdots.pde
Created March 3, 2023 20:34 — forked from marcedwards/circlesofdots.pde
Circles of dots in Processing
View circlesofdots.pde
//
// Circles of dots.
// Created using Processing 3.5.3.
//
// Code by @marcedwards from @bjango.
//
// A GIF of this code can be seen here:
// https://twitter.com/marcedwards/status/1144236924095234053
//
@jshaw
jshaw / clock.pde
Created February 17, 2023 17:42 — forked from companje/clock.pde
Arc Clock in Processing
View clock.pde
float heleCirkel = TWO_PI; //tau
void setup() {
size(500,500);
background(0);
smooth();
}
void draw() {
background(0);
@jshaw
jshaw / Gradient.js
Created December 13, 2022 16:28 — forked from jordienr/Gradient.js
Stripe Mesh Gradient WebGL
View Gradient.js
/*
* Stripe WebGl Gradient Animation
* All Credits to Stripe.com
* ScrollObserver functionality to disable animation when not scrolled into view has been disabled and
* commented out for now.
* https://kevinhufnagl.com
*/
@jshaw
jshaw / greyscale.frag
Created June 22, 2022 16:21 — forked from Volcanoscar/greyscale.frag
A simple glsl color -> greyscale shader, using luminosity method
View greyscale.frag
// fragment shader
//
// RGBA color to RGBA greyscale
//
// smooth transition based on u_colorFactor: 0.0 = original, 1.0 = greyscale
//
// http://www.johndcook.com/blog/2009/08/24/algorithms-convert-color-grayscale/
// "The luminosity method is a more sophisticated version of the average method.
// It also averages the values, but it forms a weighted average to account for human perception.
// We’re more sensitive to green than other colors, so green is weighted most heavily. The formula
@jshaw
jshaw / angle-between-points.js
Created March 11, 2022 23:21 — forked from conorbuck/angle-between-points.js
JavaScript: Find the angle between two points
View angle-between-points.js
var p1 = {
x: 20,
y: 20
};
var p2 = {
x: 40,
y: 40
};
@jshaw
jshaw / GLSL-Noise.md
Created May 30, 2019 18:39 — forked from patriciogonzalezvivo/GLSL-Noise.md
GLSL Noise Algorithms
View GLSL-Noise.md

Generic 1,2,3 Noise

float rand(float n){return fract(sin(n) * 43758.5453123);}

float noise(float p){
	float fl = floor(p);
  float fc = fract(p);
	return mix(rand(fl), rand(fl + 1.0), fc);
}
@jshaw
jshaw / about.md
Created February 14, 2019 16:57 — forked from mattdesl/about.md
A Browser and Node.js compatible canvas-sketch script for generative and parametric 3D geometry.
View about.md

Generative Geometry in Browser + Node.js

Here is a script that can be run with canvas-sketch to generate OBJ files from a parametric/algorithmic 3D ThreeJS geometry.

Hitting "Cmd + S" from the canvas-sketch tool will export a PNG and OBJ file of the scene.

If the same script is run from Node, it will simply render the OBJ to stdout, or write to the filename argument if given.