ASWF TAC Meeting - 30 November, 2022

Video Conference Link

Voting member attendance

  • Kimball Thurston - Chairperson, Weta Digital Limited
  • Bill Roberts, Adobe
  • Gordon Bradley, Autodesk
  • Roy C Anthony, DNEG
  • Matthew Low, DreamWorks Animation
  • Christina Tempelaar-Lietz, Epic Games, Inc.
  • Brian Cipriano, Google & OpenCue Representative
  • Sean C McDuffee, Intel Corporation
  • Larry Gritz, Sony Pictures Imageworks
  • Jean-Francois Panisset, VES Technology Committee
  • Cory Omand, The Walt Disney Studios
  • Daniel Heckenberg - Animal Logic Pty Ltd / Industry Representative
  • Eric Enderton, NVIDIA & Asset Repo Representative
  • Esteban Papp, Amazon Web Services
  • Michael Min, Netflix
  • Michael B. Johnson, Apple
  • Greg Denton, Microsoft
  • Sean O’Connell, Advanced Micro Devices
  • Mark Visser, Unity Technologies
  • Ken Museth, OpenVDB Representative
  • Carol Payne, OpenColorIO Representative
  • Cary Phillips, OpenEXR Representative
  • Joshua Minor, OpenTimelineIO Representative
  • Chris Kulla, Open Shading Language Representative
  • Jonathan Stone, MaterialX Representative

Observer member attendance

  • Alex Forsythe, AMPAS
  • Allan Johns, Method Studios
  • Gary Oberbrunner, OpenFX
  • Tom Cowland, OpenAssetIO
  • Erik Strauss, Review & Approval

Other Attendees

  • David Morin, ASWF
  • John Mertic, Linux Foundation
  • Emily Olin, Linux Foundation
  • Andrew Grimberg, Linux Foundation RelEng
  • JT Nelson, Pasadena Open Source consortium / SoCal Blender group
  • Scott Wilson, Rust WG
  • Stephen Mackenzie, NVIDIA
  • Doug Walker, Autodesk/OpenColorIO
  • Robin Rowe, Cinepaint
  • Jean-Christophe Morin
  • Jim Helman

Apologies

*

