Changeset 428
- Timestamp:
- 07/20/15 13:59:34 (10 years ago)
- Location:
- trunk
- Files:
-
- 11 edited
- 2 moved
Legend:
- Unmodified
- Added
- Removed
-
trunk/nv/formats/assimp_loader.hh
r427 r428 9 9 10 10 #include <nv/common.hh> 11 #include <nv/ io/string_table.hh>11 #include <nv/stl/string_table.hh> 12 12 #include <nv/interface/mesh_loader.hh> 13 13 #include <nv/interface/mesh_data.hh> -
trunk/nv/formats/nmd_loader.hh
r427 r428 12 12 #include <nv/interface/mesh_data.hh> 13 13 #include <nv/stl/vector.hh> 14 #include <nv/ io/string_table.hh>14 #include <nv/stl/string_table.hh> 15 15 16 16 namespace nv -
trunk/nv/interface/mesh_data.hh
r427 r428 47 47 } 48 48 49 size_t get_count() const { return m_data.size(); } 49 size_t size() const { return m_data.size(); } 50 bool empty() const { return m_data.empty(); } 50 51 51 52 bool is_animated( size_t i ) const … … 55 56 } 56 57 57 const data_channel_set* get_node( size_t i ) const 58 { 59 if ( i >= m_data.size() ) return nullptr; 60 return m_data[i]; 61 } 62 63 const data_channel_set* get_node_by_hash( uint64 h ) const 58 const data_channel_set* get_by_hash( uint64 h ) const 64 59 { 65 60 for ( auto data : m_data ) … … 70 65 } 71 66 72 int get_ node_index_by_hash( uint64 h ) const67 int get_index_by_hash( uint64 h ) const 73 68 { 74 69 for ( uint32 i = 0; i < m_data.size(); ++i ) … … 124 119 uint32 get_count() const { return m_count; } 125 120 const mesh_nodes_data* get_nodes() const { return m_nodes; } 126 uint32 get_node_count() const { return m_nodes ? m_nodes-> get_count() : 0; }121 uint32 get_node_count() const { return m_nodes ? m_nodes->size() : 0; } 127 122 ~mesh_data_pack() 128 123 { -
trunk/nv/interface/mesh_loader.hh
r425 r428 20 20 #include <nv/interface/mesh_data.hh> 21 21 #include <nv/stl/stream.hh> 22 #include <nv/ io/string_table.hh>22 #include <nv/stl/string_table.hh> 23 23 24 24 namespace nv -
trunk/nv/stl/functional/hash.hh
r422 r428 210 210 constexpr uint64 operator "" _h64( const char* str, size_t len ) 211 211 { 212 return detail::fnv_hash< uint 32>::hash( str, len );212 return detail::fnv_hash< uint64 >::hash( str, len ); 213 213 } 214 214 -
trunk/nv/stl/string_table.hh
r425 r428 10 10 */ 11 11 12 #ifndef NV_ IO_STRING_TABLE_HH13 #define NV_ IO_STRING_TABLE_HH12 #ifndef NV_STL_STRING_TABLE_HH 13 #define NV_STL_STRING_TABLE_HH 14 14 15 15 #include <nv/common.hh> … … 94 94 } 95 95 96 #endif // NV_ IO_STRING_TABLE_HH96 #endif // NV_STL_STRING_TABLE_HH -
trunk/src/formats/assimp_loader.cc
r427 r428 305 305 if ( iname == names.end() ) 306 306 { 307 NV_ASSERT( result-> get_count() < MAX_BONES, "Too many bones to merge!" );308 uint16 index = uint16( result-> get_count() );307 NV_ASSERT( result->size() < MAX_BONES, "Too many bones to merge!" ); 308 uint16 index = uint16( result->size() ); 309 309 result->push_back( bone ); 310 310 names[ bone->get_name() ] = index; -
trunk/src/formats/md5_loader.cc
r427 r428 112 112 m_nodes = new mesh_nodes_data( make_name( "md5_bones") ); 113 113 discard( sstream, "{" ); 114 for ( size_t i = 0; i < m_nodes-> get_count(); ++i )114 for ( size_t i = 0; i < m_nodes->size(); ++i ) 115 115 { 116 116 std::string name; … … 245 245 246 246 discard( sstream, "{" ); 247 for ( size_t i = 0; i < m_nodes-> get_count(); ++i )247 for ( size_t i = 0; i < m_nodes->size(); ++i ) 248 248 { 249 249 std::string name; … … 288 288 next_line( sstream ); 289 289 290 for ( size_t i = 0; i < m_nodes-> get_count(); ++i )290 for ( size_t i = 0; i < m_nodes->size(); ++i ) 291 291 { 292 292 transform base_frame; -
trunk/src/formats/nmd_loader.cc
r427 r428 206 206 nmd_element_header header; 207 207 header.type = nmd_type::ANIMATION; 208 header.children = static_cast<uint16>( nodes. get_count() );208 header.children = static_cast<uint16>( nodes.size() ); 209 209 header.size = total; 210 210 header.name = nodes.get_name(); -
trunk/src/gfx/keyframed_mesh.cc
r427 r428 40 40 m_pbuffer = buffer(); 41 41 42 if ( m_tag_map && m_tag_map-> get_count() > 0 )42 if ( m_tag_map && m_tag_map->size() > 0 ) 43 43 { 44 44 m_interpolation_key = (*m_tag_map)[ 0 ]->get_interpolation_key(); … … 54 54 { 55 55 if ( !m_tag_map ) return transform(); 56 NV_ASSERT( node_id < m_tag_map-> get_count(), "TAGMAP FAIL" );56 NV_ASSERT( node_id < m_tag_map->size(), "TAGMAP FAIL" ); 57 57 NV_ASSERT( (*m_tag_map)[node_id]->size() > 0, "TAG FAIL" ); 58 58 raw_channel_interpolator interpolator( ( *m_tag_map )[node_id], m_interpolation_key ); -
trunk/src/gfx/mesh_creator.cc
r427 r428 16 16 merge_keys(); 17 17 uint32 max_frames = 0; 18 for ( size_t i = 0; i < m_data->get_count(); ++i ) 19 { 20 data_channel_set* keys = m_data->m_data[i]; 18 for ( auto keys : m_data->m_data ) 19 { 21 20 sint16 parent_id = keys->get_parent_id(); 22 21 data_channel_set* pkeys = ( parent_id != -1 ? m_data->m_data[parent_id] : nullptr ); … … 49 48 void nv::mesh_nodes_creator::merge_keys() 50 49 { 51 for ( size_t i = 0; i < m_data-> get_count(); ++i )50 for ( size_t i = 0; i < m_data->size(); ++i ) 52 51 { 53 52 data_channel_set* old_keys = m_data->m_data[i]; … … 100 99 mat4 post_transform( 1.f/scale * ri33 ); 101 100 102 for ( size_t i = 0; i < m_data->get_count(); ++i ) 103 { 104 data_channel_set* node = m_data->m_data[i]; 101 for ( auto node : m_data->m_data ) 102 { 105 103 node->m_transform = pre_transform * node->m_transform * post_transform; 106 104 -
trunk/src/gfx/skeletal_mesh.cc
r427 r428 18 18 19 19 m_pntdata.assign( pnt_chan->data_cast< md5_vtx_pnt >(), pnt_chan->size() ); 20 m_bone_offset.resize( bones-> get_count() );21 m_transform.resize( bones-> get_count() );22 23 for ( uint32 i = 0; i < bones-> get_count(); ++i )20 m_bone_offset.resize( bones->size() ); 21 m_transform.resize( bones->size() ); 22 23 for ( uint32 i = 0; i < bones->size(); ++i ) 24 24 { 25 25 m_bone_offset[i] = transform( (*bones)[i]->get_transform() ); … … 110 110 111 111 float frame_num = new_time * m_node_data->get_frame_rate(); 112 for ( size_t i = 0; i < m_node_data-> get_count(); ++i )112 for ( size_t i = 0; i < m_node_data->size(); ++i ) 113 113 { 114 114 raw_channel_interpolator interpolator( (*m_node_data)[i], m_interpolation_key ); … … 122 122 m_children = nullptr; 123 123 m_offsets = nullptr; 124 uint32 node_count = m_node_data->get_count(); 125 m_bone_ids = new sint16[ node_count ]; 124 m_bone_ids = new sint16[m_node_data->size()]; 126 125 127 126 NV_ASSERT( m_node_data, "node data empty!" ); … … 129 128 if ( !m_node_data->is_flat() ) 130 129 { 131 m_children = new vector< uint32 >[ node_count];132 for ( uint32 n = 0; n < node_count; ++n )130 m_children = new vector< uint32 >[m_node_data->size()]; 131 for ( uint32 n = 0; n < m_node_data->size(); ++n ) 133 132 { 134 133 const data_channel_set* node = (*m_node_data)[n]; … … 153 152 } 154 153 155 for ( uint32 n = 0; n < m_node_data-> get_count(); ++n )154 for ( uint32 n = 0; n < m_node_data->size(); ++n ) 156 155 if ( m_bone_ids[n] >= 0 ) 157 156 { 158 const data_channel_set* node = m_node_data->get_node(n);157 const data_channel_set* node = (*m_node_data)[n]; 159 158 nv::mat4 node_mat( node->get_transform() ); 160 159 … … 174 173 if ( m_prepared ) return; 175 174 unordered_map< uint64, uint16 > bone_names; 176 m_offsets = new mat4[ bones-> get_count() ];177 for ( nv::uint16 bi = 0; bi < bones-> get_count(); ++bi )178 { 179 const data_channel_set* bone = bones->get_node( bi );175 m_offsets = new mat4[ bones->size() ]; 176 for ( nv::uint16 bi = 0; bi < bones->size(); ++bi ) 177 { 178 const data_channel_set* bone = (*bones)[ bi ]; 180 179 bone_names[ bone->get_name() ] = bi; 181 180 m_offsets[bi] = bone->get_transform(); 182 181 } 183 182 184 for ( uint32 n = 0; n < m_node_data-> get_count(); ++n )185 { 186 const data_channel_set* node = m_node_data->get_node( n );183 for ( uint32 n = 0; n < m_node_data->size(); ++n ) 184 { 185 const data_channel_set* node = (*m_node_data)[ n ]; 187 186 sint16 bone_id = -1; 188 187 … … 205 204 // TODO: fix transforms, which are now embedded, 206 205 // see note in assimp_loader.cc:load_node 207 const data_channel_set* node = m_node_data->get_node( node_id );206 const data_channel_set* node = ( *m_node_data )[ node_id ]; 208 207 mat4 node_mat( node->get_transform() ); 209 208 … … 242 241 if ( m_bone_data ) 243 242 { 244 m_transform = new mat4[ m_bone_data-> get_count() ];243 m_transform = new mat4[ m_bone_data->size() ]; 245 244 } 246 245 } … … 259 258 { 260 259 if ( m_bone_data ) 261 m_context->get_device()->set_opt_uniform_array( a_program, "nv_m_bones", m_transform, m_bone_data-> get_count() );260 m_context->get_device()->set_opt_uniform_array( a_program, "nv_m_bones", m_transform, m_bone_data->size() ); 262 261 } 263 262 -
trunk/src/stl/string_table.cc
r427 r428 5 5 // For conditions of distribution and use, see copying.txt file in root folder. 6 6 7 #include "nv/ io/string_table.hh"7 #include "nv/stl/string_table.hh" 8 8 9 9 nv::string_table::string_table( stream& in )
Note: See TracChangeset
for help on using the changeset viewer.