Changeset 319 for trunk/tests/cachebuf_test
- Timestamp:
- 08/21/14 04:02:01 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/tests/cachebuf_test/nv_cachebuf_test.cc
r214 r319 1 #include <nv/interface/vertex_buffer.hh>2 1 #include <nv/gl/gl_device.hh> 3 2 #include <nv/gfx/image.hh> 4 3 #include <nv/interface/context.hh> 5 4 #include <nv/interface/window.hh> 6 #include <nv/interface/program.hh> 7 #include <nv/interface/texture2d.hh> 8 #include <nv/logging.hh> 9 #include <nv/logger.hh> 5 #include <nv/core/logging.hh> 6 #include <nv/core/logger.hh> 10 7 #include <glm/glm.hpp> 11 8 #include <glm/gtc/matrix_transform.hpp> 12 9 #include <glm/gtc/type_ptr.hpp> 13 #include <nv/string.hh> 14 #include <nv/interface/mesh.hh> 10 #include <nv/core/string.hh> 15 11 #include <cstdlib> // rand 16 12 #include <ctime> // time … … 222 218 ~application(); 223 219 protected: 224 nv::device* m_device; 225 nv::window* m_window; 220 nv::device* m_device; 221 nv::context* m_context; 222 nv::window* m_window; 226 223 nv::clear_state m_clear_state; 227 224 nv::render_state m_render_state; … … 230 227 std::vector<app_window> m_windows; 231 228 232 nv::program *m_program;233 nv::vertex_array *m_va;229 nv::program m_program; 230 nv::vertex_array m_va; 234 231 unsigned int m_count; 235 232 }; … … 237 234 application::application() 238 235 { 239 m_device = new nv::gl_device(); 240 m_window = m_device->create_window( 800, 600 ); 236 m_device = new nv::gl_device(); 237 m_window = m_device->create_window( 800, 600, false ); 238 m_context = m_window->get_context(); 241 239 242 240 m_clear_state.buffers = nv::clear_state::COLOR_AND_DEPTH_BUFFER; … … 254 252 { 255 253 m_program = m_device->create_program( nv::slurp( "cachebuf.vert" ), nv::slurp( "cachebuf.frag" ) ); 256 m_va = m_ device->create_vertex_array();257 258 #ifdef INDEXED_TEST 259 m_quad_cache = new gcache( m_ device, nv::DYNAMIC_DRAW, 200, 200 );260 m_ va->set_index_buffer(m_quad_cache->get_index_buffer(), nv::USHORT, false );261 nv:: vertex_buffer*buffer = m_quad_cache->get_vertex_buffer();262 #else 263 m_quad_cache = new gcache( m_ device, nv::DYNAMIC_DRAW, 20, true );264 nv:: vertex_buffer* buffer = (nv::vertex_buffer*)m_quad_cache->get_buffer();265 #endif 266 267 m_ va->add_vertex_buffer(nv::slot::POSITION, buffer, nv::INT, 2, 0, sizeof( vertex ), false );268 m_ va->add_vertex_buffer(nv::slot::COLOR, buffer, nv::FLOAT, 4, offset_of( &vertex::color ), sizeof( vertex ), false );254 m_va = m_context->create_vertex_array(); 255 256 #ifdef INDEXED_TEST 257 m_quad_cache = new gcache( m_context, nv::DYNAMIC_DRAW, 200, 200 ); 258 m_context->set_index_buffer( m_va, m_quad_cache->get_index_buffer(), nv::USHORT, false ); 259 nv::buffer buffer = m_quad_cache->get_vertex_buffer(); 260 #else 261 m_quad_cache = new gcache( m_context, nv::DYNAMIC_DRAW, 20, true ); 262 nv::buffer buffer = m_quad_cache->get_buffer(); 263 #endif 264 265 m_context->add_vertex_buffer( m_va, nv::slot::POSITION, buffer, nv::INT, 2, 0, sizeof( vertex ), false ); 266 m_context->add_vertex_buffer( m_va, nv::slot::COLOR, buffer, nv::FLOAT, 4, offset_of( &vertex::color ), sizeof( vertex ), false ); 269 267 } 270 268 return true; … … 274 272 { 275 273 int keypress = 0; 276 m_program->bind();277 274 glm::mat4 projection = glm::ortho( 0.0f, 800.0f, 600.0f, 0.0f, -1.0f, 1.0f ); 278 m_ program->set_uniform("nv_projection", glm::mat4(projection) );275 m_device->set_uniform( m_program, "nv_projection", glm::mat4(projection) ); 279 276 280 277 while(!keypress) … … 287 284 { 288 285 #ifdef INDEXED_TEST 289 m_ va->set_index_buffer( m_quad_cache->get_index_buffer());290 nv:: vertex_buffer*buffer = m_quad_cache->get_vertex_buffer();286 m_context->set_index_buffer( m_va, m_quad_cache->get_index_buffer(), nv::USHORT, false ); 287 nv::buffer buffer = m_quad_cache->get_vertex_buffer(); 291 288 #else 292 nv:: vertex_buffer* buffer = (nv::vertex_buffer*)m_quad_cache->get_buffer();289 nv::buffer buffer = m_quad_cache->get_buffer(); 293 290 #endif 294 m_va->update_vertex_buffer( nv::slot::POSITION, buffer, false );295 m_va->update_vertex_buffer( nv::slot::COLOR, buffer, false );296 291 } 297 292 298 293 m_window->get_context()->clear( m_clear_state ); 299 m_program->bind();300 294 // m_program->set_uniform( "tex", 0 ); 301 295 #ifdef INDEXED_TEST … … 369 363 delete m_quad_cache; 370 364 371 delete m_program;372 delete m_va;365 m_device->release( m_program ); 366 m_context->release( m_va ); 373 367 delete m_window; 374 368 delete m_device;
Note: See TracChangeset
for help on using the changeset viewer.