Show
Ignore:
Timestamp:
08/25/08 13:37:53 (6 years ago)
Author:
robert
Message:

Added testing of max texture size using a realize operation

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • OpenSceneGraph/trunk/examples/osgvolume/osgvolume.cpp

    r8787 r8788  
    14891489} 
    14901490 
     1491class TestSupportOperation: public osg::GraphicsOperation 
     1492{ 
     1493public: 
     1494 
     1495    TestSupportOperation(): 
     1496        osg::GraphicsOperation("TestSupportOperation",false), 
     1497        supported(true), 
     1498        errorMessage(), 
     1499        maximumTextureSize(256) {} 
     1500 
     1501    virtual void operator () (osg::GraphicsContext* gc) 
     1502    { 
     1503        OpenThreads::ScopedLock<OpenThreads::Mutex> lock(mutex); 
     1504 
     1505        glGetIntegerv( GL_MAX_3D_TEXTURE_SIZE, &maximumTextureSize ); 
     1506         
     1507        osg::notify(osg::NOTICE)<<"Max texture size="<<maximumTextureSize<<std::endl; 
     1508    } 
     1509         
     1510    OpenThreads::Mutex  mutex; 
     1511    bool                supported; 
     1512    std::string         errorMessage; 
     1513    GLint               maximumTextureSize; 
     1514}; 
     1515 
     1516 
     1517 
    14911518int main( int argc, char **argv ) 
    14921519{ 
     
    15671594    while (arguments.read("--zMultiplier",zMultiplier)) {} 
    15681595 
     1596    osg::ref_ptr<TestSupportOperation> testSupportOperation = new TestSupportOperation; 
     1597    viewer.setRealizeOperation(testSupportOperation.get()); 
     1598     
     1599    viewer.realize(); 
     1600 
     1601    int maximumTextureSize = testSupportOperation->maximumTextureSize; 
    15691602    int s_maximumTextureSize = 256; 
    15701603    int t_maximumTextureSize = 256; 
    15711604    int r_maximumTextureSize = 256; 
    1572     int maximumTextureSize = 256; 
    15731605    while(arguments.read("--maxTextureSize",maximumTextureSize)) 
    15741606    {