Commit graph

3942 commits

Author SHA1 Message Date
Richard Davey
346fbc2cbd Blitter + Bob now rendering and updating fully. 2016-11-15 01:57:42 +00:00
Richard Davey
6866e8303a Added immediate option, to skip the Update Manager. 2016-11-15 01:57:29 +00:00
Richard Davey
e150efea1f Added Blitter Game Object, for fast drawing of texture frames, with single level transforms. 2016-11-14 23:38:41 +00:00
Richard Davey
67eb8753e8 Added default values. 2016-11-14 23:38:20 +00:00
Richard Davey
4d4344bf03 Arcade Physics updated to use new Transform system. 2016-11-11 02:20:31 +00:00
photonstorm
aac31f6858 FBOs are bound to parents. 2016-11-10 17:05:04 +00:00
photonstorm
e66c1514e0 Transforms update vertex data on parent changes. 2016-11-10 17:04:55 +00:00
photonstorm
49c57089b3 Quick test. 2016-11-10 17:04:37 +00:00
photonstorm
fa3905c8c7 Containers added themselves to States properly. 2016-11-10 17:04:29 +00:00
Richard Davey
d0eab7a4e7 Added Ellipse.circumferencePoint 2016-11-10 03:00:41 +00:00
Richard Davey
f621f4aa81 Added ref to State Manager. 2016-11-10 02:01:02 +00:00
Richard Davey
13d8f332f4 Drag events. 2016-11-10 00:53:29 +00:00
Richard Davey
fb8da7ac08 Fixed transform look-up. 2016-11-10 00:41:15 +00:00
Richard Davey
8d8ca49f5e Fixed UpdateManager call. 2016-11-10 00:10:48 +00:00
Richard Davey
89885dcb7c Refactored the Input Manager. 2016-11-10 00:10:39 +00:00
photonstorm
be13ededee Panic stations. 2016-11-09 15:33:47 +00:00
photonstorm
38868d6ecf Fixed Pixel Field. 2016-11-09 15:33:42 +00:00
photonstorm
519c121a52 Updated the way the State Config works. 2016-11-09 14:52:53 +00:00
photonstorm
9064727b41 Added performance.now polyfill. 2016-11-09 14:52:44 +00:00
photonstorm
c0a98c467f Removed the console debug. 2016-11-09 14:52:34 +00:00
photonstorm
0c14b261d5 Removed all the _old properties. 2016-11-09 14:52:23 +00:00
photonstorm
7a35f68ddc MainLoop rendering interpolation done. 2016-11-09 12:25:26 +00:00
Richard Davey
961997ac5c Debugging the loop. 2016-11-09 09:05:50 +00:00
Richard Davey
48f90fec34 Implemented a State based MainLoop system, with fully split logic / render cycles and frame rate. Each State can now set its own frame rate. Added in more Camera commands, moved the Tween Manager into the State Systems, and started work on the new heavily reduced Game object. 2016-11-08 01:50:57 +00:00
photonstorm
b3c2ddb420 Pre-crash salvage. 2016-11-07 17:05:14 +00:00
Richard Davey
c683ae2e1f Tidying up. 2016-11-07 01:01:09 +00:00
Richard Davey
d34a5062c0 New Frame Crop function. 2016-11-07 00:33:53 +00:00
Richard Davey
4b42972a9b Comment out some parts that don't work yet. 2016-11-07 00:33:42 +00:00
Richard Davey
2e4e4be68d Added Frame.clone. 2016-11-07 00:33:18 +00:00
Richard Davey
efebd79e30 Added State.pause. 2016-11-06 16:50:45 +00:00
Richard Davey
f2cb384da0 State indexing added. 2016-11-06 13:59:48 +00:00
Richard Davey
967bb6cc02 Don't move to active until init / preload / create is over. 2016-11-06 13:04:45 +00:00
Richard Davey
d568d2bede Moved _sys to a StateSystems class to keep things much cleaner, and avoid setter inheritance mess. 2016-11-06 12:18:08 +00:00
Richard Davey
21937a1106 States can once again be defined from pure functions now. 2016-11-04 06:25:07 +00:00
Richard Davey
89a737a620 State Manager holds all given states until booted before creating them. 2016-11-04 05:41:00 +00:00
Richard Davey
a5736f10e3 Phaser.State now takes a config object. Can be used to set managers, position, name, etc. 2016-11-04 04:12:18 +00:00
Richard Davey
c60eae4ee1 Fixed vert dimensions, texture still needs to be based on renderer size. 2016-11-04 04:11:47 +00:00
Richard Davey
f9745bbce3 States now own a Loader instance, rather than it being a Phaser global. 2016-11-04 03:21:04 +00:00
Richard Davey
893d35ea89 Multiple States now rendering together, with their own systems and managers :) 2016-11-04 03:09:48 +00:00
Richard Davey
2326b331f1 States now have their own FBO (under WebGL) which the renderer uses. 2016-11-04 02:24:49 +00:00
Richard Davey
a366ef8f3c New State Manager up and running. 2016-11-04 02:08:17 +00:00
Richard Davey
dd34e4033a Brand new State class. 2016-11-03 22:26:52 +00:00
Richard Davey
268e40ea7e Add to 'state' by default now. 2016-11-03 22:26:39 +00:00
Richard Davey
2dd7e68707 Extends the Factory. 2016-11-03 22:26:28 +00:00
Richard Davey
a15747203e Moved boot into Game, and added State property. 2016-11-03 22:26:16 +00:00
Richard Davey
89ece19c78 Disabled twirl. 2016-11-03 22:25:55 +00:00
Richard Davey
16e687cb2a Fixed issue with FBO leaving no bound texture on unit zero. 2016-11-03 21:50:14 +00:00
Richard Davey
181e08a1f9 Testing fix. 2016-11-03 21:32:06 +00:00
Richard Davey
8971d8eaf4 Updated comments 2016-11-03 21:13:48 +00:00
Richard Davey
b65a9bec42 Tidying up. 2016-11-03 21:10:53 +00:00
Richard Davey
e0c6a0c470 Using createEmptyTexture again. 2016-11-03 21:06:14 +00:00
photonstorm
57e12415cc Removing test code. 2016-11-03 17:25:14 +00:00
photonstorm
a86b02d55a Finally! Fixed the multi texture + FBO pipeline. 2016-11-03 17:19:16 +00:00
photonstorm
a3d9cf9b6d Tiny Batch! 2016-11-03 13:47:37 +00:00
Richard Davey
def3a93b5f Trying to debug fbo + multi-texture 'cannot draw to same texture' issue. 2016-11-03 05:10:50 +00:00
Richard Davey
106a55e642 Lots of tidying up. Renamed properties, removed loads of stuff no longer needed in the main class. 2016-11-03 04:22:07 +00:00
Richard Davey
8439cf0c15 Added QuadFBO class, which encapsulates the whole frame buffer + quad + shader flow. Exposed quad dimensions and position via setters, allowing you to place the FBO anywhere when it renders. 2016-11-03 04:04:34 +00:00
Richard Davey
6e70669e28 Added getVerticesFromRect so the fbo is calculated from pixel values. 2016-11-03 02:50:52 +00:00
Richard Davey
8603374316 More docs. 2016-11-03 02:07:15 +00:00
Richard Davey
0b070822d3 Updated the FBO quad to use a vec2 for position instead, cutting down on vert data a little. Also removed array length look-ups and hard coded values in. 2016-11-03 01:51:31 +00:00
Richard Davey
9600ed038d Updated destroy method. 2016-11-03 01:49:55 +00:00
Richard Davey
e2b7e54c5f Testing twirl shader :) 2016-11-02 01:47:59 +00:00
Richard Davey
b5faa8843d Finally, FBO for main renderer working! 2016-11-02 01:22:27 +00:00
Richard Davey
4b0c028200 Adding FBO support. 2016-11-02 01:00:56 +00:00
Richard Davey
6e284cf4f9 Removed test code. 2016-11-01 01:19:32 +00:00
Richard Davey
e6d0e17a8e Guarded vertex update. 2016-11-01 01:19:22 +00:00
Richard Davey
03b651f79f Loads of tweaks re: Transform inheritance. 2016-11-01 00:31:45 +00:00
Richard Davey
c681abbea8 Removed duplicate flush methods from the batch processors. 2016-10-31 21:46:31 +00:00
Richard Davey
19d9241dc7 Removed un-needed shaders.
Added batch processor switching and tested it.
2016-10-31 21:42:23 +00:00
Richard Davey
7477599005 Refactored ImageBatch into the more accurately named SingleTextureBatch. 2016-10-31 19:44:46 +00:00
photonstorm
5ef7fd3377 Moved flush to BaseBatch. 2016-10-31 17:15:36 +00:00
Richard Davey
8e2c5b7669 Removed dead code. 2016-10-31 00:03:57 +00:00
Richard Davey
c27b2f9fca Changed batch limits. Currently running 20,000 pixels in 1 draw call. 2016-10-30 23:59:47 +00:00
Richard Davey
c4a79bfadc Pixel Batch rendering working, and passing through properly. 2016-10-30 23:40:18 +00:00
Richard Davey
bd80999b33 Refined the Image and WebGL Renderers. 2016-10-30 22:58:14 +00:00
Richard Davey
a55df3f143 Added in the Pixel Field batch processor and start of the Game Object. 2016-10-30 22:57:50 +00:00
Richard Davey
3c248d1cb4 Added in the FX Batch processor. 2016-10-30 22:57:29 +00:00
Richard Davey
5ec168a741 Added the multi texture batch processor, and tested it working. 2016-10-30 22:57:19 +00:00
Richard Davey
322f711f58 Enabled the default and missing images again. 2016-10-30 22:56:17 +00:00
Richard Davey
525c3e1a44 Removed all the redundant methods and added in the new batch processors. 2016-10-30 22:56:06 +00:00
Richard Davey
577b81580a New batch system working. 2016-10-30 14:57:38 +00:00
Richard Davey
7051557e21 Merging the functions into the right classes. Nearly ready to test. 2016-10-29 21:29:16 +01:00
Richard Davey
44f7629cc8 Tidying up the new batch. 2016-10-29 14:41:43 +01:00
Richard Davey
30dea30601 Splitting the batch processors into their own classes. 2016-10-29 13:38:57 +01:00
photonstorm
863efde5ed Getting ready to move the shaders out. 2016-10-28 18:35:23 +01:00
Richard Davey
f1760f961d Working through splitting the Batch shader out of the manager, and into its own class. Got multi-shader swapping working. 2016-10-28 02:42:58 +01:00
Richard Davey
33c618d30e Fixed issue where changing blend mode didn't correctly reset the batch. 2016-10-27 15:14:22 +01:00
Richard Davey
2b850ad4e8 Setting the anchor dirties the Transform. 2016-10-27 15:14:09 +01:00
photonstorm
fd3898742f Added ability to toggle multi-texture support at run-time. 2016-10-25 16:44:23 +01:00
photonstorm
8de992175e Renamed Renderer spriteBatch to just batch. 2016-10-25 14:30:29 +01:00
photonstorm
a271a52ec7 Added glLastUsed property to TextureSource. 2016-10-25 13:23:14 +01:00
Richard Davey
120b6eb2bd Blend Modes work. More optimisations in the batch manager. 2016-10-25 03:57:34 +01:00
Richard Davey
dae0b2c124 Fixed Multi Texture support across split texture atlases. 2016-10-25 01:54:49 +01:00
Richard Davey
8ab7dc80dc Sorted out swapping WebGL textures in a non-multi texture environment. 2016-10-25 01:40:16 +01:00
Richard Davey
4c6691863c Fixed Multi Texture support in the new batch manager. 2016-10-25 00:41:45 +01:00
photonstorm
2af81bdfba Masses of refactoring in BatchManager, making it as compact and fast as possible. 2016-10-24 17:14:10 +01:00
Richard Davey
3cb806c86e New addVerts method working. 2016-10-23 11:25:44 +01:00
Richard Davey
7cfe3b3919 Exploring using addVert / addVerts to allow for shadow injection from the Game Objects layer. 2016-10-22 18:02:43 +01:00
photonstorm
4af0fb3247 Added offset vector back in. 2016-10-20 15:01:22 +01:00
photonstorm
ef5e23abad Fixed TI attribute. 2016-10-20 14:33:31 +01:00
Richard Davey
35373da918 Adding texture index 2016-10-20 05:04:06 +01:00
photonstorm
64cd88f7b4 Trying out flash effect. 2016-10-19 17:17:26 +01:00
photonstorm
d19148aec0 Getting to the point where the 'render' call is just array population, no calculation. 2016-10-19 14:31:35 +01:00
photonstorm
4c60effae4 Vertex Data calculations moved here, only updated when dirty. Saves time batch calculating. 2016-10-19 14:31:13 +01:00
photonstorm
f1e8396b6f Tidying up. 2016-10-19 14:30:43 +01:00
photonstorm
079f81a639 Opps - blend mode needed :) 2016-10-19 14:30:33 +01:00
photonstorm
32e2df93c2 Fixed Inverse UV calc. 2016-10-19 14:30:23 +01:00
photonstorm
4f8e509f91 Fixed JSON Hash parsing. 2016-10-19 14:29:52 +01:00
photonstorm
0a659bcf67 No longer needed. 2016-10-19 14:29:38 +01:00
photonstorm
fb3bb4b32f Refactored into new Base Game Object class, that Image and Sprite (and everything else) will now extend. Much more versatile, and a lot less code duplication. 2016-10-19 11:54:00 +01:00
Richard Davey
b49edb762e Reset defaults. 2016-10-19 03:58:25 +01:00
Richard Davey
3d753255e4 Added support for the Background Color component values in the WebGL Sprite Batch shader. 2016-10-19 03:55:28 +01:00
Richard Davey
91ee135208 Fixed tint order and exposed via getters. 2016-10-19 03:10:30 +01:00
Richard Davey
5273799912 Added Color component to Stage and Image.
Added tint support into the Batch Manager.
2016-10-19 02:21:20 +01:00
Richard Davey
1aebdb9dd7 Fixed the Batch renderer at last. Just need to add multi-texture support back in. 2016-10-19 01:56:31 +01:00
Richard Davey
238c2fc8aa Trying more things to get it working! 2016-10-19 00:23:40 +01:00
photonstorm
18b12dfc3e Huge amount of work getting the WebGL renderer sorted out, tidied up and merged with the latest Texture and Transform components. 2016-10-18 17:03:25 +01:00
Richard Davey
c39c97f9d8 Starting to split up. 2016-10-17 21:22:55 +01:00
Richard Davey
d3f7813616 Timeline component base. 2016-10-16 23:52:09 +01:00
Richard Davey
60b23a157e Added tint to Color component. 2016-10-16 23:51:54 +01:00
photonstorm
3020e3b8cf Updating core objects. 2016-10-14 08:59:24 +01:00
photonstorm
d8adad4294 Dirty on creation. 2016-10-14 08:58:48 +01:00
photonstorm
64838a319a New Color component. 2016-10-14 08:58:35 +01:00
photonstorm
bfd391b251 Using Color component. 2016-10-14 08:58:26 +01:00
photonstorm
15fbd0962d Renamed to Update Manager. 2016-10-14 08:58:12 +01:00
photonstorm
f9ffe098c3 Check the worldAlpha when rendering. 2016-10-14 06:32:03 +01:00
photonstorm
9fcfa86cbf Forced alpha context. 2016-10-14 06:31:53 +01:00
photonstorm
386e22b0fd Commented out all the bg color stuff. It now just changes the canvas CSS. 2016-10-14 06:31:26 +01:00
photonstorm
9961eeee6b Added worldAlpha property. 2016-10-14 06:31:01 +01:00
photonstorm
9f07eb176b StateManager no longer saves and resets the context around a Canvas state render function. 2016-10-14 06:30:44 +01:00
photonstorm
e06b900a61 Removed antialias, transparent and physicsConfig arguments from the Game constructor. 2016-10-14 06:30:07 +01:00
photonstorm
e01141e522 Added updateFromDirtyParent. 2016-10-14 06:29:42 +01:00
photonstorm
ee20190ea8 The Children component can now skip modifying the Transforms. 2016-10-14 06:29:22 +01:00
photonstorm
582d705b1f Updated base game objects. 2016-10-14 04:09:22 +01:00
photonstorm
60d348c464 Implemented a Dirty Transform Manager. Testing it out, but so far, so good. 2016-10-14 04:09:07 +01:00
photonstorm
ff2caeeb1c Some quick Image tests (will need to move to Sprite soon) 2016-10-14 02:21:21 +01:00
photonstorm
c5088d4ba6 Updated Factory to add to parent. 2016-10-14 02:21:04 +01:00
photonstorm
26711241ac Disabled access to World and Camera for now. 2016-10-14 02:20:35 +01:00
photonstorm
f6903df104 Stage now extends Container. 2016-10-14 02:20:01 +01:00
photonstorm
680ce51842 Updated Container methods, renamed renderers, added Factory. 2016-10-14 02:19:35 +01:00
photonstorm
d0cb0f2457 Commented out World and Camera for now. 2016-10-14 02:19:10 +01:00
photonstorm
c2841cc1f6 Fixed parenting. 2016-10-14 02:18:48 +01:00
photonstorm
fe623ec708 Fixed Transform, added in child management methods and tidied up. 2016-10-14 02:18:37 +01:00
Richard Davey
483c3eb34b Updated to work with new Image properties. 2016-10-13 01:54:40 +01:00
Richard Davey
6373d8ebb3 Moved methods and getters around. 2016-10-13 01:54:30 +01:00
Richard Davey
559126d7b5 Moved to using new Transform component, and adjusted other properties. 2016-10-13 01:54:18 +01:00
Richard Davey
d6bb27f51c Disabled the Debug class. 2016-10-13 01:54:01 +01:00
Richard Davey
72ee3c7a84 Updating Image game object to use the new Transform component. 2016-10-13 00:08:26 +01:00
Richard Davey
35854ea58d Cache now adds in Default and Missing images to the new Texture Manager. 2016-10-13 00:08:11 +01:00
Richard Davey
e9b80ecb93 Added the Transform components. 2016-10-12 23:53:39 +01:00
Richard Davey
e05cc8978a Added Data.merge. 2016-10-12 22:39:37 +01:00
photonstorm
ca4874cdd7 Data component updates. 2016-10-12 17:05:27 +01:00
photonstorm
9ed542781b Added the new Data Component. 2016-10-12 15:19:04 +01:00
Richard Davey
271aab1844 Removed the GPU texture handlers out of the Texture Manager, and into the WebGL Renderer. 2016-10-11 23:48:22 +01:00
Richard Davey
379b54b554 Added TextureManager.addSpriteSheetFromAtlas and removed it from the Texture class. 2016-10-11 22:46:23 +01:00
Richard Davey
a2ac0a2c58 Multi-atlas loader support complete, adding to the Texture Manager properly. 2016-10-11 22:11:54 +01:00
Richard Davey
65ce4928d9 Expanded multi-atlas support in the Loader. Fixing ESLint errors too. 2016-10-11 19:50:36 +01:00
Richard Davey
591bf828a9 Phaser.ArrayUtils.numberArray now has optional prefix and suffix arguments, allowing you to do: numberArray(1, 4, 'Level ') and the Array will contain ["Level 1", "Level 2", "Level 3", "Level 4"]. 2016-10-11 17:42:58 +01:00
photonstorm
775dee029d Added Loader.multiatlas - for multi-atlas textures. 2016-10-11 16:48:12 +01:00
photonstorm
ce3308ea1d Hooking the Loader and Cache into the new Texture Manager. 2016-10-11 14:52:17 +01:00
Richard Davey
e0ef9cab8b Hooked the Texture Manager into the Cache. 2016-10-10 23:57:51 +01:00
Richard Davey
70729234e8 Added the Texture Manager into the core systems list. 2016-10-10 23:39:52 +01:00
Richard Davey
3ac8c4fcc5 Tidied up the Children component. 2016-10-09 23:39:27 +01:00
Richard Davey
0af16817a5 Refactored GameObjects to GameObject. 2016-10-09 22:27:58 +01:00
Richard Davey
fb13151959 Start of the container. 2016-10-08 17:19:55 +01:00
Richard Davey
d137d3e989 Swapped over to using the new Factory. 2016-10-08 16:31:08 +01:00
Richard Davey
380e717e52 Finished off missing factories. Moved over the docs. Changed rogue @returns to @return everywhere. 2016-10-08 16:17:46 +01:00
Richard Davey
6d0dc5e003 Added BitmapText Factory. 2016-10-08 13:18:35 +01:00
Richard Davey
729020477a New Game Objects structure in place, and starting to take shape.
Moved BitmapData and RenderTexture into the textures folder for now.

