- From: Jeff Gilbert <jgilbert@mozilla.com>
- Date: Thu, 21 Nov 2019 12:19:38 -0800
- To: "Myles C. Maxfield" <mmaxfield@apple.com>
- Cc: "Eamon O'Tuathail" <eamon.otuathail@gmail.com>, public-gpu <public-gpu@w3.org>
- Message-ID: <CAOztSJ3Bkq9pgt=+i3WaPn4z9CXKvtekMsE_2rUzBkSeHs5itw@mail.gmail.com>
A while ago I also played around with a partial webgpu-on-webgl2: https://github.com/jdashg/webgpu-js It was interesting to experiment with what to do with the binding model, which is a definite challenge. You can see one approach I came up with: https://jdashg.github.io/webgpu-js/hello-bind-groups.html Lack of Compute and other advanced features can be a real deal-breaker, but it's certainly possible to make something that's useful for many usecases. On Thu, Nov 21, 2019 at 11:41 AM Myles C. Maxfield <mmaxfield@apple.com> wrote: > All Web APIs are, of course, welcome to be pollyfilled to the extent that > it's possible. Creating a 3D renderer which looks a lot like the WebGPU > API, and has backends for WebGPU and WebGL, sounds like a valuable thing to > have. > > Beware, there are some places that are tricky to polyfill today. Chief > among them is the fact that, in WebGL, textures and samplers are joined > into a single API object, but in WebGPU, they are distinct objects. This > set of difficult-or-impossible to pollyfill parts of WebGPU will likely > increase over time, rather than decrease. > > The standardization group discussed something similar in May; you can read > the minutes at > https://docs.google.com/document/d/1QCnrt5Dd563PQyCiP8UkVrWgsFCWVCLLMxiMx5Fl23A/edit# (see > the section titled WebGPU compat). The discussion was about the possibility > of reducing or eliminating these difficult parts, so WebGPU might be > implementable on OpenGL, which would dramatically increase the possibility > of polyfilling. However, I believe that discussion ended with the > conclusion that it would be difficult to accomplish this without also > limiting the ability for the WebGPU API to grow and improve beyond what > OpenGL allows. > > If you do come up with a library which acts similarly to the WebGPU API, > and renders to WebGL, I’m sure this group would love to hear your findings > and discoveries while making such a thing. This type of feedback is > valuable when designing any kind of 3D graphics API, including WebGPU. I’m > looking forward to hear back from you on your discoveries! > > Thanks, > Myles > > On Nov 20, 2019, at 5:48 AM, Eamon O'Tuathail <eamon.otuathail@gmail.com> > wrote: > > WebGPU and WebGL2 do not provide the exact same feature set, but there is > a good bit of overlap. For early adopter web application developers eager > to get started with WebGPU now, would a polyfill of a subset of WebGPU > features implemented using WebGL2 be feasible and/or make sense? > > WebGL2 is widely available today in production web browsers: > https://caniuse.com/#feat=webgl2 > and WebGPU, though progressing nicely, still has a long way to go before > that. > > So what are the options for web application developers who want to use > some parts of WebGPU in production code today? A polyfill would seem the > best. A polyfill will not give the same level of performance as a native > WebGPU implementation or the full feature set, but may be sufficient for > certain deployment scenarios - such as code samples in training courses, > product demos, proof of concept projects. etc.. It would not be suitable > for heavy-duty gaming or other intensive 3D rendering workloads - that is > accepted. > > >
Received on Thursday, 21 November 2019 20:20:00 UTC