Agenda

  • Scott: there is a Slack channel to talk about Security WG, haven’t had a chance to talk details yet, but if anyone wants to start posting ideas, we can create a proposal before end of year / early next year. #wg-security
  • Virtual Production Interest Group (David)
    • Throughout last year did a number of strategy meetings, including the one with the TAC, when polling ourselves about areas adjacent to our core knowledge that we could expand into, a series of topics gravitated to the top. Some about interactive software, gaming, and also virtual production. Taken together, looking at next year, we want to follow up on these “holes” to create a WG on virtual production as a potential action for 2023. But that’s out of surveys, real way to do a working group is that it has to come from TAC and TAC members. That’s why we bring this interest to the TAC, see if there’s interest from the TAC to look into that. At this point it qualifies as a “hot topic”, try to build a proposal for what this WG would look like. So a “test for interest” / request for proposal from the TAC. We can have it now or later in the agenda.
    • Kimball: we will do this later in the agenda.
  • Kimball: still plan to present budget to TAC? John: probably early in January, still working on getting budget approved, won’t get wrapped until governing board meeting on Dec 14. Looking on how to break out funding for different areas, including GitHub runners.
  • John: elections for TAC. JF has indicated interest in continuing as Industry Representative, spoke with Daniel if he’s interested. Daniel: I have not been active contributor over the last year, so won’t be seeking to be reinstated as industry rep, but will be able to start contributing again early next year. John: need to renew JF as industry representative. TAC can add representatives at any time, but want to renew once a year. Kimball: motion to renew JF, Wave: second. All yes, motion approved. And thank you Daniel for everything you have done, and looking forward to seeing you around next year.
  • John: haven’t heard any expression of interest for TAC chair, we can wait until next meeting. If anyone has interest in that role, reach out to me. We can have vote at next meeting.
  • OpenVDB Annual Review (Ken)
    • Highlight of last year was release of version 10 on Oct 1st 2022, for 10th year
      • Mathematica bindings
      • New tool that exposes all the functionality in the project via command line tools. So everything you can do in Houdini, you can do with command line.
    • Asked TAC for help with CI build. OpenVDB is a very large project, build times were very long and painful. Had done a lot to try to minimize, but biggest improvement was change to GitHub Actions build machines. A bit worried about what happens once the early access period is over (today!), hope it can continue.
    • Working on reducing number of dependencies. A complaint from new adopters is number of dependencies. We are almost done with TBB and Boost which will be optional in the future. Also transitioning away from Boost::Python bindings to pybind, and adding more Python bindings options to our tools.
    • Had presentation earlier this week: bunch of improvements from SideFX related to improving the tools that take polygon meshes and produce level sets. Existing technique has issues with structure inside a surface, it gets removed, which used to be thought of as a feature, but could now be desired.
    • Talking to Autodesk Bifrost team, working on a port of their multi grid and hope to evaluate and adopt this year.
    • Expanded the TSC group itself, the person who is responsible for the Mathematica bindings has joined TSC.
    • Kimball: sounds like you are having increased contributions not just Ken. Ken: yes, lots of external contributions.
    • Joshua: how many people on your TSC, and how did you pick? Ken: project is “old” (10 years), initially had a developer from each company, but that’s no longer the case. Right now have 2 people from NVIDIA, 2 from ILM, WETA, then someone from outside entertainment who is using OpenVDB for medical applications (Mathematica as a DCC). Project seems to have caught a second wind a couple of years ago, the number of contributions seems to have grown.
    • David: in terms of future adoption of OpenVDB, is there something ASWF can do to help grow adoption? Ken: feels like we are saturated in M&E, what we are seeing is that it’s growing into medial, HPC. Being used a national labs, machine learning applications. So I don’t know, but a request from another presentation: it’s hard to get an idea of what the product is used for, even within this industry. Have very few anecdotal evidence, we know it’s in Houdini, would be good if there was more insight on how it’s being used. Even feature requests can be tricky: feels like people are contributing “random” features they are working on, rather than a structured list. David: we can think of a survey. Will talk to Emily. You also said about OpenVDB being used in other industries is a great story. We don’t necessarily want to go out and promote our projects in other industries, but it can be good to “put out there”. We make our technologies better for the Motion Picture industry, but also make them available for other industries. Ken: it’s ironic that for a long time, the project was suffering from the association with “Hollywood”: people would hear about this new way of representing volumes, but would be reluctant to use it for scientific or engineering applications. But we seem to be past that now.
    • Eric: someone might use it through Houdini and not know… Ken: specifically you would know since the Houdini node is called “VDB”, but a lot of tools use VDB internally. Larry: you’ll catch it from the large file size! People are probably not ignorant that OpenVDB is an important part of their pipeline. Kimball: we also use it in Nuke.
    • Ken: very happy with support we got on CI build. One of the big problems we had was that sometimes we couldn’t reproduce issues since we couldn’t reproduce a build (some specific Windows configurations for instance). We may be able to throttle back if needed, but it’s been a game changer.
    • John: a number of these projects are used “behind the firewall”, so even if you had telemetry (which you don’t want), would have skewed stats. A lot of LF projects are looking for an understanding of who is using the project and how it’s being used. Talk to OTIO about this as well, maybe set up a “ADOPTERS” file in repo so people could “self declare”? More of a push model than a push model, people would volunteer that information. Can also do case studies. But more generally a difficult problem.
    • Ken: our best tracker is the forum, can guess who is using and what they are using it for. John: that’s a standard path in open source. Ken: another indicator that the project is healthy is that the discussion forum has taken its own life. Used to have to sift through all the posts and answer all the questions, we don’t have the time to do that anymore since others have already done that. Some people we don’t even know have a deep insight.
    • Ken: a lot of work going on at NVIDIA on this project. NanoVDB is a GPU friendly subset. Currently only a static topology can be manipulated but working on ways to generate grids on GPU. Also NeuroVDB, presented at SIGGRAPH, being open sourced for evaluation from NVIDIA, and hoping it can be contributed back. A lossy way to represent volumes, but can control the quantization / errors. Can reduce footprint by 10x to 100x.
    • Joshua: having an ADOPTERS file: some things happen naturally as part of Open Source Days, the “sizzle read” shows that a studio is using. For OTIO was going to collect those and add them to the ADOPTERS file, but feel “anxious” about just adding names of studios I know are using it. Do we need guidance as to what’s OK to add to ADOPTERS? Putting a PR to a ADOPTERS file can be a high burden. Larry: you can ask people to contact you and you can add it so that people don’t have to go through CLA process. I can be reluctant to add these things unless I’m super sure. Just because someone downloaded a project doesn’t meant they are “officially” using it on a project. That has to come from someone who knows because they were involved with a production.
    • Stephen Mackenzie (chat): could create a GitHub issue template. Andrew: can add one at top level of ASWF. Kimball: can add to Kimball “if you are using it, create an issue”. Joshua: can also fit into yearly surveys, can help to show reach of ASWF. Carol: not sure if we can get it to the granularity of what movies a project is used on. Maybe a studio can say “this was the first film we used project X on”, but for something like VDB or OCIO, it will be used on every project at a studio, so in theory you could theoretically list every project from a studio from IMDB, but that’s not necessarily what you want.
    • John: can also be awkward if a project is associated with a movie that has bad connotations? Larry: anyone working on movies as a career have stopped worrying about individual movies!
    • Emily: as we start working on the Sizzle Reel, we can ask for that, which projects were used. OpenEXR / OCIO / OpenVDB is on every movie. John: could be most useful to have useful long tail of every movie out there, but for the benefit of the project, what are the top 10 movies of the year. Larry: good time to promote project is around Academy Awards nominations come out, can promote as a blog post. “Used on 4 out of 5 nominations”. Emily: sometimes very hard to figure out which projects were used on each film. Have tried to get this info from the community, but people can be reluctant to divulge. Need to find the right contact info, need to be pointed in the right direction. John: so maybe focus on a certain set of films, the ones that are nominated for awards. Carol: the more targeted you can be with an ask to a studio, the more success you will have. Asking for a specific title that’s already been put up for awards, a lot of studios that were submitted for a VES award will have already put together promo materials that have been cleared. Much easier to have access to this info, rather than more open ended questions. Emily: if we know what movies something was used on, those can be specific questions to a PR person. Would love to get is our projects being USED on a film. The breakdowns typically don’t show that. Maybe even a screenshot? Kimball: maybe add overlays to show which projects used on what “parts” of a shot. Larry: needs someone to go in there and do it. A lot of PR channels would not know this information. Sean McDuffee: can also leverage approvals from DCC vendors. Emily: yes we leverage that.
    • Larry: a lot of studios have updated the VFX build matrix spreadsheet
    • Kimball: any security related issues from non-entertainment users would be interesting to send to #wg-security. Ken: we don’t have security experts, so…
  • Robin: presented a couple of projects to TAC mailing list
    • Became project manager for Cinepaint, one of the first things done was port to Windows, did so much porting work than created libunistd, we’d rather be programming UNIX-style, but would like to support Windows. Wouldn’t be great if you could include unistd.h and would still build and work on Windows without needing WSL. This library has been around for a while, used by multiple projects, but haven’t mentioned it yet. A bit of a hodge podge, have almost everything but fork(), most of the same APIs as on Linux/POSIX.
    • Cmaker is a bash script that generates CMakeLists.txt, cmaker_project.sh Then there’s cmaker_class.sh to create individual .ccp, .h and ctest files for each class. Then cmaker_project.sh creates the main executable. Then can run cmake on the resulting project, and for instance build the result with Visual Studio.
    • Can then run ctest on the resulting classes.
    • Larry: this is super cool, do exactly what you say, want to propagate structure of a project, can get really complicated. How much of what goes into class files, CMakefiles is templated, or is it hard coded? How easily can this be shaped into everyone’s favorite idioms? Robin: easily, since I chance it all the time. Larry: can you send GitHub link? Robin: it’s in GitLab, you can find it on there.
    • There’s a template file, cmaker_project.sh.txt
    • Kimball: for libunistd, why have that vs using mingw? Robin: it’s a lot lighter, not saying you have to use it, just wanted to make it known. Kimball: was wondering if you felt a need to develop this? Robin: back when I did this a while ago, it was difficult to pick the parts of mingw you wanted without the parts you don’t want. Kimball: mingw seems to have gone more towards supporting cross compiling. Robin: libunistd is also headers only. Make everything in unistd.h work as expected on Windows. Some of the stuff is stubbed out if hadn’t needed it before, so not everything is implemented yet.
    • Both are easy to find: libunistd on GitHub, Cmaker on GitLab