← All ideas
  • Published 27 Nov 2019

Bake generated volume

It would be great if it was possible to bake volume information (e.g. density) which has been generated in a material. Here are a few examples:

  • 3d noise for nebulae
  • virtually any volume information generated in the shader editor
  • Volume generated by OSL script

So far it is possible to bake smoke/fire and fluid simulations so that they only have to be simulated once. The same thing would be great for volume information generated in the shader editor.

With an OSL script for example you can easily generate volumes (e.g. mandelbulbs) but this only works with the CPU. Rendering is often faster on a GPU though. I assume that by baking the volume density you could just load it again and render it on a GPU.

100%

Development Status: Open

Upvote 3 Downvote 0
EVARATE
27 Nov 2019

2 Comments

jason

What are you baking to? Some internal format? OpenVDB?

Also, where in Blender's interface would you suggest putting these bake controls?

EVARATE Author

* @Jason van Gumster * I don't have the technical knowledge to say which one is better but I would suggest that both the internal Point Cache format and OpenVDB are supported (like they are for baking smoke simulations).

These options would fit into the Bake section in the Cycles Render Properties tab. Currently there is a drop down menu for baking diffuse maps, normal maps, etc. This list could be extended with a 'Volume' option. If it is selected the following settings would appear below: ___ Drop down menu to select what to bake:

  • Color
  • Density
  • Anisotropy
  • Emission Strength
  • Blackbody Intensity
  • Blackbody Tint
  • Temperature

Drop down menu for bake format:

  • Point cache
  • OpenVDB

Value sliders to choose quality:

  • Resolution (i.e. some value that determines the quality. E.g.: A value which has a similar function to Step Size in the Cycles Volumes section; A 3d analogue to the 2d pixel resolution; A value similar to the Octree Depth in the Remesh Modifier )

Drop down menu to select compression: *

  • Lite
  • Heavy

Checkboxes: *

  • Use Library Path
  • External (Read cache from external location)

Value sliders (in case the volume changes over time): *

  • Starting frame
  • End frame

Buttons:

  • Bake
  • Delete Bake

* : These options already exist for baking smoke simulations. I assume that they would also be useful/necessary in this case. ___

The volume borders would be determined by the bounding box of the object. These are only settings that I think are necessary therefor some may not apply here and some might be missing.

Of course it would be great if this was compatible with Cycles and EEVEE.

1