From BlenderWiki

Jump to: navigation, search
Note: This is an archived version of the Blender Developer Wiki. The current and active wiki is available on wiki.blender.org.

Benefits to Blender

Describe how your project will benefit Blender. Will it benefit artists using Blender for 3D content creation? Will it be an aid for future Blender development? Blender will have a better fluid and smoke simulation solver base. Turbulence simulations will be much improved by vortex handling and wavelet turbulence support. Users will have a better control over the fluid and smoke simulation. Current Blender version allow for only one fluid domain to be present in one scene. Though it may provide control over computation resources by moving/resizing the domain, it is not always convenient. Having MantaFlow as framework allows for multiple domains. Also, problems with zero gravity in current Blender versions are solved in MantaFLow.

Deliverables

Provide a user-level summary of the final output or results of your project. How does it integrate in Blender, and how does it cooperate with the rest of Blender's features? Note that end-user documentation should be one of the deliverables as well. MantaFlow fully integrated in Blender for fluid and smoke simulation. End-User documentation as well as Blender Wiki will be provided. A tutorial on using integrated framework will be created.

Project Details

User Interface configured for MantaFlow interaction

User will be able to switch between native Blender simulation engine and MantaFlow. For the latter, any options available in the framework will be available to the end user.

Scene transfer to MantaFlow

Since MantaFlow takes python script as input file, a dynamically generated script with relevant settings from Blender scene will be created each time a fluid domain initialization or update takes place.

Getting data back from MantaFlow

After simulation step is performed, a generated mesh, and if needed, particle system information will be marshaled and transferred back to Blender.

Control over multiple domains

New MantaFlow instance will be invoked each time a new Blender fluid domain is initialized. Relevant settings will be applied. Options for select/deselect, active/passive and visible/invisible will appear in scene editor. This will have control over whether given fluid object will be simulated in the next time step.

Baking fluid simulation

Simulation information received from MantaFlow will be baked, as well as a per-timestep generated mesh will be saved to disk.

Node-based editor(additional)

If I have extra time left, I will start implementing the node-editor support for fluid and smoke simulation.