Skip to content
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

Classification example broken under WebGL 2 #8629

Closed
kring opened this issue Feb 24, 2020 · 11 comments
Closed

Classification example broken under WebGL 2 #8629

kring opened this issue Feb 24, 2020 · 11 comments

Comments

@kring
Copy link
Member

kring commented Feb 24, 2020

The Classification Sandcastle example works fine under WebGL1. However, when I switch to WebGL2 by changing the first lines to:

var viewer = new Cesium.Viewer('cesiumContainer', {
    terrainProvider: Cesium.createWorldTerrain(),
    contextOptions: {
        requestWebgl2: true
    }
});

The classification no longer works correctly.

WebGL1

image
image

WebGL2

image
image

Chrome, Windows 10, renderer: ANGLE (NVIDIA GeForce GTX 1650 Direct3D11 vs_5_0 ps_5_0)

@kring
Copy link
Member Author

kring commented Feb 24, 2020

Same behavior in Firefox and with my laptop's integrated GPU (ANGLE (Intel(R) UHD Graphics 630 Direct3D11 vs_5_0 ps_5_0).

@kring kring mentioned this issue Feb 24, 2020
7 tasks
@mramato
Copy link
Contributor

mramato commented Feb 24, 2020

Lots of stuff is broken under WebGL2, it's going to take a concerted effort to fix/validate/maintain it and given the current WebGL2 adoption rate, it hasn't been a priority.

@aboutqx
Copy link
Contributor

aboutqx commented Feb 25, 2020

From https://caniuse.com/#search=webgl2 with 74.31% usage, it seems that webgl2 is ready to be commonly used.

@mramato
Copy link
Contributor

mramato commented Feb 25, 2020

@aboutqx thanks for the link. I didn't realize caniuse provided usage stats. The stats we previously had indicated it was much lower. @lilleyse weren't you looking for a source for this last week? (click the link and look in the upper right).

@lilleyse
Copy link
Contributor

Ah cool, I wish it could break down support by WebGL extension but it's better than nothing.

@lilleyse
Copy link
Contributor

Actually I take that back. See https://caniuse.com/#search=EXT_frag_depth

@mramato
Copy link
Contributor

mramato commented Feb 25, 2020

Yeah, caniuse is awesome, I just never noticed the stats in the upper right before. Pretty sad that frag depth is that low. Is an extension still needed for it in WebGL2?

@lilleyse
Copy link
Contributor

frag depth is core in WebGL 2 (and probably others)

74.31% support of WebGL 2 kinda makes a much better case for switching if we can get all the features that were previously WebGL 1 extensions.

@mramato
Copy link
Contributor

mramato commented Feb 25, 2020

frag depth is core in WebGL 2 (and probably others)

Stuff like this is what I'm most excited about, a lot of mobile devices that can support extensions like this don't, but their WebGL2 implementation does, so it's a big win for Cesium.

@kring
Copy link
Member Author

kring commented Feb 26, 2020

Zero support for WebGL2 on Safari, though, which is probably irrelevant on desktop but a problem on iOS. 😠

@OmarShehata
Copy link
Contributor

I'm closing this since CesiumJS does not officially support WebGL 2, but it is on the roadmap, so we can consolidate known bugs and discussion in this issue: #797 (comment).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants