Commit graph

1337 commits

Author SHA1 Message Date
Richard Davey
3a2fcd0951 Updated path drawing, sorting out line-cap differences with Canvas 2018-07-25 17:04:44 +01:00
Richard Davey
9d11b93b05 Updated shader 2018-07-25 13:06:22 +01:00
Richard Davey
4c25d12b44 Recoding the FTP. Rects and Tris working again. 2018-07-25 01:27:03 +01:00
Richard Davey
0516fd47f7 The Flat Tint Pipeline is now using the same shader as the Texture Tint
Time to make sure no texture swaps happen and we can finally have Graphics mixed with Sprites in the display list with no swapping cost (and soon, no flush cost either when we unify the pipelines)
2018-07-24 17:07:26 +01:00
Richard Davey
ac108db9cc Moving towards tidying up the FTP 2018-07-24 16:40:29 +01:00
Richard Davey
521138e9d8 setBlendMode now returns a boolean 2018-07-23 01:39:32 +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
b6a1033dbd Fixed Camera FX for scaled camera sizes 2018-07-18 15:03:06 +01:00
Richard Davey
0db16889e6 Use new Camera viewport values 2018-07-18 14:32:06 +01:00
Richard Davey
1c473afa84 Cameras draw their backgrounds correctly at higher resolutions 2018-07-17 23:26:30 +01:00
Richard Davey
42c3fc5f6b Better normal map handling 2018-07-13 11:14:22 +01:00
Richard Davey
4843d7eefe Pipelines have a boot handler now. 2018-07-13 11:13:46 +01:00
Richard Davey
2924874236 Added docs 2018-07-12 01:13:47 +01:00
Richard Davey
072cc0e21b Added dirty Camera support and updated internal properties to set the flag 2018-07-12 01:13:34 +01:00
Richard Davey
a0bf5b6ad2 Removed all the batch functions and consolidated into a single function and callback 2018-07-11 16:55:18 +01:00
Richard Davey
efb5eb09c5 Starting refactor 2018-07-11 16:24:58 +01:00
Richard Davey
05985417b3 Allow config setting values. Gets custom pipelines working again. 2018-07-11 16:24:45 +01:00
Richard Davey
5a5bea1ce5 Allow GO to be passed to onBind 2018-07-11 16:24:20 +01:00
Richard Davey
82b15c8695 Removed drawEmitterManager and moved to emitter render function 2018-07-11 14:40:36 +01:00
Richard Davey
853281fe56 Double flusher 2018-07-11 13:22:07 +01:00
Richard Davey
373d01c602 Fixed emitter batch. Now to optimize it. 2018-07-11 13:20:02 +01:00
Richard Davey
e2efa469ae Removed drawTexture and added drawTextureFrame - fixed Render Texture flip Y issue 2018-07-11 12:34:53 +01:00
Richard Davey
5b3a5e115b Started consolidating drawTexture method 2018-07-10 17:18:00 +01:00
Richard Davey
340c53875c Added new temp matrix, fixed typo, removed old function 2018-07-10 16:32:44 +01:00
Richard Davey
5128eecbeb Cached the drawing buffer height 2018-07-10 16:32:28 +01:00
Richard Davey
434c8d1413 Fixed issue with sprite matrix and camera scaling 2018-07-10 13:59:49 +01:00
Richard Davey
85a32d54be Typo 2018-07-09 17:06:27 +01:00
Richard Davey
5c554f3f69 Started moving dynamic bitmap text renderer to its own function 2018-07-07 12:34:24 +01:00
Richard Davey
dd0490dd57 Removed batchBitmapText, tidied up and moved to its own renderer 2018-07-07 12:22:45 +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
c1bc928a73 Removed un-used vars 2018-07-06 17:29:49 +01:00
Richard Davey
a6ff0d54bb Removed angle calculations from renderer as we only need do it when the arc is first defined 2018-07-06 17:16:09 +01:00
Richard Davey
fdd4a8f8f3 Tidied up DrawImage to re-use vars and cut down code 2018-07-06 15:55:20 +01:00
Richard Davey
e620f3e308 Updated to use matrix and support crop 2018-07-06 15:34:25 +01:00
Richard Davey
325fb4681e Tidying up 2018-07-05 23:55:00 +01:00
Richard Davey
5063fe30e5 Fixed cropping when texture frame is flipped 2018-07-05 23:01:26 +01:00
Richard Davey
341ecf42cd Testing flip + atlas frame + trim cropping 2018-07-04 17:01:45 +01:00
Richard Davey
9bd8fb34a4 Changed canvasData to remove duplicate properties. 2018-07-04 17:01:29 +01:00
Richard Davey
43fc988034 Moved crop UV handler to the Frame method. Cleaner and easier. 2018-07-04 15:18:08 +01:00
Richard Davey
ee8c1b403a Fixed cropping with flipped images 2018-07-04 14:50:26 +01:00
Richard Davey
d44c54e5ed batchSprite supports cropping (flipXY todo) 2018-07-03 16:48:14 +01:00
Richard Davey
d328f14be0 Fixed vertex calculation 2018-07-03 12:38:45 +01:00
Richard Davey
187328ea1a UVs are passed directly now 2018-07-03 00:14:23 +01:00
Richard Davey
265852fc75 Removed test code 2018-07-02 17:09:21 +01:00
Richard Davey
35686657ce Tidied up the batchVertices method and removed old stuff 2018-07-02 17:06:49 +01:00
Richard Davey
c1020c6dbb Refactoring TTP to remove so much redundant stuff 2018-07-02 16:44:24 +01:00
Richard Davey
fe61cfe2d1 You can now set the WebGL batch size in the Game Config via the property batchSize. The default is 2000 before the batch will flush, which is a happy average between desktop and mobile. If targeting desktop specifically, you may wish to increase this value to reduce draw calls. 2018-07-02 12:33:46 +01:00
Richard Davey
1941d8a494 Removed drawStaticTilemapLayer method and updated layer vertex code 2018-07-02 12:07:39 +01:00
Richard Davey
fdead2af16 Added the tint effect attribute and merged with all the various batches 2018-06-30 11:33:52 +01:00
Richard Davey
11ef2c824b Updated shader to support tint effect attribute 2018-06-30 11:33:28 +01:00
Richard Davey
e22b1a7b9c Removed stubs from pipelines 2018-06-29 12:33:44 +01:00
Richard Davey
39c3866179 lint fix 2018-06-28 13:07:59 +01:00
Richard Davey
217779604c Added tileScaleX and tileScaleY support for Tile Sprites 2018-06-28 12:59:27 +01:00
Richard Davey
8c312090da Solidified use of pixelArt mode 2018-06-27 15:27:16 +01:00
Richard Davey
7a23378015 Unified use of roundPixels, antialias and pixelArt modes 2018-06-27 15:15:00 +01:00
Richard Davey
7aa46657c2 Tidying up jsdocs and changing float to number 2018-06-26 23:19:14 +01:00
Richard Davey
bb7b99a4db Updated log and formatting 2018-06-25 22:53:42 +01:00
Richard Davey
c6c9b25fdc Camera.alpha (and its related method Camera.setAlpha) allows you to get an alpha level for the entire camera. This impacts everything it is rendering, even if those objects also have their own alpha values too. You can tween the property to make the camera contents fade in / out, or you can set it as needed in your game. 2018-06-25 17:35:36 +01:00
Richard Davey
90ba2608fa Added in Camera alpha support to all canvas renderers 2018-06-25 16:24:08 +01:00
Richard Davey
98b1cc2dbc Although the Blitter object had the Alpha component, setting it made no difference. Setting Blitter alpha now impacts the rendering of all children, in both Canvas and WebGL, and you can also specify an alpha per Bob as well. 2018-06-25 16:06:22 +01:00
Richard Davey
f45ab89f8d The ForwardDiffuseLightPipeline, used by the Lights system, now sets a flag if the Scene doesn't contain any lights. All of the Game Objects now check this flag and don't even bother adding themselves to the batch if there are no lights in the Scene, as they'd never render anyway. This also avoids the ghost-image problem if you swap Scenes to a new Scene with the Light Manager enabled, but no actual lights defined. Fix #3707 2018-05-31 16:57:30 +01:00
Richard Davey
9429a28574 The Particle tint value was incorrectly calculated, causing the color channels to be inversed. Fix #3643 2018-05-18 13:16:17 +01:00
Richard Davey
7a4b29872e Allow for custom canvas and context game config options. Game.context now set in WebGL mode. Allows WebGL2 contexts to be passed in. Fix #3653 2018-05-10 12:25:33 +01:00
Richard Davey
835bc37e32 Optimized TextureTintPipeline.drawBlitter so it skips bobs that have alpha of zero and only calls setTexture2D if the bob sourceIndex has changed, previously it called it for every single bob. 2018-05-09 15:13:06 +01:00
Richard Davey
7df0488100 Fixed dupe config set 2018-05-09 14:32:32 +01:00
Richard Davey
6ec1a580eb typo fix 2018-05-09 14:30:31 +01:00
Richard Davey
056e74d6dc Added compression object for future texture compression support. 2018-05-09 13:46:19 +01:00
Richard Davey
89329a2315 Added getMaxTextures and getMaxTextureSize methods 2018-05-09 12:12:16 +01:00
Richard Davey
57918bb50f Removed the need for raw-loader in webpack. Shaders now build to standard JS files. Removed fs requirement. 2018-05-08 23:04:57 +01:00
Richard Davey
97dd683ea1 The Forward Diffuse Light Pipeline was hard coded to assume the normal map would be stored in the source index zero. It now correctly obtains the normal map from the frame source index, which means all Game Objects that used frames from multi-atlas textures will now work with lights properly. 2018-05-04 14:31:19 +01:00
Felipe Alfonso
cf8e2cfd60 added jsdoc comments to WebGLRenderer 2018-04-25 20:30:41 -03:00
Felipe Alfonso
0c90f068fc Added jsdoc comments to WebGLPipeline 2018-04-25 19:52:20 -03:00
Felipe Alfonso
e85c66a2fd Added jsdocs comments to WebGL utils 2018-04-25 13:17:33 -03:00
Felipe Alfonso
d2da10c1a9 Added jsdoc comments to TextureTintPipeline 2018-04-25 13:06:19 -03:00
Felipe Alfonso
f64b4b9b20 added jsdoc comments to ForwardDiffuseLightPipeline 2018-04-24 16:52:57 -03:00
Felipe Alfonso
7e90dab82f FlatTintPipeline jsdoc comments 2018-04-24 16:30:00 -03:00
Felipe Alfonso
e385d018c5 added comments to ModelViewProjection pipeline component 2018-04-24 16:00:35 -03:00
Felipe Alfonso
426bc4ffd4 BitmapMaskPipeline jsdoc descriptions 2018-04-24 13:53:10 -03:00
Richard Davey
ef24982301 Pending dos 2018-04-24 15:34:55 +01:00
Richard Davey
741d1f5793 Doc pending tags 2018-04-24 15:32:08 +01:00
Richard Davey
54a5bb41c7 Tidying up 2018-04-23 19:11:16 +01:00
Richard Davey
649378ed0a Tidied up canvas creation and texture deletion 2018-04-23 17:30:09 +01:00
Richard Davey
176b085402 jsdoc fix 2018-04-19 13:28:10 +01:00
Felipe Alfonso
504ba9e133 Fixed eslint errors on TextureTintPipeline.js 2018-04-18 18:54:06 -03:00
Felipe Alfonso
aef538d61b Added parent transform matrix to Light2D pipieline to allow support for containers 2018-04-18 18:40:27 -03:00
Felipe Alfonso
47bee69b3b Fixed transformation matrix order for batchGraphics 2018-04-18 18:35:18 -03:00
Felipe Alfonso
18e178a72f Fixed matrix transformation order for batchTexture 2018-04-18 18:30:54 -03:00
Felipe Alfonso
f3e0ae8d44 Fixed order of transformation for dynamic bitmap text 2018-04-18 18:28:08 -03:00
Felipe Alfonso
dbafd9a70c Fixed order of matrix transformation on:
-emitter
-blitter
-sprite
-mesh
-bitmap text
2018-04-18 18:15:43 -03:00
Richard Davey
55965c748f jsdoc fixes 2018-04-18 12:13:49 +01:00
Felipe Alfonso
eceb43584b Fixed issue on particle emitter rendering not writing directly to the vertex count property 2018-04-17 13:20:08 -03:00
Felipe Alfonso
5cc2ebd6be Fixed issue when destroying WebGLRenderer 2018-04-16 15:16:23 -03:00
Felipe Alfonso
9961636722 Fixed overflowing of vertex count on particle emitter batcher 2018-04-16 12:38:02 -03:00
Richard Davey
e37b183038 Completed all jsdocs for the Camera class 2018-04-15 05:05:03 +01:00
Richard Davey
380d4afb92 Swapping to new camera effects system 2018-04-14 17:38:48 +01:00
Richard Davey
b7ae0295bc No need to use globalAlpha or run fillRect twice. 2018-04-07 17:52:10 +01:00
Richard Davey
57c5ca657b Small refactoring 2018-04-05 11:01:24 +01:00
Richard Davey
4f6239dadb jsdoc and eslint fixes 2018-04-05 09:02:36 +01:00
Felipe Alfonso
7b275e2c62 DrawImage works with parent matrix 2018-04-04 12:31:45 -03:00
Felipe Alfonso
bea7ca36ad Merge branch 'master' into containers
# Conflicts:
#	src/renderer/webgl/pipelines/TextureTintPipeline.js
2018-04-04 12:07:41 -03:00
Richard Davey
af12eaac77
Merge branch 'master' into FR3472 2018-04-04 11:28:58 +01:00
Felipe Alfonso
3158d688ad TileSprite batcher modulates tilePosition by the texture size to avoid scrolling uv coordinates to large values.
issue ref: https://github.com/photonstorm/phaser/issues/3402
2018-04-03 14:21:24 -03:00
Travis O'Neal
2ec70cac48 Added a letterSpacing property to BitmapText 2018-04-02 09:42:24 -04:00
Travis O'Neal
d6265a59dd Initial Commit 2018-03-30 13:46:44 -04:00
Felipe Alfonso
749a69c387 Merge branch 'master' into containers 2018-03-30 11:50:54 -03:00
Richard Davey
66c2c7a359 change types 2018-03-30 13:51:32 +01:00
Richard Davey
2d6251a1e9 Swapping to enums 2018-03-29 16:42:20 +01:00
Felipe Alfonso
4f8ddd73bb Merge branch 'master' into containers 2018-03-29 12:35:40 -03:00
Richard Davey
f5373b2dee jsdoc fixes 2018-03-29 13:23:44 +01:00
Felipe Alfonso
e0f678d1ff Merge branch 'master' into containers 2018-03-28 20:49:00 -03:00
Richard Davey
f1e646c9ee jsdoc fixes 2018-03-28 15:39:57 +01:00
Felipe Alfonso
3741b9ea6d Added nested support to graphics rendering 2018-03-27 16:57:49 -03:00
Felipe Alfonso
161f258f60 Parent transform applied to all texture tint pipeline object rendering functions 2018-03-26 21:16:36 -03:00
Felipe Alfonso
48b8e7c704 parentTransformMatrix mulitplication 2018-03-26 19:55:38 -03:00
Felipe Alfonso
eac2b8338e parentTransformMatrix argument added to texture pipeline 2018-03-26 17:23:18 -03:00
Felipe Alfonso
5bcd12fcb7 Base container rendering + sprite batching with parent matrix 2018-03-23 14:15:52 -03:00
Richard Davey
0ef92e1172 Merge branch 'pr/3439' 2018-03-21 16:06:56 +00:00
orblazer
dcd80375c0 Fix "object" types on Renderer and Scene 2018-03-21 14:41:17 +01:00
José Maria
f9e978a2bd
(WebGL) updating currentScissor on game.resize
with the array being update it solves the issue with the global background not being fully draw after resizing the game.
2018-03-20 23:38:00 -03:00
Richard Davey
64fdbc3040 Graphics.alpha was being ignored in the WebGL renderer and is now applied properly to strokes and fills. Fix #3426 2018-03-20 00:27:39 +00:00
orblazer
8fdedabaeb Add callbacks on Renderer 2018-03-19 21:41:24 +01:00
Richard Davey
4de9719fbe Fixed jsdoc types 2018-03-19 17:05:29 +00:00
Richard Davey
620bcc6ae5 jsdoc fixes and additions 2018-03-19 13:45:00 +00:00
orblazer
6a4dd8db8f Update JSDoc on Renderer and Scene 2018-03-19 01:59:59 +01:00
Richard Davey
9832befeea Fixed camera y 2018-03-16 15:47:14 +00:00
Richard Davey
fbec8f978c You can now specify all of the renderer config options within a render object in the config. If no render object is found, it will scan the config object directly for the properties. 2018-03-16 13:22:52 +00:00
Richard Davey
dd4e00007f Added antialias config value 2018-03-16 00:52:21 +00:00
Richard Davey
0c1c16deba Used new config values, fixed eslint formatting and floored dimensions 2018-03-15 21:15:39 +00:00
Richard Davey
edf1aa7cc1 The onContextRestored callback won't be defined any more unless the WebGL Renderer is in use in the following objects: BitmapMask, Static Tilemap, TileSprite and Text. This should allow those objects to now work in HEADLESS mode. Fix #3368 2018-03-12 13:37:13 +00:00
Richard Davey
063d30602e The ForwardDiffuseLightPipeline now uses sys.lights instead of the Scene variable to avoid errors due to injection removal. 2018-03-12 12:55:09 +00:00
samme
d7780aff64 Fix error when no Light Manager exists 2018-03-11 19:22:42 -07:00
Richard Davey
c2f25b3742
Merge pull request #3240 from Twilrom/arc-fix
Update WebGL Graphics.arc to work more like on Canvas
2018-03-05 21:54:46 +00:00
Richard Davey
bfabe35cdf eslint fixes 2018-03-05 21:49:08 +00:00
Felipe Alfonso
ddc85cfdc7 Added support for tint and alpha to RenderTexture 2018-03-05 16:57:41 -03:00
Felipe Alfonso
c1d482b593 Added jsdoc comments to new methods and properties on WebGLPipeline and WebGLRenderer 2018-03-05 12:28:59 -03:00
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
Richard Davey
2c10ac328c Added roundPixels support for the Canvas renderer 2018-02-28 22:32:59 +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
4b96ed4d6e jsdoc fixes 2018-02-22 01:17:54 +00: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
Richard Davey
403a9363fd Updated jsdocs 2018-02-12 13:48:47 +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
Richard Davey
b525ecb502 Added jsdocs 2018-02-09 13:46:04 +00: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
Richard Davey
39b1f35a20 Removed call to render and tidied up a little 2018-01-20 04:45:14 +00: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
photonstorm
15fbd0962d Renamed to Update Manager. 2016-10-14 08:58:12 +01:00
photonstorm
9fcfa86cbf Forced alpha context. 2016-10-14 06:31:53 +01:00
photonstorm
ff2caeeb1c Some quick Image tests (will need to move to Sprite soon) 2016-10-14 02:21:21 +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
photonstorm
ce3308ea1d Hooking the Loader and Cache into the new Texture Manager. 2016-10-11 14:52:17 +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
0abf9d958d Updated scaleMode global. 2016-10-07 03:22:59 +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
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
photonstorm
7b40711418 Moved the Mask related features from Graphics into the Canvas Renderer. 2016-10-03 17:14:44 +01:00
photonstorm
1da95994a5 First pass of the newly re-structured Canvas Renderer (still using old texture system though). 2016-10-03 12:44:54 +01:00
Richard Davey
2590e67e2b First pass at the new consolidated Texture classes. Ultimately these will replace PIXI.BaseTexture, PIXI.Texture and Phaser.Frame. Objects will grab frame references, rather than creating their own Texture objects all the time. 2016-09-29 04:21:12 +01:00