Hosek sky cleanup

This commit is contained in:
Lubos Lenco 2017-10-25 19:48:45 +02:00
parent 7ca7f551ef
commit d3d6cc0f7d
13 changed files with 5 additions and 20 deletions

Binary file not shown.

View file

@ -362,12 +362,7 @@ def parse_color(world, node, context, envmap_strength_const):
# Radiance
if wrd.arm_radiance_sky and wrd.arm_radiance and wrd.arm_irradiance and not mobile_mat:
wrd.world_defs += '_Rad'
if wrd.arm_radiance_sky_type == 'Hosek':
hosek_path = 'armory/Assets/hosek/'
else:
hosek_path = 'armory/Assets/hosek_fake/'
hosek_path = 'armory/Assets/hosek/'
sdk_path = arm.utils.get_sdk_path()
# Use fake maps for now
assets.add(sdk_path + hosek_path + 'hosek_radiance.hdr')

View file

@ -254,10 +254,6 @@ def init_properties():
('2048', '2048', '2048')],
name="", description="Prefiltered map size", default='1024', update=assets.invalidate_envmap_data)
bpy.types.World.arm_radiance_sky = bpy.props.BoolProperty(name="Sky Radiance", default=True, update=assets.invalidate_shader_cache)
bpy.types.World.arm_radiance_sky_type = EnumProperty(
items=[('Fake', 'Fake', 'Fake'),
('Hosek', 'Hosek', 'Hosek')],
name="", description="Prefiltered maps to be used for radiance", default='Hosek', update=assets.invalidate_envmap_data)
bpy.types.World.arm_clouds_density = bpy.props.FloatProperty(name="Density", default=1.0, min=0.0, max=10.0, update=assets.invalidate_shader_cache)
bpy.types.World.arm_clouds_size = bpy.props.FloatProperty(name="Size", default=1.0, min=0.0, max=10.0, update=assets.invalidate_shader_cache)
bpy.types.World.arm_clouds_lower = bpy.props.FloatProperty(name="Lower", default=2.0, min=1.0, max=10.0, update=assets.invalidate_shader_cache)

View file

@ -303,9 +303,6 @@ class WorldPropsPanel(bpy.types.Panel):
columnb.prop(wrd, 'arm_radiance_size')
column = row.column()
column.prop(wrd, 'arm_radiance_sky')
columnb = column.column()
columnb.enabled = wrd.arm_radiance_sky
columnb.prop(wrd, 'arm_radiance_sky_type')
class ArmoryPlayerPanel(bpy.types.Panel):
bl_label = "Armory Player"

View file

@ -257,13 +257,10 @@ def parse_band_floats(irradiance_floats, band_line):
def write_sky_irradiance(base_name):
wrd = bpy.data.worlds['Arm']
if wrd.arm_radiance_sky_type == 'Hosek':
# Hosek spherical harmonics
irradiance_floats = [1.5519331988822218,2.3352207154503266,2.997277451988076,0.2673894962434794,0.4305630474135794,0.11331825259716752,-0.04453633521758638,-0.038753175134160295,-0.021302768541875794,0.00055858020486499,0.000371654770334503,0.000126606145406403,-0.000135708721978705,-0.000787399554583089,-0.001550090690860059,0.021947399048903773,0.05453650591711572,0.08783641266630278,0.17053593578630663,0.14734127083304463,0.07775404698816404,-2.6924363189795e-05,-7.9350169701934e-05,-7.559914435231e-05,0.27035455385870993,0.23122918445556914,0.12158817295211832]
for i in range(0, len(irradiance_floats)):
irradiance_floats[i] /= 2;
else: # Fake
irradiance_floats = [0.5282714503101548,0.6576873502619733,1.0692444882409775,0.17108712865136044,-0.08840906601412168,-0.5016437779078063,-0.05123227009753221,-0.06724088656181595,-0.07651659183264257,-0.09740705087869408,-0.19569235551561795,-0.3087497307203731,0.056717192983076405,0.1109186355691673,0.20616582000220154,0.013898321643280141,0.05985657405787638,0.12638202463080392,-0.003224443014484806,0.013764449325286695,0.04288850064700093,0.1796545401960917,0.21595731080039757,0.29144356515614844,0.10152875101705996,0.2651761450155488,0.4778582813756466]
# Hosek spherical harmonics
irradiance_floats = [1.5519331988822218,2.3352207154503266,2.997277451988076,0.2673894962434794,0.4305630474135794,0.11331825259716752,-0.04453633521758638,-0.038753175134160295,-0.021302768541875794,0.00055858020486499,0.000371654770334503,0.000126606145406403,-0.000135708721978705,-0.000787399554583089,-0.001550090690860059,0.021947399048903773,0.05453650591711572,0.08783641266630278,0.17053593578630663,0.14734127083304463,0.07775404698816404,-2.6924363189795e-05,-7.9350169701934e-05,-7.559914435231e-05,0.27035455385870993,0.23122918445556914,0.12158817295211832]
for i in range(0, len(irradiance_floats)):
irradiance_floats[i] /= 2;
envpath = arm.utils.build_dir() + '/compiled/Assets/envmaps'
if not os.path.exists(envpath):