Commit graph

148 commits

Author SHA1 Message Date
Richard Davey
25b5c2d1d1 Loads of new Mesh updates
* `Mesh.setVertices` is a new method that allows you to set the verts of a Mesh Game Object from the given parameters. This allows you to modify a mesh post-creation, or populate it with data at a later stage.
* The Mesh constructor signature has changed to `scene, x, y, vertices, uvs, indicies, colors, alphas, texture, frame`, where `indicies` is the new parameter added to the list. It allows you to provide indexed vertex data to create the Mesh from, where the `indicies` array holds the vertex index information. The final list of vertices is built from this index along with the provided vertices and uvs arrays.
* You can now supply just a single numerical value as the `color` parameter in the constructor, factory method and `setVertices` method. If a number, instead of an array, it will be used as the color for all vertices created.
* You can now supply just a single numerical value as the `alpha` parameter in the constructor, factory method and `setVertices` method. If a number, instead of an array, it will be used as the alpha for all vertices created.
* The `Mesh` Game Object now extends the `SingleAlpha` component and the alpha value is factored into the final alpha value per vertex during rendering. This means you can now set the whole alpha across the Mesh using the standard `setAlpha` methods. But, if you wish to, you can still control the alpha on a per-vertex basis as well.
* The `Mesh` Game Object now has the Animation State Component. This allows you to create and play animations across the texture of a Mesh, something that previously wasn't possible. As a result, the Mesh now adds itself to the Update List when added to a Scene.
* `Mesh.setDebug` is a new method that allows you to render a debug visualisation of the Mesh vertices to a Graphics Game Object. You can provide your own Graphics instance and optionally callback that is invoked during rendering. This allows you to easily visualise the vertices of your Mesh to help debug UV mapping.
* `Mesh.debugGraphic` is a new property that holds the debug Graphics instance reference.
* `Mesh.debugCallback` is a new property that holds the debug render callback.
* `Mesh.renderDebugVerts` is a new method that acts as the default render callback for `setDebug` if none is provided.
* `Mesh.preDestroy` is a new method that will clean-up the Mesh arrays and debug references on destruction.
2020-09-13 23:11:04 +01:00
Richard Davey
3fd52ecdd3 Added debug draw 2020-09-13 17:16:17 +01:00
Richard Davey
d198818d80 Game Objects now call the new Pipeline Manager methods directly 2020-09-09 13:05:18 +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
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
dea68135fd Correct texture type. Fix #5199 2020-07-13 13:29:01 +01:00
Richard Davey
ff65e69cd1 Changed copyright date to 2020 2020-01-15 12:07:09 +00:00
Richard Davey
752999c92b The Mesh and Quad Game Objects have had the GetBounds component removed as it cannot operate on a Mesh as they don't have origins. Fix #4902 2019-12-18 14:43:23 +00:00
Richard Davey
c91ed91ce3 License link update 2019-05-10 16:15:04 +01:00
Richard Davey
e017691c68 The ScaleMode Component has been removed from every Game Object, and along with it the scaleMode property and setScaleMode method. These did nothing anyway as they were not hooked to the render pipeline and scale mode should be set on the texture, not the Game Object. Fix #4413 2019-03-24 23:07:27 +00:00
Richard Davey
05e3520048 The Mesh.setAlpha method has been restored, even though it's empty and does nothing, to prevent runtime errors when adding a Mesh or Quad object to a Container. Fix #4338 #4343 2019-02-06 23:36:05 +00:00
Richard Davey
aa341854c7 Happy New Year 2019-01-15 16:20:22 +00:00
Richard Davey
cb57425a34 The Alpha, Flip and Origin components have been removed from the Mesh Game Object (and by extension, Quad as well) as they are not used in the renderer and should be manipulated via the Mesh properties. Fix #4188 2018-12-18 15:47:07 +00:00
Richard Davey
6f8759c186 Whenever Camera.roundPixels was enabled it would use a bitwise operation to truncate the float (x |= 0) - this has been replaced across all files that used it, with a call to Math.round instead. This gives far better results when zooming cameras both in and out of a Scene, stopping thin gaps appearing between closely packed Game Objects. 2018-11-30 10:27:25 +00:00
Richard Davey
4b1c762296 Updated @memberOf to @memberof 2018-10-10 10:49:13 +01:00
Richard Davey
dedc939fdd initPipeline now defaults to the Texture Tint Pipeline if nothing else is specified. 2018-09-05 11:19:02 +01:00
Richard Davey
4481795d32 Swapped to using getX / getY 2018-07-27 00:53:00 +01:00
Richard Davey
ec5bd1912e GameObject.willRender now takes a Camera as its only argument and uses it within the check. This has allowed me to remove 23 duplicate checks spread across the various Game Objects, all of which did the same thing, saving both KB and CPU time as the flags were being checked twice in most cases. 2018-07-19 13:19:02 +01:00
Richard Davey
5ba80defb7 Pass GO to setPipeline 2018-07-11 16:23:44 +01:00
Richard Davey
9c9e9cecbb Updated log and lint fixes 2018-07-10 16:49:53 +01:00
Richard Davey
434c8d1413 Fixed issue with sprite matrix and camera scaling 2018-07-10 13:59:49 +01:00
Richard Davey
84c7960a48 The Quad Game Object now has a new setFrame method that allows you to change the frame being rendered by the Quad, including using frames that are part of a texture atlas. Fix #3161 2018-07-09 13:42:33 +01:00
Richard Davey
8b13631107 Removed batchMesh and moved to the Mesh WebGL Renderer. Another one bites the dust. 2018-07-06 19:35:46 +01:00
Richard Davey
0428ecc430 Mesh now supports the tintFill property 2018-07-06 19:35:14 +01:00
Richard Davey
7aa46657c2 Tidying up jsdocs and changing float to number 2018-06-26 23:19:14 +01:00
Richard Davey
5a0fe89a7e Swap _id to id 2018-06-23 12:26:39 +01:00
Chris Andrew
ae214a8664 Documented the missing descriptions for the Mesh game object. 2018-06-08 15:42:55 +01:00
Richard Davey
0d0846a415 Calling a creator, such as GraphicsCreator, without passing in a config object, would cause an error to be thrown. All Game Object creators now catch against this. 2018-05-16 15:17:08 +01:00
Richard Davey
28251fd0f5 addToScene added to all Game Object Creators 2018-05-02 10:57:26 +01:00
Richard Davey
606ba6d8d7 Added new Mask component and added to all relevant Game Objects 2018-04-20 18:57:49 +01:00
Richard Davey
6299019838 Updated to use typeof DefinePlugin check. 2018-04-20 00:23:24 +01:00
Felipe Alfonso
e0f678d1ff Merge branch 'master' into containers 2018-03-28 20:49:00 -03:00
Richard Davey
747f09af86 jsdoc fixes 2018-03-28 15:04:09 +01:00
Felipe Alfonso
d544701495 parentMatrix added to individual game object render function 2018-03-27 14:49:09 -03:00
orblazer
ae0b3b841b Fix types on GameObjects 2018-03-27 14:52:58 +02:00
orblazer
87633fdfad Fix multiple types on GameObjects 2018-03-20 15:56:31 +01:00
Richard Davey
50dac412be eslint fixes and console removal 2018-02-16 19:08:50 +00:00
Richard Davey
d745b70330 The Mesh Game Object Factory entry had incorrect arguments passed to Mesh constructor. 2018-02-16 19:07:58 +00:00
Richard Davey
d1f5f8a82b Added jsdocs 2018-02-12 16:01:21 +00:00
Richard Davey
40689d1e35 Updated jsdocs. 2018-02-07 15:27:21 +00:00
Richard Davey
039d63b17d Added jsdocs 2018-02-06 17:17:34 +00:00
Richard Davey
26a496ac3f Added jsdocs 2018-02-06 15:04:20 +00:00
Richard Davey
d457373287 Added Depth component and tidied up redundant parts of Transform 2018-02-01 00:50:15 +00:00
Felipe Alfonso
71a6360a7b Pipeline components added 2018-01-29 18:46:48 -03:00
Felipe Alfonso
070d946dca Mesh and Sprite rendering 2018-01-23 16:29:47 -03:00
Felipe Alfonso
2b043fff65 Removed RenderTarget and Shader from components 2018-01-22 18:53:15 -03:00
Richard Davey
f9a7939812 Lots of work migrating to the new plugin system, fixing references and exposing on the namespace 2018-01-16 22:28:29 +00:00
Richard Davey
d8f1ba03e9 Moved repository location 2018-01-09 21:43:56 +00:00