diff options
author | Sriharsha Kotcharlakot <k.venkatsriharsha@gmail.com> | 2020-09-15 18:51:14 +0300 |
---|---|---|
committer | Sriharsha Kotcharlakot <k.venkatsriharsha@gmail.com> | 2020-09-15 20:43:01 +0300 |
commit | f137022f9919f4dd315ec6b325a08e1bf5aec6fb (patch) | |
tree | 4b15aa230eb100e77b41dfffb8ef5e7501c55db5 /source/blender/makesdna/DNA_volume_types.h | |
parent | bedbd8655ed1d331aeaf756874c46dbed93168a1 (diff) |
Liquid Simulation Display Options (GSoC 2020)
All the changes made in the branch `soc-2020-fluid-tools` are included in this patch.
**Major changes:**
=== Viewport Display ===
- //Raw voxel display// or //closest (nearest-neighbor)// interpolation for displaying the underlying voxel data of the simulation grids more clearly.
- An option to display //gridlines// when the slicing method is //single//.
==== Grid Display ====
- Visualization for flags, pressure and level-set representation grids with a fixed color coding based on Manta GUI.
==== Vector Display ====
- //**M**arker **A**nd **C**ell// grid visualization options for vector grids like velocity or external forces.
- Made vector display options available for external forces.
==== Coloring options for //gridlines// ====
- Range highlighting and cell filtering options for displaying the simulation grid data more precisely.
- Color gridlines with flags.
- Also, made slicing and interpolation options available for Volume Object.
Reviewed By: JacquesLucke, sebbas
Differential Revision: https://developer.blender.org/D8705
Diffstat (limited to 'source/blender/makesdna/DNA_volume_types.h')
-rw-r--r-- | source/blender/makesdna/DNA_volume_types.h | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/source/blender/makesdna/DNA_volume_types.h b/source/blender/makesdna/DNA_volume_types.h index 30ac67281e2..bbd23298aea 100644 --- a/source/blender/makesdna/DNA_volume_types.h +++ b/source/blender/makesdna/DNA_volume_types.h @@ -38,6 +38,10 @@ typedef struct VolumeDisplay { float density; int wireframe_type; int wireframe_detail; + int interpolation_method; + int axis_slice_method; + int slice_axis; + float slice_depth; int _pad[1]; } VolumeDisplay; @@ -119,5 +123,26 @@ typedef enum VolumeRenderSpace { VOLUME_SPACE_WORLD = 1, } VolumeRenderSpace; +/* VolumeDisplay.interpolation_method */ +typedef enum VolumeDisplayInterpMethod { + VOLUME_DISPLAY_INTERP_LINEAR = 0, + VOLUME_DISPLAY_INTERP_CUBIC = 1, + VOLUME_DISPLAY_INTERP_CLOSEST = 2, +} VolumeDisplayInterpMethod; + +/* VolumeDisplay.axis_slice_method */ +typedef enum AxisAlignedSlicingMethod { + VOLUME_AXIS_SLICE_FULL = 0, + VOLUME_AXIS_SLICE_SINGLE = 1, +} AxisAlignedSlicingMethod; + +/* VolumeDisplay.slice_axis */ +typedef enum SliceAxis { + VOLUME_SLICE_AXIS_AUTO = 0, + VOLUME_SLICE_AXIS_X = 1, + VOLUME_SLICE_AXIS_Y = 2, + VOLUME_SLICE_AXIS_Z = 3, +} SliceAxis; + /* Only one material supported currently. */ #define VOLUME_MATERIAL_NR 1 |