-
-
Notifications
You must be signed in to change notification settings - Fork 36.1k
WebGLRenderer: Deprecate WebGL 1 support. #25959
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
Conversation
📦 Bundle sizeFull ESM build, minified and gzipped.
🌳 Bundle size after tree-shakingMinimal build including a renderer, camera, empty scene, and dependencies.
|
I thought it was 11 releases? I.e. if something was deprecated in e.g. r153, it stays there until r163 and is removed only in r164. |
|
I think the text is okay as it is. |
|
How about this? |
|
Sounds good! Updated! |
|
@Mugen87 is there a recommended pathway for people who want to support WebGL for the forseeable future? WebGL 2 support only landed in the last Safari version at the time of writing (15. 16 is the latest), less than 2 years ago. Caniuse reports 94.4% support. How far away is r163? If a version is roughly every month, does that mean we have until early 2024 to hope our users get more modern devices? |
February 2024. If you have to support older devices you have to stick to Supporting WebGL 1, WebGL 2 and WebGPU at the same is going to be more and more challenging. We have to make compromises by removing features so we can focus on more important, future-proof topics. |
Related issue: -
Description
This PR deprecates WebGL 1 supports in
three.js. That means the renderer logs now a warning when a WebGL 1 rendering context is detected. That could happen whenWebGL1Rendereris used, a custom WebGL 1 rendering context is passed to the renderer's constructor orWebGLRendereris unable to create a WebGL 2 rendering context and falls back to WebGL 1.The warning states that in ten releases (
r163) WebGL 1 support will be removed.three.jswill then require WebGL 2.Hardware support for WebGL 2 is already very decent. However, I think we should announce the WebGL 1 removal and give users enough time to prepare/react since certain projects still rely on WebGL 1.
Removing WebGL 1 support will allow us to completely delete certain code paths in the renderer which will simplify the code and make it easier to support more WebGL 2 specific features.