Commit graph

9909 commits

Author SHA1 Message Date
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
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
e2d775e083 Remove duplicate code 2020-09-23 12:06:22 +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
b350ebddcc Removed duplicate code. 2020-09-23 11:42:14 +01:00
svipal
79920709e5 removed useless change 2020-09-23 01:13:20 +02:00
samme
426c9632c7 Set maxVelocity in PhysicsGroupConfig 2020-09-22 16:05:21 -07:00
Richard Davey
76deec0ef6 When destroying an interactive Game Object that had useHandCursor enabled, it would reset the CSS cursor to default, even if the cursor wasn't over that Game Object. It will now only reset the cursor if it's over the Game Object being destroyed. Fix #5321
The `InputPlugin.shutdown` method will now reset the CSS cursor, in case it was set by any Game Objects in the Scene that have since been destroyed.
2020-09-22 22:40:56 +01:00
Richard Davey
aea0e4c925 Pointer.down will now check if the browser is running under macOS and if the ctrl key was also pressed, if so, it will flag the down event as being a right-click instead of a left-click, as per macOS conventions. Fix #4245 2020-09-22 20:42:38 +01:00
Richard Davey
fe4b706cb0 Setting the pixelArt config option will now set antialiasGL to false, as well as antialias. Fix #5309 2020-09-22 17:07:46 +01:00
Richard Davey
00b7530d7a Explain render modes better. 2020-09-22 17:00:02 +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
95b9ba55de Added setPosition and setScale 2020-09-22 15:25:09 +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
fe17dfc022 Updated docs 2020-09-22 12:48:23 +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
2143b38dc4 Added destroy method 2020-09-22 12:47:51 +01:00
Richard Davey
183e68580f Fixed dirty flag reset 2020-09-22 11:45:49 +01:00
Richard Davey
bd25dbc355 Added per-model cull mode 2020-09-22 11:39:26 +01:00
Richard Davey
0410c9f5aa Updated JSDocs 2020-09-22 11:33:40 +01:00
Richard Davey
7d5adab502 Added JSDocs 2020-09-22 11:17:40 +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
3950191468 Lots of docs and tidying up 2020-09-21 18:24:47 +01:00
Richard Davey
333945a89e Remove Mesh Game Object and add Layer3D 2020-09-21 18:24:38 +01:00
Richard Davey
afe765a2cf Fix component properties 2020-09-21 18:24:12 +01:00
Richard Davey
6abeb84ff6 Remove Face and Vertex classes 2020-09-21 18:24:03 +01:00
Richard Davey
d86cde525a Remove console.log 2020-09-21 18:23:48 +01:00
Richard Davey
d33c69b65c Updated the shaders 2020-09-21 18:23:41 +01:00
Richard Davey
24f7c2e3df Updated to use RGB objects, finished missing methods 2020-09-21 15:57:57 +01:00
Richard Davey
893453f840 New uniforms handler, new cache and dirty checks 2020-09-21 15:57: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
Richard Davey
977054a7c8 Added new RGB class to encapsulate color data 2020-09-21 15:56:09 +01:00
Richard Davey
4549fb4320 Updated type defs 2020-09-21 14:05:51 +01:00
Richard Davey
f2f3aea79a Shorter errors 2020-09-21 14:05:38 +01:00
Richard Davey
9bb510be0c Now caches uniform locations and added all of the new set1f etc uniform methods 2020-09-21 14:05:30 +01:00
Richard Davey
7a8932a3a4 Remove log 2020-09-21 14:04:52 +01:00
Vladislav Forsh
4d7301a4be Improve types for particle emitter deathZone and emitZone 2020-09-21 12:38:29 +03:00
Richard Davey
7f7d7a1b2e Can now rotate the model 2020-09-21 10:13:58 +01:00
Richard Davey
1b4af32ec2 The Quaternion class constructor will now default the values to 0,0,0,1 if they're not provided, making it an identity quaternion, rather than the 0,0,0,0 it was before. 2020-09-21 10:13:50 +01:00
Vladislav Forsh
530c7a3d92 Add reserve property to particle emitter config 2020-09-21 12:06:49 +03:00
Richard Davey
a8df17b622 Corrected JSDocs 2020-09-21 09:54:23 +01: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
3672559fc1
Merge pull request #5315 from samme/feature/onWorldBounds
Add onWorldBounds argument in Arcade.Body#setCollideWorldBounds()
2020-09-21 09:38:05 +01:00
Richard Davey
e7f6e8aa57
Merge pull request #5317 from samme/docs/cursorKeys
Docs: correct CursorKeys
2020-09-21 09:35:31 +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
Richard Davey
0ad265da2e Removed faces and verts arrays as moved to a single ArrayBuffer instance 2020-09-21 00:17:38 +01:00
Richard Davey
56caeb126f Renders whole buffer in a single draw with no vertex iteration 2020-09-21 00:17:14 +01:00
Richard Davey
1d2a8bc58f Added fog to shader 2020-09-21 00:16:43 +01:00
samme
d4059c8f6e Fix Group#getMatching 2020-09-19 10:10:25 -07:00
Svipal
3997cad5a7 same work 2020-09-19 13:05:56 +02:00
Svipal
e25c4a2e6b made it so github will not list file differences that are not there 2020-09-19 12:58:16 +02:00
Svipal
5fd854fd26 fixed dynamic layer 2020-09-19 11:45:46 +02:00
Svipal
7ca2f9f10b Merge branch 'master' of https://github.com/svipal/phaser into master 2020-09-19 11:04:49 +02:00
Svipal
a9e8c49bf0 fixed typo 2020-09-19 11:04:28 +02:00
svipal
030a9489cd
Merge pull request #9 from photonstorm/master
Final master pull hopefully
2020-09-19 11:01:04 +02:00