pathgl
Version:
A webgl renderer for data visualization, motion graphics and explorable explanations.
41 lines (32 loc) • 1.09 kB
JavaScript
var pathgl = this.pathgl = {}
pathgl.sim = {}
pathgl.stop = function () {}
pathgl.context = function () { return gl }
var inited = 0
pathgl.texture = function (image, options, target) {
if (! inited) pathgl.init('canvas')
return new (image == null ? RenderTexture :
isShader(image) ? ShaderTexture :
DataTexture)(image, extend(options || {}, { src: image }), target)
}
pathgl.uniform = function (attr, value) {
return arguments.length == 1 ? uniforms[attr] : uniforms[attr] = value
}
pathgl.applyCSS = applyCSSRules
HTMLCanvasElement.prototype.appendChild = function (el) {
if (pathgl.init(this)) return this.appendChild(el)
}
var gl, program, programs
var textures = { null: [] }
var stopRendering = false
var tasks = []
var uniforms = {}
var start = Date.now()
pathgl.init = function (canvas) {
inited = 1
canvas = 'string' == typeof canvas ? document.querySelector(canvas) :
canvas instanceof d3.selection ? canvas.node() :
canvas
if (! canvas.getContext) return console.log(canvas, 'is not a valid canvas')
return !! init(canvas)
}