diff options
Diffstat (limited to 'release/scripts/startup/bl_ui/properties_render.py')
-rw-r--r-- | release/scripts/startup/bl_ui/properties_render.py | 276 |
1 files changed, 215 insertions, 61 deletions
diff --git a/release/scripts/startup/bl_ui/properties_render.py b/release/scripts/startup/bl_ui/properties_render.py index bd599bc0cb4..6957f9b7f15 100644 --- a/release/scripts/startup/bl_ui/properties_render.py +++ b/release/scripts/startup/bl_ui/properties_render.py @@ -79,7 +79,7 @@ class RENDER_PT_render(RenderButtonsPanel, Panel): class RENDER_PT_dimensions(RenderButtonsPanel, Panel): bl_label = "Dimensions" - COMPAT_ENGINES = {'BLENDER_RENDER'} + COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'} _frame_rate_args_prev = None _preset_class = None @@ -275,6 +275,7 @@ class RENDER_PT_performance(RenderButtonsPanel, Panel): col.separator() col.prop(rd, "preview_start_resolution") + col.prop(rd, "preview_pixel_size", text="") col = split.column() col.label(text="Memory:") @@ -286,7 +287,7 @@ class RENDER_PT_performance(RenderButtonsPanel, Panel): sub.prop(rd, "use_free_image_textures") sub = col.column() sub.active = rd.use_raytrace - sub.label(text="Acceleration structure:") + sub.label(text="Acceleration Structure:") sub.prop(rd, "raytrace_method", text="") if rd.raytrace_method == 'OCTREE': sub.prop(rd, "octree_resolution", text="Resolution") @@ -335,7 +336,7 @@ class RENDER_PT_post_processing(RenderButtonsPanel, Panel): class RENDER_PT_stamp(RenderButtonsPanel, Panel): bl_label = "Metadata" bl_options = {'DEFAULT_CLOSED'} - COMPAT_ENGINES = {'BLENDER_RENDER'} + COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'} def draw(self, context): layout = self.layout @@ -347,7 +348,7 @@ class RENDER_PT_stamp(RenderButtonsPanel, Panel): col.active = rd.use_stamp row = col.row() row.prop(rd, "stamp_font_size", text="Font Size") - row.prop(rd, "use_stamp_labels", text="Draw labels") + row.prop(rd, "use_stamp_labels", text="Draw Labels") row = col.row() row.column().prop(rd, "stamp_foreground", slider=True) @@ -383,7 +384,7 @@ class RENDER_PT_stamp(RenderButtonsPanel, Panel): class RENDER_PT_output(RenderButtonsPanel, Panel): bl_label = "Output" - COMPAT_ENGINES = {'BLENDER_RENDER'} + COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'} def draw(self, context): layout = self.layout @@ -409,37 +410,6 @@ class RENDER_PT_output(RenderButtonsPanel, Panel): if rd.use_multiview: layout.template_image_views(image_settings) - if file_format == 'QUICKTIME': - quicktime = rd.quicktime - - split = layout.split() - col = split.column() - col.prop(quicktime, "codec_type", text="Video Codec") - col.prop(quicktime, "codec_spatial_quality", text="Quality") - - # Audio - col.prop(quicktime, "audiocodec_type", text="Audio Codec") - if quicktime.audiocodec_type != 'No audio': - split = layout.split() - if quicktime.audiocodec_type == 'LPCM': - split.prop(quicktime, "audio_bitdepth", text="") - - split.prop(quicktime, "audio_samplerate", text="") - - split = layout.split() - col = split.column() - if quicktime.audiocodec_type == 'AAC': - col.prop(quicktime, "audio_bitrate") - - subsplit = split.split() - col = subsplit.column() - - if quicktime.audiocodec_type == 'AAC': - col.prop(quicktime, "audio_codec_isvbr") - - col = subsplit.column() - col.prop(quicktime, "audio_resampling_hq") - class RENDER_PT_encoding(RenderButtonsPanel, Panel): bl_label = "Encoding" @@ -482,9 +452,9 @@ class RENDER_PT_encoding(RenderButtonsPanel, Panel): layout.prop(ffmpeg, "gopsize") # B-Frames row = layout.row() - row.prop(ffmpeg, "use_max_b_frames", text='Max B-frames') + row.prop(ffmpeg, "use_max_b_frames", text="Max B-frames") pbox = row.split() - pbox.prop(ffmpeg, "max_b_frames", text='') + pbox.prop(ffmpeg, "max_b_frames", text="") pbox.enabled = ffmpeg.use_max_b_frames split = layout.split() @@ -616,8 +586,10 @@ class RENDER_PT_clay_collection_settings(RenderButtonsPanel, Panel): col.prop(props, "ssao_attenuation") col.prop(props, "hair_brightness_randomness") -class RENDER_PT_eevee_poststack_settings(RenderButtonsPanel, Panel): - bl_label = "Post Process Stack" + +class RENDER_PT_eevee_ambient_occlusion(RenderButtonsPanel, Panel): + bl_label = "Ambient Occlusion" + bl_options = {'DEFAULT_CLOSED'} COMPAT_ENGINES = {'BLENDER_EEVEE'} @classmethod @@ -625,20 +597,30 @@ class RENDER_PT_eevee_poststack_settings(RenderButtonsPanel, Panel): scene = context.scene return scene and (scene.render.engine in cls.COMPAT_ENGINES) + def draw_header(self, context): + scene = context.scene + props = scene.layer_properties['BLENDER_EEVEE'] + self.layout.prop(props, "gtao_enable", text="") + def draw(self, context): layout = self.layout scene = context.scene props = scene.layer_properties['BLENDER_EEVEE'] + layout.active = props.gtao_enable col = layout.column() - col.prop(props, "gtao_enable") - col.prop(props, "motion_blur_enable") - col.prop(props, "dof_enable") - col.prop(props, "bloom_enable") + col.prop(props, "gtao_use_bent_normals") + col.prop(props, "gtao_denoise") + col.prop(props, "gtao_bounce") + col.prop(props, "gtao_samples") + col.prop(props, "gtao_distance") + col.prop(props, "gtao_factor") + col.prop(props, "gtao_quality") -class RENDER_PT_eevee_postprocess_settings(RenderButtonsPanel, Panel): - bl_label = "Post Process Settings" +class RENDER_PT_eevee_motion_blur(RenderButtonsPanel, Panel): + bl_label = "Motion Blur" + bl_options = {'DEFAULT_CLOSED'} COMPAT_ENGINES = {'BLENDER_EEVEE'} @classmethod @@ -646,35 +628,200 @@ class RENDER_PT_eevee_postprocess_settings(RenderButtonsPanel, Panel): scene = context.scene return scene and (scene.render.engine in cls.COMPAT_ENGINES) + def draw_header(self, context): + scene = context.scene + props = scene.layer_properties['BLENDER_EEVEE'] + self.layout.prop(props, "motion_blur_enable", text="") + def draw(self, context): layout = self.layout scene = context.scene props = scene.layer_properties['BLENDER_EEVEE'] + layout.active = props.motion_blur_enable col = layout.column() - - col.label("Ambient Occlusion:") - col.prop(props, "gtao_use_bent_normals") - col.prop(props, "gtao_samples") - col.prop(props, "gtao_distance") - col.prop(props, "gtao_factor") - col.separator() - - col.label("Motion Blur:") col.prop(props, "motion_blur_samples") col.prop(props, "motion_blur_shutter") - col.separator() - col.label("Depth of Field:") + +class RENDER_PT_eevee_depth_of_field(RenderButtonsPanel, Panel): + bl_label = "Depth of Field" + bl_options = {'DEFAULT_CLOSED'} + COMPAT_ENGINES = {'BLENDER_EEVEE'} + + @classmethod + def poll(cls, context): + scene = context.scene + return scene and (scene.render.engine in cls.COMPAT_ENGINES) + + def draw_header(self, context): + scene = context.scene + props = scene.layer_properties['BLENDER_EEVEE'] + self.layout.prop(props, "dof_enable", text="") + + def draw(self, context): + layout = self.layout + scene = context.scene + props = scene.layer_properties['BLENDER_EEVEE'] + + layout.active = props.dof_enable + col = layout.column() col.prop(props, "bokeh_max_size") col.prop(props, "bokeh_threshold") - col.separator() - col.label("Bloom:") + +class RENDER_PT_eevee_bloom(RenderButtonsPanel, Panel): + bl_label = "Bloom" + bl_options = {'DEFAULT_CLOSED'} + COMPAT_ENGINES = {'BLENDER_EEVEE'} + + @classmethod + def poll(cls, context): + scene = context.scene + return scene and (scene.render.engine in cls.COMPAT_ENGINES) + + def draw_header(self, context): + scene = context.scene + props = scene.layer_properties['BLENDER_EEVEE'] + self.layout.prop(props, "bloom_enable", text="") + + def draw(self, context): + layout = self.layout + scene = context.scene + props = scene.layer_properties['BLENDER_EEVEE'] + + layout.active = props.bloom_enable + col = layout.column() col.prop(props, "bloom_threshold") col.prop(props, "bloom_knee") col.prop(props, "bloom_radius") + col.prop(props, "bloom_color") col.prop(props, "bloom_intensity") + col.prop(props, "bloom_clamp") + + +class RENDER_PT_eevee_volumetric(RenderButtonsPanel, Panel): + bl_label = "Volumetric" + bl_options = {'DEFAULT_CLOSED'} + COMPAT_ENGINES = {'BLENDER_EEVEE'} + + @classmethod + def poll(cls, context): + scene = context.scene + return scene and (scene.render.engine in cls.COMPAT_ENGINES) + + def draw_header(self, context): + scene = context.scene + props = scene.layer_properties['BLENDER_EEVEE'] + self.layout.prop(props, "volumetric_enable", text="") + + def draw(self, context): + layout = self.layout + scene = context.scene + props = scene.layer_properties['BLENDER_EEVEE'] + + layout.active = props.volumetric_enable + col = layout.column() + col.prop(props, "volumetric_start") + col.prop(props, "volumetric_end") + col.prop(props, "volumetric_samples") + col.prop(props, "volumetric_sample_distribution") + col.prop(props, "volumetric_lights") + col.prop(props, "volumetric_light_clamp") + col.prop(props, "volumetric_shadows") + col.prop(props, "volumetric_shadow_samples") + col.prop(props, "volumetric_colored_transmittance") + + +class RENDER_PT_eevee_screen_space_reflections(RenderButtonsPanel, Panel): + bl_label = "Screen Space Reflections" + bl_options = {'DEFAULT_CLOSED'} + COMPAT_ENGINES = {'BLENDER_EEVEE'} + + @classmethod + def poll(cls, context): + scene = context.scene + return scene and (scene.render.engine in cls.COMPAT_ENGINES) + + def draw_header(self, context): + scene = context.scene + props = scene.layer_properties['BLENDER_EEVEE'] + self.layout.prop(props, "ssr_enable", text="") + + def draw(self, context): + layout = self.layout + scene = context.scene + props = scene.layer_properties['BLENDER_EEVEE'] + + col = layout.column() + col.active = props.ssr_enable + col.prop(props, "ssr_refraction") + col.prop(props, "ssr_halfres") + col.prop(props, "ssr_ray_count") + col.prop(props, "ssr_quality") + col.prop(props, "ssr_max_roughness") + col.prop(props, "ssr_thickness") + col.prop(props, "ssr_border_fade") + col.prop(props, "ssr_firefly_fac") + + +class RENDER_PT_eevee_shadows(RenderButtonsPanel, Panel): + bl_label = "Shadows" + bl_options = {'DEFAULT_CLOSED'} + COMPAT_ENGINES = {'BLENDER_EEVEE'} + + @classmethod + def poll(cls, context): + scene = context.scene + return scene and (scene.render.engine in cls.COMPAT_ENGINES) + + def draw(self, context): + layout = self.layout + scene = context.scene + props = scene.layer_properties['BLENDER_EEVEE'] + + col = layout.column() + col.prop(props, "shadow_method") + col.prop(props, "shadow_size") + col.prop(props, "shadow_high_bitdepth") + + +class RENDER_PT_eevee_sampling(RenderButtonsPanel, Panel): + bl_label = "Sampling" + bl_options = {'DEFAULT_CLOSED'} + COMPAT_ENGINES = {'BLENDER_EEVEE'} + + @classmethod + def poll(cls, context): + scene = context.scene + return scene and (scene.render.engine in cls.COMPAT_ENGINES) + + def draw(self, context): + layout = self.layout + scene = context.scene + props = scene.layer_properties['BLENDER_EEVEE'] + + col = layout.column() + col.prop(props, "taa_samples") + + +class RENDER_PT_eevee_indirect_lighting(RenderButtonsPanel, Panel): + bl_label = "Indirect Lighting" + bl_options = {'DEFAULT_CLOSED'} + COMPAT_ENGINES = {'BLENDER_EEVEE'} + + @classmethod + def poll(cls, context): + scene = context.scene + return scene and (scene.render.engine in cls.COMPAT_ENGINES) + + def draw(self, context): + layout = self.layout + scene = context.scene + props = scene.layer_properties['BLENDER_EEVEE'] + + col = layout.column() + col.prop(props, "gi_diffuse_bounces") classes = ( @@ -694,8 +841,15 @@ classes = ( RENDER_PT_bake, RENDER_PT_clay_layer_settings, RENDER_PT_clay_collection_settings, - RENDER_PT_eevee_poststack_settings, - RENDER_PT_eevee_postprocess_settings, + RENDER_PT_eevee_sampling, + RENDER_PT_eevee_shadows, + RENDER_PT_eevee_indirect_lighting, + RENDER_PT_eevee_screen_space_reflections, + RENDER_PT_eevee_ambient_occlusion, + RENDER_PT_eevee_volumetric, + RENDER_PT_eevee_motion_blur, + RENDER_PT_eevee_depth_of_field, + RENDER_PT_eevee_bloom, ) if __name__ == "__main__": # only for live edit. |