Data Management

Hello,

I was just wondering how you guys dealt with the large amount of data that is produced when you start saving out PRTS, are there any tips and tricks to reduce the data size. Are there some channels that take up more space than others?

Thanks

You can see the size of the data channels and can calculate the total amount of storage you need based on the number of particles and time samples. It’s possible to use lower bit depths, but you can’t do something like saving to 8 bit (as least without a lot of effort). You could also store things like normals as two components instead of three, but you have to manage that with a magmaflow. Might not be worth it.

Sometimes we’ll pre-render to Position/Density/Emission so we can get the most number of particles in a shot.

Thanks for the info, I was not sure what you meant by that?

You can save out PRT’s with lighting. There’s an option in the Save Particles rollout to compute the lighting and save that to the emission channel. It takes longer to save out the PRT, but you don’t have to do any rasterizing. The nice thing is that you can toss out things like Normals or Mapping or Color and still get the correct result. So you basically pre-process the shading on your high-memory machines, then do all the rasterizing on low-memory machines. If you’re doing motion blur and depth of field, this can be a nice timesaver. Oh, and once the particles are lit and saved out, you can do frustrum culling, which can save you even more memory.

Nice didn’t know that, so this would assume that you have all your lights set up the way you want before hand?

Correct. You must have everything except depth of field and motion blur set up exactly as you want it. The PRT result gets you nice iteration speed on those two variables, but the side benefit is the ability to render more particles.