Wednesday, July 14, 2021 (2:00PM PT/5:00PM ET)
Wednesday, June 2, 2021 (3:00PM PT/6:00PM ET)
- Autodesk showed USD import into Forge. Translates to Forge-native geometry.
- Autodesk also working on a WebGPU Hydra delegate that does PBR shading.
- A lot of overlap between the delegate above and Filament (i.e. SPIR-V tools running in browser)
- TBB remains an issue that everyone is keen to solve.
- Philippe Sawicki working on an MVP list for JS-bindings.
- Dhruv Govil is interested in what can be leveraged from ASWF initiative to auto-gen Rust bindings.
Wednesday, May 5, 2021 (3:00PM PT/6:00PM ET)
JavaScript bindings, need a real strategy on how to tackle them.
Static Initialization macros don't work well in WebASM, but being explicit about what is used for dead stripping to occur might be better for download times.
See what changes have landed in /dev that may help reduce reliance on WebAsm-TBB and its CORS issues.
Wednesday, April 7, 2021
Working example of WebASM build of USD with a Hydra delegate for Filament
- https://github.com/marsupial/USD/tree/HdFilament
- Working on macOS & Firefox-87.0
Ideally GitHub Pages version at https://marsupial.github.io/USD/extras/imaging/examples/hdFilament would be a live demo, but
- due to the lack of 2 http headers WebASM using threads will fail to load
- a local server.py can be used to serve the branch locally instead
- Colored Quad, Sphere, and Cube are USDA. Gold monkey rotating in circle is USDZ. PBR monkey spinning around its center is glTF.
- HdFilament shader generation is minimal and displayColor is used for primitives. Textures on monkey.usdz are not loading correctly.
- USDA loaded can be edited in the HTML: https://github.com/marsupial/USD/blob/HdFilament/extras/imaging/examples/hdFilament/index.html#L119
Wednesday, March 10, 2021
- Roman Zulak
- Philippe Sawicki
- Alexander Schwank
- Dhruv Govil
- Alex Gerveshi
- Nick Porcino
- JT Nelson
Goal is to have USD WebAsm branch and a WebAsm build of Filament Hydra Delegate by next meeting (April 7).
- Gain a better understanding of performance and limitations loading arbitrary assets and materials.
- Let a larger audience see the size of changes needed to support the platform.
- If the changes are too large for Pixar to mainline, what options are there?
- Provide a use case for Filament that could help push HdFilament code into Google's repo.
- Initially may be a private repo/branch not totally accessible to the world.
JavaScript bindings to USD.
- Roman has started porting a ui-handle implementation to WebGL that would be simplified with re-use of Gf/math library.
- What is the cost (in terms of source code) for additional bindings.
Python support via browser (à la Pyodide)?
- Is there any gain in having existing Python scripts run in a browser?
- May be too expensive of a runtime environment.
Plugins and external dependencies for a WebASM build:
- http(s) ArResolver would be very useful once everything starts working.
- OpenSubdiv is probably a good candidate for a next-step.
- Is OpenVDB support in WebASM via NanoVDB a possibility (or useful)?
- Qt WebASM is interesting, but a little too unstable right now.