TSC Meeting Notes 2023-03-09

Attendance:

  • Cary Phillips
  • Christina Tempelaar-Leitz
  • John Mertic
  • Joseph Goldstone
  • Kimball Thurston
  • Larry Gritz
  • Nick Porcino
  • Peter Hillman
  • Rod Bogart

Guests:

  • Omprakash Dhyade

Discussion:

  • Rod: compression issues
    • Using GPUDirect from Microsoft and Nvidia to decompress w/gzip the data on the GPU, for the purposes of display. Could the EXR file have the data in that form? We don’t have this done. 
    • Kimball: But we want there to be tiles, and each tile needs to be compressed. 
    • Rod: We have uncompressed EXR that are tiled and mipped. Most is reading time. If you can reduce the reading time. 
    • Kimball: How much are you relying on reading subimages? 
    • Rod: We are. We have the entire 360 sphere, although we’re only looking where the camera is looking.
    • Larry: This is an approach we’re already taking with texture mapping. I’d be supportive of evolving EXR to support it. It’s not just the realtime case that would be improved. 
    • Kimball: Is the default tile size of 32x32 from 20 years ago still appropriate?
    • Rod: We do it by hand 256x256.
    • Larry: We do 64x64, did some benchmarking a few years back.
    • Rod: There’s still some overhead to go to the next tile.
    • Rod: We wanted to be able to play back 8K on the wall.
    • Kimball: Have you experimented with non-square tiles?
    • Rod: No. But we’ve tried virtual texturing. There’s a texture that’s loaded that tells you whether you can see the tiel, then you got get the tile from somewhere else
    • Kimball: We’ve done a bunch with virtual texture, in Gazebo. Took a few rewrites.
    • Rod: Latency, 
    • Rod: We’d talked about general mechanisms for compression. This is just one of them. 
    • Larry: Do we want to support hardware-supported compression? BZ7. 
    • Rod: We use those for our other textures. 
    • Rod: Specify a path to the true EXR sequence, press a button then it makes the fast files.
    • Nick: We’d like to make EXR part of canonical of USD. 
    • Larry: no dissenting opinions. It should happen. Just a question of who.
    • Kimball: We’d need a new version of the file format. We have BZ7 compressor code.  I could get that in. Do we need to do anything to the actual tile layout?
    • Kimball: I debated about allowing you to request multiple tiles. You’d say give me these 4 tiles, 
    • Rod: We added chunking. It’s faster than reading them all one at a time. 
    • Kimball: There’s a set of stages in reading, you can interject any code you want in that process.
    • Is there a way to do asynchronous reading? It ends up being 
    • Rod: Would be good to have Ruslin Idrisob who reports to me to do a presentation. 
    • Rod: What we’ve done is restricted to Windows. It’s not a library thing. 
    • Kimball: It might be not unreasonable to have a coding scheme, B44a, rather than scanline linear.
    • Rod: We (Epic) put our code out there, so it’s practically open source.
    • Nick: you can't copy and paste epic code into your own project, it's open but not shareable
    • Rod: We may be all doing this. Is there 
    • Invite Ruslin on March 23.
    • Kimball: I’ll message Mark Leoni at Nvidia. Steve Parker is doing his own thing. Will CC Enderton as TAC rep.
  • Website
    • Cary: The website is currently built off of the main branch so that it gets the latest news. Is that the best way? 
    • Larry: readthedocs can build on a specific branch.
    • Cary: Fine to have documentation pinned to a particular branch, but that branch will have all the website news there.
    • Kimball: Peter was trying to convince Joe to make a training video. Where would be put that?
    • Larry: Just put it on YouTube
    • Cary: I put a link to the YouTube video of the 2020 sizzle reel on the website.
  • Larry: Let’s be aware of the schedule. It’s March. If we want anyone to use what we're doing, we need to have a release by August-ish.
    • Kimball: Rod’s proposal, some would not be difficult. It’s not difficult to add compression types, just have to rev the file version. But how far do we want to go. 
    • Peter: The version is encoded in the version flags.
    • Cary: There’s removing the version from namespace
    • Larry: Changes to C++ API to get thread safety.
    • Kimball: I’ve been working on that. I’m going to start from the inside out. I’ll prioritize over the next few weeks. 
    • Kimball:  Simple struct changes, I’d be fine with that. I can simplify my earlier proposal.
    • Larry: We shouldn’t lose the simplicity and understandability of Imath. Look at the header and my question is answered. Shouldn’t do something that only the six of us understand. 
    • Larry: We’ve removed the last bit of boost.
    • Kimball: us, too.
    • Nick: USD is making a push, too.