evp1.py 文件源码

python
阅读 32 收藏 0 点赞 0 评论 0

项目:j3dview 作者: blank63 项目源码 文件源码
def unpack(stream):
    base = stream.tell()
    header = Header.unpack(stream)

    influence_groups = [None]*header.influence_group_count
    inverse_bind_matrices = None

    stream.seek(base + header.influence_count_offset)
    for i in range(header.influence_group_count):
        influence_count = uint8.unpack(stream)
        influence_groups[i] = [Influence(None,None) for _ in range(influence_count)]

    stream.seek(base + header.index_offset)
    for influence_group in influence_groups:
        for influence in influence_group:
            influence.index = uint16.unpack(stream)

    stream.seek(base + header.weight_offset)
    for influence_group in influence_groups:
        for influence in influence_group:
            influence.weight = float32.unpack(stream)

    if header.inverse_bind_matrix_offset != 0:
        stream.seek(base + header.inverse_bind_matrix_offset)
        element_type = numpy.dtype((numpy.float32,(3,4))).newbyteorder('>')
        element_count = (header.section_size - header.inverse_bind_matrix_offset)//element_type.itemsize
        inverse_bind_matrices = numpy.fromfile(stream,element_type,element_count)

    stream.seek(base + header.section_size)
    return influence_groups,inverse_bind_matrices
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号