diff options
-rw-r--r-- | intern/cycles/blender/addon/properties.py | 12 | ||||
-rw-r--r-- | intern/cycles/blender/addon/ui.py | 4 | ||||
-rw-r--r-- | intern/cycles/blender/addon/version_update.py | 11 | ||||
-rw-r--r-- | intern/cycles/blender/blender_sync.cpp | 2 | ||||
-rw-r--r-- | source/blender/blenkernel/BKE_blender.h | 2 |
5 files changed, 26 insertions, 5 deletions
diff --git a/intern/cycles/blender/addon/properties.py b/intern/cycles/blender/addon/properties.py index 81dafb82d51..5238a35f47c 100644 --- a/intern/cycles/blender/addon/properties.py +++ b/intern/cycles/blender/addon/properties.py @@ -376,12 +376,24 @@ class CyclesRenderSettings(bpy.types.PropertyGroup): default=False, ) + # Really annoyingly, we have to keep it around for a few releases, + # otherwise forward compatibility breaks in really bad manner: CRASH! + # + # TODO(sergey): Remove this during 2.8x series of Blender. cls.filter_type = EnumProperty( name="Filter Type", description="Pixel filter type", items=enum_filter_types, default='BLACKMAN_HARRIS', ) + + cls.pixel_filter_type = EnumProperty( + name="Filter Type", + description="Pixel filter type", + items=enum_filter_types, + default='BLACKMAN_HARRIS', + ) + cls.filter_width = FloatProperty( name="Filter Width", description="Pixel filter width", diff --git a/intern/cycles/blender/addon/ui.py b/intern/cycles/blender/addon/ui.py index 610833be27e..755feeda9fb 100644 --- a/intern/cycles/blender/addon/ui.py +++ b/intern/cycles/blender/addon/ui.py @@ -329,8 +329,8 @@ class CyclesRender_PT_film(CyclesButtonsPanel, Panel): col = split.column() sub = col.column(align=True) - sub.prop(cscene, "filter_type", text="") - if cscene.filter_type != 'BOX': + sub.prop(cscene, "pixel_filter_type", text="") + if cscene.pixel_filter_type != 'BOX': sub.prop(cscene, "filter_width", text="Width") diff --git a/intern/cycles/blender/addon/version_update.py b/intern/cycles/blender/addon/version_update.py index 0d34eb295df..221b1437128 100644 --- a/intern/cycles/blender/addon/version_update.py +++ b/intern/cycles/blender/addon/version_update.py @@ -235,7 +235,7 @@ def do_versions(self): # Filter if not cscene.is_property_set("filter_type"): - cscene.filter_type = 'GAUSSIAN' + cscene.pixel_filter_type = 'GAUSSIAN' # Tile Order if not cscene.is_property_set("tile_order"): @@ -270,3 +270,12 @@ def do_versions(self): # World MIS Resolution if not cworld.is_property_set("sample_map_resolution"): cworld.sample_map_resolution = 256 + + if bpy.data.version <= (2, 76, 10): + for scene in bpy.data.scenes: + cscene = scene.cycles + if cscene.is_property_set("filter_type"): + if not cscene.is_property_set("pixel_filter_type"): + cscene.pixel_filter_type = cscene.filter_type + if cscene.filter_type == 'BLACKMAN_HARRIS': + cscene.filter_type = 'GAUSSIAN' diff --git a/intern/cycles/blender/blender_sync.cpp b/intern/cycles/blender/blender_sync.cpp index bdf207f0d36..7901d4b8be1 100644 --- a/intern/cycles/blender/blender_sync.cpp +++ b/intern/cycles/blender/blender_sync.cpp @@ -287,7 +287,7 @@ void BlenderSync::sync_film() film->use_sample_clamp = (integrator->sample_clamp_direct != 0.0f || integrator->sample_clamp_indirect != 0.0f); film->exposure = get_float(cscene, "film_exposure"); - film->filter_type = (FilterType)get_enum(cscene, "filter_type"); + film->filter_type = (FilterType)get_enum(cscene, "pixel_filter_type"); film->filter_width = (film->filter_type == FILTER_BOX)? 1.0f: get_float(cscene, "filter_width"); if(b_scene.world()) { diff --git a/source/blender/blenkernel/BKE_blender.h b/source/blender/blenkernel/BKE_blender.h index 8d8589cd9ed..e7060e64d2a 100644 --- a/source/blender/blenkernel/BKE_blender.h +++ b/source/blender/blenkernel/BKE_blender.h @@ -42,7 +42,7 @@ extern "C" { * and keep comment above the defines. * Use STRINGIFY() rather than defining with quotes */ #define BLENDER_VERSION 276 -#define BLENDER_SUBVERSION 10 +#define BLENDER_SUBVERSION 11 /* Several breakages with 270, e.g. constraint deg vs rad */ #define BLENDER_MINVERSION 270 #define BLENDER_MINSUBVERSION 6 |