Update leenkx/blender/lnx/material/make_voxel.py
This commit is contained in:
parent
304a497565
commit
41c1459c4e
@ -143,6 +143,7 @@ def make_gi(context_id):
|
||||
geom.add_out('vec4 lightPosition')
|
||||
geom.add_out('vec4 spotPosition')
|
||||
geom.add_out('vec4 wvpposition')
|
||||
geom.add_out('vec3 eyeDir')
|
||||
|
||||
if con_voxel.is_elem('col'):
|
||||
geom.add_out('vec3 vcolor')
|
||||
@ -185,6 +186,7 @@ def make_gi(context_id):
|
||||
geom.write('mposition = mpositionGeom[i];')
|
||||
if export_bpos:
|
||||
geom.write('bposition = bpositionGeom[i];')
|
||||
geom.write(' eyeDir = eyeDirGeom[i];')
|
||||
geom.write(' gl_Position = voxposition[i];')
|
||||
geom.write(' EmitVertex();')
|
||||
geom.write('}')
|
||||
@ -209,8 +211,9 @@ def make_gi(context_id):
|
||||
frag.write('vec3 albedo = surfaceAlbedo(basecol, metallic);')
|
||||
frag.write('vec3 f0 = surfaceF0(basecol, metallic);')
|
||||
|
||||
frag.add_uniform('vec3 eye', '_cameraPosition')
|
||||
frag.write('vec3 eyeDir = eye - wposition;')
|
||||
vert.add_uniform('vec3 eye', '_cameraPosition')
|
||||
vert.add_out('vec3 eyeDirGeom')
|
||||
vert.write('eyeDirGeom = eye - pos.xyz;')
|
||||
|
||||
if '_Brdf' in wrd.world_defs:
|
||||
frag.add_uniform('sampler2D senvmapBrdf', link='$brdf.png')
|
||||
@ -219,7 +222,7 @@ def make_gi(context_id):
|
||||
if '_Irr' in wrd.world_defs:
|
||||
frag.add_include('std/shirr.glsl')
|
||||
frag.add_uniform('vec4 shirr[7]', link='_envmapIrradiance')
|
||||
frag.write('vec3 envl = shIrradiance(n, shirr);')
|
||||
frag.write('vec3 envl = shIrradiance(voxnormal, shirr);')
|
||||
if '_EnvTex' in wrd.world_defs:
|
||||
frag.write('envl /= PI;')
|
||||
else:
|
||||
@ -228,7 +231,7 @@ def make_gi(context_id):
|
||||
if '_Rad' in wrd.world_defs:
|
||||
frag.add_uniform('sampler2D senvmapRadiance', link='_envmapRadiance')
|
||||
frag.add_uniform('int envmapNumMipmaps', link='_envmapNumMipmaps')
|
||||
frag.write('vec3 reflectionWorld = reflect(-eyeDir, n);')
|
||||
frag.write('vec3 reflectionWorld = reflect(-normalize(eyeDir), voxnormal);')
|
||||
frag.write('float lod = getMipFromRoughness(roughness, envmapNumMipmaps);')
|
||||
frag.write('vec3 prefilteredColor = textureLod(senvmapRadiance, envMapEquirect(reflectionWorld), lod).rgb;')
|
||||
|
||||
@ -251,7 +254,7 @@ def make_gi(context_id):
|
||||
frag.write('envl *= envmapStrength * occlusion;')
|
||||
|
||||
frag.write('if (direction_weights.x > 0) {')
|
||||
frag.write(' vec4 basecol_direction = vec4(min(basecol * direction_weights.x, vec3(1.0)), 1.0);')
|
||||
frag.write(' vec4 basecol_direction = vec4(basecol * direction_weights.x, 1.0);')
|
||||
frag.write(' vec3 emission_direction = emissionCol * direction_weights.x;')
|
||||
frag.write(' vec2 normal_direction = encode_oct(N * direction_weights.x) * 0.5 + 0.5;')
|
||||
frag.write(' vec3 envl_direction = envl * direction_weights.x;')
|
||||
@ -270,7 +273,7 @@ def make_gi(context_id):
|
||||
frag.write('}')
|
||||
|
||||
frag.write('if (direction_weights.y > 0) {')
|
||||
frag.write(' vec4 basecol_direction = vec4(min(basecol * direction_weights.y, vec3(1.0)), 1.0);')
|
||||
frag.write(' vec4 basecol_direction = vec4(basecol * direction_weights.y, 1.0);')
|
||||
frag.write(' vec3 emission_direction = emissionCol * direction_weights.y;')
|
||||
frag.write(' vec2 normal_direction = encode_oct(N * direction_weights.y) * 0.5 + 0.5;')
|
||||
frag.write(' vec3 envl_direction = envl * direction_weights.y;')
|
||||
@ -289,7 +292,7 @@ def make_gi(context_id):
|
||||
frag.write('}')
|
||||
|
||||
frag.write('if (direction_weights.z > 0) {')
|
||||
frag.write(' vec4 basecol_direction = vec4(min(basecol * direction_weights.z, vec3(1.0)), 1.0);')
|
||||
frag.write(' vec4 basecol_direction = vec4(basecol * direction_weights.z, 1.0);')
|
||||
frag.write(' vec3 emission_direction = emissionCol * direction_weights.z;')
|
||||
frag.write(' vec2 normal_direction = encode_oct(n * direction_weights.z) * 0.5 + 0.5;')
|
||||
frag.write(' vec3 envl_direction = envl * direction_weights.z;')
|
||||
|
Loading…
x
Reference in New Issue
Block a user