diff options
Diffstat (limited to 'render_povray/update_files.py')
-rwxr-xr-x[-rw-r--r--] | render_povray/update_files.py | 196 |
1 files changed, 88 insertions, 108 deletions
diff --git a/render_povray/update_files.py b/render_povray/update_files.py index 416e40d3..985f8468 100644..100755 --- a/render_povray/update_files.py +++ b/render_povray/update_files.py @@ -33,8 +33,22 @@ from bpy.props import ( EnumProperty, ) +# Todo: +# *update this file to just cover 2.79 to 3.xx and ui it from a Blender internal to pov menu +# *as well as update from older pov > switch to QMC when pov 3.8 is out ? +# *filter if possible files built in pre 2.79 versions. tell user their file is too old and may +# be salvaged from older vesion of this operator from within latest stable blender 2.79 version. +# else if bpy.app.version[0] == 2 and bpy.app.version[1] <= 92 and and bpy.app.version[1] >= 79: +# warn users to update blender to 3.xx for creating their newer files then try to salvage +# using this script +# +# if bpy.app.version[0] >= 3: # just test file created a)there or b)before, a) do nothing +# "your version is relatively futureproof" > doing nothing +# b)"use this operator to salvage your blends from latest stable 2.79" + def update2_0_0_9(): + """Update properties from older Blender versions. The render API changed a lot up to 2.79.""" # Temporally register old props, so we can access their values. register() @@ -109,26 +123,16 @@ def update2_0_0_9(): "pov_refraction_type", "pov_replacement_text", ]: - old_mat_props[k] = getattr(bpy.types.Material, k)[1].get( - 'default', None - ) + old_mat_props[k] = getattr(bpy.types.Material, k)[1].get('default', None) # Get default values of pov texture props. old_tex_props = {} - for k in [ - "pov_tex_gamma_enable", - "pov_tex_gamma_value", - "pov_replacement_text", - ]: + for k in ["pov_tex_gamma_enable", "pov_tex_gamma_value", "pov_replacement_text"]: old_tex_props[k] = getattr(bpy.types.Texture, k)[1].get('default', None) # Get default values of pov object props. old_obj_props = {} - for k in [ - "pov_importance_value", - "pov_collect_photons", - "pov_replacement_text", - ]: + for k in ["pov_importance_value", "pov_collect_photons", "pov_replacement_text"]: old_obj_props[k] = getattr(bpy.types.Object, k)[1].get('default', None) # Get default values of pov camera props. @@ -189,7 +193,7 @@ def update2_0_0_9(): class RenderCopySettings(bpy.types.Operator): - """Update old POV properties to new ones""" + """Update old POV properties to new ones.""" bl_idname = "scene.pov_update_properties" bl_label = "PovRay render: Update to script v0.0.9" @@ -253,19 +257,13 @@ def register(): # Not a real pov option, just to know if we should write Scene.pov_radio_enable = BoolProperty( - name="Enable Radiosity", - description="Enable POV-Rays radiosity calculation", - default=False, + name="Enable Radiosity", description="Enable POV-Rays radiosity calculation", default=False ) Scene.pov_radio_display_advanced = BoolProperty( - name="Advanced Options", - description="Show advanced options", - default=False, + name="Advanced Options", description="Show advanced options", default=False ) Scene.pov_media_enable = BoolProperty( - name="Enable Media", - description="Enable POV-Rays atmospheric media", - default=False, + name="Enable Media", description="Enable POV-Rays atmospheric media", default=False ) Scene.pov_media_samples = IntProperty( name="Samples", @@ -288,9 +286,7 @@ def register(): ) Scene.pov_baking_enable = BoolProperty( - name="Enable Baking", - description="Enable POV-Rays texture baking", - default=False, + name="Enable Baking", description="Enable POV-Rays texture baking", default=False ) Scene.pov_indentation_character = EnumProperty( name="Indentation", @@ -311,9 +307,7 @@ def register(): ) Scene.pov_comments_enable = BoolProperty( - name="Enable Comments", - description="Add comments to pov file", - default=True, + name="Enable Comments", description="Add comments to pov file", default=True ) # Real pov options @@ -339,11 +333,7 @@ def register(): ) Scene.pov_antialias_depth = IntProperty( - name="Antialias Depth", - description="Depth of pixel for sampling", - min=1, - max=9, - default=3, + name="Antialias Depth", description="Depth of pixel for sampling", min=1, max=9, default=3 ) Scene.pov_antialias_threshold = FloatProperty( @@ -504,9 +494,7 @@ def register(): # max_sample - not available yet Scene.pov_radio_media = BoolProperty( - name="Media", - description="Radiosity estimation can be affected by media", - default=False, + name="Media", description="Radiosity estimation can be affected by media", default=False ) Scene.pov_radio_minimum_reuse = FloatProperty( @@ -529,9 +517,7 @@ def register(): ) Scene.pov_radio_normal = BoolProperty( - name="Normals", - description="Radiosity estimation can be affected by normals", - default=False, + name="Normals", description="Radiosity estimation can be affected by normals", default=False ) Scene.pov_radio_recursion_limit = IntProperty( @@ -638,9 +624,7 @@ def register(): ) Mat.pov_fake_caustics = BoolProperty( - name="Fake Caustics", - description="use only (Fast) fake refractive caustics", - default=True, + name="Fake Caustics", description="use only (Fast) fake refractive caustics", default=True ) Mat.pov_fake_caustics_power = FloatProperty( @@ -654,9 +638,7 @@ def register(): ) Mat.pov_photons_refraction = BoolProperty( - name="Refractive Photon Caustics", - description="more physically correct", - default=False, + name="Refractive Photon Caustics", description="more physically correct", default=False ) Mat.pov_photons_dispersion = FloatProperty( @@ -752,9 +734,7 @@ def register(): # DOF Toggle Cam.pov_dof_enable = BoolProperty( - name="Depth Of Field", - description="Enable POV-Ray Depth Of Field ", - default=True, + name="Depth Of Field", description="Enable POV-Ray Depth Of Field ", default=True ) # Aperture (Intensity of the Blur) @@ -816,12 +796,12 @@ def unregister(): Obj = bpy.types.Object Cam = bpy.types.Camera Text = bpy.types.Text - del Scene.pov_tempfiles_enable # CR - del Scene.pov_scene_name # CR - del Scene.pov_deletefiles_enable # CR - del Scene.pov_scene_path # CR - del Scene.pov_renderimage_path # CR - del Scene.pov_list_lf_enable # CR + del Scene.pov_tempfiles_enable + del Scene.pov_scene_name + del Scene.pov_deletefiles_enable + del Scene.pov_scene_path + del Scene.pov_renderimage_path + del Scene.pov_list_lf_enable del Scene.pov_radio_enable del Scene.pov_radio_display_advanced del Scene.pov_radio_adc_bailout @@ -836,56 +816,56 @@ def unregister(): del Scene.pov_radio_nearest_count del Scene.pov_radio_normal del Scene.pov_radio_recursion_limit - del Scene.pov_radio_pretrace_start # MR - del Scene.pov_radio_pretrace_end # MR - del Scene.pov_media_enable # MR - del Scene.pov_media_samples # MR - del Scene.pov_media_color # MR - del Scene.pov_baking_enable # MR - del Scene.pov_max_trace_level # MR - del Scene.pov_photon_spacing # MR - del Scene.pov_photon_max_trace_level # MR - del Scene.pov_photon_adc_bailout # MR - del Scene.pov_photon_gather_min # MR - del Scene.pov_photon_gather_max # MR - del Scene.pov_antialias_enable # CR - del Scene.pov_antialias_method # CR - del Scene.pov_antialias_depth # CR - del Scene.pov_antialias_threshold # CR - del Scene.pov_antialias_gamma # CR - del Scene.pov_jitter_enable # CR - del Scene.pov_jitter_amount # CR - del Scene.pov_command_line_switches # CR - del Scene.pov_indentation_character # CR - del Scene.pov_indentation_spaces # CR - del Scene.pov_comments_enable # CR - del Mat.pov_irid_enable # MR - del Mat.pov_mirror_use_IOR # MR - del Mat.pov_mirror_metallic # MR - del Mat.pov_conserve_energy # MR - del Mat.pov_irid_amount # MR - del Mat.pov_irid_thickness # MR - del Mat.pov_irid_turbulence # MR - del Mat.pov_interior_fade_color # MR - del Mat.pov_caustics_enable # MR - del Mat.pov_fake_caustics # MR - del Mat.pov_fake_caustics_power # MR - del Mat.pov_photons_refraction # MR - del Mat.pov_photons_dispersion # MR - del Mat.pov_photons_reflection # MR - del Mat.pov_refraction_type # MR - del Mat.pov_replacement_text # MR - del Tex.pov_tex_gamma_enable # MR - del Tex.pov_tex_gamma_value # MR - del Tex.pov_replacement_text # MR - del Obj.pov_importance_value # MR - del Obj.pov_collect_photons # MR - del Obj.pov_replacement_text # MR - del Cam.pov_dof_enable # MR - del Cam.pov_dof_aperture # MR - del Cam.pov_dof_samples_min # MR - del Cam.pov_dof_samples_max # MR - del Cam.pov_dof_variance # MR - del Cam.pov_dof_confidence # MR - del Cam.pov_replacement_text # MR - del Text.pov_custom_code # MR + del Scene.pov_radio_pretrace_start + del Scene.pov_radio_pretrace_end + del Scene.pov_media_enable + del Scene.pov_media_samples + del Scene.pov_media_color + del Scene.pov_baking_enable + del Scene.pov_max_trace_level + del Scene.pov_photon_spacing + del Scene.pov_photon_max_trace_level + del Scene.pov_photon_adc_bailout + del Scene.pov_photon_gather_min + del Scene.pov_photon_gather_max + del Scene.pov_antialias_enable + del Scene.pov_antialias_method + del Scene.pov_antialias_depth + del Scene.pov_antialias_threshold + del Scene.pov_antialias_gamma + del Scene.pov_jitter_enable + del Scene.pov_jitter_amount + del Scene.pov_command_line_switches + del Scene.pov_indentation_character + del Scene.pov_indentation_spaces + del Scene.pov_comments_enable + del Mat.pov_irid_enable + del Mat.pov_mirror_use_IOR + del Mat.pov_mirror_metallic + del Mat.pov_conserve_energy + del Mat.pov_irid_amount + del Mat.pov_irid_thickness + del Mat.pov_irid_turbulence + del Mat.pov_interior_fade_color + del Mat.pov_caustics_enable + del Mat.pov_fake_caustics + del Mat.pov_fake_caustics_power + del Mat.pov_photons_refraction + del Mat.pov_photons_dispersion + del Mat.pov_photons_reflection + del Mat.pov_refraction_type + del Mat.pov_replacement_text + del Tex.pov_tex_gamma_enable + del Tex.pov_tex_gamma_value + del Tex.pov_replacement_text + del Obj.pov_importance_value + del Obj.pov_collect_photons + del Obj.pov_replacement_text + del Cam.pov_dof_enable + del Cam.pov_dof_aperture + del Cam.pov_dof_samples_min + del Cam.pov_dof_samples_max + del Cam.pov_dof_variance + del Cam.pov_dof_confidence + del Cam.pov_replacement_text + del Text.pov_custom_code |