Cool stuff, pretty a-maze-ing. (sorry I couldn't resist xD)
I'm also looking forward to the next chapter, I really want to get into some procedural texture/material stuff so I'm hoping that next chapter will give me something to go from
Just wanted to say thanks for the great tutorial and ask if by any chance we can have the second part as promised. It would be really great to see hoe COPs where used in this project. Thanks!
I recently watched this myself as I was looking to see where ‘old school’ instancing sits in a world of packed primitives. Namely are there still advantages to using instancing over packed primitives? And the pleasant answer to my surprise was that instancing is still a great workflow for this type of shot. It's memory efficient, and there's less juggling involved with material assignments/variations.
So my question now is - do the engineers at SideFX see the old instancing system as a deprecated technology? If not what are the advantages of each approach in their ideal usage scenarios.
I don't see point instancing going away at all. Many reasons why.
Biggest one is backwards compatibility.
Object level point instancing allows you to instance render any object, including lights very easily. And with light instancing on to points, if they have Cd, the lights inherit that colour. Common to instance lights for certain effects in Mantra.
This instancing method is also quite portable on farms in that the ifd contains the geometry to be instanced. Great for small objects that are instanced geoemtry.
Packed and Alembics have their benefits as well but old school object level instancing isn't going away for now.
Btw Alembic was never designed to do instancing (originally). It was designed to generate efficient archives of massive sets of dumb static cached geometry deferred rendered in to a viewport and to a render engine. This where the render engine has to unroll the archive to find the geometry. This step does add minor overhead to rendering these types of deferred archives.