Expose sharpen

This commit is contained in:
luboslenco 2018-03-02 17:02:27 +01:00
parent 66041ba142
commit 6574745791
6 changed files with 17 additions and 12 deletions

View file

@ -35,10 +35,7 @@ uniform vec3 eyeLook;
uniform float aspectRatio;
#endif
#ifdef _CFXAA
uniform vec2 texStep;
#endif
#ifdef _CDOF // TODO: redefinition
#ifdef _CTexStep
uniform vec2 texStep;
#endif
@ -245,8 +242,7 @@ void main() {
vec3 col3 = texture(tex, texCo + vec2(-texStep.x, texStep.y) * 1.5).rgb;
vec3 col4 = texture(tex, texCo + vec2(texStep.x, texStep.y) * 1.5).rgb;
vec3 colavg = (col1 + col2 + col3 + col4) * 0.25;
// const float sharpness = 0.5;
fragColor.rgb += (fragColor.rgb - colavg) * sharpness;
fragColor.rgb += (fragColor.rgb - colavg) * compoSharpenStrength;
#endif
#ifdef _CFog

View file

@ -46,16 +46,12 @@
"name": "time",
"link": "_time",
"ifdef": ["_CGrain"]
},
},
{
"name": "texStep",
"link": "_screenSizeInv",
"ifdef": ["_CFXAA", "_CDOF"]
"ifdef": ["_CTexStep"]
},
{
"name": "dynamicScale",
"link": "_dynamicScale",

View file

@ -168,6 +168,8 @@ def build():
wrd.compo_defs += '_CLetterbox'
if wrd.arm_grain:
wrd.compo_defs += '_CGrain'
if wrd.arm_sharpen:
wrd.compo_defs += '_CSharpen'
if bpy.data.scenes[0].cycles.film_exposure != 1.0:
wrd.compo_defs += '_CExposure'
if wrd.arm_fog:
@ -191,6 +193,8 @@ def build():
if wrd.arm_lut_texture != '':
wrd.compo_defs += '_CLUT'
assets.add_embedded_data('luttexture.jpg')
if '_CDOF' in wrd.compo_defs or '_CFXAA' in wrd.compo_defs or '_CSharpen' in wrd.compo_defs:
wrd.compo_defs += '_CTexStep'
assets.add_shader_pass('compositor_pass')
else:
assets.add_shader_pass('copy_pass')

View file

@ -318,6 +318,8 @@ def init_properties():
bpy.types.World.arm_letterbox_size = FloatProperty(name="Size", default=0.1, update=assets.invalidate_shader_cache)
bpy.types.World.arm_grain = BoolProperty(name="Film Grain", default=False, update=assets.invalidate_shader_cache)
bpy.types.World.arm_grain_strength = FloatProperty(name="Strength", default=2.0, update=assets.invalidate_shader_cache)
bpy.types.World.arm_sharpen = BoolProperty(name="Sharpen", default=False, update=assets.invalidate_shader_cache)
bpy.types.World.arm_sharpen_strength = FloatProperty(name="Strength", default=0.25, update=assets.invalidate_shader_cache)
bpy.types.World.arm_fog = BoolProperty(name="Volumetric Fog", default=False, update=assets.invalidate_shader_cache)
bpy.types.World.arm_fog_color = FloatVectorProperty(name="Color", size=3, subtype='COLOR', default=[0.5, 0.6, 0.7], min=0, max=1, update=assets.invalidate_shader_cache)
bpy.types.World.arm_fog_amounta = FloatProperty(name="Amount A", default=0.25, update=assets.invalidate_shader_cache)

View file

@ -1138,6 +1138,8 @@ class ArmRenderPropsPanel(bpy.types.Panel):
layout.prop(wrd, 'arm_letterbox_size')
layout.prop(wrd, 'arm_grain')
layout.prop(wrd, 'arm_grain_strength')
layout.prop(wrd, 'arm_sharpen')
layout.prop(wrd, 'arm_sharpen_strength')
layout.prop(wrd, 'arm_fog')
layout.prop(wrd, 'arm_fog_color')
row = layout.row()

View file

@ -536,6 +536,11 @@ const int volumSteps = """ + str(wrd.arm_volumetric_light_steps) + """;
if wrd.arm_grain:
f.write(
"""const float compoGrainStrength = """ + str(round(wrd.arm_grain_strength * 100) / 100) + """;
""")
if wrd.arm_sharpen:
f.write(
"""const float compoSharpenStrength = """ + str(round(wrd.arm_sharpen_strength * 100) / 100) + """;
""")
if bpy.data.scenes[0].cycles.film_exposure != 1.0: