forked from LeenkxTeam/LNXSDK
Group Nodes, Shaders, Textures, Displacement
This commit is contained in:
@ -69,12 +69,14 @@ def parse_mixshader(node: bpy.types.ShaderNodeMixShader, out_socket: NodeSocket,
|
||||
c.parse_shader_input(node.inputs[2])
|
||||
return
|
||||
|
||||
prefix = '' if node.inputs['Fac'].is_linked else 'const '
|
||||
fac = c.parse_value_input(node.inputs['Fac'])
|
||||
fac_var = c.node_name(node.name) + '_fac' + state.get_parser_pass_suffix()
|
||||
fac_inv_var = c.node_name(node.name) + '_fac_inv'
|
||||
state.curshader.write('{0}float {1} = clamp({2}, 0.0, 1.0);'.format(prefix, fac_var, fac))
|
||||
state.curshader.write('{0}float {1} = 1.0 - {2};'.format(prefix, fac_inv_var, fac_var))
|
||||
fac_var = c.node_uid(node) + '_fac' + state.get_parser_pass_suffix()
|
||||
fac_inv_var = c.node_uid(node) + '_fac_inv' + state.get_parser_pass_suffix()
|
||||
if not c.is_parsed(fac_var):
|
||||
state.parsed.add(fac_var)
|
||||
prefix = '' if node.inputs['Fac'].is_linked else 'const '
|
||||
fac = c.parse_value_input(node.inputs['Fac'])
|
||||
state.curshader.write('{0}float {1} = clamp({2}, 0.0, 1.0);'.format(prefix, fac_var, fac))
|
||||
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
|
||||
o1 = c.parse_shader_input(node.inputs[1])
|
||||
@ -435,7 +437,7 @@ if bpy.app.version >= (2, 83, 0):
|
||||
def parse_bsdfhairprincipled(node: 'bpy.types.ShaderNodeBsdfHairPrincipled', out_socket: NodeSocket, state: ParserState) -> None:
|
||||
if state.parse_surface:
|
||||
c.write_normal(node.inputs['Normal'])
|
||||
parametrization = getattr(node, 'parametrization', 'COLOR')
|
||||
parametrization = node.parametrization
|
||||
if parametrization == 'COLOR':
|
||||
color_socket = node.inputs.get('Color')
|
||||
if color_socket is not None:
|
||||
@ -457,7 +459,7 @@ if bpy.app.version >= (2, 83, 0):
|
||||
rough_socket = node.inputs.get('Roughness')
|
||||
if rough_socket is not None:
|
||||
state.out_roughness = c.parse_value_input(rough_socket)
|
||||
model = getattr(node, 'model', 'CHIANG')
|
||||
model = node.model if bpy.app.version >= (4, 0, 0) else 'CHIANG'
|
||||
if model == 'CHIANG':
|
||||
radial_rough_socket = node.inputs.get('Radial Roughness')
|
||||
if radial_rough_socket is not None:
|
||||
|
||||
Reference in New Issue
Block a user