Changeset 424 for trunk/src/gfx


Ignore:
Timestamp:
07/16/15 21:21:19 (10 years ago)
Author:
epyon
Message:
  • refactoring WIP! (compiles though - warnings on purpose)
Location:
trunk/src/gfx
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/gfx/keyframed_mesh.cc

    r419 r424  
    5656        NV_ASSERT( node_id < m_tag_map->get_count(), "TAGMAP FAIL" );
    5757        const data_channel_set* data = m_tag_map->get_node( node_id )->data;
    58         NV_ASSERT( data, "TAG FAIL" );
     58        NV_ASSERT( data && data->size() > 0, "TAG FAIL" );
    5959        raw_channel_interpolator interpolator( data, m_interpolation_key );
    6060        return interpolator.get< transform >( m_last_frame, m_next_frame, m_interpolation );
  • trunk/src/gfx/mesh_creator.cc

    r419 r424  
    1818        for ( size_t i = 0; i < m_data->get_count(); ++i )
    1919        {
    20                 sint16 parent_id = m_data->m_nodes[i].parent_id;
     20                sint16 parent_id = m_data->m_nodes[i].data->get_parent_id();
    2121                data_channel_set* keys   = m_data->m_nodes[i].data;
    2222                data_channel_set* pkeys  = ( parent_id != -1 ? m_data->m_nodes[parent_id].data : nullptr );
     
    6565                        }
    6666
    67                         data_channel_set* new_keys = data_channel_set_creator::create( 1 );
     67                        data_channel_set* new_keys = data_channel_set_creator::create_set( 1 );
    6868                        data_channel_set_creator nk_access( new_keys );
     69                        nk_access.set_name( old_keys->get_name() );
     70                        nk_access.set_parent_id( old_keys->get_parent_id() );
     71                        nk_access.set_transform( old_keys->get_transform() );
    6972                        data_channel_access< nv_key_transform > kt_channel( nk_access.add_channel<nv_key_transform>( max_keys ) );
    7073
     
    100103        {
    101104                mesh_node_data& node = m_data->m_nodes[i];
    102                 node.transform = pre_transform * node.transform * post_transform;
     105                node.data->m_transform = pre_transform * node.data->m_transform * post_transform;
    103106                if ( node.data )
    104107                {
  • trunk/src/gfx/skeletal_mesh.cc

    r423 r424  
    2323        for ( uint32 i = 0; i < bones->get_count(); ++i )
    2424        {
    25                 m_bone_offset[i] = transform( bones->get_node(i)->transform );
     25                m_bone_offset[i] = transform( bones->get_node(i)->data->get_transform() );
    2626        }
    2727
     
    9595        for ( size_t i = 0; i < m_node_data->get_count(); ++i )
    9696        {
    97                 if ( m_node_data->get_node( i )->data )
     97                if ( m_node_data->is_animated( i ) )
    9898                {
    9999                        m_interpolation_key = m_node_data->get_node( i )->data->get_interpolation_key();
     
    133133                {
    134134                        const mesh_node_data* node = m_node_data->get_node(n);
    135                         if ( node->parent_id != -1 )
    136                         {
    137                                 m_children[ node->parent_id ].push_back( n );
     135                        if ( node->data->get_parent_id() != -1 )
     136                        {
     137                                m_children[ node->data->get_parent_id()].push_back( n );
    138138                        }
    139139                }
     
    157157                {
    158158                        const mesh_node_data* node = m_node_data->get_node(n);
    159                         nv::mat4 node_mat( node->transform );
    160 
    161                         if ( node->data )
     159                        nv::mat4 node_mat( node->data->get_transform() );
     160
     161                        if ( node->data && node->data->size() > 0 )
    162162                        {
    163163                                raw_channel_interpolator interpolator( node->data, m_interpolation_key );
     
    178178        {
    179179                const mesh_node_data* bone = bones->get_node(bi);
    180                 bone_names[ bone->name ] = bi;
    181                 m_offsets[bi] = bone->transform;
     180                bone_names[ bone->data->get_name() ] = bi;
     181                m_offsets[bi] = bone->data->get_transform();
    182182        }
    183183
     
    187187                sint16 bone_id = -1;
    188188
    189                 auto bi = bone_names.find( node->name );
     189                auto bi = bone_names.find( node->data->get_name() );
    190190                if ( bi != bone_names.end() )
    191191                {
     
    194194                m_bone_ids[n] = bone_id;
    195195
    196                 if ( m_interpolation_key.size() == 0 && node->data )
     196                if ( m_interpolation_key.size() == 0 && node->data->size() > 0 )
    197197                        m_interpolation_key = node->data->get_interpolation_key();
    198198
     
    206206        //       see note in assimp_loader.cc:load_node
    207207        const mesh_node_data* node = m_node_data->get_node( node_id );
    208         mat4 node_mat( node->transform );
    209 
    210         if ( node->data )
     208        mat4 node_mat( node->data->get_transform() );
     209
     210        if ( node->data && node->data->size() > 0 )
    211211        {
    212212                raw_channel_interpolator interpolator( node->data, m_interpolation_key );
Note: See TracChangeset for help on using the changeset viewer.