Changeset 411 for trunk/src/gfx
- Timestamp:
- 07/09/15 12:19:30 (10 years ago)
- Location:
- trunk/src/gfx
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/gfx/mesh_creator.cc
r410 r411 19 19 key_data* keys = m_data->m_nodes[i].data; 20 20 key_data* pkeys = ( parent_id != -1 ? m_data->m_nodes[parent_id].data : nullptr ); 21 size_t count = ( keys ? keys->get_channel(0)-> count: 0 );22 size_t pcount = ( pkeys ? pkeys->get_channel(0)-> count: 0 );21 size_t count = ( keys ? keys->get_channel(0)->element_count() : 0 ); 22 size_t pcount = ( pkeys ? pkeys->get_channel(0)->element_count() : 0 ); 23 23 max_frames = nv::max<uint32>( count, max_frames ); 24 24 if ( pkeys && pkeys->get_channel_count() > 0 && keys && keys->get_channel_count() > 0 ) … … 66 66 } 67 67 68 key_raw_channel* raw_channel = key_raw_channel::create<nv_key_transform>( max_keys );68 raw_data_channel* raw_channel = raw_data_channel::create<nv_key_transform>( max_keys ); 69 69 key_data* new_keys = new key_data; 70 70 new_keys->add_channel( raw_channel ); … … 80 80 { 81 81 size_t idx = nv::min( old_keys->get_channel(c)->count - 1, n ); 82 pkey += old_keys->get_ channel(c)->get_raw(idx, pkey );82 pkey += old_keys->get_raw( old_keys->get_channel(c), idx, pkey ); 83 83 } 84 84 channel[n].tform = extract_transform_raw( final_key, key ); … … 106 106 for ( size_t c = 0; c < kdata->get_channel_count(); ++c ) 107 107 { 108 const key_raw_channel* channel = kdata->get_channel(c);108 const raw_data_channel* channel = kdata->get_channel(c); 109 109 size_t key_size = channel->desc.element_size(); 110 110 for ( size_t n = 0; n < channel->count; ++n ) … … 125 125 for ( uint32 c = 0; c < m_data->get_channel_count(); ++c ) 126 126 { 127 const mesh_raw_channel* channel = m_data->get_channel(c);127 const raw_data_channel* channel = m_data->get_channel(c); 128 128 const data_descriptor& desc = channel->desc; 129 129 uint8* raw_data = channel->data; … … 173 173 size_t n_offset = 0; 174 174 if ( ch_n == -1 ) return; 175 mesh_raw_channel* channel = m_data->m_channels[ unsigned( ch_n ) ];175 raw_data_channel* channel = m_data->m_channels[ unsigned( ch_n ) ]; 176 176 for ( const auto& cslot : channel->desc ) 177 177 if ( cslot.vslot == slot::NORMAL ) … … 196 196 uint32 n_channel_index = 0; 197 197 198 const mesh_raw_channel* p_channel = nullptr;199 mesh_raw_channel* n_channel = nullptr;200 const mesh_raw_channel* t_channel = nullptr;201 const mesh_raw_channel* i_channel = nullptr;198 const raw_data_channel* p_channel = nullptr; 199 raw_data_channel* n_channel = nullptr; 200 const raw_data_channel* t_channel = nullptr; 201 const raw_data_channel* i_channel = nullptr; 202 202 203 203 for ( uint32 c = 0; c < m_data->get_channel_count(); ++c ) 204 204 { 205 const mesh_raw_channel* channel = m_data->get_channel(c);205 const raw_data_channel* channel = m_data->get_channel(c); 206 206 207 207 for ( const auto& cslot : channel->desc ) … … 247 247 } 248 248 249 mesh_raw_channel* g_channel = mesh_raw_channel::create<vertex_g>( p_channel->count );249 raw_data_channel* g_channel = raw_data_channel::create<vertex_g>( p_channel->count ); 250 250 vec4* tangents = reinterpret_cast<vec4*>( g_channel->data ); 251 251 vec3* tangents2 = new vec3[ p_channel->count ]; … … 334 334 } 335 335 336 nv:: mesh_raw_channel* nv::mesh_data_creator::merge_channels( mesh_raw_channel* a, mesh_raw_channel* b )336 nv::raw_data_channel* nv::mesh_data_creator::merge_channels( raw_data_channel* a, raw_data_channel* b ) 337 337 { 338 338 NV_ASSERT( a->count == b->count, "merge_channel - bad channels!" ); … … 352 352 raw_copy_n( b->data + i * bdesc.element_size(), bdesc.element_size(), data + i*desc.element_size() + adesc.element_size() ); 353 353 } 354 mesh_raw_channel* result = new mesh_raw_channel;354 raw_data_channel* result = new raw_data_channel; 355 355 result->count = count; 356 356 result->desc = desc; … … 359 359 } 360 360 361 nv:: mesh_raw_channel* nv::mesh_data_creator::append_channels( mesh_raw_channel* a, mesh_raw_channel* b, uint32 frame_count )361 nv::raw_data_channel* nv::mesh_data_creator::append_channels( raw_data_channel* a, raw_data_channel* b, uint32 frame_count ) 362 362 { 363 363 if ( a->desc != b->desc ) return nullptr; … … 391 391 } 392 392 393 mesh_raw_channel* result = new mesh_raw_channel;394 result->count = a-> count + b->count;395 result->desc = a->desc ;393 raw_data_channel* result = new raw_data_channel; 394 result->count = a->element_count() + b->element_count(); 395 result->desc = a->descriptor(); 396 396 result->data = data; 397 397 return result; … … 405 405 for ( uint32 c = 0; c < m_data->get_channel_count(); ++c ) 406 406 { 407 if ( m_data->get_channel(c)->desc != other->get_channel(c)->desc)407 if ( m_data->get_channel(c)->descriptor() != other->get_channel(c)->descriptor() ) 408 408 return false; 409 409 } … … 419 419 int och_ti = other->get_channel_index( slot::TEXCOORD ); 420 420 if ( ch_pi == -1 || ch_ti == -1 ) return; 421 size_t size = m_data->m_channels[ unsigned(ch_ti) ]-> count;422 size_t osize = other->m_channels[ unsigned(och_ti) ]-> count;423 size_t count = m_data->m_channels[ unsigned(ch_pi) ]-> count;424 size_t ocount = other->m_channels[ unsigned(och_pi) ]-> count;421 size_t size = m_data->m_channels[ unsigned(ch_ti) ]->element_count(); 422 size_t osize = other->m_channels[ unsigned(och_ti) ]->element_count(); 423 size_t count = m_data->m_channels[ unsigned(ch_pi) ]->element_count(); 424 size_t ocount = other->m_channels[ unsigned(och_pi) ]->element_count(); 425 425 if ( count % size != 0 || ocount % osize != 0 ) return; 426 426 if ( count / size != ocount / osize ) return; … … 428 428 for ( uint32 c = 0; c < m_data->get_channel_count(); ++c ) 429 429 { 430 mesh_raw_channel* old = m_data->m_channels[c];431 size_t frame_count = ( old->get_buffer_type() == INDEX_BUFFER ? 1 : old-> count/ size );430 raw_data_channel* old = m_data->m_channels[c]; 431 size_t frame_count = ( old->get_buffer_type() == INDEX_BUFFER ? 1 : old->element_count() / size ); 432 432 m_data->m_channels[c] = append_channels( old, other->m_channels[c], frame_count ); 433 433 NV_ASSERT( m_data->m_channels[c], "Merge problem!" ); … … 440 440 NV_ASSERT( size + osize < uint16(-1), "Index out of range!" ); 441 441 uint16* indexes = reinterpret_cast<uint16*>( m_data->m_channels[c]->data ); 442 for ( uint16 i = uint16( old-> count ); i < m_data->m_channels[c]->count; ++i )442 for ( uint16 i = uint16( old->element_count() ); i < m_data->m_channels[c]->element_count(); ++i ) 443 443 indexes[i] += uint16( size ); 444 444 … … 448 448 { 449 449 uint32* indexes = reinterpret_cast<uint32*>( m_data->m_channels[c]->data ); 450 for ( uint32 i = old-> count; i < m_data->m_channels[c]->count; ++i )450 for ( uint32 i = old->element_count(); i < m_data->m_channels[c]->element_count(); ++i ) 451 451 indexes[i] += size; 452 452 } -
trunk/src/gfx/skeletal_mesh.cc
r406 r411 15 15 , m_data( a_mesh_data ) 16 16 { 17 const mesh_raw_channel* pnt_chan = a_mesh_data->get_channel<md5_vtx_pnt>();17 const raw_data_channel* pnt_chan = a_mesh_data->get_channel<md5_vtx_pnt>(); 18 18 m_pntdata.assign( reinterpret_cast<const md5_vtx_pnt*>( pnt_chan->data ), pnt_chan->count ); 19 19 m_bone_offset.resize( bones->get_count() );
Note: See TracChangeset
for help on using the changeset viewer.