Skip to content

Commit

Permalink
rollback index values for material mix. simplify make_mesh.py.
Browse files Browse the repository at this point in the history
  • Loading branch information
e2002e committed Jan 14, 2024
1 parent cc35a80 commit 7114d78
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 8 deletions.
4 changes: 2 additions & 2 deletions blender/arm/material/cycles_nodes/nodes_shader.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,11 +35,11 @@ def parse_mixshader(node: bpy.types.ShaderNodeMixShader, out_socket: NodeSocket,
state.curshader.write('{0}float {1} = 1.0 - {2};'.format(prefix, fac_inv_var, fac_var))

mat_state.emission_type = mat_state.EmissionType.NO_EMISSION
bc1, rough1, met1, occ1, spec1, opac1, ior1, emi1 = c.parse_shader_input(node.inputs[0])
bc1, rough1, met1, occ1, spec1, opac1, ior1, emi1 = c.parse_shader_input(node.inputs[1])
ek1 = mat_state.emission_type

mat_state.emission_type = mat_state.EmissionType.NO_EMISSION
bc2, rough2, met2, occ2, spec2, opac2, ior2, emi2 = c.parse_shader_input(node.inputs[1])
bc2, rough2, met2, occ2, spec2, opac2, ior2, emi2 = c.parse_shader_input(node.inputs[2])
ek2 = mat_state.emission_type

if state.parse_surface:
Expand Down
9 changes: 3 additions & 6 deletions blender/arm/material/make_mesh.py
Original file line number Diff line number Diff line change
Expand Up @@ -548,21 +548,18 @@ def make_forward(con_mesh):
if rpdat.rp_ss_refraction:
mrt += 1
if mrt != 0:
idx_refraction = 1
# Store light gbuffer for post-processing
frag.add_out(f'vec4 fragColor[{mrt}+1]')
frag.add_include('std/gbuffer.glsl')
frag.write('n /= (abs(n.x) + abs(n.y) + abs(n.z));')
frag.write('n.xy = n.z >= 0.0 ? n.xy : octahedronWrap(n.xy);')
frag.write('fragColor[0] = vec4(direct + indirect, packFloat2(occlusion, specular));')
if rpdat.rp_ssr:
frag.write('fragColor[1] = vec4(n.xy, roughness, metallic);')
idx_refraction += 1
frag.write('fragColor[1] = vec4(n.xy, roughness, metallic);')
if rpdat.rp_ss_refraction:
if parse_opacity:
frag.write(f'fragColor[{idx_refraction}] = vec4(ior, opacity, 0.0, 0.0);')
frag.write(f'fragColor[2] = vec4(ior, opacity, 0.0, 0.0);')
else:
frag.write(f'fragColor[{idx_refraction}] = vec4(1.0, 1.0, 0.0, 0.0);')
frag.write(f'fragColor[2] = vec4(1.0, 1.0, 0.0, 0.0);')

else:
frag.add_out('vec4 fragColor[1]')
Expand Down

0 comments on commit 7114d78

Please sign in to comment.