Commit graph

2814 commits

Author SHA1 Message Date
Matt Jennings
72fd48abc4 safely check for renderer in TileSprite 2021-02-11 16:00:24 -06:00
Richard Davey
b40010b86b Fixed JSDocs 2021-02-04 16:27:02 +00:00
Richard Davey
aaf51dc7ce The LightsManager.addPointlight method now has full JSDocs and the attenuation parameter. 2021-02-04 16:19:19 +00:00
Richard Davey
79468de255 ESLint fix 2021-02-04 16:11:09 +00:00
samme
a8e05cec3e Add Phaser.GameObjects.Shape#setDisplaySize() 2021-01-30 09:33:21 -08:00
Rex
ee16c63987 Fix parameter name bug 2021-01-29 09:32:45 +08:00
Rex
7f610eef98 Fix input bug 2021-01-21 11:13:33 +08:00
Richard Davey
332d9c85cb BlitterWebGLRenderer was calling an out-dated function setRenderDepth instead of addToRenderList 2021-01-14 17:09:04 +00:00
Endel Dreyer
1919bbdfb8
allow to customize pointerEvents for dom elements 2021-01-14 10:54:29 -03:00
Richard Davey
9116eddf99 Some Bitmap Text fonts were not rendering under Canvas due to the way in which the texture offset was calculated. It now uses the __BASE frame to get the texture offset, rather than the first frame in the set. Fix #5462 #5501 2021-01-14 11:06:04 +00:00
Andrew Cunningham
724c2f59d5
Update Mesh.js documentation around panZ
This adds warnings about orthographic and perspective cameras, documents setOrtho & panZ with sane (ish) default values for the default projection matrix, and updates the example code in the file.

These changes could go further; I would love it if the default mechanisms "agreed" (so that feeding it z=0 vertex values "just worked"), but that's probably a difficult backwards facing change.

