Changeset 303 for trunk/src/gl/gl_context.cc
- Timestamp:
- 08/08/14 13:18:41 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/gl/gl_context.cc
r302 r303 9 9 #include "nv/lib/sdl.hh" 10 10 #include "nv/gl/gl_device.hh" 11 #include "nv/gl/gl_program.hh"12 11 13 12 using namespace nv; … … 23 22 } 24 23 25 void nv::gl_context::bind( program* p ) 26 { 27 gl_program* glp = static_cast< gl_program* >( p ); 28 glUseProgram( glp->glid ); 29 glp->update_uniforms(); 24 void nv::gl_context::bind( program p ) 25 { 26 gl_program_info* info = ((gl_device*)m_device)->m_programs.get( p ); 27 if ( info ) 28 { 29 glUseProgram( info->glid ); 30 ((gl_device*)m_device)->update_uniforms( info ); 31 } 30 32 } 31 33 … … 41 43 void nv::gl_context::bind( vertex_array va ) 42 44 { 43 vertex_array_info* info =get_vertex_array_info( va );45 const vertex_array_info* info = m_device->get_vertex_array_info( va ); 44 46 if ( info ) 45 47 { … … 68 70 } 69 71 70 void nv::gl_context::unbind( program *)72 void nv::gl_context::unbind( program ) 71 73 { 72 74 glUseProgram( 0 ); … … 84 86 void nv::gl_context::unbind( vertex_array va ) 85 87 { 86 vertex_array_info* info =get_vertex_array_info( va );88 const vertex_array_info* info = m_device->get_vertex_array_info( va ); 87 89 if ( info ) 88 90 { … … 483 485 } 484 486 485 void gl_context::draw( primitive prim, const render_state& rs, program* p, vertex_array va, size_t count ) 487 void nv::gl_context::apply_engine_uniforms( program p, const scene_state& s ) 488 { 489 gl_program_info* info = ((gl_device*)m_device)->m_programs.get( p ); 490 if ( info ) 491 { 492 for ( auto u : info->m_engine_uniforms ) 493 { 494 u->set( this, &s ); 495 } 496 } 497 } 498 499 void gl_context::draw( primitive prim, const render_state& rs, program p, vertex_array va, size_t count ) 486 500 { 487 501 apply_render_state( rs ); 488 vertex_array_info* info =get_vertex_array_info( va );502 const vertex_array_info* info = m_device->get_vertex_array_info( va ); 489 503 if ( count > 0 && info ) 490 504 {
Note: See TracChangeset
for help on using the changeset viewer.