Changeset 501 for trunk/src/engine


Ignore:
Timestamp:
06/15/16 18:34:37 (9 years ago)
Author:
epyon
Message:
  • particle engine updates
  • device/context redesign
  • caching of GL state - texture bindings and programs
  • camera view_perspective and view_perspective_inv
Location:
trunk/src/engine
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/engine/material_manager.cc

    r498 r501  
    2020        uint8 data[2 * 2 * 3];
    2121        nv::raw_fill_n( data, 2 * 2 * 3, 0 );
    22         m_default = m_context->get_device()->create_texture( ivec2(2,2), nv::image_format( nv::RGB ), nv::sampler(), data );
     22        m_default = m_context->create_texture( ivec2(2,2), nv::image_format( nv::RGB ), nv::sampler(), data );
    2323}
    2424
     
    3434                                if ( auto data = m_image_manager->get( mat->paths[i] ).lock() )
    3535                                {
    36                                         result->textures[i] = m_context->get_device()->create_texture( &*data, smp );
     36                                        result->textures[i] = m_context->create_texture( &*data, smp );
    3737                                }
    3838                        }
     
    5353        for ( const texture& t : m->textures )
    5454        {
    55                 m_context->get_device()->release( t );
     55                m_context->release( t );
    5656        }
    5757}
  • trunk/src/engine/particle_engine.cc

    r500 r501  
    320320
    321321        data.quota   = table.get<uint32>("quota", 1024 );
    322         data.local   = table.get<bool>("local_space", false );
     322//      data.local   = table.get<bool>("local_space", false );
    323323        data.accurate_facing = table.get<bool>("accurate_facing", false );
    324324        data.emmiter_count   = 0;
     
    467467{
    468468        m_context       = a_context;
    469         m_device        = a_context->get_device();
    470         m_program_local = m_device->create_program( nv_particle_engine_vertex_shader_local, nv_particle_engine_fragment_shader );
    471         m_program_world = m_device->create_program( nv_particle_engine_vertex_shader_world, nv_particle_engine_fragment_shader );
     469        m_program_local = m_context->create_program( nv_particle_engine_vertex_shader_local, nv_particle_engine_fragment_shader );
     470        m_program_world = m_context->create_program( nv_particle_engine_vertex_shader_world, nv_particle_engine_fragment_shader );
    472471
    473472        register_standard_emmiters();
     
    533532        info->count = 0;
    534533        info->quota = max_particles;
    535         info->vtx_buffer = m_device->create_buffer( VERTEX_BUFFER, STREAM_DRAW, info->quota * sizeof( particle_quad )/*, info->quads_[0].data*/ );
     534        info->vtx_buffer = m_context->create_buffer( VERTEX_BUFFER, STREAM_DRAW, info->quota * sizeof( particle_quad )/*, info->quads_[0].data*/ );
    536535        vertex_array_desc desc;
    537536        desc.add_vertex_buffers< particle_vtx >( info->vtx_buffer, true );
     
    545544{
    546545        clear();
    547         m_device->release( m_program_world );
    548         m_device->release( m_program_local );
     546        m_context->release( m_program_world );
     547        m_context->release( m_program_local );
    549548}
    550549
     
    785784        vec3 source;
    786785        mat3 orient;
    787         bool local = info->data->local;
     786//      bool local = info->data->local;
    788787//      if ( !local )
    789788//      {
  • trunk/src/engine/program_manager.cc

    r479 r501  
    3636        }
    3737
    38         add( id, m_context->get_device()->create_program( vsource, fsource ) );
     38        add( id, m_context->create_program( vsource, fsource ) );
    3939        return true;
    4040}
     
    4242void nv::program_manager::release( program p )
    4343{
    44         m_context->get_device()->release( p );
     44        m_context->release( p );
    4545}
    4646
Note: See TracChangeset for help on using the changeset viewer.