by Ben Morrow and Pauline Koh
Lytro cloud and render teams had to work on a tight deadline to deliver One Morning, the first cinematic quality CG experience for VR created with Lytro Volume Tracer. It was also the first time we would be processing multiple shows simultaneously and we had to strategize to optimize our render resources. But we like tough challenges: here’s how we handled this one.
To create a Light Field experience from existing CG assets, we place a set of virtual cameras into any third party rendering program and capture 2D samples from all positions and directions within a view volume. From those rendered samples, Lytro VT traces a volumetric experience that delivers film quality in real time.
Lytro Volume Tracer Workflow
The more samples that are rendered and the larger the view volume, the better a Lytro VT experience will look. But for every centimeter we add to the volume data sizes increase exponentially. With the large view volume in One Morning, we knew the renders would generate much more data in the cloud than live action experiences like Hallelujah. Before production began, we decided to use an open source distributed data storage filesystem which would allow us to perform I/O at a higher rate and scale to higher data sizes in the cloud. We were rewarded with a 16x reduction in our write times using the distributed storage system, and since the improvement is a function of the number of nodes we support on the filesystem, we can surpass this number in the future by implementing more nodes.
But the cloud and rendering teams were still feeling nervous during the last week of August. We had a lot of jobs and were eager to get through them as soon as possible, but we were having trouble getting the number of instances that we needed to stay on track. Then Labor Day weekend arrived. As our team monitored the farm that weekend, we noticed that the cloud resources available to us were increasing dramatically. By the time the weekend was over, we had made huge progress and we’d learned that timing our renders carefully would make it easier for us to access the 1,500 preemptible instances that we would need to finish the show.
As Lytro renders more shows, and more ambitious productions, our resource teams continue to improve efficiency so we can scale to meet the challenge. The experience of rendering One Morning has helped us identify opportunities to improve our pipeline, including optimizing off-hours cloud rendering and improving production analytics. And as always, the cloud and rendering teams will continue to model our pipeline for each show: anticipating the amount of data involved in each stage of the rendering process, planning for time constraints, and using our resources as efficiently as possible. On to the next show!