gpgpu

0.0.5 • Public • Published

gpgpu Codeship Pro npm version npm type definitions License

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.

Readme

Keywords

none

Package Sidebar

Install

npm i gpgpu

Weekly Downloads

1

Version

0.0.5

License

Apache-2.0

Unpacked Size

234 kB

Total Files

13

Last publish

Collaborators

  • minodisk