ASWF TAC Meeting - January 13, 2021

Video Conference Link

Voting member attendance

  • Kimball Thurston - Chairperson, Weta Digital Limited
  • Gordon Bradley, Autodesk
  • Michael O’Gorman, Cisco Systems Inc.
  • Henry Vera, DNEG
  • Bill Ballew, DreamWorks Animation
  • Matt Kuhlenschmidt, 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
  • Eric Enderton, NVIDIA
  • Sean Looper, Amazon Web Services
  • Michael Min, Netflix
  • Michael B. Johnson, Apple
  • Dave Fellows, Microsoft
  • Sean O’Connell, Advanced Micro Devices
  • Mark Visser, Unity Technologies
  • Ken Museth, OpenVDB Representative
  • Michael Dolan, OpenColorIO Representative
  • Cary Phillips, OpenEXR Representative
  • Joshua Minor, OpenTimelineIO Representative
  • Chris Kulla, Open Shading Language Representative

Other Attendees

  • JT Nelson, Pasadena Open Source consortium / SoCal Blender group
  • Mathieu Mazerolle, Foundry
  • Deke Kincaid, Digital Domain
  • Scott Wilson, Rust (future) Working Group
  • Greg Denton, Microsoft Azure
  • Nick Porcino, Pixar
  • John Mertic, Linux Foundation

Apologies

