Fix displacement compile
This commit is contained in:
parent
e760a781fd
commit
6a5c9cc10a
|
@ -1166,9 +1166,13 @@ class ArmoryExporter:
|
|||
|
||||
# Scale for packed coords
|
||||
maxdim = max(bobject.data.arm_aabb[0], max(bobject.data.arm_aabb[1], bobject.data.arm_aabb[2]))
|
||||
o['scale_pos'] = maxdim / 2
|
||||
if maxdim > 2:
|
||||
o['scale_pos'] = maxdim / 2
|
||||
else:
|
||||
o['scale_pos'] = 1.0
|
||||
if has_armature: # Allow up to 2x bigger bounds for skinned mesh
|
||||
o['scale_pos'] *= 2.0
|
||||
|
||||
scale_pos = o['scale_pos']
|
||||
invscale_pos = (1 / scale_pos) * 32767
|
||||
|
||||
|
|
|
@ -103,7 +103,7 @@ def parse_output(node, _con, _vert, _frag, _geom, _tesc, _tese, _parse_surface,
|
|||
else:
|
||||
curshader = vert
|
||||
out_disp = parse_displacement_input(node.inputs[2])
|
||||
curshader.write('float disp = {0};'.format(out_disp))
|
||||
curshader.write('vec3 disp = {0};'.format(out_disp))
|
||||
|
||||
def parse_group(node, socket): # Entering group
|
||||
index = socket_index(node, socket)
|
||||
|
|
|
@ -47,7 +47,7 @@ def make(context_id, rpasses, shadowmap=False):
|
|||
if is_disp:
|
||||
if rpdat.arm_rp_displacement == 'Vertex':
|
||||
vert.add_uniform('mat3 N', '_normalMatrix')
|
||||
vert.write('vec3 wnormal = normalize(N * nor);')
|
||||
vert.write('vec3 wnormal = normalize(N * vec3(nor.xy, pos.w));')
|
||||
cycles.parse(mat_state.nodes, con_depth, vert, frag, geom, tesc, tese, parse_surface=False, parse_opacity=parse_opacity)
|
||||
if con_depth.is_elem('tex'):
|
||||
vert.add_out('vec2 texCoord') ## vs only, remove out
|
||||
|
|
Loading…
Reference in a new issue