Changeset 189


Ignore:
Timestamp:
08/04/13 11:44:34 (12 years ago)
Author:
epyon
Message:
  • formats - full md2 implementation, including re-indexing and frame animation
  • tests/md2_test - with Mancubi For Added Fun (tm)
Location:
trunk
Files:
12 added
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/nv/formats/md3_loader.hh

    r156 r189  
    2727                mat4 transform;
    2828        };
     29
     30        class keyframed_loader : public mesh_loader
     31        {
     32        public:
     33                virtual sint32 get_max_frames() const = 0;
     34                virtual void load_positions( std::vector<vec3>& p, sint32 frame =-1 ) = 0;
     35                virtual void load_normals( std::vector<vec3>& n, sint32 frame =-1 ) = 0;
     36                virtual void load_texcoords( std::vector<vec2>& t ) = 0;
     37                virtual void load_indicies( std::vector<uint16>& idx ) = 0;
     38        };
     39
    2940
    3041        class md3_loader : public mesh_loader
     
    5869                typedef std::unordered_map< std::string, transforms > tag_map;
    5970
    60                 keyframed_mesh_data( md3_loader* loader );
     71                keyframed_mesh_data( keyframed_loader* loader );
    6172                size_t get_frame_count() const { return m_frames; };
    6273                size_t get_index_count() const { return m_indices.size(); };
  • trunk/src/formats/md3_loader.cc

    r161 r189  
    492492}
    493493
    494 keyframed_mesh_data::keyframed_mesh_data( md3_loader* loader )
     494keyframed_mesh_data::keyframed_mesh_data( keyframed_loader* loader )
    495495{
    496496        loader->load_positions( m_positions );
     
    500500
    501501        std::vector< std::string > names;
    502         loader->load_tag_names( names );
    503         for ( auto& name : names )
    504         {
    505                 loader->load_tags( m_tags[ name ], name );
     502
     503        md3_loader* md3loader = dynamic_cast< md3_loader* >( loader );
     504        if ( md3loader != nullptr )
     505        {
     506                md3loader->load_tag_names( names );
     507                for ( auto& name : names )
     508                {
     509                        md3loader->load_tags( m_tags[ name ], name );
     510                }
    506511        }
    507512
  • trunk/src/gui/gui_renderer.cc

    r161 r189  
    105105        white.pos = ivec2();
    106106        m_atlas.set_region( white, wfill );
    107         delete wfill;
     107        delete[] wfill;
    108108
    109109        screen_render_data* sr = new screen_render_data( w->get_device(), 1024 );
  • trunk/tests/gui_test

    • Property svn:ignore set to
      vs2010
Note: See TracChangeset for help on using the changeset viewer.