Richard Davey
c9d56f5f1d
Removed unused matrices and method
2020-10-29 14:41:22 +00:00
Richard Davey
9a0f33d24c
Cause a full bind on first set
2020-10-29 14:41:04 +00:00
Richard Davey
4b48baea79
Removed all of the uniform code
2020-10-29 14:40:49 +00:00
Richard Davey
4badd54160
Added resetProgram and changed return values
2020-10-29 14:40:33 +00:00
Richard Davey
024f13f2ba
No longer use uViewMatrix or uModelMatrix
2020-10-29 14:37:52 +00:00
Richard Davey
b74351a87d
Update WebGLPipeline.js
2020-10-29 08:22:38 +00:00
Richard Davey
9e4141e18b
Pass the Game Object
2020-10-28 18:13:34 +00:00
Richard Davey
b1b44cd7f0
onBoot and setShader methods
2020-10-28 18:13:27 +00:00
Richard Davey
e1452b9ce7
Update WebGLShader.js
2020-10-28 17:40:21 +00:00
Richard Davey
48c0ba26c2
Better flush handling
2020-10-28 17:40:06 +00:00
Richard Davey
c5b538afcd
Added the new Graphics Pipeline
2020-10-28 17:39:54 +00:00
Richard Davey
d6ecea8d4d
Use the new attributes format
2020-10-28 17:39:31 +00:00
Richard Davey
92c365a881
Removed all Graphics methods and related properties.
2020-10-28 16:53:31 +00:00
Richard Davey
8c6e67ecfc
Added attributes and other shader specific properties and methods
2020-10-28 16:15:56 +00:00
Richard Davey
e52def85be
All vertex values now set during boot, after shaders are created. Added batchQuad/Tri methods.
2020-10-28 16:15:35 +00:00
Richard Davey
389b480777
Using new easier attribute config + moved some methods to WebGLPipeline
2020-10-28 16:15:09 +00:00
Richard Davey
15d8eabf17
Single pipeline updated so it can easily extend Multi now
2020-10-28 16:14:42 +00:00
Richard Davey
93b1775aaa
Added new WebGL consts for easier shader configs
2020-10-28 16:14:05 +00:00
Richard Davey
9aeb765696
Updated type defs
2020-10-28 16:13:46 +00:00
Richard Davey
120f2c87cb
The WebGL.Utils.getComponentCount
function has been removed as this is no longer required internally.
2020-10-28 16:13:29 +00:00
Richard Davey
88d2ecd760
Pipeline passes attributes off to Shader. Also fixed multi-shader setup.
2020-10-27 18:06:45 +00:00
Richard Davey
39c77f431f
Flush here, rather than in renderer
2020-10-27 18:06:28 +00:00
Richard Davey
a5d6016e64
Move sequence so the renderer is clean
2020-10-27 18:06:13 +00:00
Richard Davey
f42f0ce0d6
Shader needs attributes
2020-10-27 18:06:00 +00:00
Richard Davey
7b5d6076b2
Added max size value
2020-10-27 14:41:43 +00:00
Richard Davey
f50560eba8
The WebGLRenderer.getMaxTextures
method has been removed. This is no longer needed as you can use the WebGLRenderer.maxTextures
property instead.
2020-10-27 14:36:43 +00:00
Richard Davey
93b569c5ca
Look-up based on string or instance
2020-10-27 14:05:48 +00:00
Richard Davey
59a215d643
* Types.Core.PipelineConfig
is a new configuration object that you can set in the Game Config under the pipeline
property. It allows you to define custom WebGL pipelines as part of the Game Config, so they're automatically installed and ready for use by all Scenes in your game. You can either set the pipeline
object, or set it under the render
sub-config.
2020-10-27 13:44:58 +00:00
Richard Davey
98b4319436
Bind needs to return this
2020-10-27 12:26:01 +00:00
Richard Davey
4ebdc637a9
Tidied up method flow
2020-10-27 12:25:53 +00:00
Richard Davey
d2c025e38a
Added target fbo and all of the shader setters back in
2020-10-27 12:25:42 +00:00
Richard Davey
2b3863272e
Removed 'nativeTextures' and added new reset parameter
...
* The `WebGLRenderer.nativeTextures` array has been removed and any WebGLTextures created by the renderer are no longer stored within it. All WebGLTexture instances are stored in the `TextureSource` objects anyway, or by local classes such as RenderTexture, so there was no need to have another array taking up memroy.
* The `WebGLRenderer.deleteTexture` method has a new optional boolean parameter `reset` which allows you to control if the `WebGLRenderer.resetTextures` method is called, or not, after the texture is deleted.
2020-10-27 11:38:21 +00:00
Richard Davey
efbc256a1f
Added target fbo
2020-10-26 17:13:24 +00:00
Richard Davey
3c7062ca6a
Common strings.
2020-10-26 17:00:23 +00:00
Richard Davey
bc34d01535
Update WebGLPipeline.js
2020-10-26 15:19:21 +00:00
Richard Davey
1e80f53f1d
Better docs
2020-10-26 15:00:25 +00:00
Richard Davey
7c929e52bc
Finished method docs and added clone
2020-10-26 15:00:17 +00:00
Richard Davey
ec4751ddc6
Finished all method docs
2020-10-26 15:00:07 +00:00
Richard Davey
55cbda85b8
Removed debug code
2020-10-26 14:24:15 +00:00
Richard Davey
f87bd7d384
Removed all of the shader setters. This should be done via the WebGLShader class now.
2020-10-26 14:24:06 +00:00
Richard Davey
fba97afcb6
Update dirty uniforms
2020-10-26 14:05:49 +00:00
Richard Davey
f32b4c7ecd
Fixed config setter and added mvp matrices
2020-10-26 14:05:39 +00:00
Richard Davey
1e8b1cc583
Removed ProjectOrtho and optimized setters
2020-10-26 14:05:26 +00:00
Richard Davey
7ad02d6c0d
Removed mvp component
2020-10-26 14:05:07 +00:00
Richard Davey
14e90c60d8
Don't resize to zero dimensions and run proper compare
2020-10-26 14:04:45 +00:00
Richard Davey
291f588110
Removed the mvp component. Pipelines no longer need this.
2020-10-26 14:04:01 +00:00
Richard Davey
8c85887479
Removed all of the mvp functions as they're no longer needed
2020-10-26 14:03:18 +00:00
Richard Davey
0b3011add3
Update PointLight-frag.js
2020-10-21 18:15:34 +01:00
Richard Davey
272727459f
Use new shader property
2020-10-21 18:15:28 +01:00
Richard Davey
9531124903
Typo fix
2020-10-21 18:15:19 +01:00
Richard Davey
da47c776fa
New shader class to allow one pipeline to set multiple shaders
2020-10-21 18:15:13 +01:00
Richard Davey
180b29be98
The pipeline can now handle multiple shaders all sharing the same attributes
2020-10-21 18:15:02 +01:00
Richard Davey
c730272ba7
Updated the configs to handle multiple shaders
2020-10-21 18:12:40 +01:00
Richard Davey
4b1c5c1a0b
Improved docs
2020-10-21 11:30:49 +01:00
Richard Davey
7ffa615831
The WebGLPipeline.flushLocked
property has been removed. A pipeline can never flush in the middle of a flush anyway, so it was just wasting CPU cycles being set.
2020-10-21 11:19:12 +01:00
Richard Davey
75f857b645
Update WebGLRenderer.js
2020-10-16 14:11:21 +01:00
Richard Davey
d35ff331b2
Now takes a pre-filtered list of children to render
2020-10-16 11:36:00 +01:00
Richard Davey
675eec8103
Better attenuation
2020-10-14 15:16:35 +01:00
Richard Davey
cc167e158f
Much better effect from the light shader
2020-10-14 11:57:58 +01:00
Richard Davey
d3d0c71fe4
Fixed shader for clip-space
2020-10-13 22:34:26 +01:00
Richard Davey
b1a5ce7f55
Testing new batched lights
2020-10-13 18:17:30 +01:00
Richard Davey
8708255948
Removed Layer3D Game Object and old MeshPipeline
2020-10-13 10:56:21 +01:00
Richard Davey
dda4431366
Merged the Layer3D Game Object and pipeline back in for now
2020-10-07 17:44:36 +01:00
Richard Davey
706d02873a
Fixed issue with camera flash/fade not working
2020-10-05 13:44:29 +01:00
Richard Davey
468b1ba255
Added 2nd conditional back
2020-10-05 13:43:54 +01:00
Richard Davey
c3c35322c4
Merge pull request #4992 from svipal/master
...
Preliminary PR for isometric support
2020-10-02 09:42:47 +01:00
Richard Davey
6bc858e332
Moved out OBJFile and updated PipelineManager
2020-10-01 18:00:02 +01:00
Richard Davey
3baecb19d4
Moved old mesh pipeline and code into own folder
2020-10-01 17:56:49 +01:00
Richard Davey
2d43561e1a
WebGLRenderer.vaoExtension
is a new property that holds a reference to the Vertex Array Object WebGL Extension, if supported by the browser.
2020-10-01 13:48:27 +01:00
Richard Davey
d8992ccf9d
WebGLRenderer.instancedArraysExtension
is a new property that holds the WebGL Extension for instanced array drawing, if supported by the browser.
2020-10-01 10:57:13 +01:00
Richard Davey
8119ce7da1
Fixed use of old camera private properties
2020-09-29 16:44:11 +01:00
Richard Davey
4748c7c7fc
WebGLRenderer.defaultScissor
is a new property that holds the default scissor dimensions for the renderer. This is modified during resize
and avoids continuous array generation in the preRender
loop.
2020-09-24 09:26:41 +01:00
Richard Davey
e004fa47fc
Creating a Bitmap Mask from a texture atlas that was then used to mask another Game Object also using that same texture atlas would throw the error GL_INVALID_OPERATION : glDrawArrays: Source and destination textures of the draw are the same.
. It now renders as expected. Fix #4675
2020-09-23 18:10:12 +01:00
Richard Davey
232f8e0ebc
Updated to use new uniforms and fixed renderWebGL
parameters
2020-09-23 17:55:03 +01:00
Richard Davey
b350ebddcc
Removed duplicate code.
2020-09-23 11:42:14 +01:00
Richard Davey
183e68580f
Fixed dirty flag reset
2020-09-22 11:45:49 +01:00
Richard Davey
bd25dbc355
Added per-model cull mode
2020-09-22 11:39:26 +01:00
Richard Davey
0410c9f5aa
Updated JSDocs
2020-09-22 11:33:40 +01:00
Richard Davey
afe765a2cf
Fix component properties
2020-09-21 18:24:12 +01:00
Richard Davey
d86cde525a
Remove console.log
2020-09-21 18:23:48 +01:00
Richard Davey
d33c69b65c
Updated the shaders
2020-09-21 18:23:41 +01:00
Richard Davey
893453f840
New uniforms handler, new cache and dirty checks
2020-09-21 15:57:38 +01:00
Richard Davey
4549fb4320
Updated type defs
2020-09-21 14:05:51 +01:00
Richard Davey
f2f3aea79a
Shorter errors
2020-09-21 14:05:38 +01:00
Richard Davey
9bb510be0c
Now caches uniform locations and added all of the new set1f
etc uniform methods
2020-09-21 14:05:30 +01:00
Richard Davey
56caeb126f
Renders whole buffer in a single draw with no vertex iteration
2020-09-21 00:17:14 +01:00
Richard Davey
1d2a8bc58f
Added fog to shader
2020-09-21 00:16:43 +01:00
svipal
030a9489cd
Merge pull request #9 from photonstorm/master
...
Final master pull hopefully
2020-09-19 11:01:04 +02:00
Svipal
299f83c13d
fixed conflicts
2020-09-19 10:56:05 +02:00
Richard Davey
307cbe130f
New Mesh Shader
2020-09-18 17:51:23 +01:00
Richard Davey
9a1b252a11
Use shouldFlush
2020-09-18 17:50:57 +01:00
Richard Davey
0013db3747
Created new Mesh Pipeline
2020-09-18 17:50:20 +01:00
Richard Davey
74f35acad1
Better docs
2020-09-18 16:38:26 +01:00
svipal
79fe9abc6e
finished updating culling system
2020-09-18 17:16:52 +02:00
Richard Davey
5e5b8c0938
The WebGLPipeline.shouldFlush
method now accepts an optional parameter amount
. If given, it will return true
if when the amount is added to the vertex count it will exceed the vertex capacity. The Multi Pipeline has been updated to now use this method instead of performing the comparison multiple times itself.
2020-09-15 11:54:12 +01:00
Richard Davey
6a966e3f3b
Removed interpolationPercentage
parameter from all render methods, as it has never been used.
2020-09-14 15:33:58 +01:00
Richard Davey
3fa0070e50
Now uses white texture and tintEffect mode 1
2020-09-14 15:03:04 +01:00
Richard Davey
81800e0ce2
WebGLRenderer.whiteTexture
is a new property that is a reference to a pure white 4x4 texture that is created during Boot by the Texture Manager. The Multi Pipeline uses this internally for all Graphic, Shape and fill rendering.
2020-09-14 14:44:29 +01:00
Richard Davey
4ade25fc79
No longer read private values for tint
...
The `Multi Pipeline`, `Bitmap Text`, `Render Texture`, `Text`, `TileSprite` and `Camera` now all read the tint values from the public properties instead of the private `_tintTL` etc ones. They also now set the `tintEffect` value directly from the `tintFill` property, removing another conditional check.
2020-09-14 11:05:09 +01:00
Richard Davey
75c5f11aee
Updated shader source RGB to BGR and removed if-else block
...
* The `Single.frag`, `Light.frag` and `Multi.frag` shaders have all been updated so they now read the color value as `outTint.bgr` instead of `outTint.rgb`. This allows the colors to remain in RGB order within the Tint component.
* The `Single.frag`, `Light.frag` and `Multi.frag` shaders have all been updated so they no longer have a 3-way check on the `outTintEffect` value.
2020-09-14 11:02:02 +01:00