[Bf-blender-cvs] [5158896d7db] master: Fix T65486: Cycles f-stop value from old files not preserved
Brecht Van Lommel
noreply at git.blender.org
Tue Jun 4 18:26:34 CEST 2019
Commit: 5158896d7db6b9b9b9bb789073f835648d881a7f
Author: Brecht Van Lommel
Date: Tue Jun 4 17:14:09 2019 +0200
Branches: master
https://developer.blender.org/rB5158896d7db6b9b9b9bb789073f835648d881a7f
Fix T65486: Cycles f-stop value from old files not preserved
===================================================================
M source/blender/blenloader/intern/versioning_cycles.c
===================================================================
diff --git a/source/blender/blenloader/intern/versioning_cycles.c b/source/blender/blenloader/intern/versioning_cycles.c
index 9bfbf4477ab..1740faca265 100644
--- a/source/blender/blenloader/intern/versioning_cycles.c
+++ b/source/blender/blenloader/intern/versioning_cycles.c
@@ -80,14 +80,6 @@ static bool cycles_property_boolean(IDProperty *idprop, const char *name, bool d
return (prop) ? IDP_Int(prop) : default_value;
}
-static const char *cycles_property_string(IDProperty *idprop,
- const char *name,
- const char *default_value)
-{
- IDProperty *prop = IDP_GetPropertyTypeFromGroup(idprop, name, IDP_STRING);
- return (prop) ? IDP_String(prop) : default_value;
-}
-
static void displacement_node_insert(bNodeTree *ntree)
{
bool need_update = false;
@@ -500,7 +492,7 @@ void do_versions_after_linking_cycles(Main *bmain)
for (Camera *camera = bmain->cameras.first; camera; camera = camera->id.next) {
IDProperty *ccamera = cycles_properties_from_ID(&camera->id);
if (ccamera) {
- const char *aperture_type = cycles_property_string(ccamera, "aperture_type", "RADIUS");
+ const bool is_fstop = cycles_property_int(ccamera, "aperture_type", 0) == 1;
camera->dof.aperture_fstop = cycles_property_float(ccamera, "aperture_fstop", 5.6f);
camera->dof.aperture_blades = cycles_property_int(ccamera, "aperture_blades", 0);
@@ -510,7 +502,10 @@ void do_versions_after_linking_cycles(Main *bmain)
float aperture_size = cycles_property_float(ccamera, "aperture_size", 0.0f);
- if (STREQ(aperture_type, "RADIUS") && aperture_size > 0.0f) {
+ if (is_fstop) {
+ continue;
+ }
+ else if (aperture_size > 0.0f) {
if (camera->type == CAM_ORTHO) {
camera->dof.aperture_fstop = 1.0f / (2.0f * aperture_size);
}
More information about the Bf-blender-cvs
mailing list