Ejemplo n.º 1
0
def write_norpos(con_mesh, vert, declare=False, write_nor=True):
    prep = ''
    if declare:
        prep = 'vec3 '
    vert.write_pre = True
    is_bone = con_mesh.is_elem('bone')
    if is_bone:
        make_skin.skin_pos(vert)
    if write_nor:
        if is_bone:
            make_skin.skin_nor(vert, prep)
        else:
            vert.write(prep + 'wnormal = normalize(N * nor);')
    if con_mesh.is_elem('off'):
        vert.write('spos.xyz += off;')
    vert.write_pre = False
Ejemplo n.º 2
0
def write_norpos(con_mesh, vert, declare=False, write_nor=True):
    prep = ''
    if declare:
        prep = 'vec3 '
    vert.write_pre = True
    is_bone = con_mesh.is_elem('bone')
    if is_bone:
        make_skin.skin_pos(vert)
    if write_nor:
        if is_bone:
            make_skin.skin_nor(vert, prep)
        else:
            vert.write(prep + 'wnormal = normalize(N * vec3(nor.xy, pos.w));')
    if con_mesh.is_elem('ipos'):
        make_inst.inst_pos(con_mesh, vert)
    vert.write_pre = False
Ejemplo n.º 3
0
def write_norpos(con_mesh: shader.ShaderContext,
                 vert: shader.Shader,
                 declare=False,
                 write_nor=True):
    is_bone = con_mesh.is_elem('bone')
    if is_bone:
        make_skin.skin_pos(vert)
    if write_nor:
        prep = 'vec3 ' if declare else ''
        if is_bone:
            make_skin.skin_nor(vert, prep)
        else:
            vert.write_attrib(prep +
                              'wnormal = normalize(N * vec3(nor.xy, pos.w));')
    if con_mesh.is_elem('ipos'):
        make_inst.inst_pos(con_mesh, vert)
Ejemplo n.º 4
0
def write_norpos(con_mesh: ShaderContext,
                 vert: Shader,
                 declare=False,
                 write_nor=True):
    is_bone = con_mesh.is_elem('bone')
    is_morph = con_mesh.is_elem('morph')
    if is_morph:
        make_morph_target.morph_pos(vert)
    if is_bone:
        make_skin.skin_pos(vert)
    if write_nor:
        prep = 'vec3 ' if declare else ''
        if is_morph:
            make_morph_target.morph_nor(vert, is_bone, prep)
        if is_bone:
            make_skin.skin_nor(vert, is_morph, prep)
        if not is_morph and not is_bone:
            vert.write_attrib(prep +
                              'wnormal = normalize(N * vec3(nor.xy, pos.w));')
    if con_mesh.is_elem('ipos'):
        make_inst.inst_pos(con_mesh, vert)