Changeset 10710

Show
Ignore:
Timestamp:
11/03/09 17:34:54 (4 years ago)
Author:
robert
Message:

From Paul Martz, changes for compiling against OpenGL 3.x

Location:
OpenSceneGraph/trunk
Files:
22 modified

Legend:

Unmodified
Added
Removed
  • OpenSceneGraph/trunk/applications/present3D/present3D.cpp

    r10699 r10710  
    724724 
    725725 
    726 #if !defined(OSG_GLES2_AVAILABLE) 
     726#if !defined(OSG_GLES2_AVAILABLE) && !defined(OSG_GL3_AVAILABLE) 
    727727 
    728728    // add back in enabling of the GL_ALPHA_TEST to get around the core OSG no longer setting it by default for opaque bins. 
  • OpenSceneGraph/trunk/include/osg/ClampColor

    r7648 r10710  
    3030#define GL_CLAMP_READ_COLOR                     GL_CLAMP_READ_COLOR_ARB 
    3131#define GL_CLAMP_FRAGMENT_COLOR                 GL_CLAMP_FRAGMENT_COLOR_ARB 
     32#endif 
     33 
     34#if defined(OSG_GL3_AVAILABLE) 
     35    #define GL_CLAMP_VERTEX_COLOR             0x891A 
     36    #define GL_CLAMP_FRAGMENT_COLOR           0x891B 
    3237#endif 
    3338 
  • OpenSceneGraph/trunk/include/osg/GL

    r10694 r10710  
    8888    #include <GLES2/gl2.h> 
    8989 
     90#elif defined(OSG_GL3_AVAILABLE) 
     91 
     92    #define GL3_PROTOTYPES 1 
     93    #include <GL3/gl3.h> 
     94 
    9095#else 
    9196 
     
    146151#endif 
    147152 
    148 #if defined(OSG_GLES1_AVAILABLE) || defined(OSG_GLES2_AVAILABLE) 
     153#if defined(OSG_GLES1_AVAILABLE) || defined(OSG_GLES2_AVAILABLE) || defined(OSG_GL3_AVAILABLE) 
    149154    #define GL_POLYGON                         0x0009 
    150155    #define GL_QUADS                           0x0007 
    151156    #define GL_QUAD_STRIP                      0x0008 
     157#endif 
     158 
     159#if defined(OSG_GL3_AVAILABLE) 
     160    #define GL_LUMINANCE                      0x1909 
     161    #define GL_LUMINANCE_ALPHA                0x190A 
    152162#endif 
    153163 
  • OpenSceneGraph/trunk/include/osg/TexGen

    r10691 r10710  
    1818#include <osg/StateAttribute> 
    1919 
    20 #if defined(OSG_GLES1_AVAILABLE) || defined(OSG_GLES2_AVAILABLE) 
     20#if defined(OSG_GLES1_AVAILABLE) || defined(OSG_GLES2_AVAILABLE) || defined(OSG_GL3_AVAILABLE) 
    2121    #define GL_OBJECT_LINEAR    0x2401 
    2222    #define GL_EYE_LINEAR       0x2400 
  • OpenSceneGraph/trunk/src/osg/Image.cpp

    r10706 r10710  
    3333 
    3434#if defined(OSG_GLES1_AVAILABLE) || defined(OSG_GLES2_AVAILABLE) 
    35     #define GL_BITMAP               0x1A00 
    3635    #define GL_RED                  0x1903 
    3736    #define GL_GREEN                0x1904 
    3837    #define GL_BLUE                 0x1905 
     38    #define GL_DEPTH_COMPONENT      0x1902 
     39    #define GL_STENCIL_INDEX        0x1901 
     40#endif 
     41 
     42#if defined(OSG_GLES1_AVAILABLE) || defined(OSG_GLES2_AVAILABLE) || defined(OSG_GL3_AVAILABLE) 
     43    #define GL_BITMAP               0x1A00 
    3944    #define GL_COLOR_INDEX          0x1900 
    40     #define GL_DEPTH_COMPONENT      0x1902 
    4145    #define GL_INTENSITY12          0x804C 
    4246    #define GL_INTENSITY16          0x804D 
     
    5357    #define GL_LUMINANCE8           0x8040 
    5458    #define GL_LUMINANCE8_ALPHA8    0x8045 
    55     #define GL_STENCIL_INDEX        0x1901 
    5659    #define GL_RGBA8                0x8058 
    5760    #define GL_PACK_ROW_LENGTH      0x0D02 
  • OpenSceneGraph/trunk/src/osg/Texture.cpp

    r10699 r10710  
    17481748        glPixelStorei(GL_UNPACK_CLIENT_STORAGE_APPLE,GL_TRUE); 
    17491749 
    1750         #if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE) 
     1750        #if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE) && !defined(OSG_GL3_AVAILABLE) 
    17511751            glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_PRIORITY,0.0f); 
    17521752        #endif 
  • OpenSceneGraph/trunk/src/osg/TextureRectangle.cpp

    r10691 r10710  
    298298        glPixelStorei(GL_UNPACK_CLIENT_STORAGE_APPLE,GL_TRUE); 
    299299 
    300         #if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE) 
     300        #if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE) && !defined(OSG_GL3_AVAILABLE) 
    301301            glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_PRIORITY,0.0f); 
    302302        #endif 
  • OpenSceneGraph/trunk/src/osgDB/DatabasePager.cpp

    r10695 r10710  
    20082008            { 
    20092009 
    2010                 #if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE)  
     2010                #if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE)  && !defined(OSG_GL3_AVAILABLE) 
    20112011                    glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_PRIORITY, 1.0); 
    20122012                #endif 
     
    20322032                    (*itr)->compileGLObjects(state); 
    20332033 
    2034                     #if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE)  
     2034                    #if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE) && !defined(OSG_GL3_AVAILABLE) 
    20352035                        GLint p; 
    20362036                        glGetTexParameteriv(GL_TEXTURE_2D, GL_TEXTURE_RESIDENT, &p); 
  • OpenSceneGraph/trunk/src/osgFX/AnisotropicLighting.cpp

    r10699 r10710  
    217217            ss->setTextureAttributeAndModes(0, texenv.get(), osg::StateAttribute::OVERRIDE|osg::StateAttribute::ON); 
    218218 
    219             #if !defined(OSG_GLES2_AVAILABLE) 
     219            #if !defined(OSG_GLES2_AVAILABLE) && !defined(OSG_GL3_AVAILABLE) 
    220220                ss->setMode( GL_ALPHA_TEST, osg::StateAttribute::OFF ); 
    221221            #else 
  • OpenSceneGraph/trunk/src/osgParticle/ParticleSystem.cpp

    r10699 r10710  
    107107 
    108108    // set up depth mask for first rendering pass 
    109 #if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE) 
     109#if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE) && !defined(OSG_GL3_AVAILABLE) 
    110110    glPushAttrib(GL_DEPTH_BUFFER_BIT);  
    111111#endif 
     
    116116    single_pass_render(state, modelview); 
    117117 
    118 #if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE) 
     118#if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE) && !defined(OSG_GL3_AVAILABLE) 
    119119    // restore depth mask settings 
    120120    glPopAttrib(); 
     
    124124    if (_doublepass) {     
    125125        // set up color mask for second rendering pass 
    126 #if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE) 
     126#if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE) && !defined(OSG_GL3_AVAILABLE) 
    127127        glPushAttrib(GL_COLOR_BUFFER_BIT); 
    128128#endif 
     
    132132        single_pass_render(state, modelview); 
    133133 
    134 #if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE) 
     134#if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE) && !defined(OSG_GL3_AVAILABLE) 
    135135        // restore color mask settings 
    136136        glPopAttrib(); 
     
    138138    } 
    139139 
    140 #if defined(OSG_GLES1_AVAILABLE) || defined(OSG_GLES2_AVAILABLE) 
     140#if defined(OSG_GLES1_AVAILABLE) || defined(OSG_GLES2_AVAILABLE) && !defined(OSG_GL3_AVAILABLE) 
    141141    osg::notify(osg::NOTICE)<<"Warning: ParticleSystem::drawImplementation(..) not fully implemented."<<std::endl; 
    142142#endif 
  • OpenSceneGraph/trunk/src/osgPlugins/OpenFlight/PaletteRecords.cpp

    r10699 r10710  
    3737    #define GL_RGBA12                   0x805A 
    3838    #define GL_RGB12                    0x8053 
     39    #define GL_LUMINANCE12_ALPHA4       0x8046 
     40    #define GL_LUMINANCE12_ALPHA12      0x8047 
     41    #define GL_INTENSITY16              0x804D 
     42#endif 
     43 
     44#if defined(OSG_GL3_AVAILABLE) 
    3945    #define GL_LUMINANCE12_ALPHA4       0x8046 
    4046    #define GL_LUMINANCE12_ALPHA12      0x8047 
  • OpenSceneGraph/trunk/src/osgPlugins/dds/ReaderWriterDDS.cpp

    r10699 r10710  
    3838#if defined(OSG_GLES1_AVAILABLE) || defined(OSG_GLES2_AVAILABLE) 
    3939    #define GL_RED                  0x1903 
     40    #define GL_LUMINANCE4_ALPHA4    0x8043 
     41#endif 
     42 
     43#if defined(OSG_GL3_AVAILABLE) 
    4044    #define GL_LUMINANCE4_ALPHA4    0x8043 
    4145#endif 
  • OpenSceneGraph/trunk/src/osgPlugins/logo/ReaderWriterLOGO.cpp

    r10699 r10710  
    9696        virtual void drawImplementation(osg::RenderInfo& renderInfo) const 
    9797        { 
    98         #if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE) 
     98        #if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE) && !defined(OSG_GL3_AVAILABLE) 
    9999 
    100100            if( renderInfo.getContextID() != _contextID )  
  • OpenSceneGraph/trunk/src/osgPlugins/osg/StateSet.cpp

    r10703 r10710  
    131131    ADD_NAME("GL_LIGHT6",GL_LIGHT6); 
    132132    ADD_NAME("GL_LIGHT7",GL_LIGHT7); 
    133      
     133 
     134#if defined(OSG_GL3_AVAILABLE) 
     135    #define GL_VERTEX_PROGRAM_POINT_SIZE      0x8642 
     136    #define GL_VERTEX_PROGRAM_TWO_SIDE        0x8643 
     137#endif 
    134138    ADD_NAME("GL_VERTEX_PROGRAM_POINT_SIZE", GL_VERTEX_PROGRAM_POINT_SIZE) 
    135139    ADD_NAME("GL_VERTEX_PROGRAM_TWO_SIDE", GL_VERTEX_PROGRAM_TWO_SIDE) 
  • OpenSceneGraph/trunk/src/osgPlugins/rgb/ReaderWriterRGB.cpp

    r10699 r10710  
    2828    #define GL_GREEN                0x1904 
    2929    #define GL_BLUE                 0x1905 
     30    #define GL_COLOR_INDEX          0x1900 
     31#endif 
     32 
     33#if defined(OSG_GL3_AVAILABLE) 
     34    #define GL_BITMAP               0x1A00 
    3035    #define GL_COLOR_INDEX          0x1900 
    3136#endif 
  • OpenSceneGraph/trunk/src/osgSim/LightPointDrawable.cpp

    r10699 r10710  
    8585void LightPointDrawable::drawImplementation(osg::RenderInfo& renderInfo) const 
    8686{ 
    87 #if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE) 
     87#if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE) && !defined(OSG_GL3_AVAILABLE) 
    8888    osg::State& state = *renderInfo.getState(); 
    8989 
  • OpenSceneGraph/trunk/src/osgSim/LightPointSpriteDrawable.cpp

    r10699 r10710  
    3131void LightPointSpriteDrawable::drawImplementation(osg::RenderInfo& renderInfo) const 
    3232{ 
    33 #if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE) 
     33#if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE) && !defined(OSG_GL3_AVAILABLE) 
    3434    osg::State& state = *renderInfo.getState(); 
    3535 
  • OpenSceneGraph/trunk/src/osgText/Text.cpp

    r10699 r10710  
    13541354        if (_textBB.valid()) 
    13551355        { 
    1356         #if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE) 
     1356        #if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE) && !defined(OSG_GL3_AVAILABLE) 
    13571357            state.applyTextureMode(0,GL_TEXTURE_2D,osg::StateAttribute::OFF); 
    13581358 
     
    18491849void Text::renderWithPolygonOffset(osg::State& state, const osg::Vec4& colorMultiplier) const 
    18501850{ 
    1851 #if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE) 
     1851#if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE) && !defined(OSG_GL3_AVAILABLE) 
    18521852    unsigned int contextID = state.getContextID(); 
    18531853 
     
    19141914void Text::renderWithNoDepthBuffer(osg::State& state, const osg::Vec4& colorMultiplier) const 
    19151915{ 
    1916 #if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE) 
     1916#if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE) && !defined(OSG_GL3_AVAILABLE) 
    19171917    unsigned int contextID = state.getContextID(); 
    19181918 
     
    19681968void Text::renderWithDepthRange(osg::State& state, const osg::Vec4& colorMultiplier) const 
    19691969{ 
    1970 #if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE) 
     1970#if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE) && !defined(OSG_GL3_AVAILABLE) 
    19711971    unsigned int contextID = state.getContextID(); 
    19721972 
     
    20282028void Text::renderWithStencilBuffer(osg::State& state, const osg::Vec4& colorMultiplier) const 
    20292029{ 
    2030 #if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE) 
     2030#if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE) && !defined(OSG_GL3_AVAILABLE) 
    20312031    /* Here are the steps: 
    20322032     * 1) Disable drawing color 
  • OpenSceneGraph/trunk/src/osgText/Text3D.cpp

    r10699 r10710  
    528528        renderInfo.getState()->disableAllVertexArrays(); 
    529529 
    530         #if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE) 
     530        #if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE) && !defined(OSG_GL3_AVAILABLE) 
    531531            glPushAttrib(GL_TRANSFORM_BIT); 
    532532            glEnable(GL_RESCALE_NORMAL); 
     
    540540        } 
    541541 
    542         #if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE) 
     542        #if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE) && !defined(OSG_GL3_AVAILABLE) 
    543543            glPopAttrib(); 
    544544        #endif 
  • OpenSceneGraph/trunk/src/osgUtil/RenderStage.cpp

    r10699 r10710  
    12871287    } 
    12881288 
    1289     #if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE) 
     1289    #if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE) && !defined(OSG_GL3_AVAILABLE) 
    12901290        if (_clearMask & GL_ACCUM_BUFFER_BIT) 
    12911291        { 
  • OpenSceneGraph/trunk/src/osgUtil/SceneView.cpp

    r10708 r10710  
    3131using namespace osgUtil; 
    3232 
    33 #if defined(OSG_GLES1_AVAILABLE) || defined(OSG_GLES2_AVAILABLE) 
     33#if defined(OSG_GLES1_AVAILABLE) || defined(OSG_GLES2_AVAILABLE) && !defined(OSG_GL3_AVAILABLE) 
    3434    // define under GLES to keep the main SceneView.cpp clean. 
    3535    #define GL_BACK_LEFT        0x0402 
     
    12901290        case(osg::DisplaySettings::VERTICAL_INTERLACE): 
    12911291            { 
    1292             #if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE)                 
     1292            #if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE) && !defined(OSG_GL3_AVAILABLE) 
    12931293                if( 0 == ( _camera->getInheritanceMask() & DRAW_BUFFER) ) 
    12941294                { 
     
    13731373        case(osg::DisplaySettings::HORIZONTAL_INTERLACE): 
    13741374            { 
    1375             #if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE)                 
     1375            #if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE) && !defined(OSG_GL3_AVAILABLE) 
    13761376                if( 0 == ( _camera->getInheritanceMask() & DRAW_BUFFER) ) 
    13771377                { 
     
    14551455        case(osg::DisplaySettings::CHECKERBOARD): 
    14561456            { 
    1457             #if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE)                 
     1457            #if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE) && !defined(OSG_GL3_AVAILABLE) 
    14581458                if( 0 == ( _camera->getInheritanceMask() & DRAW_BUFFER) ) 
    14591459                { 
  • OpenSceneGraph/trunk/src/osgViewer/GraphicsWindowWin32.cpp

    r10460 r10710  
    9292#define WGL_SAMPLE_BUFFERS_ARB                  0x2041 
    9393#define WGL_SAMPLES_ARB                         0x2042 
     94 
     95#ifndef WGL_ARB_create_context 
     96#define WGL_CONTEXT_DEBUG_BIT_ARB      0x00000001 
     97#define WGL_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB 0x00000002 
     98#define WGL_CONTEXT_MAJOR_VERSION_ARB  0x2091 
     99#define WGL_CONTEXT_MINOR_VERSION_ARB  0x2092 
     100#define WGL_CONTEXT_LAYER_PLANE_ARB    0x2093 
     101#define WGL_CONTEXT_FLAGS_ARB          0x2094 
     102#define ERROR_INVALID_VERSION_ARB      0x2095 
     103#endif 
     104 
     105#ifndef WGL_ARB_create_context 
     106#define WGL_ARB_create_context 1 
     107#ifdef WGL_WGLEXT_PROTOTYPES 
     108extern HGLRC WINAPI wglCreateContextAttribsARB (HDC, HGLRC, const int *); 
     109#endif /* WGL_WGLEXT_PROTOTYPES */ 
     110typedef HGLRC (WINAPI * PFNWGLCREATECONTEXTATTRIBSARBPROC) (HDC hDC, HGLRC hShareContext, const int *attribList); 
     111#endif 
    94112 
    95113//