Ben Richards
b591c3674a
Document usage of WebGLTextureWrapper
in place of WebGLTexture
.
2024-01-29 11:47:39 +13:00
Ben Richards
216b7564f6
Update systems to use WebGLTextureWrapper
and Uint8Array
textures.
...
This is mostly hooking up gl calls to look inside the wrapper.
A few other things have changed.
Spector metadata is set the new way.
`Frame` changed `glTexture` to a getter, simplifying bookkeeping.
`LightPipeline` and `Plane` use standard methods to create textures.
`WebGLRenderer` maintains a list of wrappers, and automatically
manages it through `createTexture2D` and `deleteTexture`. The update
methods `updateCanvasTexture` and `updateVideoTexture` have been
delegated to the wrapper.
2024-01-29 11:45:12 +13:00
Ben Richards
a8dff1f990
Add Uint8Array texture creation methods.
2024-01-29 11:30:54 +13:00
Richard Davey
8cae5a33e7
Update TextureManager.js
2024-01-12 17:56:30 +00:00
Steven Adams
6a28ccbee1
Added correct parameters for create
2023-11-14 08:38:05 -05:00
Richard Davey
0b32610e56
Updated version to 3.70
2023-11-10 15:04:01 +00:00
Richard Davey
dada2ad181
Now parses Texture Packer 7.1.0 scale9 data and stores it on the Frames
2023-11-09 18:23:44 +00:00
Richard Davey
921ff93ba0
Added setScale9
method and scale9
and is3Slice
boolean properties
...
* `Frame.setScale9` is a new method that allows you to set the scale9 data associated with the given Frame. This is used internally by the Texture Packer parsers, but can also be called directly.
* `Frame.scale9` is a new read-only boolean property that returns `true` if the Frame has scale9 data associated with it.
* `Frame.is3Slice` is a new read-only boolean property that returns `true` if the Frame has scale9 data associated with it that is 3-slice instead of 9-slice.
2023-11-09 18:23:27 +00:00
Richard Davey
a7d7a7d526
The Game instance will now boot the new SYSTEM_READY
event, which indicates that the internal Scene System has been created by the Scene Manager and is ready for use. The Texture Manager now listens for this event in order to create the stamp
Image. This fixes an issue where the stamp would throw a run-time error if the game didn't feature a preload
function. Fix #6616
2023-11-09 13:42:00 +00:00
Richard Davey
6f801eeac7
The TextureSource.setFilter
method will now check to see if renderer
is defined before accessing its gl
property. This avoids Phaser crashing if you're in headless mode and set anti-aliasing to false in the game config. Fix #6663
2023-11-08 18:48:36 +00:00
Richard Davey
5812b4b7a7
Fixed issue with Dynamic Textures and Render Textures not displaying until resized. Fix #6662
2023-11-03 19:02:52 +00:00
Richard Davey
b52221316b
Update DynamicTexture.js
...
See. Never deploy on Friday the 13th.
2023-10-13 18:37:22 +01:00
Richard Davey
3333fa39e7
Fixed DynamicTexture memory leak on WebGL
...
* The `DynamicTexture` was leaking memory by leaving a WebGLTexture in memory when its `setSize` method was called. This happens automatically on instantiation, meaning that if you created DynamicTextures and then destroyed them frequently, memory would continue to increase (thanks David)
* `DynamicTexture.width` and `height` were missing from the class definition, even though they were set and used internally. They're now exposed as read-only properties.
* `DynamicTexture.setFromRenderTarget` is a new method that syncs the internal Frame and TextureSource GL textures with the Render Target GL textures.
2023-10-13 17:14:22 +01:00
Richard Davey
2d364f08c4
Clear stamp texture if current
2023-10-12 15:22:26 +01:00
Richard Davey
e5b04be760
Reset stamp texture
2023-10-12 15:22:26 +01:00
Richard Davey
aec66eea78
2nd parameter not required
2023-10-12 15:22:26 +01:00
Richard Davey
6fcee8fe8f
No need to null the source glTexture
2023-10-12 15:22:26 +01:00
Richard Davey
2ad71909f3
The DynamicTexture.fill
method will now correctly draw the fill rectangle if the width
and height
are provided in WebGL, where-as before it would assume the y axis started from the bottom-left instead of top-left. Fix #6615
2023-09-27 18:44:39 +01:00
Richard Davey
e3c1478867
null the glTexture reference
2023-09-05 14:56:06 +01:00
Richard Davey
c82a6bb466
DynamicTexture.preDestroy
was never called, leading to an accumlation of framebuffers in memory. This method has now been renamed to destroy
and cleans all references correctly.
2023-09-05 12:55:01 +01:00
Richard Davey
61fa744473
Fixed the methods addAtlasJSONArray
, addAtlasJSONHash
, addAtlasXML
and addUnityAtlas
. Fix #6565
2023-08-28 16:21:17 +01:00
Charlie Schwabacher
bb2a156586
avoid TypeError in addSpriteSheet method of TextureManager
2023-05-09 17:10:52 -07:00
Richard Davey
a1e77e9e6b
You can now correctly loading a Sprite Sheet with a Normal Map. The TextureManager.addSpriteSheet
method has been updated to take an optional dataSource
parameter and the SpriteSheetFile.addToCache
method has been rewritten to handle normal maps as well.
2023-04-12 06:49:54 +01:00
Richard Davey
91d598bd4f
Added getWebGLTexture method
2023-04-11 23:42:17 +01:00
Richard Davey
f895350f3e
Fixed lint error. Also we can call batchGameObject directly #6456
2023-04-07 13:31:38 +01:00
Rex
9c439671cc
Add skipBatch in config parameter of stamp method
2023-04-06 21:20:23 +08:00
Richard Davey
b8872b79d4
Sets forceClamp to false
2023-03-27 17:48:38 +01:00
Richard Davey
c8acb16fa7
Added { willReadFrequently }
to every canvas context, no matter where it comes from
2023-03-09 17:30:04 +00:00
Richard Davey
4914e3ca36
DynamicTexture RenderTarget will autoResize. Fix #6411
2023-03-03 13:09:25 +00:00
Richard Davey
e699fef68b
Typo
2023-02-01 18:27:32 +00:00
Bambosh
7cbf56c3ae
Fixed SpriteSheetFromAtlas out of range sourceIndex
2023-01-26 16:28:15 +11:00
samme
cc8dcaaded
Fix Texture#has()
2023-01-18 17:29:14 -08:00
Richard Davey
2faa1dd824
Merge pull request #6337 from samme/feature/canvastexture-update
...
Add optional update argument to CanvasTexture methods
2023-01-18 16:27:40 +00:00
Richard Davey
8dccc85208
Updated docs
2023-01-11 17:35:17 +00:00
samme
190c3af510
Add optional update to CanvasTexture methods
2023-01-08 09:25:45 -08:00
Richard Davey
468bf7821d
Updated copyright year
2023-01-02 17:36:27 +00:00
Richard Davey
a39cebf7dc
Removed old code
2022-12-09 18:19:53 +00:00
Richard Davey
96bbc1dfd5
Revised jsdoc return type
2022-12-08 16:23:56 +00:00
Richard Davey
890cf74e8d
Move here until it goes into its own example
2022-12-05 22:58:30 +00:00
Richard Davey
064e8a3ec2
Fixed type issues
2022-11-10 16:05:20 +00:00
Richard Davey
e878cebd16
Force it to return Color object
2022-10-31 22:17:39 +00:00
Richard Davey
598921b638
If in debug mode, add texture key to Spector meta data
2022-10-28 17:53:55 +01:00
Richard Davey
147479c992
Update TextureSource.js
2022-10-19 15:33:57 +01:00
Richard Davey
27a4804978
Consolidate vars
2022-10-19 15:22:53 +01:00
Richard Davey
051dadd02a
Add 'willReadFrequently' to CanvasTexture
2022-10-14 13:25:01 +01:00
Richard Davey
ead9de5c04
Drawing a frame via draw
, drawFrame
or batchDrawFrame
and specifying a tint
value would inverse the Red and Blue channels. These are now handled properly. Fix #5509
2022-10-10 17:44:00 +01:00
Richard Davey
a970e0bcfb
Using DynamicTexture.fill
in CANVAS mode only, after using the erase
method, wouldn't reset the global composite operation correctly, resulting in fills. Fix #6124
2022-10-10 15:39:16 +01:00
Richard Davey
b318cd734f
Removed use of UUID from RenderTexture and fixed saveTexture method.
2022-10-09 16:01:06 +01:00
Richard Davey
4a44bd6024
Update Texture.js
2022-10-07 16:23:34 +01:00
Richard Davey
c9e37ed373
Remove calls to resetTextures
2022-10-07 16:09:23 +01:00