Commit graph

1043 commits

Author SHA1 Message Date
Richard Davey
c5cbb413d2 You can now set the boolean preserveDrawingBuffer in the Game Config (either directly, or in the Render Config). This is passed to the WebGL context during creation and controls if the buffers are automatically cleared each frame or not. The default is to clear them. Set to true to retain them. 2021-02-04 15:58:41 +00:00
Richard Davey
a765b7edfc WebGLRenderer.isTextureClean is a new boolean property that tracks of all of the multi-textures are in a clean 'default' state, to avoid lots of gl texture binds and activations during a Scene restart or destruction process. 2021-01-04 15:49:39 +00:00
Richard Davey
e7aff5d0dc Data type fix 2020-12-16 10:25:27 +00:00
Richard Davey
6912124780 Fixed docs 2020-12-15 16:05:34 +00:00
Richard Davey
67b3f812f8 JSDocs 2020-12-14 13:50:50 +00:00
Richard Davey
00ec07d67f JSDoc update 2020-12-14 13:36:51 +00:00
Richard Davey
cbe1a3219a JSDoc improvements 2020-12-14 13:33:42 +00:00
Richard Davey
675e83e539 Fix inverted RenderTexture snapshot. Fix #5445 2020-12-14 10:52:05 +00:00
Richard Davey
5a532da7bf Disable scissor before clearing. 2020-12-14 09:08:28 +00:00
Richard Davey
166c333d13 Should rebind shaders too 2020-12-11 12:41:48 +00:00
Richard Davey
519afd031b Fixed Camera Fade Effect check. Fix #5438 2020-12-11 11:29:16 +00:00
Richard Davey
69f4a6d8fb Added getAspectRatio method 2020-12-11 11:05:20 +00:00
Richard Davey
e4be6dbc90 Fixed JSDocs and removed unused method 2020-12-11 10:33:53 +00:00
Richard Davey
11990bccb4 Added global projection matrix back and removed events 2020-12-11 10:26:15 +00:00
Richard Davey
0d67548343 Compare projection matrix with renderer 2020-12-11 10:24:47 +00:00
Richard Davey
8839007e0f Update the projection matrix on bind 2020-12-11 10:24:27 +00:00
Richard Davey
dbae58368d Removed event as no longer required 2020-12-11 10:24:15 +00:00
Richard Davey
27da1dfa4b Clear just the color buffer 2020-12-11 10:24:05 +00:00
Richard Davey
7acbd816f3 Added new Projection Update event and respond to it 2020-12-10 18:07:25 +00:00
Richard Davey
4f5cedde03 Better method name. Reset once done. 2020-12-10 16:58:34 +00:00
Richard Davey
f1dbea4ead beginCapture can accept dimensions. Reset scissor enables even if same size. Always set drawing height. 2020-12-10 16:55:00 +00:00
Richard Davey
21b968363c Don't resize if already same size. Better binding handling. 2020-12-10 16:53:48 +00:00
Richard Davey
2be3b7aa59 Fixed typos 2020-12-10 16:53:26 +00:00
Richard Davey
197aa9df0f Update WebGLRenderer.js 2020-12-09 15:55:02 +00:00
Richard Davey
edbef4a04a Added eraseMode parameter 2020-12-09 15:54:56 +00:00
Richard Davey
16d4d11939 Final fixes to blitFrame 2020-12-09 15:20:09 +00:00
Richard Davey
1cb6d525be New blitFrame working. Now to adjust when src > target height. 2020-12-09 14:08:24 +00:00
Richard Davey
daadb7d5b6 Fixed way in which custom vertices are defined in the config 2020-12-09 12:18:16 +00:00
Richard Davey
54e306fe3e Added setProjectionMatrix and all of the new pipeline events 2020-12-08 17:38:19 +00:00
Richard Davey
5f279bf4a4 Added RenderTarget, begingCapture, endCapture, resetScissor and resetViewport 2020-12-08 17:37:59 +00:00
Richard Davey
f93c3ea05f Added Pipeline events 2020-12-08 16:15:46 +00:00
Richard Davey
c2bce98532 Added copyFrameRect method 2020-12-08 16:15:06 +00:00
Richard Davey
d6d5c09552 The Shader Game Object now supports being able to use a Render Texture as a sampler2D texture on the shader. Fix #5423 2020-12-07 12:19:42 +00:00
Richard Davey
15a6f50d2c Fixed functions not appearing in the namespace. Fix #5432 2020-12-07 10:11:47 +00:00
Richard Davey
0951a1d2ea Fixed tint property. Fix #5433 2020-12-07 09:42:21 +00:00
Richard Davey
402e6d23b1 Testing making the pipeline responsible for setting the buffer to cut down on potential points of failure 2020-12-04 18:06:16 +00:00
Richard Davey
c6489cf730 Remove un-used shader 2020-12-04 15:29:55 +00:00
Richard Davey
08b304372c Made the Render Events global, not WebGL specific and allowed Canvas Renderer to emit them too 2020-12-04 15:07:26 +00:00
Richard Davey
509fbcae44 Update PipelineManager.js 2020-12-04 13:40:32 +00:00
Richard Davey
e2ccfffd3b Split up the classes to avoid plugin issues. Fix #5420 2020-12-04 13:04:48 +00:00
Richard Davey
dab806e371 Can use same matrix 2020-12-04 12:00:23 +00:00
Richard Davey
82c1ea87da Reset the projection matrix to avoid cache by reference errors. Fix #5425 2020-12-03 14:31:45 +00:00
Richard Davey
3344fc12bf Added resetUniform method 2020-12-03 14:31:21 +00:00
Richard Davey
d2b8f0b7e4 Factor in Camera Zoom to radius 2020-12-03 12:52:12 +00:00
Richard Davey
4d7435f468 Update LightPipeline.js 2020-12-03 11:11:30 +00:00
Richard Davey
97d9cc6fb9 Create 1 shader per light count. Avoids all pointless iteration within the shaders 2020-12-03 10:16:00 +00:00
Richard Davey
8b6d03faaf Fixed JSDoc 2020-12-03 10:15:25 +00:00
Richard Davey
39d45258de Removed un-used properties and improved render function massively 2020-12-02 17:57:32 +00:00
Richard Davey
c10fb834e0 Fixed Tilemap Layer Light2D batch 2020-12-02 15:03:46 +00:00
Richard Davey
35146e72ed Removed Light Layer and moved Point Light to its own Game Object 2020-12-02 13:48:38 +00:00
Richard Davey
6b1fda19e1 Use onActive and reset textures, fixing all rendering issues 2020-12-02 13:15:16 +00:00
Richard Davey
2687be611a Added on onActive hook 2020-12-02 13:14:57 +00:00
Richard Davey
e41d5a0296 Tidying up the class 2020-12-02 11:45:38 +00:00
Richard Davey
e8a36a2477 Update WebGLPipelineUniformsConfig.js 2020-12-02 11:11:52 +00:00
Richard Davey
a694590945 Fixed for 3.50 Beta 12 2020-12-02 11:11:48 +00:00
Richard Davey
2d78642944 Pipelines now populate their own uniforms 2020-12-02 11:11:24 +00:00
Richard Davey
dd1757a288 Shaders will now automatically get all active uniforms and populate the uniforms object 2020-12-02 11:11:08 +00:00
Richard Davey
cbf15747c7 Set default size to 1 2020-12-01 17:24:16 +00:00
Richard Davey
079dbcc72f Back to Normal Map only pipeline 2020-12-01 17:24:04 +00:00
Richard Davey
ea6a7d0f05 Install Point Light Pipeline (build flag?) 2020-12-01 17:23:33 +00:00
Richard Davey
05e046eb0e Added Point Light Pipeline to the const 2020-12-01 17:23:18 +00:00
Richard Davey
496564e9d0 Create PointLightPipeline.js 2020-12-01 17:23:03 +00:00
Richard Davey
c8a8f59d69 New Point Light shader 2020-12-01 17:22:57 +00:00
Richard Davey
239e44b264 Improved docs 2020-11-30 16:13:03 +00:00
Richard Davey
23ad56862f Enable use of 'active' 2020-11-30 14:21:00 +00:00
Richard Davey
e020898134 Update LightPipeline.js 2020-11-30 09:46:28 +00:00
Richard Davey
3149bb5dfa JSDoc fix 2020-11-26 14:19:29 +00:00
Richard Davey
451656c54f Use getXRound and getYRound 2020-11-26 11:39:08 +00:00
Richard Davey
c8cdf9fde2 Fixed Render Texture crop 2020-11-26 11:28:25 +00:00
Richard Davey
a0a32f45e5 Using a Bitmap Mask and a Blend Mode in WebGL would reset the blend mode when the mask was rendered, causing the Game Object to have no blend mode. Fix #5409 2020-11-26 10:14:13 +00:00
Richard Davey
681797ec9d Fixed Canvas Renderer. Fix #5408 2020-11-26 10:04:51 +00:00
Richard Davey
0ee1338765 Better post pipeline call (less code) 2020-11-26 09:51:40 +00:00
Richard Davey
339b4fd3df Added setTime method 2020-11-25 22:44:06 +00:00
Richard Davey
d0da33689b Added bindTexture method 2020-11-24 16:01:25 +00:00
Richard Davey
9cc16720b8 Added bindRenderTarget method. 2020-11-24 15:34:25 +00:00
Richard Davey
d2e2e86ef1 Updated accessor 2020-11-23 16:22:11 +00:00
Richard Davey
ec5da6930c Added post pipeline support to all Game Objects 2020-11-23 16:17:13 +00:00
Richard Davey
28d925b875 JSDoc fixes 2020-11-23 15:06:45 +00:00
Richard Davey
3f511a73cd Replace integer[] with number[] 2020-11-23 10:23:10 +00:00
Richard Davey
02c34cd64e Replace integer with number 2020-11-23 10:22:13 +00:00
Richard Davey
5ca5a63038 Testing new Lights 2020-11-23 10:19:31 +00:00
Richard Davey
30c2eb5d0e Ability to link Post Pipeline to owner object 2020-11-20 17:29:42 +00:00
Richard Davey
0b589564ea JSDoc fixes 2020-11-20 16:37:53 +00:00
Richard Davey
afbbf2aee0 JSDoc fixes 2020-11-20 16:30:05 +00:00
Richard Davey
b64f2cc4d0 Added ability to skip post pipeline per object 2020-11-20 15:18:19 +00:00
Richard Davey
e7b85b08af Fixed batchLight 2020-11-20 13:05:32 +00:00
Richard Davey
f941f5a9f9 Scissor fix 2020-11-20 11:10:37 +00:00
Richard Davey
87b96f60e8 Resize to match texture fbo 2020-11-19 23:04:10 +00:00
Richard Davey
a7e980f816 Adjust viewport 2020-11-19 18:07:26 +00:00
Richard Davey
e80ed9464a Removed copy params 2020-11-19 16:40:42 +00:00
Richard Davey
775134ed3b Added viewport and flush helpers 2020-11-19 16:40:19 +00:00
Richard Davey
6f6fbadfdd Don't adjust viewport unless needed 2020-11-19 16:40:07 +00:00
Richard Davey
82ca007d1a Added cropWidth and cropHeight parameters to batchTextureFrame method 2020-11-19 11:37:38 +00:00
Richard Davey
782cb94e56 Updated Render Target constructor 2020-11-19 11:37:14 +00:00
Richard Davey
a03393a4de Added auto resize, clear and default parameters 2020-11-19 11:36:58 +00:00
Richard Davey
916bfa78b2 Missing flush 2020-11-18 10:26:44 +00:00
Richard Davey
c4c849cff4 Reset Textures 2020-11-17 19:58:35 +00:00
Richard Davey
4903241ac9 No longer use setPost. 2020-11-17 17:30:25 +00:00
Richard Davey
11e4fe6e14 Update PipelineManager.js 2020-11-17 17:15:32 +00:00
Richard Davey
e36a086e5d Updated data types 2020-11-17 16:50:36 +00:00
Richard Davey
96be7f6e6d Destroy Render Targets too 2020-11-17 16:19:48 +00:00
Richard Davey
842b984b46 Update CanvasRenderer.js 2020-11-17 16:19:14 +00:00
Richard Davey
60c7d8a2e9 New classes property, new event handling system and removed un-used methods 2020-11-17 14:10:06 +00:00
Richard Davey
2c88b8935b Auto-boot and set isPostFX 2020-11-17 14:09:47 +00:00
Richard Davey
599213d211 New isPostFX property, listen to events and don't create projection matrix unless needed 2020-11-17 14:09:27 +00:00
Richard Davey
629eefb7d5 Now extends event emitter, new events and new isBooted property 2020-11-17 14:09:02 +00:00
Richard Davey
477cde3548 New WebGL Renderer events 2020-11-17 14:08:23 +00:00
Richard Davey
9cf67722ec Don't forget to reset the viewport 2020-11-16 17:52:11 +00:00
Richard Davey
2008d3b880 Added popFBO parameters and setViewport parameter 2020-11-16 17:43:04 +00:00
Richard Davey
f5f20db048 Don't batch if no pipeline 2020-11-16 17:08:50 +00:00
Richard Davey
dbe57303ed Defs update 2020-11-16 15:46:40 +00:00
Richard Davey
8c996b4697 Added setPost, isCurrentPost, removed setCameraPipeline 2020-11-16 15:46:34 +00:00
Richard Davey
c12b4cff3f Swizzle RGB 2020-11-16 15:45:45 +00:00
Richard Davey
9cfa8f5039 Added option to clear bind target 2020-11-15 17:49:29 +00:00
Richard Davey
5062c97784 Added copyToGame method to finalise fbo to renderer 2020-11-15 17:32:37 +00:00
Richard Davey
ce0b9d94c5 Added option to clear frame before copy 2020-11-15 12:53:33 +00:00
Richard Davey
b82ae856b6 Update Single.vert 2020-11-14 17:58:09 +00:00
Richard Davey
314a0bbf4e Added ability to bind and draw to a target. 2020-11-14 17:58:00 +00:00
Richard Davey
d87cf4e915 Always pop and reset! 2020-11-13 18:03:03 +00:00
Richard Davey
d07b2fc811 Lots more documentation added 2020-11-13 17:46:05 +00:00
Richard Davey
bbbb49f4b5 Handy references 2020-11-13 17:31:27 +00:00
Richard Davey
701ad1fa15 ColorMatrix alpha support and viewport setting 2020-11-13 17:31:17 +00:00
Richard Davey
7458031140 Updated shaders 2020-11-13 17:31:00 +00:00
Richard Davey
94836b1c88 Handle pre-mult alpha properly 2020-11-13 17:30:21 +00:00
Richard Davey
691b680e36 Added JSDocs and fixed boot sequence 2020-11-13 15:54:49 +00:00
Richard Davey
cf275b44d6 Added all JSDocs 2020-11-13 15:54:36 +00:00
Richard Davey
6a97fe6889 Lots of handy methods added and fixed vertices 2020-11-13 14:20:26 +00:00
Richard Davey
2d3248025a Lots of tidying up, added blend methods 2020-11-13 14:20:07 +00:00
Richard Davey
cfce8062e6 Call the new camera methods 2020-11-13 14:19:55 +00:00
Richard Davey
985b614c65 Return the freshly bound fbo 2020-11-13 14:19:42 +00:00
Richard Davey
dbdac4f102 Better method names 2020-11-13 14:19:30 +00:00
Richard Davey
d7a0bddfcb Handled in batchQuad method 2020-11-13 14:19:12 +00:00
Richard Davey
bddfd707fc Added preBatchCamera and postBatchCamera and the rest of the Utility methods 2020-11-13 14:18:57 +00:00
Richard Davey
b019c6f889 Added onDraw 2020-11-12 18:10:07 +00:00
Richard Davey
53180cc748 Updated shaders 2020-11-12 18:09:54 +00:00
Richard Davey
724310f147 Removed draw method 2020-11-12 18:09:44 +00:00
Richard Davey
6dc07dad3e Added ColorMatrix class and proper verts 2020-11-12 18:09:37 +00:00
Richard Davey
d50afad9e5 Testing new util methods 2020-11-12 18:09:21 +00:00
Richard Davey
a6ba0539de Update PostFXPipeline.js 2020-11-11 17:47:24 +00:00
Richard Davey
c60b4f580c Fixed draw mode, shader binding and testing new draw 2020-11-11 17:47:20 +00:00
Richard Davey
8ef9f36370 Fixed missing property 2020-11-11 17:46:58 +00:00
Richard Davey
9235b7a695 Add Utility Pipeline and copyFrames method 2020-11-11 17:46:44 +00:00
Richard Davey
1ff6b0dce5 Expose Utility Pipeline 2020-11-11 17:46:28 +00:00
Richard Davey
b9cc4bfb5b Create UtilityPipeline.js 2020-11-11 17:46:03 +00:00
Richard Davey
752fccbf16 Added w/h, comment out draw for now 2020-11-11 17:45:58 +00:00
Richard Davey
741f5f4e27 Added outFragCoord 2020-11-11 17:45:43 +00:00
Richard Davey
c07283ceab Tidy up shader code 2020-11-11 09:39:33 +00:00
Richard Davey
d677b57ee4 Added new utility shaders 2020-11-11 09:35:02 +00:00
Richard Davey
8e7171ca79 Use fbo stack and free-up callback hooks 2020-11-10 17:26:56 +00:00
Richard Davey
6d56ee01af Update BitmapMask.frag 2020-11-10 17:26:33 +00:00