Skip to content

Commit a1f9213

Browse files
committed
Update CHANGELOG-v3.50.md
1 parent 05fe310 commit a1f9213

1 file changed

Lines changed: 16 additions & 1 deletion

File tree

CHANGELOG-v3.50.md

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ Other pipeline changes are as follows:
3434
* The `WebGLPipeline.shouldFlush` method now accepts an optional parameter `amount`. If given, it will return `true` if when the amount is added to the vertex count it will exceed the vertex capacity. The Multi Pipeline has been updated to now use this method instead of performing the comparison multiple times itself.
3535
* The `RopePipeline` now extends `MultiPipeline` and just changes the topology, vastly reducing the filesize.
3636
* The `WebGLPipeline.flushLocked` property has been removed. A pipeline can never flush in the middle of a flush anyway, so it was just wasting CPU cycles being set.
37-
* You can now pass a pipeline instance to the `GameObject.setPipeline` method, as well as a string.
3837
* `WebGLPipeline.manager` is a new property that is a reference to the WebGL Pipeline Manager.
3938
* `WebGLPipeline.currentUnit` is a new property that holds the most recently assigned texture unit. Treat as read-only.
4039
* `WebGLPipeline.forceZero` is a new boolean property that sets if the pipeline should force the use of texture zero.
@@ -338,6 +337,22 @@ New constants have been created to help you reference a pipeline without needing
338337

339338
All Game Objects have been updated to use the new constants and Pipeline Manager.
340339

340+
#### Game Object Pipeline Component Updates
341+
342+
To support the new Post Pipelines in 3.50, the Pipeline Component which most Game Objects inherit has been updated. That means the following new properties and methods are available on all Game Objects that have this component, such as Sprite, Layer, Rope, etc.
343+
344+
* `hasPostPipeline` is a new boolean property that indicates if the Game Object has one, or more post pipelines set.
345+
* `postPipelines` is a new property that contains an array of Post Pipelines owned by the Game Object.
346+
* `pipelineData` is a new object object to store pipeline specific data in.
347+
* The `setPipeline` method has been updated with 2 new parameters: `pipelineData` and `copyData`. These allow you to populate the pipeline data object during setting.
348+
* You can now pass a pipeline instance to the `setPipeline` method, as well as a string.
349+
* `setPostPipeline` is a new method that allows you to set one, or more, Post FX Pipelines on the Game Object. And optionally set the pipeline data with them.
350+
* `setPipelineData` is a new method that allows you to set a key/value pair into the pipeline data object in a chainable way.
351+
* `getPostPipeline` is a new method that will return a Post Pipeline instance from the Game Object based on the given string, function or instance.
352+
* The `resetPipeline` method has two new parameters `resetPostPipeline` and `resetData`, both false by default, that will reset the Post Pipelines and pipeline data accordingly.
353+
* `resetPostPipeline` is a new method that will specifically reset just the Post Pipelines, and optionally the pipeline data.
354+
* `removePostPipeline` is a new method that will destroy and remove the given Post Pipeline from the Game Object.
355+
341356
#### Single Pipeline Update
342357

343358
There is a new pipeline called `SinglePipeline`, created to emulate the old `TextureTintPipeline`. This special pipeline uses just a single texture and makes things a lot easier if you wish to create a custom pipeline, but not have to recode your shaders to work with multiple textures. Instead, just extend `SinglePipeline`, where-as before you extended the `TextureTintPipeline` and you won't have to change any of your shader code. However, if you can, you should update it to make it perform faster, but that choice is left up to you.

0 commit comments

Comments
 (0)