Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacques Lucke <jacques@blender.org>2020-10-07 19:03:07 +0300
committerJacques Lucke <jacques@blender.org>2020-10-07 19:04:19 +0300
commit1f50beb9f28edd2fe54d97647222ad6ee5808c1c (patch)
tree6b67be56ccf23ef78e79dace56546188160f71c3 /source/blender/makesdna/DNA_modifier_types.h
parentb8638b6491f39e4a2f8800c1b18ebb459ec502af (diff)
Volumes: new Volume Displace modifier
This modifier uses a 3D texture to displace a volume. For now, this can only use the previously existing texture system, because we do not have a better alternative yet. Still, the results can be quite good and interesting. See D9075 for some examples. Reviewers: brecht, simonthommes Differential Revision: https://developer.blender.org/D9075
Diffstat (limited to 'source/blender/makesdna/DNA_modifier_types.h')
-rw-r--r--source/blender/makesdna/DNA_modifier_types.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/source/blender/makesdna/DNA_modifier_types.h b/source/blender/makesdna/DNA_modifier_types.h
index fa2f54c7aa0..3a3aa106dc0 100644
--- a/source/blender/makesdna/DNA_modifier_types.h
+++ b/source/blender/makesdna/DNA_modifier_types.h
@@ -96,6 +96,7 @@ typedef enum ModifierType {
eModifierType_Fluid = 56,
eModifierType_Simulation = 57,
eModifierType_MeshToVolume = 58,
+ eModifierType_VolumeDisplace = 59,
NUM_MODIFIER_TYPES,
} ModifierType;
@@ -2255,6 +2256,25 @@ typedef enum MeshToVolumeModifierResolutionMode {
MESH_TO_VOLUME_RESOLUTION_MODE_VOXEL_SIZE = 1,
} MeshToVolumeModifierResolutionMode;
+typedef struct VolumeDisplaceModifierData {
+ ModifierData modifier;
+
+ struct Tex *texture;
+ struct Object *texture_map_object;
+ int texture_map_mode;
+
+ float strength;
+ float texture_mid_level[3];
+ float texture_sample_radius;
+} VolumeDisplaceModifierData;
+
+/* VolumeDisplaceModifierData->texture_map_mode */
+enum {
+ MOD_VOLUME_DISPLACE_MAP_LOCAL = 0,
+ MOD_VOLUME_DISPLACE_MAP_GLOBAL = 1,
+ MOD_VOLUME_DISPLACE_MAP_OBJECT = 2,
+};
+
#ifdef __cplusplus
}
#endif