Commit graph

1043 commits

Author SHA1 Message Date
Richard Davey
d5a86d7b07 Update SpriteFXPipeline.js 2021-10-14 01:08:06 +01:00
Richard Davey
5d2749f5d6 Update SpriteFXPipeline.js 2021-10-14 00:55:27 +01:00
Richard Davey
219ff50b90 Fixed copyFrame handling 2021-10-13 23:38:04 +01:00
Richard Davey
c4c5453dfb Removed log 2021-10-13 23:35:29 +01:00
Richard Davey
fd54fa741c Update SpriteFXPipeline.js 2021-10-13 18:56:41 +01:00
Richard Davey
635e7283d5 Added buffer to setVertexBuffer and setShader 2021-10-13 18:56:31 +01:00
Richard Davey
0bf366a096 Update SpriteFXPipeline.js 2021-10-13 13:04:08 +01:00
Richard Davey
803d71469e Fixed the vert and uv handling 2021-10-12 21:47:48 +01:00
Richard Davey
4f454a5701 Update WebGLPipeline.js 2021-10-12 21:47:39 +01:00
Richard Davey
3afc8b1a8e Flip the verts 2021-10-12 21:47:33 +01:00
Richard Davey
2a473889dc Update SpriteFXPipeline.js 2021-10-12 18:54:06 +01:00
Richard Davey
85c6c4be44 Swap frame support added and drawSprite method 2021-10-12 18:00:50 +01:00
Richard Davey
68c3fc4171 Fixed resizing. Set RTs in boot. 2021-10-12 16:09:53 +01:00
Richard Davey
6fe88aeee7 Refactored to use existing functions where possible 2021-10-12 13:32:39 +01:00
Richard Davey
9e9c9298eb Much better renderTarget handling. Sprite now draws properly. Config handling done. Need to fix bindAndDraw 2021-10-12 01:03:45 +01:00
Richard Davey
53eb64b92b Added isSpriteFX property 2021-10-12 01:03:18 +01:00
Richard Davey
904ca9f7c4 Removed SpriteFX as you extend it, not instantiate it 2021-10-12 01:03:04 +01:00
Richard Davey
e9d85c57ee Update SpriteFXPipeline.js 2021-10-11 18:49:17 +01:00
Richard Davey
7af3693fb5 Add SpriteFX Pipeline to const and default array 2021-10-11 18:49:13 +01:00
Richard Davey
038ffa7b77 Create SpriteFXPipeline.js 2021-10-11 18:06:42 +01:00
Richard Davey
fa25b9e254 Removed temp function 2021-10-11 18:06:35 +01:00
Richard Davey
5c88dd8593 Only need to set the width 2021-10-11 17:56:26 +01:00
Richard Davey
784f722b90 Remove, we'll handle this elsewhere 2021-10-11 17:56:11 +01:00
Richard Davey
e26eb49769 Update RenderTargetConfig.js 2021-10-11 17:04:20 +01:00
Richard Davey
d32badabf5 When defining the renderTargets in a pipeline config, you can now set optional width and height properties, which will create a Render Target of that exact size, ignoring the scale value (if also given). 2021-10-11 17:02:36 +01:00
Richard Davey
c1430f41dc Testing FX padding 2021-10-11 15:10:57 +01:00
Richard Davey
bf02aaa7ee Update WebGLTextureCompression.js 2021-10-06 18:48:04 +01:00
Richard Davey
01beb898b3 The WebGLRenderer.createTextureFromSource method now accepts the CompressedTextureData data objects and creates WebGL textures from them. 2021-10-06 18:47:35 +01:00
Richard Davey
234ba03b35 Update WebGLRenderer.js 2021-10-05 18:36:50 +01:00
Richard Davey
f376958ca1 Added getCompressedTextureName method 2021-10-05 18:30:17 +01:00
Richard Davey
7bdb9d672f Added supportsCompressedTexture method 2021-10-05 17:04:44 +01:00
Richard Davey
5a941ed509 Expanded to support all formats 2021-10-05 16:48:51 +01:00
Richard Davey
573dd3a14d Added getCompressedTextures method 2021-10-05 16:48:42 +01:00
Richard Davey
b968e46ee2 The Multi Pipeline now uses highp float precision by default, instead of mediump. This fixes issues with strange blue 'spots' appearing under WebGL on some Android devices. Fix #5751 #5659 #5655 2021-09-28 15:56:54 +01:00
Richard Davey
6cd7d6ce79 The Camera will now emit PRE_RENDER and POST_RENDER events under the Canvas Renderer. Fix #5729 2021-09-28 15:39:47 +01:00
Richard Davey
47bbde0e4b With roundPixels set to true in the game or camera config, Sprites will no longer render at sub-pixel positions under CANVAS. Fix #5774 2021-09-28 15:34:46 +01:00
Richard Davey
0ab2534306 Update PipelineManager.js 2021-09-21 14:53:18 +01:00
samme
8c2b1a7e35 Fix snapshotCanvas
Fixes #5792
2021-07-28 10:29:15 -07:00
Richard Davey
78b9215e2f Added the missing WebGLPipelineUniformsConfig type def. Fix #5718 (thanks @PhaserEditor2D) 2021-05-26 15:38:51 +01:00
Richard Davey
3a6e82a042 The WebGLShader.set1fv, set2fv, set3fv, set4fv, set1iv, set2iv, set3iv, set4iv, setMatrix2fv, setMatrix3fv and setMatrix4fv methods no longer try to do array comparisons when setting the uniforms, but sets them directly. Fix #5670 2021-05-24 17:24:03 +01:00
Benjamin Magalhaes
562a05a642 Remove unused WebGLPipelineUniformsConfig 2021-05-13 15:21:35 +02:00
Benjamin Magalhaes
aa97541c3f Fix WebGLPipelineAttributeConfig documentation 2021-05-13 13:31:18 +02:00
Richard Davey
9879a1062e Merged the Graphics Pipeline functions into the MultiPipeline 2021-04-16 18:18:42 +01:00
Vladislav Forsh
670a66c697 Improve types for WebGL texture compression support
(cherry picked from commit 5626acffec17c6b4d66c78b8e0aa52e5cfcd8478)
2021-04-13 13:19:24 +03:00
Richard Davey
e954547cf7 The PipelineManager.rebind method will now flag all pipelines as glReset = true, so they know to fully rebind the next time they are invoked. 2021-03-01 17:50:40 +00:00
Richard Davey
8d7519b84d * WebGLPipeline.glReset is a new boolean property that keeps track of when the GL Context was last reset by the Pipeline Manager. It then redirects calls to bind to rebind instead to restore the pipeline state.
The `WebGLPipeline.rebind` method now accepts an optional parameter `currentShader`. If provided it will set the current shader to be this after the pipeline reset is complete.
2021-03-01 17:50:39 +00:00
Richard Davey
a95c34ce92 WebGLRenderer.deleteTexture will now run resetTextures(true) first, incase the requested texture to be deleted is currently bound. Previously, it would delete the texture and then reset them. 2021-02-17 13:10:10 +00:00
Richard Davey
3deb6672aa RenderTarget.resize will now Math.floor the scaled width and height as well as ensure they're not <= 0 which causes Framebuffer status: Incomplete Attachment errors. Fix #5563 2021-02-16 12:32:55 +00:00
Richard Davey
dff17f52e8 The LightPipeline now only calls batchSprite, batchTexture and batchTextureFrame if the Scene Lights Manager is active. Fix #5522 2021-02-04 16:38:09 +00:00
Richard Davey
5176fcfacd The Canvas Renderer will no longer run a fillRect if clearBeforeRender is false in the Game Config. 2021-02-04 16:06:47 +00:00
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