Move capture format

This commit is contained in:
luboslenco 2017-08-23 23:37:55 +02:00
parent 231c15a3ac
commit e1208ee9a7
5 changed files with 28 additions and 25 deletions

View file

@ -68,8 +68,8 @@ def on_scene_update_post(context):
krom_location, krom_path = arm.utils.krom_paths()
fp = krom_location
resx, resy = arm.utils.get_render_resolution(arm.utils.get_active_scene())
rpdat = arm.utils.get_rp()
cformat = rpdat.rp_rendercapture_format
wrd = bpy.data.worlds['Arm']
cformat = wrd.rp_rendercapture_format
if cformat == '8bit':
cbits = 4
ctype = numpy.uint8

View file

@ -160,7 +160,6 @@ def set_preset(self, context, preset):
rpdat.rp_bloom = False
rpdat.rp_eyeadapt = False
rpdat.rp_rendercapture = True
rpdat.rp_rendercapture_format = '8bit'
rpdat.rp_motionblur = 'None'
rpdat.arm_material_model = 'Cycles'
rpdat.arm_pcss_state = 'On'
@ -520,11 +519,12 @@ def make_deferred(rpdat):
for l in fb.outputs[0].links:
if l.to_node != cc:
links.new(cn.outputs[0], l.to_socket)
if rpdat.rp_rendercapture_format == '8bit':
wrd = bpy.data.worlds['Arm']
if wrd.rp_rendercapture_format == '8bit':
cn.inputs[4].default_value = 'RGBA32'
elif rpdat.rp_rendercapture_format == '16bit':
elif wrd.rp_rendercapture_format == '16bit':
cn.inputs[4].default_value = 'RGBA64'
elif rpdat.rp_rendercapture_format == '32bit':
elif wrd.rp_rendercapture_format == '32bit':
cn.inputs[4].default_value = 'RGBA128'
def make_deferred_plus(rpdat):

View file

@ -9,6 +9,7 @@ import arm.log as log
import arm.utils
import arm.make
import arm.make_renderer as make_renderer
import arm.props_renderpath as props_renderpath
try:
import barmory
except ImportError:
@ -222,6 +223,11 @@ def init_properties():
bpy.types.World.arm_volumetric_light_air_color = bpy.props.FloatVectorProperty(name="Air Color", size=3, default=[1.0, 1.0, 1.0], subtype='COLOR', min=0, max=1, update=assets.invalidate_shader_cache)
bpy.types.World.arm_pcss_rings = bpy.props.IntProperty(name="Rings", description="", default=20, update=assets.invalidate_shader_cache)
bpy.types.World.arm_ssrs_ray_step = bpy.props.FloatProperty(name="Ray Step", default=0.01, update=assets.invalidate_shader_cache)
bpy.types.World.rp_rendercapture_format = EnumProperty(
items=[('8bit', '8bit', '8bit'),
('16bit', '16bit', '16bit'),
('32bit', '32bit', '32bit')],
name="Capture Format", description="Bits per color channel", default='8bit', update=props_renderpath.update_renderpath)
# Compositor
bpy.types.World.arm_letterbox = bpy.props.BoolProperty(name="Letterbox", default=False, update=assets.invalidate_shader_cache)
bpy.types.World.arm_letterbox_size = bpy.props.FloatProperty(name="Size", default=0.1, update=assets.invalidate_shader_cache)

View file

@ -100,11 +100,6 @@ class ArmRPListItem(bpy.types.PropertyGroup):
rp_bloom = bpy.props.BoolProperty(name="Bloom", description="Bloom processing", default=False, update=update_renderpath)
rp_eyeadapt = bpy.props.BoolProperty(name="Eye Adaptation", description="Auto-exposure based on histogram", default=False, update=update_renderpath)
rp_rendercapture = bpy.props.BoolProperty(name="Render Capture", description="Save output as render result", default=False, update=update_renderpath)
rp_rendercapture_format = EnumProperty(
items=[('8bit', '8bit', '8bit'),
('16bit', '16bit', '16bit'),
('32bit', '32bit', '32bit')],
name="Capture Format", description="Bits per color channel", default='8bit', update=update_renderpath)
rp_motionblur = EnumProperty(
items=[('None', 'None', 'None'),
('Camera', 'Camera', 'Camera'),

View file

@ -306,6 +306,7 @@ class ArmoryRenderPanel(bpy.types.Panel):
row.alignment = 'EXPAND'
row.operator("arm.render", icon="RENDER_STILL")
row.operator("arm.render_anim", icon="RENDER_ANIMATION")
layout.prop(bpy.data.worlds['Arm'], "rp_rendercapture_format")
class ArmoryExporterPanel(bpy.types.Panel):
bl_label = "Armory Exporter"
@ -864,15 +865,16 @@ class ArmRenderPathPanel(bpy.types.Panel):
layout.prop(rpdat, 'rp_voxelgi')
if not rpdat.rp_voxelgi:
layout.prop(rpdat, 'rp_voxelao')
layout.prop(rpdat, 'rp_voxelgi_resolution')
layout.prop(rpdat, 'arm_voxelgi_dimensions')
layout.prop(rpdat, 'arm_voxelgi_revoxelize')
# layout.prop(rpdat, 'arm_voxelgi_camera')
# layout.prop(rpdat, 'arm_voxelgi_multibounce')
# layout.prop(rpdat, 'arm_voxelgi_anisotropic')
layout.prop(rpdat, 'arm_voxelgi_shadows')
layout.prop(rpdat, 'arm_voxelgi_refraction')
# layout.prop(rpdat, 'rp_voxelgi_hdr')
else:
layout.prop(rpdat, 'rp_voxelgi_resolution')
layout.prop(rpdat, 'arm_voxelgi_dimensions')
layout.prop(rpdat, 'arm_voxelgi_revoxelize')
# layout.prop(rpdat, 'arm_voxelgi_camera')
# layout.prop(rpdat, 'arm_voxelgi_multibounce')
# layout.prop(rpdat, 'arm_voxelgi_anisotropic')
layout.prop(rpdat, 'arm_voxelgi_shadows')
layout.prop(rpdat, 'arm_voxelgi_refraction')
# layout.prop(rpdat, 'rp_voxelgi_hdr')
layout.separator()
layout.prop(rpdat, "rp_render_to_texture")
@ -883,20 +885,20 @@ class ArmRenderPathPanel(bpy.types.Panel):
layout.prop(rpdat, "rp_volumetriclight")
layout.prop(rpdat, "rp_ssao")
layout.prop(rpdat, "rp_ssr")
layout.prop(rpdat, 'arm_ssr_half_res')
if rpdat.rp_ssr:
layout.prop(rpdat, 'arm_ssr_half_res')
# layout.prop(wrd, 'arm_ssao_half_res')
# layout.prop(rpdat, "rp_dfao")
# layout.prop(rpdat, "rp_dfrs")
# layout.prop(rpdat, "rp_dfgi")
layout.prop(rpdat, "rp_bloom")
layout.prop(rpdat, "rp_eyeadapt")
# layout.prop(rpdat, "rp_eyeadapt")
layout.prop(rpdat, "rp_motionblur")
layout.prop(rpdat, "rp_rendercapture_format")
layout.prop(rpdat, "rp_ocean")
layout.separator()
layout.prop(rpdat, 'arm_pcss_state')
layout.prop(rpdat, 'arm_ssrs')
layout.prop(rpdat, 'arm_ssrs')
layout.prop(rpdat, 'arm_samples_per_pixel')
layout.prop(rpdat, 'arm_texture_filter')
layout.prop(rpdat, 'arm_tessellation')