-
Notifications
You must be signed in to change notification settings - Fork 3.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WebGL 2 and WebGL Extensions Roadmap #797
Comments
Uniform buffer objectsThe renderer could always expose UBOs and emulate them with traditional uniforms or uniform arrays if they are not supported. This will require some GLSL macros or shader patching for the uniform/uniform-buffer declarations. Automatic uniforms can be grouped into uniform buffers based on update frequency: per frame and per object (model-matrix). Each command can provide two uniform buffer: one for uniforms that don't change often and one for uniforms that do. This maps to technique (don't change) and material (do change) parameters. Or one uniform buffer might be fine since the command creator won't have to figure out how to organize them. |
Cesium Implementation Status (after #3094)
|
|
|
WebGL 2 articles on the RTR blog: |
Texture Array: we could use |
|
In WebGL 2 the camera zooms towards the globe instead of towards the geometry that the mouse is hovering over. This seems like a bug in either |
@lilleyse |
@dennisadams awesome, that fixes it for me as well. Just to confirm you added nearest filtering to the depth-stencil texture?
|
@dennisadams @lilleyse That also fixes the Silhouette post processing as well. Also I look it up, and in WebGL 2, it seems depth texture cannot have linear filtering. That may be a potential problem with other depth textures used by Cesium as well |
I went on a safe bet - hard-coded the |
Labels look a bit different in WebGL 2. Click the images to see the difference. |
The AO post process has artifacts: Local sandcastle. |
Polyline arrows start to get squashed. Local sandcastle |
Cesium Inspector is extremely show when "Show Frustums" is checked. Local sandcastle |
Contour lines are much thinner in WebGL 2. Local sandcastle. First thing I would look into is |
Alright that's all I've uncovered so far by going through each sandcastle example with WebGL2 enabled. @baothientran I recomend starting with #797 (comment) and seeing what other bugs are fixed in the process. |
@baothientran since the number of bugs fixes was starting to grow too much I consolidated them into a single |
Also I updated the checklist above: #797 (comment) |
|
Suggestions to improve
// ShaderCache.js
var vertexShaderText = vertexShaderSource.createCombinedVertexShader(
this._context
);
var fragmentShaderText = fragmentShaderSource.createCombinedFragmentShader(
this._context
);
var keyword =
vertexShaderText + fragmentShaderText + JSON.stringify(attributeLocations); |
When implementing Implicit feature ID attributes can be computed by |
Another WebGL 1 limitation that limits our implementation of EXT_mesh_features: In this table in the MDN docs, it seems that even a |
|
Point cloud properties (e.g. classification) may have precision artifacts in WebGL 1 if accessed in the frag shader. WebGL 2 may fix this with the |
Extensions in Canary
createVertexArrayFromGeometry
, but could also be used by billboards and polylines that use vertex buffer directly.Draft WebGL Extensions
color
andpick
passes in a single pass. Later, with the post-processing framework, we can combine other passes likeglow
andvelocity
. Shadow and reflection passes will still be separate since they are rendered with different view parameters.Proposed WebGL Extensions
OpenGL ES 3.0 Features
[ ] Program binaries - to reduce shader compile times.(Not in WebGL 2.0)More on ES 3.0
More on WebGL 2.0
WebGL 2 Demos
Done
The text was updated successfully, but these errors were encountered: