gpgpu
v0.0.5
Published
GPGPU with WebGL 2.0 in browser native JavaScript and GLSL
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 gpgpuAPI
GPGPU.create(): GPGPU
Create GPGPU instance. A new HTMLCanvasElement is created internally.
- Throws exception when
WebGl2RenderingContextisn't support in the browser.
GPGPU.createWithCanvas(canvas: HTMLCanvasElement): GPGPU
Create GPGPU instance with HTMLCanvasElement.
- Throws exception when
WebGL2RenderingContextisn'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.
