Commit graph

426 commits

Author SHA1 Message Date
Richard Davey
468bf7821d Updated copyright year 2023-01-02 17:36:27 +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
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
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
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
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
c9e37ed373 Remove calls to resetTextures 2022-10-07 16:09:23 +01:00
Richard Davey
e18c7fe6c9 New shaders 2022-10-07 01:36:58 +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
010db3f2a3 Updated jsdocs 2022-10-04 18:27:19 +01:00
Richard Davey
20485e1aa2 Added MobilePipeline 2022-10-04 17:08:48 +01:00
Richard Davey
b52a730f9b Rename function 2022-10-03 22:06:58 +01:00
Richard Davey
eba9254e1a The BitmapMaskPipeline now hands over most control of the framebuffers to the WebGLRenderer. 2022-10-03 18:50:48 +01:00
Richard Davey
dcb1c8a9dd Allowing custom resolution for mask shader 2022-09-29 23:35:06 +01:00
Richard Davey
3abea4286f When rendering a Sprite with a Camera set to roundPixels it will now run Math.floor on the Matrix position, preventing you from noticing 'jitters' as much when Camera following sprites in heavily zoomed Camera systems. 2022-09-29 22:11:02 +01:00
Richard Davey
2e870a0a2c Previously, the Multi Tint methods batchSprite, batchTexture, batchTextureFrame and batchFillRect would all make heavy use of the TransformMatrix.getXRound and getYRound methods, which in turn called getX and getY and applied optional rounding to them. This is all now handled by one single function (setQuad) with no branching, meaning rendering one single sprite has cut down 16 function calls and 48 getters to just 1 function. 2022-09-29 17:17:24 +01:00
Richard Davey
ab04cb6c05 Lots of LightPipeline improvements
* The Light Pipeline no longer creates up to `maxLights` copies of the Light shader on boot. Previously it would then pick which shader to use, based on the number of visible lights in the Scene. Now, the number of lights is passed to the shader and branches accordingly. This means rather than compiling _n_ shaders on boot, it now only ever needs to create one.
* You can now have no lights in a Scene, but the Scene will still be impacted by the ambient light. Previously, you always needed at least 1 light to trigger ambient light (thanks jstnldrs)
* The `Light.frag` shader now uses a new `uLightCount` uniform to know when to stop iterating through the max lights.
* The `LightPipeline.LIGHT_COUNT` constant has been removed as it's not used internally.
* The `LightPipeline` previous created a global level temporary vec2 for calculations. This is now part of the class as the new `tempVec2` property.
2022-09-23 00:42:04 +01:00
Richard Davey
f09ec762ee Removed Graphics Pipeline
The WebGL Graphics Pipeline has been removed. This pipeline wasn't used in v3.55, as all Graphics rendering is handled by the MultiTint pipeline, for better batching support. No Phaser Game Objects use the Graphics pipeline any longer, so to save space it has been removed and is no longer installed by the Pipeline Manager.
2022-07-12 13:39:51 +01:00
Richard Davey
aa2dda09e2 UtilityPipeline.blitFrame has a new optional boolean parameter flipY which, if set, will invert the source Render Target while drawing it to the destination Render Target. 2022-05-30 18:25:21 +01:00
Richard Davey
59fbcc5ca3 Updated copyright year 2022-02-28 14:29:51 +00:00
Richard Davey
c8d3a20754 Updated Multi Pipeline shader so it no longer smacks Safari's arse. 2022-02-03 23:12:15 +00:00
Richard Davey
95d7dc71b2 Update SpriteFXPipeline.js 2021-11-02 17:05:23 +00:00
Richard Davey
c94719e0b8 Added alt swap frame 2021-10-28 01:19:52 +01:00
Richard Davey
9980c35c3e Update SpriteFXPipeline.js 2021-10-27 17:21:55 +01:00
Richard Davey
29ada646e0 Updated docs 2021-10-26 00:04:37 +01:00
Richard Davey
55ef37b6fb Removed spriteData, added destroy, tidied up docs 2021-10-21 18:38:15 +01:00
Richard Davey
0020f03ead Fixed Sprite FX targetBounds 2021-10-20 17:02:37 +01:00
Richard Davey
143d63dcb0 Debugging 2021-10-20 12:37:05 +01:00
Richard Davey
9e38e37d6f Removed RenderTargets (moved to PM) and flipped projection matrix 2021-10-19 22:48:02 +01:00
Richard Davey
5fb2604292 Removed flip verts 2021-10-19 22:47:34 +01:00
Richard Davey
ef4d5d94bb New fsTarget copySubTex approach (faster) 2021-10-19 18:43:15 +01:00
Richard Davey
c6ac6125c9 Update MultiPipeline.js 2021-10-19 18:42:58 +01:00
Richard Davey
b434c3b4f8 Fixed jsdocs 2021-10-18 17:54:25 +01:00
Richard Davey
347b6db490 Added altFrame option and calculations + handy utility functions 2021-10-18 17:49:09 +01:00
Richard Davey
d4edcbd8ca Set default vert shader 2021-10-18 16:01:53 +01:00
Richard Davey
ba0a52e386 Update SpriteFXPipeline.js 2021-10-16 15:30:03 +01:00
Richard Davey
638fd113b5 Flip the Y on textures 2021-10-16 15:23:33 +01:00
Richard Davey
5e509bd72b Removed 'drawToFrame' (it's the only option) and added 'batchTexture' 2021-10-16 15:08:58 +01:00
Richard Davey
acc9f07e5c Fixed data and alpha value 2021-10-15 18:45:23 +01:00
Richard Davey
fd1ab765a3 Full JSDocs and tidied up all the methods 2021-10-15 18:39:10 +01:00
Richard Davey
efa8c8b5a5 Fixed verts and called onFX 2021-10-15 00:59:04 +01:00