All Game Objects now have their own sub-folder, with their Factory and renderer functions alongside them, plus any other files they need.

New Factory class added. Currently hooked into `game.factory` for testing, but will swap to `game.add` when complete.
2016-10-08 03:05:42 +01:00
Richard Davey
85c580ac61 Starting porting RenderTexture over. 2016-10-07 03:55:55 +01:00
Richard Davey
f9fe6a3e94 Fixed canvas SpriteBatch and removed duplicate render functions. 2016-10-07 03:41:48 +01:00
Richard Davey
5b4280d694 Removed the matrix. 2016-10-07 03:34:42 +01:00
Richard Davey
35fd29a45a Removed Pixi globals, and moved constructors above the prototype. 2016-10-07 03:32:37 +01:00
Richard Davey
1262ba7e51 Removed PixiDefaults. 2016-10-07 03:23:38 +01:00
Richard Davey
0abf9d958d Updated scaleMode global. 2016-10-07 03:22:59 +01:00
Richard Davey
3fab1ce385 Working through the Pixi globals and removing them. 2016-10-07 03:21:39 +01:00
Richard Davey
98d2bdf03b Fixed rotation! and setting Canvas tint modes. 2016-10-07 03:08:51 +01:00
Richard Davey
f6047763fa Fixed Graphics rendering. 2016-10-07 02:53:34 +01:00
Richard Davey
39a8d71027 Fixed, and now rendering properly. 2016-10-07 02:31:35 +01:00
Richard Davey
2630a48266 Added TileSprite to the renderer. 2016-10-07 02:09:12 +01:00
Richard Davey
b18bdab447 UID is set by the Renderer now, removing another Phaser global. 2016-10-07 01:33:01 +01:00
Richard Davey
c67904311c Moved default vertex shader to the sprite shader.
Added multi-texture support back in.
2016-10-07 01:12:31 +01:00
Richard Davey
ea9c9ae7b3 Removed gl texture ID. 2016-10-07 00:59:10 +01:00
Richard Davey
b254d085cd All of the WebGL Graphics draw ops have been split out, tidied up and merged. 2016-10-07 00:40:31 +01:00
Richard Davey
97b1ac9d4f Typo fix. 2016-10-06 23:37:44 +01:00
Richard Davey
8a72f0ff35 FilterTexture converted. 2016-10-06 23:36:00 +01:00
Richard Davey
281e9287d1 FilterManager converted. Temp. stencil buffer needs adding. 2016-10-06 23:19:26 +01:00
Richard Davey
caffc9ca5f Added FilterManager and StencilManager to new renderer. 2016-10-06 22:59:42 +01:00
Richard Davey
a096dd4f7d Removed context arrays. 2016-10-05 01:47:54 +01:00
Richard Davey
dc92c92a30 Removed all instances of gl.id. 2016-10-05 01:45:22 +01:00
Richard Davey
a12ba9fa10 Added WebGL Sprite Batch. 2016-10-05 01:40:25 +01:00
Richard Davey
fe92b4e388 WebGL using mixins. 2016-10-05 01:25:06 +01:00
Richard Davey
4cd0e833d5 Sorted out the mixin needed for the Canvas renderer. 2016-10-05 01:09:23 +01:00
Richard Davey
047a994334 Canvas and WebGL rendering Text again. 2016-10-04 22:47:05 +01:00
Richard Davey
28eb7a5f40 Adding in more renderer game objects. 2016-10-04 22:36:07 +01:00
photonstorm
482bb96056 Added in SpriteBatch, Graphics and Strip shaders. 2016-10-04 16:51:47 +01:00
photonstorm
03f67a2677 Refactored WebGL renderer working for Sprites and Containers. 2016-10-04 15:39:54 +01:00
Richard Davey
d55cc215ee Moving more rendering functionality over. 2016-10-04 00:58:52 +01:00
Richard Davey
0142997787 Merged Tint functions into Canvas Renderer. 2016-10-03 22:31:10 +01:00
Richard Davey
40bef9543a Updated Game Object renderer blocks to use 'this'.
Split out the Graphics renderer to avoid being a giant if/else loop.
2016-10-03 21:46:39 +01:00