Ignore:
Timestamp:
02/24/16 18:47:54 (9 years ago)
Author:
epyon
Message:
  • mass update once again...
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/formats/assimp_loader.cc

    r485 r486  
    133133        {
    134134                data_node_info info;
    135                 data_channel_set* data = data_channel_set_creator::create_set( 2 );
    136                 load_mesh_data( data, i, info );
    137                 m_meshes.push_back( data );
     135                data_channel_set* mdata = data_channel_set_creator::create_set( 2 );
     136                load_mesh_data( mdata, i, info );
     137                m_meshes.push_back( mdata );
    138138                m_mesh_info.push_back( info );
    139139        }
     
    184184        int hack_for_node_anim;
    185185        if ( is_node_animated() )
    186                 info.parent_id = index;
     186                info.parent_id = sint16( index );
    187187
    188188
     
    339339}
    340340
    341 void nv::assimp_loader::build_skeleton( vector< data_node_info >& skeleton, const void* node, int parent_id )
     341void nv::assimp_loader::build_skeleton( vector< data_node_info >& skeleton, const void* node, sint16 parent_id )
    342342{
    343343        const aiNode* ainode = reinterpret_cast<const aiNode*>( node );
     
    360360        info.parent_id = parent_id;
    361361
    362         int this_id = skeleton.size();
     362        sint16 this_id = sint16( skeleton.size() );
    363363        skeleton.push_back( info );
    364364        for ( unsigned i = 0; i < ainode->mNumChildren; ++i )
     
    428428                {
    429429                        mat4 tr = nv::math::inverse( assimp_mat4_cast( m_data->node_by_name[bone_data[i].name]->mTransformation ) );
    430                         bone_data[i].transform = tr * bone_data[bone_data[i].parent_id].transform;
     430                        int pid = bone_data[i].parent_id;
     431                        if ( pid != -1 )
     432                                bone_data[i].transform = tr * bone_data[pid].transform;
     433                        else
     434                                bone_data[i].transform = tr;
    431435                }
    432436//              list->append( bone_data[i] );
     
    449453        if ( scene->mRootNode == nullptr || scene->mAnimations == nullptr || scene->mAnimations[index] == nullptr) return nullptr;
    450454
    451         const aiNode*      root = scene->mRootNode;
    452455        const aiAnimation* anim = scene->mAnimations[index];
    453456
     
    481484}
    482485
    483 data_node_list* nv::assimp_loader::release_data_node_list( size_t index /*= 0 */ )
     486data_node_list* nv::assimp_loader::release_data_node_list( size_t /*= 0 */ )
    484487{
    485488        return release_merged_bones();
Note: See TracChangeset for help on using the changeset viewer.