Changeset 419 for trunk/src/gfx/mesh_creator.cc
- Timestamp:
- 07/14/15 20:19:52 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/gfx/mesh_creator.cc
r418 r419 19 19 { 20 20 sint16 parent_id = m_data->m_nodes[i].parent_id; 21 key_channel_set* keys = m_data->m_nodes[i].data;22 key_channel_set* pkeys = ( parent_id != -1 ? m_data->m_nodes[parent_id].data : nullptr );21 data_channel_set* keys = m_data->m_nodes[i].data; 22 data_channel_set* pkeys = ( parent_id != -1 ? m_data->m_nodes[parent_id].data : nullptr ); 23 23 size_t count = ( keys ? keys->get_channel_size(0) : 0 ); 24 24 size_t pcount = ( pkeys ? pkeys->get_channel_size(0) : 0 ); … … 46 46 } 47 47 48 // TODO: DELETE49 struct assimp_key_p { float time; nv::vec3 position; };50 struct assimp_key_r { float time; nv::quat rotation; };51 52 48 53 49 void nv::mesh_nodes_creator::merge_keys() … … 55 51 for ( size_t i = 0; i < m_data->get_count(); ++i ) 56 52 { 57 key_channel_set* old_keys = m_data->m_nodes[i].data;53 data_channel_set* old_keys = m_data->m_nodes[i].data; 58 54 if ( old_keys && old_keys->size() > 0 ) 59 55 { … … 69 65 } 70 66 71 key_channel_set* new_keys = key_channel_set_creator::create( 1 );72 key_channel_set_creator nk_access( new_keys );67 data_channel_set* new_keys = data_channel_set_creator::create( 1 ); 68 data_channel_set_creator nk_access( new_keys ); 73 69 data_channel_access< nv_key_transform > kt_channel( nk_access.add_channel<nv_key_transform>( max_keys ) ); 74 70 75 data_descriptor final_key = old_keys->get_final_key(); 71 raw_channel_interpolator interpolator( old_keys ); 72 data_descriptor final_key = interpolator.get_interpolation_key(); 76 73 77 74 for ( unsigned n = 0; n < max_keys; ++n ) … … 83 80 { 84 81 size_t idx = nv::min( old_keys->get_channel_size(c) - 1, n ); 85 pkey += old_keys->get_raw( *old_keys->get_channel(c), idx, pkey );86 } 87 kt_channel.data()[n].tform = extract_ transform_raw( final_key, key );82 pkey += raw_channel_interpolator::get_raw( *old_keys->get_channel(c), idx, pkey ); 83 } 84 kt_channel.data()[n].tform = extract_key_raw< nv::transform >( final_key, key ); 88 85 } 89 86 … … 106 103 if ( node.data ) 107 104 { 108 key_channel_set* kdata = node.data;105 data_channel_set* kdata = node.data; 109 106 for ( size_t c = 0; c < kdata->size(); ++c ) 110 107 { … … 332 329 } 333 330 } 334 delete tangents2;331 delete[] tangents2; 335 332 336 333 data_channel_set_creator( m_data ).set_channel( n_channel_index, merge_channels( *n_channel, g_channel ) );
Note: See TracChangeset
for help on using the changeset viewer.