Commit graph

432 commits

Author SHA1 Message Date
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