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.