176 Commits

Author SHA1 Message Date
Robert Plummer
8cf91f4fed fix: Add deprecated method setOutputToTexture, and test 2019-04-22 17:12:05 -04:00
Robert Plummer
b60e571646 fix: 8 and 16 bit packing when using single precision float
fix: 2,3,4 array output render strategies
fix: Add deprecation handling
fix: Add addArgument and addConstant tests for webgl2
fix: remove floatTextures as a property
2019-04-21 12:02:34 -04:00
Robert Plummer
00ee2ba982 feat: Refactor dimensional values and expose the bitRatio all the way to the function node
fix: Added test suite for arrays and inputs for webgl and webgl2
fix: Rename "floatOutput" feature to "precision".  Values can be "unsigned" or "single"
fix: Add input and Input to typings
fix: Use Int32Array for input.size
2019-04-20 09:59:49 -04:00
Robert Plummer
2c78215862 fix: Build 2019-04-16 20:44:17 -04:00
Robert Plummer
e778dc1519 fix: Eliminate need for using decode inside fragment shader
fix: Auto float handling
fix: this.texSize from early setting in validateSettings
fix: Add compiledFragmentShader and compiledVertexShader as props in kernel
feat: Add setOptimizeFloatMemory in kernel.js
fix: Add some typings
fix: Simplify how dimToTexSize gets dimensions
fix: Simplify createKernelMap tests
fix: Add utils tests
fix: Simplify issue 267 tests
fix: Alter issue 279 tests, and add TODO

1 Broken test left
2019-04-16 08:37:57 -04:00
Robert Plummer
d068ba211d fix: Add 'Input' handling to astCallExpression and astBinaryExpression
fix: Add unit tests for above
2019-04-14 11:59:59 -04:00
Robert Plummer
58d77be9a7 fix: Remove erroneous channel and index division in getImage2D of webgl1
fix: Remove some debugging code
fix: Build and beautify everything (was off whilst doing some mad debugging earlier)
2019-04-12 14:09:05 -04:00
Robert Plummer
ee7baf70ba fix: Array handling (2,3,4) for webgl2 & webgl1 (headlessgl next)
fix: Float handling
feat: added `optimizeFloatMemory` to better exemplify what it does and replace `floatTextures` and its voodoo in webgl2
feat: end to end strong type detection
Note: added a bunch of TODO's this is just a good resting point.
2019-04-11 19:41:58 -04:00
Robert Plummer
1e60084020 feat: Full type inference (this is a HUGE feature)
feat: Add mandelbulb.html example
fix: Bump and build
2019-03-19 19:51:03 -04:00
Robert Plummer
9540340751 fix: Fix floatTextures support test
fix: Rename `WebGLKernel._formatArrayTransfer()` to `WebGLKernel.formatArrayTransfer()` because it is used in more than just this class
fix: Add `HeadlessGL.features.isTextureFloat`
fix: Add `HeadlessGL.getIsTextureFloat()`
fix: Add operation to delete `HeadlessGLKernel.extensions.WEBGL_draw_buffers`
fix: Remove `assert.throws` from Issue #91 test
fix: Add "features/float-output-textures.js" back to all.html test
fix: Bump version number and build
2019-03-19 08:43:58 -04:00
Robert Plummer
4aa08ca393 fix: Casting for all non-float arguments used with Math.fn()
fix: Greater than, less than evaluation when comparing an integer with a literal that is a float, try not to cast left, but rather cast left to right
fix: Constants that do not have a type defined should fail
fix: Don't prevent "random" as a native function name
fix: Allow Texture constructor to inherit instance of GPU for easy .toArray()
fix: Texture constructor as settings object for easier understanding of order input
fix: Typescript corrections for Texture
fix: Bump headless-gl version to that of Multiple Render Targets
2019-03-17 22:12:09 -04:00
Robert Plummer
fb9be63b1e fix: Bump version and build 2019-03-13 12:43:00 -04:00
Robert Plummer
d49374ae78 fix: build 2019-03-13 12:39:10 -04:00
Robert Plummer
5f59354219 fix: this.thread, and this.output type handling, and block statements 2019-02-18 10:55:30 -05:00
Robert Plummer
85eba0e05b fix: Version to match intent 2019-02-10 23:01:27 -05:00
Robert Plummer
0cce0a0a82 fix: Clone GPU for loop into CPU
Add unit tests to browser all.html
fix a typo in file and in desc
Add a few missing items to index.d.ts
Move debug console.log to match GPU counterpart
Build files
All unit tests pass or skip (when appropriate) for Chrome, Firefox, Safari, and Node
This marks v1 rc1.
2019-02-10 22:58:18 -05:00
Robert Plummer
22046269b6 feat: Added "dev" mode, so we can easily debug
refactored webgl for statements, to be more performant
added unit tests for "for" statements
will do the same for cpu for statements next
fixed some issues in typings file
exposed FunctionNode from standard importer
2019-02-10 12:17:31 -05:00
Robert Plummer
cf5a358422 fix: Got 100% unit tests in chrome, ff, safari, and node. 2019-02-07 19:08:19 -05:00
Robert Plummer
a586c0d96d fix: constants image early throw for webgl 2019-02-06 09:18:09 -05:00
Robert Plummer
2b6802e292 fix: astBinaryExpression unit tests
Simplify internal/kernel.js tests
2019-02-05 22:13:44 -05:00
Robert Plummer
f48409cc56 fix: Web side tests
Also cleanup moving methods around for reuse and so code can be more concise.
Removed some older references, where now we use `this.thread.x` or `this.output.x`.
Removed some older methods we no longer use (astFunctionPrototype).
Removed some overloaded functions from webgl1 and webgl2 glsl.  We no longer need them.
Removed some references to `=== null` in favor of truthy.  `if (undefined === null)` is true, and can lead to unexpected results, where we really wanted truthy, and is simpler to write.
2019-02-05 21:17:20 -05:00
Robert Plummer
2c8e4cf65a fix: Bump gpu version 2019-02-04 19:47:58 -05:00
Robert Plummer
8bf362ad9a feat: No failing tests locally, only skipping and passing
Also:
feat: Typescript typings
feat: api cleanup and exports
feat: removal of building for node, only browser
2019-01-29 21:41:21 -05:00
Robert Plummer
920aaf67d9 feat: Massive simplification and refactor for v2 2019-01-26 21:47:26 -05:00
Robert Plummer
bafac7831e feat: Huge rewrite for v2 2019-01-24 22:18:22 -05:00
Robert Plummer
3005828b86 fix: Migrating tests, and build
This was a good resting point.
Delete unneeded files.
2019-01-18 08:32:10 -05:00
Robert Plummer
c234e37942 fix: cpu canvas check 2019-01-17 15:24:37 -05:00
Robert Plummer
cb4d4f1d4a fix: cpu canvas check 2018-11-18 15:50:35 -05:00
Robert Plummer
4340d5cbef fix: NPM vulnerabilities by upgrading some packages 2018-11-18 14:41:12 -05:00
Robert Plummer
e3d80ea3e4 fix: double definitions for arrays when they are integers
fixes #399
2018-11-18 14:08:59 -05:00
Robert Plummer
b577c1a193 fix: CPU transpilation issue for type management
Refactored tests to test webgl, webgl2, and cpu individually and more generically.

