[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