Richard Davey
468bf7821d
Updated copyright year
2023-01-02 17:36:27 +00:00
Richard Davey
7a5d138271
Testing deleting renderbuffer #6311
2022-12-07 18:29:11 +00:00
Richard Davey
a813f9c229
WebGLPipeline.vertexAvailable
is a new method that returns the number of vertices that can be added to the current batch before it will trigger a flush.
2022-12-07 18:28:17 +00:00
Richard Davey
1e9bb686d3
When calling PipelineManager.clear
and rebind
it will now check if the vao extension is available, and if so, it'll bind a null vertex array. This helps clean-up from 3rd party libs that don't do this directly, such as ThreeJS.
2022-11-29 23:38:47 +00:00
Richard Davey
9357b8e609
The RenderTarget
class will now create a Framebuffer that includes a Depth Stencil Buffer attachment by default. Previously, it didn't. By attaching a stencil buffer it allows things like Geometry Masks to work in combination with Post FX and other Pipelines. Fix #5802
2022-11-22 18:13:03 +00:00
Richard Davey
e608c2caf1
The CONTEXT_RESTORED
Game Event has been removed and the WebGL Renderer no longer listens for the contextrestored
DOM event, or has a contextRestoredHandler
method. This never actually worked properly, in any version of Phaser 3 - although the WebGLRenderer would be restored, none of the shaders, pipelines or textures were correctly re-created. If a context is now lost, Phaser will display an error in the console and all rendering will halt. It will no longer try to re-create the context, leading to masses of WebGL errors in the console. Instead, it will die gracefully and require a page reload.
2022-11-17 18:04:51 +00:00
Richard Davey
c9d7a76998
The Light fragment shader will now use the outTintEffect
attribute meaning the Light Pipeline will now correctly light both tinted and fill-tinted Game Objects. Fix #5452
2022-11-17 17:25:47 +00:00
Richard Davey
8c7c8ee2a4
The batchLine
method in the Multi Pipeline will now check to see if the dxdy len is zero, and if so, it will abort drawing the line. This fixes issues on older Android devices, such as the Samsung Galaxy S6 or Kindle 7, where it would draw erroneous lines leading up to the top-left of the canvas under WebGL when rendering a stroked rounded rectangle. Fix #5429
2022-11-17 16:49:10 +00:00
Richard Davey
2f720246ab
Reset the buffer and textures on rebind.
2022-11-15 21:54:43 +00:00
Richard Davey
064e8a3ec2
Fixed type issues
2022-11-10 16:05:20 +00:00
Richard Davey
b457e42a2f
The Light Pipeline will now check to see if a Light2D enabled Game Object has a parent Container, or not, and factor the rotation and scale of this into the light calculation. Fix #6086
2022-11-09 18:18:35 +00:00
Richard Davey
d7a15e92a6
Added activeBuffer and activeTextures check to avoid gl ops
2022-11-03 22:05:18 +00:00
Richard Davey
2d81a4a50e
Reverting to forloop shader
2022-11-03 22:04:58 +00:00
Richard Davey
528e32a18a
Reverting to forloop approach
2022-11-03 22:04:44 +00:00
Richard Davey
7d594dd49a
Clarify snapshot docs
2022-10-31 22:46:44 +00:00
Richard Davey
22eae26007
WebRenderer.snapshotFramebuffer
and by extension, the snapshot methods in Dynamic Textures and Render Textures, has been updated to ensure that the width and height never exceed the framebuffer dimensions, or it'll cause a runtime error. The method snapshotArea
has had this limitation removed as a result, allowing you to snapshot areas that are larger than the Canvas. Fix #5707
2022-10-31 22:17:27 +00:00
Richard Davey
ba6af3a920
Conditionally set DEBUG
2022-10-31 16:17:16 +00:00
Richard Davey
4f0029c03c
Added captureFrame, captureNextFrame, getFps, startCapture and stopCapture methods
2022-10-28 18:23:24 +01:00
Richard Davey
bd1adbd67e
Clear TEXTURE1. Fix #6248
2022-10-13 22:03:33 +01:00
Richard Davey
f3c804805f
Update MultiPipeline.js
2022-10-10 17:43:53 +01:00
Richard Davey
a6a83ca592
Testing customSampler
2022-10-10 13:27:33 +01:00
Richard Davey
52f7ec621a
Added destroy method back in again
2022-10-09 23:16:48 +01:00
Richard Davey
d0cc5f17d5
Extend the MultiPipeline and use new batch system
2022-10-09 23:16:38 +01:00
Richard Davey
5dd3a40342
Fixed data types
2022-10-09 18:11:00 +01:00
Richard Davey
01150a6efc
Removed un-needed method
2022-10-09 17:49:21 +01:00
Richard Davey
6ff216d832
Create WebGLPipelineBatchEntry.js
2022-10-09 17:49:11 +01:00
Richard Davey
7600f2f6b6
Added all new jsdocs
2022-10-09 17:49:08 +01:00
Richard Davey
a2d5f25a55
Added new method
2022-10-09 17:30:36 +01:00
Richard Davey
3c54c852dc
Don't forget to update the batch count
2022-10-09 17:30:27 +01:00
Richard Davey
70ef38c03c
Fixed rendering
2022-10-09 17:29:37 +01:00
Richard Davey
e44a148882
Store actual WebGLTextures
2022-10-09 17:29:29 +01:00
Richard Davey
57f2f7abd7
Broken for now
2022-10-07 18:03:16 +01:00
Richard Davey
5908eea4ce
Use new methods
2022-10-07 16:24:07 +01:00
Richard Davey
496882fbd2
Inc count on batchVert
2022-10-07 16:23:57 +01:00
Richard Davey
c9e37ed373
Remove calls to resetTextures
2022-10-07 16:09:23 +01:00
Richard Davey
080242f928
Due to all of the changes with how WebGL texture batching works a lot of mostly internal methods and properties have been removed. This is the complete list
...
* The `WebGLRenderer.currentActiveTexture` property has been removed.
* The `WebGLRenderer.startActiveTexture` property has been removed.
* The `WebGLRenderer.tempTextures` property has been removed.
* The `WebGLRenderer.textureZero` property has been removed.
* The `WebGLRenderer.normalTexture` property has been removed.
* The `WebGLRenderer.textueFlush` property has been removed.
* The `WebGLRenderer.isTextureClean` property has been removed.
* The `WebGLRenderer.setBlankTexture` method has been removed.
* The `WebGLRenderer.setTextureSource` method has been removed.
* The `WebGLRenderer.isNewNormalMap` method has been removed.
* The `WebGLRenderer.setTextureZero` method has been removed.
* The `WebGLRenderer.clearTextureZero` method has been removed.
* The `WebGLRenderer.setNormalMap` method has been removed.
* The `WebGLRenderer.clearNormalMap` method has been removed.
* The `WebGLRenderer.unbindTextures` method has been removed.
* The `WebGLRenderer.resetTextures` method has been removed.
* The `WebGLRenderer.setTexture2D` method has been removed.
* The `WebGLRenderer.pushFramebuffer` method has had the `resetTextures` argument removed.
* The `WebGLRenderer.setFramebuffer` method has had the `resetTextures` argument removed.
* The `WebGLRenderer.popFramebuffer` method has had the `resetTextures` argument removed.
* The `WebGLRenderer.deleteTexture` method has had the `reset` argument removed.
2022-10-07 16:08:39 +01:00
Richard Davey
cbc0ac5a7a
Create a batch if empty
2022-10-07 12:47:04 +01:00
Richard Davey
f4a248e575
Debugging while testing texture batching
2022-10-07 01:37:37 +01:00
Richard Davey
e2187086ce
Merged batch code in
2022-10-07 01:37:17 +01:00
Richard Davey
e18c7fe6c9
New shaders
2022-10-07 01:36:58 +01:00
Richard Davey
3f4ebf5dd7
Update WebGLRenderer.js
2022-10-06 18:35:04 +01:00
Richard Davey
f0d3588f7b
Use batch system to avoid bufferSubData spamming - massively improves performance!
2022-10-05 00:59:04 +01:00
Richard Davey
08ee414ad5
Inline array add to stop branching
2022-10-05 00:58:33 +01:00
Richard Davey
010db3f2a3
Updated jsdocs
2022-10-04 18:27:19 +01:00
Richard Davey
ba8d25909f
Update PipelineManager.js
2022-10-04 18:27:11 +01:00
Richard Davey
03f09e2c10
Added setDefaultPipeline method
2022-10-04 18:20:17 +01:00
Richard Davey
3d3b675ae8
Pass over the config values
2022-10-04 18:04:26 +01:00
Richard Davey
64972f8456
Added default pipeline and mobile swap
2022-10-04 18:04:18 +01:00
Richard Davey
20485e1aa2
Added MobilePipeline
2022-10-04 17:08:48 +01:00
Richard Davey
554ef91353
Correct docs
2022-10-04 14:49:26 +01:00