Richard Davey
|
0b32610e56
|
Updated version to 3.70
|
2023-11-10 15:04:01 +00:00 |
|
Richard Davey
|
bd67ed38a5
|
Disable roundPixels when drawing lines
|
2023-11-09 22:30:53 +00:00 |
|
Richard Davey
|
2c8b70e4f7
|
Respect the disable fx flags and only create the pipelines and render targets as needed
|
2023-11-08 12:35:19 +00:00 |
|
Richard Davey
|
ec5a695a5c
|
PostFXPipeline.bootFX is a new method, which is the previous boot method but renamed. This is no longer called from the constructor, but instead when the Post FX Pipeline is activated by the Pipeline Manager. This means that the resources the Post FX requires, such as creating Render Targets and shaders, is delayed until the FX is actually used, saving on memory.
|
2023-11-07 23:42:04 +00:00 |
|
Richard Davey
|
d3050a05fc
|
The MultiPipeline.batchTexture method has a new optional boolean parameter skipPrePost that will force the call to ignore calling the preBatch and postBatch Pipeline Manager methods for the Game Object. This allows you to skip the overhead of calling them if you know you don't need them.
|
2023-11-07 22:53:14 +00:00 |
|
Richard Davey
|
52619b26f9
|
Set missing uniforms to get FX working again :)
|
2023-11-07 22:51:38 +00:00 |
|
Richard Davey
|
94c810fd39
|
Remove false param to setQuad
|
2023-11-07 18:53:51 +00:00 |
|
Richard Davey
|
0431796d94
|
false is the default now
|
2023-11-07 18:52:46 +00:00 |
|
Richard Davey
|
f96b557f4c
|
The MultiPipeline.batchSprite method (which is also used by the Single Pipeline and Mobile Pipeline) will no longer use roundPixels when calculating the quad vertex data. It also won't apply it to any of the sprite values. This is all now handled in the shader directly.
|
2023-11-07 18:37:34 +00:00 |
|
Richard Davey
|
df846bdab3
|
CanvasRenderer.batchSprite has been updated to correctly use the Camera roundPixels property and apply it to the drawImage call.
|
2023-11-07 18:30:02 +00:00 |
|
Richard Davey
|
a26f827650
|
Optimized setTextureFilter
|
2023-11-07 18:28:27 +00:00 |
|
Richard Davey
|
b0c2dcf463
|
Remove the gx/gy rounding (un-needed) and pass the roundPixels value to setQuad
|
2023-11-07 15:26:58 +00:00 |
|
Richard Davey
|
1b12993898
|
Updated jsdocs
|
2023-11-07 15:26:07 +00:00 |
|
Richard Davey
|
e36d43533c
|
Updated shaders to use 'round' glsl instead of 'floor'
|
2023-11-07 15:23:57 +00:00 |
|
Richard Davey
|
5aa409e8f3
|
RenderTarget.willResize is a new method that will return true if the Render Target will be resized as a result of the new given width and height values.
|
2023-11-03 19:02:20 +00:00 |
|
Richard Davey
|
b28ad7f3d3
|
The BitmapMask wouldn't correctly set the gl viewport when binding, which caused the mask to distort in games where the canvas resizes from its default. Fix #6527
|
2023-10-13 17:53:55 +01:00 |
|
Richard Davey
|
bae26a5205
|
When a framebuffer is deleted, it now sets its renderTexture property to undefined to ensure the reference is cleared.
|
2023-10-13 17:15:21 +01:00 |
|
Richard Davey
|
d74e767050
|
Delete color attachment
|
2023-10-12 18:49:06 +01:00 |
|
Richard Davey
|
1935119141
|
Array Remove and unbind before deleting the framebuffer
|
2023-10-12 15:22:26 +01:00 |
|
Richard Davey
|
758db68d1a
|
Remove event handler first
|
2023-10-12 15:22:26 +01:00 |
|
Richard Davey
|
0e145756bb
|
Added new uniforms and handle rounding in the shader
|
2023-10-10 18:50:17 +01:00 |
|
Richard Davey
|
4bb2807627
|
Added uRoundPixels and uResolution to the core shaders
|
2023-10-10 18:49:49 +01:00 |
|
Richard Davey
|
cd1854630e
|
Testing round pixels on shader
|
2023-10-05 14:39:21 +01:00 |
|
Richard Davey
|
fe05501e38
|
The PostFXPipeline will now set autoResize to true on all of its RenderTarget instances. This fixes an issue where the PostFXPipeline would not resize the render targets when the game size changed, causing them to become out of sync with the game canvas. Fix #6503 #6527
|
2023-09-07 14:43:36 +01:00 |
|
Richard Davey
|
066bb9be18
|
Updated jsdocs
|
2023-09-07 14:07:44 +01:00 |
|
Richard Davey
|
e8e57b6b0c
|
The WebGLRenderer.deleteFramebuffer method has been updated so it now tests for the exitennce of a COLOR and DEPTH_STENCIL attachments, and if found, removes the bindings and deletes the stencil buffer. The code that previously deelted the RENDERERBUFFER_BINDING has also been removed to avoid side-effects.
|
2023-09-05 13:40:45 +01:00 |
|
Richard Davey
|
8e1809688c
|
The WebGLRenderer will now validate that the mipmapFilter property in the Game Config is a valid mipmap before assigning it.
|
2023-08-01 13:44:58 +01:00 |
|
Richard Davey
|
002786e411
|
fx namespace fix
|
2023-07-21 18:41:30 +01:00 |
|
Richard Davey
|
3f9ce29962
|
The FXBlurLow fragment shader didn't have the offset uniform. This is now passed in and applued to the resulting blur, preventing it from creating 45 degree artifacts (thanks Wayfinder)
|
2023-07-21 15:41:42 +01:00 |
|
Richard Davey
|
86f71e876e
|
The BlurFXPipeline didn't bind the quality of shader specified in the controller, meaning it always used the Low Blur shader, regardless of what the FX controller asked for.
|
2023-07-21 15:40:44 +01:00 |
|
Richard Davey
|
92fcfe02dc
|
Fixed typedef
|
2023-07-21 14:24:25 +01:00 |
|
Richard Davey
|
fb3c85888b
|
Typo fix
|
2023-06-11 22:37:06 +01:00 |
|
Richard Davey
|
96ee7679c4
|
Added Spector method docs
|
2023-04-12 03:45:19 +01:00 |
|
Richard Davey
|
b676f2613f
|
Update PreFXPipeline.js
|
2023-04-12 02:43:42 +01:00 |
|
Richard Davey
|
ac060e8355
|
Set maxDim within the loop
|
2023-03-31 15:49:23 +01:00 |
|
Richard Davey
|
6d49b94305
|
Reverted pixel rounding. Should address offset pixelArt issues on HighDPI displays. #6327
|
2023-03-31 15:12:34 +01:00 |
|
Richard Davey
|
e1e46f4b19
|
Merge branch 'master' of https://github.com/photonstorm/phaser
|
2023-03-27 23:16:37 +01:00 |
|
Richard Davey
|
15535914b8
|
Only destroy controller if set
|
2023-03-27 23:16:34 +01:00 |
|
Richard Davey
|
3e075bf018
|
Added forceClamp parameter
|
2023-03-27 17:48:27 +01:00 |
|
Richard Davey
|
cd58dd5f3a
|
Fix doc types
|
2023-03-24 15:41:01 +00:00 |
|
Richard Davey
|
376107b25f
|
Finally finished all FX documentation
|
2023-03-21 18:04:34 +00:00 |
|
Richard Davey
|
ed6287e9a9
|
More FX documentation finished
|
2023-03-21 17:57:27 +00:00 |
|
Richard Davey
|
b89a10c99d
|
Lots more documentation finished
|
2023-03-21 17:21:45 +00:00 |
|
Richard Davey
|
f83cf124aa
|
Added destroy method
|
2023-03-20 18:28:58 +00:00 |
|
Richard Davey
|
42610c4fa6
|
Finished documentation and added destroy method
|
2023-03-20 18:28:42 +00:00 |
|
Richard Davey
|
1750caca18
|
Update PreFXPipeline.js
|
2023-03-20 15:20:22 +00:00 |
|
Richard Davey
|
4fbd7eec82
|
Rename zero method and remove logs
|
2023-03-16 21:56:55 +00:00 |
|
Richard Davey
|
27553a029b
|
Call clearStencilMask
|
2023-03-16 21:56:46 +00:00 |
|
Richard Davey
|
b093ece620
|
Debugging stencil stack
|
2023-03-16 18:49:43 +00:00 |
|
Richard Davey
|
d316bacedb
|
Update PreFXPipeline.js
|
2023-03-16 18:23:35 +00:00 |
|
Richard Davey
|
4c19106c63
|
Debugging fx stacks
|
2023-03-16 18:23:30 +00:00 |
|
Richard Davey
|
b3b12ae62c
|
Testing pre/post mix
|
2023-03-14 22:03:38 +00:00 |
|
Richard Davey
|
8b2a701dbd
|
Tidying up and restore stencil
|
2023-03-14 19:46:55 +00:00 |
|
Richard Davey
|
560dc8a783
|
Restore the stencil before draw
|
2023-03-14 19:46:41 +00:00 |
|
Richard Davey
|
38438954b8
|
Removed logs
|
2023-03-14 19:45:52 +00:00 |
|
Richard Davey
|
5b12080cef
|
Added methods zeroStencilMask and restoreStencilMask
|
2023-03-14 19:45:44 +00:00 |
|
Richard Davey
|
d28863c986
|
Removed the logs and now zero the stencil upon bind
|
2023-03-14 19:42:09 +00:00 |
|
Richard Davey
|
c8acb16fa7
|
Added { willReadFrequently } to every canvas context, no matter where it comes from
|
2023-03-09 17:30:04 +00:00 |
|
Richard Davey
|
f3028118d3
|
Debugging
|
2023-03-03 18:54:02 +00:00 |
|
Richard Davey
|
684a2ab35a
|
setFramebuffer accepts texture and clear param
|
2023-03-03 18:53:36 +00:00 |
|
Richard Davey
|
b32286d198
|
Update PostFXPipeline.js
|
2023-03-03 18:53:36 +00:00 |
|
Richard Davey
|
4ce142c25b
|
Working through fbo debugging
|
2023-03-03 13:41:57 +00:00 |
|
Richard Davey
|
fab1acd022
|
Debug logs
|
2023-03-02 18:46:23 +00:00 |
|
Richard Davey
|
4877efbe36
|
Added hasDepthBuffer property
|
2023-03-02 18:46:16 +00:00 |
|
Richard Davey
|
d1f2fb8dfc
|
Reset current fbo instead of null
|
2023-03-02 18:46:04 +00:00 |
|
Richard Davey
|
8b493834dc
|
Log can take any parameters
|
2023-03-02 18:45:42 +00:00 |
|
Richard Davey
|
4ae57fa593
|
Update jsdocs
|
2023-03-02 18:17:08 +00:00 |
|
Richard Davey
|
eaf6fa7f45
|
Added log method, depth buffer and missing parameter default
|
2023-03-02 18:16:59 +00:00 |
|
Richard Davey
|
aa3e1d17ce
|
Updated documentation
|
2023-02-27 16:26:04 +00:00 |
|
Richard Davey
|
267f3160da
|
PipelineManager.getPostPipeline now has an optional 3rd parameter, a config object that is passed to the pipeline instance in its constructor, which can be used by the pipeline during its set-up.
|
2023-02-27 15:12:40 +00:00 |
|
Richard Davey
|
88a59eb040
|
Post FX now supports custom quality and distance parameters. Fix #6393
|
2023-02-27 15:09:57 +00:00 |
|
Richard Davey
|
c58e0266c7
|
Use new Utils function
|
2023-02-27 13:48:40 +00:00 |
|
Richard Davey
|
6d48142f94
|
Use new consts to add mobile GPU speed-up
|
2023-02-27 13:47:55 +00:00 |
|
Richard Davey
|
7edc856154
|
Added setGlowQuality function
|
2023-02-27 13:47:33 +00:00 |
|
Richard Davey
|
e79f218472
|
Fix onFXCopy path. Fix #6403
|
2023-02-26 16:44:29 +00:00 |
|
Richard Davey
|
5ad4cbba7d
|
Types fix
|
2023-02-17 17:25:11 +00:00 |
|
Richard Davey
|
0fe135cc8f
|
Added documentation and method parameters
|
2023-02-17 17:07:22 +00:00 |
|
Richard Davey
|
5913f38b44
|
Update property name
|
2023-02-17 02:12:20 +00:00 |
|
Richard Davey
|
af3bb532b5
|
Use strings to retain correct mapping
|
2023-02-17 02:12:12 +00:00 |
|
Richard Davey
|
98c2fed09a
|
controller not config
|
2023-02-17 01:10:36 +00:00 |
|
Richard Davey
|
7a1143731e
|
Added getController method
|
2023-02-17 01:09:36 +00:00 |
|
Richard Davey
|
55cf81e46b
|
All now use FX Controllers
|
2023-02-17 01:09:24 +00:00 |
|
Richard Davey
|
49c5c8bcec
|
Remove log
|
2023-02-17 01:09:09 +00:00 |
|
Richard Davey
|
92152c16cf
|
Add controller property
|
2023-02-16 23:50:01 +00:00 |
|
Richard Davey
|
b90c067112
|
Update path
|
2023-02-16 23:49:53 +00:00 |
|
Richard Davey
|
d6314de4db
|
More default properties and exposing the FX consts
|
2023-02-16 23:06:53 +00:00 |
|
Richard Davey
|
cbf42feee1
|
Refactored so FX is a class sitting on a property, rather than a mixin.
|
2023-02-16 18:39:14 +00:00 |
|
Richard Davey
|
260f4db5a5
|
Use new shader array
|
2023-02-16 16:13:52 +00:00 |
|
Richard Davey
|
d9570b1b0b
|
Shaders can be an array of strings
|
2023-02-16 16:13:37 +00:00 |
|
Richard Davey
|
a93425ef0d
|
Bundle Shaders now produces an index.js
|
2023-02-16 16:13:22 +00:00 |
|
Richard Davey
|
dd2efb6e5c
|
Added Bokeh and TiltShift FX
|
2023-02-16 15:04:37 +00:00 |
|
Richard Davey
|
9011d78fd4
|
Added Wipe FX
|
2023-02-16 12:53:31 +00:00 |
|
Richard Davey
|
e48d49d29f
|
Added Displacement FX
|
2023-02-16 01:52:00 +00:00 |
|
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 |
|
Richard Davey
|
7d594dd49a
|
Clarify snapshot docs
|
2022-10-31 22:46:44 +00:00 |
|
Richard Davey
|
22eae26007
|
WebRenderer.snapshotFramebuffer and by extension, the snapshot methods in Dynamic Textures and Render Textures, has been updated to ensure that the width and height never exceed the framebuffer dimensions, or it'll cause a runtime error. The method snapshotArea has had this limitation removed as a result, allowing you to snapshot areas that are larger than the Canvas. Fix #5707
|
2022-10-31 22:17:27 +00:00 |
|
Richard Davey
|
ba6af3a920
|
Conditionally set DEBUG
|
2022-10-31 16:17:16 +00:00 |
|
Richard Davey
|
4f0029c03c
|
Added captureFrame, captureNextFrame, getFps, startCapture and stopCapture methods
|
2022-10-28 18:23:24 +01:00 |
|
Richard Davey
|
bd1adbd67e
|
Clear TEXTURE1. Fix #6248
|
2022-10-13 22:03:33 +01:00 |
|
Richard Davey
|
f3c804805f
|
Update MultiPipeline.js
|
2022-10-10 17:43:53 +01:00 |
|
Richard Davey
|
a6a83ca592
|
Testing customSampler
|
2022-10-10 13:27:33 +01:00 |
|