Commit graph

948 commits

Author SHA1 Message Date
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
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
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
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
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
Richard Davey
7ba1b132ab Added rebind function, to reset the shader attributes. 2020-11-10 15:50:51 +00:00
Richard Davey
6e115e4e04 Call rebind function 2020-11-10 15:50:30 +00:00
Richard Davey
47009779fb Hard-code the topology 2020-11-10 15:50:17 +00:00
Richard Davey
84f6849ad6 Fixed Bitmap Mask 2020-11-10 14:33:28 +00:00
Richard Davey
7a5165c87b Limit batch size to 1 2020-11-10 12:35:01 +00:00
Richard Davey
eda0ca8a75 Use GLenum value and limit batch size to 256 2020-11-10 12:34:53 +00:00
Richard Davey
fad0d331d7 Change to batchSize property 2020-11-10 12:34:35 +00:00
Richard Davey
86d1009e7b Use batchSize and fixed shouldFlush so we take advantage of bufferData 2020-11-10 12:34:25 +00:00
Richard Davey
e7319907c7 PostFX Pipeline only needs a single quad 2020-11-10 11:59:28 +00:00
Richard Davey
ca52436340 Removed Camera Pipeline 2020-11-10 11:59:12 +00:00
Richard Davey
94d2889783 Moved setTexture2D to pipeline class 2020-11-10 11:58:53 +00:00
Richard Davey
eee3feb667 Pass Game Object to batchQuad 2020-11-09 13:19:31 +00:00
Richard Davey
c5656fbd08 Make FLOAT the default type 2020-11-09 13:19:14 +00:00
Richard Davey
cb7a998ea0 Added onBatch support 2020-11-09 12:17:45 +00:00
Richard Davey
88809647a6 Expose outFragCoord 2020-11-06 17:22:17 +00:00
Richard Davey
abe97b18fd Remove drawFillRect and no batchTexture post fx 2020-11-06 17:22:05 +00:00
Richard Davey
92eca8d3d2 Use the new Camera post pipeline feature 2020-11-06 15:35:29 +00:00