1.80.0 (2021-10-28)
- added option to fit the width, rather than the height, to LayeredTranslator (9715552)
1.79.2 (2020-12-10)
- better Safari support (9be6bfe)
1.79.1 (2020-11-09)
- promise order in layer compositor (207b899)
1.79.0 (2020-11-07)
- allow for non-leaking concurrent loads (41ea58a)
1.78.0 (2020-11-03)
- auto discard feature on layer compositor (64ef9f0)
1.77.1 (2020-10-31)
- work around PNG loading bug on Chrome? (02fb217)
1.77.0 (2020-10-30)
- spelling mistake in comments (049724c)
- add ability to discard layer data (images + WebGL memory allocations) (0d61826)
1.76.3 (2020-10-28)
- adjust pan position based on pixelDisplayRatio (630a7fc)
1.76.2 (2020-10-27)
- fix black fringes: V-Ray PNGs are actually premultipled alpha against PNG spec. (e74490d)
1.76.1 (2020-10-22)
- support clearState properly, avoid black fringes. (8e77d45)
1.76.0 (2020-10-13)
- add support for layerCompositor.snapshot() (324ec31)
1.75.2 (2020-10-08)
- fill height on compositor. (b069acd)
1.75.1 (2020-09-15)
- fix imports of images for examples. (932d2cc)
1.75.0 (2020-09-15)
- proper npm names for compiled lib (17979d3)
- adopt proper index.ts imports for the whole library (2af4131)
1.74.0 (2020-09-15)
1.73.0 (2020-09-15)
- cache offscreen composite, update only when layers change. (10638be)
1.72.0 (2020-09-14)
- makeMatrix4OrthographicSimple zoom. (2f55ecf)
- centered zoom for layer compositor. (38b0b8a)
1.71.0 (2020-09-14)
- add switching between black and white bg. (78bacd1)
1.70.2 (2020-09-13)
- make macOS Safari and Ubuntu Chrome behave the same in LayerCompositor (a98b954)
- premultipled alpha works the same as non-premultipled alpha in blend states (504383d)
1.70.1 (2020-09-13)
- fix blending bug for Add mode in non-premultiplied Alpha. (23bd048)
1.70.0 (2020-09-13)
- add blend-state & premultiplied alpha example (816fb25)
1.69.0 (2020-09-09)
1.68.0 (2020-09-09)
- layer compositor now obey's device pixel ratio. (421519f)
1.67.0 (2020-09-09)
- allow all images to set at 0 depth rather than -1. (c0d0121)
- improved handling when ImageBitmap not available. (c7b7e90)
- multioutput sample (6b6cd72)
- pre-multiplied assumption in layer compositor. (2038a22)
- premultiplied alpha only once in Compositor (ed34326)
- add lost context to layer compositor (50e68e2)
- add support for variable premultipliedAlpha on a per layer basis (dde2b70)
- allow specifying WebGLContextAttributes when creating RenderingContext (254afb9)
- layer compositor assumes pre-multiplied alpha (1ad50d5)
- support strict Safari CORS on image loading. (ed9ac04)
- support that = this, simplifies event listeners. (2208c65)
- Vector2 fit and fill functions w/ tests (cc225b4)
1.66.0 (2020-08-14)
- camera aspect ratio in layer renderer. (83dc18a)
- center composite (c8d6703)
- clamp to edge on layer textures. (1cb3e51)
- fix local->world space layer transform (091bfcd)
- fix various bugs from refactoring in examples. (31de989)
- leaked abstraction of WebGL (4e69485)
- world->view and view->screen transforms for layer renderer (6a946b2)
- add shirt sample (f7082f7)
- add touch event handling to compositor example (bcf424b)
- enable direct image loading in LayerCompositor for max speed (bd1fc0a)
- fetchImageBitmap - ultra fast image loading for TexImage2D (3267f4c)
- layer compositor (5ae20da)
- layer engine - zoom (9a7703d)
- layer renderer (1852ea9)
1.65.0 (2020-07-29)
- directory for glsl samplers (3d8ae72)
- framework for lambertian importance sampler (369485e)
- lambertian importance sampler produces result (a11ee44)
- struct unit tests. (dc635b2)
1.64.0 (2020-07-29)
- fix equilateral example after latlong name change (c4a2aff)
- remove completely Surface glsl struct (662db5d)
1.63.0 (2020-07-29)
- anisotropy works without Surface (b5c3280)
- make normals, displacement examples work again. (8de52cf)
- sheen works without Surface (60caa7e)
- add degToRad, radToDeg in glsl with unit tests (a6237eb)
- add mat2RotateDirection (b2761ae)
- add mat4 to glsl unit tests. (1403c01)
- add spherical.glsl and adopt it in latLong conversion code. (cd76e43)
- adopt threshold for mat3/mat2 compares. (80517a6)
- isolate glsl unit tests that fail and report on them. (ff0e595)
- mat2 glsl helpers with tests. (978dde2)
- mat3 glsl helpers with tests (d1d222b)
- matrix4 -> mat4.glsl and unify matrix func naming scheme. (e5e9bb6)
- rename spherical to nzSpherical to reflect its polarity. (28e3949)
- replace Surface struct with proper tangentToView mat3 (da01669)
- validated mat3 rotation on axes (4d023bc)
- yuv <-> linear rgb conversion. (c864909)
1.62.0 (2020-07-28)
- rename equirectangular to latLong, more user friendly (9edeb8f)
1.61.1 (2020-07-28)
- normal maps coordinate fix (460fc68)
1.61.0 (2020-07-28)
- refactor towards standard BRDF form (incoming irradiance to output radiance) (2dc16f7)
- simplify DirectLight to radiance and direction. Use dotNL instead of normalFluxRatio. (e623d6a)
1.60.0 (2020-07-24)
- fix y-flip bug in cubeFaceUVToDirection (d0f0d17)
- add tracking of GPU resources (f8c7195)
- cubeFaceUVToDirection is unit tested and corrected. (3808b1a)
- more comprehensive cube face uv glsl tests (aeafe52)
1.59.0 (2020-07-23)
- fix broken TexImage2D class (98d9a88)
- refactor away large cubeMapFaces, replace with atomic arrays (a7362bb)
1.58.0 (2020-07-23)
- equirectangularTextureToCubeMap utility function (cf6a476)
1.57.0 (2020-07-23)
- add equirectangular to cubemap example (f129c50)
1.56.0 (2020-07-23)
- refactored output channels example (e84be98)
1.55.0 (2020-07-22)
- material output example (c12ee6d)
1.54.0 (2020-07-22)
- unitInterval to vec3. fix vec2 to unitInterval. clean up unit tests in general. (0c1d679)
1.53.0 (2020-07-22)
- asset -> asssert spelling error. (466f3b4)
- add Vector4 tests. (1ed06e0)
1.52.0 (2020-07-22)
- expanded unit test coverage for Euler3, Quaternion, Vector2 and Vector3. (820a635)
- simplified DeviceOrientation (929156e)
- standalone and simplier device orientation example (d492098)
1.51.0 (2020-07-21)
- add DeviceOrientationController (1649801)
- add radToDeg, degToRad (ac4a646)
- add transform(Point|Direction) for Vector2 (47b8dcd)
- upgrade es-dev-server to https (7be5842)
1.50.0 (2020-07-20)
- flip video texture coordinates. (c8cac97)
- PrimitiveView was using inconsistent byte and float strides. (182d36b)
- uninitialized uniform when hashcode is 0 error. (4dc5399)
- add async cube map loaders (fdf4773)
- add glTF sample environments (53ddd9d)
- add greggman's webgl-error-check script. (b8ddf41)
1.49.0 (2020-07-20)
- lambert brdf glsl unit tests (45f4bc3)
1.48.0 (2020-07-20)
- perfect equirectangular uv <-> direction equivalency (247755a)
1.47.0 (2020-07-19)
- direction to equirectangular uv was not calibrated for right hand coordinate systems (6db2f27)
- plane UVs are not correct in texture space (7b2ff75)
- uvs for pass Geometry were not in texture space (7d82a46)
- uvs in passGeometry were not in texture space properly (dde849a)
1.46.0 (2020-07-19)
- fix isna (765e703)
- fix seam by not allowing for mipmap filtering on equirectangular cube map (fef13d2)
- isnan and isinf glsl unit tests pass now (a18631c)
- add isinf and fix isnan (7597071)
1.45.1 (2020-07-19)
- math glsl tests except for isnan (a53a59e)
1.45.0 (2020-07-19)
- rgbe unit tests pass. (c2a4d9c)
1.44.0 (2020-07-18)
- glsl unit test coverage for rgbe, srgb, math and packing. (f9f5b4f)
- output html text of unit test results with exact test numbers that fail. (a2530d2)
1.43.0 (2020-07-18)
- fix off by one line numbers if shader source code output (6deb7bc)
- add flush and finish to framebuffer (7802704)
- add initial glsl unit test framework (0a48335)
- add optional webgl helpers from greggman - show draw calls & gl error check (f0ce29d)
- allow for readPixels from framebuffer (554f928)
- optional webgl-gl-error-check script in example.html (9f19a88)
1.42.0 (2020-07-18)
- simplified pass geometry for post effect passes and similar. (a8993b6)
1.41.0 (2020-07-18)
- add cubemap faces table to simplify mappings (43e35db)
- add direction <-> equirectangular conversion functions (07a43a1)
- add equirectangular and cross cubemap assets (318a0e9)
- equirectangular background pass example (69c216b)
- examples now explicitly list their required extensions. (2614dda)
1.40.0 (2020-07-16)
- adopt promise.all in examples for faster image loading. (0e7bb2d)
- manual cubemap mipmap loading example (3e11038)
- support manual miomap loading in cubetexture (212d8d5)
1.39.1 (2020-07-16)
- do not use mipmaps if rendering into the first level of a cube map directly (f5bdc86)
1.39.0 (2020-07-16)
- make lod example work again -- bad minFilter default. (51d0d76)
- cubemap transform/projection helpers (25eac5b)
- matrix4LookAt (eaeeb5f)
- support mip level loading in Texture, CubeTexture, TexImage2D (b37ac9d)
1.38.0 (2020-07-16)
- render to cube map faces (26c23f4)
1.37.0 (2020-07-15)
1.36.0 (2020-07-14)
- be consistent in naming roughness and alphaRoughness. (3cb790a)
1.35.1 (2020-07-13)
- wait for user interaction before playing video (8e887d3)
1.35.0 (2020-07-13)
- video to texture example (12d8029)
1.34.0 (2020-07-13)
- canvas texture example (b01648b)
1.33.0 (2020-07-12)
- add goals to overview in README.md (inspired by PlayCanvas) (df76405)
- simplified canvas resizing based on Babylon & PlayCanvas (9145977)
1.32.0 (2020-07-12)
- break should have been at the start of the loop. (e88fb87)
- directional light description was incorrect (40e1923)
- add npm/yarn install directions to readme. (9a8c701)
- add threeify.org to workspace (e043edc)
- remove example builder to threeify,org project, (32ae498)
1.31.0 (2020-07-09)
- break on max light number (529ed0d)
1.30.0 (2020-07-09)
- multiple punctual light example (c719305)
1.29.0 (2020-07-09)
- add support for array uniforms (float, vec2, vec3, mat4) (c27d7da)
1.28.0 (2020-07-09)
- directional light w/ example (7ff04db)
- more compelling directional light example - moon texture (e27f97d)
1.27.0 (2020-07-09)
1.26.0 (2020-07-08)
- automatic resizing of the canvas framebuffer on element resize (e276ac0)
1.25.0 (2020-07-07)
- add puppeteer screenshot generation when building examples. (932726b)
1.24.0 (2020-07-06)
- unified example viewer. (9f121bf)
1.23.0 (2020-07-06)
- add descriptions to example.json files and complete coverage. (f99e8fe)
- auto-attach render context when one finds a canvas element with id "threeify-framebuffer" (a835ddf)
- json descriptions of examples with multi-lingual support (4dc51e6)
1.22.0 (2020-07-05)
- improve error message when uniform mismatch (5429f1f)
1.21.0 (2020-07-05)
- anisotropy and normal maps are now no longer rotated 90 degrees. (1e49f5f)
- fix incorrect rotation of tangent frame (838130e)
- add opengl normal map plane - ensure correctly with easy case. (511acaa)
1.20.0 (2020-07-04)
- add cull state (6eea327)
- add displacement example. (b93a54f)
- add displacement support with example. (f47f3a2)
1.19.0 (2020-07-04)
- remove dead code from shaders so debugging is easy (dc527bf)
1.18.0 (2020-07-04)
1.17.0 (2020-07-03)
1.16.0 (2020-07-03)
- simplify BRDF to exclude incoming irradiance (c06ea81)
1.15.0 (2020-07-03)
- clear coat example (not yet energy conserving) (61f95b6)
1.14.0 (2020-07-02)
- example bundler + minifier + brotli compressor script (7d56798)
1.13.0 (2020-07-02)
- sRGB decoding of albedo textures. (4ae4e29)
- adopt F0 nomiclature for clarify (b2d1b3c)
1.12.0 (2020-07-02)
- make bump mapping work properly with screenspace gradients. (a95da3e)
- enable natural world space bump map scaling. (1172b11)
1.11.0 (2020-06-30)
1.10.0 (2020-06-30)
1.9.0 (2020-06-30)
- normal map example. (b3009b8)
1.8.0 (2020-06-29)
- correct method for rotating tangent frame. (8fa1145)
1.7.0 (2020-06-29)
1.6.0 (2020-06-29)
1.5.0 (2020-06-29)
- make anisotropic filtering actually work (ordering error) (8c21b5d)
- anisotropic specular example (via bent normals per filament) (43366eb)
- derived tangent, bitangent frames (ac6ca1b)
1.4.0 (2020-06-28)
- Add glsl sturts Surface, PunctualLight, DirectIllumination (ae48d7e)
- add support for sRGB output,. (fa9a0c1)
- specular BRDF works. (51cfeac)
1.3.0 (2020-06-26)
- lambert example (uvs stretched on polyhedron) (51d6d0e)
1.2.0 (2020-06-26)
- restored example1 triangles index.ts file (e7a420e)
- update directories in examples. (d928c8c)
- ci: fix broken release action (c304902)
- ci: fix checking master on master (8ed115c)
- eslint: ignore JS example (a4735fe)
- eslint: resolve tsconfig paths (315d3b3)
- add debug renderer info support (c22865a)
- add Plane and Ray math primitives (4f15436)
- Add Plane geometry creator. (46c88ee)
- add stride support to PrimitiveArray (25d54bc)
- add support for 'WEBGL_debug_shaders' extension (286f21b)
- add support for optional anisotropy mipmaps (5588055)
- depth texture example (f85573e)
- encodings work well (5fcc413)
- example #1 - basic triangle. (705ab3d)
- example 3, textured & indexed plane. (ae9660a)
- example 4 lambert cube (c6269d1)
- go back to WebGL1 with guarrenteed extensions. :( (4b21a2e)
- HDR loader WIP (73f2581)
- integration test support via ts-jest (b9cadb7), closes #10
- interleaved buffers example (not yet working) (f4c8620)
- optimize math class size and dependencies (ca74267)
- orthographic example, fix perspective camera sign bug, improve uniformity of maker-functions. (fc62362)
- render to texture example (0f7b79d)
- roughness example works (0132ba9)
- second example, animated uniforms (077d33e)
- simplify framebuffer attachment creation (515ebbe)
- tetrahedral, octahedron, isocahedron, dodecahedron, PrimitiveArray (9c86560)
- upgrade shaders to es 300 (WebGL2 only) (62e7da7)
- use module facades in examples (bd565fb)
1.1.1 (2020-06-13)
- commit-hook: fix double commit hook (502e2ec)
1.1.0 (2020-06-13)
Manually written:
- Added glsl transpiler to JS modules.
- Added VirtualFramebuffer, CanvasFramebuffer.
- Added MaterialOutputFlags.
- Rename boxGeometry to box.
- Add count and offset to VertexAttributeGeometry, VertexArrayObject.
- fix syntax error in index.ts (89809f4)
- Revert "Revert "Apply linting" - removed all .js extensions on imports." (e8ba0a3)