- Last updated: 2024-10-05T12:12:32Z
- Generator: thi.ng/monopub
All notable changes to this project will be documented in this file. See Conventional Commits for commit guidelines.
Note: Unlisted patch versions only involve non-code or otherwise excluded changes and/or version bumps of transitive dependencies.
6.9.0 (2024-06-21)
- add UncompiledModelSpec, update compileModel() (95be119)
- update WebGLCanvasOpts, switch to WebGL v2 by default (6bb029e)
- add docs
- add
ModelSpec.instancePool
(c4d695f)- add new
instancePool
option to specify instance attribs via AttribPool - update
compileModel()
to support new option
- add new
- enforce uniform naming convention of internal functions (56992b2)
6.8.12 (2024-04-20)
- update type usage (f584c7c)
6.8.0 (2024-03-09)
- add passCopyMain() multipass spec utility (ba22536)
- update readPixels() args (458e7ff)
6.7.0 (2024-03-06)
- update shader prelude, add sampler3D default precision (73d7818)
- add
precision lowp sampler3D
to prelude (WebGL2 only)
- add
- update defMultipass(), add sampler3D support (3f924cf)
- update texture & shader init
- update MultipassOpts
6.6.32 (2024-02-22)
- update object destructuring in all pkgs & examples (f36aeb0)
6.6.28 (2024-02-16)
- update LOGGER handling (744ebed)
6.6.26 (2024-02-06)
- use shader type consts (e9f8c4c)
6.6.6 (2023-11-09)
- update all tests (packages A-S) (e3085e4)
6.6.0 (2023-10-25)
- update DefShaderOpts & defShader() (800318f)
- add
logger
option to use temp. logger for compiled GLSL output
- add
6.5.0 (2023-09-19)
- update clearCanvas(), add defaultViewport() (a7b47a2)
6.4.20 (2023-08-31)
- update PassUniforms (e79ae16)
- allow
resolution
uniform to also be ivec2/uvec2
- allow
6.4.6 (2023-06-09)
- fix arg types for defBuffer()/compileAttribPool() (71a9e16)
6.4.0 (2023-04-19)
- add retain option to ModelAttributeSpec/IndexBufferSpec (3db4463)
- update defBuffer()/initBuffer()
- add clearCanvas() (ad362f9)
- update glCanvas() return type (4af5e04)
- add
resize
handler to result which can later be called to resize the canvas (with DPR) and update the GL viewport
- add
6.3.0 (2023-02-05)
- add Shader.withState() (8a7a427)
- update WebGLArrayBuffer/IWebGLBuffer (c1890ce)
- add optional
retain
ctor arg to retain handle to - add .update() method
- update IWebGLBuffer interface
- add optional
6.2.0 (2022-08-08)
- add more extensions to WebGLExtensionMap (dd2e295)
- update Multipass (5f51d26)
- auto-enable EXT_float_blend extension for float outputs (this silences warnings on Firefox, Chrome seemed fine)
- add Multipass.singlePass() to selectively execute single shader passes
6.1.22 (2022-08-08)
- add missing type exports (6b1501e)
6.1.0 (2021-11-17)
- Using workspaces for local tools (bf7a404)
Improving the overall build ergonomics
- introduced a tools workspaces
- imported it in all needed packages/examples
- inclusive project root
- testrunner to binary (4ebbbb2) this commit reverts (partly) changes made in: ef346d7a8753590dc9094108a3d861a8dbd5dd2c overall purpose is better testament ergonomics: instead of having to pass NODE_OPTIONS with every invocation having a binary to handle this for us.
6.0.11 (2021-11-10)
- update all countdown loops (a5f374b)
6.0.9 (2021-11-03)
- minor update texture gens (51e3d71)
- rename internals due to changes in @thi.ng/pixel (2fe8d4f09)
6.0.1 (2021-10-13)
- update imports in all pkgs (5fa2b6f)
- add .js suffix for all relative imports
- update imports in all tests/pkgs (effd591)
6.0.0 (2021-10-12)
- major update of ALL pkgs (export maps, ESM only) (0d1d6ea)
- BREAKING CHANGE: discontinue CommonJS & UMD versions
- only ESM modules will be published from now on
- CJS obsolete due to ESM support in recent versions of node:
- i.e. launch NodeJS via:
node --experimental-specifier-resolution=node --experimental-repl-await
- in the node REPL use
await import(...)
instead ofrequire()
- UMD obsolete due to widespread browser support for ESM Also:
- normalize/restructure/reorg all package.json files
- cleanup all build scripts, remove obsolete
- switch from mocha to @thi.ng/testament for all tests
- add DefShaderOpts, rename ShaderOpts (ef46bf5)
- add DefShaderOpts
- update defShader(), shaderSourceFromAST()
- rename ShaderOpts => ShaderPresetOpts
- update shader presets
- update all tests in all pkgs (8b582bc)
- update all to use @thi.ng/testament
- update all test stubs (f2d6d53)
- update imports (138571a)
- update imports (b4c3883)
- update imports (c29d6b4)
- update deps & imports in various pkgs (e1cf29e)
- largely related to recent updates/restructuring of these packages:
- api
- defmulti
- errors
- logger
- largely related to recent updates/restructuring of these packages:
- redefine WebGL error, migrate logger (6a5158d)
- update imports/exports (ce4d3e8)
5.0.0 (2021-06-08)
- update multipass texture uniforms (86d363a)
- BREAKING CHANGE: replace input tex
sampler2D[]
array w/ named inputs- new unis:
input0
,input1
, etc. to sync w/ same approach as already used for outputs - new approach also simplifies texture lookups in shader-ast code
- new unis:
- add passCopy() HOF pass gen (fb6b5b7)
4.0.0 (2021-02-20)
- update attrib type handling (542850b)
- BREAKING CHANGE: attrib buffer data type use string consts
- part of unified umbrella-wide changes to @thi.ng/api Type alias (see a333d4182)
- update compileAttribPool() (6b5dd8e)
- always ensure GLType is used in resulting ModelAttributeSpec's
- extract/re-use internal helpers (e8786f6)
- update shaderSourceFromAST() & prepareShaderSource()
- extract compilePrelude()
- extract compileVarying()
- further simplify shaderSourceFromAST() (9343ba3)
- simplify defMultipass(), extract inner fns (fda3011)
- split Texture.configureImage() (1e8670e)
3.3.8 (2020-12-07)
3.3.6 (2020-11-24)
- update destructuring (4e6ebcf)
3.3.3 (2020-09-22)
- split Texture.configure() (91b4329)
3.3.2 (2020-09-13)
- update imports (18e86e9)
3.3.1 (2020-08-28)
- update delete op (TS4.0) (7b5f1e1)
3.3.0 (2020-08-20)
- only warn once re: unknown uni/attrib (7490aa1)
- add @thi.ng/memoize dep
- update Shader to only warn once
- update readme
3.2.0 (2020-08-16)
- store texture filter/wrap mode (8a7420e)
- add Texture .filter, .wrap properties
- update initial default tex config to: nearest & clamp
- fix LOD param handling (use
texParameterf()
)
3.1.1 (2020-08-12)
- update/add DrawOpts, add unbindTextures() (27021fa)
3.1.0 (2020-08-12)
- add opt unbind flag for .configure() (0e5cc2b)
- default remains true to keep existing behavior, but provide escape hatch where needed/useful (i.e. multipass stuff)
- update impls for FBO, RBO, Texture
- add DrawFlags opts for draw() (800382b)
3.0.1 (2020-08-08)
- unbind texture after configured (9612cdd)
3.0.0 (2020-07-28)
- add/update opts for defQuadModel() (13b7d9e)
- BREAKING CHANGE: add/update opts for defQuadModel()
- update callsite in defMultiPass()
- add varying int support (webgl2) (c812800)
- update varying handling in shaderSourceFromAST()
- extract varyingOpts()
- bind FBO in readTexture() (6cb4448)
2.0.0 (2020-06-07)
- remove adaptDPI() (6d49da6)
- BREAKING CHANGE: re-use adaptDPI() from new @thi.ng/adapt-dpi pkg
- update deps
1.0.16 (2020-06-01)
- update deref() uniform handling (2c81849)
1.0.6 (2020-04-20)
- unbind fbo after configure (25414b5)
1.0.5 (2020-04-11)
1.0.4 (2020-04-07)
1.0.2 (2020-04-05)
- switch to non-const enums (c491b00)
1.0.0 (2020-03-28)
- rename factory functions (633f693)
- BREAKING CHANGE: #210, rename factory functions (
defXXX
)- rename buffer() => defBuffer()
- rename fbo() => defFBO()
- rename rbo() => defRBO()
- rename multipass() => defMultiPass()
- rename shader() => defShader()
- rename texture() => defTexture()
- rename cubeMap() => defTextureCubeMap()
- rename floatTexture() => defTextureFloat()
- rename cube() => defCubeModel()
- rename quad() => defQuadModel()
- add DrawMode enums (5adaa23)
0.3.0 (2020-02-25)
- update Texture.config() default handling (4c62d87)
- add defaults for
filter
&wrap
opts - add TextureOpts docstrings
- add defaults for
0.2.2 (2019-11-30)
- fix PHONG shader preset, minor update LAMBERT (792379f)
- use LOGGER for warnings (14d5025)
- webgl1 depth texture (5c86165)
0.2.1 (2019-11-09)
- ensure system defaults for all uniforms, update equiv checks (39dc83f)
- add LOGGER, update initUniforms() (4719110)
- don't throw error when initializing unused uniforms
- add type hints (TS 3.6.4) (bd01c79)
0.2.0 (2019-09-21)
- migrate multipass() & types from webgl-shadertoy pkg, reorg (2aa31ce)
- add renderExt to TextureFormatDecl, add FBO tex fmt checks (180e89c)
- update multipass / PassOpts (95aba16)
- add readPixels/readTexture(), add ReadableTextureFormat (355f785)
- update extension handling in shader(), add ExtensionInfo (12abaa0)
- update samplerXX[] uniform decl types (48b8906)
- update TEX_FORMATS (9a084a2)
0.1.3 (2019-07-31)
- update texture config, split api.ts into mult files (052552f)
- TextureOpts.format now refers to internal format, with base format & type inferred from TEX_FORMATS decls
- add preliminary 3D texture support
- update Texture.configure, store target, format, type, size (9131310)
- add blending & stencil enums/types (c8898a0)
- add initial coll of blend mode presets (58e0b04)
- update check for WEBGL_draw_buffers (7df09d1)
- get extension only when more than one render targets
- add/rename types, add/move checks, update deps (d56b720)
- add pixel dep, update tex gens (58822c8)
- update canvas texture gens (da0fcb2)
- update blend mode presets as sep consts (cc0ffcd)
0.1.0 (2019-07-07)
- add AttribPool support, update shader ext handling, add screen2d() (f8081f2)
- add ModelSpec.attribPool and update compileModel to delegate to compileAttribPool()
- update compileAttribs, compileIndices to return updated specs
- add GL_EXT_INFO and update compileExtensionPragma()
- add initShaderExtensions()
- add sceen2d() proj matrix helper
- add screen2d() arity to extract screen size from gl ctx (7f38f10)
- TS strictNullChecks, assertions, minor type updates (ad672c7)
- initial integration of shader-ast (73faffd)
- replace GLSL enums with shader-ast types
- add shaderSourceFromAST()
- update shader presets
- update old code gens (to be replaced soon)
- update shaderSourceFromAST(), update shader presets, remove prefixes (6aa5715)
- lambert & phong shader presets now AST based
- positionAttrib & colorAttrib helpers return AST nodes