Richard Davey
ab04cb6c05
Lots of LightPipeline improvements
...
* The Light Pipeline no longer creates up to `maxLights` copies of the Light shader on boot. Previously it would then pick which shader to use, based on the number of visible lights in the Scene. Now, the number of lights is passed to the shader and branches accordingly. This means rather than compiling _n_ shaders on boot, it now only ever needs to create one.
* You can now have no lights in a Scene, but the Scene will still be impacted by the ambient light. Previously, you always needed at least 1 light to trigger ambient light (thanks jstnldrs)
* The `Light.frag` shader now uses a new `uLightCount` uniform to know when to stop iterating through the max lights.
* The `LightPipeline.LIGHT_COUNT` constant has been removed as it's not used internally.
* The `LightPipeline` previous created a global level temporary vec2 for calculations. This is now part of the class as the new `tempVec2` property.
2022-09-23 00:42:04 +01:00
Richard Davey
a135271f19
Use new uLightCount uniform
2022-09-23 00:41:47 +01:00
Richard Davey
b789742636
Update Utils.js
2022-09-22 14:55:29 +01:00
Richard Davey
9d43583a63
This shader is just better. More crappy iOS testing needed though.
2022-09-21 23:13:04 +01:00
Richard Davey
023343c789
All events have a type of string. Fix #6136
2022-09-21 22:01:03 +01:00
Richard Davey
a79cb668aa
Merge pull request #6202 from samme/fix/render-texture-snapshot-pixel-alpha
...
Fix wrong alpha in snapshot pixel
2022-09-05 18:34:03 +01:00
brendo
93eceb7d99
show error code
2022-08-30 07:42:14 +08:00
samme
bbd4840dbc
Fix wrong alpha in snapshot pixel
2022-08-26 10:44:06 -07:00
Richard Davey
4c2d3e3cff
setTextureZero will now set isTextureClean
to false
2022-08-24 13:56:12 +01:00
Richard Davey
9bc8826684
Specify the canvas is for drawing, not reading
2022-08-18 18:01:45 +01:00
Richard Davey
f09ec762ee
Removed Graphics Pipeline
...
The WebGL Graphics Pipeline has been removed. This pipeline wasn't used in v3.55, as all Graphics rendering is handled by the MultiTint pipeline, for better batching support. No Phaser Game Objects use the Graphics pipeline any longer, so to save space it has been removed and is no longer installed by the Pipeline Manager.
2022-07-12 13:39:51 +01:00
Jonah Jeleniewski
e8c8be0385
Let texture scaleMode
override the antialias
setting under CANVAS
2022-06-11 18:07:29 +10:00
Richard Davey
aa2dda09e2
UtilityPipeline.blitFrame
has a new optional boolean parameter flipY
which, if set, will invert the source Render Target while drawing it to the destination Render Target.
2022-05-30 18:25:21 +01:00
samme
54d12080eb
Docs: fix the mipmapFilter
example code
2022-05-09 09:44:09 -07:00
Richard Davey
ed152b92d5
WebGLSnapshot
and CanvasSnapshot
will now Math.floor the width/height values to ensure no sub-pixel dimensions, which corrupts the resulting texture. Fix #6099
2022-05-06 14:45:36 +01:00
Richard Davey
59fbcc5ca3
Updated copyright year
2022-02-28 14:29:51 +00:00
Richard Davey
c8d3a20754
Updated Multi Pipeline shader so it no longer smacks Safari's arse.
2022-02-03 23:12:15 +00:00
Richard Davey
a4308cfa3a
Skips Canvas drawImage calls if invalid frame sizes given. Fix #5951
2022-02-03 16:44:24 +00:00
Richard Davey
0603c3bf0f
Merge pull request #5948 from jcyuan/ie9fix
...
Ie9fix
2022-02-03 16:21:29 +00:00
Andy Mikulski
6108414b75
WebGLSnapshot: Support custom rendering contexts
2022-01-26 15:02:59 -07:00
J.C
7da6f4d747
in canvas mode, don't draw stuff with no size, it will throws error, and actually unnecessary.
2021-12-21 17:18:35 +08:00
Richard Davey
0e364321e6
Update BitmapMask-frag.js
2021-11-23 18:24:14 +00:00
Richard Davey
6c459eb3d5
Update Multi-frag.js
2021-11-23 18:19:05 +00:00
Richard Davey
8699e97f94
The BitmapMask
shader has been recoded so it now works correctly if you mask a Game Object that has alpha set on it, or in its texture. Previously it would alpha the Game Object against black
2021-11-23 18:18:47 +00:00
Richard Davey
c37da11d36
pma is essential - to hell with Firefox!
2021-11-08 21:51:08 +00:00
Richard Davey
2efa08d3db
Testing pma off
2021-11-08 18:49:48 +00:00
Richard Davey
fc1234e55b
Added createProgram, setBoolean and the new src properties
2021-11-02 18:05:18 +00:00
Richard Davey
565dfc801a
WebGLPipeline.setBoolean
is a new method that allows you to set a boolean uniform on a shader.
2021-11-02 18:00:25 +00:00
Richard Davey
95d7dc71b2
Update SpriteFXPipeline.js
2021-11-02 17:05:23 +00:00
Richard Davey
c94719e0b8
Added alt swap frame
2021-10-28 01:19:52 +01:00
Richard Davey
03345ea60c
Update WebGLPipeline.js
2021-10-27 17:21:59 +01:00
Richard Davey
9980c35c3e
Update SpriteFXPipeline.js
2021-10-27 17:21:55 +01:00
Richard Davey
29ada646e0
Updated docs
2021-10-26 00:04:37 +01:00
Richard Davey
17c76c831c
The Multi Tint fragment shader now uses the new getSampler function approach from Phaser 4
2021-10-26 00:00:35 +01:00
Richard Davey
4d18ad6ff8
Removed GenerateSrc, removed need for forloop declaration
2021-10-26 00:00:20 +01:00
Richard Davey
55ef37b6fb
Removed spriteData, added destroy, tidied up docs
2021-10-21 18:38:15 +01:00
Richard Davey
0020f03ead
Fixed Sprite FX targetBounds
2021-10-20 17:02:37 +01:00
Richard Davey
143d63dcb0
Debugging
2021-10-20 12:37:05 +01:00
Richard Davey
508630ad81
Added renderTargets, maxDimension, frameInc and targetIndex
2021-10-20 12:36:54 +01:00
Richard Davey
9e38e37d6f
Removed RenderTargets (moved to PM) and flipped projection matrix
2021-10-19 22:48:02 +01:00
Richard Davey
5fb2604292
Removed flip verts
2021-10-19 22:47:34 +01:00
Richard Davey
d46f6e37f3
WebGLPipeline.flipProjectionMatrix
is a new method that allows you to flip the y and bottom projection matrix values via a parameter.
2021-10-19 22:47:22 +01:00
Richard Davey
ef4d5d94bb
New fsTarget copySubTex approach (faster)
2021-10-19 18:43:15 +01:00
Richard Davey
c6ac6125c9
Update MultiPipeline.js
2021-10-19 18:42:58 +01:00
Richard Davey
b434c3b4f8
Fixed jsdocs
2021-10-18 17:54:25 +01:00
Richard Davey
347b6db490
Added altFrame option and calculations + handy utility functions
2021-10-18 17:49:09 +01:00
Richard Davey
d4edcbd8ca
Set default vert shader
2021-10-18 16:01:53 +01:00
Richard Davey
ba0a52e386
Update SpriteFXPipeline.js
2021-10-16 15:30:03 +01:00
Richard Davey
638fd113b5
Flip the Y on textures
2021-10-16 15:23:33 +01:00
Richard Davey
5e509bd72b
Removed 'drawToFrame' (it's the only option) and added 'batchTexture'
2021-10-16 15:08:58 +01:00
Richard Davey
acc9f07e5c
Fixed data and alpha value
2021-10-15 18:45:23 +01:00
Richard Davey
fd1ab765a3
Full JSDocs and tidied up all the methods
2021-10-15 18:39:10 +01:00
Richard Davey
efa8c8b5a5
Fixed verts and called onFX
2021-10-15 00:59:04 +01:00
Richard Davey
6c00b5cfc4
Added onPreCopy
2021-10-14 18:51:39 +01:00
Richard Davey
8a89700bf7
Fixed shader uniform issue and tidied up code
2021-10-14 18:45:59 +01:00
Richard Davey
bfecf9da5a
RenderTarget
will now automatically set the wrapping mode to clamp.
2021-10-14 18:45:41 +01:00
Richard Davey
c1c8e5d12b
The WebGLRenderer.createTextureFromSource
method has a new optional boolean parameter forceClamp
that will for the clamp wrapping mode even if the texture is a power-of-two.
2021-10-14 18:45:28 +01:00
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
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
681797ec9d
Fixed Canvas Renderer. Fix #5408
2020-11-26 10:04:51 +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
842b984b46
Update CanvasRenderer.js
2020-11-17 16:19:14 +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