Changeset 415 for trunk/src/gfx
- Timestamp:
- 07/09/15 20:02:58 (10 years ago)
- Location:
- trunk/src/gfx
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/gfx/keyframed_mesh.cc
r413 r415 23 23 , m_active( false ) 24 24 { 25 m_index_count = m_mesh_data->get_index_channel()-> element_count();26 m_vertex_count = m_mesh_data->get_channel<vertex_t>()-> element_count();25 m_index_count = m_mesh_data->get_index_channel()->size(); 26 m_vertex_count = m_mesh_data->get_channel<vertex_t>()->size(); 27 27 m_vchannel = m_mesh_data->get_channel<vertex_pnt>(); 28 28 m_vsize = sizeof( vertex_pnt ); … … 34 34 m_vsize = sizeof( vertex_pn ); 35 35 } 36 m_frame_count = m_vchannel-> element_count() / m_vertex_count;36 m_frame_count = m_vchannel->size() / m_vertex_count; 37 37 m_pbuffer = buffer(); 38 38 } -
trunk/src/gfx/mesh_creator.cc
r413 r415 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)-> element_count() : 0 );22 size_t pcount = ( pkeys ? pkeys->get_channel(0)-> element_count() : 0 );21 size_t count = ( keys ? keys->get_channel(0)->size() : 0 ); 22 size_t pcount = ( pkeys ? pkeys->get_channel(0)->size() : 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 ) … … 58 58 size_t chan_count = old_keys->get_channel_count(); 59 59 if ( chan_count == 1 60 && old_keys->get_channel(0)->descriptor().s lot_count() == 160 && old_keys->get_channel(0)->descriptor().size() == 1 61 61 && old_keys->get_channel(0)->descriptor()[0].etype == TRANSFORM ) continue; 62 62 … … 64 64 for ( size_t c = 0; c < chan_count; ++c ) 65 65 { 66 max_keys = nv::max( max_keys, old_keys->get_channel(c)-> element_count() );66 max_keys = nv::max( max_keys, old_keys->get_channel(c)->size() ); 67 67 } 68 68 … … 78 78 for ( uint16 c = 0; c < chan_count; ++c ) 79 79 { 80 size_t idx = nv::min( old_keys->get_channel(c)-> element_count() - 1, n );80 size_t idx = nv::min( old_keys->get_channel(c)->size() - 1, n ); 81 81 pkey += old_keys->get_raw( old_keys->get_channel(c), idx, pkey ); 82 82 } … … 242 242 if ( !p_channel || !n_channel || !t_channel ) return; 243 243 244 if ( p_channel-> element_count() != n_channel->element_count()245 || p_channel-> element_count() % t_channel->element_count() != 0244 if ( p_channel->size() != n_channel->size() 245 || p_channel->size() % t_channel->size() != 0 246 246 || ( i_type != UINT && i_type != USHORT && i_type != NONE ) ) 247 247 { … … 249 249 } 250 250 251 data_channel_creator< vertex_g > g_channel( p_channel-> element_count() );251 data_channel_creator< vertex_g > g_channel( p_channel->size() ); 252 252 vec4* tangents = &( g_channel.data()[0].tangent ); 253 vec3* tangents2 = new vec3[ p_channel-> element_count() ];254 uint32 tri_count = i_channel ? i_channel-> element_count() / 3 : t_channel->element_count() / 3;255 uint32 vtx_count = p_channel-> element_count();256 uint32 sets = p_channel-> element_count() / t_channel->element_count();253 vec3* tangents2 = new vec3[ p_channel->size() ]; 254 uint32 tri_count = i_channel ? i_channel->size() / 3 : t_channel->size() / 3; 255 uint32 vtx_count = p_channel->size(); 256 uint32 sets = p_channel->size() / t_channel->size(); 257 257 258 258 for ( unsigned int i = 0; i < tri_count; ++i ) … … 292 292 for ( uint32 set = 0; set < sets; ++set ) 293 293 { 294 uint32 nti0 = t_channel-> element_count() * set + ti0;295 uint32 nti1 = t_channel-> element_count() * set + ti1;296 uint32 nti2 = t_channel-> element_count() * set + ti2;294 uint32 nti0 = t_channel->size() * set + ti0; 295 uint32 nti1 = t_channel->size() * set + ti1; 296 uint32 nti2 = t_channel->size() * set + ti2; 297 297 const vec3& v1 = *reinterpret_cast<const vec3*>(p_channel->raw_data() + p_channel->element_size()*nti0 + p_offset ); 298 298 const vec3& v2 = *reinterpret_cast<const vec3*>(p_channel->raw_data() + p_channel->element_size()*nti1 + p_offset ); … … 337 337 nv::raw_data_channel* nv::mesh_data_creator::merge_channels( raw_data_channel* a, raw_data_channel* b ) 338 338 { 339 NV_ASSERT( a-> element_count() == b->element_count(), "merge_channel - bad channels!" );339 NV_ASSERT( a->size() == b->size(), "merge_channel - bad channels!" ); 340 340 data_descriptor desc = a->descriptor(); 341 341 desc.append( b->descriptor() ); 342 342 343 raw_data_channel_creator result( desc, a-> element_count() );344 for ( uint32 i = 0; i < a-> element_count(); ++i )343 raw_data_channel_creator result( desc, a->size() ); 344 for ( uint32 i = 0; i < a->size(); ++i ) 345 345 { 346 346 raw_copy_n( a->raw_data() + i * a->element_size(), a->element_size(), result.raw_data() + i*desc.element_size() ); … … 354 354 { 355 355 if ( a->descriptor() != b->descriptor() ) return nullptr; 356 if ( a-> element_count() % frame_count != 0 ) return nullptr;357 if ( b-> element_count() % frame_count != 0 ) return nullptr;356 if ( a->size() % frame_count != 0 ) return nullptr; 357 if ( b->size() % frame_count != 0 ) return nullptr; 358 358 size_t vtx_size = a->element_size(); 359 359 360 raw_data_channel_creator result( a->descriptor(), a-> element_count() + b->element_count() );360 raw_data_channel_creator result( a->descriptor(), a->size() + b->size() ); 361 361 362 362 if ( frame_count == 1 ) 363 363 { 364 size_t a_size = vtx_size * a-> element_count();364 size_t a_size = vtx_size * a->size(); 365 365 raw_copy_n( a->raw_data(), a_size, result.raw_data() ); 366 raw_copy_n( b->raw_data(), vtx_size * b-> element_count(), result.raw_data() + a_size );366 raw_copy_n( b->raw_data(), vtx_size * b->size(), result.raw_data() + a_size ); 367 367 } 368 368 else 369 369 { 370 size_t frame_size_a = ( a-> element_count() / frame_count ) * vtx_size;371 size_t frame_size_b = ( b-> element_count() / frame_count ) * vtx_size;370 size_t frame_size_a = ( a->size() / frame_count ) * vtx_size; 371 size_t frame_size_b = ( b->size() / frame_count ) * vtx_size; 372 372 size_t pos_a = 0; 373 373 size_t pos_b = 0; … … 406 406 int och_ti = other->get_channel_index( slot::TEXCOORD ); 407 407 if ( ch_pi == -1 || ch_ti == -1 ) return; 408 size_t size = m_data->m_channels[ unsigned(ch_ti) ]-> element_count();409 size_t osize = other->m_channels[ unsigned(och_ti) ]-> element_count();410 size_t count = m_data->m_channels[ unsigned(ch_pi) ]-> element_count();411 size_t ocount = other->m_channels[ unsigned(och_pi) ]-> element_count();408 size_t size = m_data->m_channels[ unsigned(ch_ti) ]->size(); 409 size_t osize = other->m_channels[ unsigned(och_ti) ]->size(); 410 size_t count = m_data->m_channels[ unsigned(ch_pi) ]->size(); 411 size_t ocount = other->m_channels[ unsigned(och_pi) ]->size(); 412 412 if ( count % size != 0 || ocount % osize != 0 ) return; 413 413 if ( count / size != ocount / osize ) return; … … 416 416 { 417 417 raw_data_channel* old = m_data->m_channels[c]; 418 bool old_is_index = old-> element_count() > 0 && old->descriptor()[0].vslot == slot::INDEX;419 size_t frame_count = ( old_is_index ? 1 : old-> element_count() / size );418 bool old_is_index = old->size() > 0 && old->descriptor()[0].vslot == slot::INDEX; 419 size_t frame_count = ( old_is_index ? 1 : old->size() / size ); 420 420 m_data->m_channels[c] = append_channels( old, other->m_channels[c], frame_count ); 421 421 NV_ASSERT( m_data->m_channels[c], "Merge problem!" ); … … 429 429 raw_data_channel_creator ic( m_data->m_channels[c] ); 430 430 uint16* indexes = reinterpret_cast<uint16*>( ic.raw_data() ); 431 for ( uint16 i = uint16( old-> element_count() ); i < ic.size(); ++i )431 for ( uint16 i = uint16( old->size() ); i < ic.size(); ++i ) 432 432 indexes[i] += uint16( size ); 433 433 … … 438 438 raw_data_channel_creator ic( m_data->m_channels[c] ); 439 439 uint32* indexes = reinterpret_cast<uint32*>( ic.raw_data() ); 440 for ( uint32 i = old-> element_count(); i < ic.size(); ++i )440 for ( uint32 i = old->size(); i < ic.size(); ++i ) 441 441 indexes[i] += size; 442 442 } -
trunk/src/gfx/skeletal_mesh.cc
r413 r415 17 17 const raw_data_channel* pntiw_chan = a_mesh_data->get_channel<md5_vtx_pntiw>(); 18 18 19 m_pntdata.assign( pnt_chan->data_cast< md5_vtx_pnt >(), pnt_chan-> element_count() );19 m_pntdata.assign( pnt_chan->data_cast< md5_vtx_pnt >(), pnt_chan->size() ); 20 20 m_bone_offset.resize( bones->get_count() ); 21 21 m_transform.resize( bones->get_count() ); … … 34 34 { 35 35 const raw_data_channel* channel = channels[ch]; 36 if ( channel-> element_count() > 0 && channel != pntiw_chan )36 if ( channel->size() > 0 && channel != pntiw_chan ) 37 37 { 38 38 const data_descriptor& desc = channel->descriptor();
Note: See TracChangeset
for help on using the changeset viewer.