1.1.0
Breaking Changes
-
All the modules under
math
have been moved to root for more short reference. For example,clay.math.Vector3
now isclay.Vector3
. For nowclay.math.Vector
can still work but not suggested. -
Move
clay.animation.Timeline
toclay.Timeline
. For nowclay.animation.Timeline
can still work but not suggested. -
Move
clay.compositor.createCompositor
toclay.createCompositor
. For nowclay.compositor.createCompositor
can still work but not suggested. -
clay.util.mesh.splitJoints
will use the material of input mesh. Not clone a new one for each new-created mesh. -
Remove
Renderable#lineWidth
New Features
-
Add typescript declarations. See https://github.com/pissang/claygl/tree/master/typescript
-
[Texture2D] Add convertToPOT property.
-
Add
sideEffects
in package.json to support tree shaking in webpack4.0
Bug Fixes
-
Fix
disposeTexture
parameter not work inScene#disposeNode
-
[OrbitControl] Fix dragging will not be stopped when the mouse is out of the viewport.
-
[OrbitControl] Disable the right mouse button.
Enhancements
- Improve shader parser, support uniform initialization value and multiple declaration in one line. Now code like following can be parsed and extrated uniforms correctly
uniform vec3 color = vec3(0.0, 0.0, 0.0), opacity = 1.0;
-
Performance improvements for the large scenes. Can be up to 50% in the scene of 10k objects.
-
[OrbitControl] Optimize the dragging when mouse events are triggered more frequently than animation frame.
-
[PBR] 4x faster cubemap prefiltering