Richard Davey
b74928b2f8
Added hideCCW
, addOBJ
, addModel
, sortByDepth
, rotateX
, rotateY
, rotateZ
, depthSort
, addVertex
and addFace
methods.
2020-09-15 18:09:19 +01:00
Richard Davey
431eb69b42
Much cleaner rendering function, skipping invalid faces
2020-09-15 18:07:51 +01:00
Richard Davey
3e133c900a
New method signature order
2020-09-15 18:07:24 +01:00
Richard Davey
a2a199818e
Added contains
and isCounterClockwise
methods and depth
property
2020-09-15 18:07:14 +01:00
Richard Davey
229d27dc9e
Updated docs and added load
method
2020-09-15 18:06:48 +01:00
Richard Davey
d8a8aa8448
Added clearVertices
and renamed to addVertices
so you can append on more verts post-creation
2020-09-15 11:57:44 +01:00
Richard Davey
b763fa0f18
The Mesh now renders by iterating through the Faces array, not the vertices. This allows you to use Array methods such as BringToTop
to reposition a Face, thus changing the drawing order without having to repopulate all of the vertices.
2020-09-15 11:57:22 +01:00
Richard Davey
92982d810b
Added ability to get InCenter. translate and rotate Face
2020-09-14 17:35:06 +01:00
Richard Davey
52d5b00fe5
Added setPosition
and translate
methods
2020-09-14 17:34:47 +01:00
Richard Davey
6a966e3f3b
Removed interpolationPercentage
parameter from all render methods, as it has never been used.
2020-09-14 15:33:58 +01:00
Richard Davey
1057ead114
Dump all of the old mega arrays and replace with an array of Vertex instances.
2020-09-14 15:09:34 +01:00
Richard Davey
6a3ce21702
GameObject.Face
is a new micro class that consists of references to the three Vertex
instances that construct the single Face.
2020-09-14 15:08:36 +01:00
Richard Davey
8fc969088c
GameObject.Vertex
is a new micro class that encapsulates all of the data required for a single vertex, such as position, uv, color and alpha. This class is now created internally by the Mesh Game Object.
2020-09-14 15:08:25 +01:00
Richard Davey
8d25510b61
GameObjects.GetCalcMatrix
is a new function that is used to calculate the transformed Game Object matrix, based on the given Game Object, Camera and Parent. This function is now used by the following Game Objects: BitmapText
(Static and Dynamic), Graphics
, Mesh
, Rope
, Shader
, Arc
, Curve
, Ellipse
, Grid
, IsoBox
, IsoTriangle
, Line
, Polygon
, Rectangle
, Star
and Triangle
. This dramatically reduces the amount of duplicate code across the API.
2020-09-14 15:01:40 +01:00
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