Cleanup uniforms and defines
This commit is contained in:
parent
f9f8d4c7d5
commit
da3c472850
|
@ -3,7 +3,6 @@
|
|||
#include "compiled.glsl"
|
||||
|
||||
uniform sampler2D tex;
|
||||
uniform vec2 texStep;
|
||||
|
||||
in vec2 texCoord;
|
||||
out vec4 fragColor;
|
||||
|
|
|
@ -6,12 +6,7 @@
|
|||
"depth_write": false,
|
||||
"compare_mode": "always",
|
||||
"cull_mode": "none",
|
||||
"links": [
|
||||
{
|
||||
"name": "texStep",
|
||||
"link": "_windowSizeInv"
|
||||
}
|
||||
],
|
||||
"links": [],
|
||||
"texture_params": [],
|
||||
"vertex_shader": "../include/pass.vert.glsl",
|
||||
"fragment_shader": "bloom_pass.frag.glsl"
|
||||
|
|
|
@ -9,8 +9,6 @@
|
|||
|
||||
uniform sampler2D tex;
|
||||
uniform sampler2D gbufferD;
|
||||
uniform sampler2D gbuffer0;
|
||||
uniform sampler2D gbuffer1;
|
||||
|
||||
#ifdef _CLensTex
|
||||
uniform sampler2D lensTexture;
|
||||
|
@ -81,7 +79,7 @@ out vec4 fragColor;
|
|||
// }
|
||||
vec3 applyFog(vec3 rgb, float distance) {
|
||||
// float fogAmount = 1.0 - exp(-distance * compoFogAmountA);
|
||||
float fogAmount = 1.0 - exp(-distance * 0.0055);
|
||||
float fogAmount = 1.0 - exp(-distance * (compoFogAmountA / 100));
|
||||
return mix(rgb, compoFogColor, fogAmount);
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -173,7 +173,6 @@ void main() {
|
|||
#endif
|
||||
|
||||
#ifdef _LampClouds
|
||||
|
||||
visibility *= texture(texClouds, vec2(p.xy / 100.0 + time / 80.0)).r * dot(n, vec3(0,0,1));
|
||||
#endif
|
||||
|
||||
|
|
|
@ -12,8 +12,6 @@ uniform sampler2D gbuffer1; // Basecol
|
|||
uniform mat4 P;
|
||||
uniform mat4 tiV;
|
||||
|
||||
uniform vec3 eye;
|
||||
uniform vec3 eyeLook;
|
||||
uniform vec2 cameraProj;
|
||||
|
||||
// const int ssgiStrength = 1.0;
|
||||
|
|
|
@ -67,10 +67,6 @@ float PCFCube(const vec3 lp, vec3 ml, const float bias, const vec2 lightProj, co
|
|||
|
||||
float shadowTest(const vec3 lPos, const float shadowsBias, const vec2 smSize) {
|
||||
|
||||
// float cosAngle = max(1.0 - dotNL, 0.0);
|
||||
// vec3 noff = n * shadowsBias * cosAngle;
|
||||
// vec4 lPos = LWVP * vec4(p + noff, 1.0);
|
||||
|
||||
// Out of bounds
|
||||
if (lPos.x < 0.0 || lPos.y < 0.0 || lPos.x > 1.0 || lPos.y > 1.0) return 1.0;
|
||||
|
||||
|
@ -110,6 +106,7 @@ mat4 getCascadeMat(const float d, out int casi, out int casIndex) {
|
|||
// ..
|
||||
}
|
||||
|
||||
// float shadowTestCascade(float dotNL, vec3 n, const vec3 eye, const vec3 p, const float shadowsBias, const vec2 smSize) {
|
||||
float shadowTestCascade(const vec3 eye, const vec3 p, const float shadowsBias, const vec2 smSize) {
|
||||
const int c = shadowmapCascades;
|
||||
float d = distance(eye, p);
|
||||
|
@ -118,7 +115,12 @@ float shadowTestCascade(const vec3 eye, const vec3 p, const float shadowsBias, c
|
|||
int casIndex;
|
||||
mat4 LWVP = getCascadeMat(d, casi, casIndex);
|
||||
|
||||
// float cosAngle = max(1.0 - dotNL, 0.0);
|
||||
// vec3 noff = n * shadowsBias * cosAngle;
|
||||
// vec4 lPos = LWVP * vec4(p + noff, 1.0);
|
||||
|
||||
vec4 lPos = LWVP * vec4(p, 1.0);
|
||||
|
||||
float visibility = 1.0;
|
||||
if (lPos.w > 0.0) visibility = shadowTest(lPos.xyz / lPos.w, shadowsBias, smSize);
|
||||
|
||||
|
|
|
@ -36,8 +36,9 @@
|
|||
uniform sampler2D envmap;
|
||||
#endif
|
||||
|
||||
// uniform sampler2D gbufferD;
|
||||
#ifdef _EnvStr
|
||||
uniform float envmapStrength;
|
||||
#endif
|
||||
|
||||
// in vec2 texCoord;
|
||||
in vec3 normal;
|
||||
|
@ -94,51 +95,10 @@ vec2 traceCloud(vec3 pos, vec3 dir) {
|
|||
vec3 add = dir * ((end - beg) / steps);
|
||||
|
||||
vec2 shadeSum = vec2(0.0);
|
||||
shadeSum = doCloudTrace(add, shadeSum); if (shadeSum.y >= 1.0) return shadeSum;
|
||||
shadeSum = doCloudTrace(add, shadeSum); if (shadeSum.y >= 1.0) return shadeSum;
|
||||
shadeSum = doCloudTrace(add, shadeSum); if (shadeSum.y >= 1.0) return shadeSum;
|
||||
shadeSum = doCloudTrace(add, shadeSum); if (shadeSum.y >= 1.0) return shadeSum;
|
||||
shadeSum = doCloudTrace(add, shadeSum); if (shadeSum.y >= 1.0) return shadeSum;
|
||||
shadeSum = doCloudTrace(add, shadeSum); if (shadeSum.y >= 1.0) return shadeSum;
|
||||
shadeSum = doCloudTrace(add, shadeSum); if (shadeSum.y >= 1.0) return shadeSum;
|
||||
shadeSum = doCloudTrace(add, shadeSum); if (shadeSum.y >= 1.0) return shadeSum;
|
||||
shadeSum = doCloudTrace(add, shadeSum); if (shadeSum.y >= 1.0) return shadeSum;
|
||||
shadeSum = doCloudTrace(add, shadeSum); if (shadeSum.y >= 1.0) return shadeSum;
|
||||
shadeSum = doCloudTrace(add, shadeSum); if (shadeSum.y >= 1.0) return shadeSum;
|
||||
shadeSum = doCloudTrace(add, shadeSum); if (shadeSum.y >= 1.0) return shadeSum;
|
||||
shadeSum = doCloudTrace(add, shadeSum); if (shadeSum.y >= 1.0) return shadeSum;
|
||||
shadeSum = doCloudTrace(add, shadeSum); if (shadeSum.y >= 1.0) return shadeSum;
|
||||
shadeSum = doCloudTrace(add, shadeSum); if (shadeSum.y >= 1.0) return shadeSum;
|
||||
shadeSum = doCloudTrace(add, shadeSum); if (shadeSum.y >= 1.0) return shadeSum;
|
||||
shadeSum = doCloudTrace(add, shadeSum); if (shadeSum.y >= 1.0) return shadeSum;
|
||||
shadeSum = doCloudTrace(add, shadeSum); if (shadeSum.y >= 1.0) return shadeSum;
|
||||
shadeSum = doCloudTrace(add, shadeSum); if (shadeSum.y >= 1.0) return shadeSum;
|
||||
shadeSum = doCloudTrace(add, shadeSum); if (shadeSum.y >= 1.0) return shadeSum;
|
||||
shadeSum = doCloudTrace(add, shadeSum); if (shadeSum.y >= 1.0) return shadeSum;
|
||||
shadeSum = doCloudTrace(add, shadeSum); if (shadeSum.y >= 1.0) return shadeSum;
|
||||
shadeSum = doCloudTrace(add, shadeSum); if (shadeSum.y >= 1.0) return shadeSum;
|
||||
shadeSum = doCloudTrace(add, shadeSum); if (shadeSum.y >= 1.0) return shadeSum;
|
||||
shadeSum = doCloudTrace(add, shadeSum); if (shadeSum.y >= 1.0) return shadeSum;
|
||||
shadeSum = doCloudTrace(add, shadeSum); if (shadeSum.y >= 1.0) return shadeSum;
|
||||
shadeSum = doCloudTrace(add, shadeSum); if (shadeSum.y >= 1.0) return shadeSum;
|
||||
shadeSum = doCloudTrace(add, shadeSum); if (shadeSum.y >= 1.0) return shadeSum;
|
||||
shadeSum = doCloudTrace(add, shadeSum); if (shadeSum.y >= 1.0) return shadeSum;
|
||||
shadeSum = doCloudTrace(add, shadeSum); if (shadeSum.y >= 1.0) return shadeSum;
|
||||
shadeSum = doCloudTrace(add, shadeSum); if (shadeSum.y >= 1.0) return shadeSum;
|
||||
shadeSum = doCloudTrace(add, shadeSum); if (shadeSum.y >= 1.0) return shadeSum;
|
||||
shadeSum = doCloudTrace(add, shadeSum); if (shadeSum.y >= 1.0) return shadeSum;
|
||||
shadeSum = doCloudTrace(add, shadeSum); if (shadeSum.y >= 1.0) return shadeSum;
|
||||
shadeSum = doCloudTrace(add, shadeSum); if (shadeSum.y >= 1.0) return shadeSum;
|
||||
shadeSum = doCloudTrace(add, shadeSum); if (shadeSum.y >= 1.0) return shadeSum;
|
||||
shadeSum = doCloudTrace(add, shadeSum); if (shadeSum.y >= 1.0) return shadeSum;
|
||||
shadeSum = doCloudTrace(add, shadeSum); if (shadeSum.y >= 1.0) return shadeSum;
|
||||
shadeSum = doCloudTrace(add, shadeSum); if (shadeSum.y >= 1.0) return shadeSum;
|
||||
shadeSum = doCloudTrace(add, shadeSum); if (shadeSum.y >= 1.0) return shadeSum;
|
||||
shadeSum = doCloudTrace(add, shadeSum); if (shadeSum.y >= 1.0) return shadeSum;
|
||||
shadeSum = doCloudTrace(add, shadeSum); if (shadeSum.y >= 1.0) return shadeSum;
|
||||
shadeSum = doCloudTrace(add, shadeSum); if (shadeSum.y >= 1.0) return shadeSum;
|
||||
shadeSum = doCloudTrace(add, shadeSum); if (shadeSum.y >= 1.0) return shadeSum;
|
||||
shadeSum = doCloudTrace(add, shadeSum); if (shadeSum.y >= 1.0) return shadeSum;
|
||||
for (int i = 0; i < 45; i++) {
|
||||
shadeSum = doCloudTrace(add, shadeSum);
|
||||
if (shadeSum.y >= 1.0) return shadeSum;
|
||||
}
|
||||
return shadeSum;
|
||||
}
|
||||
// GPU PRO 7 - Real-time Volumetric Cloudscapes
|
||||
|
|
|
@ -97,7 +97,8 @@
|
|||
},
|
||||
{
|
||||
"name": "envmapStrength",
|
||||
"link": "_envmapStrength"
|
||||
"link": "_envmapStrength",
|
||||
"ifdef": ["_EnvStr"]
|
||||
}
|
||||
],
|
||||
"texture_params": [],
|
||||
|
|
|
@ -965,7 +965,13 @@ class RenderPathCreator {
|
|||
path.setTarget("buf");
|
||||
}
|
||||
#end
|
||||
|
||||
path.bindTarget("tex", "tex");
|
||||
#if rp_compositordepth
|
||||
{
|
||||
path.bindTarget("_main", "gbufferD");
|
||||
}
|
||||
#end
|
||||
|
||||
#if rp_compositornodes
|
||||
{
|
||||
|
@ -1197,8 +1203,10 @@ class RenderPathCreator {
|
|||
#end
|
||||
}
|
||||
|
||||
static inline function getSuperSampling():Int {
|
||||
#if (rp_supersampling == 2)
|
||||
static inline function getSuperSampling():Float {
|
||||
#if (rp_supersampling == 1.5)
|
||||
return 1.5;
|
||||
#elseif (rp_supersampling == 2)
|
||||
return 2;
|
||||
#elseif (rp_supersampling == 4)
|
||||
return 4;
|
||||
|
|
|
@ -4,11 +4,118 @@ import arm.utils
|
|||
import arm.log as log
|
||||
import arm.make_state as state
|
||||
|
||||
def add_world_defs():
|
||||
wrd = bpy.data.worlds['Arm']
|
||||
rpdat = arm.utils.get_rp()
|
||||
|
||||
# Screen-space ray-traced shadows
|
||||
if rpdat.arm_ssrs:
|
||||
wrd.world_defs += '_SSRS'
|
||||
|
||||
if wrd.arm_two_sided_area_lamp:
|
||||
wrd.world_defs += '_TwoSidedAreaLamp'
|
||||
|
||||
# Store contexts
|
||||
if rpdat.rp_hdr == False:
|
||||
wrd.world_defs += '_LDR'
|
||||
|
||||
# Alternative models
|
||||
if rpdat.arm_diffuse_model == 'OrenNayar':
|
||||
wrd.world_defs += '_OrenNayar'
|
||||
|
||||
# TODO: Lamp texture test..
|
||||
if wrd.arm_lamp_texture != '':
|
||||
wrd.world_defs += '_LampColTex'
|
||||
|
||||
if wrd.arm_lamp_ies_texture != '':
|
||||
wrd.world_defs += '_LampIES'
|
||||
assets.add_embedded_data('iestexture.png')
|
||||
|
||||
if wrd.arm_lamp_clouds_texture != '':
|
||||
wrd.world_defs += '_LampClouds'
|
||||
assets.add_embedded_data('cloudstexture.png')
|
||||
|
||||
voxelgi = False
|
||||
voxelao = False
|
||||
if rpdat.rp_renderer == 'Deferred':
|
||||
assets.add_khafile_def('arm_deferred')
|
||||
# Shadows
|
||||
if rpdat.rp_shadowmap_cascades != '1':
|
||||
wrd.world_defs += '_CSM'
|
||||
assets.add_khafile_def('arm_csm')
|
||||
if rpdat.rp_shadowmap == 'Off':
|
||||
wrd.world_defs += '_NoShadows'
|
||||
assets.add_khafile_def('arm_no_shadows')
|
||||
# GI
|
||||
has_voxels = state.in_viewport == False or bpy.app.version >= (2, 80, 1)
|
||||
if has_voxels:
|
||||
if rpdat.rp_gi == 'Voxel GI':
|
||||
voxelgi = True
|
||||
elif rpdat.rp_gi == 'Voxel AO':
|
||||
voxelao = True
|
||||
# SS
|
||||
# if rpdat.rp_dfrs:
|
||||
# wrd.world_defs += '_DFRS'
|
||||
# assets.add_khafile_def('arm_sdf')
|
||||
# if rpdat.rp_dfao:
|
||||
# wrd.world_defs += '_DFAO'
|
||||
# assets.add_khafile_def('arm_sdf')
|
||||
# if rpdat.rp_dfgi:
|
||||
# wrd.world_defs += '_DFGI'
|
||||
# assets.add_khafile_def('arm_sdf')
|
||||
# wrd.world_defs += '_Rad' # Always do radiance for gi
|
||||
# wrd.world_defs += '_Irr'
|
||||
if rpdat.rp_ssgi == 'RTGI' or rpdat.rp_ssgi == 'RTAO':
|
||||
if rpdat.rp_ssgi == 'RTGI':
|
||||
wrd.world_defs += '_RTGI'
|
||||
if wrd.arm_ssgi_rays == '9':
|
||||
wrd.world_defs += '_SSGICone9'
|
||||
if rpdat.rp_autoexposure:
|
||||
wrd.world_defs += '_AutoExposure'
|
||||
|
||||
if voxelgi or voxelao:
|
||||
assets.add_khafile_def('arm_voxelgi')
|
||||
wrd.world_defs += '_VoxelCones' + wrd.arm_voxelgi_cones
|
||||
if rpdat.arm_voxelgi_revoxelize:
|
||||
assets.add_khafile_def('arm_voxelgi_revox')
|
||||
if rpdat.arm_voxelgi_camera:
|
||||
wrd.world_defs += '_VoxelGICam'
|
||||
if rpdat.arm_voxelgi_temporal:
|
||||
assets.add_khafile_def('arm_voxelgi_temporal')
|
||||
wrd.world_defs += '_VoxelGITemporal'
|
||||
wrd.world_defs += '_Rad' # Always do radiance for voxels
|
||||
wrd.world_defs += '_Irr'
|
||||
|
||||
if voxelgi:
|
||||
wrd.world_defs += '_VoxelGI'
|
||||
if rpdat.arm_voxelgi_shadows:
|
||||
wrd.world_defs += '_VoxelGIDirect'
|
||||
wrd.world_defs += '_VoxelGIShadow'
|
||||
if rpdat.arm_voxelgi_refraction:
|
||||
wrd.world_defs += '_VoxelGIDirect'
|
||||
wrd.world_defs += '_VoxelGIRefract'
|
||||
if rpdat.arm_voxelgi_emission:
|
||||
wrd.world_defs += '_VoxelGIEmission'
|
||||
elif voxelao:
|
||||
wrd.world_defs += '_VoxelAO'
|
||||
|
||||
if arm.utils.get_gapi().startswith('direct3d'): # Flip Y axis in drawQuad command
|
||||
wrd.world_defs += '_InvY'
|
||||
|
||||
# Area lamps
|
||||
for lamp in bpy.data.lamps:
|
||||
if lamp.type == 'AREA':
|
||||
wrd.world_defs += '_LTC'
|
||||
assets.add_khafile_def('arm_ltc')
|
||||
break
|
||||
|
||||
def build():
|
||||
assets_path = arm.utils.get_sdk_path() + 'armory/Assets/'
|
||||
wrd = bpy.data.worlds['Arm']
|
||||
rpdat = arm.utils.get_rp()
|
||||
|
||||
add_world_defs()
|
||||
|
||||
mobile_mat = rpdat.arm_material_model == 'Mobile' or rpdat.arm_material_model == 'Solid'
|
||||
if not mobile_mat:
|
||||
# Always include
|
||||
|
@ -57,6 +164,7 @@ def build():
|
|||
compo_depth = True
|
||||
if compo_depth:
|
||||
wrd.compo_defs += '_CDepth'
|
||||
assets.add_khafile_def('rp_compositordepth')
|
||||
if wrd.arm_lens_texture != '':
|
||||
wrd.compo_defs += '_CLensTex'
|
||||
assets.add_embedded_data('lenstexture.jpg')
|
||||
|
@ -66,7 +174,7 @@ def build():
|
|||
wrd.compo_defs += '_CVignette'
|
||||
if wrd.arm_lensflare:
|
||||
wrd.compo_defs += '_CGlare'
|
||||
if wrd.arm_lut:
|
||||
if wrd.arm_lut_texture != '':
|
||||
wrd.compo_defs += '_CLUT'
|
||||
assets.add_embedded_data('luttexture.jpg')
|
||||
assets.add_shader_pass('compositor_pass')
|
||||
|
|
|
@ -55,106 +55,8 @@ def build_node_tree(world):
|
|||
if rpdat.arm_clouds:
|
||||
wrd.world_defs += '_EnvClouds'
|
||||
|
||||
# Screen-space ray-traced shadows
|
||||
if rpdat.arm_ssrs:
|
||||
wrd.world_defs += '_SSRS'
|
||||
|
||||
if wrd.arm_two_sided_area_lamp:
|
||||
wrd.world_defs += '_TwoSidedAreaLamp'
|
||||
|
||||
# Store contexts
|
||||
if rpdat.rp_hdr == False:
|
||||
wrd.world_defs += '_LDR'
|
||||
|
||||
# Alternative models
|
||||
if rpdat.arm_diffuse_model == 'OrenNayar':
|
||||
wrd.world_defs += '_OrenNayar'
|
||||
|
||||
# TODO: Lamp texture test..
|
||||
if wrd.arm_lamp_texture != '':
|
||||
wrd.world_defs += '_LampColTex'
|
||||
|
||||
if wrd.arm_lamp_ies_texture != '':
|
||||
wrd.world_defs += '_LampIES'
|
||||
assets.add_embedded_data('iestexture.png')
|
||||
|
||||
if wrd.arm_lamp_clouds_texture != '':
|
||||
wrd.world_defs += '_LampClouds'
|
||||
assets.add_embedded_data('cloudstexture.png')
|
||||
|
||||
voxelgi = False
|
||||
voxelao = False
|
||||
if rpdat.rp_renderer == 'Deferred':
|
||||
assets.add_khafile_def('arm_deferred')
|
||||
# Shadows
|
||||
if rpdat.rp_shadowmap_cascades != '1':
|
||||
wrd.world_defs += '_CSM'
|
||||
assets.add_khafile_def('arm_csm')
|
||||
if rpdat.rp_shadowmap == 'Off':
|
||||
wrd.world_defs += '_NoShadows'
|
||||
assets.add_khafile_def('arm_no_shadows')
|
||||
# GI
|
||||
has_voxels = state.in_viewport == False or bpy.app.version >= (2, 80, 1)
|
||||
if has_voxels:
|
||||
if rpdat.rp_gi == 'Voxel GI':
|
||||
voxelgi = True
|
||||
elif rpdat.rp_gi == 'Voxel AO':
|
||||
voxelao = True
|
||||
# SS
|
||||
# if rpdat.rp_dfrs:
|
||||
# wrd.world_defs += '_DFRS'
|
||||
# assets.add_khafile_def('arm_sdf')
|
||||
# if rpdat.rp_dfao:
|
||||
# wrd.world_defs += '_DFAO'
|
||||
# assets.add_khafile_def('arm_sdf')
|
||||
# if rpdat.rp_dfgi:
|
||||
# wrd.world_defs += '_DFGI'
|
||||
# assets.add_khafile_def('arm_sdf')
|
||||
# wrd.world_defs += '_Rad' # Always do radiance for gi
|
||||
# wrd.world_defs += '_Irr'
|
||||
if rpdat.rp_ssgi == 'RTGI' or rpdat.rp_ssgi == 'RTAO':
|
||||
if rpdat.rp_ssgi == 'RTGI':
|
||||
wrd.world_defs += '_RTGI'
|
||||
if wrd.arm_ssgi_rays == '9':
|
||||
wrd.world_defs += '_SSGICone9'
|
||||
if rpdat.rp_autoexposure:
|
||||
wrd.world_defs += '_AutoExposure'
|
||||
|
||||
if voxelgi or voxelao:
|
||||
assets.add_khafile_def('arm_voxelgi')
|
||||
wrd.world_defs += '_VoxelCones' + wrd.arm_voxelgi_cones
|
||||
if rpdat.arm_voxelgi_revoxelize:
|
||||
assets.add_khafile_def('arm_voxelgi_revox')
|
||||
if rpdat.arm_voxelgi_camera:
|
||||
wrd.world_defs += '_VoxelGICam'
|
||||
if rpdat.arm_voxelgi_temporal:
|
||||
assets.add_khafile_def('arm_voxelgi_temporal')
|
||||
wrd.world_defs += '_VoxelGITemporal'
|
||||
wrd.world_defs += '_Rad' # Always do radiance for voxels
|
||||
wrd.world_defs += '_Irr'
|
||||
|
||||
if voxelgi:
|
||||
wrd.world_defs += '_VoxelGI'
|
||||
if rpdat.arm_voxelgi_shadows:
|
||||
wrd.world_defs += '_VoxelGIDirect'
|
||||
wrd.world_defs += '_VoxelGIShadow'
|
||||
if rpdat.arm_voxelgi_refraction:
|
||||
wrd.world_defs += '_VoxelGIDirect'
|
||||
wrd.world_defs += '_VoxelGIRefract'
|
||||
if rpdat.arm_voxelgi_emission:
|
||||
wrd.world_defs += '_VoxelGIEmission'
|
||||
elif voxelao:
|
||||
wrd.world_defs += '_VoxelAO'
|
||||
|
||||
if arm.utils.get_gapi().startswith('direct3d'): # Flip Y axis in drawQuad command
|
||||
wrd.world_defs += '_InvY'
|
||||
|
||||
# Area lamps
|
||||
for lamp in bpy.data.lamps:
|
||||
if lamp.type == 'AREA':
|
||||
wrd.world_defs += '_LTC'
|
||||
assets.add_khafile_def('arm_ltc')
|
||||
break
|
||||
if '_EnvSky' in wrd.world_defs or '_EnvTex' in wrd.world_defs or '_EnvImg' in wrd.world_defs or '_EnvClouds' in wrd.world_defs:
|
||||
wrd.world_defs += '_EnvStr'
|
||||
|
||||
def parse_world_output(world, node):
|
||||
if node.inputs[0].is_linked:
|
||||
|
|
|
@ -328,8 +328,7 @@ def init_properties():
|
|||
bpy.types.World.arm_fisheye = bpy.props.BoolProperty(name="Fish Eye", default=False, update=assets.invalidate_shader_cache)
|
||||
bpy.types.World.arm_vignette = bpy.props.BoolProperty(name="Vignette", default=False, update=assets.invalidate_shader_cache)
|
||||
bpy.types.World.arm_lensflare = bpy.props.BoolProperty(name="Lens Flare", default=False, update=assets.invalidate_shader_cache)
|
||||
bpy.types.World.arm_lut = bpy.props.BoolProperty(name="LUT Lookup Table", default=False, update=assets.invalidate_shader_cache)
|
||||
bpy.types.World.arm_lut_texture = bpy.props.StringProperty(name="LUT Texture", default="", update=assets.invalidate_shader_cache)
|
||||
bpy.types.World.arm_lut_texture = bpy.props.StringProperty(name="LUT Texture", description="Color Grading", default="", update=assets.invalidate_shader_cache)
|
||||
# Skin
|
||||
bpy.types.World.arm_skin = EnumProperty(
|
||||
items=[('GPU (Dual-Quat)', 'GPU (Dual-Quat)', 'GPU (Dual-Quat)'),
|
||||
|
|
|
@ -335,6 +335,7 @@ class ArmRPListItem(bpy.types.PropertyGroup):
|
|||
name="Cascades", description="Shadow map cascades", default='4', update=udpate_shadowmap_cascades)
|
||||
rp_supersampling = EnumProperty(
|
||||
items=[('1', '1', '1'),
|
||||
('1.5', '1.5', '1.5'),
|
||||
('2', '2', '2'),
|
||||
('4', '4', '4')],
|
||||
name="Super Sampling", description="Screen resolution multiplier", default='1', update=update_renderpath)
|
||||
|
|
|
@ -1132,7 +1132,6 @@ class ArmRenderPropsPanel(bpy.types.Panel):
|
|||
layout.prop(wrd, 'arm_lensflare')
|
||||
layout.prop(wrd, 'arm_autoexposure_strength')
|
||||
layout.prop(wrd, 'arm_lens_texture')
|
||||
layout.prop(wrd, 'arm_lut')
|
||||
layout.prop(wrd, 'arm_lut_texture')
|
||||
|
||||
class ArmGenLodButton(bpy.types.Operator):
|
||||
|
|
Loading…
Reference in a new issue