Richard Davey
bacff65177
Refactoring texture batch creation
2018-12-11 15:00:12 +00:00
Richard Davey
6f8759c186
Whenever Camera.roundPixels
was enabled it would use a bitwise operation to truncate the float (x |= 0
) - this has been replaced across all files that used it, with a call to Math.round
instead. This gives far better results when zooming cameras both in and out of a Scene, stopping thin gaps appearing between closely packed Game Objects.
2018-11-30 10:27:25 +00:00
Sercan Turkmen
03ffe7842f
Fix rotating normal map bug (issue #3870 )
2018-10-31 02:17:11 +02:00
Richard Davey
32a22140a6
Use the predefined variable
2018-10-29 23:06:51 +00:00
Richard Davey
956a0913b8
Added new jsdocs
2018-10-22 12:12:31 +01:00
Richard Davey
4c4421c47f
Docjam merge
2018-10-19 12:32:43 +01:00
Richard Davey
4beffe842a
Texture batching during the batch flush has been implemented in the TextureTintPipeline which resolves the issues of very low frame rates, especially on iOS devices, when using non-batched textures such as those used by Text or TileSprites.
2018-10-12 15:06:10 +01:00
Richard Davey
4b1c762296
Updated @memberOf to @memberof
2018-10-10 10:49:13 +01:00
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
3944e580cc
Fixed an error in the batchSprite
methods in the Canvas and WebGL Renderers that would incorrectly set the frame dimensions on Sprites with the crop component. This was particularly noticeable on Sprites with trimmed animation frames
2018-09-27 16:49:52 +01:00
Richard Davey
945a2eb0fb
TextureTintPipeline.batchTexture
has a new optional argument skipFlip
which allows you to control the internal render texture flip Y check.
2018-09-26 16:32:41 +01:00
Richard Davey
c704dc450a
Fixed jsdoc definitions
2018-09-25 11:36:36 +01:00
Richard Davey
8bc4d06831
Added IsoTriangle and project setting
2018-09-07 14:23:25 +01:00
Richard Davey
5e126b80fa
Parent matrix and now optional and it won't draw a line cap unless the first point has been set
2018-09-06 15:07:36 +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
5270b463d0
Removed visible check as it's no longer needed
2018-08-31 14:39:38 +01:00
Richard Davey
cb0eeb3d63
Added default blank frame for custom pipelines #3978
2018-08-24 23:58:27 +01:00
Richard Davey
1d4b2ed01a
Removed un-needed methods and fixed TileSprite and Tilemap Lights. Fix #3949
2018-08-23 17:30:27 +01:00
Richard Davey
22bc6d2a86
The batchTexture
method in the Texture Tint Pipeline now supports cropped Game Objects and will adjust the drawn texture frame accordingly.
2018-08-03 18:54:48 +01:00
Richard Davey
2220faba49
Removed un-used method
2018-08-01 15:20:10 +01:00
Richard Davey
be379fd3a1
Added batchTextureFrame method
2018-07-31 17:10:02 +01:00
Richard Davey
6749417ef3
lint fix
2018-07-27 11:19:19 +01:00
Richard Davey
9331c15c48
Updated to use tint object.
2018-07-27 02:14:08 +01:00
Richard Davey
4481795d32
Swapped to using getX / getY
2018-07-27 00:53:00 +01:00
Richard Davey
6877582531
Removed un-used pipeline and shaders
2018-07-26 23:43:49 +01:00
Richard Davey
4bdecf488b
jsdocs tweaks
2018-07-26 23:41:52 +01:00
Richard Davey
d093f35e5c
Merged all of the required FTP methods into TTP.
2018-07-26 16:34:04 +01:00
Richard Davey
e0c0db5f8e
Final bit of tidying up before merging this with the TTP.
2018-07-26 16:33:43 +01:00
Richard Davey
90219d46b3
Removed all references to the FlatTintPipeline.
2018-07-26 16:33:29 +01:00
Richard Davey
947d301f42
Removed the unit batch from TTP and put it into FDLP
2018-07-26 15:31:44 +01:00
Richard Davey
bda9159cb0
Textures now use the frame UV values.
2018-07-26 15:05:10 +01:00
Richard Davey
7acbbcf58a
Fixed linejoin, added arc and triangle, tidying up code
2018-07-26 13:49:05 +01:00
Richard Davey
39a6622623
Working on joints
2018-07-26 09:58:33 +01:00
Richard Davey
3a2fcd0951
Updated path drawing, sorting out line-cap differences with Canvas
2018-07-25 17:04:44 +01:00
Richard Davey
4c25d12b44
Recoding the FTP. Rects and Tris working again.
2018-07-25 01:27:03 +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
ac108db9cc
Moving towards tidying up the FTP
2018-07-24 16:40:29 +01:00
Richard Davey
42c3fc5f6b
Better normal map handling
2018-07-13 11:14:22 +01:00
Richard Davey
2924874236
Added docs
2018-07-12 01:13:47 +01:00
Richard Davey
a0bf5b6ad2
Removed all the batch functions and consolidated into a single function and callback
2018-07-11 16:55:18 +01:00
Richard Davey
efb5eb09c5
Starting refactor
2018-07-11 16:24:58 +01:00
Richard Davey
05985417b3
Allow config setting values. Gets custom pipelines working again.
2018-07-11 16:24:45 +01:00
Richard Davey
82b15c8695
Removed drawEmitterManager
and moved to emitter render function
2018-07-11 14:40:36 +01:00
Richard Davey
853281fe56
Double flusher
2018-07-11 13:22:07 +01:00
Richard Davey
373d01c602
Fixed emitter batch. Now to optimize it.
2018-07-11 13:20:02 +01:00
Richard Davey
e2efa469ae
Removed drawTexture and added drawTextureFrame - fixed Render Texture flip Y issue
2018-07-11 12:34:53 +01:00
Richard Davey
5b3a5e115b
Started consolidating drawTexture method
2018-07-10 17:18:00 +01:00
Richard Davey
340c53875c
Added new temp matrix, fixed typo, removed old function
2018-07-10 16:32:44 +01:00
Richard Davey
434c8d1413
Fixed issue with sprite matrix and camera scaling
2018-07-10 13:59:49 +01:00
Richard Davey
85a32d54be
Typo
2018-07-09 17:06:27 +01:00
Richard Davey
5c554f3f69
Started moving dynamic bitmap text renderer to its own function
2018-07-07 12:34:24 +01:00
Richard Davey
dd0490dd57
Removed batchBitmapText, tidied up and moved to its own renderer
2018-07-07 12:22:45 +01:00
Richard Davey
8b13631107
Removed batchMesh
and moved to the Mesh WebGL Renderer. Another one bites the dust.
2018-07-06 19:35:46 +01:00
Richard Davey
c1bc928a73
Removed un-used vars
2018-07-06 17:29:49 +01:00
Richard Davey
a6ff0d54bb
Removed angle calculations from renderer as we only need do it when the arc is first defined
2018-07-06 17:16:09 +01:00
Richard Davey
325fb4681e
Tidying up
2018-07-05 23:55:00 +01:00
Richard Davey
5063fe30e5
Fixed cropping when texture frame is flipped
2018-07-05 23:01:26 +01:00
Richard Davey
341ecf42cd
Testing flip + atlas frame + trim cropping
2018-07-04 17:01:45 +01:00
Richard Davey
43fc988034
Moved crop UV handler to the Frame method. Cleaner and easier.
2018-07-04 15:18:08 +01:00
Richard Davey
ee8c1b403a
Fixed cropping with flipped images
2018-07-04 14:50:26 +01:00
Richard Davey
d44c54e5ed
batchSprite supports cropping (flipXY todo)
2018-07-03 16:48:14 +01:00
Richard Davey
d328f14be0
Fixed vertex calculation
2018-07-03 12:38:45 +01:00
Richard Davey
187328ea1a
UVs are passed directly now
2018-07-03 00:14:23 +01:00
Richard Davey
265852fc75
Removed test code
2018-07-02 17:09:21 +01:00
Richard Davey
35686657ce
Tidied up the batchVertices method and removed old stuff
2018-07-02 17:06:49 +01:00
Richard Davey
c1020c6dbb
Refactoring TTP to remove so much redundant stuff
2018-07-02 16:44:24 +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
1941d8a494
Removed drawStaticTilemapLayer
method and updated layer vertex code
2018-07-02 12:07:39 +01:00
Richard Davey
fdead2af16
Added the tint effect attribute and merged with all the various batches
2018-06-30 11:33:52 +01:00
Richard Davey
e22b1a7b9c
Removed stubs from pipelines
2018-06-29 12:33:44 +01:00
Richard Davey
39c3866179
lint fix
2018-06-28 13:07:59 +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
bb7b99a4db
Updated log and formatting
2018-06-25 22:53:42 +01:00
Richard Davey
c6c9b25fdc
Camera.alpha
(and its related method Camera.setAlpha
) allows you to get an alpha level for the entire camera. This impacts everything it is rendering, even if those objects also have their own alpha values too. You can tween the property to make the camera contents fade in / out, or you can set it as needed in your game.
2018-06-25 17:35:36 +01:00
Richard Davey
98b1cc2dbc
Although the Blitter object had the Alpha component, setting it made no difference. Setting Blitter alpha now impacts the rendering of all children, in both Canvas and WebGL, and you can also specify an alpha per Bob as well.
2018-06-25 16:06:22 +01:00
Richard Davey
f45ab89f8d
The ForwardDiffuseLightPipeline, used by the Lights system, now sets a flag if the Scene doesn't contain any lights. All of the Game Objects now check this flag and don't even bother adding themselves to the batch if there are no lights in the Scene, as they'd never render anyway. This also avoids the ghost-image problem if you swap Scenes to a new Scene with the Light Manager enabled, but no actual lights defined. Fix #3707
2018-05-31 16:57:30 +01:00
Richard Davey
9429a28574
The Particle tint value was incorrectly calculated, causing the color channels to be inversed. Fix #3643
2018-05-18 13:16:17 +01:00
Richard Davey
835bc37e32
Optimized TextureTintPipeline.drawBlitter so it skips bobs that have alpha of zero and only calls setTexture2D
if the bob sourceIndex has changed, previously it called it for every single bob.
2018-05-09 15:13:06 +01:00
Richard Davey
6ec1a580eb
typo fix
2018-05-09 14:30:31 +01:00
Richard Davey
57918bb50f
Removed the need for raw-loader
in webpack. Shaders now build to standard JS files. Removed fs requirement.
2018-05-08 23:04:57 +01:00
Richard Davey
97dd683ea1
The Forward Diffuse Light Pipeline was hard coded to assume the normal map would be stored in the source index zero. It now correctly obtains the normal map from the frame source index, which means all Game Objects that used frames from multi-atlas textures will now work with lights properly.
2018-05-04 14:31:19 +01:00
Felipe Alfonso
d2da10c1a9
Added jsdoc comments to TextureTintPipeline
2018-04-25 13:06:19 -03:00
Felipe Alfonso
f64b4b9b20
added jsdoc comments to ForwardDiffuseLightPipeline
2018-04-24 16:52:57 -03:00
Felipe Alfonso
7e90dab82f
FlatTintPipeline jsdoc comments
2018-04-24 16:30:00 -03:00
Felipe Alfonso
e385d018c5
added comments to ModelViewProjection pipeline component
2018-04-24 16:00:35 -03:00
Felipe Alfonso
426bc4ffd4
BitmapMaskPipeline jsdoc descriptions
2018-04-24 13:53:10 -03:00
Richard Davey
ef24982301
Pending dos
2018-04-24 15:34:55 +01:00
Richard Davey
741d1f5793
Doc pending tags
2018-04-24 15:32:08 +01:00
Richard Davey
176b085402
jsdoc fix
2018-04-19 13:28:10 +01:00
Felipe Alfonso
504ba9e133
Fixed eslint errors on TextureTintPipeline.js
2018-04-18 18:54:06 -03:00
Felipe Alfonso
aef538d61b
Added parent transform matrix to Light2D pipieline to allow support for containers
2018-04-18 18:40:27 -03:00
Felipe Alfonso
47bee69b3b
Fixed transformation matrix order for batchGraphics
2018-04-18 18:35:18 -03:00
Felipe Alfonso
18e178a72f
Fixed matrix transformation order for batchTexture
2018-04-18 18:30:54 -03:00
Felipe Alfonso
f3e0ae8d44
Fixed order of transformation for dynamic bitmap text
2018-04-18 18:28:08 -03:00
Felipe Alfonso
dbafd9a70c
Fixed order of matrix transformation on:
...
-emitter
-blitter
-sprite
-mesh
-bitmap text
2018-04-18 18:15:43 -03:00
Richard Davey
55965c748f
jsdoc fixes
2018-04-18 12:13:49 +01:00
Felipe Alfonso
eceb43584b
Fixed issue on particle emitter rendering not writing directly to the vertex count property
2018-04-17 13:20:08 -03:00
Felipe Alfonso
9961636722
Fixed overflowing of vertex count on particle emitter batcher
2018-04-16 12:38:02 -03:00
Richard Davey
57c5ca657b
Small refactoring
2018-04-05 11:01:24 +01:00
Richard Davey
4f6239dadb
jsdoc and eslint fixes
2018-04-05 09:02:36 +01:00
Felipe Alfonso
bea7ca36ad
Merge branch 'master' into containers
...
# Conflicts:
# src/renderer/webgl/pipelines/TextureTintPipeline.js
2018-04-04 12:07:41 -03:00
Richard Davey
af12eaac77
Merge branch 'master' into FR3472
2018-04-04 11:28:58 +01:00
Felipe Alfonso
3158d688ad
TileSprite batcher modulates tilePosition by the texture size to avoid scrolling uv coordinates to large values.
...
issue ref: https://github.com/photonstorm/phaser/issues/3402
2018-04-03 14:21:24 -03:00
Travis O'Neal
2ec70cac48
Added a letterSpacing property to BitmapText
2018-04-02 09:42:24 -04:00
Travis O'Neal
d6265a59dd
Initial Commit
2018-03-30 13:46:44 -04:00
Felipe Alfonso
4f8ddd73bb
Merge branch 'master' into containers
2018-03-29 12:35:40 -03:00
Richard Davey
f5373b2dee
jsdoc fixes
2018-03-29 13:23:44 +01:00
Felipe Alfonso
3741b9ea6d
Added nested support to graphics rendering
2018-03-27 16:57:49 -03:00
Felipe Alfonso
161f258f60
Parent transform applied to all texture tint pipeline object rendering functions
2018-03-26 21:16:36 -03:00
Felipe Alfonso
48b8e7c704
parentTransformMatrix mulitplication
2018-03-26 19:55:38 -03:00
Felipe Alfonso
eac2b8338e
parentTransformMatrix argument added to texture pipeline
2018-03-26 17:23:18 -03:00
Felipe Alfonso
5bcd12fcb7
Base container rendering + sprite batching with parent matrix
2018-03-23 14:15:52 -03:00
Richard Davey
64fdbc3040
Graphics.alpha was being ignored in the WebGL renderer and is now applied properly to strokes and fills. Fix #3426
2018-03-20 00:27:39 +00:00
Richard Davey
063d30602e
The ForwardDiffuseLightPipeline now uses sys.lights
instead of the Scene variable to avoid errors due to injection removal.
2018-03-12 12:55:09 +00:00
samme
d7780aff64
Fix error when no Light Manager exists
2018-03-11 19:22:42 -07:00
Richard Davey
c2f25b3742
Merge pull request #3240 from Twilrom/arc-fix
...
Update WebGL Graphics.arc to work more like on Canvas
2018-03-05 21:54:46 +00:00
Richard Davey
bfabe35cdf
eslint fixes
2018-03-05 21:49:08 +00:00
Felipe Alfonso
ddc85cfdc7
Added support for tint and alpha to RenderTexture
2018-03-05 16:57:41 -03: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
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
Felipe Alfonso
6a114fc07a
Added roundPixels to the texture pipeline
2018-02-28 15:08:08 -03:00
Felipe Alfonso
9dbb4db4c6
Added inverted alpha to bitmap mask
2018-02-23 14:09:27 -03:00
Felipe Alfonso
ef8e92dc01
RenderTexture base webgl implementation
2018-02-23 00:44:22 -03:00
Felipe Alfonso
57333ea492
Fixed issue with null texture on particle emitter batch generation
2018-02-22 20:36:25 -03:00
Felipe Alfonso
a218cd5f4a
Fixed issue with vertex buffer creation on Static Tilemap Layer
2018-02-22 01:07:43 -03:00
Richard Davey
73da8608e0
Fixed lint errors
2018-02-19 23:14:57 +00:00
Felipe Alfonso
4b9b4c91a3
Dynamic BitmapText's origin is used on rendering the text
2018-02-19 18:20:30 -03:00
Felipe Alfonso
41bcaba43a
Dynamic BitmapText now uses origin component to render the text.
2018-02-19 18:16:57 -03:00
Felipe Alfonso
50c79c14af
Removed double rounding to pixel on rendering routines.
...
Fixed rounding pixel issue when camera is shaking
2018-02-19 17:38:40 -03:00
Felipe Alfonso
cdc4359fd7
Fixed issue with tint being set on the incorrect vertex
2018-02-19 17:06:08 -03:00
Richard Davey
3c65121cb3
eslint fixes
2018-02-16 19:17:49 +00: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
Twilrom
d443ff380e
Make WebGL Graphics closePath work the same as in Canvas.
2018-02-16 16:28:35 +01:00
Twilrom
859cc27e2e
Fix beginPath in WebGL Graphics
2018-02-16 15:38:21 +01:00
Twilrom
0c0b272ccc
Update WebGL Graphics.arc to work more like on Canvas
2018-02-16 15:38:21 +01: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
92182bed90
Fixed issue with Blitter renderer where it overwrote previous vertex data
2018-02-14 13:43:35 -03:00
Felipe Alfonso
edf15986ff
BitmapMask si working properly with the vertex update batching.
2018-02-14 13:20:56 -03:00
Felipe Alfonso
844e72a7e1
Buffer resource update batching implemented into TextureTintPipeline
2018-02-13 23:46:34 -03:00
Yat Hin Wong
3af1d57a95
Changed let to var
2018-02-13 17:03:28 +01:00
Felipe Alfonso
2aa94c28eb
WebGL types added to jsdoc
2018-02-12 21:12:17 -03:00
Richard Davey
d1f5f8a82b
Added jsdocs
2018-02-12 16:01:21 +00:00
Felipe Alfonso
17d00eea4a
Removed model and view scale from pipeline
2018-02-09 17:03:18 -03:00