- From: Ken Russell <kbr@google.com>
- Date: Mon, 25 Feb 2019 14:01:16 -0800
- To: Corentin Wallez <cwallez@google.com>
- Cc: Dzmitry Malyshau <dmalyshau@mozilla.com>, public-gpu <public-gpu@w3.org>
- Message-ID: <CAMYvS2ev-Pf5e6i7CKv7fsvd_yGUab4XCw1XGexj5+rZwTt=FQ@mail.gmail.com>
Hi Dzmitry, Great job putting this sample together! Good to see real-world examples of how the API should be used. I think we should aim to create many more such samples in order to expose usability issues with WebGPU before it's set in stone. -Ken On Mon, Feb 25, 2019 at 2:43 AM Corentin Wallez <cwallez@google.com> wrote: > Hey Dzmitry, > > Thanks for sharing this, demos like this show that the API is starting to > be well-rounded and your feedback is very valuable given your background in > rendering engines for games! Can you file a bug / add an item in the > snapshot tracker for the usability issues you found? > > Cheers, > > Corentin > > On Sat, Feb 23, 2019 at 5:04 AM Dzmitry Malyshau <dmalyshau@mozilla.com> > wrote: > >> Hi WebGPU! >> >> I've been working ([1]) on an example to test and polish our native >> WebGPU implementation, called "shadow". See the attached screenshot to get >> the idea. Just wanted to share a bit of feedback, now that I got a slight >> idea about what it is to *use* the API as opposed to designing it: >> >> 1. Overall, the experience was very pleasant ([2]). I believe we are >> aiming for the right level of abstraction for the web: low enough to be >> efficient, high enough to actually be able to write the demo and not drown >> in details. >> 2. Some of the structures are unbalanced. For example, >> GPURasterizationStateDescriptor has most of the fields related to depth >> biasing. It would be cleaner to have all the depth biasing in a dedicated >> structure instead. >> 3. I find GLSL with Vulkan syntax to be pretty nice to use. It >> addresses the biggest problem GLSL has - separating textures and samplers >> ([3]), along with specifying all the bind group/binding registers >> explicitly. I see value in it being well supported by WebGPU (not a as >> digested format), given that the current users of WebGL would have easier >> time moving to that syntax than to HLSL. >> >> >> >> Note: the example is written in Rust, but it's just a light wrapper over >> C API library (wgpu-native). The idea is for it to be compatible with Dawn, >> and also to gain the ability to target WASM in the future. >> >> Links: >> >> [1] https://github.com/gfx-rs/wgpu/pull/71 >> >> [2] >> https://github.com/kvark/wgpu/blob/616a3dd849c87db72db37d534bb21ddc700a2165/gfx-examples/src/shadow.rs >> >> [3] >> https://github.com/kvark/wgpu/blob/616a3dd849c87db72db37d534bb21ddc700a2165/gfx-examples/data/shadow-forward.frag#L45 >> >> >> Regards, >> >> Dzmitry >> >
Received on Monday, 25 February 2019 22:01:52 UTC