You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+12Lines changed: 12 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -45,18 +45,30 @@ All of the internal functions, such as `batchQuad` and `batchSprite` have been u
45
45
*`WebGLRenderer.setNormalMap` is a new method that sets the current normal map texture.
46
46
*`WebGLRenderer.clearNormalMap` is a new method that clears the current normal map texture.
47
47
*`WebGLRenderer.resetTextures` is a new method that flushes the pipeline, resets all textures back to the temporary ones and resets the active texture counter.
48
+
*`WebGLPipeline.boot` will now check all of the attributes and store the pointer location within the attribute entry.
49
+
*`WebGLPipeline.bind` no longer looks-up and enables every attribute, every frame. Instead it uses the cached pointer location stored in the attribute entry, cutting down on redundant WebGL operations.
48
50
49
51
### Forward Diffuse Light Pipeline API Changes
50
52
51
53
This Light2D pipeline, which is responsible for rendering lights under WebGL, has been rewritten to work with the new Texture Tint Pipeline functions. Lots of redundant code has been removed and the following changes and improvements took place:
52
54
55
+
* Fixed a bug in the way lights were handled that caused Tilemaps to render one tile at a time, causing massive slow down. They're now batched properly, making a combination of lights and tilemaps possible again.
56
+
* The pipeline will no longer look-up and set all of the light uniforms unless the `Light` is dirty.
57
+
* The pipeline will no longer reset all of the lights unless the quantity of lights has changed.
53
58
* The `ForwardDiffuseLightPipeline.defaultNormalMap` property has been removed as it's no longer required.
54
59
* The `ForwardDiffuseLightPipeline.boot` method has been removed as it's no longer required.
55
60
* The `ForwardDiffuseLightPipeline.onBind` method has been removed as it's no longer required.
56
61
* The `ForwardDiffuseLightPipeline.setNormalMap` method has been removed as it's no longer required.
57
62
* The `ForwardDiffuseLightPipeline.bind` is a new method that handles setting-up the shader uniforms.
58
63
* The `ForwardDiffuseLightPipeline.batchTexture` method has been rewritten to use the Texture Tint Pipeline function instead.
59
64
* The `ForwardDiffuseLightPipeline.batchSprite` method has been rewritten to use the Texture Tint Pipeline function instead.
65
+
* The `ForwardDiffuseLightPipeline.lightCount` is a new property that stores the previous number of lights rendered.
66
+
67
+
### Lights
68
+
69
+
*`Light.dirty` is a new property that controls if the light is dirty, or not, and needs its uniforms updating.
70
+
*`Light` has been recoded so that all of its properties are now setters that activate its `dirty` flag.
71
+
*`LightsManager.destroy` will now clear the `lightPool` array when destroyed, where-as previously it didn't.
0 commit comments