Ignore:
Timestamp:
07/20/15 15:24:51 (10 years ago)
Author:
epyon
Message:
  • mesh_data -> data_channel_set rename
  • keyframed_mesh doesn't store full data_channel_set anymore
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/gfx/keyframed_mesh.cc

    r428 r430  
    1313using namespace nv;
    1414
    15 nv::keyframed_mesh::keyframed_mesh( context* a_context, const mesh_data* a_data, const mesh_nodes_data* a_tag_map )
     15nv::keyframed_mesh::keyframed_mesh( context* a_context, const data_channel_set* a_data, const mesh_nodes_data* a_tag_map )
    1616        : animated_mesh()
    1717        , m_context( a_context )
    18         , m_mesh_data( a_data )
    1918        , m_tag_map( a_tag_map )
    2019        , m_last_frame( 0 )
     
    2322        , m_active( false )
    2423{
    25         m_index_count   = m_mesh_data->get_channel_size( slot::INDEX );
    26         m_vertex_count  = m_mesh_data->get_channel_size<vertex_t>();
    27         uint32 pos_size = m_mesh_data->get_channel_size<vertex_pnt>();
     24        m_index_count   = a_data->get_channel_size( slot::INDEX );
     25        m_vertex_count  = a_data->get_channel_size<vertex_t>();
     26        uint32 pos_size = a_data->get_channel_size<vertex_pnt>();
    2827        if ( pos_size == 0 )
    2928        {
    30                 pos_size      = m_mesh_data->get_channel_size<vertex_pn>();
     29                pos_size      = a_data->get_channel_size<vertex_pn>();
    3130                m_has_tangent = false;
    3231                m_vsize       = sizeof( vertex_pn );
     
    127126}
    128127
    129 nv::keyframed_mesh_gpu::keyframed_mesh_gpu( context* a_context, const mesh_data* a_data, const mesh_nodes_data* a_tag_map )
     128nv::keyframed_mesh_gpu::keyframed_mesh_gpu( context* a_context, const data_channel_set* a_data, const mesh_nodes_data* a_tag_map )
    130129        : keyframed_mesh( a_context, a_data, a_tag_map )
    131130        , m_loc_next_position( -1 )
     
    186185}
    187186
    188 nv::keyframed_mesh_cpu::keyframed_mesh_cpu( context* a_context, const mesh_data* a_data, const mesh_nodes_data* a_tag_map )
     187nv::keyframed_mesh_cpu::keyframed_mesh_cpu( context* a_context, const data_channel_set* a_data, const mesh_nodes_data* a_tag_map )
    189188        : keyframed_mesh( a_context, a_data, a_tag_map )
    190189{
     
    194193        m_context->add_vertex_buffers( m_va, m_pbuffer, vchannel->descriptor() );
    195194
    196         buffer  vb = m_context->get_device()->create_buffer( VERTEX_BUFFER, STATIC_DRAW, m_vertex_count * sizeof( vec2 ), m_mesh_data->get_channel_data<vertex_t>() );
    197         m_context->add_vertex_buffers( m_va, vb, m_mesh_data->get_channel<vertex_t>()->descriptor() );
    198 
    199         const raw_data_channel* index_channel = m_mesh_data->get_channel( slot::INDEX );
     195        buffer  vb = m_context->get_device()->create_buffer( VERTEX_BUFFER, STATIC_DRAW, m_vertex_count * sizeof( vec2 ), a_data->get_channel_data<vertex_t>() );
     196        m_context->add_vertex_buffers( m_va, vb, a_data->get_channel<vertex_t>()->descriptor() );
     197
     198        const raw_data_channel* index_channel = a_data->get_channel( slot::INDEX );
    200199        buffer  ib = m_context->get_device()->create_buffer( INDEX_BUFFER, STATIC_DRAW, index_channel->raw_size(), index_channel->raw_data() );
    201200        m_context->set_index_buffer( m_va, ib, index_channel->descriptor()[0].etype, true );
    202201
    203202        m_data = new uint8[ m_vertex_count * m_vsize ];
     203
     204        m_model_data = vchannel->raw_data();
    204205}
    205206
     
    210211        if ( m_has_tangent )
    211212        {
    212                 const vertex_pnt* data = m_mesh_data->get_channel_data<vertex_pnt>();
     213                const vertex_pnt* data = reinterpret_cast< const vertex_pnt* >( m_model_data );
    213214                const vertex_pnt* prev = data + m_vertex_count * m_last_frame;
    214215                const vertex_pnt* next = data + m_vertex_count * m_next_frame;
     
    223224        else
    224225        {
    225                 const vertex_pn* data = m_mesh_data->get_channel_data<vertex_pn>();
     226                const vertex_pn* data = reinterpret_cast< const vertex_pn* >( m_model_data );
    226227                const vertex_pn* prev = data + m_vertex_count * m_last_frame;
    227228                const vertex_pn* next = data + m_vertex_count * m_next_frame;
Note: See TracChangeset for help on using the changeset viewer.