Index: trunk/tests/objload_test/objload_test.cc
===================================================================
--- trunk/tests/objload_test/objload_test.cc	(revision 237)
+++ trunk/tests/objload_test/objload_test.cc	(revision 238)
@@ -32,6 +32,5 @@
 	nv::vertex_array* m_va;
 	nv::program*      m_program;
-	nv::mesh_data_old* m_mesh;
-	nv::uint32        m_count;
+	nv::mesh_data*    m_mesh;
 };
 
@@ -64,8 +63,15 @@
 	nv::c_file_system fs;
 	nv::stream* mesh_file = fs.open( "mesh.obj" );
-	nv::mesh_loader* loader = new nv::obj_loader();
+
+// 		nv::mesh_loader* loader = new nv::obj_loader();
+// 		loader->load( *mesh_file );
+// 		nv::mesh_data_old* mesh = loader->release_mesh_data();
+// 		m_count = loader->get_size();
+// 		delete mesh_file;
+// 		delete loader;
+
+	nv::wavefront_loader* loader = new nv::wavefront_loader();
 	loader->load( *mesh_file );
 	m_mesh = loader->release_mesh_data();
-	m_count = loader->get_size();
 	delete mesh_file;
 	delete loader;
@@ -73,12 +79,7 @@
 	m_program = m_device->create_program( nv::slurp( "obj.vert" ), nv::slurp( "obj.frag" ) );
 
-	nv::vertex_buffer* vb = nullptr;
-	m_va = m_device->create_vertex_array();
-	vb = m_device->create_vertex_buffer( nv::STATIC_DRAW, m_mesh->get_vertex_count() * sizeof( nv::vec3 ), m_mesh->get_positions().data() );
-	m_va->add_vertex_buffer( nv::slot::POSITION, vb, nv::FLOAT, 3 );
-	vb = m_device->create_vertex_buffer( nv::STATIC_DRAW, m_mesh->get_vertex_count() * sizeof( nv::vec3 ), m_mesh->get_normals().data() );
-	m_va->add_vertex_buffer( nv::slot::NORMAL, vb, nv::FLOAT, 3 );
-	vb = m_device->create_vertex_buffer( nv::STATIC_DRAW, m_mesh->get_vertex_count() * sizeof( nv::vec2 ), m_mesh->get_texcoords().data() );
-	m_va->add_vertex_buffer( nv::slot::TEXCOORD, vb, nv::FLOAT, 2 );
+//	nv::vertex_buffer* vb = nullptr;
+	m_va = m_device->create_vertex_array( m_mesh, nv::STATIC_DRAW );
+
 	return true;
 }
@@ -113,5 +114,5 @@
 		m_program->set_uniform( "diffuse", 0 );
 		m_program->set_uniform( "specular", 1 );
-		m_window->get_context()->draw( nv::TRIANGLES, m_render_state, m_program, m_va, m_count * 3 );
+		m_window->get_context()->draw( nv::TRIANGLES, m_render_state, m_program, m_va, m_mesh->get_count() );
 		m_window->swap_buffers();
 
@@ -147,6 +148,6 @@
 application::~application()
 {
+	delete m_mesh;
 	delete m_program;
-	delete m_mesh;
 	delete m_diffuse;
 	delete m_specular;
