[Bf-blender-cvs] [63e9709] fluid-mantaflow: Merge branch 'master' into fluid-mantaflow

Sebastián Barschkis noreply at git.blender.org
Fri Aug 12 16:22:35 CEST 2016


Commit: 63e97093d62456bc8fb67903cce94e127772e6e0
Author: Sebastián Barschkis
Date:   Fri Aug 12 14:17:04 2016 +0200
Branches: fluid-mantaflow
https://developer.blender.org/rB63e97093d62456bc8fb67903cce94e127772e6e0

Merge branch 'master' into fluid-mantaflow

===================================================================



===================================================================

diff --cc CMakeLists.txt
index 3a5159c,281aa52..d99dd04
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@@ -229,9 -229,13 +229,14 @@@ option(WITH_BULLET        "Enable Bulle
  option(WITH_SYSTEM_BULLET "Use the systems bullet library (currently unsupported due to missing features in upstream!)" )
  mark_as_advanced(WITH_SYSTEM_BULLET)
  option(WITH_GAMEENGINE    "Enable Game Engine" ${_init_GAMEENGINE})
+ if(APPLE)
+ 	set(WITH_GAMEENGINE_DECKLINK OFF)
+ else()
+ 	option(WITH_GAMEENGINE_DECKLINK "Support BlackMagicDesign DeckLink cards in the Game Engine" ON)
+ endif()
  option(WITH_PLAYER        "Build Player" OFF)
  option(WITH_OPENCOLORIO   "Enable OpenColorIO color management" ${_init_OPENCOLORIO})
 +option(WITH_MOD_MANTA     "Enable Mantaflow Framework" ON)
  
  # Compositor
  option(WITH_COMPOSITOR         "Enable the tile based nodal compositor" ON)
diff --cc intern/CMakeLists.txt
index 7aa8aab,9a54767..84e9cea
--- a/intern/CMakeLists.txt
+++ b/intern/CMakeLists.txt
@@@ -79,14 -83,12 +83,16 @@@ if(WITH_OPENSUBDIV
  endif()
  
  # only windows needs utf16 converter
+ # gpudirect is a runtime interface to the nVidia's DVP driver, only for windows
  if(WIN32)
  	add_subdirectory(utfconv)
+ 	add_subdirectory(gpudirect)
  endif()
  
 +if(WITH_MOD_MANTA)
 +	add_subdirectory(mantaflow)
 +endif()
 +
  if(WITH_OPENVDB)
  	add_subdirectory(openvdb)
  endif()
diff --cc release/scripts/startup/bl_ui/properties_physics_smoke.py
index 0c84412,99aa54a..db24492
--- a/release/scripts/startup/bl_ui/properties_physics_smoke.py
+++ b/release/scripts/startup/bl_ui/properties_physics_smoke.py
@@@ -37,11 -35,12 +37,12 @@@ class PhysicButtonsPanel
      def poll(cls, context):
          ob = context.object
          rd = context.scene.render
-         return (ob and ob.type == 'MESH') and (not rd.use_game_engine) and (context.smoke)
+         return (ob and ob.type == 'MESH') and (rd.engine in cls.COMPAT_ENGINES) and (context.smoke)
  
  
 -class PHYSICS_PT_smoke(PhysicButtonsPanel, Panel):
 -    bl_label = "Smoke"
 +class PHYSICS_PT_fluid(PhysicButtonsPanel, Panel):
 +    bl_label = "Fluid"
+     COMPAT_ENGINES = {'BLENDER_RENDER'}
  
      def draw(self, context):
          layout = self.layout
@@@ -143,9 -128,11 +144,10 @@@
              col = split.column()
              col.prop(coll, "collision_type")
  
 -
  class PHYSICS_PT_smoke_flow_advanced(PhysicButtonsPanel, Panel):
 -    bl_label = "Smoke Flow Advanced"
 +    bl_label = "Fluid Source"
      bl_options = {'DEFAULT_CLOSED'}
+     COMPAT_ENGINES = {'BLENDER_RENDER'}
  
      @classmethod
      def poll(cls, context):
@@@ -156,50 -143,57 +158,79 @@@
          layout = self.layout
          ob = context.object
          flow = context.smoke.flow_settings
 -
 +        
          split = layout.split()
 +        
          col = split.column()
 -
 -        col.prop(flow, "use_texture")
 -        sub = col.column()
 -        sub.active = flow.use_texture
 -        sub.prop(flow, "noise_texture", text="")
 -        sub.label(text="Mapping:")
 -        sub.prop(flow, "texture_map_type", expand=False, text="")
 -        if flow.texture_map_type == 'UV':
 -            sub.prop_search(flow, "uv_layer", ob.data, "uv_textures", text="")
 -        if flow.texture_map_type == 'AUTO':
 -            sub.prop(flow, "texture_size")
 -        sub.prop(flow, "texture_offset")
 +        col.label(text="Flow Source:")
 +        col.prop(flow, "smoke_flow_source", expand=False, text="")
 +        if flow.smoke_flow_source == 'MESH':
 +            col.prop(flow, "surface_distance")
 +            col.prop(flow, "volume_density")
 +
 +        sub = col.column(align=True)
 +        sub.prop(flow, "use_initial_velocity")
 +
 +        sub = sub.column()
 +        sub.active = flow.use_initial_velocity
 +        sub.prop(flow, "velocity_factor")
 +        if flow.smoke_flow_source == 'MESH':
 +            sub.prop(flow, "velocity_normal")
 +            #sub.prop(flow, "velocity_random")
  
          col = split.column()
 -        col.label(text="Vertex Group:")
 -        col.prop_search(flow, "density_vertex_group", ob, "vertex_groups", text="")
 -
 +        if flow.smoke_flow_source == 'PARTICLES':
 +            col.label(text="Particle System:")
 +            col.prop_search(flow, "particle_system", ob, "particle_systems", text="")
 +            col.prop(flow, "use_particle_size", text="Set Size")
 +            sub = col.column()
 +            sub.active = flow.use_particle_size
 +            sub.prop(flow, "particle_size")
 +        else:
 +            col.label(text="Vertex Group:")
 +            col.prop_search(flow, "density_vertex_group", ob, "vertex_groups", text="")
 +            
 +            col.prop(flow, "use_texture")
 +            sub = col.column()
 +            sub.active = flow.use_texture
 +            sub.prop(flow, "noise_texture", text="")
 +            sub.label(text="Mapping:")
 +            sub.prop(flow, "texture_map_type", expand=False, text="")
 +            if flow.texture_map_type == 'UV':
 +                sub.prop_search(flow, "uv_layer", ob.data, "uv_textures", text="")
 +            if flow.texture_map_type == 'AUTO':
 +                sub.prop(flow, "texture_size")
 +            sub.prop(flow, "texture_offset")
  
+ class PHYSICS_PT_smoke_fire(PhysicButtonsPanel, Panel):
+     bl_label = "Smoke Flames"
+     bl_options = {'DEFAULT_CLOSED'}
+     COMPAT_ENGINES = {'BLENDER_RENDER'}
+ 
+     @classmethod
+     def poll(cls, context):
+         md = context.smoke
+         return md and (md.smoke_type == 'DOMAIN')
+ 
+     def draw(self, context):
+         layout = self.layout
+         domain = context.smoke.domain_settings
+ 
+         split = layout.split()
+         split.enabled = not domain.point_cache.is_baked
+ 
+         col = split.column(align=True)
+         col.label(text="Reaction:")
+         col.prop(domain, "burning_rate")
+         col.prop(domain, "flame_smoke")
+         col.prop(domain, "flame_vorticity")
+ 
+         col = split.column(align=True)
+         col.label(text="Temperatures:")
+         col.prop(domain, "flame_ignition")
+         col.prop(domain, "flame_max_temp")
+         col.prop(domain, "flame_smoke_color")
+ 
 -
  class PHYSICS_PT_smoke_adaptive_domain(PhysicButtonsPanel, Panel):
      bl_label = "Smoke Adaptive Domain"
      bl_options = {'DEFAULT_CLOSED'}
@@@ -236,56 -229,49 +268,58 @@@
  
  
  class PHYSICS_PT_smoke_highres(PhysicButtonsPanel, Panel):
 -    bl_label = "Smoke High Resolution"
 -    bl_options = {'DEFAULT_CLOSED'}
 +    bl_label = "Fluid Quality"
+     COMPAT_ENGINES = {'BLENDER_RENDER'}
  
      @classmethod
      def poll(cls, context):
          md = context.smoke
          rd = context.scene.render
-         return md and (md.smoke_type == 'DOMAIN') and (not rd.use_game_engine)
+         return md and (md.smoke_type == 'DOMAIN') and (rd.engine in cls.COMPAT_ENGINES)
  
 -    def draw_header(self, context):
 -        md = context.smoke.domain_settings
 -
 -        self.layout.prop(md, "use_high_resolution", text="")
 -
      def draw(self, context):
          layout = self.layout
 -
 -        md = context.smoke.domain_settings
 -
 -        layout.active = md.use_high_resolution
 +        domain = context.smoke.domain_settings
  
          split = layout.split()
 -        split.enabled = not md.point_cache.is_baked
 +        split.enabled = not domain.point_cache.is_baked
  
          col = split.column()
          col.label(text="Resolution:")
 -        col.prop(md, "amplify", text="Divisions")
 -        col.label(text="Flow Sampling:")
 -        col.row().prop(md, "highres_sampling", text="")
 +        col.prop(domain, "resolution_max", text="Divisions")
 +        col.label(text="Render Display:")
 +        col.prop(domain, "render_display_mode", text="")
  
          col = split.column()
 -        col.label(text="Noise Method:")
 -        col.row().prop(md, "noise_type", text="")
 -        col.prop(md, "strength")
 +        col.label()
 +        col.label()
 +        col.label(text="Viewport Display:")
 +        col.prop(domain, "viewport_display_mode", text="")
  
 -        layout.prop(md, "show_high_resolution")
 +        split = layout.split()
  
 +        if domain.smoke_domain_type == 'GAS':
 +            col = split.column()
 +            col.prop(domain, "use_high_resolution", text="High resolution")
 +            sub = col.column()
 +            sub.active = domain.use_high_resolution
 +            sub.prop(domain, "amplify", text="Divisions")
 +            sub.label(text="Flow Sampling:")
 +            sub.row().prop(domain, "highres_sampling", text="")
 +            sub.prop(domain, "show_high_resolution")
 +
 +            sub = split.column()
 +            sub.active = domain.use_high_resolution
 +            sub.label(text="Noise Method:")
 +            sub.row().prop(domain, "noise_type", text="")
 +            sub.prop(domain, "strength")
 +            sub.prop(domain, "noise_pos_scale")
 +            sub.prop(domain, "noise_time_anim")
  
  class PHYSICS_PT_smoke_groups(PhysicButtonsPanel, Panel):
 -    bl_label = "Smoke Groups"
 +    bl_label = "Fluid Groups"
      bl_options = {'DEFAULT_CLOSED'}
+     COMPAT_ENGINES = {'BLENDER_RENDER'}
  
      @classmethod
      def poll(cls, context):
@@@ -312,8 -298,9 +346,9 @@@
  
  
  class PHYSICS_PT_smoke_cache(PhysicButtonsPanel, Panel):
 -    bl_label = "Smoke Cache"
 +    bl_label = "Fluid Cache"
      bl_options = {'DEFAULT_CLOSED'}
+     COMPAT_ENGINES = {'BLENDER_RENDER'}
  
      @classmethod
      def poll(cls, context):
@@@ -351,8 -335,9 +386,9 @@@
  
  
  class PHYSICS_PT_smoke_field_weights(PhysicButtonsPanel, Panel):
 -    bl_label = "Smoke Field Weights"
 +    bl_label = "Fluid Field Weights"
      bl_options = {'DEFAULT_CLOSED'}
+     COMPAT_ENGINES = {'BLENDER_RENDER'}
  
      @classmethod
      def poll(cls, context):
diff --cc source/blender/blenkernel/CMakeLists.txt
index 4cd0391,157c440..7a89c8b
--- a/source/blender/blenkernel/CMakeLists.txt
+++ b/source/blender/blenkernel/CMakeLists.txt
@@@ -49,10 -49,6 +49,7 @@@ set(IN
  	../../../intern/smoke/extern
  	../../../intern/atomic
  	../../../intern/libmv
 +	../../../intern/mantaflow/extern
- 
- 	# XXX - BAD LEVEL C

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list