Agenda

  • ASWF Project and Community Survey (John / Emily)

    • Please forward and evangelize

    • Daniel: the wider the distribution, the better. The information being collected is just for sorting / analysis, that part won’t be shared

    • Should be sent to the VFX Platform mailing list (Daniel todo).

    • Ken: discussed in the TSC, all of the TSC members were complaining that there is a very long list of questions that you have to go through before you get to a specific project. Could there be a direct link that you could point to the relevant part of the survey?

    • Daniel: to be discussed with Emily, can we discuss this on Slack?

    • Got posted to 3D Pro

  • Working Groups

    • CI

      • Discussions on CentOS stream, update on aswf-docker
    • Diversity & Inclusion

      • Meeting is happening concurrently, so schedule clash

      • First webinar on 25th Feb

    • Python 3

    • USD

      • Cory: well attended meeting this year, discussion of delivery and visualization of USD assets with web technology. Took a look at USD Playground project (see USD-wg wiki). Will have a presentation at the next session from Roman Zulek (sp?) to look at 3D web technology for USD. Group may create a sub WG on that topic.

      • Had good discussion / revisited USD Camera, started a sub WG for USD camera to agree on what a typical structure for a USD camera would look like, creation of a common camera rig (lots of interest at Netflix for multi-studio projects). Will report back to USD WG in a couple of sessions.

      • Talked about Omniverse, now in open beta, future role of OmniVerse, may be getting a presentation on the extension mechanism for OmniVerse.

      • Small discussion about backlot technologies, how people are storing assets in a digital backlot, Pixar is doing that, so will try to gather some information on that topic.

      • Lots on the agenda for 2021!

    • Review & Approval

      • Larry: there has been another meeting, continue to see 2-3 demos from relevant systems, probably one more round of “show and tell”
    • Asset Repository

      • Michael: lively discussion, what should an asset repo for ASWF be, Eric had summary, “first make it easy”, check in with John about licensing. Try to make these assets to the ASWF projects as well as to the larger membership. Moana keeps coming up as an example of what we would like to see from other studios / projects. One of the suggestions would be “how could you carve out of that project things that could be of value to projects”. For instance turning this large 3D asset into USD, but could we also get a bunch of EXRs with AOVs with contemporary naming structure, types of AOVs. Also OTIO timelines.

      • Think about Blender content, studio content. If we got “big” assets, how we would convert those into actual assets such as OSL shaders, EXR files, OTIO cutlists, OpenVDB datasets…

      • A bunch of action items, notes are being kept in the Wiki

      • Cary: had exchange with WDA, Moana scene was set up to render in a single pass without a lot of AOVs, so that data isn’t readily available. The problem they have is keeping the dataset up to date, version control on these kinds of assets is not easy, is this something we could figure out? It’s way too large for GitHub (100+ GB). How can you do version control and maintenance on such assets.

      • Wave: Pixar uses Perforce for digital backlot, at Apple can use anything. Currently using git-lfs (Large File extension for Git). Please come to next meeting to discuss this.

      • Daniel: versioning problem was explicitly discussed early on in the WG. Lots of things can create the dataset to change, do you want to continuously update it, or keep it fixed for regression testing?

    • Rust

      • Daniel: there was interest in the last TAC meeting to connect with the Rust meeting? We should make space for that.

      • Scott: first meeting on Saturday to figure out plan for 2021. Talking about becoming a Working Group, what do we need to do to make the request. What do we want to see done before the end of the year (or sooner).

      • Starting with the big “where do we want to go, what do we want to be” discussions

      • Kimball: doing a new C layer for OpenEXR, how can we get feedback from Rust community.

      • Scott: looking to create a tool to automatically create C bindings. Don’t duplicate effort. Designed for a specific project, but generic for all ASWF libraries.

      • Daniel: TAC supporter should be involved with Rust community (preferably?). Daniel: will try to join the meeting. Sean: happy to sponsor it as well.

  • Technical Project updates

    • OCIO

      • Michael: need testers for v2 before official release, testing activity at Autodesk and Foundry.

      • Version for Reference Platform 2021: want to switch OCIO version from 2.0.x to 2.x, since there are likely to be desirable minor releases this year. In particular OCIO is likely to be home for new ACES 1.3 gamut mapping (around April)

      • Kimball: congrats for 2.0RC1 !

      • Daniel: does 2.x in Reference Platform mean that there should be forward / backward compatibility within that range?

      • Michael: minor releases wouldn’t change any existing APIs, just add new ones (additional transform types). Would have to be careful. OpenVDB currently has their minor version as ‘x’ in Reference Platform.

      • Larry: doesn’t this create an issue, if you add API calls for 2.1 for instance, you no longer have forward compatibility. Unless you are committed to all the 2.x compatible in both forward / backward direction?

      • Michael: good point, but there will be useful functionality that will land before end of 2021. Has this been an issue for OpenVDB?

      • Ken: no, it hasn’t. Major version guarantees ABI compatibility, but can have API changes between minor versions. But have symbol versioning / namespacing to help.

      • Michael: also have namespacing

      • Larry: 2020 VFX platform supported EXR 2.4, 2021 says 3.0, but in the meantime OpenEXR had a 2.5 release that is somewhat of an orphan release that falls between platform releases. We haven’t come to a conclusion about that.

      • Michael: that was discussed at OCIO, they have an OpenEXR dependency (currently 2.4), may result in a version bump for OCIO when EXR goes to 3.0?

      • Daniel: could be an issue if you pass EXR images around in the API.

      • Michael: OCIO uses the Half library, so will be depending on imath rather than OpenEXR

      • Daniel: a version that wants to call a new API won’t work with the old version. So you need to always have the newest version applicable to the VFX Reference Platform year (currently the case with OpenVDB and TBB).

      • Ken: the OpenVDB policy has been around for 5 years without a problem. Houdini is built against OpenVDB 6.0, then we release 6.5, so in Houdini you can do a reinterpret_cast<> of the grid, and can call the new APIs. It has been stable and hasn’t cause issues. But it does require care and namespacing.

    • OpenVDB

      • Ken: released 8.0 2 weeks ago, Ax is the JIT language from DNeg.

      • Next milestone is NanoVDB: GPU friendly slimmed down version, lives in a feature branch, needs to be moved to master branch (already used by many).

      • Used to use cppunit for unit testing, now using ttest. Have a very small dependency on OpenEXR, but trying to limit external dependencies. Scaling back on Boost, TBB.

      • Using EXR core libraries for images, also use “half” a lot, will include that component of ilmBase directly.

      • Not getting rid of TBB, but getting rid of TBB threads. May introduce wrappers, useful since embracing GPUs, so may want to be able to do threading on the host vs GPU.

      • OpenVDB is 2 main components; a data structure, and a set of tools. There’s currently a blurry line between the two, a lot of the tools live as methods on the data structure. Trying to separate the two, moving these methods into tools. Helps with optimization and extending the data structure. This is a long process, started with this in 8.0 (which changed the ABI). There’s not a lot of difference between 7.2 and 8.0 (Ax was already in 7.2), but had to change the major version for ABI breakage.

    • OpenEXR

      • Cary: 2.5.4 release over the holiday breaks. Bugs / security fixes from the oss-fuzz reports. Did that pending the 3.0 release.

      • Getting closer with iMath split, but wanted to release the security fixes in a less disruptive form than the 3.0 release.

      • Lots to discuss at next TSC: tie up the loose ends. Kimball has started major rewrite of core I/O releases (thread friendly), but won’t be part of 3.0 release (which will be mostly an organizational change).

    • OSL

      • Chris: CLA has gone through, contributors are signing it, expecting changeover to ASWF GitHub very soon.
    • OTIO

      • Josh: more approvals on the Disney side for the CLA changes, some more steps required, check in with John on that topic.

      • OTIO is also aiming to use iMath once the separate is complete, looking forward to that, and happy to be early testers.

      • Discussion about storing color information, color primaries, profiles in OTIO. Will reach out to OCIO project to get some guidance to make sure we are complementary to other projects.

      • Made progress on CII badge, remaining outstanding issue is getting comfortable with the questions about the security process. Tentatively looking at doing some training for the team.

    • OpenCue

      • Brian: not too much update, no TSC meeting this year. Doing some housekeeping, laying out priorities for this year, eagerly waiting survey results. Seeing renewed interest in finishing up CII badge process, SonarCloud.
    • Camera Raw

      • adopted for incubation status at last TAC meeting, not further progress over the holidays, but will start this month
  • Cary: what happened to the discussion about renaming the “master” branch, we were waiting on some GitHub changes? Larry: guidance from GitHub was “wait for new tools”, but does GitHub have this in place? Daniel: there was some pushback from the broader community, if the majority of projects out there are converging to a naming convention, you would have to have a strong reason to use something else. But probably worth taking up again? Can be discussed on the #wg-ci Slack channel.

  • Goals for ASWF: 2021

    • What are other projects we want to start in 2021 instead of just adopting?

      • Helping projects with dependencies for instance
    • Daniel: Review working group, data repository / assets are potential sources of new technical projects

    • CII badging for OpenCue and OTIO are scheduled in the next 6 months, projects to graduate (Josh: yes for OTIO)

    • Kimball: perhaps we could have Python scripts to manage versions

  • Next meeting: January 27, 2021

Action Items (AIs)

Notes

Chat