Blender Development -> Smoke Simulator

Smoke Simulator

My development on Blender smoke simulator.

Smoke Patch #1

Status : Commited In Trunk
(Since 2.50 Alpha 0 / Rev 26250)

Features:

  • Heavy OpenMP parallel optimization

    Heavy optimizing and parallelization of Smoke Simulator code. Up to 2x performance increase on low resolution smoke and up to 5x increase on high resolution smoke. (Tested on Intel quad core.)

    Comparison of smoke bake times (96 base, 4 division high res) between my optimizations and SVN:
    (Bake time, lower is better)
    Smoke

  • Selectable cache compression type (Light/Heavy)

    You can now decide between fast but not so effective and slow but effective cache compression. Also changed default compression to "light" due to much better performance.

  • Initial Velocity setting for smoke flows

    You can now use particle's velocity as "Initial Velocity" for smoke flows.

    A flamethrower made using high initial velocity:

  • Smoke Heat and Velocity Voxel Data textures

    Using smoke "Heat" or "Velocity" textures, you can tweak your smoke renders even further!

    Multicolored smoke done using heat texture and varying flow heats:

Smoke Patch #2

Status : Commited In Trunk
(Since 2.54 Beta / Rev 30809)

Features:

  • Smooth High Resolution emitter

    You may have noticed that using high resolution can lead to strange "blockiness" near emitter. Now you can easily get rid of it by enabling "Smooth Emitter" on high resolution settings. It makes emitter to create interpolated round shapes instead of cubes.

    Old "blocky" emission vs. new "smooth":
    Old Blocky Smoke New Interpolated Smoke

  • Domain Border Collision Settings

    It's now possible to change how smoke collides with domain walls. Turning off collisions may be essential when having a horizontal force field applied to smoke.

  • Vorticity Setting

    You can now change smoke vorticity. It defines how much turbulence or rotation fluid has. So lowering it gives you very smooth smoke.

    A candle flame made using very low vorticity:

  • Time Scale Setting

    This slider allows you to tweak simulation speed / time. If you lower this value simulation goes slow motion.

  • Initial Velocity Multiplier

    When tweaking this value you can adjust how much of the particle velocity is transferred to smoke. You can even use negative value to reverse emission direction.

  • Non-Absolute density on emitter

    There is a new button on smoke "Flow" settings. Absolute. When enabled, emitter behaves just like before: adding smoke exactly with the density given. Without it, however, emitter can work as an additive source. For example having 0.1 density can still give very dense smoke but smoothly, slowly increasing the previous density.

  • High-Res strength can be set to 0.0

    As a minor change this can be useful when you need sharper smoke (read high resolution), but not the turbulence. For example I found this usefull when making a candle flame.

By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021