Commit graph

10582 commits

Author SHA1 Message Date
Richard Davey
9405ad3c16 Non-gc matrix reset 2020-11-12 13:04:22 +00:00
Richard Davey
ce7f921c59 Expose ColorMatrix 2020-11-12 12:56:46 +00:00
Richard Davey
118f8e1324 Phaser.Display.ColorMatrix is a new class that allows you to create and manipulate a 5x5 color matrix, which can be used by shaders or graphics operations. 2020-11-12 12:56:37 +00:00
samme
6219d27dbc Add TimerEvent methods
- getRemaining()
- getRemainingSeconds()
- getOverallRemaining()
- getOverallRemainingSeconds()
2020-11-11 12:05:14 -08:00
Richard Davey
a6ba0539de Update PostFXPipeline.js 2020-11-11 17:47:24 +00:00
Richard Davey
c60b4f580c Fixed draw mode, shader binding and testing new draw 2020-11-11 17:47:20 +00:00
Richard Davey
8ef9f36370 Fixed missing property 2020-11-11 17:46:58 +00:00
Richard Davey
9235b7a695 Add Utility Pipeline and copyFrames method 2020-11-11 17:46:44 +00:00
Richard Davey
1ff6b0dce5 Expose Utility Pipeline 2020-11-11 17:46:28 +00:00
Richard Davey
b9cc4bfb5b Create UtilityPipeline.js 2020-11-11 17:46:03 +00:00
Richard Davey
752fccbf16 Added w/h, comment out draw for now 2020-11-11 17:45:58 +00:00
Richard Davey
741f5f4e27 Added outFragCoord 2020-11-11 17:45:43 +00:00
Richard Davey
c07283ceab Tidy up shader code 2020-11-11 09:39:33 +00:00
Richard Davey
d677b57ee4 Added new utility shaders 2020-11-11 09:35:02 +00:00
Richard Davey
8e7171ca79 Use fbo stack and free-up callback hooks 2020-11-10 17:26:56 +00:00
Richard Davey
6d56ee01af Update BitmapMask.frag 2020-11-10 17:26:33 +00:00
Richard Davey
f085eb8536 The BitmapMask.prevFramebuffer property has been removed as it's no longer required, due to the fbo stack in the renderer. 2020-11-10 17:26:24 +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
7ba1b132ab Added rebind function, to reset the shader attributes. 2020-11-10 15:50:51 +00:00
Richard Davey
6e115e4e04 Call rebind function 2020-11-10 15:50:30 +00:00
Richard Davey
47009779fb Hard-code the topology 2020-11-10 15:50:17 +00:00
Richard Davey
84f6849ad6 Fixed Bitmap Mask 2020-11-10 14:33:28 +00:00
Richard Davey
7a5165c87b Limit batch size to 1 2020-11-10 12:35:01 +00:00
Richard Davey
eda0ca8a75 Use GLenum value and limit batch size to 256 2020-11-10 12:34:53 +00:00
Richard Davey
fad0d331d7 Change to batchSize property 2020-11-10 12:34:35 +00:00
Richard Davey
86d1009e7b Use batchSize and fixed shouldFlush so we take advantage of bufferData 2020-11-10 12:34:25 +00:00
Richard Davey
40123f1a08 Updated docs 2020-11-10 12:01:25 +00:00
Richard Davey
e7319907c7 PostFX Pipeline only needs a single quad 2020-11-10 11:59:28 +00:00
Richard Davey
ca52436340 Removed Camera Pipeline 2020-11-10 11:59:12 +00:00
Richard Davey
94d2889783 Moved setTexture2D to pipeline class 2020-11-10 11:58:53 +00:00
Richard Davey
4cefe70ff0 Since iOS 13, iPads now identify as MacOS devices. A new maxTouchPoint check is now part of the Device.OS tests, stopping iPads from being flagged as desktop devices. Fix #5389 2020-11-09 17:15:43 +00:00
Richard Davey
d397551b3d
Merge pull request #5391 from samme/fix/overlapR
Set Arcade.Body#overlapR in separateCircle()
2020-11-09 17:10:18 +00:00
Richard Davey
ca8f201e8a
Merge pull request #5388 from samme/feature/scale-damping
Scale damping by the physics step delta
2020-11-09 17:07:30 +00:00
Richard Davey
6c69cf3627
Merge pull request #5387 from samme/docs/static-body
Docs: StaticBody#touching etc.
2020-11-09 17:06:57 +00:00
Richard Davey
bbb397c860
Merge pull request #5350 from samme/feature/worldstep-event-delta
Add delta argument to WORLD_STEP event
2020-11-09 17:05:37 +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
1b434d7a40 Preparing for Beta 11 2020-11-09 16:29:57 +00:00
Richard Davey
eee3feb667 Pass Game Object to batchQuad 2020-11-09 13:19:31 +00:00
Richard Davey
c5656fbd08 Make FLOAT the default type 2020-11-09 13:19:14 +00:00
Richard Davey
cb7a998ea0 Added onBatch support 2020-11-09 12:17:45 +00:00
Richard Davey
39b381d6cc Clearer responsibility via method parameters 2020-11-09 11:50:41 +00:00
samme
956f880fa4 Set overlapR in separateCircle() 2020-11-08 09:19:53 -08:00
samme
4185e661d7 Docs: banish StaticBody touching properties
Fixes #5381
2020-11-07 10:04:28 -08: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
0d23aea281 Allow TilemapLayers to set post pipelines 2020-11-06 17:22:32 +00:00
Richard Davey
88809647a6 Expose outFragCoord 2020-11-06 17:22:17 +00:00
Richard Davey
abe97b18fd Remove drawFillRect and no batchTexture post fx 2020-11-06 17:22:05 +00:00
Richard Davey
c29d7b18ed Removed everything to do with Camera's rendering to textures or managing their own framebuffers.
Now uses pipeline component instead.
2020-11-06 15:35:56 +00:00
Richard Davey
92eca8d3d2 Use the new Camera post pipeline feature 2020-11-06 15:35:29 +00:00
Richard Davey
06c90137c8 Empty parameter means reset pipeline 2020-11-06 15:35:18 +00:00
Richard Davey
167f50f28f Added new PostFX Pipeline to extend from 2020-11-06 15:35:05 +00:00
Richard Davey
4c7d81731b Added minFilter support 2020-11-06 12:25:03 +00:00
Richard Davey
3dbbc9caee Update RenderTargetConfig.js 2020-11-06 12:24:52 +00:00
Richard Davey
a62577ee77 Added minFilter support and better docs 2020-11-06 12:24:46 +00:00
Richard Davey
554e9214e0 Smaller error 2020-11-06 11:46:06 +00:00
Richard Davey
11b92b83e7 Supports new RenderTarget instances 2020-11-06 11:42:52 +00:00
Richard Davey
f914a073f3 New RenderTarget class to handle multiple targets per pipeline 2020-11-06 11:42:39 +00:00
Richard Davey
6e90d8ed59 Corrected docs and resetTextures 2020-11-06 11:42:25 +00:00
Richard Davey
18f32331fb Expose Render Target and WebGLShader 2020-11-06 10:59:57 +00:00
Richard Davey
a06edadba2 Update WebGLPipelineConfig.js 2020-11-06 10:59:47 +00:00
Richard Davey
a8b02cfb28 Create RenderTargetConfig.js 2020-11-06 10:59:41 +00:00
Richard Davey
ff23ca57cb Use new fbo stack 2020-11-06 10:19:34 +00:00
Richard Davey
02bde43772 Added fboStack, pushFramebuffer, popFramebuffer and resetTextures parameter 2020-11-06 10:19:26 +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
701b899511 Update MultiPipeline.js 2020-11-05 18:05:58 +00:00
Richard Davey
18d2de8f1c Update SinglePipeline.js 2020-11-05 18:05:49 +00:00
Richard Davey
1a3a7d1151 Update WebGLPipeline.js 2020-11-05 18:05:19 +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
883402da8a Added forceZero method and used it 2020-11-05 10:50:40 +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
3696f73674 Guard against missing shaders. 2020-11-05 10:08:41 +00:00
Richard Davey
60e6eff81c Don't .replace non-strings. 2020-11-05 10:08:21 +00:00
Richard Davey
e9efc5e8f2 Invokes pre and post batch functions. 2020-11-04 18:02:22 +00:00
Richard Davey
4287181b2b Added manager, target auto clear, clearTarget and lots of new hooks for handlers, plus post bind and post flush support. 2020-11-04 18:02:11 +00:00
Richard Davey
f94e7b4f75 Set dimensions before resizing. Validate gl objects before deleting them. 2020-11-04 18:01:39 +00:00
Richard Davey
d6496c86cf Added JSDocs 2020-11-04 18:01:20 +00:00
Richard Davey
305106bebe Correct sampler ID 2020-11-04 18:01:11 +00:00
Richard Davey
34f3ae9755 Removed stack and lock support 2020-11-04 18:01:01 +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
4747d204ca Added unbind method and handling for post-fx 2020-11-03 18:05:10 +00:00
Richard Davey
e72a3b27e4 Call new unbind method 2020-11-03 18:04:57 +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
ebe5ba1a0a New attributes, removed un-used properties, fixed JSDocs 2020-11-03 11:32:05 +00:00
Richard Davey
93948f5b29 JSDocs fixes 2020-11-03 11:31:52 +00:00
Richard Davey
f4b95ab2c3 New simplified Graphics shaders 2020-11-03 11:31:32 +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
10673da96b Graphics is as Graphics does 2020-11-02 22:39:30 +00:00
Richard Davey
9e1b8c4b2f Don't look-up properties from uniforms that aren't cached 2020-11-02 22:39:20 +00:00
Richard Davey
d05afa988f Added batchVert method to help make customization easier 2020-11-02 22:39:08 +00:00
Richard Davey
47ec3d33c7 Remove texture setters 2020-11-02 16:20:22 +00:00
Richard Davey
3caa51a938 Update GraphicsPipeline.js 2020-11-02 16:20:16 +00:00
Richard Davey
a5ae67e1a6 Added Camera Pipeline 2020-10-30 17:55:56 +00:00
Richard Davey
4c3a5223fe Added onFlush and onPostFlush 2020-10-30 17:55:36 +00:00
Richard Davey
ca4168e5d0 New Camera Pipeline, better boot handling, tidied up docs 2020-10-30 17:50:58 +00:00
Richard Davey
52d8140b4f New onResize callback and better matrix handling 2020-10-30 17:50:38 +00:00
Richard Davey
5dbec83a8b Using new Camera Pipeline (renderTexture todo) 2020-10-30 17:50:19 +00:00
Richard Davey
b73067a7a7 Implemented full uniform caching and setting handling. So much faster! 2020-10-30 17:50:06 +00:00
Richard Davey
4e7e5629d2 You can forceZero via the config now 2020-10-30 17:49:39 +00:00
Richard Davey
0a006e4c20 Tidied up parameters 2020-10-29 17:22:57 +00:00
Richard Davey
ebf7b19062 Removed unused code 2020-10-29 17:22:47 +00:00
Richard Davey
d39968e0a1 Parameter not needed 2020-10-29 17:22:39 +00:00
Richard Davey
6353496751 Added the ability for a pipeline to be locked or unlocked 2020-10-29 17:22:29 +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
c9d56f5f1d Removed unused matrices and method 2020-10-29 14:41:22 +00:00
Richard Davey
9a0f33d24c Cause a full bind on first set 2020-10-29 14:41:04 +00:00
Richard Davey
4b48baea79 Removed all of the uniform code 2020-10-29 14:40:49 +00:00
Richard Davey
4badd54160 Added resetProgram and changed return values 2020-10-29 14:40:33 +00:00
Richard Davey
024f13f2ba No longer use uViewMatrix or uModelMatrix 2020-10-29 14:37:52 +00:00
Richard Davey
b74351a87d Update WebGLPipeline.js 2020-10-29 08:22:38 +00:00
Richard Davey
9e4141e18b Pass the Game Object 2020-10-28 18:13:34 +00:00
Richard Davey
b1b44cd7f0 onBoot and setShader methods 2020-10-28 18:13:27 +00:00
Richard Davey
e1452b9ce7 Update WebGLShader.js 2020-10-28 17:40:21 +00:00
Richard Davey
48c0ba26c2 Better flush handling 2020-10-28 17:40:06 +00:00
Richard Davey
c5b538afcd Added the new Graphics Pipeline 2020-10-28 17:39:54 +00:00
Richard Davey
d6ecea8d4d Use the new attributes format 2020-10-28 17:39:31 +00:00
Richard Davey
60c834e2c8 Use the new Graphics Pipeline 2020-10-28 17:39:06 +00:00
Richard Davey
92c365a881 Removed all Graphics methods and related properties. 2020-10-28 16:53:31 +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
8c6e67ecfc Added attributes and other shader specific properties and methods 2020-10-28 16:15:56 +00:00
Richard Davey
e52def85be All vertex values now set during boot, after shaders are created. Added batchQuad/Tri methods. 2020-10-28 16:15:35 +00:00
Richard Davey
389b480777 Using new easier attribute config + moved some methods to WebGLPipeline 2020-10-28 16:15:09 +00:00
Richard Davey
15d8eabf17 Single pipeline updated so it can easily extend Multi now 2020-10-28 16:14:42 +00:00
Richard Davey
93b1775aaa Added new WebGL consts for easier shader configs 2020-10-28 16:14:05 +00:00
Richard Davey
9aeb765696 Updated type defs 2020-10-28 16:13:46 +00:00
Richard Davey
120f2c87cb The WebGL.Utils.getComponentCount function has been removed as this is no longer required internally. 2020-10-28 16:13:29 +00:00
Richard Davey
4b3cc7145e Testing new pipelineData object. 2020-10-27 18:06:53 +00:00
Richard Davey
88d2ecd760 Pipeline passes attributes off to Shader. Also fixed multi-shader setup. 2020-10-27 18:06:45 +00:00
Richard Davey
39c77f431f Flush here, rather than in renderer 2020-10-27 18:06:28 +00:00
Richard Davey
a5d6016e64 Move sequence so the renderer is clean 2020-10-27 18:06:13 +00:00
Richard Davey
f42f0ce0d6 Shader needs attributes 2020-10-27 18:06:00 +00:00
Richard Davey
8092460ce7 Docs update 2020-10-27 18:05:47 +00:00
Richard Davey
962c900e5a * Utils.Object.DeepCopy is a new function that will recursively deep copy an array of object. 2020-10-27 18:05:41 +00:00
Richard Davey
7b5d6076b2 Added max size value 2020-10-27 14:41:43 +00:00
Richard Davey
f50560eba8 The WebGLRenderer.getMaxTextures method has been removed. This is no longer needed as you can use the WebGLRenderer.maxTextures property instead. 2020-10-27 14:36:43 +00:00
Richard Davey
93b569c5ca Look-up based on string or instance 2020-10-27 14:05:48 +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
ef1ddb29d9 Improved docs 2020-10-27 13:55:09 +00:00
Richard Davey
59a215d643 * Types.Core.PipelineConfig is a new configuration object that you can set in the Game Config under the pipeline property. It allows you to define custom WebGL pipelines as part of the Game Config, so they're automatically installed and ready for use by all Scenes in your game. You can either set the pipeline object, or set it under the render sub-config. 2020-10-27 13:44:58 +00:00
Richard Davey
7e30ff32be Phaser.Scene.renderer is a new property available in every Phaser.Scene that gives you a reference to the renderer, either Canvas or WebGL. 2020-10-27 13:42:45 +00:00
Richard Davey
98b4319436 Bind needs to return this 2020-10-27 12:26:01 +00:00
Richard Davey
4ebdc637a9 Tidied up method flow 2020-10-27 12:25:53 +00:00
Richard Davey
d2c025e38a Added target fbo and all of the shader setters back in 2020-10-27 12:25:42 +00:00
Richard Davey
b278916b3e No need to reset during destroy 2020-10-27 11:38:34 +00:00
Richard Davey
2b3863272e Removed 'nativeTextures' and added new reset parameter
* The `WebGLRenderer.nativeTextures` array has been removed and any WebGLTextures created by the renderer are no longer stored within it. All WebGLTexture instances are stored in the `TextureSource` objects anyway, or by local classes such as RenderTexture, so there was no need to have another array taking up memroy.
* The `WebGLRenderer.deleteTexture` method has a new optional boolean parameter `reset` which allows you to control if the `WebGLRenderer.resetTextures` method is called, or not, after the texture is deleted.
2020-10-27 11:38:21 +00:00
Richard Davey
efbc256a1f Added target fbo 2020-10-26 17:13:24 +00:00
Richard Davey
3c7062ca6a Common strings. 2020-10-26 17:00:23 +00:00
Richard Davey
bc34d01535 Update WebGLPipeline.js 2020-10-26 15:19:21 +00:00
Richard Davey
1e80f53f1d Better docs 2020-10-26 15:00:25 +00:00
Richard Davey
7c929e52bc Finished method docs and added clone 2020-10-26 15:00:17 +00:00
Richard Davey
ec4751ddc6 Finished all method docs 2020-10-26 15:00:07 +00:00
Richard Davey
55cbda85b8 Removed debug code 2020-10-26 14:24:15 +00:00
Richard Davey
f87bd7d384 Removed all of the shader setters. This should be done via the WebGLShader class now. 2020-10-26 14:24:06 +00:00
Richard Davey
fba97afcb6 Update dirty uniforms 2020-10-26 14:05:49 +00:00
Richard Davey
f32b4c7ecd Fixed config setter and added mvp matrices 2020-10-26 14:05:39 +00:00
Richard Davey
1e8b1cc583 Removed ProjectOrtho and optimized setters 2020-10-26 14:05:26 +00:00
Richard Davey
7ad02d6c0d Removed mvp component 2020-10-26 14:05:07 +00:00
Richard Davey
371425a5d2 Use new pipeline resize method 2020-10-26 14:04:55 +00:00
Richard Davey
14e90c60d8 Don't resize to zero dimensions and run proper compare 2020-10-26 14:04:45 +00:00
Richard Davey
291f588110 Removed the mvp component. Pipelines no longer need this. 2020-10-26 14:04:01 +00:00
Richard Davey
af01b23696 JSDocs fix 2020-10-26 14:03:35 +00:00
Richard Davey
8c85887479 Removed all of the mvp functions as they're no longer needed 2020-10-26 14:03:18 +00:00
Kshitiz Srivastava
4941ca3b64
Added loadMediaStream method 2020-10-25 01:24:55 +05:30
samme
be558d2dca Scale damping 2020-10-22 13:59:49 -07:00
Richard Davey
0b3011add3 Update PointLight-frag.js 2020-10-21 18:15:34 +01:00
Richard Davey
272727459f Use new shader property 2020-10-21 18:15:28 +01:00
Richard Davey
9531124903 Typo fix 2020-10-21 18:15:19 +01:00
Richard Davey
da47c776fa New shader class to allow one pipeline to set multiple shaders 2020-10-21 18:15:13 +01:00
Richard Davey
180b29be98 The pipeline can now handle multiple shaders all sharing the same attributes 2020-10-21 18:15:02 +01:00
Richard Davey
c730272ba7 Updated the configs to handle multiple shaders 2020-10-21 18:12:40 +01:00
Richard Davey
4b1c5c1a0b Improved docs 2020-10-21 11:30:49 +01:00
Richard Davey
7ffa615831 The WebGLPipeline.flushLocked property has been removed. A pipeline can never flush in the middle of a flush anyway, so it was just wasting CPU cycles being set. 2020-10-21 11:19:12 +01:00
Richard Davey
6ed84e2f34 Added Mesh.ignoreDirtyCache flag. 2020-10-21 10:15:12 +01:00
Richard Davey
774b6987c4 Added Face.alpha getter and setter 2020-10-21 10:14:56 +01:00
Richard Davey
aada315bbc When setting both transparent: true and backgroundColor in the Game Config, it would ignore the transparency and use the color anyway. If transparent, the game is now fully transparent. Fix #5362 2020-10-20 14:01:31 +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
9972594e60 Updated docs. FIx #4229 2020-10-17 12:11:35 +01:00
Richard Davey
faec17f4b0 Cameras.Scene2D.Events.FOLLOW_UPDATE is a new Event that is dispatched by a Camera when it is following a Game Object. It is dispatched every frame, right after the final Camera position and internal matrices have been updated. Use it if you need to react to a camera, using its most current position and the camera is following something. Fix #5253 2020-10-17 11:37:27 +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
675e43350d Physics.Arcade.Body.setDamping is a new method that allows you to set the useDamping property of a Body in a chainable way. Fix #5352 2020-10-16 17:57:26 +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
605ea31146 SceneManager.start will now reset the SceneSystems.sceneUpdate reference to NOOP. This gets set back to the Scene update method again during bootScene (if it has one) and stops errors with external plugins and multi-part files that may trigger update before create has been called. Fix #4629 2020-10-16 16:39:30 +01:00
Richard Davey
0fad1861ae Update GeometryMask.js 2020-10-16 15:07:32 +01:00
Richard Davey
75f857b645 Update WebGLRenderer.js 2020-10-16 14:11:21 +01:00
Richard Davey
e50339b144 Updated to use new filtered children list 2020-10-16 14:11:15 +01:00
Richard Davey
d35ff331b2 Now takes a pre-filtered list of children to render 2020-10-16 11:36:00 +01:00
Richard Davey
84c1344f63 CameraManager.getVisibleChildren is a new method that is called internally by the CameraManager.render method. It filters the DisplayList, so that Game Objects that pass the willRender test for the given Camera are added to a sub-list, which is then passed to the renderer. This avoids the renderer having to do any checks on the children, it just renders each one in turn. 2020-10-16 11:35:45 +01:00
Richard Davey
653c2ee600 Parallel and divide by zero fix 2020-10-15 18:08:35 +01:00
Richard Davey
ae6112297a Default tint value should now be 0xffffff. Fix #5358 2020-10-15 12:19:17 +01:00
Richard Davey
37c9b0884d Updated Polygon points type. Fix #5357 2020-10-15 12:01:13 +01:00
Richard Davey
8a01ae1cb7 Call the component directly to avoid lots of function diving 2020-10-15 11:47:24 +01:00
Richard Davey
536f08a4bf Avoid deep diving into loads of functions 2020-10-15 11:47:11 +01:00
Richard Davey
67b787ab7c Update GetTilesWithinWorldXY.js 2020-10-15 11:09:52 +01:00
Richard Davey
db2fdc14d1 Update GetTileAt.js 2020-10-15 11:09:37 +01:00
Richard Davey
f130f5e9a3 Fixed incorrect parameter type 2020-10-15 11:09:19 +01:00
Richard Davey
b4fed98aa2 Update SetCollisionBetween.js 2020-10-15 11:08:18 +01:00
Richard Davey
8d2e7b08c5 Update World.js 2020-10-15 11:07:51 +01:00
Richard Davey
417e57c199 Update Collider.js 2020-10-15 11:07:27 +01:00
Richard Davey
0f87981f47 Improved docs 2020-10-15 11:07:22 +01:00
Richard Davey
c03b5af079 Use mesh size 2020-10-15 10:09:02 +01:00
Richard Davey
020cfab2d6 Fixed issue with no mesh specified and texture getting 2020-10-15 09:58:54 +01:00
Richard Davey
f17743dadf Changed updateProjectionMatrix to setPerspective and added setOrtho counterpart 2020-10-14 16:32:29 +01:00
Richard Davey
e79ec0c96c Generate Grid can now calculate w/h based on ortho texture 2020-10-14 16:32:06 +01:00
Richard Davey
675eec8103 Better attenuation 2020-10-14 15:16:35 +01:00
Richard Davey
cc167e158f Much better effect from the light shader 2020-10-14 11:57:58 +01:00
Richard Davey
d3d0c71fe4 Fixed shader for clip-space 2020-10-13 22:34:26 +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
Brown Dragon
ca0ca97f59 Fix up tiled json parsing.
Phaser currently discards the tiled `type` field (which is very useful for objects-from-tiles, as well as somewhat useful for handling tile variants).
It also discards wang set information, which is somewhat meaningful.

