Skip to content

Instantly share code, notes, and snippets.

Avatar

Mathias Paumgarten roboshoes

View GitHub Profile
@roboshoes
roboshoes / post-processing-canvas-sketch.ts
Created Jul 8, 2018
Setup to use canvas-recorder in combination with image-shader.
View post-processing-canvas-sketch.ts
import { draw, options, stop, start, bootstrap } from "canvas-recorder/gl";
import { ImageShader } from "image-shader";
// @ts-ignore
import fragment from "./fragmant.glsl";
const SIZE = 1024;
const canvas = document.createElement( "canvas" );
canvas.width = SIZE;
@roboshoes
roboshoes / Spherical.cs
Last active Nov 22, 2017
Implementation of spherical coordinates in C# (based on https://github.com/mrdoob/three.js/blob/master/src/math/Spherical.js)
View Spherical.cs
using UnityEngine;
public struct Spherical {
public float Radius;
public float Phi;
public float Theta;
Spherical( float radius = 1f, float phi = 0f, float theta = 0f ) {
Radius = radius;
@roboshoes
roboshoes / Gulpfile.js
Last active May 15, 2017
Spawning a GAE dev_appserver.py using gulp wrapper.
View Gulpfile.js
const spawn = require( "child_process" ).spawn;
var server;
gulp.task( "gae", function() {
if ( server ) server.kill();
server = spawn( "python", [
'C:/Users/<your user>/AppData/Local/Google/Cloud SDK/google-cloud-sdk/bin/dev_appserver.py',
"--port", "8080",
@roboshoes
roboshoes / append-license.js
Last active Apr 26, 2017
Appand Apache 2.0 license to all .js files found in a js folder
View append-license.js
const path = require( "path" );
const fs = require( "fs" );
const license = new Buffer( `/**
* Copyright 2016 Google Inc. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
@roboshoes
roboshoes / shader-pass.js
Created Mar 20, 2017
A short implementation of a shader pass based on (mostly stolen from) https://github.com/stackgl/gl-particles
View shader-pass.js
import drawTriangle from "a-big-triangle";
import createShader from "gl-shader";
import createFBO from "gl-fbo";
const vertex = [
"precision mediump float;",
"attribute vec2 position;",
"void main() {",
" gl_Position = vec4( position, 1, 1 );",
"}"
@roboshoes
roboshoes / index.js
Last active Mar 7, 2017
Find attribute in node or parent.
View index.js
// find attribute
export function findInParent( node, attribute, levels = Infinity ) {
return node.getAttribute( attribute ) ||
( levels > 0 ? findInParent( node.parentElement, attribute, --levels ) : null );
}
// find anything
export function findInParent( node, filter, levels = Infinity ) {
return filter( node ) ||
@roboshoes
roboshoes / index.html
Last active Feb 16, 2019
Basic setup with no dependencies to render fullscreen fragment shaders.
View index.html
<!DOCTYPE html>
<html>
<head>
<style>
html, body {
margin: 0;
padding: 0;
overflow: hidden;
}
@roboshoes
roboshoes / tween.js
Last active Jan 25, 2018
Small tweening function for the quick tween.
View tween.js
export function tween( time, update ) {
const start = Date.now();
var isCanceled = false;
var isComplete = false;
var chain = [];
function loop() {
if ( isCanceled ) return;
@roboshoes
roboshoes / package.json
Created Jul 27, 2016
NPM Scripts only build process for: TypeScript + Browserify, Jade, Less and serving and watching through Lite Server
View package.json
{
"name": "",
"version": "0.1.0",
"scripts": {
"start": "npm run all && concurrently \"npm run tsc:w\" \"npm run less:w\" \"npm run watchify\" \"npm run lite\" \"npm run pug:w\" ",
"all" : "npm run prep && npm run assets && tsc && npm run browserify && npm run pug",
"lite": "lite-server public",
"postinstall": "typings install",
"tsc": "tsc",
"tsc:w": "tsc -w",
@roboshoes
roboshoes / Gulpfile.js
Last active Nov 11, 2015 — forked from webdesserts/Gulpfile.js
Automatically reload your node.js app on file change with Gulp (https://github.com/wearefractal/gulp).
View Gulpfile.js
var gulp = require( "gulp" );
var spawn = require( "child_process" ).spawn;
var node;
gulp.task( "server", function() {
if ( node ) node.kill();
node = spawn( "node", [ "app.js" ], { stdio: "inherit" } );
You can’t perform that action at this time.