Commit graph

9519 commits

Author SHA1 Message Date
Richard Davey
ceb96665b8 Bumped version 2020-08-17 15:05:39 +01:00
mk360
748e699d43 update setPadding jsdoc 2020-08-10 08:21:26 +03:00
Bulat Khasanov
8e1b5e757d Allow to pass font in TextStyle 2020-08-09 23:34:31 +03:00
halilcakar
6915fd3420 Fix incorrect event names in ProcessQueue.js#205, 222 2020-08-09 19:55:09 +03:00
Svipal
40a26256c4 oop 2020-08-09 15:55:00 +02:00
Svipal
809d0b7495 merged master 2020-08-09 13:13:09 +02:00
Svipal
241d4193e8 let's try again 2020-08-09 12:33:52 +02:00
Svipal
97bb9b4a8f bad bad idea 2020-08-09 12:33:26 +02:00
Svipal
c77731d127 bad idea 2020-08-09 12:24:56 +02:00
Svipal
b4a1473fea test 2020-08-09 12:13:29 +02:00
Svipal
a72efc8ac8 Update ParseTileLayers.js 2020-08-09 11:50:25 +02:00
Richard Davey
7cc616c7b8 Bump version 2020-08-06 17:07:16 +01:00
Richard Davey
75da5b2f22 Reset all textures on rebind, which is what Externs need when finishing 2020-08-06 17:06:26 +01:00
Richard Davey
e77639561b Use charIndex, not i 2020-08-06 17:06:10 +01:00
Richard Davey
6aaf54e8a7 Don't add frame if empty 2020-08-05 14:15:01 +01:00
Richard Davey
96a64eae4e ParseXMLBitmapFont has a new optional parameter texture. If defined, this Texture is populated with Frame data, one frame per glyph. This happens automatically when loading Bitmap Text data in Phaser. 2020-08-05 12:46:28 +01:00
Richard Davey
d98d305e2f Frame.setUVs is a new method that allows you to directly set the canvas and UV data for a frame. Use this if you need to override the values set automatically during frame creation. 2020-08-05 12:45:07 +01:00
Richard Davey
a2c9c3cef6 Fix char right adjustment 2020-08-05 11:48:25 +01:00
Richard Davey
00e5c5fe0f Update BitmapTextSize.js 2020-08-04 11:25:10 +01:00
Richard Davey
ee01d36918 Update BitmapTextCharacter.js 2020-08-04 11:25:07 +01:00
Richard Davey
1db3ba72f8 Cache shadow values 2020-08-04 11:25:03 +01:00
Richard Davey
50dcc624df Get Character using char top, right and bottom 2020-08-04 11:24:56 +01:00
Richard Davey
1ae0cfc619 Include char top, right and bottom values 2020-08-04 11:24:43 +01:00
Richard Davey
380cc422b2 The ScaleManager.updateBounds method is now called every time the browser fires a 'resize' or 'orientationchange' event. This will update the offset of the canvas element Phaser is rendering to, which is responsible for keeping input positions correct. However, if you change the canvas position, or visibility, via any other method (i.e. via an Angular route) you should call the updateBounds method directly, yourself. 2020-08-04 10:35:29 +01:00
samme
981a4b1a0a Rename all setInteractive() arguments, and docs 2020-08-03 13:33:30 -07:00
Richard Davey
0d04e40e28 Updated jsdocs 2020-08-03 17:54:40 +01:00
Richard Davey
111a4e1ce2 Calling Rectangle.setSize() wouldn't change the underlying geometry of the Shape Game Object, causing any stroke to be incorrectly rendered after a size change. 2020-08-03 17:54:29 +01:00
Richard Davey
47a62cd30c If you apply setSize to the Dynamic BitmapText the scissor is now calculated based on the parent transforms, not just the local ones, meaning you can crop Bitmap Text objects that exist within Containers. Fix #4653 2020-08-03 11:33:41 +01:00
Richard Davey
2f574070d5 Setting the color value in the DynamicBitmapText.setDisplayCallback would inverse the red and blue channels if the color was not properly encoded for WebGL. It is now encoded automatically, meaning you can pass normal hex values as the colors in the display callback. Fix #5225 2020-08-03 10:53:27 +01:00
Richard Davey
0402717834 Expose new function 2020-08-03 10:49:27 +01:00
Richard Davey
ec845ce015 Use GetColorFromValue 2020-08-03 10:49:05 +01:00
Richard Davey
6a32ff56f3 Display.Color.GetColorFromValue is a new function that will take a hex color value and return it as an integer, for use in WebGL. This is now used internally by the Tint component and other classes. 2020-08-03 10:48:52 +01:00
Richard Davey
0266c7f0a2 Updated docs #5231 2020-08-03 10:37:01 +01:00
Richard Davey
8db2543e27
Merge pull request #5242 from samme/fix/collide-with-friction
Fix collisions for objects moved by friction
2020-08-03 10:27:01 +01:00
Richard Davey
08e346952a
Merge pull request #5234 from samme/patch-4
Docs: Phaser.Physics.Arcade.Group#defaults
2020-08-03 10:23:15 +01:00
Richard Davey
da05cfa1ad
Merge pull request #5244 from 16patsle/Fix_Text_types
Fix types for Text, TextFactory and TextCreator
2020-08-03 10:20:40 +01:00
Richard Davey
c9330fd469
Merge pull request #5241 from samme/docs/add-existing
Docs: generic return for add.existing()
2020-08-03 10:19:42 +01:00
Richard Davey
4ac240f280 Added String.RemoveAt 2020-08-02 23:52:45 +01:00
Richard Davey
2810396dc7 The KeyboardPlugin will now track the key code and timestamp of the previous key pressed and compare it to the current event. If they match, it will skip the event. On some systems if you were to type quickly, you would sometimes get duplicate key events firing (the exact same event firing more than once). This is now prevented from happening. 2020-08-01 21:06:42 +01:00
Richard Davey
c4000843ec The KeyboardManager and KeyboardPlugin were both still checking for the InputManager.useQueue property, which was removed several versions ago. 2020-08-01 20:54:45 +01:00
Richard Davey
fccd00e8c5 Remove deprecated events 2020-08-01 20:32:50 +01:00
Patrick Sletvold
edf0c17703
Use TextPadding type in Text game object 2020-08-01 13:35:02 +02:00
Patrick Sletvold
87e8eba213
Correctly type style in TextFactory 2020-08-01 13:34:37 +02:00
Patrick Sletvold
a525e43dcf
Add TextConfig type for TextCreator 2020-08-01 13:34:07 +02:00
Richard Davey
42d6456993 Encode dropshadow color 2020-08-01 11:24:26 +01:00
Richard Davey
959645d1f0 Always render drop shadow behind text 2020-08-01 11:24:15 +01:00
Richard Davey
22e8d22e3f BitmapText.setWordTint is a new method that allows you to set a tint color (either additive, or fill) on all matching words within a static Bitmap Text. You can specify the word by string, or numeric offset, and the number of replacements to tint. 2020-07-31 18:36:27 +01:00
Richard Davey
b9407967e3 If you give an invalid Bitmap Font key, the Bitmap Text object will now issue a console.warn. 2020-07-31 18:00:31 +01:00
Richard Davey
79e985dd93 Updated docs 2020-07-31 17:09:40 +01:00
Richard Davey
c0109c1ec9 BatchChar is a new internal private function for batching a single character of a Bitmap Text to the pipeline. 2020-07-31 16:54:29 +01:00
Richard Davey
2e378b68d1 Apply the dropShadow 2020-07-31 16:39:21 +01:00
Richard Davey
c228dd596a BitmapText.setDropShadow is a new method that allows you to apply a drop shadow effect to a Bitmap Text object. You can set the horizontal and vertical offset of the shadow, as well as the color and alpha levels. Call this method with no parameters to clear a shadow. 2020-07-31 16:39:05 +01:00
Richard Davey
aac2276692 BitmapText.preDestroy is a new method that will tidy-up all of the BitmapText data during object destruction. 2020-07-31 16:22:53 +01:00
Richard Davey
7ce39b991c Removed un-used properties 2020-07-31 16:17:36 +01:00
Richard Davey
9419606f12 BitmapText.setCharacterTint is a new method that allows you to set a tint color (either additive, or fill) on a specific range of characters within a static Bitmap Text. You can specify the start and length offsets and a per-corner tint color. 2020-07-31 16:17:23 +01:00
Richard Davey
fc6e7ef759 Removed un-used properties 2020-07-31 15:46:05 +01:00
Richard Davey
2ef28cd0e4 Added getXRound and getYRound 2020-07-31 15:45:55 +01:00
Richard Davey
4baa0522b9 Bumping to 3.50 2020-07-31 13:41:29 +01:00
Richard Davey
d16d8dc9ce BitmapTextWebGLRenderer has been rewritten from scratch to make use of the new pre-cached WebGL uv texture and character location data generated by GetBitmapTextSize. This has reduced the number of calculations made in the function dramatically, as it no longer has work out glyph advancing or offsets during render, but only when the text content updates. 2020-07-31 13:39:49 +01:00
Richard Davey
49682e744d Update BitmapText.js 2020-07-31 13:34:50 +01:00
Richard Davey
72654e04d3 Fixed bounds sizes 2020-07-31 13:34:28 +01:00
Richard Davey
c166976fcc Update BitmapTextCharacter.js 2020-07-31 12:06:57 +01:00
Richard Davey
a4577e2135 The GetBitmapTextSize function has a new boolean parameter updateOrigin, which will adjust the origin of the parent BitmapText if set, based on the new bounds calculations. 2020-07-31 12:06:45 +01:00
Richard Davey
a682b83b7c BitmapText.getCharacterAt is a new method that will return the character data from the BitmapText at the given x and y corodinates. The character data includes the code, position, dimensions and glyph information. 2020-07-31 11:36:48 +01:00
Richard Davey
a72fdd44f8 Bumping to 3.50 2020-07-31 11:32:47 +01:00
Richard Davey
e195aac919 ParseXMLBitmapFont will now calculate the WebGL uv data for the glyphs during parsing. This avoids it having to be done during rendering, saving CPU cycles on an operation that never changes. 2020-07-31 11:32:37 +01:00
Richard Davey
0385d108a8 Transform.getLocalPoint is a new method, available on all Game Objects, that takes an x / y pair and translates them into the local space of the Game Object, factoring in parent transforms and display origins. 2020-07-31 10:28:09 +01:00
Richard Davey
214b383fcd Use correct scale and added start of getCharacterAt method 2020-07-30 23:59:06 +01:00
Richard Davey
a39bcfe69a Always return chars 2020-07-30 22:38:06 +01:00
Richard Davey
a678f723c6 Always calculate includeChars 2020-07-30 22:37:34 +01:00
Richard Davey
1579069c50 Pixel accurate character data 2020-07-30 18:24:04 +01:00
Richard Davey
eef67b6c11 Update BitmapTextWebGLRenderer.js 2020-07-30 18:23:50 +01:00
Richard Davey
77feb773fd Fixed descriptions 2020-07-30 18:23:45 +01:00
Richard Davey
bf4c475e85 Floor drawFillRect values 2020-07-30 18:10:23 +01:00
Richard Davey
b108cd03f0 Fix call to GetBitmapTextSize 2020-07-30 15:43:43 +01:00
Richard Davey
408a545aac BitmapTextWord, BitmapTextCharacter and BitmapTextLines are three new type defs that are now part of the BitmapTextSize config object, as returned by getTextBounds. This improves the TypeScript defs and JS Docs for this object. 2020-07-30 15:24:49 +01:00
Richard Davey
286be7df49 The GetBitmapTextSize and BitmapText.getTextBounds functions have a new boolean parameter includeChars. When set to true it will include a characters array in the returned bounds object that contains the scaled position coordinates of each character in the BitmapText, which you could use for tasks such as determining which character of the object was clicked. 2020-07-30 15:14:25 +01:00
Richard Davey
cc3d3f7da3 The GetBitmapTextSize function used Math.round on the values, if the round parameter was true, which didn't create integers. It now uses Math.ceil instead to give integer results. 2020-07-30 14:47:31 +01:00
Richard Davey
841389628e The BitmapText.getTextBounds method was being called every frame, even if the bounds didn't change, potentially costing a lot of CPU depending on the text length and quantity of them. It now only updates the bounds if they change. 2020-07-30 14:46:32 +01:00
Richard Davey
ce9c750175 Geom.Polygon.Translate is a new function that allows you to translate all the points of a polygon by the given values. 2020-07-30 12:58:35 +01:00
samme
f653a51cc0 Docs: generic return for add.existing() 2020-07-29 12:19:09 -07:00
Richard Davey
ee92d1dac9 Geom.Intersects.GetLineToPolygon is a new function that checks for the closest point of intersection between a line segment and an array of polygons. 2020-07-29 18:12:40 +01:00
Richard Davey
771509d6c2 Phaser.Types.Math.Vector4Like is a new data type representing as Vector 4 like object. 2020-07-29 17:42:12 +01:00
Richard Davey
23c00d148d Phaser.Types.Math.Vector3Like is a new data type representing as Vector 3 like object. 2020-07-29 17:41:59 +01:00
Richard Davey
517183fd2e Geom.Intersects.GetLineToLine is a new function that will return a Vector3 containing the point of intersection between 2 line segments, with the z property holding the distance value. 2020-07-29 17:15:57 +01:00
mk360
a7371b9a85 [types] allow Text#setPadding to receive an object 2020-07-24 18:48:17 +03:00
Richard Davey
41c76d88b1 Beta tag 2020-07-24 15:34:00 +01:00
Richard Davey
fb1306e8f2 The MatterAttractors plugin, which enables attractors between bodies, has been fixed. The original plugin only worked if the body with the attractor was _first_ in the world bodies list. It can now attract any body, no matter where in the world list it is. Fix #5160 2020-07-23 18:06:17 +01:00
samme
7685067310
Docs: Phaser.Physics.Arcade.Group#defaults
#4171, #5153
2020-07-23 09:48:53 -07:00
Richard Davey
86f35ef9cf Updated docs 2020-07-23 17:35:47 +01:00
Richard Davey
b6b570fb91
Merge pull request #5233 from samme/patch-3
Docs: protect ScaleManager#onFullScreenChange
2020-07-23 17:10:14 +01:00
Richard Davey
b51a40c1a1 Update RenderTexture.js 2020-07-23 17:01:37 +01:00
Richard Davey
bb3b67c16f Update RenderTextureWebGLRenderer.js 2020-07-23 17:01:25 +01:00
Richard Davey
c31a9ad4e5 WebGLRenderer.unbindTextures is a new method that will activate and then null bind all WebGL textures. 2020-07-23 16:24:44 +01:00
Richard Davey
556b5b05be Update TextureSource.js 2020-07-23 16:23:14 +01:00
Richard Davey
9607ce89c7 Update RenderTextureWebGLRenderer.js 2020-07-23 16:22:46 +01:00
Richard Davey
9b278554d3 RenderTexture.resize (which is called from setSize) wouldn't correctly set the TextureSource.glTexture property, leading to bindTexture: attempt to use a deleted object errors under WebGL. 2020-07-23 16:22:38 +01:00
samme
02f6c51ff5
Docs: protect ScaleManager#onFullScreenChange
#5229
2020-07-22 11:22:43 -07:00
Richard Davey
27426dd0b6 Testing RenderTextures (currently broken, will fix next week) 2020-07-17 18:08:39 +01:00
Richard Davey
0ff08a2994 Update RopeWebGLRenderer.js 2020-07-17 17:07:34 +01:00
Richard Davey
1eb3464f30 Use multi-texturing 2020-07-17 17:05:05 +01:00
Richard Davey
8210700124 Enable the pipelines again 2020-07-17 17:04:49 +01:00
Richard Davey
491ca62373 The TextureTintStripPipeline now extends TextureTintPipeline and just changes the topolgy, vastly reducing the filesize. 2020-07-17 17:04:40 +01:00
Richard Davey
8d976d6ed5 WebGLRenderer.textureFlush is a new property that keeps track of the total texture flushes per frame. 2020-07-17 16:36:18 +01:00
Richard Davey
f3ebada1e0 Tidy up everything after rendering 2020-07-17 15:49:03 +01:00
Richard Davey
9280a73bf9 StaticTilemapLayer now includes the ModelViewProjection mixin, so it doesn't need to modify the pipeline during rendering. 2020-07-17 15:48:53 +01:00
Richard Davey
10c19bd24d StaticTilemapLayer.upload will now set the vertex attributes and buffer the data, and handles internal checks more efficiently. 2020-07-17 13:58:38 +01:00
Richard Davey
6e15f6b77d Refactored to tidy it up and also now works with Light2D pipeline 2020-07-17 13:56:56 +01:00
Richard Davey
8bb49332a9 Always set rotation 2020-07-17 13:55:50 +01:00
Richard Davey
d11a16deaa Added forceZero and setAttribPointers
`WebGLPipeline.forceZero` is a new property that informs Game Objects if the pipeline requires a zero bound texture unit.
* `WebGLPipeline.setAttribPointers` is a new method that will set the vertex attribute pointers for the pipeline.
2020-07-17 13:55:39 +01:00
Richard Davey
dc04949d3d Needs fixing tomorrow 2020-07-16 18:10:40 +01:00
Richard Davey
f89d53ca0d Update DynamicTilemapLayerWebGLRenderer.js 2020-07-16 17:43:14 +01:00
Richard Davey
97f601f378 LightsManager.cull now takes the viewport height from the renderer instead of the game config 2020-07-16 17:42:58 +01:00
Richard Davey
d942e2bd47 Update TextWebGLRenderer.js 2020-07-16 16:59:59 +01:00
Richard Davey
848377b8d8 The TileSprite Game Objects now support rendering with normal maps. 2020-07-16 16:59:53 +01:00
Richard Davey
fea1ade5b7 Update WebGLRenderer.js 2020-07-16 16:59:45 +01:00
Richard Davey
12fc51e2e2 If normal map set, advance the current active texture 2020-07-16 16:17:16 +01:00
Richard Davey
3dd6d8a1a4 Remove forceZero and added textureUnit 2020-07-16 16:16:57 +01:00
Richard Davey
5e8c28d468 Removed batchTexture as it's no longer needed 2020-07-16 16:16:42 +01:00
Richard Davey
68585f1718 The Text Game Object now supports rendering in Light2d, no matter which font, stroke or style it is using. 2020-07-16 16:16:26 +01:00
Richard Davey
76de5c246a Update ForwardDiffuseLightPipeline.js 2020-07-16 15:51:12 +01:00
Richard Davey
6aba9e71b1 All Shape Game Objects (Rectangle, IsoBox, Star, Polygon, etc) now support rendering in Light2d. 2020-07-16 15:51:07 +01:00
Richard Davey
786f78e91d Particle Emitter Game Objects now support rendering in Light2d. 2020-07-16 15:32:06 +01:00
Richard Davey
71d85be0df Mesh and Quad Game Objects now support rendering with normal maps. 2020-07-16 15:25:06 +01:00
Richard Davey
e7957b9380 Added getNormalMap and setGameObject 2020-07-16 15:18:02 +01:00
Richard Davey
f7e6847027 Added setGameObject method and currentUnit property 2020-07-16 15:16:17 +01:00
Richard Davey
5986f8f080 Tidying 2020-07-16 15:16:01 +01:00
Richard Davey
6c9a5f62a6 Uses setGameObject to support Light2D 2020-07-16 15:15:48 +01:00
Richard Davey
b4f0c9fde2 Uses setGameObject to support Light2D 2020-07-16 15:15:33 +01:00
Richard Davey
0c411e9e7e Removed currentUnit and batchSprite forceZero 2020-07-16 15:13:47 +01:00
Richard Davey
85f63c4a19 WebGLRenderer.isNewNormalMap is a new method that returns a boolean if the given parameters are not currently used. 2020-07-16 15:11:43 +01:00
Richard Davey
5db55a85d7 The Graphics Game Objects now support rendering in Light2d. You can even use normal map textures for the texture fills. 2020-07-16 15:10:45 +01:00
Richard Davey
38e7495b61 Fixed default normal map so all Game Objects will now render
* The pipeline now works with Game Objects that do not have a normal map. They will be rendered using the new default normal map, which allows for a flat light effect to pass over them and merge with their diffuse map colors.
2020-07-16 11:04:10 +01:00
Richard Davey
93d0378143 Added missing jsdocs 2020-07-16 11:03:49 +01:00
Richard Davey
c973f41fcc Added setters and dirty check
* `Light.dirty` is a new property that controls if the light is dirty, or not, and needs its uniforms updating.
* `Light` has been recoded so that all of its properties are now setters that activate its `dirty` flag.
2020-07-16 03:26:32 +01:00
Richard Davey
1146e6f7a3 LightsManager.destroy will now clear the lightPool array when destroyed, where-as previously it didn't. 2020-07-16 03:25:25 +01:00
Richard Davey
84968f502f Update ForwardDiffuseLightPipeline.js
* The pipeline will no longer look-up and set all of the light uniforms unless the `Light` is dirty.
* The pipeline will no longer reset all of the lights unless the quantity of lights has changed.
2020-07-16 03:24:19 +01:00
Richard Davey
3b9d115d0c Reset just units 0 and 1 2020-07-16 03:13:47 +01:00
Richard Davey
d7cf9da819 Added location cache 2020-07-16 03:13:10 +01:00
Richard Davey
5059045c76 Cache attribute location
* `WebGLPipeline.boot` will now check all of the attributes and store the pointer location within the attribute entry.
* `WebGLPipeline.bind` no longer looks-up and enables every attribute, every frame. Instead it uses the cached pointer location stored in the attribute entry, cutting down on redundant WebGL operations.
2020-07-16 03:12:53 +01:00
Richard Davey
4ab9604102 Lots of updates to this pipeline
* The `ForwardDiffuseLightPipeline.defaultNormalMap` property has been removed as it's no longer required.
* The `ForwardDiffuseLightPipeline.boot` method has been removed as it's no longer required.
* The `ForwardDiffuseLightPipeline.onBind` method has been removed as it's no longer required.
* The `ForwardDiffuseLightPipeline.setNormalMap` method has been removed as it's no longer required.
* The `ForwardDiffuseLightPipeline.bind` is a new method that handles setting-up the shader uniforms.
* The `ForwardDiffuseLightPipeline.batchTexture` method has been rewritten to use the Texture Tint Pipeline function instead.
* The `ForwardDiffuseLightPipeline.batchSprite` method has been rewritten to use the Texture Tint Pipeline function instead.
2020-07-16 02:15:53 +01:00
Richard Davey
1f3b79cf11 Normal map additions
* `WebGLRenderer.normalTexture` is a new property that holds the currently bound normal map (texture unit one).
* `WebGLRenderer.setNormalMap` is a new method that sets the current normal map texture.
* `WebGLRenderer.clearNormalMap` is a new method that clears the current normal map texture.
* `WebGLRenderer.resetTextures` is a new method that flushes the pipeline, resets all textures back to the temporary ones and resets the active texture counter.
2020-07-16 02:15:01 +01:00
Richard Davey
c6ffa0620e TextureTintPipeline.batchSprite and batchTexture has new parameters forceZero which forces use of texture unit zero. 2020-07-16 02:13:08 +01:00
Richard Davey
0b3f125ee0 Removed the Deferred Diffuse fragment and vertex shaders from the project, as they're not used. 2020-07-16 00:21:44 +01:00
Richard Davey
94d333ee1e Use new texture unit 2020-07-16 00:00:49 +01:00
Richard Davey
d34d52550d Renders using setTextureZero 2020-07-15 18:03:57 +01:00
Richard Davey
99af20aa68 The Particle Emitter Game Object WebGL Renderer function has been updated to support multi-texture units. 2020-07-15 18:03:36 +01:00
Richard Davey
9e9e45261f Added setTextureZero and clearTextureZero
* `WebGLRenderer.setTextureZero` is a new method that activates texture zero and binds the given texture to it. Useful for fbo backed game objects.
* `WebGLRenderer.clearTextureZero` is a new method that clears the texture tha was bound to unit zero.
* `WebGLRenderer.textureZero` is a new property that holds the currently bound unit zero texture.
2020-07-15 18:03:03 +01:00
Richard Davey
216d7cb1fa Updated WebGLRenderer to support new texture assignment
* The property `WebGLRenderer.currentActiveTextureUnit` has been renamed to `currentActiveTexture`.
* `WebGLRenderer.startActiveTexture` is a new read-only property contains the current starting active texture unit.
* `WebGLRenderer.maxTextures` is a new read-only property that contains the maximum number of texture units WebGL can use.
* `WebGLRenderer.textureIndexes` is a new read-only array that contains all of the available WebGL texture units.
* `WebGLRenderer.tempTextures` is a new read-only array that contains temporary WebGL textures.
* The `WebGLRenderer.currentTextures` property has been removed, as it's no longer used.
* `WebGLRenderer.currentTextures` has been removed, as it's no longer used internally.
* `WebGLRenderer.setBlankTexture` no longer has a `force` parameter, as it's set by default.
* `WebGLRenderer.setTextureSource` is a new method, used by pipelines and Game Objects, that will assign a texture unit to the given Texture Source.
* The `WebGLRenderer.setTexture2D` method has been updated to use the new texture unit assignment. It no longer takes the `textureUnit` or `flush` parameters and these have been removed from its method signature.
2020-07-15 17:11:01 +01:00
Richard Davey
9c76ec0389 Large TextureTintPipeline refactor
* The Texture Tint vertex and fragment shaders have been updated to support the `inTexId` float attribute and dynamic generation.
* The Texture Tint Pipeline has a new attribute, `inTexId` which is a `gl.FLOAT`.
* `TextureTintPipeline.bind` is a new method that sets the `uMainSampler` uniform.
* The `TextureTintPipeline.requireTextureBatch` method has been removed, as it's no longer required.
* The `TextureTintPipeline.pushBatch` method has been removed, as it's no longer required.
* The `TextureTintPipeline.maxQuads` property has been removed, as it's no longer required.
* The `TextureTintPipeline.batches` property has been removed, as it's no longer required.
* `TextureTintPipeline.flush` has been rewritten to support multi-textures.
* `TextureTintPipeline.flush` no longer creates a sub-array if the batch is full, but instead uses `bufferData` for speed.
* `TextureTintPipeline.currentUnit` is a new property that holds the most recently assigned texture unit. Treat as read-only.
2020-07-15 17:05:55 +01:00
Richard Davey
3ede28230b Update WebGLPipeline.js 2020-07-15 16:54:18 +01:00
Richard Davey
a21641e19b The Dynamic Bitmap Text Game Object WebGL Renderer function has been updated to support multi-texture units. 2020-07-15 16:54:04 +01:00
Richard Davey
50f10b3d4b The Bitmap Text Game Object WebGL Renderer function has been updated to support multi-texture units. 2020-07-15 16:53:48 +01:00
Richard Davey
446389bb4d The Blitter Game Object WebGL Renderer function has been updated to support multi-texture units. 2020-07-15 16:53:25 +01:00
Richard Davey
ec0914cd0f The Mesh Game Object WebGL Renderer function has been updated to support multi-texture units. 2020-07-15 16:53:09 +01:00
Richard Davey
c0504e4fc1 WebGL.Utils.checkShaderMax is a new function, used internally by the renderer, to determine the maximum number of texture units the GPU + browser supports. 2020-07-15 16:52:26 +01:00
Richard Davey
fd305591ec Added glIndex and glIndexCounter properties 2020-07-15 16:52:01 +01:00
Richard Davey
477b847f13 Config.render.maxTextures is a new game config setting that allows you to control how many texture units will be used in WebGL. 2020-07-15 16:51:40 +01:00
Richard Davey
7c742f95d2 Generate multi-texture shader source 2020-07-14 17:44:26 +01:00
Richard Davey
9a45517efd Pass max textures to pipeline (disable other pipelines for now) 2020-07-14 17:44:17 +01:00
Richard Davey
587c23ec3c Added maxGPUTextures property 2020-07-14 17:43:56 +01:00
Richard Davey
76689942c0 Add texture ID to shaders 2020-07-14 17:43:29 +01:00
Richard Davey
43beca7bab Create CheckShaderMax.js 2020-07-14 17:43:05 +01:00
Richard Davey
0003d278fd Updated to use new external MVP functions 2020-07-14 16:49:30 +01:00
Richard Davey
06c1336f41 Removed all functions from MVP except init and update and made them all external 2020-07-14 16:49:16 +01:00
Richard Davey
a8faef6692 Created new Model View Projection functions 2020-07-14 16:48:01 +01:00
Richard Davey
5cc387b7df Preparing for 3.25.0 dev 2020-07-14 16:47:43 +01:00
Richard Davey
dc13060042 Fixed namespace 2020-07-14 09:45:37 +01:00
Richard Davey
bbdf9b9853 Fixed data type 2020-07-14 09:45:30 +01:00
Richard Davey
d5296287b1 Fixed url type 2020-07-14 09:03:07 +01:00
Richard Davey
44f96de1fd Bump version 2020-07-14 09:02:46 +01:00
Richard Davey
2a2a2eafe8 Reverted PR #5219 because it breaks camera zooming on tilemaps 2020-07-14 08:47:52 +01:00
Richard Davey
14c1a3ad99 The ISO Triangle shape would skip rendering the left side of the first triangle in the batch. It now renders all ISO Triangles correctly. Fix #5164 2020-07-13 14:45:58 +01:00
Richard Davey
af1198dcf5 Arcade.Components.Size.setBodySize is a new method available on Arcade Physics Game Objects that allows you to set the body size. This replaces setSize which is now deprecated. Fix #4786 2020-07-13 14:34:23 +01:00
Richard Davey
7d1ca6815f Lint fixes 2020-07-13 14:16:52 +01:00
Richard Davey
40929a57e3 Calling getTextBounds on a BitmapText object would return the incorrect values if the origin had been changed, but the text itself had not, as it was using out of date dimensions. Changing the origin now automatically triggers BitmapText to be dirty, forcing the bounds to be refreshed. Fix #5121 2020-07-13 14:06:06 +01:00
Richard Davey
64c58bc592 Updated docs. Fix #5128 2020-07-13 13:36:24 +01:00
Richard Davey
dea68135fd Correct texture type. Fix #5199 2020-07-13 13:29:01 +01:00
Richard Davey
cbba26e08c
Merge pull request #5215 from cruzdanilo/layer-webgl-transform
StaticTilemapLayerWebGLRenderer: apply rotation and parent transform
2020-07-13 13:18:02 +01:00
Richard Davey
7fae62cbc8
Merge pull request #5213 from samme/fix/matter-setCrop
Fix setCrop() for Matter.Image and Matter.Sprite
2020-07-13 13:14:59 +01:00
Richard Davey
8080196800
Merge pull request #5207 from samme/feature/display-getBounds
Add Phaser.Display.Bounds.GetBounds()
2020-07-13 13:14:30 +01:00
Richard Davey
34edcff3fe
Merge pull request #5206 from samme/feature/math-RotateTo
Add Phaser.Math#RotateTo
2020-07-13 13:13:30 +01:00
Richard Davey
ab8ad19b1e
Merge pull request #5208 from samme/fix/arcade-physics-body-prev
Fix incorrect Arcade Body delta
2020-07-13 13:10:51 +01:00
Richard Davey
6bd24ded25
Merge pull request #5202 from samme/fix/arcade-physics-circular-collisions
separateCircle fixes
2020-07-13 13:07:39 +01:00
Richard Davey
6c7437cdc4
Merge pull request #5198 from samme/feature/KeyboardPlugin-removeAllKeys
Add KeyboardPlugin#removeAllKeys
2020-07-13 13:04:53 +01:00
Richard Davey
672c08ce99
Merge pull request #5197 from samme/x/startFullscreen
Fix startFullscreen() failure in Safari
2020-07-13 13:02:16 +01:00
Richard Davey
f7af980b1e Fixed version number 2020-07-13 13:01:41 +01:00
Richard Davey
be158f48e6
Merge pull request #5194 from mikewesthad/types-fix-wordwrap
Update TextStyle to have jsdocs for word wrap related properties
2020-07-13 12:57:29 +01:00
Richard Davey
6374da052f Fixed lint errors with PR #5193 2020-07-13 12:55:49 +01:00
Richard Davey
259b702df8
Merge pull request #5193 from scott20145/master
Fix nested mask behaviour for Phaser.CANVAS mode
2020-07-13 12:54:14 +01:00
Richard Davey
85e6c229b3 Updated docs for #5191 2020-07-13 12:51:36 +01:00
Richard Davey
60baaf7708 Made sure array was cleared on destroy #5159 2020-07-13 12:51:36 +01:00
Richard Davey
b8d12916e9
Merge pull request #5192 from MerganThePirate/master
Fixed bug from issue #5191
2020-07-13 12:47:23 +01:00
Richard Davey
1e0a25705e
Merge pull request #5186 from samme/feature/empty-timeline-config
Configure timeline without tweens
2020-07-13 12:45:08 +01:00
Richard Davey
7b7d897858
Merge pull request #5185 from samme/feature/tween-stop-event
Add tween 'stop' event and 'onStop' callback
2020-07-13 12:44:26 +01:00
Richard Davey
853feea355
Merge pull request #5183 from samme/feature/body-updateFromGameObject
Add Arcade.Body#updateFromGameObject
2020-07-13 12:39:45 +01:00
Richard Davey
31cdeac1ee
Merge pull request #5180 from rexrainbow/BugFix-EllipseCurve
Fix bug about setting xRadius/yRadius by width/height
2020-07-13 12:38:05 +01:00
Richard Davey
bdc206ab6d
Merge pull request #5175 from mikewesthad/master
Fix return type in Text#getTextMetrics: object -> TextMetric
2020-07-13 12:37:25 +01:00
Richard Davey
56084dfa89
Merge pull request #5172 from lozzajp/quick-doc-fix
Add info to the scene manager method headers where optional data goes.
2020-07-13 12:36:51 +01:00
Richard Davey
3d856fab51
Merge pull request #5169 from samme/misc/createSceneFromInstance
Refactor createSceneFromInstance()
2020-07-13 12:35:46 +01:00