Changeset 403 for trunk/src/gl


Ignore:
Timestamp:
06/14/15 14:31:00 (10 years ago)
Author:
epyon
Message:
  • got rid of exceptions
  • assert enhancements
  • lots of minor cleanup
Location:
trunk/src/gl
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/gl/gl_context.cc

    r398 r403  
    379379void gl_context::set_viewport( const ivec4& viewport )
    380380{
    381         if ( viewport.z < 0 || viewport.w < 0 )
    382         {
    383                 NV_THROW( logic_error, "viewport width and height must be greater than zero!");
    384         }
    385 
     381        NV_ASSERT_ALWAYS( viewport.z > 0 && viewport.w > 0, "viewport dimensions must be greater than zero!" );
    386382        m_viewport = viewport;
    387383        glViewport( viewport.x, viewport.y, viewport.z, viewport.w );
     
    456452        }
    457453
    458         if ( scissor.dim.x < 0 || scissor.dim.y < 0 )
    459         {
    460                 NV_THROW( logic_error, "scissor_test.rect width and height must be greater than zero!" );
    461         }
    462454
    463455        if ( scissor.enabled )
    464456        {
     457                NV_ASSERT_ALWAYS( scissor.dim.x > 0 && scissor.dim.y > 0, "scissor_test.rect dimension equal to zero!" );
     458
    465459                if ( m_render_state.scissor_test.dim != scissor.dim || m_render_state.scissor_test.pos != scissor.pos )
    466460                {
     
    514508void gl_context::apply_depth_range( const depth_range& range )
    515509{
    516         if ( range.near < 0.0 || range.near > 1.0 )
    517         {
    518                 NV_THROW( logic_error, "render_state.depth_range.near must be between zero and one!");
    519         }
    520         if ( range.far < 0.0 || range.far > 1.0 )
    521         {
    522                 NV_THROW( logic_error, "render_state.depth_range.far must be between zero and one!");
    523         }
     510        NV_ASSERT_ALWAYS( range.near >= 0.0 && range.near <= 1.0, "render_state.depth_range.near must be between zero and one!" );
     511        NV_ASSERT_ALWAYS( range.far  >= 0.0 && range.far  <= 1.0, "render_state.depth_range.far must be between zero and one!" );
    524512
    525513        if ((m_render_state.depth_range.far  != range.far) ||
  • trunk/src/gl/gl_device.cc

    r399 r403  
    238238                if ( fatal )
    239239                {
    240                         NV_LOG_ERROR( "Uniform '", name, "' not found in program!" );
    241                         NV_THROW( runtime_error, ( "Uniform '"+name+"' not found!" ) );
     240                        NV_LOG_CRITICAL( "gl_device : uniform '", string_view( name ), "' not found in program!" );
     241                        NV_ABORT( "gl_device : uniform not found!" );
    242242                }
    243243        }
     
    257257                if ( fatal )
    258258                {
    259                         NV_LOG_ERROR( "Attribute '", name, "' not found in program!" );
    260                         NV_THROW( runtime_error, ( "Attribute '"+ name + "' not found!" ) );
     259                        NV_LOG_CRITICAL( "gl_device : attribute '", string_view( name ), "' not found in program!" );
     260                        NV_ABORT( "gl_device : attribute not found!" );
    261261                }
    262262        }
Note: See TracChangeset for help on using the changeset viewer.