[Bf-committers] point cache

Brecht Van Lommel brechtvanlommel at pandora.be
Fri Feb 29 12:35:31 CET 2008


>> - Viewport/render levels: the point cache makes no distinction between viewport and render levels, and so when rendering with a different subsurf level, the point cache is reset. Also the physics modifier might have been disabled for the viewport in which case there is no data to use at all. This most obviously a problem for particles, but can affect any physics system.
>> - An approach to this could be to have a separate render point cache. When rendering it would automatically simulate all previous frames. That might however be very slow. In principle you could also only do this in case it is really needed and the render mesh result is actually different from the viewport mesh. Also for renderfarms you would need a way to generate such a render point cache for all frames.
>Well, worst of all for any simulaton is a sudden change in the number of 
>'free variables' ... translates to number of atomar objects to keep track.
>Since soft bodies and particles 'now' keep track on more information 
>than provided by the general animation system as well as they to a 
>private sub frame interpolation they can (will) not handle any 
>resolution changes. Possible though i don't see any benifit but 
>increasing processing load.
>So IMHO there need to be a well defined set of situations where to hook 
>a 'physics modifier' in the stack .. once you hooked in you should not 
>change the number of 'particles to watch' or their 'edge relations' ... 
>tadum di dum .. a lot more to think about .. well.
>On the other hand i do not see any obstacles to have a subsurf later on 
>any level .. besides there might be some 'funny' results.

The problem is not as common for softbodies and cloth as it is for particles. For the former you would usually not have a modifier in front that has different render levels, or that is disabled in the viewport and enabled for rendering. But for particles this is quite common I think. For that case you could in principle use the point cache from the viewport, since particles are floating separate from the mesh. Note that for hair mapping between subsurf levels was added.

But a problem that all physics systems will have in practice is when the physics modifier is disabled in the viewport but enabled for rendering. This is not an uncommon scenario since a user might want to disable them in the viewport once they are set up, since they can slow down working with Blender. 

So, I think we still need a good way to handle the lack of a usable point cache file when rendering, just restricting the modifier position/states is probably not sufficient. A render point cache kind of breaks the idea of being able to work with physics systems without thinking about baking, but I don't know of a better solution..


More information about the Bf-committers mailing list