Inspired by https://github.com/photonstorm/phaser/issues/5380 .
2021-01-12 14:28:52 -05:00
Richard Davey
15908ce271 getPostPipeline will now return an array of them all if there is more than one instance 2021-01-11 17:17:00 +00:00
Richard Davey
1c8662dc1f Call addToRenderList 2021-01-07 14:52:08 +00:00
Richard Davey
00d8b6a009 Invoke camera.addToRenderList method 2021-01-07 12:31:31 +00:00
Richard Davey
3db77c7a10 Use Scene Display List if not available 2021-01-07 12:22:09 +00:00
Richard Davey
c124d4c0a6
Merge pull request #5467 from rexrainbow/improve-postfx-pipeline
Remove a type of Post Pipeline instances, not only a single instance
2021-01-04 16:14:48 +00:00
Richard Davey
a19e4770df The Layer Game Object has been given all of the missing properties and methods from Game Object to make the class shapes identical. This includes the properties parentContainer, tabIndex, input and body. You cannot set any of these properties, they are ignored by the Layer itself. It also includes the methods: setInteractive, disableInteractive and removeInteractive. A Layer cannot be enabled for input or have a physics body. Fix #5459 2021-01-04 16:11:33 +00:00
Richard Davey
5457e463b1 Use displayList.getIndex 2021-01-04 12:43:34 +00:00
Richard Davey
2a38e78bb4 Layer.destroy will now call destroy on all of its children as well. Layer.destroy will now emit the DESTROY event at the start of the method. Fix #5466 2021-01-04 11:59:00 +00:00
Richard Davey
1b0649ed34 Fixed issue causing Cannot read property 'pipelines' of null to be thrown if using 3.50 with the HEADLESS renderer. Fix #5468 2021-01-04 11:22:00 +00:00
Rex
60c42016b6 Remove a type of Post Pipeline instances, not only a single instance 2020-12-25 17:05:50 +08:00
Richard Davey
3e9350ed05 Added JSDocs 2020-12-14 14:07:57 +00:00
Richard Davey
4fb03907ba Stricter removal 2020-12-14 13:50:44 +00:00
Richard Davey
cbe1a3219a JSDoc improvements 2020-12-14 13:33:42 +00:00
Richard Davey
e08b5386dd Removed follow from render code 2020-12-14 11:51:16 +00:00
Richard Davey
7ff4c5958b Fire particle from follower position. Fix #5437 2020-12-14 11:46:19 +00:00
Richard Davey
f5376b20a4 BitmapText Drop Shadow working. Fix #5446 2020-12-14 09:34:32 +00:00
Richard Davey
0cd192eec8 Swapped for Color component. Fix #5435 2020-12-11 15:56:21 +00:00
Richard Davey
1a65f50a25 Added new renderDirect hook which RenderTexture can use. Fix #5431 2020-12-11 13:40:53 +00:00
Richard Davey
9412a93fdb Remove log 2020-12-11 11:46:28 +00:00
Richard Davey
59e89fa788 All Game Objects will now listen for ADDED_TO_SCENE and REMOVED_FROM_SCENE events and call the handlers. Therefore, removed GO specific implementations. 2020-12-11 11:44:21 +00:00
Richard Davey
32440cb238 Defaults to renderer aspect ratio to help with issues like #5444 2020-12-11 11:05:47 +00:00
Richard Davey
1857c3f2da Send dimensions and reset scissors 2020-12-10 18:07:41 +00:00
Patrick Sletvold
d327a4da34
Add Config types for ParticleEmitterManager and Mesh 2020-12-10 11:40:01 +01:00
Patrick Sletvold
f1836738a0
Merge remote-tracking branch 'origin/master' into Fix_object_types 2020-12-10 11:23:35 +01:00
Richard Davey
73a0c9d2ce Remove unused code 2020-12-09 18:04:53 +00:00
Richard Davey
e03c514b03 Fixed WebGL erase mode 2020-12-09 15:55:11 +00:00
Richard Davey
16d4d11939 Final fixes to blitFrame 2020-12-09 15:20:09 +00:00
Richard Davey
1cb6d525be New blitFrame working. Now to adjust when src > target height. 2020-12-09 14:08:24 +00:00
Richard Davey
827851d02c Update RenderTexture.js 2020-12-08 17:54:37 +00:00
Richard Davey
0c4eec0fd9 Now using new Render Target approach (texture blend still need to be added) 2020-12-08 17:38:42 +00:00
Richard Davey
f18d615b40 Update SpriteWebGLRenderer.js 2020-12-08 16:15:16 +00:00
Richard Davey
3154bf2e6f Update Container.js 2020-12-07 13:11:49 +00:00
Richard Davey
79d252589f Update Rope.js 2020-12-07 13:09:45 +00:00
Richard Davey
d6d5c09552 The Shader Game Object now supports being able to use a Render Texture as a sampler2D texture on the shader. Fix #5423 2020-12-07 12:19:42 +00:00
Richard Davey
15a6f50d2c Fixed functions not appearing in the namespace. Fix #5432 2020-12-07 10:11:47 +00:00
Richard Davey
08b304372c Made the Render Events global, not WebGL specific and allowed Canvas Renderer to emit them too 2020-12-04 15:07:26 +00:00
Richard Davey
a7f246a241 Swap queue order 2020-12-04 12:55:26 +00:00
Richard Davey
e0ae7ef14e Update TransformMatrix.js 2020-12-04 12:00:31 +00:00
Richard Davey
edc076674e New Resize handler. Fix #5412 2020-12-04 11:59:47 +00:00
Richard Davey
4d872e2e9d RenderTexture.erase has never worked when using the Canvas Renderer and a texture frame, only with Game Objects. It now works with both. Fix #5422 2020-12-03 15:46:26 +00:00
Richard Davey
6bb6ff8ef4 Updated JSDocs to clarify issue. Fix #4692 2020-12-03 15:14:34 +00:00
Richard Davey
38b6d83462 Fixed Canvas Alpha RenderTexture issue. Fix #5426 2020-12-03 14:48:21 +00:00
Richard Davey
8ff62d40af Moved event emitter. Fix #5427 2020-12-03 14:34:32 +00:00
Richard Davey
0d6d7848cd No need for dirty property 2020-12-03 14:31:54 +00:00
Richard Davey
103b91a69d Add attenuation parameter and fixed color divisor 2020-12-03 12:52:36 +00:00
Richard Davey
8174ec2daf Fixed light distance and max test 2020-12-03 11:11:41 +00:00
Richard Davey
732b188691 Removed light pool, used RGB object, much better light culling. 2020-12-02 17:57:12 +00:00
Richard Davey
97fd175e73 Extends Circle, because it is! Removed loads of pointless setters. 2020-12-02 17:56:53 +00:00
Richard Davey
639b9bfc84 Added beginDraw, batchDraw, batchDrawFrame and endDraw methods for full batch control over the drawing. 2020-12-02 16:07:58 +00:00
Richard Davey
35146e72ed Removed Light Layer and moved Point Light to its own Game Object 2020-12-02 13:48:38 +00:00
Richard Davey
375d6fa196 Updated docs 2020-12-02 13:15:27 +00:00
Richard Davey
361704f048 Only reset post pipeline if it has one. Fix #5421 2020-12-02 12:23:59 +00:00
Richard Davey
9f8f76c690 Removed unused property 2020-12-02 12:23:40 +00:00
Richard Davey
1868a749cb Enable Lights Plugin again 2020-12-02 11:11:34 +00:00
Richard Davey
e29626ab2c Testing Light Layer 2020-12-01 17:24:30 +00:00
Richard Davey
ce6a81c97d Updated JSDocs 2020-12-01 17:23:53 +00:00
Richard Davey
c1bf08de70 New Point Light class 2020-12-01 17:23:42 +00:00
Richard Davey
35829bcf0d Added removePostPipeline. Fix #5419 2020-11-30 10:07:41 +00:00
Richard Davey
15b47e6a54 Testing new Light Layer 2020-11-30 09:46:28 +00:00
Rex
cdfee008ec Typo 2020-11-29 20:29:38 +08:00
Richard Davey
41a0c192a4 Fix #5413 2020-11-28 15:42:23 +00:00
Richard Davey
6dd40df318 Update LayerCreator.js 2020-11-27 15:14:10 +00:00
Richard Davey
3ec63c6dec Only remove from displayList if set. Fix #5413 2020-11-27 15:14:04 +00:00
Richard Davey
e96cbde8d6 Added new displayList property and Layer documentation 2020-11-27 11:13:59 +00:00
Richard Davey
aa06070644 Added the new Layer Game Object 2020-11-26 16:21:21 +00:00
Richard Davey
fdae90089c Use the new depthList property 2020-11-26 16:21:09 +00:00
Richard Davey
e5f9066072 GameObjects.Components.Depth.depthList is a new property that all Game Objects that have the Depth Component now have. It contains a reference to the List responsible for managing the depth sorting of the Game Object. This is typically the Scene Display List, but can also be a Layer. It allows the Depth component to queue a depth sort directly on the list it belongs to now, rather than just the Scene. 2020-11-26 16:20:54 +00:00
Richard Davey
a2f0a815d6 Reset textures before draw 2020-11-26 14:20:01 +00:00
Richard Davey
c8cdf9fde2 Fixed Render Texture crop 2020-11-26 11:28:25 +00:00
Richard Davey
0ee1338765 Better post pipeline call (less code) 2020-11-26 09:51:40 +00:00
Richard Davey
09c49ac288 Fixed emitter mask pipeline 2020-11-24 14:52:57 +00:00
Richard Davey
d2e2e86ef1 Updated accessor 2020-11-23 16:22:11 +00:00
Richard Davey
2e4cfde102 Updated post pipeline 2020-11-23 16:18:30 +00:00
Richard Davey
ec5da6930c Added post pipeline support to all Game Objects 2020-11-23 16:17:13 +00:00
Richard Davey
28d925b875 JSDoc fixes 2020-11-23 15:06:45 +00:00
Richard Davey
417f7684c3 More integer to number changes 2020-11-23 10:32:00 +00:00
Richard Davey
3f511a73cd Replace integer[] with number[] 2020-11-23 10:23:10 +00:00
Richard Davey
02c34cd64e Replace integer with number 2020-11-23 10:22:13 +00:00
Richard Davey
5ca5a63038 Testing new Lights 2020-11-23 10:19:31 +00:00
Richard Davey
30c2eb5d0e Ability to link Post Pipeline to owner object 2020-11-20 17:29:42 +00:00
Richard Davey
78b75efb8c JSDoc fix 2020-11-20 16:03:03 +00:00
Richard Davey
df3b7d5f79 JSDoc fixes 2020-11-20 15:47:35 +00:00
Richard Davey
ebf6b254dd Fixed JSDocs 2020-11-20 15:31:43 +00:00
Richard Davey
b64f2cc4d0 Added ability to skip post pipeline per object 2020-11-20 15:18:19 +00:00
Richard Davey
e7b85b08af Fixed batchLight 2020-11-20 13:05:32 +00:00
Richard Davey
c603db23ce Fix docs and lint errors #5374 2020-11-20 11:43:45 +00:00
Richard Davey
5233366190
Merge pull request #5374 from pirateksh/patch-2
Added loadMediaStream method
2020-11-20 11:41:10 +00:00
Richard Davey
401487d4b1
Merge pull request #5367 from rexrainbow/bugfix-text.basicWordWrap
Don't add white space when measure last word of a line
2020-11-20 11:37:21 +00:00
Richard Davey
299e105f6e Update RenderTexture.js 2020-11-20 10:05:33 +00:00
Richard Davey
951b284c6e Fixed RenderTexture.fill 2020-11-20 10:05:19 +00:00
Richard Davey
e2f7ca40b2 Fixed camera zoom and origin. draw and drawFrame work now. 2020-11-19 23:04:25 +00:00
Richard Davey
c33a5598ab Trying to align drawFrame 2020-11-19 18:16:18 +00:00
Richard Davey
500d33f6b9 Set camera zoom 2020-11-19 18:07:33 +00:00
Richard Davey
91924be2ee Update RenderTextureWebGLRenderer.js 2020-11-19 16:40:35 +00:00
Richard Davey
7562683cfb Lots of tiny fixes and updates 2020-11-19 16:40:31 +00:00
Richard Davey
216f74bb58 Use Single Pipeline and force texture refresh 2020-11-19 11:43:55 +00:00
Richard Davey
d848a5e2ba Now using new Render Target. Removed lots of out-dated properties and tidied up methods. 2020-11-19 11:38:09 +00:00
Richard Davey
7ad580dd29 Using new Render Target 2020-11-19 11:37:49 +00:00
Richard Davey
e36a086e5d Updated data types 2020-11-17 16:50:36 +00:00
Richard Davey
00c7b1d79e Destroy on reset! 2020-11-17 16:34:52 +00:00
Richard Davey
782a841eeb Added getPostPipeline method 2020-11-17 16:19:40 +00:00
Richard Davey
0658820b79 Clear post pipelines 2020-11-17 16:19:30 +00:00
Richard Davey
26a1d0185a Update RenderTexture.js 2020-11-17 16:19:18 +00:00
Richard Davey
080677f28c Set on creation, not in the component 2020-11-17 14:08:09 +00:00
Richard Davey
dfabaac634 Allow Rope to have post-pipeline 2020-11-10 16:27:12 +00:00
Richard Davey
cccf9bb163 Fixed Rope 2020-11-10 16:17:28 +00:00
Richard Davey
f02325fff0
Merge pull request #5386 from PhaserEditor2D/patch-1
Updates geom, width and height of the Ellipse GO
2020-11-09 17:03:56 +00:00
Richard Davey
eee3feb667 Pass Game Object to batchQuad 2020-11-09 13:19:31 +00:00
Richard Davey
39b381d6cc Clearer responsibility via method parameters 2020-11-09 11:50:41 +00:00
Phaser Editor 2D
60541e861b
Updates geom, width and height of the Ellipse GO
Updates the `width`, `height`, and geometric position of the Ellipse in the `setSize()` method.

