[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