[Bf-blender-cvs] [9205f56e077] soc-2020-fluid-tools: Cleanup: Naming and refactoring updates in fluid display tools
Sriharsha Kotcharlakot
noreply at git.blender.org
Fri Jul 31 16:04:40 CEST 2020
Commit: 9205f56e077abbda65e1953ae39cf7ad3ca15d0d
Author: Sriharsha Kotcharlakot
Date: Fri Jul 31 19:33:55 2020 +0530
Branches: soc-2020-fluid-tools
https://developer.blender.org/rB9205f56e077abbda65e1953ae39cf7ad3ca15d0d
Cleanup: Naming and refactoring updates in fluid display tools
===================================================================
M release/scripts/startup/bl_operators/object_quick_effects.py
M release/scripts/startup/bl_ui/properties_physics_fluid.py
M source/blender/blenkernel/BKE_fluid.h
M source/blender/blenkernel/intern/fluid.c
M source/blender/draw/engines/overlay/overlay_extra.c
M source/blender/draw/engines/overlay/shaders/volume_gridlines_vert.glsl
M source/blender/draw/engines/workbench/shaders/workbench_volume_frag.glsl
M source/blender/draw/engines/workbench/workbench_private.h
M source/blender/draw/engines/workbench/workbench_shader.c
M source/blender/draw/engines/workbench/workbench_volume.c
M source/blender/gpu/intern/gpu_texture_smoke.cc
M source/blender/makesdna/DNA_fluid_types.h
M source/blender/makesrna/intern/rna_fluid.c
===================================================================
diff --git a/release/scripts/startup/bl_operators/object_quick_effects.py b/release/scripts/startup/bl_operators/object_quick_effects.py
index 20f27500563..f969337906a 100644
--- a/release/scripts/startup/bl_operators/object_quick_effects.py
+++ b/release/scripts/startup/bl_operators/object_quick_effects.py
@@ -521,11 +521,13 @@ class QuickLiquid(Operator):
# change domain type, will also allocate and show particle system for FLIP
obj.modifiers[-1].domain_settings.domain_type = 'LIQUID'
+ liquid_domain = obj.modifiers[-2]
+
# set color mapping field to show phi grid for liquid
- obj.modifiers[-2].domain_settings.coba_field = 'PHI'
+ liquid_domain.domain_settings.coba_field = 'PHI'
# set display thickness to a lower value for more detailed display of phi grids
- obj.modifiers[-2].domain_settings.display_thickness = 0.02
+ liquid_domain.domain_settings.display_thickness = 0.02
# make the domain smooth so it renders nicely
bpy.ops.object.shade_smooth()
diff --git a/release/scripts/startup/bl_ui/properties_physics_fluid.py b/release/scripts/startup/bl_ui/properties_physics_fluid.py
index 8fe8541d806..f71b6ed9bbf 100644
--- a/release/scripts/startup/bl_ui/properties_physics_fluid.py
+++ b/release/scripts/startup/bl_ui/properties_physics_fluid.py
@@ -1265,15 +1265,18 @@ class PHYSICS_PT_viewport_display(PhysicButtonsPanel, Panel):
col = flow.column(align=False)
col.prop(domain, "display_thickness")
- if (not (domain.use_color_ramp and domain.coba_field == "FLAGS")):
- col.prop(domain, "display_interpolation")
+ sub = col.column()
+ sub.prop(domain, "display_interpolation")
+
+ if domain.use_color_ramp and domain.coba_field == "FLAGS":
+ sub.enabled = False
col.prop(domain, "axis_slice_method")
if not do_full_slicing:
col.prop(domain, "slice_axis")
col.prop(domain, "slice_depth")
- if domain.display_interpolation == "RAW" or domain.coba_field == "FLAGS":
+ if domain.display_interpolation == "CLOSEST" or domain.coba_field == "FLAGS":
col.prop(domain, "show_gridlines", text="Show Gridlines")
col = col.column()
@@ -1304,12 +1307,12 @@ class PHYSICS_PT_viewport_display_color(PhysicButtonsPanel, Panel):
col.active = domain.use_color_ramp
col.prop(domain, "coba_field")
- if (not domain.coba_field == "FLAGS"):
+ if not domain.coba_field == "FLAGS":
col.prop(domain, "coba_field_scale")
col.use_property_split = False
- if (not (domain.coba_field[:3] == "PHI" or domain.coba_field == "FLAGS" or domain.coba_field == "PRESSURE")):
+ if not (domain.coba_field[:3] == "PHI" or domain.coba_field == "FLAGS" or domain.coba_field == "PRESSURE"):
col = col.column()
col.template_color_ramp(domain, "color_ramp", expand=True)
@@ -1339,7 +1342,7 @@ class PHYSICS_PT_viewport_display_debug(PhysicButtonsPanel, Panel):
col.active = domain.show_velocity
col.prop(domain, "vector_display_type", text="Display As")
col.prop(domain, "vector_grid_type", text="Grid Type")
- if ((not domain.use_guide) and domain.vector_grid_type == 'GUIDE_VELOCITY'):
+ if not domain.use_guide and domain.vector_grid_type == 'GUIDE_VELOCITY':
note = layout.split()
note.label(icon='INFO', text="Enable Guides first! Defaulting to Fluid Velocity.")
col.prop(domain, "vector_scale_with_magnitude")
@@ -1352,7 +1355,7 @@ class PHYSICS_PT_viewport_display_advanced(PhysicButtonsPanel, Panel):
@classmethod
def poll(cls, context):
- return (PhysicButtonsPanel.poll_fluid_domain(context) and context.fluid.domain_settings.show_gridlines)
+ return PhysicButtonsPanel.poll_fluid_domain(context) and context.fluid.domain_settings.show_gridlines
def draw(self, context):
layout = self.layout
@@ -1363,16 +1366,16 @@ class PHYSICS_PT_viewport_display_advanced(PhysicButtonsPanel, Panel):
col = layout.column()
col.prop(domain, "gridlines_color_field", text="Color Gridlines")
- if (domain.gridlines_color_field == 'RANGE'):
- if (domain.use_color_ramp and domain.coba_field != "FLAGS"):
+ if domain.gridlines_color_field == 'RANGE':
+ if domain.use_color_ramp and domain.coba_field != "FLAGS":
col.prop(domain, "gridlines_lower_bound")
col.prop(domain, "gridlines_upper_bound")
col.prop(domain, "gridlines_range_color")
col.prop(domain, "gridlines_cell_filter")
else:
note = layout.split()
- if (not domain.use_color_ramp):
- note.label(icon='INFO', text="Enable Color Mapping to use range highlighting!")
+ if not domain.use_color_ramp:
+ note.label(icon='INFO', text="Enable Grid Display to use range highlighting!")
else:
note.label(icon='INFO', text="Range highlighting for flags is not available!")
diff --git a/source/blender/blenkernel/BKE_fluid.h b/source/blender/blenkernel/BKE_fluid.h
index 91c5197fcc0..70ee9cb5341 100644
--- a/source/blender/blenkernel/BKE_fluid.h
+++ b/source/blender/blenkernel/BKE_fluid.h
@@ -94,7 +94,7 @@ void BKE_fluid_flow_type_set(struct Object *object, struct FluidFlowSettings *se
void BKE_fluid_effector_type_set(struct Object *object,
struct FluidEffectorSettings *settings,
int type);
-void BKE_fluid_coba_field_check(struct FluidDomainSettings *settings);
+void BKE_fluid_coba_field_sanitize(struct FluidDomainSettings *settings);
void BKE_fluid_flow_behavior_set(struct Object *object,
struct FluidFlowSettings *settings,
int behavior);
diff --git a/source/blender/blenkernel/intern/fluid.c b/source/blender/blenkernel/intern/fluid.c
index ccf4ed8acc3..f96304b80ff 100644
--- a/source/blender/blenkernel/intern/fluid.c
+++ b/source/blender/blenkernel/intern/fluid.c
@@ -4636,7 +4636,7 @@ void BKE_fluid_effector_type_set(Object *UNUSED(object), FluidEffectorSettings *
settings->type = type;
}
-void BKE_fluid_coba_field_check(FluidDomainSettings *settings)
+void BKE_fluid_coba_field_sanitize(FluidDomainSettings *settings)
{
/* Based on the domain type, the coba field is defaulted accordingly if the selected field
* is unsupported. */
@@ -4960,7 +4960,7 @@ void BKE_fluid_modifier_create_type_data(struct FluidModifierData *fmd)
/* display options */
fmd->domain->axis_slice_method = AXIS_SLICE_SINGLE;
fmd->domain->slice_axis = 0;
- fmd->domain->interp_method = VOLUME_INTERP_RAW;
+ fmd->domain->interp_method = VOLUME_INTERP_CLOSEST;
fmd->domain->draw_velocity = false;
fmd->domain->slice_per_voxel = 5.0f;
fmd->domain->slice_depth = 0.5f;
@@ -5229,10 +5229,7 @@ void BKE_fluid_modifier_copy(const struct FluidModifierData *fmd,
tfds->gridlines_color_field = fds->gridlines_color_field;
tfds->gridlines_lower_bound = fds->gridlines_lower_bound;
tfds->gridlines_upper_bound = fds->gridlines_upper_bound;
- tfds->gridlines_range_color[0] = fds->gridlines_range_color[0];
- tfds->gridlines_range_color[1] = fds->gridlines_range_color[1];
- tfds->gridlines_range_color[2] = fds->gridlines_range_color[2];
- tfds->gridlines_range_color[3] = fds->gridlines_range_color[3];
+ copy_v4_v4(tfds->gridlines_range_color, fds->gridlines_range_color);
tfds->gridlines_cell_filter = fds->gridlines_cell_filter;
/* -- Deprecated / unsed options (below)-- */
diff --git a/source/blender/draw/engines/overlay/overlay_extra.c b/source/blender/draw/engines/overlay/overlay_extra.c
index 4cf7f958426..f7619d59409 100644
--- a/source/blender/draw/engines/overlay/overlay_extra.c
+++ b/source/blender/draw/engines/overlay/overlay_extra.c
@@ -1388,8 +1388,8 @@ static void OVERLAY_volume_extra(OVERLAY_ExtraCallBuffers *cb,
/* Show gridlines only for slices without interpolation */
const bool show_gridlines = (fds->show_gridlines &&
- (fds->axis_slice_method == AXIS_SLICE_SINGLE) &&
- (fds->interp_method == VOLUME_INTERP_RAW ||
+ fds->axis_slice_method == AXIS_SLICE_SINGLE &&
+ (fds->interp_method == VOLUME_INTERP_CLOSEST ||
fds->coba_field == FLUID_DOMAIN_FIELD_FLAGS));
const bool color_with_flags = (fds->gridlines_color_field == FLUID_GRIDLINE_COLOR_TYPE_FLAGS);
diff --git a/source/blender/draw/engines/overlay/shaders/volume_gridlines_vert.glsl b/source/blender/draw/engines/overlay/shaders/volume_gridlines_vert.glsl
index 163c273daaa..f714646fe40 100644
--- a/source/blender/draw/engines/overlay/shaders/volume_gridlines_vert.glsl
+++ b/source/blender/draw/engines/overlay/shaders/volume_gridlines_vert.glsl
@@ -24,6 +24,8 @@ uniform int cellFilter;
flat out vec4 finalColor;
+/* Corners for cell outlines. 0.45 is arbitrary. Any value below 0.5 can be used to avoid
+ * overlapping of the outlines. */
const vec3 corners[4] = vec3[4](vec3(-0.45, 0.45, 0.0),
vec3(0.45, 0.45, 0.0),
vec3(0.45, -0.45, 0.0),
@@ -97,7 +99,7 @@ void main()
uint flag = texelFetch(flagTexture, cell_co + ivec3(cell_offset), 0).r;
#endif
-#ifdef SHOW_FLAGS
+#ifdef SHOW_FLAGS
finalColor = flag_to_color(flag);
#endif
diff --git a/source/blender/draw/engines/workbench/shaders/workbench_volume_frag.glsl b/source/blender/draw/engines/workbench/shaders/workbench_volume_frag.glsl
index e6a4e1d885b..a06099e3aa5 100644
--- a/source/blender/draw/engines/workbench/shaders/workbench_volume_frag.glsl
+++ b/source/blender/draw/engines/workbench/shaders/workbench_volume_frag.glsl
@@ -101,19 +101,45 @@ vec4 sample_tricubic(sampler3D ima, vec3 co)
return color;
}
-vec4 sample_raw(sampler3D ima, vec3 co)
+vec4 sample
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list