Fixes #392
2018-11-01 14:17:08 -04:00
Robert Plummer
87ccce51df fix: thread & output variabel assignment
Fixes #390
2018-11-01 10:03:18 -04:00
Robert Plummer
d765de4cd0 fix: Upgrade remaining non-javascript like types
To be referenced in same way.
Simplify FunctionNode.
Update documentation to be more straightforward.
Remove code no longer needed from WebGL2 FunctionNode.
2018-10-30 08:14:01 -06:00
Robert Plummer
2599966e7c fix: Better defining internal lookups of types and documentation 2018-10-28 14:05:44 -04:00
Robert Plummer
43bb07e879 fix: Make package smaller using package.json's files 2018-10-24 15:15:23 -04:00
Robert Plummer
3a55872c4f fix: Constant being set weirdly and conflicting with user variables
add unit test
2018-10-24 14:58:06 -04:00
Robert Plummer
0e4c04917a feat: Update for offscreen canvas and retool for cleaner CPU kernel backend
fix toString for kernels as well
Added documentation
Updated release year
2018-10-24 14:12:12 -04:00
Robert Plummer
ff88834bb5 fix: Build and version number 2018-09-21 06:54:10 -04:00
Robert Plummer
e3d6d3be0a fix: Accept provided webgl context from GPU instance to kernel 2018-09-14 11:52:16 -04:00
Robert Plummer
d4468e33fc feat: Provide a means of obtaining the color texture directly 2018-09-11 15:34:23 -04:00
Robert Plummer
e2996f8229 bump version number
remove some unneeded console.log messages
remove commented out utility line
2018-09-05 16:55:00 -04:00
Nick Hingston
c538e1dc6f build after merge develop 2018-09-05 21:05:54 +01:00
Robert Plummer
a1b65b5ad7 bump, build, and ready for release 2018-09-03 16:23:22 -04:00
viziionary
27cc90d85c Ran make. 2018-09-03 15:00:38 -05:00
Robert Plummer
fde58af8fa fix: webgl1 consolidate addConstant statements
fix: webgl2 consolidate addConstant statements and fix image handling
2018-09-03 15:02:22 -04:00
viziionary
a2b9cb00fc Added forgotten unit test 2018-09-02 13:48:12 -05:00
Robert Plummer
e59452aa98 fix: add sampler2DArray where missing
fix: use highp in webgl2
fix: unit tests to to test for exception in webgl1
2018-09-02 11:28:44 -04:00
viziionary
8b1f51ddac Mid progress update, supporting all constant types 2018-09-02 08:31:30 -05:00
Robert Plummer
91833f531d fix: Make images work with constants and CPU
fix: Allow for pixel.r, pixel.g, pixel.b, pixel.a
2018-09-01 15:30:37 -04:00
viziionary
f5951ccb32 Mid progress update 2018-09-01 08:36:34 -05:00