Skip to content
Snippets Groups Projects
properties_render.py 41.1 KiB
Newer Older
  • Learn to ignore specific revisions
  • Thomas Dinges's avatar
    Thomas Dinges committed
            col = split.column()
    
            col.prop(rd, "use_stamp_camera", text="Camera")
            col.prop(rd, "use_stamp_lens", text="Lens")
            col.prop(rd, "use_stamp_filename", text="Filename")
            col.prop(rd, "use_stamp_marker", text="Marker")
            col.prop(rd, "use_stamp_sequencer_strip", text="Seq. Strip")
    
            row.prop(rd, "use_stamp_note", text="Note")
    
            sub = row.row()
            sub.active = rd.use_stamp_note
            sub.prop(rd, "stamp_note_text", text="")
    
    
    class RENDER_PT_output(RenderButtonsPanel, Panel):
    
        COMPAT_ENGINES = {'BLENDER_RENDER'}
    
    
        def draw(self, context):
            layout = self.layout
    
    
            rd = context.scene.render
    
    Campbell Barton's avatar
    Campbell Barton committed
            file_format = image_settings.file_format
    
            layout.prop(rd, "filepath", text="")
    
            flow = layout.column_flow()
            flow.prop(rd, "use_overwrite")
            flow.prop(rd, "use_placeholder")
            flow.prop(rd, "use_file_extension")
    
    Campbell Barton's avatar
    Campbell Barton committed
            layout.template_image_settings(image_settings)
    
    Thomas Dinges's avatar
    Thomas Dinges committed
                layout.operator("scene.render_data_set_quicktime_codec")
    
            elif file_format == 'QUICKTIME_QTKIT':
    
                col.prop(quicktime, "codec_type", text="Video Codec")
                col.prop(quicktime, "codec_spatial_quality", text="Quality")
    
                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()
    
    
    Campbell Barton's avatar
    Campbell Barton committed
                    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):
    
        COMPAT_ENGINES = {'BLENDER_RENDER'}
    
            rd = context.scene.render
    
            return rd.image_settings.file_format in {'FFMPEG', 'XVID', 'H264', 'THEORA'}
    
    
        def draw(self, context):
            layout = self.layout
    
    
            rd = context.scene.render
    
            layout.menu("RENDER_MT_ffmpeg_presets", text="Presets")
    
            split.prop(rd.ffmpeg, "format")
            if ffmpeg.format in {'AVI', 'QUICKTIME', 'MKV', 'OGG'}:
                split.prop(ffmpeg, "codec")
            elif rd.ffmpeg.format == 'H264':
    
    Campbell Barton's avatar
    Campbell Barton committed
                split.prop(ffmpeg, "use_lossless_output")
    
                split.label()
    
    Thomas Dinges's avatar
    Thomas Dinges committed
            row = layout.row()
    
            row.prop(ffmpeg, "video_bitrate")
            row.prop(ffmpeg, "gopsize")
    
            split = layout.split()
    
            col.prop(ffmpeg, "minrate", text="Minimum")
            col.prop(ffmpeg, "maxrate", text="Maximum")
            col.prop(ffmpeg, "buffersize", text="Buffer")
    
            col = split.column()
    
            col.prop(ffmpeg, "muxrate", text="Rate")
            col.prop(ffmpeg, "packetsize", text="Packet Size")
    
    Thomas Dinges's avatar
    Thomas Dinges committed
            layout.separator()
    
    Joerg Mueller's avatar
    Joerg Mueller committed
    
    
                layout.prop(ffmpeg, "audio_codec", text="Audio Codec")
    
    Thomas Dinges's avatar
    Thomas Dinges committed
            row = layout.row()
    
            row.prop(ffmpeg, "audio_bitrate")
            row.prop(ffmpeg, "audio_volume", slider=True)
    
    class RENDER_PT_bake(RenderButtonsPanel, Panel):
    
        COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
    
    
        def draw(self, context):
            layout = self.layout
    
    
            rd = context.scene.render
    
            layout.operator("object.bake_image", icon='RENDER_STILL')
    
    Campbell Barton's avatar
    Campbell Barton committed
    
    
            layout.prop(rd, "bake_type")
    
    Campbell Barton's avatar
    Campbell Barton committed
    
    
            multires_bake = False
            if rd.bake_type in ['NORMALS', 'DISPLACEMENT']:
    
    Campbell Barton's avatar
    Campbell Barton committed
                layout.prop(rd, "use_bake_multires")
    
                multires_bake = rd.use_bake_multires
    
    Campbell Barton's avatar
    Campbell Barton committed
    
    
            if not multires_bake:
                if rd.bake_type == 'NORMALS':
                    layout.prop(rd, "bake_normal_space")
                elif rd.bake_type in {'DISPLACEMENT', 'AO'}:
                    layout.prop(rd, "use_bake_normalize")
    
    Campbell Barton's avatar
    Campbell Barton committed
    
    
                # col.prop(rd, "bake_aa_mode")
                # col.prop(rd, "use_bake_antialiasing")
    
    Campbell Barton's avatar
    Campbell Barton committed
    
    
                layout.separator()
    
    Campbell Barton's avatar
    Campbell Barton committed
    
    
                split = layout.split()
    
                col = split.column()
                col.prop(rd, "use_bake_clear")
                col.prop(rd, "bake_margin")
    
                col.prop(rd, "bake_quad_split", text="Split")
    
    Campbell Barton's avatar
    Campbell Barton committed
    
    
                col = split.column()
                col.prop(rd, "use_bake_selected_to_active")
                sub = col.column()
                sub.active = rd.use_bake_selected_to_active
                sub.prop(rd, "bake_distance")
                sub.prop(rd, "bake_bias")
            else:
                if rd.bake_type == 'DISPLACEMENT':
                    layout.prop(rd, "use_bake_lores_mesh")
    
                layout.prop(rd, "use_bake_clear")
                layout.prop(rd, "bake_margin")
    
    
    
    if __name__ == "__main__":  # only for live edit.
        bpy.utils.register_module(__name__)