Changeset 523 for trunk


Ignore:
Timestamp:
10/17/16 23:19:19 (9 years ago)
Author:
epyon
Message:
  • attach depth
  • minor fixes
Location:
trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/nv/gl/gl_context.hh

    r520 r523  
    6060                virtual void attach( framebuffer f, texture depth, int layer = -1 );
    6161                virtual void attach( framebuffer f, ivec2 size );
     62                virtual void attach_depth( framebuffer source, framebuffer target );
     63
    6264                virtual bool check( framebuffer_slot ft );
    6365                virtual void bind( framebuffer f, framebuffer_slot ft = FRAMEBUFFER );
  • trunk/nv/interface/context.hh

    r520 r523  
    199199                virtual void attach( framebuffer f, texture depth, int layer = -1 ) = 0;
    200200                virtual void attach( framebuffer f, ivec2 size ) = 0;
     201                virtual void attach_depth( framebuffer source, framebuffer target ) = 0;
    201202
    202203                virtual bool check( framebuffer_slot ft ) = 0;
  • trunk/src/engine/model_manager.cc

    r516 r523  
    5757
    5858        if ( table.is_string( "material" ) )
    59                 cmaterial = m_rm->get< material >( table.get_string128( "material" ) );
     59        {
     60                nv::string128 mat_id( table.get_string128( "material" ) );
     61                cmaterial = m_rm->get< material >( mat_id );
     62                if ( !cmaterial )
     63                        NV_LOG_ERROR( "Can't load material : ", mat_id );
     64        }
    6065
    6166        if ( table.is_string( "tag" ) )
  • trunk/src/gl/gl_context.cc

    r520 r523  
    212212
    213213}
     214
     215void nv::gl_context::attach_depth( framebuffer source, framebuffer target )
     216{
     217        gl_framebuffer_info* sinfo = m_framebuffers.get( source );
     218        gl_framebuffer_info* tinfo = m_framebuffers.get( target );
     219
     220        if ( sinfo && tinfo )
     221        {
     222                glBindFramebuffer( GL_FRAMEBUFFER, tinfo->glid );
     223                // TODO: do we need to bind the renderbuffer at all?
     224                glBindRenderbuffer( GL_RENDERBUFFER, sinfo->depth_rb_glid );
     225                glFramebufferRenderbuffer( GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_RENDERBUFFER, sinfo->depth_rb_glid );
     226                glBindRenderbuffer( GL_RENDERBUFFER, 0 );
     227                glBindRenderbuffer( GL_FRAMEBUFFER, 0 );
     228        }
     229
     230}
     231
    214232
    215233void nv::gl_context::blit( framebuffer f, buffer_mask mask, ivec2 src1, ivec2 src2, ivec2 dst1, ivec2 dst2 )
Note: See TracChangeset for help on using the changeset viewer.