Commit graph

17703 commits

Author SHA1 Message Date
Richard Davey
4db20ffa9e Allow a DynamicTexture to be used as a BitmapMask 2022-10-03 23:15:53 +01:00
Richard Davey
c2869d2eb6 Scale 1 2022-10-03 23:15:40 +01:00
Richard Davey
c71846038a Update CHANGELOG-v3.60.md 2022-10-03 22:13:28 +01:00
Richard Davey
8bfc0b2eee The BitmapMask now registers itself with the Game Object Factory. This means you can do this.add.bitmapMask() from within a Scene, for easier creation. 2022-10-03 22:13:25 +01:00
Richard Davey
739b8c5b94 Update CHANGELOG-v3.60.md 2022-10-03 22:07:10 +01:00
Richard Davey
1a23b31947 Remove swap and rename method 2022-10-03 22:07:07 +01:00
Richard Davey
b52a730f9b Rename function 2022-10-03 22:06:58 +01:00
Richard Davey
17f2d7e072 Update Mask.js 2022-10-03 22:06:16 +01:00
Richard Davey
0385f34e00 Create Image object directly 2022-10-03 22:06:12 +01:00
Richard Davey
416aa053da Swap to using RenderTarget, much cleaner 2022-10-03 21:09:15 +01:00
Richard Davey
a563b49877 Put missing return back in 2022-10-03 20:23:24 +01:00
Richard Davey
2fbd24b4bf Update CHANGELOG-v3.60.md 2022-10-03 18:50:52 +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
95cd4f294d Camera is for textures only 2022-10-03 18:50:09 +01:00
Richard Davey
b327f39c5e Bitmap Mask updates
* The `WebGLRenderer` has 4 new properties: `maskTargetFramebuffer`, `maskSourceFramebuffer`, `maskTargetTexture` and `maskSourceTexture`. These are the new global locations of the mask framebuffers.
* `WebGLRenderer.createBitmapMask` is a new method that internally creates the Bitmap Mask framebuffers.
* `WebGLRenderer.clearBitmapMask` is a new method that internally clears the existing Bitmap Mask framebuffers, called as part of a resize event.
* `WebGLRenderer.enableBitmapMask` is a new method that starts the process of using the mask target framebuffer for drawing. This is called by the `BitmapMaskPipeline`.
* `WebGLRenderer.drawBitmapMask` is a new method that completes the process of rendering using the mask target framebuffer. This is called by the `BitmapMaskPipeline`.
2022-10-03 18:49:55 +01:00
Richard Davey
fb88b6639d Removed fbos and textures, all now managed by the WebGL Renderer. 2022-10-03 18:46:53 +01:00
Richard Davey
d9a2c052d8 No longer requires the Scene argument 2022-10-03 18:30:11 +01:00
Richard Davey
0ac67e04a7 Update CHANGELOG-v3.60.md 2022-10-03 15:49:49 +01:00
Richard Davey
62769d78ce Camera.isSceneCamera is a new boolean that controls if the Camera belongs to a Scene (the default), or a Texture. You can set this via the Camera.setScene method. Once set the Camera.updateSystem method is skipped, preventing the WebGL Renderer from setting a scissor every frame. 2022-10-03 15:49:40 +01:00
Richard Davey
308267267a Update README.md 2022-10-03 15:07:01 +01:00
Richard Davey
bf8ec50fe1 Remove use of 'len' for iOS test 2022-10-03 14:42:33 +01:00
Richard Davey
dcb1c8a9dd Allowing custom resolution for mask shader 2022-09-29 23:35:06 +01:00
Richard Davey
7a69937170 Update CHANGELOG-v3.60.md 2022-09-29 22:11:21 +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
f136a796fa * Camera.preRender will now apply Math.floor instead of Math.round to the values, keeping it consistent with the Renderer when following a sprite. 2022-09-29 22:10:29 +01:00
Richard Davey
e2c9838896 Update StampConfig.js 2022-09-29 18:51:31 +01:00
Richard Davey
9ba74e9f8c Added scale, blendMode and erase support 2022-09-29 18:51:27 +01:00
Richard Davey
18ec3db0ef Update BlendMode.js 2022-09-29 18:51:16 +01:00
Richard Davey
f7196a07c2 Added stamp method docs and swap to using config object 2022-09-29 17:42:52 +01:00
Richard Davey
4b14d3d6c6 Create StampConfig.js 2022-09-29 17:42:40 +01:00
Richard Davey
cf5ef43932 Update CHANGELOG-v3.60.md 2022-09-29 17:20:09 +01:00
Richard Davey
476d117bf9 TransformMatrix.multiply now directly updates the Float32Array, leading to 6 less getter invocations.
`TransformMatrix.setQuad` is a new method that will perform the 8 calculations required to create the vertice positions from the matrix and the given values. The result is stored in the new `TransformMatrix.quad` Float32Array, which is also returned from this method.
2022-09-29 17:20:05 +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
519aed9f4a Update Camera.js 2022-09-29 16:46:30 +01:00
Richard Davey
64ee29252d Update CHANGELOG-v3.60.md 2022-09-29 15:02:04 +01:00
Richard Davey
fba997d75e If you create a repeating or looping TimerEvent with a delay of zero it will now throw a runtime error as it would lead to an infinite loop. Fix #6225 2022-09-29 15:02:02 +01:00
Richard Davey
47db3fe2f6 Update CHANGELOG-v3.60.md 2022-09-29 14:56:34 +01:00
Richard Davey
e86c78dd1e lint fix 2022-09-29 14:56:31 +01:00
Richard Davey
3438370b50 Update CHANGELOG-v3.60.md 2022-09-29 14:54:39 +01:00
Richard Davey
9aa1e0c2a9
Merge pull request #6216 from JernejHabjan/visible-children-performance
Improve visible children performance
2022-09-29 14:54:16 +01:00
Richard Davey
b2d47b11c1
Merge pull request #6214 from rexrainbow/getviewport-with-camera
Get viewport under a camera
2022-09-29 14:40:08 +01:00
Richard Davey
347413afb1
Merge pull request #6227 from EmilSV/tween-fixes
Tween fixes
2022-09-29 14:36:26 +01:00
Richard Davey
70da8df4a1
Merge pull request #6228 from EmilSV/tween-seek-fix
Tween seek use less then instead of less or equal
2022-09-29 14:35:50 +01:00
Richard Davey
3528354a4b Added handy 'stamp' method 2022-09-28 22:43:29 +01:00
Richard Davey
064a1e0f4f Added resetStamp 2022-09-28 22:43:20 +01:00
Richard Davey
0d951029b6 No need for 'this.frame' 2022-09-28 20:57:50 +01:00
Richard Davey
a60660a474 Create on READY 2022-09-28 20:57:42 +01:00
Richard Davey
87ad2b37e2 Update CHANGELOG-v3.60.md 2022-09-28 20:34:37 +01:00
Richard Davey
e3503ef8b4 All of the following Texture Manager methods will now allow you to pass in a Phaser Texture as the source parameter: addSpriteSheet, addAtlas, addAtlasJSONArray, addAtlasJSONHash, addAtlasXML and addAtlasUnity. This allows you to add sprite sheet or atlas data to existing textures, or textures that came from external sources, such as SVG files, canvas elements or Dynamic Textures. 2022-09-28 20:34:34 +01:00
Richard Davey
8bfe54287a Updated documentation 2022-09-28 19:53:59 +01:00