Commit graph

903 commits

Author SHA1 Message Date
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
Richard Davey
167f50f28f Added new PostFX Pipeline to extend from 2020-11-06 15:35:05 +00:00
Richard Davey
4c7d81731b Added minFilter support 2020-11-06 12:25:03 +00:00
Richard Davey
3dbbc9caee Update RenderTargetConfig.js 2020-11-06 12:24:52 +00:00
Richard Davey
a62577ee77 Added minFilter support and better docs 2020-11-06 12:24:46 +00:00
Richard Davey
554e9214e0 Smaller error 2020-11-06 11:46:06 +00:00
Richard Davey
11b92b83e7 Supports new RenderTarget instances 2020-11-06 11:42:52 +00:00
Richard Davey
f914a073f3 New RenderTarget class to handle multiple targets per pipeline 2020-11-06 11:42:39 +00:00
Richard Davey
6e90d8ed59 Corrected docs and resetTextures 2020-11-06 11:42:25 +00:00
Richard Davey
18f32331fb Expose Render Target and WebGLShader 2020-11-06 10:59:57 +00:00
Richard Davey
a06edadba2 Update WebGLPipelineConfig.js 2020-11-06 10:59:47 +00:00
Richard Davey
a8b02cfb28 Create RenderTargetConfig.js 2020-11-06 10:59:41 +00:00
Richard Davey
ff23ca57cb Use new fbo stack 2020-11-06 10:19:34 +00:00
Richard Davey
02bde43772 Added fboStack, pushFramebuffer, popFramebuffer and resetTextures parameter 2020-11-06 10:19:26 +00:00
Richard Davey
d3c70002ea Removed use of _tempMatrix from all renderers 2020-11-06 09:44:29 +00:00
Richard Davey
701b899511 Update MultiPipeline.js 2020-11-05 18:05:58 +00:00
Richard Davey
18d2de8f1c Update SinglePipeline.js 2020-11-05 18:05:49 +00:00
Richard Davey
1a3a7d1151 Update WebGLPipeline.js 2020-11-05 18:05:19 +00:00
Richard Davey
883402da8a Added forceZero method and used it 2020-11-05 10:50:40 +00:00
Richard Davey
3696f73674 Guard against missing shaders. 2020-11-05 10:08:41 +00:00
Richard Davey
60e6eff81c Don't .replace non-strings. 2020-11-05 10:08:21 +00:00
Richard Davey
e9efc5e8f2 Invokes pre and post batch functions. 2020-11-04 18:02:22 +00:00
Richard Davey
4287181b2b Added manager, target auto clear, clearTarget and lots of new hooks for handlers, plus post bind and post flush support. 2020-11-04 18:02:11 +00:00
Richard Davey
f94e7b4f75 Set dimensions before resizing. Validate gl objects before deleting them. 2020-11-04 18:01:39 +00:00
Richard Davey
d6496c86cf Added JSDocs 2020-11-04 18:01:20 +00:00
Richard Davey
305106bebe Correct sampler ID 2020-11-04 18:01:11 +00:00
Richard Davey
34f3ae9755 Removed stack and lock support 2020-11-04 18:01:01 +00:00
Richard Davey
4747d204ca Added unbind method and handling for post-fx 2020-11-03 18:05:10 +00:00
Richard Davey
e72a3b27e4 Call new unbind method 2020-11-03 18:04:57 +00:00
Richard Davey
ebe5ba1a0a New attributes, removed un-used properties, fixed JSDocs 2020-11-03 11:32:05 +00:00
Richard Davey
93948f5b29 JSDocs fixes 2020-11-03 11:31:52 +00:00
Richard Davey
f4b95ab2c3 New simplified Graphics shaders 2020-11-03 11:31:32 +00:00
Richard Davey
10673da96b Graphics is as Graphics does 2020-11-02 22:39:30 +00:00
Richard Davey
9e1b8c4b2f Don't look-up properties from uniforms that aren't cached 2020-11-02 22:39:20 +00:00
Richard Davey
d05afa988f Added batchVert method to help make customization easier 2020-11-02 22:39:08 +00:00
Richard Davey
3caa51a938 Update GraphicsPipeline.js 2020-11-02 16:20:16 +00:00
Richard Davey
a5ae67e1a6 Added Camera Pipeline 2020-10-30 17:55:56 +00:00
Richard Davey
4c3a5223fe Added onFlush and onPostFlush 2020-10-30 17:55:36 +00:00
Richard Davey
ca4168e5d0 New Camera Pipeline, better boot handling, tidied up docs 2020-10-30 17:50:58 +00:00
Richard Davey
52d8140b4f New onResize callback and better matrix handling 2020-10-30 17:50:38 +00:00
Richard Davey
5dbec83a8b Using new Camera Pipeline (renderTexture todo) 2020-10-30 17:50:19 +00:00
Richard Davey
b73067a7a7 Implemented full uniform caching and setting handling. So much faster! 2020-10-30 17:50:06 +00:00
Richard Davey
4e7e5629d2 You can forceZero via the config now 2020-10-30 17:49:39 +00:00
Richard Davey
0a006e4c20 Tidied up parameters 2020-10-29 17:22:57 +00:00
Richard Davey
ebf7b19062 Removed unused code 2020-10-29 17:22:47 +00:00
Richard Davey
d39968e0a1 Parameter not needed 2020-10-29 17:22:39 +00:00