This diff adds both back; let me know if it goes too far and I can restrict it to only including `type`.
2020-10-12 19:54:14 -04:00
Richard Davey
98e877aaeb Preparing for beta 10 2020-10-12 16:29:39 +01:00
Richard Davey
b3a74a6d5d ParseTilesets will now correctly handle non-consequtive tile IDs. It also now correctly sets the maxId property, fixing a bug where tiles wouldn't render if from IDs outside the expected range. Fix #4367 2020-10-12 13:52:31 +01:00
Richard Davey
e526af7cb9 Lint fix 2020-10-12 13:38:57 +01:00
Richard Davey
3e2041a3c5 Overhauled createFromObjects to make it much more useful. Fix #3817 #4613 2020-10-12 13:31:30 +01:00
Richard Davey
80287f6ee4 Path fixes 2020-10-12 11:51:05 +01:00
Richard Davey
04d80a8b5c Allow use of old method calls for now 2020-10-12 11:50:13 +01:00
Richard Davey
24777aa327 No need for isoCullDistances, just use existing cullPadding properties 2020-10-12 11:42:01 +01:00
Richard Davey
607fec9450 Use a cached Rectangle for speed 2020-10-12 11:40:52 +01:00
Richard Davey
0ba1f08f80 The Static and Dynamic Tilemap Layer objects have been removed and consolidated into the new TilemapLayer class. 2020-10-12 11:40:40 +01:00
Richard Davey
fb11821730 Fixed lots of missing JSDocs 2020-10-12 11:33:33 +01:00
Richard Davey
ae4c45f14a Fixed renderer so it draws multi tileset isometric tiles properly 2020-10-11 23:05:08 +01:00
Richard Davey
f00bb446f8 Formating fix 2020-10-11 23:04:11 +01:00
Richard Davey
9e68f41118 Formatting 2020-10-11 23:04:00 +01:00
Richard Davey
39f74d2e95 Use a cached vector to save constant allocation and fixed y culling limit 2020-10-11 23:03:52 +01:00
Richard Davey
2e50061699 Opps :) 2020-10-10 11:38:16 +01:00
Richard Davey
7403887099 Preparing for beta 9 2020-10-09 17:56:37 +01:00
Richard Davey
5639862010 Update GenerateGridVerts.js 2020-10-09 17:20:40 +01:00
Richard Davey
2801d3d804 Added setUVs method 2020-10-09 16:22:27 +01:00
Richard Davey
acfb6c469f Much more powerful grid generation now 2020-10-09 16:22:19 +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
50a0f0705f Face is now responsible for determining if it can be rendered, or not. Split the update and load process into two. 2020-10-09 11:55:00 +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
f77a5de32c Geom.Mesh.RotateFace is a new function that will rotate a Face by a given amount, based on an optional center of rotation. 2020-10-09 11:53:57 +01:00
Richard Davey
bf8cd60aab Added ability to rotate data on import 2020-10-08 15:53:13 +01:00
Richard Davey
c05cec3ba0 Added JSDocs 2020-10-08 14:40:32 +01:00
Richard Davey
79a1264f8b Fixed property name 2020-10-08 14:40:25 +01:00
Richard Davey
af0a4dbd37 Updated Mesh to include new functions and docs 2020-10-08 13:24:23 +01:00
Richard Davey
e46ba609a8 Expose new functions 2020-10-08 13:24:09 +01:00
Richard Davey
2f85c8a8ba Added normals parameters 2020-10-08 13:24:01 +01:00
Richard Davey
e3f7048e22 Removed moved defs 2020-10-08 13:23:44 +01:00
Richard Davey
8838781aa1 Create GenerateGridVerts.js 2020-10-08 13:23:24 +01:00
Richard Davey
d2ea1c45c3 Create GenerateObjVerts.js 2020-10-08 13:23:20 +01:00
Richard Davey
8a73523d6c Create GenerateVerts.js 2020-10-08 13:23:17 +01:00
Richard Davey
b3f1a7986e Create GenerateGridConfig.js 2020-10-08 13:23:13 +01:00
Richard Davey
d09764518d Create GenerateGridVertsResult.js 2020-10-08 13:23:09 +01:00
Richard Davey
20f4e8a66b Create GenerateVertsResult.js 2020-10-08 13:23:05 +01:00
Richard Davey
1df4661487 Camera.roundPixels now rounds worldView matrix 2020-10-08 11:07:21 +01:00
Richard Davey
114201f497 Fixed tilemaps with missing function 2020-10-08 11:07:05 +01:00
Richard Davey
2e988801ce Made obj material parsing external 2020-10-08 10:45:03 +01:00
Richard Davey
c0ab4d4ae9 OBJFile can now optionally load a material file along with the model data 2020-10-08 10:44:49 +01:00
Richard Davey
82c87ee814 Create materials container 2020-10-08 10:44:32 +01:00
Richard Davey
f191283928 Moved ParseObjMaterial to Geom namespace 2020-10-08 10:44:23 +01:00
Richard Davey
727383d4f3 Loader.MultiFile will now parse the given files array and only add valid entries into the file list, allowing multifiles to now have optional file entries. 2020-10-08 10:44:02 +01:00
Richard Davey
5bb73b5c95 In the Loader.FileTypes.TextFile config you can now override the type and cache destination for the file. 2020-10-08 10:43:13 +01:00
Richard Davey
324fa6a3b2 Removed MeshCamera, updated Mesh to focus on ortho projections 2020-10-07 22:27:04 +01:00
Richard Davey
9e07e5a27b Expose RGB 2020-10-07 18:06:39 +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
c3fe480905 Finished all docs and added some missing methods and made use of setValues 2020-10-07 17:42:19 +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
2137e3413d Added cameraZ parameter 2020-10-07 13:15:53 +01:00
Richard Davey
c6d25c9559 Added z parameter 2020-10-07 13:15:44 +01:00
Richard Davey
8ff78ef08a Fixed addVerts face addition 2020-10-07 12:45:31 +01:00
Richard Davey
e331638b05 Updated to use transformed values 2020-10-07 12:04:58 +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
a367799da1 Update Vertex.js 2020-10-07 12:04:16 +01:00
Richard Davey
cdc34ef3a8 inputMousePreventDefaultWheel is a new config option that allows you to control preventDefault calls specifically on mouse wheel events. Set it via input.mouse.preventDefaultWheel in the Game Config. It defaults to true, the same as the previous capture property did. 2020-10-07 10:14:28 +01:00
Richard Davey
619fd18028 MouseManager.preventDefaultWheel is a new boolean property, set via the inputMousePreventDefaultWheel config option that allows you to toggle capture of mouse wheel at runtime. 2020-10-07 10:14:02 +01:00
Richard Davey
2246b63504 inputMousePreventDefaultWheel is a new config option that allows you to control preventDefault calls specifically on mouse wheel events. Set it via input.mouse.preventDefaultWheel in the Game Config. It defaults to true, the same as the previous capture property did. 2020-10-07 10:13:50 +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
bbaa5c3eae Added OBJFileConfig defs 2020-10-06 10:42:22 +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
f0348126de Improved docs 2020-10-06 09:59:16 +01:00
Richard Davey
b285b2b5bb Expose manager functions. Fix #5345 2020-10-06 09:59:16 +01:00
Richard Davey
00b8bb4e0f
Merge pull request #5344 from samme/fix/collisions-update-center
Correct Arcade Body center after separations
2020-10-06 09:45:41 +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
4d7ff23159 Device.Audio.wav now uses audio/wav as the canPlayType check string, instead of audio/wav; codecs="1", which should allow iOS13 to play wav files again. 2020-10-05 17:12:09 +01:00
Richard Davey
eb6d342607 Merged the Mesh Geometry functions back in and completed the JSDocs 2020-10-05 16:52:44 +01:00
Richard Davey
6c5a83b862 Added the OBJFile type 2020-10-05 16:52:23 +01:00
Richard Davey
270c2f425d Create OBJFile.js 2020-10-05 16:52:15 +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
706d02873a Fixed issue with camera flash/fade not working 2020-10-05 13:44:29 +01:00
Richard Davey
468b1ba255 Added 2nd conditional back 2020-10-05 13:43:54 +01:00
Richard Davey
a16ab01e22 MouseManager.isTop is a new boolean read-only property that flags if the mouse event listeners were attached to window.top (true), or just window (false). By default Phaser will attempt window.top, but this isn't possible in all environments, such as cross-origin iframes, so it will fall back to window in those cases and set this property to false 2020-10-05 10:40:35 +01:00
Richard Davey
0fb0c094c6 Removed inner loop 2020-10-05 08:07:06 +01:00
Richard Davey
30d80bb74b Added keyframe 2020-10-05 08:06:53 +01:00
samme
130160f825 Update center after world bounds collision 2020-10-03 13:46:11 -07:00
Richard Davey
c8a99f00f2 Improved JSDocs 2020-10-03 10:15:19 +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
Richard Davey
d9d4d74c89 Updated docs 2020-10-02 14:03:32 +01:00
Richard Davey
42d6188b7a Now using the GetCullTilesFunction #4922 2020-10-02 13:53:20 +01:00
Richard Davey
c0c00b66be Tilemaps.Components.IsometricCullTiles is a new function that culls tiles in a isometric map. 2020-10-02 13:48:52 +01:00
Richard Davey
ab753ffe10 Tilemaps.Components.StaggeredCullTiles is a new function that culls tiles in a staggered map. 2020-10-02 13:48:42 +01:00
Richard Davey
0b8b9fb3ba Tilemaps.Components.HexagonalCullTiles is a new function that culls tiles in a hexagonal map. 2020-10-02 13:48:33 +01:00
Richard Davey
c44c43a553 Tilemaps.Components.StaggeredCullBounds is a new function that calculates the cull bounds for a staggered map. 2020-10-02 13:48:22 +01:00
Richard Davey
e42b407721 Tilemaps.Components.HexagonalCullBounds is a new function that calculates the cull bounds for a hexagonal map. 2020-10-02 13:48:13 +01:00
Richard Davey
2450a16911 Tilemaps.Components.GetCullTilesFunction is a new function that returns the correct culling function to use. 2020-10-02 13:48:01 +01:00
Richard Davey
c66df4b94b Deleted unused files 2020-10-02 13:47:49 +01:00
Richard Davey
9c92fccd3a Updated to use new components 2020-10-02 13:47:36 +01:00
Richard Davey
f58ec09489 Tilemaps.Components.CullBounds is a new function that calculates the cull bounds for an orthogonal map. 2020-10-02 13:47:27 +01:00
Richard Davey
b11e5fe1fb Tilemaps.Components.RunCull is a new function that runs the culling process from the combined bounds and tilemap. 2020-10-02 13:47:10 +01:00
Richard Davey
7980beaeab Fixed references and docs #4922 2020-10-02 12:09:58 +01:00
Richard Davey
da651dc650 Fixed require filename 2020-10-02 12:06:07 +01:00
Richard Davey
1839e58581 Tidied up formatting #4922 2020-10-02 12:05:52 +01:00
Richard Davey
8ea29b6cf2 Removed console warnings 2020-10-02 12:02:48 +01:00
Richard Davey
89cec01b39 Updated types 2020-10-02 12:02:40 +01:00
Richard Davey
04ecc38a61 Fixed JSDocs and const path #4922 2020-10-02 11:57:37 +01:00
Richard Davey
b09197d8cb Added proper JSDocs and fixed private accessors #4922 2020-10-02 11:53:23 +01:00
Richard Davey
d5561ad97a Use cached vec2s to avoid constant vector creation 2020-10-02 11:41:11 +01:00
Richard Davey
aafd5c6cee Use cached vec2s to avoid constant vector creation 2020-10-02 11:36:44 +01:00
Richard Davey
f03ddf033b Formatting fix #4992 2020-10-02 11:27:50 +01:00
Richard Davey
a3f67973cd Corrected documentation and tidied up #4992 2020-10-02 11:25:48 +01:00
Richard Davey
ffb49bdb3a Tilemaps.Components.StaggeredTileToWorldXY is a new function that converts staggered tile coordinates to world coordinates. 2020-10-02 11:22:48 +01:00
Richard Davey
4281bc1763 Tilemaps.Components.IsometricTileToWorldXY is a new function that converts isometric tile coordinates to world coordinates. 2020-10-02 11:22:39 +01:00
Richard Davey
3c3c01d4d5 Tilemaps.Components.HexagonalTileToWorldXY is a new function that converts hexagonal tile coordinates to world coordinates. 2020-10-02 11:22:30 +01:00
Richard Davey
a51e0b8a68 Tilemaps.Components.GetWorldToTileXYFunction is a new function that returns the correct conversion function to use. 2020-10-02 11:22:18 +01:00
Richard Davey
6049701d91 Restored previous function 2020-10-02 11:22:02 +01:00
Richard Davey
a89a58bd6c Restore previous function 2020-10-02 11:16:32 +01:00
Richard Davey
769850a400 Tilemaps.Components.StaggeredTileToWorldY is a new function that converts a staggered Y coordinate to a world coordinate. 2020-10-02 11:16:18 +01:00
Richard Davey
0b7d3236b4 Tilemaps.Components.HexagonalTileToWorldY is a new function that converts a hexagonal Y coordinate to a world coordinate. 2020-10-02 11:16:07 +01:00
Richard Davey
0b630754f7 Tilemaps.Components.GetTileToWorldYFunction is a new function that returns the correct conversion function to use. 2020-10-02 11:15:54 +01:00
Richard Davey
00603c0d39 Tilemaps.Components.GetTileToWorldXFunction is a new function that returns the correct conversion function to use. 2020-10-02 11:03:56 +01:00
Richard Davey
3eaacffb37 Restore previous function #4992 2020-10-02 11:03:03 +01:00
Richard Davey
0952421bfb Expose the new functtions #4992 2020-10-02 11:00:30 +01:00
Richard Davey
da3d0108f4 Restore back to previous version 2020-10-02 10:59:24 +01:00
Richard Davey
9c22133bb2 Tilemaps.Components.StaggeredWorldToTileXY is a new function that converts world coordinates to staggered tile coordinates. 2020-10-02 10:58:36 +01:00
Richard Davey
b8520f3b0d Tilemaps.Components.IsometricWorldToTileXY is a new function that converts world coordinates to isometric tile coordinates. 2020-10-02 10:58:18 +01:00
Richard Davey
7402d22c53 Tilemaps.Components.HexagonalWorldToTileXY is a new function that converts world coordinates to hexagonal tile coordinates. 2020-10-02 10:57:57 +01:00
Richard Davey
7d39bf9217 Tidy return statements 2020-10-02 10:57:14 +01:00
Richard Davey
ef2d4f6d7a Tilemaps.Components.GetWorldToTileXYFunction is a new function that returns the correct conversion function to use. 2020-10-02 10:56:44 +01:00
Richard Davey
2537e3ff70 Tilemaps.Components.GetWorldToTileXFunction is a new function that returns the correct conversion function to use. 2020-10-02 10:37:41 +01:00
Richard Davey
3352bd800c Restored previous version #4992 2020-10-02 10:37:30 +01:00
Richard Davey
92b431646a Tilemaps.Components.GetWorldToTileYFunction is a new function that returns the correct type of translation to use. 2020-10-02 10:31:02 +01:00
Richard Davey
f1c85fc220 Tilemaps.Components.HexagonalWorldToTileY is a new function that converts world Y coordinates from pixels to hexagonal tile Y coordinates. 2020-10-02 10:30:53 +01:00
Richard Davey
cb09374f9d Tilemaps.Components.StaggeredWorldToTileY is a new function that converts world Y coordinates from pixels to staggered tile Y coordinates. 2020-10-02 10:30:43 +01:00
Richard Davey
17df0f7135 Restored to previous version. #4992 2020-10-02 10:30:30 +01:00
Richard Davey
398bdf4314 Tilemap.hexSideLength is a new property that holds the length of the hexagon sides, if using Hexagonal Tilemaps. 2020-10-02 10:30:08 +01:00
Richard Davey
24437485af Fixed static function #4992 2020-10-02 10:19:13 +01:00
Richard Davey
ba4be029be Create TilemapOrientationType.js 2020-10-02 10:18:57 +01:00
Richard Davey
a8bd2204f2 Fixed updatePixelXY and prioritied orthogonal maps. #4992 2020-10-02 09:52:40 +01:00
Richard Davey
9caadeb364 Lint fix. #4992 2020-10-02 09:49:39 +01:00
Richard Davey
555c47e773 Moved Tilemap const declarations to the correct place. #4992 2020-10-02 09:48:44 +01:00
Richard Davey
c3c35322c4
Merge pull request #4992 from svipal/master
Preliminary PR for isometric support
2020-10-02 09:42:47 +01:00
samme
2223aebffb Don't update center before separation
Should be unnecessary now
2020-10-01 10:44:40 -07:00
samme
9a348409e3 Update center after separation 2020-10-01 10:42:30 -07:00
Richard Davey
6bc858e332 Moved out OBJFile and updated PipelineManager 2020-10-01 18:00:02 +01:00
Richard Davey
3baecb19d4 Moved old mesh pipeline and code into own folder 2020-10-01 17:56:49 +01:00
Richard Davey
239edd5296 Preparing for beta 8 2020-10-01 17:38:47 +01:00
Richard Davey
4b5450d136 Expose Basic ShaderLib, add Program, Attribute and Uniform handlers 2020-10-01 17:19:13 +01:00
Richard Davey
21cf8bcf78 Create ShaderChunk.js 2020-10-01 16:16:18 +01:00
Richard Davey
6c1a9282c6 Added all of the shader chunks 2020-10-01 16:16:12 +01:00
Richard Davey
8c3226dc91 New shader bundler script 2020-10-01 16:15:00 +01:00
Richard Davey
bf17d061f7 Geometry, VAO and Renderer updated ready for shader build 2020-10-01 14:29:53 +01:00
Richard Davey
2d43561e1a WebGLRenderer.vaoExtension is a new property that holds a reference to the Vertex Array Object WebGL Extension, if supported by the browser. 2020-10-01 13:48:27 +01:00
Richard Davey
0a695e6061 Material can store its own transient properties, rather than using a Map 2020-10-01 12:16:08 +01:00
Richard Davey
4238505ee2 Update Renderer.js 2020-10-01 12:15:54 +01:00
Richard Davey
f9617bd0be The RenderState class 2020-10-01 12:15:47 +01:00
Richard Davey
dd99853cdb Created all of the WebGL state handling functions 2020-10-01 12:15:29 +01:00
Richard Davey
d8992ccf9d WebGLRenderer.instancedArraysExtension is a new property that holds the WebGL Extension for instanced array drawing, if supported by the browser. 2020-10-01 10:57:13 +01:00
Richard Davey
23d6c68f1c Update Renderer.js 2020-09-30 17:45:12 +01:00
Richard Davey
b05d7f5481 Starting core renderer 2020-09-30 17:45:05 +01:00
Richard Davey
c0bfb6a61c Added basic Camera and Frustum 2020-09-30 17:07:57 +01:00
Richard Davey
3baa34bea5 Create Mesh.js 2020-09-30 17:07:40 +01:00
Richard Davey
ee7804f515 Matrix4.getInverse is a new method that takes a Matrix4, copies it to the current matrix, then returns the inverse of it. 2020-09-30 17:07:32 +01:00
Richard Davey
1907bda5ee Update GameObjectFactory.js 2020-09-30 16:30:12 +01:00
Richard Davey
5313356fb0 Added basic Geometry 2020-09-30 15:30:50 +01:00
Richard Davey
6ab0803469 Fixed path 2020-09-30 15:11:42 +01:00
Richard Davey
abf7756e19 Starting to flesh out the Layer3D Plugin basics 2020-09-30 15:10:48 +01:00
Richard Davey
1c2c479689 Include Layer3D if feature enabled 2020-09-30 15:09:57 +01:00
Richard Davey
f8d7e823d7 Quaternion.setFromRotationMatrix is a new method that will set the rotation of the quaternion from the given Matrix4. 2020-09-30 15:09:35 +01:00
Richard Davey
9afaf5f2c0 Moved RGB class 2020-09-30 14:16:13 +01:00
Richard Davey
7f3e6798e4 Added multiplyMatrices and premultiply methods and removed unused method. 2020-09-30 14:02:16 +01:00
Richard Davey
06d359dc25 Matrix4.transform is a new method that will generate a transform matrix from the given position and scale vectors and a rotation quaternion.
Removed un-used methods.
2020-09-30 13:48:59 +01:00
Richard Davey
d3e318a51c Added projectViewMatrix and unprojectViewMatrix. 2020-09-30 13:39:48 +01:00
Richard Davey
40a808cb50 Matrix4.lookAtRH is a new method that will generate a right-handed look-at matrix from the given eye, target and up positions. 2020-09-30 13:36:14 +01:00
Richard Davey
51ab68573f Matrix4.getMaxScaleOnAxis is a new method that will return the maximum axis scale from the Matrix4. 2020-09-30 13:19:20 +01:00
Richard Davey
7896bb4157 Added new methods.
* `Vector3.setFromMatrixPosition` is a new method that will set the components of the Vector3 based on the position of the given Matrix4.
* `Vector3.setFromMatrixColumn` is a new method that will set the components of the Vector3 based on the specified Matrix4 column.
* `Vector3.fromArray` is a new method that will set the components of the Vector3 based on the values in the given array, at the given offset.
* `Vector3.min` is a new method that will set the components of the Vector3 based on the `Main.min` between it and the given Vector3.
* `Vector3.max` is a new method that will set the components of the Vector3 based on the `Main.max` between it and the given Vector3.
* `Vector3.addVectors` is a new method that will set the components of the Vector3 based on the addition of the two Vector3s given.
* `Vector3.addScalar` is a new method that will multiply the components of the Vector3 by the scale value given.
* `Vector3.applyMatrix3` is a new method that will take a Matrix3 and apply it to the Vector3.
* `Vector3.applyMatrix4` is a new method that will take a Matrix4 and apply it to the Vector3.
2020-09-30 13:18:45 +01:00
Richard Davey
c299c9e108 Renamed method to setFromEuler 2020-09-30 11:23:01 +01:00
Richard Davey
3b8c78cca2 Quaternion.fromEuler is a new method that will set the quaternion from the given Euler object, optionally calling the onChangeCallback in the process.
The `Quaternion.set` method has a new optional boolean parameter `update` (defaults to `true`), which will call the `onChangeCallback` if set.
2020-09-30 11:21:28 +01:00
Richard Davey
8823f7f0e4 Removed Layer3D and Quad Game Objects 2020-09-30 11:03:19 +01:00
Richard Davey
11e6101f8d Added Math.Euler class 2020-09-30 11:02:54 +01:00
Richard Davey
368df2acef Quaternion now has a new property onChangeCallback which, if set, will be invoked each time the quaternion is updated. This allows you to link change events to other objects.
Internally, the `Quaternion` class now has 4 new private properties: `_x`, `_y`, `_z` and `_w` and 4 new getters and setters for the public versions. It also now passes most methods via `set` to allow for the onChange callback to be invoked. This does not change the public-facing API.
2020-09-30 11:02:33 +01:00
Richard Davey
4dfa49fc05 Fix return states 2020-09-30 09:23:58 +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
76d2630f8b Fixed Shake effect 2020-09-29 16:43:42 +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
780e1d9adb Texture parsed files no longer store their data in the data caches as well.
You can now use `TextureManager.remove` to remove a texture and not have to worry about clearing the corresponding JSON or XML cache entry as well in order to reload a new texture using the same key. Fix #5323
2020-09-29 10:38:44 +01:00
Richard Davey
90096a6b64 Added mention about tint to the docs. Fix #5327 2020-09-29 09:31:09 +01:00
samme
e639bb73d8 Correct Arcade Body types
For TypeScript

