- Fix type for Program transform feedback mode.
- Fix type for VertexBuffer normalization.
- Only download build folder from NPM.
- Tests and docs.
- Experimental typescript support.
- Update DrawCall counts from current VertexArray.
- App.polygonOffset method
- VertexArray.vertexAttributeBuffer, VertexArray.instanceAttributeBuffer
size
,offset
andstride
options will affect item count. - App.createIndexBuffer no longer needs an item count (defaults to 3).
- VertexBuffer.data can take an offset.
- Support for changing framebuffer binding points.
- App.createProgram(s) now optionally set explicit
attributeLocations
,transformFeedbackVaryings
must be passed in an options object - Remove Program.bindAttribute method
- Support providing an external context
- App.enable and App.disable methods
- Deprecate App.depthTest, App.noDepthTest, App.blend, App.noBlend, App.stencilTest, App.noStencilTest, App.scissorTest, App.noScissorTest, App.rasterize, App.noRasterize, App.cullBackfaces, App.drawBackfaces
- Program.bindAttribute method
- Remove App.onContextLost (was only used for testing)
- Improved context recovery handling
- Shaders trim source
- App.onContextLost callback
- Built, versioned unbundled modules.
App.blendEquation
- Fix uniform buffer handling of UNSIGNED_INT
- Ignore setting of non-existent uniforms
DrawCall
- Support for multi-draw (WEBGL_multi_draw_instanced) via
DrawCall.drawRanges()
VertexArray
no longer required- Deprecate passing primitive to
App.createDrawCall
. UseDrawCall.primitive()
instead.
- Support for multi-draw (WEBGL_multi_draw_instanced) via
Texture
- Deprecate
format
parameter toApp.createTexture*()
andApp.createCubemap()
.internalFormat
is now the primary parameter.type
andformat
will be automatically determined, andtype
can be overridden if desired. - Support for anisotropic filtering (EXT_texture_filter_anisotropic)
- Deprecate
- Support for getting platform translations of shaders (WEBGL_debug_shaders) via
Shader.translatedSource
,Program.translatedVertexSource
andProgram.translatedFragmentSource
. - Renderer information now stored in
PicoGL.WEBGL_INFO.VENDOR
andPicoGL.WEBGL_INFO.RENDERER
. - Use recommended polling pattern for shader compilation and program linking.
- Support for parallel shader compilation (KHR_parallel_shader_compile)
- Support importing directly into the browser without bundling
- Auto-enable extensions
- Remove methods
App.floatRenderTargets
,App.linearFloatTextures
,App.s3tcTextures
,App.etcTextures
,App.astcTextures
,App.pvrtcTextures
, as they are no longer needed.
- Remove methods
- Support for compressed cubemaps
- UniformBuffers only send modified subrange of data to GPU on
update()
- Remove
VertexBuffer.normalized
,VertexBuffer.unnormalized
VertexArray
- Remove methods
vertexIntegerAttributeBuffer()
,instanceIntegerAttributeBuffer()
,vertexNormalizedAttributeBuffer()
,instanceNormalizedAttributeBuffer()
vertexAttributeBuffer()
andinstanceAttributeBuffer()
can fully specify pointer information (size, type, etc.) via an optionaloptions
argument.
- Remove methods
VertexBuffer
- Track whether they contain integer data based on the type provided. Used for attribute pointer.
normalized()
andunnormalized()
methods to indicate whether they contain normalized integer data.
App.createInterleavedBuffer()
to create a buffer without any attribute pointer information (site, type, etc.).- Simplify Firefox transform feedback workarounds. Still have to provide workaround for: https://bugzilla.mozilla.org/show_bug.cgi?id=1541396
- Remove unused properties in
DrawCall