gpgpu
v0.0.5
Published
GPGPU with WebGL 2.0 in browser native JavaScript and GLSL
Downloads
14
Readme
gpgpu
GPGPU with WebGL 2.0 in browser native JavaScript and GLSL
Usage
import GPGPU from 'gpgpu'
const gpgpu = GPGPU.create()
gpgpu.compile(`#version 300 es
in float in1;
in float in2;
uniform float uni1;
uniform float uni2;
out float res1;
out float res2;
void main(void){
res1 = in1 * uni1;
res2 = in2 * uni2;
}`)
gpgpu.bind(1.5, 2.5)
console.log(gpgpu.exec([1, 3, 5], [2, 4, 6]))
// -> [[1.5, 4.5, 7.5], [5, 10, 15]]
Installation
yarn add gpgpu
API
GPGPU.create(): GPGPU
Create GPGPU
instance. A new HTMLCanvasElement
is created internally.
- Throws exception when
WebGl2RenderingContext
isn't support in the browser.
GPGPU.createWithCanvas(canvas: HTMLCanvasElement): GPGPU
Create GPGPU
instance with HTMLCanvasElement
.
- Throws exception when
WebGL2RenderingContext
isn't support in the browser.
new GPGPU(context: WebGL2RenderingContext): GPGPU
Create GPGPU
instance with WebGL2RenderingContext
.
GPGPU#compile(source: string)
Parse source code written in GLSL and ready buffers for attributes
, uniforms
and varyings
.
GPGPU#bind(...uniforms: Array<boolean | number | Array<number>>)
Binds uniform value.
GPGPU#exec(...attributes: Array<Array<number>>): Array<number>
Execute GLSL program with attributes
and returns feedback transformed results.