Cache fixes

This commit is contained in:
Lubos Lenco 2017-11-13 15:38:58 +01:00
parent ad898da6dd
commit 3b20103238
4 changed files with 21 additions and 3 deletions

View file

@ -76,6 +76,12 @@ def invalidate_shader_cache(self, context):
shutil.rmtree(fp + '/compiled/Shaders', onerror=remove_readonly)
if os.path.isdir(fp + '/compiled/ShaderRaws'):
shutil.rmtree(fp + '/compiled/ShaderRaws', onerror=remove_readonly)
if os.path.isdir(fp + '/build/html5-resources'):
shutil.rmtree(fp + '/build/html5-resources', onerror=remove_readonly)
if os.path.isdir(fp + '/build/krom-resources'):
shutil.rmtree(fp + '/build/krom-resources', onerror=remove_readonly)
if os.path.isdir(fp + '/windowed/krom-resources'):
shutil.rmtree(fp + '/windowed/krom-resources', onerror=remove_readonly)
def invalidate_compiled_data(self, context):
global invalidate_enabled

View file

@ -31,6 +31,7 @@ def set_preset(self, context, preset):
rpdat.rp_depthprepass = False
rpdat.arm_material_model = 'Full'
rpdat.rp_shadowmap = '1024'
rpdat.rp_shadowmap_cascades = '1'
rpdat.rp_translucency_state = 'Off'
rpdat.rp_overlays_state = 'Off'
rpdat.rp_decals_state = 'Off'
@ -63,6 +64,7 @@ def set_preset(self, context, preset):
rpdat.rp_depthprepass = True
rpdat.arm_material_model = 'Full'
rpdat.rp_shadowmap = '2048'
rpdat.rp_shadowmap_cascades = '3'
rpdat.rp_translucency_state = 'Auto'
rpdat.rp_overlays_state = 'Auto'
rpdat.rp_decals_state = 'Auto'
@ -94,6 +96,7 @@ def set_preset(self, context, preset):
rpdat.rp_renderer = 'Deferred'
rpdat.arm_material_model = 'Full'
rpdat.rp_shadowmap = '2048'
rpdat.rp_shadowmap_cascades = '3'
rpdat.rp_translucency_state = 'Auto'
rpdat.rp_overlays_state = 'Auto'
rpdat.rp_decals_state = 'Auto'
@ -124,6 +127,7 @@ def set_preset(self, context, preset):
elif preset == 'Render Capture':
rpdat.rp_renderer = 'Deferred'
rpdat.rp_shadowmap = '8192'
rpdat.rp_shadowmap_cascades = '3'
rpdat.rp_translucency_state = 'Auto'
rpdat.rp_overlays_state = 'Auto'
rpdat.rp_decals_state = 'Auto'
@ -159,6 +163,7 @@ def set_preset(self, context, preset):
rpdat.rp_renderer = 'Deferred Plus'
rpdat.arm_material_model = 'Full'
rpdat.rp_shadowmap = '4096'
rpdat.rp_shadowmap_cascades = '1'
rpdat.rp_translucency_state = 'Auto'
rpdat.rp_overlays_state = 'Auto'
rpdat.rp_decals_state = 'Auto'
@ -191,6 +196,7 @@ def set_preset(self, context, preset):
rpdat.rp_depthprepass = False
rpdat.arm_material_model = 'Mobile'
rpdat.rp_shadowmap = '1024'
rpdat.rp_shadowmap_cascades = '1'
rpdat.rp_translucency_state = 'Off'
rpdat.rp_overlays_state = 'Off'
rpdat.rp_decals_state = 'Off'
@ -223,6 +229,7 @@ def set_preset(self, context, preset):
rpdat.rp_depthprepass = False
rpdat.arm_material_model = 'Mobile'
rpdat.rp_shadowmap = '1024'
rpdat.rp_shadowmap_cascades = '1'
rpdat.rp_translucency_state = 'Off'
rpdat.rp_overlays_state = 'Off'
rpdat.rp_decals_state = 'Off'
@ -284,6 +291,7 @@ def set_preset(self, context, preset):
elif preset == 'Max':
rpdat.rp_renderer = 'Deferred'
rpdat.rp_shadowmap = '8192'
rpdat.rp_shadowmap_cascades = '3'
rpdat.rp_translucency_state = 'Auto'
rpdat.rp_overlays_state = 'Auto'
rpdat.rp_decals_state = 'Auto'

View file

@ -118,7 +118,7 @@ def init_properties():
bpy.types.World.arm_stream_scene = BoolProperty(name="Stream Scene", description="Stream scene content", default=False, update=invalidate_compiler_cache)
bpy.types.World.arm_lod_gen_levels = IntProperty(name="Levels", description="Number of levels to generate", default=3, min=1)
bpy.types.World.arm_lod_gen_ratio = FloatProperty(name="Decimate Ratio", description="Decimate ratio", default=0.8)
bpy.types.World.arm_cache_shaders = BoolProperty(name="Cache Shaders", description="Do not rebuild existing shaders", default=True, update=assets.invalidate_shader_cache)
bpy.types.World.arm_cache_shaders = BoolProperty(name="Cache Shaders", description="Do not rebuild existing shaders", default=True)
bpy.types.World.arm_cache_compiler = BoolProperty(name="Cache Compiler", description="Only recompile sources when required", default=True)
bpy.types.World.arm_gpu_processing = BoolProperty(name="GPU Processing", description="Utilize GPU for asset pre-processing at build time", default=True, update=assets.invalidate_compiled_data)
bpy.types.World.arm_play_live_patch = BoolProperty(name="Live Patch", description="Sync running player data to Blender", default=True)
@ -129,7 +129,7 @@ def init_properties():
('Viewport Shared', 'Viewport Shared', 'Viewport Shared')
],
name="Camera", description="Viewport camera", default='Scene')
bpy.types.World.arm_play_console = BoolProperty(name="Debug Console", description="Show inspector in player and enable debug draw", default=False)
bpy.types.World.arm_play_console = BoolProperty(name="Debug Console", description="Show inspector in player and enable debug draw", default=False, update=assets.invalidate_shader_cache)
bpy.types.World.arm_play_runtime = EnumProperty(
items=[('Browser', 'Browser', 'Browser'),
('Native', 'C++', 'Native'),

View file

@ -12,6 +12,10 @@ def update_renderpath(self, context):
return
make_renderer.set_renderpath(self, context)
def udpate_shadowmap_cascades(self, context):
bpy.data.worlds['Arm'].arm_recompile = True
update_renderpath(self, context)
def update_material_model(self, context):
assets.invalidate_shader_cache(self, context)
update_renderpath(self, context)
@ -88,7 +92,7 @@ class ArmRPListItem(bpy.types.PropertyGroup):
('2', '2', '2'),
('3', '3', '3'),
('4', '4', '4')],
name="Cascades", description="Shadow map cascades", default='3', update=update_renderpath)
name="Cascades", description="Shadow map cascades", default='3', update=udpate_shadowmap_cascades)
rp_supersampling = EnumProperty(
items=[('1', '1X', '1X'),
('2', '2X', '2X'),