Commit graph

12759 commits

Author SHA1 Message Date
Ben Richards
89543c9880 Change S3TCRGB to S3TCSRGB. 2024-02-17 20:59:00 +13:00
Ben Richards
f8ebbf38ef Verify compressed texture compatibility with WebGL and improve warnings. 2024-02-17 20:43:43 +13:00
Ben Richards
27f61c25e9 Merge remote-tracking branch 'origin/master' 2024-02-17 18:16:14 +13:00
Ben Richards
6c8c432fbf Add support for sRGB color in ETC compressed PVR files. 2024-02-17 18:15:56 +13:00
Robert Kowalski
b4c9cc92c2 Call the Time.Timeline loop callback earlier 2024-02-16 16:31:05 -05:00
Ben Richards
d70c107fde Add experimental support for BPTC compressed textures in PVR files.
These haven't been verified to work, but PVR format 15
(COMPRESSED_RGBA_BPTC_UNORM_EXT or COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT)
conforms to the specification, and PVR format 14
(COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT or
COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT) is a best guess.
2024-02-16 17:55:44 +13:00
Ben Richards
14bea5a995 Support sRGB compressed textures in PVR files.
ASTC format textures would previously be defaulted to linear RGB.
S3TC format textures would either default to linear RGB,
or not load at all.
2024-02-16 17:48:43 +13:00
Robert Kowalski
6bb3138c03 Path lineTo and moveTo now support Vector2Like Fix #6557 2024-02-15 20:24:49 -05:00
samme
5500c2170b Docs: TweenChainBuilderConfig descriptions 2024-02-15 17:01:49 -08:00
samme
55fb8a4ad8 Docs: remove unused TweenChainBuilderConfig props 2024-02-15 16:58:55 -08:00
Richard Davey
61a8fda08c Merge branch 'master' of https://github.com/phaserjs/phaser 2024-02-14 22:34:22 +00:00
Richard Davey
43954cf89b The Device.Browser.safari regular expression has been strenghtened so it now captures versions with double or triple periods in. Previously it would fail for Version/17.2.1 due to the minor value 2024-02-14 22:32:42 +00:00
Robert Kowalski
b9a7b3ed33 Cleanup and added loop callback to Time.Timeline 2024-02-14 10:21:06 -05:00
Ben Richards
878d3d2211 Fix support for BPTC and RGTC texture compression.
They use different WebGL extension name formats.
2024-02-13 17:38:19 +13:00
Robert Kowalski
e999c5a911 Add repeating functionality to Time.Timeline Fix #6560 2024-02-12 18:00:36 -05:00
Robert Kowalski
480cccb19e Add hitAreaCallback workaround back to Input.InputPlugin#setHitArea 2024-02-12 10:03:54 -05:00
Robert Kowalski
51dfa7866e Adds metadata event to Video Game Objects and a starting texture Fix #6475 2024-02-09 22:36:52 -05:00
Steven Yau
a25d61068e File creation checks if URL is a string before seeing if its Base64
Fixes #6733
2024-02-09 21:42:22 +00:00
Richard Davey
3015fe11eb v3.80 Beta 2 2024-02-09 14:39:41 +00:00
Ben Richards
5ac59c1890 Fix headless renderer compatibility. 2024-02-09 18:57:13 +13:00
Ben Richards
9ab82970c7 Fix inappropriate default type of Shader._deferSetShader. 2024-02-09 18:40:37 +13:00
Ben Richards
2e8a8f8081 Add default normal map texture __NORMAL.
Remove `LightPipeline.defaultNormalMap`, as this universal texture is
now available to use.
2024-02-09 15:51:53 +13:00
Ben Richards
23a672bc48 Improve resize handling.
Although the `resize` function does make GL calls,
they will have no effect during context loss.
2024-02-09 12:28:20 +13:00
Ben Richards
6d56791568 Fix incorrect type on WebGLAttribLocationWrapper.wegGLAttribLocation.
A uniform uses a `WebGLUniformLocation`, but an attrib uses a `GLint`.
2024-02-09 11:06:47 +13:00
Ben Richards
4353a1e175 Improve safety around context loss.
Clarify notes on drawing dynamic textures during context loss.
Allow `Shader` to initialize and operate during context loss.
Improve resize handling on context loss and recovery.
2024-02-08 18:53:10 +13:00
Robert Kowalski
b762b28575 Use built in HasAny to check for Mesh Game Objects 2024-02-07 21:05:31 -05:00
Robert Kowalski
827d6320e7 Remove old Mesh based Game Object detection for input and check if interactive config is empty 2024-02-07 15:52:17 -05:00
Robert Kowalski
798082c6c6 Mesh based Game Objects can use an input configuration Fixes #6510 2024-02-06 23:44:02 -05:00
Ben Richards
36a05e268a Merge remote-tracking branch 'origin/master' 2024-02-07 12:00:45 +13:00
Ben Richards
719e7a5e73 Remove unnecessary checks around Text WebGL texture. 2024-02-07 11:50:33 +13:00
Robert Kowalski
d35e69ce25 Move resetCursor so it does not lose input Fix #6387 2024-02-05 18:38:42 -05:00
Ben Richards
7ed40fdf7d Allow WebGL wrapper operations during context loss. 2024-02-05 16:40:16 +13:00
Ben Richards
06d463e92e Fix text initialization in WebGL.
As `frame.glTexture` is now a getter, this would error out in strict mode.
Repeated texture updates would also generate new wrappers.
2024-02-05 15:39:17 +13:00
Ben Richards
a4e96855fc Correct documentation of LightPipeline.currentNormalMap. 2024-02-05 14:30:24 +13:00
biometricPsychography
27f0a822c8 docs: move overlapOnly caveat to the @classdesc 2024-02-03 13:26:22 -06:00
Robert Kowalski
39b35580c9 Keep temp hit test when disabling interactivity Fix #6601 2024-02-02 17:56:45 -05:00
Robert Kowalski
2cf82a9b54
Merge pull request #6730 from samme/fix/static-body-reset-offset
Reapply offset when resetting static body
2024-02-02 16:17:23 -05:00
David Négrier
e5454a1203 Fixing the Postfix pipeline without introducing a skip frame
Due to #6681, we introduced a skip frame to wait for the PostFX pipeline to be correctly booted.
While this fixed the display issue, it introduced a "skip" frame.
The pipeline would only be visible one frame after being introduced.