Fixes #5328
2020-09-28 11:42:21 -07: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
Richard Davey
1d66284a22 Removed debug logs and finished JSDocs 2020-09-28 15:25:43 +01:00
Richard Davey
34be82a20c Added processX and processY methods 2020-09-28 15:25:28 +01:00
Richard Davey
4d484e2c0c Updated to handle face blocking and all possible checks 2020-09-28 13:07:32 +01:00
Richard Davey
731e661d56 No longer needed 2020-09-28 13:07:11 +01:00
Richard Davey
4785953368 Merge branch 'master' of https://github.com/photonstorm/phaser 2020-09-28 08:07:23 +01:00
Richard Davey
09c2a2d622 Testing new separation 2020-09-28 08:07:19 +01:00
Richard Davey
30b514fc58
Merge pull request #5326 from samme/fix/body-setOffset
Remove Arcade.Body#updateCenter() in Arcade.Body#setOffset()
2020-09-26 10:19:53 +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
samme
639a93583f Remove updateCenter() in setOffset() 2020-09-25 14:42:56 -07:00
samme
d0f6070e14 Docs: Arcade.Body#setOffset 2020-09-25 14:37:26 -07:00
samme
13c27064a8 Docs: Arcade.Body#reset
Only game object receives the passed coordinates
2020-09-25 14:19:12 -07:00
Richard Davey
bed716e382 X Separation working properly in all cases. Now to adjust Y. 2020-09-25 21:25:01 +01:00
Richard Davey
7630b8e28d Testing new Separation logic (Y done, X in progress) 2020-09-25 18:01:40 +01:00
Richard Davey
2bcf1f70be Testing new separation logic (incomplete atm) 2020-09-24 18:10:11 +01:00
Richard Davey
da78d3ee42 Tidy up docs 2020-09-24 18:10:00 +01:00
Richard Davey
69b8458bb8 Added new pushable component 2020-09-24 18:09:49 +01:00
Richard Davey
b64d63f60e When running an Arcade Physics overlap test against a StaticBody, it will no longer set the blocked states of the dynamic body. If you are doing a collision test, they will still be set, but they're skipped for overlap-only tests. Fix #4435 2020-09-24 11:04:56 +01:00
Richard Davey
aa3544310c When taking a snapshot in WebGL it would often have an extra line of empty pixels at the top of the resulting image, due to a rounding error in the WebGLSnapshot function. Fix #4956 2020-09-24 10:32:47 +01:00
Richard Davey
6484bc3607 Make it clear in the docs that you cannot mix blend modes and bitmap masks. Fix #4853 2020-09-24 09:36:15 +01:00
Richard Davey
4748c7c7fc WebGLRenderer.defaultScissor is a new property that holds the default scissor dimensions for the renderer. This is modified during resize and avoids continuous array generation in the preRender loop. 2020-09-24 09:26:41 +01: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
5f28ff64a2 New clearMask and createMask methods and tidied up structure 2020-09-23 17:59:17 +01:00
Richard Davey
c6f533b872 Fixed legacy interpolation parameters 2020-09-23 17:55:29 +01:00
Richard Davey
232f8e0ebc Updated to use new uniforms and fixed renderWebGL parameters 2020-09-23 17:55:03 +01:00
Richard Davey
bba88b32d8 Fixed property name 2020-09-23 17:15:32 +01:00
Richard Davey
1f9243fe81
Merge pull request #5322 from samme/feature/setMaxVelocity
Set maxVelocity in PhysicsGroupConfig
2020-09-23 13:06:52 +01:00
Richard Davey
63bac3a13d The Loader.maxParallelDownloads value is now set to 6 if running on Android, or 32 on any other OS. This avoids net::ERR_FAILED issues specifically on Android. You can still override this in the Game Config if you wish. Fix #4957 2020-09-23 13:04:18 +01:00
Richard Davey
8d51e8ab2c Fix #4859 2020-09-23 12:59:03 +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