Richard Davey
56a1af3c05
Updated RenderTexture to just be an Image backed by a DynamicTexture
2022-10-04 14:49:47 +01:00
Richard Davey
554ef91353
Correct docs
2022-10-04 14:49:26 +01:00
Richard Davey
e774987897
Removed unused code
2022-10-04 14:49:19 +01:00
Richard Davey
6f68e075ba
Update DynamicTexture.js
2022-10-04 14:49:10 +01:00
Richard Davey
1316c09d1c
Merge branch 'master' of https://github.com/photonstorm/phaser
2022-10-04 13:17:44 +01:00
Richard Davey
d9a30e6c52
Remove unused shaders
2022-10-04 13:17:33 +01:00
arbassic
58cf547d47
fix: use webgl 1 pattern to always use best precision available
2022-10-04 01:11:10 +02:00
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
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
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
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
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
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
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
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
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
e86c78dd1e
lint fix
2022-09-29 14:56:31 +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
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
Richard Davey
676f0db838
Added Stamp
2022-09-28 19:53:49 +01:00
Richard Davey
0e57db40d4
Improved docs
2022-09-28 19:09:35 +01:00
Richard Davey
f9ecb2461b
Update DynamicTexture.js
2022-09-28 17:51:09 +01:00
Richard Davey
d64878736f
Testing out the new DynamicTexture
2022-09-27 23:39:23 +01:00
Richard Davey
d3de5ef1e4
SceneManager.systemScene` is a new property that is set during the game boot and is a system Scene reference that plugins and managers can use, that lives outside of the Scene list.
2022-09-27 23:39:04 +01:00
Richard Davey
3dff7f07d2
Tween needs to persist
2022-09-27 21:12:47 +01:00
Richard Davey
951006bf8f
Create NineSlice.js
2022-09-27 18:42:50 +01:00
Richard Davey
62f3315b1c
Trying DynamicTexture (to replace RenderTexture)
2022-09-27 18:42:46 +01:00
Richard Davey
b13232c211
Moved nineslice out, use multi pipeline and make snapshot functions smaller
2022-09-27 16:59:01 +01:00
Richard Davey
35bae05603
Allow negative offsets
2022-09-27 13:29:34 +01:00
Richard Davey
e15f2414d6
Update TextureManager.js
2022-09-26 23:18:12 +01:00
Richard Davey
90ad29e958
Renamed frameFill to repeat and made it a lot more flexible.
...
Added resetStamp and removed un-used methods.
2022-09-26 23:18:07 +01:00
Richard Davey
9ca7513b14
Use Tween.callbackScope fix #6229
2022-09-26 21:42:24 +01:00
Richard Davey
291f3049e6
RenderTexture.isDrawing
is a new read-only flag that tells if the Render Texture is currently batch drawing, or not.
2022-09-26 18:32:31 +01:00
Richard Davey
3d3db60331
Fixed repeating methods
2022-09-26 18:06:28 +01:00
Richard Davey
af66164302
Testing 9-slice
2022-09-26 18:00:15 +01:00
Richard Davey
1283ca8198
The TextureManager.get
methof can now accept a Frame
instance as its parameter, which will return the frames parent Texture.
2022-09-26 17:18:04 +01:00
Richard Davey
ff4d7084d9
Update IsPlainObject.js
2022-09-26 17:15:45 +01:00
Richard Davey
3d0d2b4d94
The GameObject#setFrame
method can now accept a Frame
instance as its parameter, which will also automatically update the Texture the Game Object is using.
2022-09-26 17:15:34 +01:00
Richard Davey
25ab9f329d
TextureManager.parseFrame
is a new method that will return a Texture Frame instance from the given argument, which can be a string, array, object or Texture instance.
2022-09-26 15:28:41 +01:00
Richard Davey
5320402a07
The endFrame
and startFrame
properties of the SpriteSheet
parser wouldn't correctly apply themselves, the Texture would still end up with all of the frames. It will now start at the given startFrame
so that is frame zero and end at endFrame
, regardless how many other frames are in the sheet.
2022-09-24 21:35:58 +01:00
Emil Schnedler Vad
340f9d29a1
made seek use less then instead of less or equal
2022-09-23 22:00:30 +02:00
Emil Schnedler Vad
f07042cbc4
BaseTween and TweenChain available from Phaser.Tweens
2022-09-23 20:53:51 +02:00
Emil Schnedler Vad
169faa6b96
made tweenManager# chain use TweenChainBuilderConfig
2022-09-23 13:07:16 +02: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
a135271f19
Use new uLightCount uniform
2022-09-23 00:41:47 +01:00
Richard Davey
b789742636
Update Utils.js
2022-09-22 14:55:29 +01:00
Richard Davey
9d43583a63
This shader is just better. More crappy iOS testing needed though.
2022-09-21 23:13:04 +01:00
Richard Davey
023343c789
All events have a type of string. Fix #6136
2022-09-21 22:01:03 +01:00
Richard Davey
10fe5db0a6
Fixed jsdocs
...
Fix #6195
2022-09-21 21:10:52 +01:00
Richard Davey
71703ff19c
GameConfig.stableSort
is a new optional property that will control if the internal depth sorting routine uses our own StableSort function, or the built-in browser Array.sort one. Only modern browsers have a _stable_ Array.sort implementation, which Phaser requires. Older ones need to use our function instead. Set to 1 to use the legacy version, 0 to use the ES2019 version or -1 to have Phaser try and detect which is best for the browser
...
Ref #6217
2022-09-21 17:52:57 +01:00
Richard Davey
cf397b7c13
Added missing safariVersion and new es2019 test
2022-09-21 17:35:47 +01:00
Richard Davey
7c9d6a180b
Testing native stable sort
2022-09-21 16:34:08 +01:00
Richard Davey
17415902ab
The Texture.destroy
method will only destroy sources, dataSources and frames if they exist, protecting against previously destroyed instances.
2022-09-21 14:06:58 +01:00
Richard Davey
4dcf3b1622
Getting ready for Beta 11
2022-09-20 23:23:26 +01:00
Richard Davey
6fe41a4845
Fix path
2022-09-20 22:24:27 +01:00
Richard Davey
06b1adca14
Lint fix
2022-09-20 22:23:09 +01:00
Richard Davey
6c70869ea4
Lots of jsdoc / TS fixes
2022-09-20 22:17:21 +01:00
Richard Davey
c5610630a1
Lots of jsdoc fixes and Tween State updates
2022-09-20 18:44:44 +01:00
Richard Davey
2834dba8d0
jsdoc fixes
2022-09-20 17:36:31 +01:00
Richard Davey
a4d7c6d680
Fixed destroy
2022-09-20 16:39:01 +01:00
Richard Davey
ded399e727
Call addFrame
2022-09-20 13:09:01 +01:00
Richard Davey
e42c814af8
Corrected jsdocs
2022-09-20 13:08:53 +01:00
Richard Davey
009ad199bf
Updated to use the new BaseTweenData to avoid duplicate props and methods
2022-09-20 12:40:28 +01:00
Richard Davey
e2389927ea
Create BaseTweenData.js
2022-09-20 12:40:15 +01:00
Richard Davey
6e0566ced4
Fixed target getting bug
2022-09-19 23:24:23 +01:00
Richard Davey
c6338aab5f
Merge branch 'master' of https://github.com/photonstorm/phaser
2022-09-19 22:52:44 +01:00
Richard Davey
09b7901380
Supports making TweenFrameData
2022-09-19 22:52:39 +01:00
Richard Davey
9b70d1c998
Added addFrameData
method
2022-09-19 22:52:26 +01:00
Richard Davey
ff8d86c516
Force yoyo for repeat (or it all looks wrong)
2022-09-19 22:52:15 +01:00
samme
cfb92c6957
Give TilemapLayer origin (0, 0)
2022-09-19 08:33:33 -07:00
Richard Davey
ef5f40c1b8
Support TweenFrameData
2022-09-16 18:53:47 +01:00
Richard Davey
4e40a6941a
Create TweenFrameData.js
2022-09-16 18:53:35 +01:00
Richard Davey
f7583926cc
t1 and t2 don't need to be properties
2022-09-16 18:53:30 +01:00