This code shows the wrong positioning of the Ellipse: https://codepen.io/phasereditor2d/pen/jOrvexM

To fix it, uncomment lines `21`, `24`, and `25`.
2020-11-07 11:25:30 -05:00
Richard Davey
06c90137c8 Empty parameter means reset pipeline 2020-11-06 15:35:18 +00:00
Richard Davey
d3c70002ea Removed use of _tempMatrix from all renderers 2020-11-06 09:44:29 +00:00
Richard Davey
19f3ae5a81 Testing RT mini refactor 2020-11-05 18:06:33 +00:00
Richard Davey
2b92e95735 Testing new RT draw 2020-11-05 18:06:23 +00:00
Richard Davey
fc84b19d3d Update MeshWebGLRenderer.js 2020-11-05 13:03:36 +00:00
Richard Davey
c65e516e94 Fixed shaders 2020-11-05 12:58:00 +00:00
Richard Davey
e29fc62a98 Handle pre and post pipelines 2020-11-05 10:19:15 +00:00
Richard Davey
fb47d2f9e8 Added Pipeline component 2020-11-05 10:18:53 +00:00
Richard Davey
a00e169400 Added all the handlers needed for the post pipeline feature 2020-11-04 18:00:50 +00:00
Richard Davey
26421bde82 Removed Graphics.setTexture and related commands as no longer supported 2020-11-03 11:47:42 +00:00
Richard Davey
6af80708d0 Fixed all of the Shape WebGL rendering issues 2020-11-03 11:22:30 +00:00
Richard Davey
e0295e8521 Make use of GetCalcMatrix and remove texture related stuff 2020-11-02 22:40:12 +00:00
Richard Davey
881019e55d No longer requires temp matrices 2020-11-02 22:39:42 +00:00
Richard Davey
47ec3d33c7 Remove texture setters 2020-11-02 16:20:22 +00:00
Richard Davey
bf7e7f352a Container can how set a pipeline that overrides all children 2020-10-29 17:22:16 +00:00
Richard Davey
ce69c22e86 Added new private forcePipeline property and pipeline methods 2020-10-29 17:22:04 +00:00
Richard Davey
60c834e2c8 Use the new Graphics Pipeline 2020-10-28 17:39:06 +00:00
Richard Davey
4ba2b0eb7b All swapped to using renderer matrices to make pipelines smaller 2020-10-28 16:52:59 +00:00
Richard Davey
4b3cc7145e Testing new pipelineData object. 2020-10-27 18:06:53 +00:00
Richard Davey
ba9b837739 You can now pass a pipeline instance to the GameObject.setPipeline method, as well as a string. 2020-10-27 14:05:37 +00:00
Richard Davey
d670edd708 No need to reference via game 2020-10-27 13:55:27 +00:00
Richard Davey
371425a5d2 Use new pipeline resize method 2020-10-26 14:04:55 +00:00
Richard Davey
af01b23696 JSDocs fix 2020-10-26 14:03:35 +00:00
Kshitiz Srivastava
4941ca3b64
Added loadMediaStream method 2020-10-25 01:24:55 +05:30
Richard Davey
6ed84e2f34 Added Mesh.ignoreDirtyCache flag. 2020-10-21 10:15:12 +01:00
Rex
34635c582e Don't add white space when measure last word 2020-10-20 14:52:20 +08:00
Richard Davey
8bb1151aca Fixed RenderTexture.fill rgb order. Fix #5364 2020-10-20 00:50:49 +01:00
Richard Davey
48d9eb6321 The GameObjects.Graphics.fillGradientStyle method can now accept a different alpha value for each of the fill colors. The default is still 1. If you only provide a single alpha, it'll be used for all colors. Fix #5044 2020-10-16 18:08:31 +01:00
Richard Davey
85a284d095 Particles.EmitterOp now cleanly separates between the different types of property configuration options. start | end will now ease between the two values, min | max will pick a random value between them and random: [] will pick a random element. They no longer get mixed together. Fix #3608 2020-10-16 17:52:59 +01:00
Richard Davey
1aaecbe703 Particles.EmitterOp.setMethods will now reset both onEmit and onUpdate to their default values. This allows you to reconfigure an emitter op with a new type of value and not have it stuck on the previous one. Fix #3663 2020-10-16 17:32:22 +01:00
Richard Davey
ae6112297a Default tint value should now be 0xffffff. Fix #5358 2020-10-15 12:19:17 +01:00
Richard Davey
0f87981f47 Improved docs 2020-10-15 11:07:22 +01:00
Richard Davey
f17743dadf Changed updateProjectionMatrix to setPerspective and added setOrtho counterpart 2020-10-14 16:32:29 +01:00
Richard Davey
cc167e158f Much better effect from the light shader 2020-10-14 11:57:58 +01:00
Richard Davey
b1a5ce7f55 Testing new batched lights 2020-10-13 18:17:30 +01:00
Richard Davey
61c0e1c499 Moved Text out of 'static' folder, as it doesn't need to be in there 2020-10-13 11:04:46 +01:00
Richard Davey
8708255948 Removed Layer3D Game Object and old MeshPipeline 2020-10-13 10:56:21 +01:00
Richard Davey
9d23735a23 Lint fix 2020-10-13 10:51:17 +01:00
Richard Davey
19f581327e Removed Animation component because it would reset the UV coords every frame, so makes things overly complex 2020-10-13 10:50:42 +01:00
Richard Davey
caa69b673d Better debug rendering 2020-10-09 14:57:07 +01:00
Richard Davey
65e4a7734a Updated docs 2020-10-09 12:07:37 +01:00
Richard Davey
abdd62dd57 Will no longer render Faces it cannot see in the Camera 2020-10-09 11:54:37 +01:00
Richard Davey
88feadb577 Fixed JSDocs, added totalRendered property. 2020-10-09 11:54:19 +01:00
Richard Davey
bf8cd60aab Added ability to rotate data on import 2020-10-08 15:53:13 +01:00
Richard Davey
af0a4dbd37 Updated Mesh to include new functions and docs 2020-10-08 13:24:23 +01:00
Richard Davey
e3f7048e22 Removed moved defs 2020-10-08 13:23:44 +01:00
Richard Davey
2e988801ce Made obj material parsing external 2020-10-08 10:45:03 +01:00
Richard Davey
324fa6a3b2 Removed MeshCamera, updated Mesh to focus on ortho projections 2020-10-07 22:27:04 +01:00
Richard Davey
8f67ffca5f Starting to add materials 2020-10-07 18:06:33 +01:00
Richard Davey
90824e1485 Removed normalMatrix 2020-10-07 18:06:22 +01:00
Richard Davey
dda4431366 Merged the Layer3D Game Object and pipeline back in for now 2020-10-07 17:44:36 +01:00
Richard Davey
75fd64ace7 Modified cam layout 2020-10-07 13:16:24 +01:00
Richard Davey
f6a0a8d96b Transform based on z value 2020-10-07 13:16:10 +01:00
Richard Davey
55d7b36217 Pass in the z value 2020-10-07 13:16:01 +01:00
Richard Davey
8ff78ef08a Fixed addVerts face addition 2020-10-07 12:45:31 +01:00
Richard Davey
caf545d042 Added position, rotation and scale vectors, caching and removed old methods 2020-10-07 12:04:46 +01:00
Richard Davey
7a0b056fef Trying out MeshCamera 2020-10-06 18:05:14 +01:00
Richard Davey
4b7c344497 Added parseOBJMaterial method and set default texture to __WHITE 2020-10-06 16:00:22 +01:00
Richard Davey
dff414fe82 Added Grid Config typedefs 2020-10-06 13:47:49 +01:00
Richard Davey
1f1edd3742 addGrid now takes config object and works with texture frames, with or without repeating 2020-10-06 13:42:44 +01:00
Richard Davey
440c33deb8 Use config object 2020-10-06 11:11:28 +01:00
Richard Davey
7287a760ae Added ParseOBJ type defs 2020-10-06 10:38:21 +01:00
Richard Davey
816c45937d Removed the Quad Game Object. Mesh can do it better now. 2020-10-06 10:16:46 +01:00
Richard Davey
a0020b2ad4 Fixed paths and addGrid 2020-10-05 17:40:42 +01:00
Richard Davey
b774df9426 More documentation 2020-10-05 17:25:24 +01:00
Richard Davey
57974c120a Updated docs 2020-10-05 17:12:18 +01:00
Richard Davey
7aaf77a2c6 Merged the Mesh Game Object back in 2020-10-05 16:52:01 +01:00
Richard Davey
8091f09c10 Don't set OutlineStyle if undefined 2020-10-05 13:53:11 +01:00
Richard Davey
2b99623cdc Group now extends EventEmitter, allowing you to emit custom events from within a Group. 2020-10-03 10:05:38 +01:00
Patrick Sletvold
c1d63d32dd
Add Config typedefs for a bunch of GO Creators 2020-10-03 10:40:24 +02:00
Richard Davey
3baecb19d4 Moved old mesh pipeline and code into own folder 2020-10-01 17:56:49 +01:00
Richard Davey
1907bda5ee Update GameObjectFactory.js 2020-09-30 16:30:12 +01:00
Richard Davey
8823f7f0e4 Removed Layer3D and Quad Game Objects 2020-09-30 11:03:19 +01:00
Richard Davey
0e72b3d3a0 Container doesn't need to be on the updateList, so remove the handler. 2020-09-30 09:20:16 +01:00
Richard Davey
24de03ca96 Added missing ADDED_TO_SCENE handlers 2020-09-29 20:14:30 +01:00
Richard Davey
12c8ddfd05 Use getXRound 2020-09-29 18:05:39 +01:00
Richard Davey
9619995527 Add to UpdateList if not on Display List 2020-09-29 18:05:29 +01:00
Richard Davey
8119ce7da1 Fixed use of old camera private properties 2020-09-29 16:44:11 +01:00
Richard Davey
83542ff51d
Merge pull request #5330 from somnolik/fix-render-texture-group
Fix drawing Group to RenderTexture
2020-09-29 12:22:07 +01:00
Richard Davey
f9803774dd The Line Game Object will now default its width and height to 1, rather than zero. This allows you to give Line objects a physics body (although you will still need to re-adjust the center of the body manually). Fix #4596 2020-09-28 17:00:15 +01:00
Stefan Karner
f4b2b34535 Fix drawing Group to RenderTexture
Group children (generic GameObjects) expect a 'camera' argument
in their 'willRender' function
2020-09-26 10:25:22 +02:00
Patrick Sletvold
79114a00e5
Add return type for ParseRetroFont 2020-09-25 18:26:44 +02:00
Richard Davey
e004fa47fc Creating a Bitmap Mask from a texture atlas that was then used to mask another Game Object also using that same texture atlas would throw the error GL_INVALID_OPERATION : glDrawArrays: Source and destination textures of the draw are the same.. It now renders as expected. Fix #4675 2020-09-23 18:10:12 +01:00
Richard Davey
c6f533b872 Fixed legacy interpolation parameters 2020-09-23 17:55:29 +01:00
Richard Davey
212e7aa301 The Shape class now includes the ComputedSize component properties and methods directly in the class, rather than applying as a mixin. setSize is now flagged as being private, because it shouldn't be used on Shape classes, which was leading to confusion as it appeared in the public-facing API. Fix #4811 2020-09-23 12:46:55 +01:00
Richard Davey
f16e1c09f3 Lint fix 2020-09-23 12:39:21 +01:00
Richard Davey
e7926674b8 The Graphics WebGL Renderer will now default to pathOpen = true. This fixes issues under WebGL where, for example, adding an arc and calling strokePath, without first calling beginPath will no longer cause rendering artefacts when WebGL tries to close the path with a single tri. 2020-09-23 12:34:20 +01:00
Richard Davey
559127a53f Graphics.strokeRoundedRect now issues moveTo commands as part of the drawing sequence, preventing issues under WebGL where on older Android devices it would project additional vertices into the display. Fix #3955 2020-09-23 12:34:06 +01:00
Richard Davey
b86d982c00 The ParticleManagerCanvasRenderer now calculates its transform matrix differently, splitting out the parent matrix and factoring in the follow offsets separately. It also uses setToContext internally. This fixes numerous issues with particle emitters being incorrectly offset when added to Containers, or having the Camera zoomed, running under Canvas. Fix #4908 #4531 #4131 2020-09-23 12:06:29 +01:00
Richard Davey
a459ec090f Fixed lint issue 2020-09-23 11:50:07 +01:00
Richard Davey
fb849ae0dc The ParticleManagerWebGLRenderer now calculates its transform matrix differently, splitting out the parent matrix and factoring in follow offsets separately. This fixes numerous issues with particle emitters being incorrectly offset when added to Containers. Fix #5319 #5195 #4739 #4691 2020-09-23 11:50:00 +01:00
Richard Davey
d5de353890 You can now use setMaxWidth on DynamicBitmapText, which wasn't previously possible. Fix #4997 2020-09-22 16:52:36 +01:00
Richard Davey
6bf36083a8 Added setMaxWidth docs. Fix #4997 2020-09-22 16:48:38 +01:00
Richard Davey
5a6dec237c Fixed RetroFont Parser. Fix #5310 2020-09-22 16:47:05 +01:00
Richard Davey
4fd46f4d1f Fixed DynamicBitmapText WebGL Renderer. Fix #5303 2020-09-22 16:38:17 +01:00
Richard Davey
b317f89404 Renderer updates the camera 2020-09-22 15:25:09 +01:00
Richard Davey
674966280e
Merge pull request #5320 from vforsh/master
Add reserve property to particle emitter config
2020-09-22 15:24:16 +01:00
Richard Davey
6ff21af807 Added start of controls 2020-09-22 12:48:32 +01:00
Richard Davey
6cf95f3548 Updated missing docs 2020-09-22 12:48:15 +01:00
Richard Davey
06b3a01d87 Added layer property 2020-09-22 12:48:03 +01:00
Richard Davey
183e68580f Fixed dirty flag reset 2020-09-22 11:45:49 +01:00
Richard Davey
9ec300d618 Updated JSDocs 2020-09-22 11:12:40 +01:00
Richard Davey
820ea7799c Completed JSDocs 2020-09-22 11:12:32 +01:00
Richard Davey
248d2352b6 Update the camera if dirty 2020-09-22 10:59:36 +01:00
Richard Davey
d08a6c657c Added all documentation and dirty flag handling 2020-09-22 10:59:28 +01:00
Richard Davey
4945fc95e1 Not yet fixed, but no longer crashes build 2020-09-21 18:25:02 +01:00
Richard Davey
333945a89e Remove Mesh Game Object and add Layer3D 2020-09-21 18:24:38 +01:00
Richard Davey
33734309f1 Clean the mesh after rendering 2020-09-21 15:57:21 +01:00
Richard Davey
989e3e6e07 Swapped to use RGB objects 2020-09-21 15:57:11 +01:00
Richard Davey
82c8ada236 Added fog, dirty refresh and preUpdate handler 2020-09-21 15:56:58 +01:00
Richard Davey
27eafe3661 New Face and Vertex typedefs 2020-09-21 15:56:21 +01:00
Vladislav Forsh
4d7301a4be Improve types for particle emitter deathZone and emitZone 2020-09-21 12:38:29 +03:00
Vladislav Forsh
530c7a3d92 Add reserve property to particle emitter config 2020-09-21 12:06:49 +03:00
Richard Davey
99953b94b6
Merge pull request #5311 from vforsh/master
Add ability to use custom easing function(s) with particle emitters
2020-09-21 09:40:26 +01:00
Richard Davey
48272312ed
Merge pull request #5318 from samme/fix/getMatching
Fix Group#getMatching()
2020-09-21 09:34:03 +01:00
Richard Davey
78c1eb7934 Removed debug, modified signatuers, added fog 2020-09-21 00:17:58 +01:00
samme
d4059c8f6e Fix Group#getMatching 2020-09-19 10:10:25 -07:00
Richard Davey
374cc84be8 Now the pipeline does it all 2020-09-18 17:52:41 +01:00
Richard Davey
561a1b54a2 Handle vertex normals too 2020-09-18 17:52:30 +01:00
Richard Davey
640ce49d93 Update MeshCamera.js 2020-09-18 17:52:20 +01:00
Richard Davey
6e62ada207 Created new MeshLight class 2020-09-18 17:52:15 +01:00
Richard Davey
5b8e490c7e Flush during render so we can have models with more vertices than the batch allows 2020-09-17 18:08:25 +01:00
Richard Davey
5ff9894925 MeshCamera now supports orbit and pan modes 2020-09-17 18:08:07 +01:00
Richard Davey
6ce58ed73b Let them define the orientation 2020-09-17 10:08:15 +01:00
Richard Davey
c5412df09e Fix docs 2020-09-16 17:48:56 +01:00
Richard Davey
8085952507 Expose MeshCamera 2020-09-16 17:35:54 +01:00
Richard Davey
c306229478 Final JSDocs 2020-09-16 17:33:17 +01:00
Richard Davey
1d0b5cc6a9 Added Size component 2020-09-16 17:15:37 +01:00
Richard Davey
a38166ce2b Now allows a texture per model, not mesh 2020-09-16 16:39:06 +01:00
Richard Davey
851775ae19 New MeshCamera class 2020-09-16 16:38:39 +01:00
Richard Davey
8ff008b740 Removed un-used components, refactored method names and added MeshCamera 2020-09-16 16:38:32 +01:00
Richard Davey
da6a300474 Iterates and renders the new models array 2020-09-16 13:51:39 +01:00
Richard Davey
4f7442ee96 Moving all dependencies to the Model object 2020-09-16 13:51:30 +01:00
Richard Davey
a96d380933 Created new Geom.Mesh namespace for all of the Mesh related functions and classes 2020-09-16 13:50:36 +01:00
Vladislav Forsh
8fd4754b03 Add ability to use custom easing function(s) with particle emitters 2020-09-16 12:43:38 +03:00
Richard Davey
45412157c2 Added JSDocs 2020-09-16 09:50:24 +01:00
Richard Davey
b74928b2f8 Added hideCCW, addOBJ, addModel, sortByDepth, rotateX, rotateY, rotateZ, depthSort, addVertex and addFace methods. 2020-09-15 18:09:19 +01:00
Richard Davey
431eb69b42 Much cleaner rendering function, skipping invalid faces 2020-09-15 18:07:51 +01:00
Richard Davey
3e133c900a New method signature order 2020-09-15 18:07:24 +01:00
Richard Davey
a2a199818e Added contains and isCounterClockwise methods and depth property 2020-09-15 18:07:14 +01:00
Richard Davey
229d27dc9e Updated docs and added load method 2020-09-15 18:06:48 +01:00
Richard Davey
d8a8aa8448 Added clearVertices and renamed to addVertices so you can append on more verts post-creation 2020-09-15 11:57:44 +01:00
Richard Davey
b763fa0f18 The Mesh now renders by iterating through the Faces array, not the vertices. This allows you to use Array methods such as BringToTop to reposition a Face, thus changing the drawing order without having to repopulate all of the vertices. 2020-09-15 11:57:22 +01:00
Richard Davey
92982d810b Added ability to get InCenter. translate and rotate Face 2020-09-14 17:35:06 +01:00
Richard Davey
52d5b00fe5 Added setPosition and translate methods 2020-09-14 17:34:47 +01:00
Richard Davey
6a966e3f3b Removed interpolationPercentage parameter from all render methods, as it has never been used. 2020-09-14 15:33:58 +01:00
Richard Davey
83f8f007d1 Now uses GetCalcMatrix 2020-09-14 15:22:16 +01:00
Richard Davey
1057ead114 Dump all of the old mega arrays and replace with an array of Vertex instances. 2020-09-14 15:09:34 +01:00
Richard Davey
36a33745b6 Expose Vertex and Face 2020-09-14 15:09:12 +01:00
Richard Davey
6a3ce21702 GameObject.Face is a new micro class that consists of references to the three Vertex instances that construct the single Face. 2020-09-14 15:08:36 +01:00
Richard Davey
8fc969088c GameObject.Vertex is a new micro class that encapsulates all of the data required for a single vertex, such as position, uv, color and alpha. This class is now created internally by the Mesh Game Object. 2020-09-14 15:08:25 +01:00
Richard Davey
87c8e75ece Updated JSDocs 2020-09-14 15:02:21 +01:00
Richard Davey
951457c881 As a result of the change to the shader, all uses of the WebGL Util function getTintAppendFloatAlphaAndSwap have been replaced with getTintAppendFloatAlpha instead. 2020-09-14 15:02:13 +01:00
Richard Davey
194257d199 Create GetCalcMatrixResults.js 2020-09-14 15:01:45 +01:00
Richard Davey
8d25510b61 GameObjects.GetCalcMatrix is a new function that is used to calculate the transformed Game Object matrix, based on the given Game Object, Camera and Parent. This function is now used by the following Game Objects: BitmapText (Static and Dynamic), Graphics, Mesh, Rope, Shader, Arc, Curve, Ellipse, Grid, IsoBox, IsoTriangle, Line, Polygon, Rectangle, Star and Triangle. This dramatically reduces the amount of duplicate code across the API. 2020-09-14 15:01:40 +01:00
Richard Davey
81b63cdf20 The Rope.tintFill property is now a boolean, not an integer, and can no longer take 2 as a value for a complete fill. Instead, you should provide a solid color texture with no alpha. 2020-09-14 11:12:41 +01:00
Richard Davey
e5ce83aebd New direct tint value 2020-09-14 11:06:16 +01:00
Richard Davey
4ade25fc79 No longer read private values for tint
The `Multi Pipeline`, `Bitmap Text`, `Render Texture`, `Text`, `TileSprite` and `Camera` now all read the tint values from the public properties instead of the private `_tintTL` etc ones. They also now set the `tintEffect` value directly from the `tintFill` property, removing another conditional check.
2020-09-14 11:05:09 +01:00
Richard Davey
6d09f1fe40 Refactored Tint component
* `Tint.tintTopLeft` is now a normal property in RGB order, not a setter, and no longer passes through the `GetColorFromValue` function. This directly replaces the private property `_tintTL` which has now been removed.
* `Tint.tintTopRight` is now a normal property in RGB order, not a setter, and no longer passes through the `GetColorFromValue` function. This directly replaces the private property `_tintTR` which has now been removed.
* `Tint.tintBottomLeft` is now a normal property in RGB order, not a setter, and no longer passes through the `GetColorFromValue` function. This directly replaces the private property `_tintBL` which has now been removed.
* `Tint.tintBottomRight` is now a normal property in RGB order, not a setter, and no longer passes through the `GetColorFromValue` function. This directly replaces the private property `_tintBR` which has now been removed.
* The property `Tint._isTinted` has been removed as it's no longer required.
2020-09-14 10:59:32 +01:00
Richard Davey
25b5c2d1d1 Loads of new Mesh updates
* `Mesh.setVertices` is a new method that allows you to set the verts of a Mesh Game Object from the given parameters. This allows you to modify a mesh post-creation, or populate it with data at a later stage.
* The Mesh constructor signature has changed to `scene, x, y, vertices, uvs, indicies, colors, alphas, texture, frame`, where `indicies` is the new parameter added to the list. It allows you to provide indexed vertex data to create the Mesh from, where the `indicies` array holds the vertex index information. The final list of vertices is built from this index along with the provided vertices and uvs arrays.
* You can now supply just a single numerical value as the `color` parameter in the constructor, factory method and `setVertices` method. If a number, instead of an array, it will be used as the color for all vertices created.
* You can now supply just a single numerical value as the `alpha` parameter in the constructor, factory method and `setVertices` method. If a number, instead of an array, it will be used as the alpha for all vertices created.
* The `Mesh` Game Object now extends the `SingleAlpha` component and the alpha value is factored into the final alpha value per vertex during rendering. This means you can now set the whole alpha across the Mesh using the standard `setAlpha` methods. But, if you wish to, you can still control the alpha on a per-vertex basis as well.
* The `Mesh` Game Object now has the Animation State Component. This allows you to create and play animations across the texture of a Mesh, something that previously wasn't possible. As a result, the Mesh now adds itself to the Update List when added to a Scene.
* `Mesh.setDebug` is a new method that allows you to render a debug visualisation of the Mesh vertices to a Graphics Game Object. You can provide your own Graphics instance and optionally callback that is invoked during rendering. This allows you to easily visualise the vertices of your Mesh to help debug UV mapping.
* `Mesh.debugGraphic` is a new property that holds the debug Graphics instance reference.
* `Mesh.debugCallback` is a new property that holds the debug render callback.
* `Mesh.renderDebugVerts` is a new method that acts as the default render callback for `setDebug` if none is provided.
* `Mesh.preDestroy` is a new method that will clean-up the Mesh arrays and debug references on destruction.
2020-09-13 23:11:04 +01:00
Richard Davey
3fd52ecdd3 Added debug draw 2020-09-13 17:16:17 +01:00
Richard Davey
c76b084f2e Merge branch 'master' of https://github.com/photonstorm/phaser 2020-09-13 15:17:13 +01:00
Richard Davey
cd0a27acfa Fix #5308 2020-09-13 15:17:07 +01:00
Rex
0cb806c11e Fix add.existing bug
Add game object to updateList if it dose not add to displayList.
( Group game object dose not have `renderCanvas` or `renderWebGL` method)
2020-09-13 17:05:55 +08:00
Richard Davey
d6f5aabb7e The TextStyle.resolution property is no longer read from the Game Config. You can still set it via the Text Style config to a value other than 1, but it will default to this now. 2020-09-12 11:55:06 +01:00
Richard Davey
0acdf4373f Formatting update 2020-09-12 11:53:36 +01:00
Richard Davey
5d4fe0a466 Fixed a few linting errors 2020-09-12 10:34:57 +01:00
Richard Davey
36cf9c456a
Merge pull request #5270 from rexrainbow/text-measureText
Get ascent and descent from context.measureText method
2020-09-12 10:30:19 +01:00
samme
ad0c5ad5db Docs: since 2020-09-11 10:01:43 -07:00
samme
f05129f30c Add Transform#copyPosition
Needs JSDoc types for Vector3Like, Vector4Like
2020-09-11 09:44:31 -07:00
Richard Davey
00b799db23 Use Event const, not string. 2020-09-11 12:23:33 +01:00
Richard Davey
3969d6e45a Updated JSDocs to cover situation in #3858 2020-09-11 10:08:22 +01:00
Rex
f513f5bf31 Remove duplicated code
Adding game object  to UpdateList has been invoked in `displayList.add` by new ADDED_TO_SCENE event already.
2020-09-10 23:44:21 +08:00
Richard Davey
e450bf2f1f Swap to using constants for pipeline names 2020-09-09 13:05:18 +01:00
Richard Davey
d198818d80 Game Objects now call the new Pipeline Manager methods directly 2020-09-09 13:05:18 +01:00
Richard Davey
4ea080e8a8 JSDoc fix 2020-09-09 13:05:17 +01:00
Richard Davey
bd56b0bd59 Updated JSDocs 2020-09-08 12:17:45 +01:00
Richard Davey
cdd612a273 AnimationState has moved namespace to keep things logically together 2020-09-08 09:31:59 +01:00
Richard Davey
98dc69ed23 Added in support for blending animations with addMix, getMix and removeMix. 2020-09-07 15:33:57 +01:00