Commit graph

1148 commits

Author SHA1 Message Date
Richard Davey
526a6489ba Added BarrelFX 2023-02-16 00:42:17 +00:00
Richard Davey
9aa58008bf Finished Circle shader and CircleFX Pipeline 2023-02-15 23:48:34 +00:00
Richard Davey
ffa50913f4 Shader update? 2023-02-15 18:50:59 +00:00
Richard Davey
5125d91509 Create FXCircle.frag 2023-02-15 18:50:47 +00:00
Richard Davey
720417c3dd Added ColorMatrix 2023-02-15 18:50:44 +00:00
Richard Davey
2d58ee2453 Create CircleFXPipeline.js 2023-02-15 18:50:12 +00:00
Richard Davey
3fb415b926 Create ColorMatrixFXPipeline.js 2023-02-15 18:50:07 +00:00
Richard Davey
4d273254e5 Testing ColorMatrix FX 2023-02-15 13:47:56 +00:00
Richard Davey
399241b9c4 vertShader is the default :) 2023-02-15 01:20:53 +00:00
Richard Davey
1cf3aa428a Exposed all the FX pipelines for easier access 2023-02-15 01:15:25 +00:00
Richard Davey
e1391445fe If you add #define SHADER_NAME to the start of your shader then it will be picked up as the WebGLShader name during the setShadersFromConfig process within WebGLPipeline. 2023-02-15 01:15:01 +00:00
Richard Davey
b40cc9b584 Tweaked alpha 2023-02-15 00:50:31 +00:00
Richard Davey
a93a6c75c3 Added working BloomFX 2023-02-15 00:50:26 +00:00
Richard Davey
b615e67a3b Rename LinearGradient to Gradient and use better shader 2023-02-15 00:05:33 +00:00
Richard Davey
03104d0a8c Optimize size of shaders by removing comments and blank lines 2023-02-15 00:05:16 +00:00
Richard Davey
58576252cb Fixed BlurFX and added LinearGradientFX 2023-02-14 23:45:44 +00:00
Richard Davey
65f3d340ec Working through Blur FX 2023-02-14 18:53:52 +00:00
Richard Davey
15f296824c Improved Vignette shader dramatically 2023-02-14 15:49:33 +00:00
Richard Davey
729f446e66 Added Shadow, Vignette, Pixelate and Shine FX 2023-02-14 13:33:07 +00:00
Richard Davey
765afecbea The WebGLPipeline.setTime method has a new optional parameter shader, which allows you to control the shader on which the time value is set. 2023-02-14 13:11:29 +00:00
Richard Davey
28f088184f Expose GlowFXPipeline 2023-02-14 01:30:57 +00:00
Richard Davey
9f53a0460a Added GlowFX by default (testing) 2023-02-14 01:30:47 +00:00
Richard Davey
13e2e15914 New and improved fx handling 2023-02-14 01:30:37 +00:00
Richard Davey
3f428c4295 jsdocs fix 2023-02-14 01:29:57 +00:00
Richard Davey
2589557f4d Don't resize if locked from resizing 2023-02-14 01:29:46 +00:00
Richard Davey
34c3468961 Create GlowFXPipeline.js 2023-02-14 01:29:05 +00:00
Richard Davey
ed1f79e57e Added Vignette and BaseFX class 2023-02-13 21:21:18 +00:00
Richard Davey
532d5a9375 Revised FX pipeline. Added Glow, Shadow and Pixelate. Tested against multi-pass. 2023-02-13 18:50:27 +00:00
Richard Davey
963ff647e6 Testing out a possible FX Pipeline 2023-02-13 01:30:22 +00:00
Richard Davey
cf6b0971cb Renaming SpriteFX to PreFX 2023-02-12 21:08:58 +00:00
Richard Davey
ed205f586b Bloom FX 2023-02-09 18:46:49 +00:00
Richard Davey
a493f51192 Set the Post Pipeline name into the instance correctly, so we can pass by reference to setPostPipeline 2023-02-03 18:26:56 +00:00
Richard Davey
6f678e0825 If mipmapFilter is not set on the config (now the default) it won't create them at all. 2023-01-23 20:59:02 +00:00
Richard Davey
61278d0812 Optionally pass ColorMatrix to ciopySprite method 2023-01-23 17:16:43 +00:00
Richard Davey
468bf7821d Updated copyright year 2023-01-02 17:36:27 +00:00
Richard Davey
b267c607d2 Measure and Snap block freq read 2022-12-18 17:22:26 +00:00
Richard Davey
7a5d138271 Testing deleting renderbuffer #6311 2022-12-07 18:29:11 +00:00
Richard Davey
a813f9c229 WebGLPipeline.vertexAvailable is a new method that returns the number of vertices that can be added to the current batch before it will trigger a flush. 2022-12-07 18:28:17 +00:00
Richard Davey
1e9bb686d3 When calling PipelineManager.clear and rebind it will now check if the vao extension is available, and if so, it'll bind a null vertex array. This helps clean-up from 3rd party libs that don't do this directly, such as ThreeJS. 2022-11-29 23:38:47 +00:00
Richard Davey
9357b8e609 The RenderTarget class will now create a Framebuffer that includes a Depth Stencil Buffer attachment by default. Previously, it didn't. By attaching a stencil buffer it allows things like Geometry Masks to work in combination with Post FX and other Pipelines. Fix #5802 2022-11-22 18:13:03 +00:00
Richard Davey
e608c2caf1 The CONTEXT_RESTORED Game Event has been removed and the WebGL Renderer no longer listens for the contextrestored DOM event, or has a contextRestoredHandler method. This never actually worked properly, in any version of Phaser 3 - although the WebGLRenderer would be restored, none of the shaders, pipelines or textures were correctly re-created. If a context is now lost, Phaser will display an error in the console and all rendering will halt. It will no longer try to re-create the context, leading to masses of WebGL errors in the console. Instead, it will die gracefully and require a page reload. 2022-11-17 18:04:51 +00:00
Richard Davey
c9d7a76998 The Light fragment shader will now use the outTintEffect attribute meaning the Light Pipeline will now correctly light both tinted and fill-tinted Game Objects. Fix #5452 2022-11-17 17:25:47 +00:00
Richard Davey
8c7c8ee2a4 The batchLine method in the Multi Pipeline will now check to see if the dxdy len is zero, and if so, it will abort drawing the line. This fixes issues on older Android devices, such as the Samsung Galaxy S6 or Kindle 7, where it would draw erroneous lines leading up to the top-left of the canvas under WebGL when rendering a stroked rounded rectangle. Fix #5429 2022-11-17 16:49:10 +00:00
Richard Davey
2f720246ab Reset the buffer and textures on rebind. 2022-11-15 21:54:43 +00:00
Richard Davey
064e8a3ec2 Fixed type issues 2022-11-10 16:05:20 +00:00
Richard Davey
b457e42a2f The Light Pipeline will now check to see if a Light2D enabled Game Object has a parent Container, or not, and factor the rotation and scale of this into the light calculation. Fix #6086 2022-11-09 18:18:35 +00:00
Richard Davey
d7a15e92a6 Added activeBuffer and activeTextures check to avoid gl ops 2022-11-03 22:05:18 +00:00
Richard Davey
2d81a4a50e Reverting to forloop shader 2022-11-03 22:04:58 +00:00
Richard Davey
528e32a18a Reverting to forloop approach 2022-11-03 22:04:44 +00:00
Richard Davey
3b50fa65d6 WebGLSnapshot will now flip the pixels in the created Image element if the source was a framebuffer. This means grabbing a snapshot from a Dynamic or Render Texture will now correctly invert the pixels on the y axis for an Image. Grabbing from the game renderer will skip this. 2022-10-31 22:47:14 +00:00