Re: [Aqsis-development] Possibility of Changing Object State, Dynamically
Brought to you by:
ltatkinson,
pgregory
From: Chris F. <chr...@gm...> - 2014-10-14 14:58:29
|
Right, thanks for the details. On Wed, Oct 15, 2014 at 12:36 AM, Gabriel <gn...@gm...> wrote: > Hi Chris, > > basically I have simulated granular material which I want to render this > could be of any shape (most generally meshs) > but for the start I have only spheres, I have a million spheres which all > have a position and orientation over several frames. Do you need to see details of individual spheres? If not, RiPoints is definitely the way to go. (Obviously this won't work for general meshes.) > I can now write for each frame a RIB file to render the spheres. I was > interested in the best possible way of doing this with a RIB file. > I thought about making instances of all spheres first and then specifying > multiple frames in the RIB file, where in each frame all spheres are > instanced and transformed accordingly, that would save memory, but > unfortunately the RIB specification of RiObjectInstance only allows ids up > to 65535. This shouldn't be a problem - aqsis supports ids up to the size of an int, and also supports arbitrary string names for instances. Apart from that, can't you just have a single sphere instance, and repeat it one million times, once for each sphere. > So the only way I see so far for the RIB specification is to specify in each > frame all objects and transformations instead of trying to reuse some > instance... In this case I really think instancing isn't going to be much use, because each piece of geometry is so simple. You will get useful compression by using binary RIB (along with faster parsing), but I think a big win would be to use RiPoints instead of spheres. That way you can have a /single/ call to RiPoints, which results in a far more compact geometry representation inside the renderer, and will give you a huge improvement in render times. If that doesn't do what you need, you may be stuck with RiSphere. If you like, paste in a typical chunk of your RIB data and we'll see where there's anything that can be done to optimize it. ~Chris |