Changeset 296 for trunk/src/gfx/skeletal_mesh.cc
- Timestamp:
- 07/31/14 08:08:31 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/gfx/skeletal_mesh.cc
r295 r296 11 11 12 12 13 nv::skeletal_mesh ::skeletal_mesh( device* a_device, const mesh_data* a_mesh_data, const mesh_nodes_data* bones )14 : animated_mesh()13 nv::skeletal_mesh_cpu::skeletal_mesh_cpu( device* a_device, const mesh_data* a_mesh_data, const mesh_nodes_data* bones ) 14 : skeletal_mesh() 15 15 , m_data( a_mesh_data ) 16 16 { … … 29 29 } 30 30 31 void nv::skeletal_mesh ::update_animation( animation_entry* a_anim, uint32 a_anim_time )31 void nv::skeletal_mesh_cpu::update_animation( animation_entry* a_anim, uint32 a_anim_time ) 32 32 { 33 33 if ( a_anim ) 34 34 { 35 skeletal_animation_entry * anim = (skeletal_animation_entry*)a_anim;35 skeletal_animation_entry_cpu * anim = (skeletal_animation_entry_cpu*)a_anim; 36 36 anim->update_skeleton( m_transform.data(), (float)a_anim_time ); 37 37 { … … 70 70 71 71 72 void nv::skeletal_animation_entry ::update_skeleton( transform* skeleton, float time ) const72 void nv::skeletal_animation_entry_cpu::update_skeleton( transform* skeleton, float time ) const 73 73 { 74 74 float frame_duration = 1000.f / (float)m_node_data->get_frame_rate(); … … 85 85 86 86 87 nv::skeletal_mesh ::~skeletal_mesh()87 nv::skeletal_mesh_cpu::~skeletal_mesh_cpu() 88 88 { 89 89 delete m_va; 90 }91 92 void nv::skeletal_mesh::run_animation( animation_entry* a_anim )93 {94 if ( a_anim != nullptr )95 {96 update_animation( a_anim, 0 );97 }98 90 } 99 91 … … 209 201 210 202 nv::skeletal_mesh_gpu::skeletal_mesh_gpu( device* a_device, const mesh_data* a_mesh, const mesh_nodes_data* a_bone_data ) 211 : animated_mesh(), m_bone_data( a_bone_data ), m_transform( nullptr )203 : skeletal_mesh(), m_bone_data( a_bone_data ), m_transform( nullptr ) 212 204 { 213 205 m_va = a_device->create_vertex_array( a_mesh, nv::STATIC_DRAW ); … … 219 211 } 220 212 221 void nv::skeletal_mesh_gpu:: run_animation( animation_entry* a_anim)222 { 223 if ( m_bone_data && a_anim != nullptr)224 { 225 skeletal_animation_entry_gpu * anim = (skeletal_animation_entry_gpu*) (a_anim);213 void nv::skeletal_mesh_gpu::update_animation( animation_entry* a_anim, uint32 a_anim_time ) 214 { 215 if ( m_bone_data && a_anim ) 216 { 217 skeletal_animation_entry_gpu * anim = (skeletal_animation_entry_gpu*)a_anim; 226 218 anim->prepare( m_bone_data ); 227 update_animation( a_anim, 0 );228 }229 }230 231 void nv::skeletal_mesh_gpu::update_animation( animation_entry* a_anim, uint32 a_anim_time )232 {233 if ( m_bone_data && a_anim )234 {235 skeletal_animation_entry_gpu * anim = (skeletal_animation_entry_gpu*)a_anim;236 219 anim->update_skeleton( m_transform, a_anim_time ); 237 220 } 238 221 } 239 222 240 void nv::skeletal_mesh_gpu::update( program* a_program ) const223 void nv::skeletal_mesh_gpu::update( program* a_program ) 241 224 { 242 225 if ( m_bone_data )
Note: See TracChangeset
for help on using the changeset viewer.