Commit graph

697 commits

Author SHA1 Message Date
Richard Davey
3d40a95a00 Added glFuncMap 2019-05-01 12:29:45 +01:00
Richard Davey
2f48d68735 A shader can now be used as a bitmap mask 2019-05-01 11:12:31 +01:00
Richard Davey
08f4a0ccf4 Tidying up 2019-05-01 02:10:38 +01:00
Richard Davey
84e898fd90 Fixed nested bitmap mask issue 2019-04-29 14:45:54 +01:00
Richard Davey
80a0bf3f1a Re-apply stencil after a bitmap mask 2019-04-29 14:29:13 +01:00
Richard Davey
3efcd1ca49 New cam mask object 2019-04-29 14:28:58 +01:00
Richard Davey
70b5b01db2 Restore previous framebuffer 2019-04-26 19:13:32 +01:00
Richard Davey
cf878ca553 Better stencil mask checking 2019-04-26 19:13:24 +01:00
Richard Davey
183ce1b96c BMP fix 2019-04-26 02:30:24 +01:00
Richard Davey
6e70f0e19c Shaders now work with camera masks and can have their own geometry masks 2019-04-26 01:53:34 +01:00
Richard Davey
9356744399 argument caps 2019-04-25 12:14:04 +01:00
Richard Davey
2ff76eb4b5 Removed un-needed Quad Pipeline and shaders 2019-04-25 12:13:09 +01:00
Richard Davey
72af4a21d1 Default shader 2019-04-25 03:16:46 +01:00
Richard Davey
9b4309b38c Added QuadShader Pipeline to the renderer 2019-04-25 03:16:39 +01:00
Richard Davey
2727408e7c Don't disable the vertex attribute if the location is invalid 2019-04-25 03:16:25 +01:00
Richard Davey
e0c22c5534 Added QuadShader Pipeline 2019-04-25 03:16:03 +01:00
Richard Davey
f64d0a935b Geometry Masks are now batched. Previously, using the same mask on multiple Game Objects would create brand new stencil operations for every single Game Object, causing performance to tank. Now, the mask is only set if it's different from the previously masked object in the display list, allowing you to mask thousands of Game Objects and retain batching through-out. 2019-04-24 16:45:31 +01:00
Richard Davey
12b6041d20 inverseAlpha support added back in and tidied up renderer 2019-04-24 14:51:39 +01:00
Richard Davey
1fc9b15ff1 Fixed Geometry Mask nesting issue. 2019-04-15 16:46:19 +01:00
Richard Davey
974ceb5654 Restore bitmap mask framebuffer 2019-04-12 18:36:47 +01:00
Richard Davey
f69cec7975 Improving support for child masking 2019-04-12 17:47:28 +01:00
Richard Davey
186970bd69 Render the Camera masks 2019-04-11 17:10:03 +01:00
Richard Davey
c188dfde12 Testing mask component on Camera 2019-04-10 18:10:03 +01:00
Richard Davey
42cb39749f Matter and Snapshot typedefs 2019-02-13 15:22:29 +00:00
Richard Davey
b50e1c78b5 Lots more jsdoc tweaks and improvements 2019-02-12 15:01:54 +00:00
Richard Davey
dc73993fe2 Added jsdoc version numbers 2019-02-12 12:22:25 +00:00
Richard Davey
c85497b6c5 Fixing jsdocs 2019-02-12 11:59:31 +00:00
Richard Davey
cfe6452924 Don't set if game is being destroyed 2019-02-04 23:29:22 +00:00
Richard Davey
60542a25cc Numerous jsdoc and TS related fixes 2019-02-04 17:16:08 +00:00
Richard Davey
4f6f6ee72f Lots of jsdoc and type fixes 2019-01-31 12:19:01 +00:00
Richard Davey
3b52b8387e Fixed jsdoc type 2019-01-31 11:11:05 +00:00
Richard Davey
f5106de6c5 Callback is now invoked in Image.onload to avoid race conditions. 2019-01-25 17:29:31 +00:00
Richard Davey
7c03028534 Updated jsdocs 2019-01-25 17:29:10 +00:00
Richard Davey
3206a585d1 Now takes a snapshot configuration object and changes path based on the type of grab being taken. 2019-01-25 17:29:03 +00:00
Richard Davey
f59f51ffd0 Added snapshotState, removed the old properties and added the new snapshotArea and snapshotPixel methods. 2019-01-25 17:28:39 +00:00
Richard Davey
8f016ef983 Updating snapshot feature 2019-01-25 10:01:53 +00:00
Richard Davey
9142260307 Texture filter mode is now based on game anti-alias setting. 2019-01-24 14:23:24 +00:00
Richard Davey
f8f81a06f0
Merge pull request #4286 from gomachan7/fixup/apply_transparent_bg_on_webgl_renderer
Fix WebGLRenderer to apply transparent bg in config
2019-01-23 22:22:08 +00:00
Richard Davey
1eccff1e3b Fixed jsdoc links and markdown bullet lists 2019-01-18 15:20:56 +00:00
Richard Davey
bc962c25dc All listeners use the new Events 2019-01-18 13:41:43 +00:00
Richard Davey
e6b74304b5 Added Camera pre and post render events. 2019-01-17 12:02:14 +00:00
Richard Davey
aa341854c7 Happy New Year 2019-01-15 16:20:22 +00:00
Richard Davey
d7e7feed19 Dimensions are now set in the onResize handlers. 2019-01-11 16:44:08 +00:00
Richard Davey
44f69ea7fa Removed autoResize, tidied up the resize method and init. 2019-01-10 13:43:09 +00:00
Richard Davey
82267ce14c Removed duplicate JSDoc typedef. 2019-01-10 13:42:53 +00:00
Richard Davey
175af00c60 Stores the new resolution, should it change (unlikely, but ...) 2019-01-10 13:42:11 +00:00
Richard Davey
e79404256f Removed autoResize. Dimensions now taken from Scale Manager. 2019-01-10 13:41:49 +00:00
Richard Davey
04ea2798e9 Use gameSize 2019-01-10 00:15:20 +00:00
gomachan_7
be562abd83 Fix WebGLRenderer to apply transparent bg in config 2019-01-10 02:17:53 +09:00
Richard Davey
b3aeee0bd1 Use the new size properties 2019-01-09 17:13:22 +00:00
Richard Davey
41286b5170 Make sure we bind the framebuffer and pipeline in the boot step 2018-12-18 14:58:42 +00:00
Richard Davey
8eebe518ad Added optional drawingBufferHeight argument to scissor methods. 2018-12-18 13:36:05 +00:00
Richard Davey
4b1ea8db9b WebGLRenderer.preRender now calls gl.clearColor in order to restore the background clear color in case something, like a Render Texture, has changed it. 2018-12-18 13:04:26 +00:00
Richard Davey
8f873c87af Clears the framebuffer at the start of every render. 2018-12-18 11:32:36 +00:00
Richard Davey
7e732452eb Fixed an issue in WebGLRenderer.setScissor where it was possible to try and compare the scissor size to a non-current scissor, if called outside of the render loop (i.e. from RenderTexture.fill) 2018-12-18 10:22:59 +00:00
Richard Davey
83f3f9cdeb Changed scissor order. 2018-12-13 14:24:49 +00:00
Richard Davey
cc164b5399 Fixed camera background in WebGL. 2018-12-13 10:25:53 +00:00
Richard Davey
bbe95d96d9 Added jsdocs for #4137 2018-12-12 11:58:58 +00:00
Richard Davey
d823c66597
Merge pull request #4137 from sercant/master
Fix rotating normal map bug (issue #3870)
2018-12-12 11:52:27 +00:00
Richard Davey
05ffb5312f Updated docs 2018-12-12 11:09:00 +00:00
Richard Davey
4b27b37a0c Added texture and unit arguments to batchQuad and batchTri, fixing the y2k bug. 2018-12-12 11:08:52 +00:00
Richard Davey
bacff65177 Refactoring texture batch creation 2018-12-11 15:00:12 +00:00
Richard Davey
5683713253 Added flush argument 2018-12-11 14:59:50 +00:00
Richard Davey
8e495da71d Fixed currentScissor assignment order of operation 2018-12-08 11:37:26 +00:00
Richard Davey
2780babe10 Final Doc Jam merge 2018-12-03 15:16:23 +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
fafc597b4c Added fillRect back in for non-transparent canvas 2018-11-28 15:49:24 +00:00
Richard Davey
b0df6892b5 The Canvas SetTransform method would save the context state, but it wasn't restored at the end in the following Game Objects: Dynamic Bitmap Text, Graphics, Arc, Curve, Ellipse, Grid, IsoBox, IsoTriangle, Line, Polygon, Rectangle, Star and Triangle. These now all restore the context, meaning if you're using non-canvas sized cameras in Canvas mode, it will now render beyond just the first custom camera. 2018-11-27 13:54:59 +00:00
Richard Davey
8cd45a72b2 ESLint fixes 2018-11-20 11:02:19 +00:00
Richard Davey
eb5da1f26d Docs update 2018-11-16 10:56:43 +00:00
Richard Davey
41343e3102 Removed copy paste error 2018-11-16 10:46:22 +00:00
Richard Davey
5147fb281a Added new Blend Modes. 2018-11-13 15:10:25 +00:00
Richard Davey
48686881dc Removed clearColor. CSS now handles this. Context always transparent. 2018-11-13 15:10:10 +00:00
Richard Davey
1b51ef1130 Remove fillRect. CSS now handles the background color. 2018-11-13 15:09:42 +00:00
Richard Davey
76918e76b0 ERASE tests 2018-11-13 10:32:24 +00:00
Richard Davey
a1273e42b8 Added ERASE blend mode 2018-11-13 10:31:56 +00:00
Richard Davey
06688eedd8 Merge branch 'master' of https://github.com/photonstorm/phaser 2018-11-10 04:22:51 +00:00
Richard Davey
7d1f990ad3 Added ERASE blend mode. 2018-11-10 04:22:13 +00:00
Richard Davey
8ea2bffb9c Render Textures created larger than the size of the default canvas would be automatically clipped when drawn to in WebGL. They now reset the gl scissor and drawing height property in order to draw to their full size, regardless of the canvas size. Fix #4139 2018-11-07 16:01:21 +00:00
Sercan Turkmen
03ffe7842f Fix rotating normal map bug (issue #3870) 2018-10-31 02:17:11 +02:00
Richard Davey
789713b4b1 Updated the clear and rebind pipeline methods 2018-10-29 23:07:10 +00:00
Richard Davey
32a22140a6 Use the predefined variable 2018-10-29 23:06:51 +00:00
Richard Davey
bed1141d9a Added clearPipeline and rebindPipeline and force argument. 2018-10-25 14:13:40 +01:00
Richard Davey
217e273896 Added context save to stop fillRect bug (issue #4056) 2018-10-24 12:39:48 +01:00
Richard Davey
b73d0dd80c Added jsdocs 2018-10-22 13:47:46 +01:00
Richard Davey
956a0913b8 Added new jsdocs 2018-10-22 12:12:31 +01:00
Richard Davey
4c4421c47f Docjam merge 2018-10-19 12:32:43 +01:00
Richard Davey
557955e057 Merging Scale Manager and Spine Plugin back into master 2018-10-18 14:59:27 +01:00
Richard Davey
ae9c3b6f56 Tidying up for 3.15 release 2018-10-16 15:10:49 +01:00
Richard Davey
9dc53d1e5a The WebGLRenderer method canvasToTexture has a new optional argument noRepeat which will stop it from using gl.REPEAT entirely. This is now used by the Text object to avoid it potentially switching between a REPEAT and CLAMP texture, causing texture black-outs 2018-10-12 15:08:53 +01:00
Richard Davey
4beffe842a Texture batching during the batch flush has been implemented in the TextureTintPipeline which resolves the issues of very low frame rates, especially on iOS devices, when using non-batched textures such as those used by Text or TileSprites. 2018-10-12 15:06:10 +01:00
Richard Davey
240914ee03 Fixed some types and removed resize calls 2018-10-11 17:02:14 +01:00
Richard Davey
4b1c762296 Updated @memberOf to @memberof 2018-10-10 10:49:13 +01:00
Richard Davey
a9063604dc Replace @readOnly with @readonly 2018-10-09 13:40:00 +01:00
Richard Davey
143957d24a You can now set the maxLights value in the Game Config, which controls the total number of lights the Light2D shader can render in a single pass. The default is 10. Be careful about pushing this too far. More lights = less performance. Close #4081 2018-10-02 11:09:58 +01:00
Richard Davey
5bdf9aa21b WebGLRenderer.deleteTexture will check to see if the texture it is being asked to delete is the currently bound texture or not. If it is, it'll set the blank texture to be bound after deletion. This should stop RENDER WARNING: there is no texture bound to the unit 0 errors if you destroy a Game Object, such as Text or TileSprite, from an async or timed process 2018-10-01 16:32:42 +01:00
Richard Davey
b3f3f6a9b5 If a Game instance is destroyed without using the removeCanvas argument, it would throw exceptions in the MouseManager after the destroy process has run, as the event listeners were not unbound. They're not unbound, regardless of if the parent canvas is removed or not. Fix #4015 2018-10-01 12:55:54 +01:00
Richard Davey
e297b3272e Added hundreds of new jsdoc descriptions 2018-10-01 11:35:01 +01:00
Richard Davey
ec6715ba8b Fixed a bug where the gl scissor wasn't being reset during a renderer resize, causing it to appear as if the canvas didn't resize properly when autoResize was set to true in the game config. Fix #4066 2018-10-01 10:38:39 +01:00
Richard Davey
c237209bb8 Added new jsdocs 2018-09-28 12:19:21 +01:00
Richard Davey
3944e580cc Fixed an error in the batchSprite methods in the Canvas and WebGL Renderers that would incorrectly set the frame dimensions on Sprites with the crop component. This was particularly noticeable on Sprites with trimmed animation frames 2018-09-27 16:49:52 +01:00
Richard Davey
d8fcde46c3 When using CanvasTexture.refresh or Graphics.generateTexture it would throw WebGL warnings like 'bindTexture: Attempt to bind a deleted texture'. This was due to the Frames losing sync with the glTexture reference used by their TextureSource. Fix #4050 2018-09-27 14:16:22 +01:00
Richard Davey
945a2eb0fb TextureTintPipeline.batchTexture has a new optional argument skipFlip which allows you to control the internal render texture flip Y check. 2018-09-26 16:32:41 +01:00
Richard Davey
c704dc450a Fixed jsdoc definitions 2018-09-25 11:36:36 +01:00
Richard Davey
5ec26fa62d Cameras now emit prerender and postrender events if they are set to render to textures. 2018-09-14 15:53:06 +01:00
Richard Davey
ef62313bbb The WebGL Renderer now always enables the SCISSOR_TEST, this allows Game Objects that use the scissor (such as custom objects, or Bitmap Text) to render properly again. 2018-09-14 12:33:09 +01:00
aaron
b9454eaf7b Wrong filling rectangle for camera with no transparent background after last scissor changes 2018-09-14 10:53:50 +02:00
Richard Davey
7b0d823415 Resizing canvas backed textures like this is a really bad idea, so remove it. 2018-09-13 13:22:27 +01:00
Matthew Roelle
700509275d Changed setFloatXv methods to accept a Float32Array rather than instantiate its own 2018-09-12 20:25:15 -07:00
Richard Davey
a418995c15 Fixed jsdoc versions and updated them for #4019 2018-09-12 15:34:48 +01:00
Richard Davey
aa4c1ce51d
Merge pull request #4019 from Mattykins/master
Add support for setting float array uniforms in the WebGLPipeline / WebGLRenderer
2018-09-12 15:16:26 +01:00
Richard Davey
9aeba9e73e Fixed jsdoc 2018-09-10 23:30:42 +01:00
Matthew Roelle
7465717d92 Fixed doccomment for float array uniforms 2018-09-09 18:19:09 -07:00
Matthew Roelle
aeeefb3cf6 Added support for setting float array uniforms in the WebGLRenderer and WebGLPipeline 2018-09-09 18:05:29 -07:00
Richard Davey
8bc4d06831 Added IsoTriangle and project setting 2018-09-07 14:23:25 +01:00
Richard Davey
5e126b80fa Parent matrix and now optional and it won't draw a line cap unless the first point has been set 2018-09-06 15:07:36 +01:00
Richard Davey
55003641d2 Clamp scissor 2018-08-31 18:19:31 +01:00
Richard Davey
0b95ed0478 Fixed scissors when using a small cam with render texture 2018-08-31 16:25:04 +01:00
Richard Davey
79b4f07530 Fixed mask flush and sped-up the render loop slightly (removed 1 duplicate conditional) 2018-08-31 14:40:12 +01:00
Richard Davey
5270b463d0 Removed visible check as it's no longer needed 2018-08-31 14:39:38 +01:00
Richard Davey
ecae9d0503 The setTintFill method would ignore the alpha value of the Game Object in the shader. The alpha value is now blended with the tint fill, allowing you to properly alpha out tint-filled Game Objects. Fix #3992 2018-08-31 13:27:24 +01:00
Richard Davey
cb0eeb3d63 Added default blank frame for custom pipelines #3978 2018-08-24 23:58:27 +01:00
Richard Davey
1d4b2ed01a Removed un-needed methods and fixed TileSprite and Tilemap Lights. Fix #3949 2018-08-23 17:30:27 +01:00
James Simpson
1ac7c969ea
Don't set gl.clearColor when no clearBeforeRender
Unless I'm missing something, the `gl.clearColor` command is unnecessary when you have `this.config.clearBeforeRender` set to `false`. This simply moves that into the config check to eliminate an unused command in those situations.
2018-08-17 14:03:17 -05:00
Richard Davey
66afe973af Trying mixins 2018-08-08 01:33:55 +01:00
Richard Davey
3a4bfa679b Added experimental Camera to Render Texture 2018-08-07 16:27:21 +01:00
Richard Davey
65d81ec426 Formatting 2018-08-07 16:26:22 +01:00
Richard Davey
f9e498353d Fixed lack of TempMatrix for Graphics generateTexture 2018-08-06 16:19:30 +01:00
Richard Davey
faeed47b5e eslint fixes 2018-08-06 15:32:08 +01:00
Richard Davey
e3f5590fc3 Use var to cut down on bytes 2018-08-06 15:29:36 +01:00
Richard Davey
26cc84522d The CanvasRenderer.BlitImage function has been removed, as has the associated blitImage property from the Canvas Renderer as they're no longer used. 2018-08-06 15:29:27 +01:00
Richard Davey
fbb67ac201 The CanvasRenderer.DrawImage function has been removed, as has the associated drawImage property from the Canvas Renderer as they're no longer used. 2018-08-06 15:24:51 +01:00
Richard Davey
708a857a26 SetTransform is a new Canvas Renderer function that consolidates the process of preparing a Game Object for rendering, without actually rendering it. This is used internally by the Graphics and Bitmap Text classes. 2018-08-03 19:02:43 +01:00
Richard Davey
8ed749bcb1 Removed old scissor code 2018-08-03 18:57:03 +01:00
Richard Davey
22bc6d2a86 The batchTexture method in the Texture Tint Pipeline now supports cropped Game Objects and will adjust the drawn texture frame accordingly. 2018-08-03 18:54:48 +01:00
Richard Davey
ca68904953 The Canvas Renderer has a new batchSprite method that consolidates the process of drawing a texture-based Game Object to the canvas. It processes the alpha, blend mode and matrix calculations in a single function and now is used by nearly all Game Object canvas renderers. 2018-08-03 18:53:50 +01:00
Richard Davey
fc0dc13930 Removed use of currentBlendMode and currentAlpha 2018-08-03 01:53:51 +01:00
Richard Davey
9f44896a3f The Blend Mode is now set directly in all Canvas Renderers without comparing it to what's stored in the Canvas Renderer. This fixes problems where the blend mode would be lost between two different Game Objects because they restored the context, but didn't update the renderer flag. Game Objects in Canvas can now mix and match blend modes across the display list. 2018-08-03 01:29:18 +01:00
Richard Davey
286f36cd1e Added ability for the Canvas Renderer to change context. 2018-08-02 14:57:37 +01:00
Richard Davey
2220faba49 Removed un-used method 2018-08-01 15:20:10 +01:00
Richard Davey
7ebf5766e8 Added docs for blankTexture and setBlankTexture. 2018-08-01 13:23:03 +01:00
Richard Davey
73524df816 The Game boot event flow has changed slightly. The Game will now listen for a texturesready event, which is dispatched by the Texture Manager when the default textures have finished processing. Upon receiving this, the Game will emit the ready event, which all the other systems listen for and respond to. The difference is that the Renderer uses the texturesready event to ensure that it is the first thing to be activated, before any other system. 2018-08-01 13:18:28 +01:00
Richard Davey
a4db967b19 Added 4 temp matrices to the Canvas renderer. 2018-07-31 23:23:04 +01:00
Richard Davey
be379fd3a1 Added batchTextureFrame method 2018-07-31 17:10:02 +01:00
Richard Davey
a3fc263360 Binding a framebuffer sets the viewport size 2018-07-31 17:09:47 +01:00
Richard Davey
6749417ef3 lint fix 2018-07-27 11:19:19 +01:00
Richard Davey
9331c15c48 Updated to use tint object. 2018-07-27 02:14:08 +01:00
Richard Davey
4481795d32 Swapped to using getX / getY 2018-07-27 00:53:00 +01:00
Richard Davey
6877582531 Removed un-used pipeline and shaders 2018-07-26 23:43:49 +01:00
Richard Davey
4bdecf488b jsdocs tweaks 2018-07-26 23:41:52 +01:00
Richard Davey
a09c2a4958 Now uses customViewports counter to avoid scissor setting and skips box check 2018-07-26 23:05:25 +01:00
Richard Davey
1777e16227 Sorting out the scissor stack 2018-07-26 17:50:07 +01:00
Richard Davey
d093f35e5c Merged all of the required FTP methods into TTP. 2018-07-26 16:34:04 +01:00
Richard Davey
e0c0db5f8e Final bit of tidying up before merging this with the TTP. 2018-07-26 16:33:43 +01:00
Richard Davey
90219d46b3 Removed all references to the FlatTintPipeline. 2018-07-26 16:33:29 +01:00
Richard Davey
947d301f42 Removed the unit batch from TTP and put it into FDLP 2018-07-26 15:31:44 +01:00
Richard Davey
bda9159cb0 Textures now use the frame UV values. 2018-07-26 15:05:10 +01:00
Richard Davey
d3e07b519a Added setBlankTexture method 2018-07-26 15:04:46 +01:00
Richard Davey
7acbbcf58a Fixed linejoin, added arc and triangle, tidying up code 2018-07-26 13:49:05 +01:00
Richard Davey
39a6622623 Working on joints 2018-07-26 09:58:33 +01:00
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