The root issue is a binding issue on currentRenderTarget.

Here, we fix the root issue and remove the skip frame.
2024-02-02 16:05:08 +01:00
Richard Davey
604c34c13b Stop tsgen from crashing! 2024-02-02 13:56:24 +00:00
Richard Davey
e00d12195d Fixed incorrect jsdocs 2024-02-02 13:03:38 +00:00
Richard Davey
7bac75a2f4 Fixed some jsdoc name references and minor lint errors 2024-02-02 13:01:03 +00:00
Richard Davey
56f4c89938
Merge pull request #6725 from phaserjs/webgl-wrappers
Merge WebGL Context Loss work
2024-02-02 12:36:57 +00:00
Ben Richards
49e9d45435 Emit LOSE_WEBGL event.
Also rearrange RESTORE_WEBGL event code.
2024-02-02 21:57:28 +13:00
Ben Richards
d57b46e690 Tidy up wrappers on WebGLRenderer destroy. 2024-02-02 20:55:09 +13:00
Ben Richards
4fd8fc94c3 Fix WebGLShader recovery from WebGL context loss. 2024-02-02 20:50:39 +13:00
Ben Richards
6f36e8201d Fix Shader recovery from WebGL context loss. 2024-02-02 17:43:53 +13:00
Ben Richards
1ad6a64a81 Ensure that Shader render target is correctly updated. 2024-02-02 16:52:50 +13:00
Ben Richards
ade7b57e3d Restore WebGL extensions. 2024-02-02 16:29:24 +13:00
Ben Richards
b66028ec8e Handle more invalidated state on WebGL context restore. 2024-02-02 15:53:03 +13:00
Ben Richards
4c849cb2f7 Tidy up WebGL Wrappers.
Dispose of all references on destroy.
Properly name WebGLProgramWrapper#initialize.
Remove renderer dependence in WebGLFramebufferWrapper.
2024-02-02 15:30:38 +13:00
Ben Richards
24d739ed72 Emit RESTORE_WEBGL event. 2024-02-02 11:33:27 +13:00
Richard Davey
221eb1ae5d Added base64 property and onBase64Load method and removed data URI warnings 2024-02-01 19:23:26 +00:00
Richard Davey
324dcfba97 The XHRLoader will now return a fake XHR result object containing the decoded base64 data if a base64 file is detected, skipping the creation of a real XML Http Request object. 2024-02-01 19:23:26 +00:00
Richard Davey
aa0d60786f Update XMLFile.js 2024-02-01 19:23:26 +00:00
Richard Davey
8e4ea336c0 The ImageFile will now default to using the Image Load Element if a base64 file is detected, instead of throwing a console warning about unsupported types. 2024-02-01 19:23:26 +00:00
Robert Kowalski
d967da83d2 Merge branch 'master' of https://github.com/phaserjs/phaser 2024-02-01 13:10:42 -05:00
Robert Kowalski
0f55324632 pointerConstraint can't getWorldPoint with no camera. Fix #6684 2024-02-01 13:10:30 -05:00
Richard Davey
5bda070c98 The XHRLoader will now listen for ontimeout and if triggered it will hand over to the File.onError handler. This prevents the Loader from stalling if a file times out. Fix #6472 2024-02-01 17:30:10 +00:00
Richard Davey
ceb92cb366 If you enable a Game Object for Input Debugging, the debug shape will no longer be rendered if the Game Object itself is not visible. Fix #6364 2024-02-01 17:25:52 +00:00
Richard Davey
d6d812fc86 Update Polygon docs re: getBounds. Fix #5441 2024-02-01 16:42:55 +00:00
Robert Kowalski
86b8364dd2 preventDefault in onTouchEndWindow when DOM elements are over input 2024-02-01 11:18:54 -05:00
Ben Richards
a0f066c543 Restore WebGL context.
All textures and shaders should automatically recover from WebGL
context loss.
Dynamic textures will lose their contents, unfortunately, as the texture
was stored on the GPU.
Frame buffers still have some bugs to work out.
2024-02-01 16:59:00 +13:00
Ben Richards
587b6e7bcd Merge branch 'master' into webgl-wrappers 2024-02-01 11:00:08 +13:00
Richard Davey
a2f47d65c1 Modified RandomDataGenerator.weightedPick method to avoid sampling past the last element. Fix #6701 2024-01-31 21:33:47 +00:00
Richard Davey
45f553d8af x and y are non-optional. Fix #6518 2024-01-31 21:22:39 +00:00
Richard Davey
9bf53dd7c9 Added WebGLPipeline[] as a valid type for the pipeline property 2024-01-31 21:18:11 +00:00
Robert Kowalski
bfce4b7269 Merge branch 'master' of https://github.com/phaserjs/phaser 2024-01-31 15:34:22 -05:00
Robert Kowalski
a48db68b53 The PlaceOnLine Action now supports ease functions 2024-01-31 15:34:19 -05:00
Richard Davey
cf27547793 The Matter.Body function scale has been updated so if the Body originally had an inertia of Infinity this will be restored at the end of the call. This happens if you set a Matter Body to have fixed rotation. Fix #6369 2024-01-31 20:32:10 +00:00
Richard Davey
51074c4567 The PostFXPipeline.postBatch method will now skip onDraw is the pipeline hasn't booted, introducing an artificial frame skip. This should potentially fix glitch errors on mobile devices where Post FX would appear corrupted for a single frame. Fix #6681 2024-01-31 20:23:43 +00:00
Richard Davey
c6c7fd60a6 The BloomFX and BlurFX and any custom pipeline that relies on using the UtilityPipeline full or half frame targets will now correctly draw even after the renderer size changes. Fix #6677 2024-01-31 19:35:10 +00:00
Richard Davey
92065facf0 You can now specify an autoResize boolean in the RenderTargetConfig which is passed to the Render Targets when they are created by a pipeline. 2024-01-31 19:15:21 +00:00
Richard Davey
97967288b6 DynamicTexture.setSize will now check to see if the glTexture bound to the current frame is stale, and if so, destroy it before binding the one from the Render Target. This fixes an issue where constantly destroy and creating Dynamic Textures would cause a memory leak in WebGL. Fix #6669 2024-01-31 18:12:51 +00:00
Richard Davey
4ea4e55e0f DynamicTexture will now automatically call setSize(width, height) for both WebGL and Canvas. Previously it only did it for WebGL. This fixes an issue where DynamicTextures in Canvas mode would have a width and height of -1. Fix #6682 2024-01-31 17:36:21 +00:00
Richard Davey
f258e11cb7
Merge pull request #6723 from samme/feature/renderer-custom-builds
Exclude the renderers by feature flag
2024-01-31 17:24:22 +00:00
Richard Davey
2489396d58 Updated docs 2024-01-31 17:15:38 +00:00
Richard Davey
f268ba3f6d Removed debug code 2024-01-31 16:51:54 +00:00
Richard Davey
25787bde36 * The Layer.removeAll, remove and add methods have been removed. These methods are all still available via the List class that Layer inherits, but the destroyChild parameters are no longer available. 2024-01-31 16:51:54 +00:00
Robert Kowalski
4e56bf453b Merge branch 'master' of https://github.com/phaserjs/phaser 2024-01-31 11:34:24 -05:00
Robert Kowalski
ab0ce4d335 CheckIsoBounds after checking if the iso tile will be visible 2024-01-31 11:34:21 -05:00
samme
5ec9508c35 Reapply offset when resetting static body 2024-01-31 07:53:54 -08:00
Richard Davey
00c5d02e4e Testing Layer remove fix 2024-01-31 15:35:18 +00:00
Ben Richards
8906e22aeb Add PipelineManager#restoreContext method for restoring uniforms.
Also add `WebGLShader#syncUniforms` and other code necessary to retain
and reapply uniform state on the GPU.
2024-01-31 16:46:41 +13:00
Robert Kowalski
b27e4d3744
Merge pull request #6537 from jorbascrumps/feat-use-seeded-random-for-tilemap-weighted-randomize
Updates `Tilemaps.Components.WeightedRandomize` to use seeded random value
2024-01-30 18:45:20 -05:00
Ben Richards
9b8bb39e7c Fix texture uniform setting in Shader.
This call was crashing with the more explicit location wrappers,
as the location hadn't actually been created yet.
The call isn't necessary, as uniforms are set before rendering.
2024-01-31 11:55:31 +13:00
Ben Richards
b9deef7e61 Destroy location wrappers when they're unused. 2024-01-31 11:53:50 +13:00
Richard Davey
f7049fe831 Merge branch 'master' of https://github.com/phaserjs/phaser 2024-01-30 22:44:28 +00:00
Richard Davey
04b28e63f2 Fixed jsdoc 2024-01-30 22:44:25 +00:00
Ben Richards
e920b1a961 Create and use wrappers for WebGLUniformLocation and WebGLAttribLocation. 2024-01-30 22:13:51 +13:00
Robert Kowalski
be5223936a Update CHANGELOG-v3.80.md 2024-01-29 23:33:19 -05:00
Robert Kowalski
6c55aba8d9
Merge pull request #6714 from dhashvir/master
fix nineslice hit areas
2024-01-29 20:04:33 -05:00
Ben Richards
0f9fb3177d Fix incorrect WebGL calls. 2024-01-30 11:23:27 +13:00
Robert Kowalski
ddc43fcbee
Merge pull request #6694 from Byvire/master
Check for undefined to avoid a crash in the examples at phaser3-custo…
2024-01-29 15:27:08 -05:00
Robert Kowalski
e0e3de008a
Merge pull request #6722 from samme/feature/setTilesetImage-warnings
Improve the warnings in addTilesetImage()
2024-01-29 12:38:05 -05:00
samme
002fa6300a Improve the warnings in addTilesetImage() 2024-01-29 09:17:41 -08:00
Ben Richards
2382f7c1eb Create and use WebGLProgramWrapper.
This handles shader programs.
Also tweak the documentation in WebGLBufferWrapper and
WebGLFramebufferWrapper to better reflect purpose.
2024-01-29 17:35:57 +13:00
Ben Richards
377221de35 Create and use WebGLBufferWrapper.
This mostly handles VertexBuffers, but there's an IndexBuffer which
is not internally used that uses the same wrapper.
2024-01-29 16:40:18 +13:00
Ben Richards
842d666ebf Use and document WebGLFramebufferWrapper.
Also tweak WebGLTextureWrapper to have more standard destroyers
in itself and WebGLRenderer.
2024-01-29 14:53:23 +13:00
Ben Richards
68671f0d8a Create WebGLFramebufferWrapper to encapsulate state. 2024-01-29 14:48:28 +13:00
Ben Richards
b591c3674a Document usage of WebGLTextureWrapper in place of WebGLTexture. 2024-01-29 11:47:39 +13:00