Richard Davey
143957d24a
You can now set the maxLights
value in the Game Config, which controls the total number of lights the Light2D shader can render in a single pass. The default is 10. Be careful about pushing this too far. More lights = less performance. Close #4081
2018-10-02 11:09:58 +01:00
Richard Davey
5bdf9aa21b
WebGLRenderer.deleteTexture
will check to see if the texture it is being asked to delete is the currently bound texture or not. If it is, it'll set the blank texture to be bound after deletion. This should stop RENDER WARNING: there is no texture bound to the unit 0
errors if you destroy a Game Object, such as Text or TileSprite, from an async or timed process
2018-10-01 16:32:42 +01:00
Richard Davey
b3f3f6a9b5
If a Game instance is destroyed without using the removeCanvas
argument, it would throw exceptions in the MouseManager
after the destroy process has run, as the event listeners were not unbound. They're not unbound, regardless of if the parent canvas is removed or not. Fix #4015
2018-10-01 12:55:54 +01:00
Richard Davey
e297b3272e
Added hundreds of new jsdoc descriptions
2018-10-01 11:35:01 +01:00
Richard Davey
ec6715ba8b
Fixed a bug where the gl scissor wasn't being reset during a renderer resize, causing it to appear as if the canvas didn't resize properly when autoResize
was set to true
in the game config. Fix #4066
2018-10-01 10:38:39 +01:00
Richard Davey
c237209bb8
Added new jsdocs
2018-09-28 12:19:21 +01:00
Richard Davey
d8fcde46c3
When using CanvasTexture.refresh
or Graphics.generateTexture
it would throw WebGL warnings like 'bindTexture: Attempt to bind a deleted texture'. This was due to the Frames losing sync with the glTexture reference used by their TextureSource. Fix #4050
2018-09-27 14:16:22 +01:00
Richard Davey
5ec26fa62d
Cameras now emit prerender
and postrender
events if they are set to render to textures.
2018-09-14 15:53:06 +01:00
Richard Davey
ef62313bbb
The WebGL Renderer now always enables the SCISSOR_TEST
, this allows Game Objects that use the scissor (such as custom objects, or Bitmap Text) to render properly again.
2018-09-14 12:33:09 +01:00
aaron
b9454eaf7b
Wrong filling rectangle for camera with no transparent background after last scissor changes
2018-09-14 10:53:50 +02:00
Richard Davey
7b0d823415
Resizing canvas backed textures like this is a really bad idea, so remove it.
2018-09-13 13:22:27 +01:00
Matthew Roelle
700509275d
Changed setFloatXv methods to accept a Float32Array rather than instantiate its own
2018-09-12 20:25:15 -07:00
Richard Davey
a418995c15
Fixed jsdoc versions and updated them for #4019
2018-09-12 15:34:48 +01:00
Matthew Roelle
7465717d92
Fixed doccomment for float array uniforms
2018-09-09 18:19:09 -07:00
Matthew Roelle
aeeefb3cf6
Added support for setting float array uniforms in the WebGLRenderer and WebGLPipeline
2018-09-09 18:05:29 -07:00
Richard Davey
55003641d2
Clamp scissor
2018-08-31 18:19:31 +01:00
Richard Davey
0b95ed0478
Fixed scissors when using a small cam with render texture
2018-08-31 16:25:04 +01:00
Richard Davey
79b4f07530
Fixed mask flush and sped-up the render loop slightly (removed 1 duplicate conditional)
2018-08-31 14:40:12 +01:00
James Simpson
1ac7c969ea
Don't set gl.clearColor when no clearBeforeRender
...
Unless I'm missing something, the `gl.clearColor` command is unnecessary when you have `this.config.clearBeforeRender` set to `false`. This simply moves that into the config check to eliminate an unused command in those situations.
2018-08-17 14:03:17 -05:00
Richard Davey
66afe973af
Trying mixins
2018-08-08 01:33:55 +01:00
Richard Davey
3a4bfa679b
Added experimental Camera to Render Texture
2018-08-07 16:27:21 +01:00
Richard Davey
f9e498353d
Fixed lack of TempMatrix for Graphics generateTexture
2018-08-06 16:19:30 +01:00
Richard Davey
8ed749bcb1
Removed old scissor code
2018-08-03 18:57:03 +01:00
Richard Davey
7ebf5766e8
Added docs for blankTexture and setBlankTexture.
2018-08-01 13:23:03 +01:00
Richard Davey
73524df816
The Game boot event flow has changed slightly. The Game will now listen for a texturesready
event, which is dispatched by the Texture Manager when the default textures have finished processing. Upon receiving this, the Game will emit the ready
event, which all the other systems listen for and respond to. The difference is that the Renderer uses the texturesready
event to ensure that it is the first thing to be activated, before any other system.
2018-08-01 13:18:28 +01:00
Richard Davey
a3fc263360
Binding a framebuffer sets the viewport size
2018-07-31 17:09:47 +01:00
Richard Davey
a09c2a4958
Now uses customViewports counter to avoid scissor setting and skips box check
2018-07-26 23:05:25 +01:00
Richard Davey
1777e16227
Sorting out the scissor stack
2018-07-26 17:50:07 +01:00
Richard Davey
90219d46b3
Removed all references to the FlatTintPipeline.
2018-07-26 16:33:29 +01:00
Richard Davey
d3e07b519a
Added setBlankTexture method
2018-07-26 15:04:46 +01:00
Richard Davey
0516fd47f7
The Flat Tint Pipeline is now using the same shader as the Texture Tint
...
Time to make sure no texture swaps happen and we can finally have Graphics mixed with Sprites in the display list with no swapping cost (and soon, no flush cost either when we unify the pipelines)
2018-07-24 17:07:26 +01:00
Richard Davey
521138e9d8
setBlendMode now returns a boolean
2018-07-23 01:39:32 +01:00
Richard Davey
ec5bd1912e
GameObject.willRender
now takes a Camera as its only argument and uses it within the check. This has allowed me to remove 23 duplicate checks spread across the various Game Objects, all of which did the same thing, saving both KB and CPU time as the flags were being checked twice in most cases.
2018-07-19 13:19:02 +01:00
Richard Davey
0db16889e6
Use new Camera viewport values
2018-07-18 14:32:06 +01:00
Richard Davey
1c473afa84
Cameras draw their backgrounds correctly at higher resolutions
2018-07-17 23:26:30 +01:00
Richard Davey
4843d7eefe
Pipelines have a boot handler now.
2018-07-13 11:13:46 +01:00
Richard Davey
072cc0e21b
Added dirty Camera support and updated internal properties to set the flag
2018-07-12 01:13:34 +01:00
Richard Davey
5a5bea1ce5
Allow GO to be passed to onBind
2018-07-11 16:24:20 +01:00
Richard Davey
5128eecbeb
Cached the drawing buffer height
2018-07-10 16:32:28 +01:00
Richard Davey
434c8d1413
Fixed issue with sprite matrix and camera scaling
2018-07-10 13:59:49 +01:00
Richard Davey
fe61cfe2d1
You can now set the WebGL batch size in the Game Config via the property batchSize
. The default is 2000 before the batch will flush, which is a happy average between desktop and mobile. If targeting desktop specifically, you may wish to increase this value to reduce draw calls.
2018-07-02 12:33:46 +01:00
Richard Davey
217779604c
Added tileScaleX and tileScaleY support for Tile Sprites
2018-06-28 12:59:27 +01:00
Richard Davey
8c312090da
Solidified use of pixelArt mode
2018-06-27 15:27:16 +01:00
Richard Davey
7a23378015
Unified use of roundPixels, antialias and pixelArt modes
2018-06-27 15:15:00 +01:00
Richard Davey
7aa46657c2
Tidying up jsdocs and changing float to number
2018-06-26 23:19:14 +01:00
Richard Davey
7a4b29872e
Allow for custom canvas and context game config options. Game.context now set in WebGL mode. Allows WebGL2 contexts to be passed in. Fix #3653
2018-05-10 12:25:33 +01:00
Richard Davey
7df0488100
Fixed dupe config set
2018-05-09 14:32:32 +01:00
Richard Davey
056e74d6dc
Added compression object for future texture compression support.
2018-05-09 13:46:19 +01:00
Richard Davey
89329a2315
Added getMaxTextures and getMaxTextureSize methods
2018-05-09 12:12:16 +01:00
Felipe Alfonso
cf8e2cfd60
added jsdoc comments to WebGLRenderer
2018-04-25 20:30:41 -03:00
Richard Davey
741d1f5793
Doc pending tags
2018-04-24 15:32:08 +01:00
Richard Davey
54a5bb41c7
Tidying up
2018-04-23 19:11:16 +01:00
Richard Davey
649378ed0a
Tidied up canvas creation and texture deletion
2018-04-23 17:30:09 +01:00
Felipe Alfonso
5cc2ebd6be
Fixed issue when destroying WebGLRenderer
2018-04-16 15:16:23 -03:00
Richard Davey
e37b183038
Completed all jsdocs for the Camera class
2018-04-15 05:05:03 +01:00
Richard Davey
380d4afb92
Swapping to new camera effects system
2018-04-14 17:38:48 +01:00
Richard Davey
4f6239dadb
jsdoc and eslint fixes
2018-04-05 09:02:36 +01:00
Richard Davey
0ef92e1172
Merge branch 'pr/3439'
2018-03-21 16:06:56 +00:00
orblazer
dcd80375c0
Fix "object" types on Renderer and Scene
2018-03-21 14:41:17 +01:00
José Maria
f9e978a2bd
(WebGL) updating currentScissor on game.resize
...
with the array being update it solves the issue with the global background not being fully draw after resizing the game.
2018-03-20 23:38:00 -03:00
orblazer
8fdedabaeb
Add callbacks on Renderer
2018-03-19 21:41:24 +01:00
Richard Davey
9832befeea
Fixed camera y
2018-03-16 15:47:14 +00:00
Richard Davey
fbec8f978c
You can now specify all of the renderer config options within a render
object in the config. If no render
object is found, it will scan the config object directly for the properties.
2018-03-16 13:22:52 +00:00
Richard Davey
dd4e00007f
Added antialias config value
2018-03-16 00:52:21 +00:00
Richard Davey
0c1c16deba
Used new config values, fixed eslint formatting and floored dimensions
2018-03-15 21:15:39 +00:00
Richard Davey
edf1aa7cc1
The onContextRestored
callback won't be defined any more unless the WebGL Renderer is in use in the following objects: BitmapMask, Static Tilemap, TileSprite and Text. This should allow those objects to now work in HEADLESS mode. Fix #3368
2018-03-12 13:37:13 +00:00
Felipe Alfonso
c1d482b593
Added jsdoc comments to new methods and properties on WebGLPipeline and WebGLRenderer
2018-03-05 12:28:59 -03:00
Felipe Alfonso
38dc3bbd82
Merge branch 'master' of https://github.com/photonstorm/phaser
2018-03-05 11:29:56 -03:00
Felipe Alfonso
98893e1bba
Modified WebGLPipeline and it's child classes to make them easier to generate custom Pipelines. Added functions to WebGLPipeline to modify uniforms. Exposed Renderer namespace for usage outside the engine
2018-03-05 11:29:48 -03:00
Richard Davey
4d16b0c00a
eslint fixes
2018-03-05 01:45:28 +00:00
Richard Davey
ae1c91cf6a
eslint fixes
2018-03-05 01:40:11 +00:00
Felipe Alfonso
14399d6910
TileSprite can now set frame of the pattern texture
2018-02-28 17:04:57 -03:00
Felipe Alfonso
6a114fc07a
Added roundPixels to the texture pipeline
2018-02-28 15:08:08 -03:00
Felipe Alfonso
ef8e92dc01
RenderTexture base webgl implementation
2018-02-23 00:44:22 -03:00
Felipe Alfonso
abfe7536e9
Removed the read of constant values from the WebGLRenderingContext object. Now they are read from an instance of webgl context.
2018-02-19 17:49:17 -03:00
Richard Davey
d23688c3e4
Added eslint fixes and overrides
2018-02-16 18:44:07 +00:00
Richard Davey
86f00eeb52
eslint fixes
2018-02-16 18:17:51 +00:00
Richard Davey
e1554c34d6
eslint fixes
2018-02-16 18:07:49 +00:00
Richard Davey
4e6df03512
Updated semver
2018-02-15 14:31:15 +00:00
Felipe Alfonso
e2bebd3ddd
jsdoc property and method updates
2018-02-14 16:52:37 -03:00
Felipe Alfonso
74abb96211
Added alpha and tint to static tilemap layer. Fixed BitmapMask binding resources issue.
2018-02-14 16:45:22 -03:00
Felipe Alfonso
edf15986ff
BitmapMask si working properly with the vertex update batching.
2018-02-14 13:20:56 -03:00
Felipe Alfonso
2aa94c28eb
WebGL types added to jsdoc
2018-02-12 21:12:17 -03:00
Felipe Alfonso
9b2741387b
Resolution affecting camera display
2018-02-12 16:03:13 -03:00
Richard Davey
d1f5f8a82b
Added jsdocs
2018-02-12 16:01:21 +00:00
Richard Davey
97bb52faec
Added jsdocs
2018-02-09 19:19:21 +00:00
Felipe Alfonso
8529cb9ad1
Resolution fix work in progress
2018-02-09 15:45:22 -03:00
Felipe Alfonso
cff54d8511
Added tile rotation and fixed undefined resolution on webgl renderer config
2018-02-06 18:47:42 -03:00
Felipe Alfonso
da8c7c0b3e
WebGL config data is now stored on WebGLRenderer
2018-02-06 17:37:13 -03:00
Felipe Alfonso
96834fd7f0
Fixed tilesprite issue of not repeating on webgl
2018-02-06 12:46:05 -03:00
Felipe Alfonso
7b1ad0b307
transparent, clearBeforeRender and roundPixels now affect the rendering result
2018-02-05 19:06:02 -03:00
Felipe Alfonso
4d03853935
Added cleanup routine for all webgl content on WebGLRenderer destroy function
2018-01-31 14:36:00 -03:00
Richard Davey
2a86400a28
Added in jsdocs
2018-01-31 13:54:44 +00:00
Richard Davey
f73d66a246
Merge branch 'master' of https://github.com/photonstorm/phaser
2018-01-31 03:38:13 +00:00
Richard Davey
a802914243
Added in destroy methods for all managers and invoked them from Game
2018-01-31 03:38:10 +00:00
Felipe Alfonso
d9b04ef2e9
Light2D Plugin added to scene
2018-01-30 19:46:43 -03:00
Felipe Alfonso
de4b308fbd
Light2D update
2018-01-30 00:38:31 -03:00
Felipe Alfonso
71a6360a7b
Pipeline components added
2018-01-29 18:46:48 -03:00
Felipe Alfonso
00c6c4a6df
Light2D Pipeline
2018-01-26 20:17:11 -03:00
Felipe Alfonso
4a63326f39
Forced nearest filtering for canvas textures
2018-01-26 12:21:05 -03:00
Felipe Alfonso
ba280c7517
BitmapMask and GeometryMask are rendering correctly
2018-01-25 15:43:19 -03:00
Felipe Alfonso
bd8e9b2003
Static Tilemap Layer rendering
2018-01-25 02:26:14 -03:00
Felipe Alfonso
80d9ef42b3
ParticleEmitterManager webgl rendering added
2018-01-24 22:10:30 -03:00
Felipe Alfonso
42482ecb26
TileSprite webgl rendering
2018-01-24 21:15:51 -03:00
Felipe Alfonso
06fa0afcc8
Dynamic Bitmap Text webgl rendering
2018-01-24 15:55:23 -03:00
Felipe Alfonso
326bdd5204
Fixed camera effects
2018-01-24 00:57:33 -03:00
Felipe Alfonso
12a1ef34f4
Fixed pipeline binding
2018-01-24 00:08:14 -03:00
Felipe Alfonso
5170784338
Graphics WebGL Rendering
2018-01-24 00:03:43 -03:00
Felipe Alfonso
99d850346f
Text rendering added
2018-01-23 21:40:20 -03:00
Felipe Alfonso
502ce8ddea
Static BitmapText rendering. Added rect culling to TextureTintPipeline
2018-01-23 20:36:49 -03:00
Felipe Alfonso
070d946dca
Mesh and Sprite rendering
2018-01-23 16:29:47 -03:00
Felipe Alfonso
822fc052ee
Sprite batching
2018-01-23 13:38:58 -03:00
Felipe Alfonso
0f0b422fd7
FlatTint Pipeline progress
2018-01-22 19:51:15 -03:00
Felipe Alfonso
a171968558
WebGLRenderer render function update
2018-01-22 18:37:47 -03:00
Felipe Alfonso
961f00ac11
BlitterPipeline added
2018-01-22 18:21:47 -03:00
Felipe Alfonso
31be6fa51d
WebGLRenderer cleanup
2018-01-20 01:05:56 -03:00
Felipe Alfonso
1da31fb2a5
WebGLRenderer resource creation
2018-01-19 21:37:52 -03:00
Felipe Alfonso
cfe07706e6
Cleaning up WebGLRenderer
2018-01-17 18:25:43 -03:00
Felipe Alfonso
fd4f441146
DynamicBitmapText WebGL renderer updated
2018-01-16 16:32:27 -03:00
Felipe Alfonso
8bb9b1309f
SpriteBatch pipeline re-implementation
2018-01-12 21:13:41 -03:00
Felipe Alfonso
54274b782a
BlitterBatch pipeline working
2018-01-10 17:03:01 -03:00
Richard Davey
d8f1ba03e9
Moved repository location
2018-01-09 21:43:56 +00:00
Richard Davey
0d90f75b5f
Splitting the dev branch up into versions.
2016-11-22 01:36:56 +00:00
Richard Davey
7a155f66fe
Added Tilemap back in and tested with Blitter object, and it works really fast.
2016-11-15 03:11:21 +00:00
photonstorm
aac31f6858
FBOs are bound to parents.
2016-11-10 17:05:04 +00:00
Richard Davey
48f90fec34
Implemented a State based MainLoop system, with fully split logic / render cycles and frame rate. Each State can now set its own frame rate. Added in more Camera commands, moved the Tween Manager into the State Systems, and started work on the new heavily reduced Game object.
2016-11-08 01:50:57 +00:00
Richard Davey
f2cb384da0
State indexing added.
2016-11-06 13:59:48 +00:00
Richard Davey
d568d2bede
Moved _sys to a StateSystems class to keep things much cleaner, and avoid setter inheritance mess.
2016-11-06 12:18:08 +00:00
Richard Davey
893d35ea89
Multiple States now rendering together, with their own systems and managers :)
2016-11-04 03:09:48 +00:00
Richard Davey
2326b331f1
States now have their own FBO (under WebGL) which the renderer uses.
2016-11-04 02:24:49 +00:00
Richard Davey
a366ef8f3c
New State Manager up and running.
2016-11-04 02:08:17 +00:00
Richard Davey
16e687cb2a
Fixed issue with FBO leaving no bound texture on unit zero.
2016-11-03 21:50:14 +00:00
Richard Davey
e0c6a0c470
Using createEmptyTexture again.
2016-11-03 21:06:14 +00:00
photonstorm
57e12415cc
Removing test code.
2016-11-03 17:25:14 +00:00
photonstorm
a86b02d55a
Finally! Fixed the multi texture + FBO pipeline.
2016-11-03 17:19:16 +00:00
photonstorm
a3d9cf9b6d
Tiny Batch!
2016-11-03 13:47:37 +00:00
Richard Davey
def3a93b5f
Trying to debug fbo + multi-texture 'cannot draw to same texture' issue.
2016-11-03 05:10:50 +00:00
Richard Davey
106a55e642
Lots of tidying up. Renamed properties, removed loads of stuff no longer needed in the main class.
2016-11-03 04:22:07 +00:00
Richard Davey
8439cf0c15
Added QuadFBO class, which encapsulates the whole frame buffer + quad + shader flow. Exposed quad dimensions and position via setters, allowing you to place the FBO anywhere when it renders.
2016-11-03 04:04:34 +00:00
Richard Davey
6e70669e28
Added getVerticesFromRect so the fbo is calculated from pixel values.
2016-11-03 02:50:52 +00:00
Richard Davey
8603374316
More docs.
2016-11-03 02:07:15 +00:00
Richard Davey
0b070822d3
Updated the FBO quad to use a vec2 for position instead, cutting down on vert data a little. Also removed array length look-ups and hard coded values in.
2016-11-03 01:51:31 +00:00
Richard Davey
e2b7e54c5f
Testing twirl shader :)
2016-11-02 01:47:59 +00:00
Richard Davey
b5faa8843d
Finally, FBO for main renderer working!
2016-11-02 01:22:27 +00:00
Richard Davey
4b0c028200
Adding FBO support.
2016-11-02 01:00:56 +00:00
Richard Davey
03b651f79f
Loads of tweaks re: Transform inheritance.
2016-11-01 00:31:45 +00:00
Richard Davey
7477599005
Refactored ImageBatch into the more accurately named SingleTextureBatch.
2016-10-31 19:44:46 +00:00
Richard Davey
bd80999b33
Refined the Image and WebGL Renderers.
2016-10-30 22:58:14 +00:00
Richard Davey
577b81580a
New batch system working.
2016-10-30 14:57:38 +00:00
photonstorm
863efde5ed
Getting ready to move the shaders out.
2016-10-28 18:35:23 +01:00
Richard Davey
f1760f961d
Working through splitting the Batch shader out of the manager, and into its own class. Got multi-shader swapping working.
2016-10-28 02:42:58 +01:00
photonstorm
fd3898742f
Added ability to toggle multi-texture support at run-time.
2016-10-25 16:44:23 +01:00
photonstorm
8de992175e
Renamed Renderer spriteBatch to just batch.
2016-10-25 14:30:29 +01:00
photonstorm
a271a52ec7
Added glLastUsed property to TextureSource.
2016-10-25 13:23:14 +01:00
Richard Davey
120b6eb2bd
Blend Modes work. More optimisations in the batch manager.
2016-10-25 03:57:34 +01:00
Richard Davey
dae0b2c124
Fixed Multi Texture support across split texture atlases.
2016-10-25 01:54:49 +01:00
Richard Davey
8ab7dc80dc
Sorted out swapping WebGL textures in a non-multi texture environment.
2016-10-25 01:40:16 +01:00
Richard Davey
4c6691863c
Fixed Multi Texture support in the new batch manager.
2016-10-25 00:41:45 +01:00
photonstorm
2af81bdfba
Masses of refactoring in BatchManager, making it as compact and fast as possible.
2016-10-24 17:14:10 +01:00
photonstorm
4af0fb3247
Added offset vector back in.
2016-10-20 15:01:22 +01:00
photonstorm
079f81a639
Opps - blend mode needed :)
2016-10-19 14:30:33 +01:00
Richard Davey
1aebdb9dd7
Fixed the Batch renderer at last. Just need to add multi-texture support back in.
2016-10-19 01:56:31 +01:00
Richard Davey
238c2fc8aa
Trying more things to get it working!
2016-10-19 00:23:40 +01:00
photonstorm
18b12dfc3e
Huge amount of work getting the WebGL renderer sorted out, tidied up and merged with the latest Texture and Transform components.
2016-10-18 17:03:25 +01:00
Richard Davey
271aab1844
Removed the GPU texture handlers out of the Texture Manager, and into the WebGL Renderer.
2016-10-11 23:48:22 +01:00
Richard Davey
2630a48266
Added TileSprite to the renderer.
2016-10-07 02:09:12 +01:00
Richard Davey
b18bdab447
UID is set by the Renderer now, removing another Phaser global.
2016-10-07 01:33:01 +01:00
Richard Davey
ea9c9ae7b3
Removed gl texture ID.
2016-10-07 00:59:10 +01:00
Richard Davey
b254d085cd
All of the WebGL Graphics draw ops have been split out, tidied up and merged.
2016-10-07 00:40:31 +01:00
Richard Davey
8a72f0ff35
FilterTexture converted.
2016-10-06 23:36:00 +01:00
Richard Davey
caffc9ca5f
Added FilterManager and StencilManager to new renderer.
2016-10-06 22:59:42 +01:00
Richard Davey
dc92c92a30
Removed all instances of gl.id
.
2016-10-05 01:45:22 +01:00
Richard Davey
fe92b4e388
WebGL using mixins.
2016-10-05 01:25:06 +01:00
photonstorm
03f67a2677
Refactored WebGL renderer working for Sprites and Containers.
2016-10-04 15:39:54 +01:00