Ignore:
Timestamp:
05/16/14 05:48:01 (11 years ago)
Author:
epyon
Message:
  • mesh data interface and usage
  • new wavefront importer (old pending removal)
  • updates to test projects
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tests/objload_test/objload_test.cc

    r237 r238  
    3232        nv::vertex_array* m_va;
    3333        nv::program*      m_program;
    34         nv::mesh_data_old* m_mesh;
    35         nv::uint32        m_count;
     34        nv::mesh_data*    m_mesh;
    3635};
    3736
     
    6463        nv::c_file_system fs;
    6564        nv::stream* mesh_file = fs.open( "mesh.obj" );
    66         nv::mesh_loader* loader = new nv::obj_loader();
     65
     66//              nv::mesh_loader* loader = new nv::obj_loader();
     67//              loader->load( *mesh_file );
     68//              nv::mesh_data_old* mesh = loader->release_mesh_data();
     69//              m_count = loader->get_size();
     70//              delete mesh_file;
     71//              delete loader;
     72
     73        nv::wavefront_loader* loader = new nv::wavefront_loader();
    6774        loader->load( *mesh_file );
    6875        m_mesh = loader->release_mesh_data();
    69         m_count = loader->get_size();
    7076        delete mesh_file;
    7177        delete loader;
     
    7379        m_program = m_device->create_program( nv::slurp( "obj.vert" ), nv::slurp( "obj.frag" ) );
    7480
    75         nv::vertex_buffer* vb = nullptr;
    76         m_va = m_device->create_vertex_array();
    77         vb = m_device->create_vertex_buffer( nv::STATIC_DRAW, m_mesh->get_vertex_count() * sizeof( nv::vec3 ), m_mesh->get_positions().data() );
    78         m_va->add_vertex_buffer( nv::slot::POSITION, vb, nv::FLOAT, 3 );
    79         vb = m_device->create_vertex_buffer( nv::STATIC_DRAW, m_mesh->get_vertex_count() * sizeof( nv::vec3 ), m_mesh->get_normals().data() );
    80         m_va->add_vertex_buffer( nv::slot::NORMAL, vb, nv::FLOAT, 3 );
    81         vb = m_device->create_vertex_buffer( nv::STATIC_DRAW, m_mesh->get_vertex_count() * sizeof( nv::vec2 ), m_mesh->get_texcoords().data() );
    82         m_va->add_vertex_buffer( nv::slot::TEXCOORD, vb, nv::FLOAT, 2 );
     81//      nv::vertex_buffer* vb = nullptr;
     82        m_va = m_device->create_vertex_array( m_mesh, nv::STATIC_DRAW );
     83
    8384        return true;
    8485}
     
    113114                m_program->set_uniform( "diffuse", 0 );
    114115                m_program->set_uniform( "specular", 1 );
    115                 m_window->get_context()->draw( nv::TRIANGLES, m_render_state, m_program, m_va, m_count * 3 );
     116                m_window->get_context()->draw( nv::TRIANGLES, m_render_state, m_program, m_va, m_mesh->get_count() );
    116117                m_window->swap_buffers();
    117118
     
    147148application::~application()
    148149{
     150        delete m_mesh;
    149151        delete m_program;
    150         delete m_mesh;
    151152        delete m_diffuse;
    152153        delete m_specular;
Note: See TracChangeset for help on using the changeset viewer.