Ignore:
Timestamp:
05/06/14 12:39:51 (11 years ago)
Author:
epyon
Message:
  • animated_mesh, scene_node, camera and transform classes added
  • order in mesh hierarchies
  • simplified and generified animation class hierarchy
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/formats/md3_loader.cc

    r224 r230  
    328328*/
    329329
    330 void nv::md3_loader::load_tags( std::vector<mat4>& t, const std::string& tag )
     330void nv::md3_loader::load_tags( std::vector<transform>& t, const std::string& tag )
    331331{
    332332        md3_t* md3 = (md3_t*)m_md3;
     
    340340                        if (rname == tag)
    341341                        {
    342                                 vec4 axisx     = vec4( md3_vec3( rtag.axis[0] ), 0.0 );
    343                                 vec4 axisz     = vec4( md3_vec3( rtag.axis[1] ), 0.0 );
    344                                 vec4 axisy     = vec4( md3_vec3( rtag.axis[2] ), 0.0 );
    345                                 vec4 origin    = vec4( md3_vec3( rtag.origin ),  1.0 );
    346                                 t.emplace_back( axisx, axisy, axisz, origin );
     342                                vec3 axisx  ( md3_vec3( rtag.axis[0] ) );
     343                                vec3 axisz  ( md3_vec3( rtag.axis[1] ) );
     344                                vec3 axisy  ( md3_vec3( rtag.axis[2] ) );
     345                                vec3 origin ( md3_vec3( rtag.origin ) );
     346                                t.emplace_back( origin, quat( mat3( axisx, axisy, axisz ) ) );
    347347                        }
    348348                }
     
    406406}
    407407
    408 mat4 md3_loader::get_tag( sint32 frame, const std::string& name ) const
     408transform md3_loader::get_tag( sint32 frame, const std::string& name ) const
    409409{
    410410        md3_t* md3 = (md3_t*)m_md3;
     
    415415                if (rname == name)
    416416                {
    417                         vec4 axisx     = vec4( md3_vec3( rtag.axis[0] ), 0.0 );
    418                         vec4 axisz     = vec4( md3_vec3( rtag.axis[1] ), 0.0 );
    419                         vec4 axisy     = vec4( md3_vec3( rtag.axis[2] ), 0.0 );
    420                         vec4 origin    = vec4( md3_vec3( rtag.origin ),  1.0 );
    421                         return glm::mat4( axisx, axisy, axisz, origin );
    422                 }
    423         }
    424         return glm::mat4();
     417                        vec3 axisx ( md3_vec3( rtag.axis[0] ) );
     418                        vec3 axisz ( md3_vec3( rtag.axis[1] ) );
     419                        vec3 axisy ( md3_vec3( rtag.axis[2] ) );
     420                        vec3 origin( md3_vec3( rtag.origin ) );
     421                        return transform( origin, quat( mat3( axisx, axisy, axisz ) ) );
     422                }
     423        }
     424        return transform();
    425425}
    426426
Note: See TracChangeset for help on using the changeset viewer.