Commit graph

1032 commits

Author SHA1 Message Date
Felipe Alfonso
38dc3bbd82 Merge branch 'master' of https://github.com/photonstorm/phaser 2018-03-05 11:29:56 -03:00
Felipe Alfonso
98893e1bba Modified WebGLPipeline and it's child classes to make them easier to generate custom Pipelines. Added functions to WebGLPipeline to modify uniforms. Exposed Renderer namespace for usage outside the engine 2018-03-05 11:29:48 -03:00
Richard Davey
4d16b0c00a eslint fixes 2018-03-05 01:45:28 +00:00
Richard Davey
ae1c91cf6a eslint fixes 2018-03-05 01:40:11 +00:00
Felipe Alfonso
14399d6910 TileSprite can now set frame of the pattern texture 2018-02-28 17:04:57 -03:00
Felipe Alfonso
6a114fc07a Added roundPixels to the texture pipeline 2018-02-28 15:08:08 -03:00
Felipe Alfonso
9dbb4db4c6 Added inverted alpha to bitmap mask 2018-02-23 14:09:27 -03:00
Felipe Alfonso
ef8e92dc01 RenderTexture base webgl implementation 2018-02-23 00:44:22 -03:00
Felipe Alfonso
57333ea492 Fixed issue with null texture on particle emitter batch generation 2018-02-22 20:36:25 -03:00
Felipe Alfonso
a218cd5f4a Fixed issue with vertex buffer creation on Static Tilemap Layer 2018-02-22 01:07:43 -03:00
Richard Davey
73da8608e0 Fixed lint errors 2018-02-19 23:14:57 +00:00
Felipe Alfonso
4b9b4c91a3 Dynamic BitmapText's origin is used on rendering the text 2018-02-19 18:20:30 -03:00
Felipe Alfonso
41bcaba43a Dynamic BitmapText now uses origin component to render the text. 2018-02-19 18:16:57 -03:00
Felipe Alfonso
abfe7536e9 Removed the read of constant values from the WebGLRenderingContext object. Now they are read from an instance of webgl context. 2018-02-19 17:49:17 -03:00
Felipe Alfonso
50c79c14af Removed double rounding to pixel on rendering routines.
Fixed rounding pixel issue when camera is shaking
2018-02-19 17:38:40 -03:00
Felipe Alfonso
cdc4359fd7 Fixed issue with tint being set on the incorrect vertex 2018-02-19 17:06:08 -03:00
Richard Davey
3c65121cb3 eslint fixes 2018-02-16 19:17:49 +00:00
Richard Davey
d23688c3e4 Added eslint fixes and overrides 2018-02-16 18:44:07 +00:00
Richard Davey
86f00eeb52 eslint fixes 2018-02-16 18:17:51 +00:00
Richard Davey
e1554c34d6 eslint fixes 2018-02-16 18:07:49 +00:00
Twilrom
d443ff380e Make WebGL Graphics closePath work the same as in Canvas. 2018-02-16 16:28:35 +01:00
Twilrom
859cc27e2e Fix beginPath in WebGL Graphics 2018-02-16 15:38:21 +01:00
Twilrom
0c0b272ccc Update WebGL Graphics.arc to work more like on Canvas 2018-02-16 15:38:21 +01:00
Richard Davey
4e6df03512 Updated semver 2018-02-15 14:31:15 +00:00
Felipe Alfonso
e2bebd3ddd jsdoc property and method updates 2018-02-14 16:52:37 -03:00
Felipe Alfonso
74abb96211 Added alpha and tint to static tilemap layer. Fixed BitmapMask binding resources issue. 2018-02-14 16:45:22 -03:00
Felipe Alfonso
92182bed90 Fixed issue with Blitter renderer where it overwrote previous vertex data 2018-02-14 13:43:35 -03:00
Felipe Alfonso
edf15986ff BitmapMask si working properly with the vertex update batching. 2018-02-14 13:20:56 -03:00
Felipe Alfonso
844e72a7e1 Buffer resource update batching implemented into TextureTintPipeline 2018-02-13 23:46:34 -03:00
Yat Hin Wong
3af1d57a95 Changed let to var 2018-02-13 17:03:28 +01:00
Richard Davey
8f4a1012fd Updated jsdocs. 2018-02-13 01:39:22 +00:00
Felipe Alfonso
2aa94c28eb WebGL types added to jsdoc 2018-02-12 21:12:17 -03:00
Richard Davey
14c5aad929 Added jsdocs 2018-02-12 22:16:18 +00:00
Felipe Alfonso
9b2741387b Resolution affecting camera display 2018-02-12 16:03:13 -03:00
Richard Davey
d1f5f8a82b Added jsdocs 2018-02-12 16:01:21 +00:00
Felipe Alfonso
17d00eea4a Removed model and view scale from pipeline 2018-02-09 17:03:18 -03:00
Richard Davey
97bb52faec Added jsdocs 2018-02-09 19:19:21 +00:00
Felipe Alfonso
8529cb9ad1 Resolution fix work in progress 2018-02-09 15:45:22 -03:00
Felipe Alfonso
feabcdadb9 Fixed issue with scaled tilemaps 2018-02-07 16:30:18 -03:00
Felipe Alfonso
3821ba5ede WebGL tile flipping and rotation 2018-02-07 13:14:52 -03:00
Felipe Alfonso
cff54d8511 Added tile rotation and fixed undefined resolution on webgl renderer config 2018-02-06 18:47:42 -03:00
Felipe Alfonso
da8c7c0b3e WebGL config data is now stored on WebGLRenderer 2018-02-06 17:37:13 -03:00
Felipe Alfonso
cffc40b834 Fixed flip on blitter game object. Added camera scrollFactor to blitter canvas renderer 2018-02-06 17:19:11 -03:00
Felipe Alfonso
96834fd7f0 Fixed tilesprite issue of not repeating on webgl 2018-02-06 12:46:05 -03:00
Felipe Alfonso
7b1ad0b307 transparent, clearBeforeRender and roundPixels now affect the rendering result 2018-02-05 19:06:02 -03:00
Felipe Alfonso
4d03853935 Added cleanup routine for all webgl content on WebGLRenderer destroy function 2018-01-31 14:36:00 -03:00
Richard Davey
2a86400a28 Added in jsdocs 2018-01-31 13:54:44 +00:00
Richard Davey
f73d66a246 Merge branch 'master' of https://github.com/photonstorm/phaser 2018-01-31 03:38:13 +00:00
Richard Davey
a802914243 Added in destroy methods for all managers and invoked them from Game 2018-01-31 03:38:10 +00:00
Felipe Alfonso
0648161ca5 Added simple light culling 2018-01-30 22:11:51 -03:00
Felipe Alfonso
d9b04ef2e9 Light2D Plugin added to scene 2018-01-30 19:46:43 -03:00
Felipe Alfonso
de4b308fbd Light2D update 2018-01-30 00:38:31 -03:00
Felipe Alfonso
71a6360a7b Pipeline components added 2018-01-29 18:46:48 -03:00
Felipe Alfonso
00c6c4a6df Light2D Pipeline 2018-01-26 20:17:11 -03:00
Felipe Alfonso
4a63326f39 Forced nearest filtering for canvas textures 2018-01-26 12:21:05 -03:00
Felipe Alfonso
9173ed88d9 Fixed tint issue 2018-01-26 00:55:05 -03:00
Felipe Alfonso
83b7d11f14 Fixed issue with scrolling on static tilemaps and not clearing path array on Flat Pipeline 2018-01-26 00:47:41 -03:00
Felipe Alfonso
065235a9f4 Fixed issue with static bitmap text rendering 2018-01-25 21:34:35 -03:00
Felipe Alfonso
3af73b6162 culling non visible chars 2018-01-25 21:05:38 -03:00
Felipe Alfonso
cb7bbea020 removed old code 2018-01-25 19:32:51 -03:00
Felipe Alfonso
7c4c439aa4 Diffuse lighting shaders. Also made light layer rendering pass through 2018-01-25 19:20:36 -03:00
Felipe Alfonso
ba280c7517 BitmapMask and GeometryMask are rendering correctly 2018-01-25 15:43:19 -03:00
Felipe Alfonso
bd8e9b2003 Static Tilemap Layer rendering 2018-01-25 02:26:14 -03:00
Felipe Alfonso
80d9ef42b3 ParticleEmitterManager webgl rendering added 2018-01-24 22:10:30 -03:00
Felipe Alfonso
42482ecb26 TileSprite webgl rendering 2018-01-24 21:15:51 -03:00
Felipe Alfonso
195a59d3ba Dynamic Tilemap rendering 2018-01-24 19:29:57 -03:00
Felipe Alfonso
06fa0afcc8 Dynamic Bitmap Text webgl rendering 2018-01-24 15:55:23 -03:00
Felipe Alfonso
326bdd5204 Fixed camera effects 2018-01-24 00:57:33 -03:00
Felipe Alfonso
12a1ef34f4 Fixed pipeline binding 2018-01-24 00:08:14 -03:00
Felipe Alfonso
5170784338 Graphics WebGL Rendering 2018-01-24 00:03:43 -03:00
Felipe Alfonso
99d850346f Text rendering added 2018-01-23 21:40:20 -03:00
Felipe Alfonso
502ce8ddea Static BitmapText rendering. Added rect culling to TextureTintPipeline 2018-01-23 20:36:49 -03:00
Felipe Alfonso
dd9cef61cf Image WebGL rendering 2018-01-23 17:32:20 -03:00
Felipe Alfonso
070d946dca Mesh and Sprite rendering 2018-01-23 16:29:47 -03:00
Felipe Alfonso
822fc052ee Sprite batching 2018-01-23 13:38:58 -03:00
Felipe Alfonso
6153a34103 Moved shader source to text files 2018-01-22 20:01:00 -03:00
Felipe Alfonso
0f0b422fd7 FlatTint Pipeline progress 2018-01-22 19:51:15 -03:00
Felipe Alfonso
a171968558 WebGLRenderer render function update 2018-01-22 18:37:47 -03:00
Felipe Alfonso
961f00ac11 BlitterPipeline added 2018-01-22 18:21:47 -03:00
Felipe Alfonso
a4e79875d4 Merge branch 'master' into rendering-cleanup
# Conflicts:
#	src/gameobjects/blitter/BlitterWebGLRenderer.js
2018-01-21 11:14:27 -03:00
Felipe Alfonso
31be6fa51d WebGLRenderer cleanup 2018-01-20 01:05:56 -03:00
Felipe Alfonso
1da31fb2a5 WebGLRenderer resource creation 2018-01-19 21:37:52 -03:00
Felipe Alfonso
cfe07706e6 Cleaning up WebGLRenderer 2018-01-17 18:25:43 -03:00
Felipe Alfonso
fd4f441146 DynamicBitmapText WebGL renderer updated 2018-01-16 16:32:27 -03:00
Felipe Alfonso
8bb9b1309f SpriteBatch pipeline re-implementation 2018-01-12 21:13:41 -03:00
Felipe Alfonso
5ca2805dbc Fixed issue with blitter batch incorrect instruction order and forced unsigned int result for color tint operation 2018-01-12 13:46:46 -03:00
Felipe Alfonso
54274b782a BlitterBatch pipeline working 2018-01-10 17:03:01 -03:00
Felipe Alfonso
15c45bda0e BlitterBatch2 base rendering. Still missing Texture binding 2018-01-09 19:51:22 -03:00
Richard Davey
d8f1ba03e9 Moved repository location 2018-01-09 21:43:56 +00:00
Richard Davey
0d90f75b5f Splitting the dev branch up into versions. 2016-11-22 01:36:56 +00:00
Richard Davey
7a155f66fe Added Tilemap back in and tested with Blitter object, and it works really fast. 2016-11-15 03:11:21 +00:00
photonstorm
aac31f6858 FBOs are bound to parents. 2016-11-10 17:05:04 +00:00
photonstorm
49c57089b3 Quick test. 2016-11-10 17:04:37 +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
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
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
c60eae4ee1 Fixed vert dimensions, texture still needs to be based on renderer size. 2016-11-04 04:11:47 +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
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
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
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
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
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
079f81a639 Opps - blend mode needed :) 2016-10-19 14:30:33 +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
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
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
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
0abf9d958d Updated scaleMode global. 2016-10-07 03:22:59 +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
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
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