Changeset 10699

Show
Ignore:
Timestamp:
10/28/09 21:31:57 (5 years ago)
Author:
robert
Message:

Ported osgUtil, osgDB, osgGA, NodeKits? and plugins to compile against OpenGL ES 1.1 and OpenGL ES 2.0.

Location:
OpenSceneGraph/trunk
Files:
37 modified

Legend:

Unmodified
Added
Removed
  • OpenSceneGraph/trunk/applications/osgconv/OrientationConverter.cpp

    r7063 r10699  
    6161    if (!S.isIdentity()) 
    6262    { 
    63         // Add a normalize state. This will be removed if the FlattenStaticTransformsVisitor works 
    64         transform->getOrCreateStateSet()->setMode(GL_NORMALIZE, osg::StateAttribute::ON); 
     63        #if !defined(OSG_GLES2_AVAILABLE) 
     64            // Add a normalize state. This will be removed if the FlattenStaticTransformsVisitor works 
     65            transform->getOrCreateStateSet()->setMode(GL_NORMALIZE, osg::StateAttribute::ON); 
     66        #endif 
    6567    } 
    6668 
  • OpenSceneGraph/trunk/applications/present3D/present3D.cpp

    r10578 r10699  
    724724 
    725725 
    726 #if 1 
     726#if !defined(OSG_GLES2_AVAILABLE) 
     727 
    727728    // add back in enabling of the GL_ALPHA_TEST to get around the core OSG no longer setting it by default for opaque bins. 
    728729    // the alpha test is required for the volume rendering alpha clipping to work. 
  • OpenSceneGraph/trunk/include/osg/FrameBufferObject

    r9239 r10699  
    109109#endif 
    110110 
     111#ifndef GL_DEPTH_COMPONENT 
     112#define GL_DEPTH_COMPONENT              0x1902 
     113#endif 
     114 
    111115#ifndef GL_VERSION_1_4 
    112116#define GL_DEPTH_COMPONENT16              0x81A5 
  • OpenSceneGraph/trunk/include/osg/PolygonOffset

    r10691 r10699  
    1616 
    1717#include <osg/StateAttribute> 
     18 
     19#ifndef GL_POLYGON_OFFSET_LINE  
     20    #define GL_POLYGON_OFFSET_LINE 0x2A02 
     21    #define GL_POLYGON_OFFSET_POINT 0x2A01 
     22#endif 
    1823 
    1924namespace osg { 
  • OpenSceneGraph/trunk/include/osg/Texture

    r10691 r10699  
    146146 
    147147#ifndef GL_CLAMP 
    148     // OpenGL ES1 and ES2 doesn't provide GL_CLAMP but has GL_CLAMP_TO_EDGE 
    149     #define GL_CLAMP GL_CLAMP_TO_EDGE 
     148    #define GL_CLAMP                          0x2900   
    150149#endif 
    151150 
  • OpenSceneGraph/trunk/include/osgPresentation/SlideShowConstructor

    r10559 r10699  
    392392    { 
    393393        osg::StateSet* stateset = new osg::StateSet; 
    394         stateset->setMode(GL_NORMALIZE,osg::StateAttribute::ON); 
     394        #if !defined(OSG_GLES2_AVAILABLE) 
     395            stateset->setMode(GL_NORMALIZE,osg::StateAttribute::ON); 
     396        #endif 
    395397        return stateset; 
    396398    } 
  • OpenSceneGraph/trunk/include/osgText/Font

    r7874 r10699  
    312312        void subload() const; 
    313313         
    314         void draw(osg::State& state) const; 
    315  
    316314    protected: 
    317315 
  • OpenSceneGraph/trunk/src/osg/Image.cpp

    r10691 r10699  
    3333 
    3434#if defined(OSG_GLES1_AVAILABLE) || defined(OSG_GLES2_AVAILABLE) 
    35 #define GL_BITMAP               0x1A00 
    36 #define GL_RED                  0x1903 
    37 #define GL_GREEN                0x1904 
    38 #define GL_BLUE                 0x1905 
    39 #define GL_COLOR_INDEX          0x1900 
    40 #define GL_DEPTH_COMPONENT      0x1902 
    41 #define GL_INTENSITY12          0x804C 
    42 #define GL_INTENSITY16          0x804D 
    43 #define GL_INTENSITY4           0x804A 
    44 #define GL_INTENSITY8           0x804B 
    45 #define GL_LUMINANCE12          0x8041 
    46 #define GL_LUMINANCE12_ALPHA4   0x8046 
    47 #define GL_LUMINANCE12_ALPHA12  0x8047 
    48 #define GL_LUMINANCE16          0x8042 
    49 #define GL_LUMINANCE16_ALPHA16  0x8048 
    50 #define GL_LUMINANCE4           0x803F 
    51 #define GL_LUMINANCE4_ALPHA4    0x8043 
    52 #define GL_LUMINANCE6_ALPHA2    0x8044 
    53 #define GL_LUMINANCE8           0x8040 
    54 #define GL_LUMINANCE8_ALPHA8    0x8045 
    55 #define GL_STENCIL_INDEX        0x1901 
    56 #define GL_RGBA8                0x8058 
     35    #define GL_BITMAP               0x1A00 
     36    #define GL_RED                  0x1903 
     37    #define GL_GREEN                0x1904 
     38    #define GL_BLUE                 0x1905 
     39    #define GL_COLOR_INDEX          0x1900 
     40    #define GL_DEPTH_COMPONENT      0x1902 
     41    #define GL_INTENSITY12          0x804C 
     42    #define GL_INTENSITY16          0x804D 
     43    #define GL_INTENSITY4           0x804A 
     44    #define GL_INTENSITY8           0x804B 
     45    #define GL_LUMINANCE12          0x8041 
     46    #define GL_LUMINANCE12_ALPHA4   0x8046 
     47    #define GL_LUMINANCE12_ALPHA12  0x8047 
     48    #define GL_LUMINANCE16          0x8042 
     49    #define GL_LUMINANCE16_ALPHA16  0x8048 
     50    #define GL_LUMINANCE4           0x803F 
     51    #define GL_LUMINANCE4_ALPHA4    0x8043 
     52    #define GL_LUMINANCE6_ALPHA2    0x8044 
     53    #define GL_LUMINANCE8           0x8040 
     54    #define GL_LUMINANCE8_ALPHA8    0x8045 
     55    #define GL_STENCIL_INDEX        0x1901 
     56    #define GL_RGBA8                0x8058 
    5757#endif 
    5858 
  • OpenSceneGraph/trunk/src/osg/Texture.cpp

    r10691 r10699  
    15601560            wr = CLAMP; 
    15611561    } 
     1562 
     1563    #if defined(OSG_GLES1_AVAILABLE) || defined(OSG_GLES2_AVAILABLE)  
     1564        if (ws == CLAMP) ws = CLAMP_TO_EDGE; 
     1565        if (wt == CLAMP) wr = CLAMP_TO_EDGE; 
     1566        if (wr == CLAMP) wt = CLAMP_TO_EDGE; 
     1567    #endif 
    15621568     
    15631569    const Image * image = getImage(0); 
  • OpenSceneGraph/trunk/src/osgFX/AnisotropicLighting.cpp

    r5187 r10699  
    217217            ss->setTextureAttributeAndModes(0, texenv.get(), osg::StateAttribute::OVERRIDE|osg::StateAttribute::ON); 
    218218 
    219             ss->setMode( GL_ALPHA_TEST, osg::StateAttribute::OFF ); 
     219            #if !defined(OSG_GLES2_AVAILABLE) 
     220                ss->setMode( GL_ALPHA_TEST, osg::StateAttribute::OFF ); 
     221            #else 
     222                osg::notify(osg::NOTICE)<<"Warning: osgFX::AnisotropicLighting unable to disable GL_ALPHA_TEST."<<std::endl; 
     223            #endif 
    220224 
    221225            addPass(ss.get()); 
  • OpenSceneGraph/trunk/src/osgFX/Scribe.cpp

    r4119 r10699  
    5959 
    6060                ss->setMode(GL_LIGHTING, osg::StateAttribute::OVERRIDE|osg::StateAttribute::ON); 
    61                 ss->setTextureMode(0, GL_TEXTURE_1D, osg::StateAttribute::OVERRIDE|osg::StateAttribute::OFF); 
    6261                ss->setTextureMode(0, GL_TEXTURE_2D, osg::StateAttribute::OVERRIDE|osg::StateAttribute::OFF); 
    6362 
  • OpenSceneGraph/trunk/src/osgFX/SpecularHighlights.cpp

    r4241 r10699  
    5151        void apply(osg::State& state) const 
    5252        { 
     53        #ifdef OSG_GL_MATRICES_AVAILABLE 
     54 
    5355            glMatrixMode(GL_TEXTURE); 
    5456 
     
    7577 
    7678            glMatrixMode(GL_MODELVIEW); 
     79        #else 
     80            osg::notify(osg::NOTICE)<<"Warning: osgFX::SpecualHighlights unable to set texture matrix."<<std::endl; 
     81        #endif 
    7782        } 
    7883 
  • OpenSceneGraph/trunk/src/osgGA/StateSetManipulator.cpp

    r7949 r10699  
    9797 
    9898        unsigned int mode = osg::StateAttribute::INHERIT|osg::StateAttribute::ON; 
    99         _texture = (_stateset->getTextureMode(0,GL_TEXTURE_1D)&mode) || 
    100                   (_stateset->getTextureMode(0,GL_TEXTURE_2D)&mode) || 
     99 
     100        _texture = (_stateset->getTextureMode(0,GL_TEXTURE_2D)&mode) || 
    101101                   (_stateset->getTextureMode(0,GL_TEXTURE_3D)&mode) || 
    102102                   (_stateset->getTextureMode(0,GL_TEXTURE_RECTANGLE)&mode) || 
    103103                   (_stateset->getTextureMode(0,GL_TEXTURE_CUBE_MAP)&mode); 
     104                    
     105        #if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE) 
     106            _texture |= (_stateset->getTextureMode(0,GL_TEXTURE_1D)&mode); 
     107        #endif 
    104108    } 
    105109 
     
    184188    for( unsigned int ii=0; ii<_maxNumOfTextureUnits; ii++ ) 
    185189    { 
     190        #if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE) 
    186191            _stateset->setTextureMode( ii, GL_TEXTURE_1D, mode ); 
    187             _stateset->setTextureMode( ii, GL_TEXTURE_2D, mode ); 
    188             _stateset->setTextureMode( ii, GL_TEXTURE_3D, mode ); 
    189             _stateset->setTextureMode( ii, GL_TEXTURE_RECTANGLE, mode ); 
    190             _stateset->setTextureMode( ii, GL_TEXTURE_CUBE_MAP, mode); 
     192        #endif 
     193        _stateset->setTextureMode( ii, GL_TEXTURE_2D, mode ); 
     194        _stateset->setTextureMode( ii, GL_TEXTURE_3D, mode ); 
     195        _stateset->setTextureMode( ii, GL_TEXTURE_RECTANGLE, mode ); 
     196        _stateset->setTextureMode( ii, GL_TEXTURE_CUBE_MAP, mode); 
    191197    } 
    192198} 
  • OpenSceneGraph/trunk/src/osgManipulator/TrackballDragger.cpp

    r6149 r10699  
    133133        polymode->setMode(osg::PolygonMode::FRONT_AND_BACK,osg::PolygonMode::LINE); 
    134134        geode->getOrCreateStateSet()->setAttributeAndModes(polymode,osg::StateAttribute::OVERRIDE|osg::StateAttribute::ON); 
    135         geode->getOrCreateStateSet()->setMode(GL_NORMALIZE, osg::StateAttribute::ON); 
    136135        geode->getOrCreateStateSet()->setAttributeAndModes(new osg::LineWidth(2.0f),osg::StateAttribute::ON); 
     136 
     137        #if !defined(OSG_GLES2_AVAILABLE) 
     138            geode->getOrCreateStateSet()->setMode(GL_NORMALIZE, osg::StateAttribute::ON); 
     139        #endif 
     140     
    137141    } 
    138142 
  • OpenSceneGraph/trunk/src/osgParticle/ParticleSystem.cpp

    r10660 r10699  
    107107 
    108108    // set up depth mask for first rendering pass 
     109#if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE) 
    109110    glPushAttrib(GL_DEPTH_BUFFER_BIT);  
     111#endif 
     112     
    110113    glDepthMask(GL_FALSE); 
    111114 
     
    113116    single_pass_render(state, modelview); 
    114117 
     118#if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE) 
    115119    // restore depth mask settings 
    116120    glPopAttrib(); 
     121#endif 
    117122 
    118123    // render, second pass 
    119124    if (_doublepass) {     
    120125        // set up color mask for second rendering pass 
     126#if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE) 
    121127        glPushAttrib(GL_COLOR_BUFFER_BIT); 
     128#endif 
    122129        glColorMask(GL_FALSE, GL_FALSE, GL_FALSE, GL_FALSE); 
    123130 
     
    125132        single_pass_render(state, modelview); 
    126133 
     134#if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE) 
    127135        // restore color mask settings 
    128136        glPopAttrib(); 
    129     } 
     137#endif 
     138    } 
     139 
     140#if defined(OSG_GLES1_AVAILABLE) || defined(OSG_GLES2_AVAILABLE) 
     141    osg::notify(osg::NOTICE)<<"Warning: ParticleSystem::drawImplementation(..) not fully implemented."<<std::endl; 
     142#endif 
     143 
    130144} 
    131145 
  • OpenSceneGraph/trunk/src/osgParticle/PrecipitationEffect.cpp

    r10334 r10699  
    730730        _pointStateSet->setTextureAttributeAndModes(0, sprite, osg::StateAttribute::ON); 
    731731 
    732         _pointStateSet->setMode(GL_VERTEX_PROGRAM_POINT_SIZE, osg::StateAttribute::ON); 
     732        #if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE) 
     733            _pointStateSet->setMode(GL_VERTEX_PROGRAM_POINT_SIZE, osg::StateAttribute::ON); 
     734        #else 
     735            osg::notify(osg::NOTICE)<<"Warning: ParticleEffect::setUpGeometries(..) not fully implemented."<<std::endl; 
     736        #endif 
     737         
    733738        _pointStateSet->setRenderBinDetails(pointRenderBin,"DepthSortedBin"); 
    734739    } 
     
    899904void PrecipitationEffect::PrecipitationDrawable::drawImplementation(osg::RenderInfo& renderInfo) const 
    900905{ 
    901     if (!_geometry) return; 
     906#if defined(OSG_GL_MATRICES_AVAILABLE) 
     907 
     908if (!_geometry) return; 
     909 
    902910 
    903911    const osg::Geometry::Extensions* extensions = osg::Geometry::getExtensions(renderInfo.getContextID(),true); 
     
    971979     
    972980    glPopMatrix(); 
    973  
    974      
    975 } 
     981#else 
     982    osg::notify(osg::NOTICE)<<"Warning: ParticleEffect::drawImplementation(..) not fully implemented."<<std::endl; 
     983#endif 
     984} 
  • OpenSceneGraph/trunk/src/osgPlugins/OpenFlight/PaletteRecords.cpp

    r10283 r10699  
    1313 
    1414// 
    15 // OpenFlight® loader for OpenSceneGraph 
     15// OpenFlight (R) loader for OpenSceneGraph 
    1616// 
    1717//  Copyright (C) 2005-2007  Brede Johansen 
     
    3030#include "AttrData.h" 
    3131#include "RecordInputStream.h" 
     32 
     33#if defined(OSG_GLES1_AVAILABLE) || defined(OSG_GLES2_AVAILABLE) 
     34    #define GL_RGB5                     0x8050 
     35    #define GL_RGBA4                    0x8056 
     36    #define GL_RGBA8                    0x8058 
     37    #define GL_RGBA12                   0x805A 
     38    #define GL_RGB12                    0x8053 
     39    #define GL_LUMINANCE12_ALPHA4       0x8046 
     40    #define GL_LUMINANCE12_ALPHA12      0x8047 
     41    #define GL_INTENSITY16              0x804D 
     42#endif 
    3243 
    3344namespace flt { 
  • OpenSceneGraph/trunk/src/osgPlugins/bsp/Q3BSPReader.cpp

    r9527 r10699  
    1  
    21#include <osg/TexEnv> 
    32#include <osg/CullFace> 
     
    2221#include "Q3BSPLoad.h" 
    2322 
     23#ifndef GL_RGBA8 
     24    #define GL_RGBA8 0x8058 
     25#endif 
    2426 
    2527using namespace bsp; 
  • OpenSceneGraph/trunk/src/osgPlugins/dds/ReaderWriterDDS.cpp

    r10370 r10699  
    3636#include <string.h> 
    3737 
     38#if defined(OSG_GLES1_AVAILABLE) || defined(OSG_GLES2_AVAILABLE) 
     39    #define GL_RED                  0x1903 
     40    #define GL_LUMINANCE4_ALPHA4    0x8043 
     41#endif 
    3842 
    3943// NOTICE ON WIN32: 
  • OpenSceneGraph/trunk/src/osgPlugins/hdr/ReaderWriterHDR.cpp

    r9459 r10699  
    4545#include "hdrloader.h" 
    4646#include "hdrwriter.h" 
     47 
     48#ifndef GL_RGBA8 
     49    #define GL_RGBA8 0x8058 
     50#endif 
     51 
     52#ifndef GL_RGB8 
     53    #define GL_RGB8 0x8051 
     54#endif 
     55 
    4756 
    4857class ReaderWriterHDR : public osgDB::ReaderWriter 
  • OpenSceneGraph/trunk/src/osgPlugins/logo/ReaderWriterLOGO.cpp

    r10467 r10699  
    9696        virtual void drawImplementation(osg::RenderInfo& renderInfo) const 
    9797        { 
     98        #if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE) 
     99 
    98100            if( renderInfo.getContextID() != _contextID )  
    99101                return; 
     
    165167            glMatrixMode( GL_PROJECTION ); 
    166168            glPopMatrix(); 
    167             glMatrixMode( GL_MODELVIEW ); 
     169            glMatrixMode( GL_MODELVIEW );             
     170        #else 
     171            osg::notify(osg::NOTICE)<<"Warning: Logos::drawImplementation(..) not supported."<<std::endl; 
     172        #endif 
    168173        } 
    169174 
  • OpenSceneGraph/trunk/src/osgPlugins/osg/StateSet.cpp

    r10629 r10699  
    11#include <osg/StateSet> 
     2#include <osg/Texture1D> 
    23#include <osg/Texture2D> 
    34#include <osg/TextureCubeMap> 
    45#include <osg/TextureRectangle> 
     6#include <osg/TexGen> 
     7#include <osg/PolygonOffset> 
     8#include <osg/LineStipple> 
    59 
    610#include <osgDB/Registry> 
  • OpenSceneGraph/trunk/src/osgPlugins/rgb/ReaderWriterRGB.cpp

    r9124 r10699  
    2121#ifndef SEEK_SET 
    2222#  define SEEK_SET 0 
     23#endif 
     24 
     25#if defined(OSG_GLES1_AVAILABLE) || defined(OSG_GLES2_AVAILABLE) 
     26    #define GL_BITMAP               0x1A00 
     27    #define GL_RED                  0x1903 
     28    #define GL_GREEN                0x1904 
     29    #define GL_BLUE                 0x1905 
     30    #define GL_COLOR_INDEX          0x1900 
    2331#endif 
    2432 
  • OpenSceneGraph/trunk/src/osgShadow/OccluderGeometry.cpp

    r9377 r10699  
    948948        else 
    949949        { 
    950             glNormal3f(0.0f, 0.0f, 0.0f); 
    951         } 
    952  
    953  
    954         glColor4f(0.5f, 1.0f, 1.0f, 1.0f); 
     950            state->Normal(0.0f, 0.0f, 0.0f); 
     951        } 
     952 
     953 
     954        state->Color(0.5f, 1.0f, 1.0f, 1.0f); 
    955955 
    956956        glDrawArrays( GL_QUADS, 0, _vertices.size() ); 
  • OpenSceneGraph/trunk/src/osgShadow/ShadowMap.cpp

    r9540 r10699  
    314314            // add fake texture 
    315315            _stateset->setTextureAttribute(_baseTextureUnit,fakeTex,osg::StateAttribute::ON); 
    316             _stateset->setTextureMode(_baseTextureUnit,GL_TEXTURE_1D,osg::StateAttribute::OFF); 
    317316            _stateset->setTextureMode(_baseTextureUnit,GL_TEXTURE_2D,osg::StateAttribute::ON); 
    318317            _stateset->setTextureMode(_baseTextureUnit,GL_TEXTURE_3D,osg::StateAttribute::OFF); 
     318            #if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE) 
     319                _stateset->setTextureMode(_baseTextureUnit,GL_TEXTURE_1D,osg::StateAttribute::OFF); 
     320            #endif 
    319321        } 
    320322    } 
  • OpenSceneGraph/trunk/src/osgShadow/SoftShadowMap.cpp

    r8891 r10699  
    313313    // the GPU Gem implementation uses a NV specific internal texture format (GL_SIGNED_RGBA_NV) 
    314314    // In order to make it more generic, we use GL_RGBA4 which should be cross platform. 
    315     image3D->setImage(size, size, R, GL_RGBA4, GL_RGBA, GL_UNSIGNED_BYTE, data3D, osg::Image::USE_NEW_DELETE); 
     315    #ifdef GL_RGBA4 
     316    GLenum internalTextureFormat = GL_RGBA4; 
     317    #else 
     318    // OpenGLES 1.1 doesn't define GL_RGBA4, so we'll just assume RGBA 
     319    GLenum internalTextureFormat = GL_RGBA; 
     320    #endif 
     321    image3D->setImage(size, size, R, internalTextureFormat, GL_RGBA, GL_UNSIGNED_BYTE, data3D, osg::Image::USE_NEW_DELETE); 
     322 
    316323    texture3D->setImage(image3D); 
    317324 
  • OpenSceneGraph/trunk/src/osgShadow/StandardShadowMap.cpp

    r9406 r10699  
    479479         
    480480        _stateset->setTextureAttribute(st->_baseTextureUnit,fakeTex,osg::StateAttribute::ON); 
    481         _stateset->setTextureMode(st->_baseTextureUnit,GL_TEXTURE_1D,osg::StateAttribute::OFF); 
    482481        _stateset->setTextureMode(st->_baseTextureUnit,GL_TEXTURE_2D,osg::StateAttribute::ON); 
    483482        _stateset->setTextureMode(st->_baseTextureUnit,GL_TEXTURE_3D,osg::StateAttribute::OFF); 
     483        #if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE) 
     484            _stateset->setTextureMode(st->_baseTextureUnit,GL_TEXTURE_1D,osg::StateAttribute::OFF); 
     485        #endif 
    484486    } 
    485487 
     
    583585        for( unsigned stage = 1; stage < 4; stage ++ ) 
    584586        { 
    585             stateset->setTextureMode( stage, GL_TEXTURE_1D, osg::StateAttribute::OVERRIDE | osg::StateAttribute::OFF ); 
     587            #if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE) 
     588                stateset->setTextureMode( stage, GL_TEXTURE_1D, osg::StateAttribute::OVERRIDE | osg::StateAttribute::OFF ); 
     589            #endif 
    586590            stateset->setTextureMode( stage, GL_TEXTURE_2D, osg::StateAttribute::OVERRIDE | osg::StateAttribute::OFF ); 
    587591            stateset->setTextureMode( stage, GL_TEXTURE_3D, osg::StateAttribute::OVERRIDE | osg::StateAttribute::OFF ); 
  • OpenSceneGraph/trunk/src/osgSim/LightPointDrawable.cpp

    r6422 r10699  
    8585void LightPointDrawable::drawImplementation(osg::RenderInfo& renderInfo) const 
    8686{ 
     87#if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE) 
    8788    osg::State& state = *renderInfo.getState(); 
    8889 
     
    168169    // restore the state afterwards. 
    169170    state.apply(); 
    170  
     171#else 
     172    osg::notify(osg::NOTICE)<<"Warning: LightPointDrawable not supported."<<std::endl; 
     173#endif 
    171174} 
    172175 
  • OpenSceneGraph/trunk/src/osgSim/LightPointSpriteDrawable.cpp

    r6422 r10699  
    3131void LightPointSpriteDrawable::drawImplementation(osg::RenderInfo& renderInfo) const 
    3232{ 
     33#if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE) 
    3334    osg::State& state = *renderInfo.getState(); 
    3435 
     
    125126    // restore the state afterwards. 
    126127    state.apply(); 
    127  
     128#else 
     129    osg::notify(osg::NOTICE)<<"Warning: LightPointDrawable not supported."<<std::endl; 
     130#endif 
    128131} 
    129132 
  • OpenSceneGraph/trunk/src/osgText/Font.cpp

    r10611 r10699  
    906906    }                     
    907907} 
    908  
    909 void Font::Glyph::draw(osg::State& state) const 
    910 { 
    911     GLuint& globj = _globjList[state.getContextID()]; 
    912  
    913     // call the globj if already set otherwise compile and execute. 
    914     if( globj != 0 ) 
    915     { 
    916         glCallList( globj ); 
    917     } 
    918     else  
    919     { 
    920         globj = glGenLists( 1 ); 
    921         glNewList( globj, GL_COMPILE_AND_EXECUTE ); 
    922  
    923         glPixelStorei(GL_UNPACK_ALIGNMENT,getPacking()); 
    924         glDrawPixels(s(), t(), 
    925                      (GLenum)getPixelFormat(), 
    926                      (GLenum)getDataType(), 
    927                      data() ); 
    928  
    929         glEndList(); 
    930     } 
    931 } 
  • OpenSceneGraph/trunk/src/osgText/Text.cpp

    r10659 r10699  
    13521352    if (_drawMode & FILLEDBOUNDINGBOX) 
    13531353    { 
    1354  
    13551354        if (_textBB.valid()) 
    13561355        { 
     1356        #if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE) 
    13571357            state.applyTextureMode(0,GL_TEXTURE_2D,osg::StateAttribute::OFF); 
    13581358 
     
    14071407                    glPopAttrib(); 
    14081408            } 
     1409        #else 
     1410            osg::notify(osg::NOTICE)<<"Warning: Text::drawImplementation() fillMode FILLEDBOUNDINGBOX not supported"<<std::endl; 
     1411        #endif 
    14091412        } 
    14101413    }     
     
    18151818        { 
    18161819            state.disableColorPointer(); 
    1817             glColor4f(colorMultiplier.r()*_color.r(),colorMultiplier.g()*_color.g(),colorMultiplier.b()*_color.b(),colorMultiplier.a()*_color.a()); 
     1820            state.Color(colorMultiplier.r()*_color.r(),colorMultiplier.g()*_color.g(),colorMultiplier.b()*_color.b(),colorMultiplier.a()*_color.a()); 
    18181821        } 
    18191822        else 
     
    18461849void Text::renderWithPolygonOffset(osg::State& state, const osg::Vec4& colorMultiplier) const 
    18471850{ 
     1851#if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE) 
    18481852    unsigned int contextID = state.getContextID(); 
    1849  
    18501853 
    18511854    if (!osg::PolygonOffset::areFactorAndUnitsMultipliersSet()) 
     
    19031906 
    19041907    glPopAttrib(); 
     1908#else 
     1909    osg::notify(osg::NOTICE)<<"Warning: Text::renderWithPolygonOffset(..) not implemented."<<std::endl; 
     1910#endif 
    19051911} 
    19061912     
     
    19081914void Text::renderWithNoDepthBuffer(osg::State& state, const osg::Vec4& colorMultiplier) const 
    19091915{ 
     1916#if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE) 
    19101917    unsigned int contextID = state.getContextID(); 
    19111918 
     
    19531960 
    19541961    glPopAttrib(); 
     1962#else 
     1963    osg::notify(osg::NOTICE)<<"Warning: Text::renderWithNoDepthBuffer(..) not implemented."<<std::endl; 
     1964#endif 
    19551965} 
    19561966 
     
    19581968void Text::renderWithDepthRange(osg::State& state, const osg::Vec4& colorMultiplier) const 
    19591969{ 
     1970#if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE) 
    19601971    unsigned int contextID = state.getContextID(); 
    19611972 
     
    20102021 
    20112022    glPopAttrib(); 
     2023#else 
     2024    osg::notify(osg::NOTICE)<<"Warning: Text::renderWithDepthRange(..) not implemented."<<std::endl; 
     2025#endif 
    20122026} 
    20132027 
    20142028void Text::renderWithStencilBuffer(osg::State& state, const osg::Vec4& colorMultiplier) const 
    20152029{ 
     2030#if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE) 
    20162031    /* Here are the steps: 
    20172032     * 1) Disable drawing color 
     
    21672182 
    21682183    glPopAttrib(); 
    2169 } 
     2184#else 
     2185    osg::notify(osg::NOTICE)<<"Warning: Text::renderWithStencilBuffer(..) not implemented."<<std::endl; 
     2186#endif 
     2187} 
  • OpenSceneGraph/trunk/src/osgText/Text3D.cpp

    r10659 r10699  
    1313 
    1414#include <osgText/Text3D> 
     15#include <osg/Vec3d> 
    1516#include <osg/io_utils> 
     17 
    1618namespace osgText 
    1719{ 
     
    526528        renderInfo.getState()->disableAllVertexArrays(); 
    527529 
    528         glPushAttrib(GL_TRANSFORM_BIT); 
    529         glEnable(GL_RESCALE_NORMAL); 
     530        #if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE) 
     531            glPushAttrib(GL_TRANSFORM_BIT); 
     532            glEnable(GL_RESCALE_NORMAL); 
     533        #endif 
    530534 
    531535        switch(_renderMode) 
     
    536540        } 
    537541 
    538         glPopAttrib(); 
     542        #if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE) 
     543            glPopAttrib(); 
     544        #endif 
    539545    } 
    540546 
     
    616622        { 
    617623 
    618             glPushMatrix(); 
    619  
    620             glTranslatef(it->_position.x(), it->_position.y(), it->_position.z()); 
    621  
     624            osg::ref_ptr<osg::RefMatrix> matrix = new osg::RefMatrix(state.getModelViewMatrix()); 
     625            matrix->preMultTranslate(osg::Vec3d(it->_position.x(), it->_position.y(), it->_position.z())); 
     626            state.applyModelViewMatrix(matrix.get()); 
     627             
    622628            // ** apply the vertex array 
    623629            state.setVertexPointer(it->_glyph->getVertexArray()); 
     
    649655                (*itr)->draw(state, false); 
    650656            } 
    651  
    652             glPopMatrix(); 
    653657        } 
    654658    } 
     
    667671        for (it = itLine->begin(); it!=end; ++it) 
    668672        { 
    669             glPushMatrix(); 
    670             glTranslatef(it->_position.x(), it->_position.y(), it->_position.z()); 
     673            osg::ref_ptr<osg::RefMatrix> matrix = new osg::RefMatrix(state.getModelViewMatrix()); 
     674            matrix->preMultTranslate(osg::Vec3d(it->_position.x(), it->_position.y(), it->_position.z())); 
     675            state.applyModelViewMatrix(matrix.get()); 
     676 
    671677            state.setVertexPointer(it->_glyph->getVertexArray()); 
    672678 
     
    677683                (*itr)->draw(state, false); 
    678684            } 
    679             glPopMatrix(); 
    680685        } 
    681686    } 
     
    689694        for (it = itLine->begin(); it!=end; ++it) 
    690695        { 
    691             glPushMatrix(); 
    692             glTranslatef(it->_position.x(), it->_position.y(), it->_position.z()); 
     696            osg::ref_ptr<osg::RefMatrix> matrix = new osg::RefMatrix(state.getModelViewMatrix()); 
     697            matrix->preMultTranslate(osg::Vec3d(it->_position.x(), it->_position.y(), it->_position.z())); 
     698            state.applyModelViewMatrix(matrix.get()); 
     699 
    693700            state.setVertexPointer(it->_glyph->getVertexArray()); 
    694701            state.setNormalPointer(it->_glyph->getNormalArray()); 
     
    699706                (*itr)->draw(state, false); 
    700707            } 
    701             glPopMatrix(); 
    702708        } 
    703709    } 
     
    705711 
    706712    // ** render all back face of the text 
    707     glNormal3f(0.0f,0.0f,-1.0f); 
     713    state.Normal(0.0f,0.0f,-1.0f); 
    708714 
    709715    for (itLine = _textRenderInfo.begin(); itLine!=endLine; ++itLine) 
     
    713719        for (it = itLine->begin(); it!=end; ++it) 
    714720        { 
    715             glPushMatrix(); 
    716             glTranslatef(it->_position.x(), it->_position.y(), it->_position.z()); 
     721            osg::ref_ptr<osg::RefMatrix> matrix = new osg::RefMatrix(state.getModelViewMatrix()); 
     722            matrix->preMultTranslate(osg::Vec3d(it->_position.x(), it->_position.y(), it->_position.z())); 
     723            state.applyModelViewMatrix(matrix.get()); 
     724 
    717725            state.setVertexPointer(it->_glyph->getVertexArray()); 
    718726 
     
    723731                (*itr)->draw(state, false); 
    724732            } 
    725             glPopMatrix(); 
    726733        } 
    727734    } 
  • OpenSceneGraph/trunk/src/osgUtil/RenderStage.cpp

    r10611 r10699  
    467467            if ( !colorAttached ) 
    468468            { 
    469                setDrawBuffer( GL_NONE, true ); 
    470                glDrawBuffer( GL_NONE ); 
    471                setReadBuffer( GL_NONE, true ); 
    472                glReadBuffer( GL_NONE ); 
     469                setDrawBuffer( GL_NONE, true ); 
     470                setReadBuffer( GL_NONE, true ); 
     471                #if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE) 
     472                    glDrawBuffer( GL_NONE ); 
     473                    glReadBuffer( GL_NONE ); 
     474                #endif 
    473475            } 
    474476 
     
    762764    if ( _readBufferApplyMask ) 
    763765    { 
    764         glReadBuffer(_readBuffer); 
     766        #if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE) 
     767            glReadBuffer(_readBuffer); 
     768        #endif 
    765769    } 
    766770 
     
    861865    if (!using_multiple_render_targets) 
    862866    { 
    863         if( getDrawBufferApplyMask() )  
    864             glDrawBuffer(_drawBuffer); 
    865  
    866         if( getReadBufferApplyMask() )  
    867             glReadBuffer(_readBuffer); 
     867        #if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE) 
     868         
     869            if( getDrawBufferApplyMask() )  
     870                glDrawBuffer(_drawBuffer); 
     871 
     872            if( getReadBufferApplyMask() )  
     873                glReadBuffer(_readBuffer); 
     874         
     875        #endif 
    868876    } 
    869877 
     
    963971            if (read_fbo) SubFunc::applyReadFBO(apply_read_fbo, read_fbo, state); 
    964972 
    965             if (using_multiple_render_targets) 
    966             { 
    967                 int attachment=itr->first; 
    968                 if (attachment==osg::Camera::DEPTH_BUFFER || attachment==osg::Camera::STENCIL_BUFFER) { 
    969                     // assume first buffer rendered to is the one we want 
    970                     glReadBuffer(read_fbo->getMultipleRenderingTargets()[0]); 
     973            #if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE) 
     974             
     975                if (using_multiple_render_targets) 
     976                { 
     977                    int attachment=itr->first; 
     978                    if (attachment==osg::Camera::DEPTH_BUFFER || attachment==osg::Camera::STENCIL_BUFFER) { 
     979                        // assume first buffer rendered to is the one we want 
     980                        glReadBuffer(read_fbo->getMultipleRenderingTargets()[0]); 
     981                    } else { 
     982                        glReadBuffer(GL_COLOR_ATTACHMENT0_EXT + (attachment - osg::Camera::COLOR_BUFFER0)); 
     983                    } 
    971984                } else { 
    972                     glReadBuffer(GL_COLOR_ATTACHMENT0_EXT + (attachment - osg::Camera::COLOR_BUFFER0)); 
    973                 } 
    974             } else { 
    975                 if (_readBuffer != GL_NONE) 
    976                 { 
    977                     glReadBuffer(_readBuffer); 
    978                 } 
    979             } 
     985                    if (_readBuffer != GL_NONE) 
     986                    { 
     987                        glReadBuffer(_readBuffer); 
     988                    } 
     989                } 
     990 
     991            #endif 
    980992 
    981993            GLenum pixelFormat = itr->second._image->getPixelFormat(); 
     
    12581270    if (_clearMask & GL_DEPTH_BUFFER_BIT) 
    12591271    { 
    1260         glClearDepth( _clearDepth); 
     1272        #if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE) 
     1273            glClearDepth( _clearDepth); 
     1274        #else 
     1275            glClearDepthf( _clearDepth); 
     1276        #endif 
     1277         
    12611278        glDepthMask ( GL_TRUE ); 
    12621279        state.haveAppliedAttribute( osg::StateAttribute::DEPTH ); 
     
    12701287    } 
    12711288 
    1272     if (_clearMask & GL_ACCUM_BUFFER_BIT) 
    1273     { 
    1274         glClearAccum( _clearAccum[0], _clearAccum[1], _clearAccum[2], _clearAccum[3]); 
    1275     } 
    1276  
     1289    #if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE) 
     1290        if (_clearMask & GL_ACCUM_BUFFER_BIT) 
     1291        { 
     1292            glClearAccum( _clearAccum[0], _clearAccum[1], _clearAccum[2], _clearAccum[3]); 
     1293        } 
     1294    #endif 
     1295     
    12771296 
    12781297    glClear( _clearMask ); 
    12791298     
    1280 #ifdef USE_SCISSOR_TEST 
    1281     glDisable( GL_SCISSOR_TEST ); 
    1282 #endif 
    1283  
    1284     glMatrixMode( GL_MODELVIEW ); 
    1285     glLoadIdentity(); 
     1299    #ifdef USE_SCISSOR_TEST 
     1300        glDisable( GL_SCISSOR_TEST ); 
     1301    #endif 
     1302 
     1303    #ifdef OSG_GL_MATRICES_AVAILABLE 
     1304        glMatrixMode( GL_MODELVIEW ); 
     1305        glLoadIdentity(); 
     1306    #endif     
    12861307 
    12871308    // apply the positional state. 
  • OpenSceneGraph/trunk/src/osgUtil/SceneView.cpp

    r10602 r10699  
    3030using namespace osg; 
    3131using namespace osgUtil; 
     32 
     33#if defined(OSG_GLES1_AVAILABLE) || defined(OSG_GLES2_AVAILABLE) 
     34    // define under GLES to keep the main SceneView.cpp clean. 
     35    #define GL_BACK_LEFT        0x0402 
     36    #define GL_BACK_RIGHT       0x0403 
     37#endif 
    3238 
    3339static const GLubyte patternVertEven[] = { 
     
    12741280        case(osg::DisplaySettings::VERTICAL_INTERLACE): 
    12751281            { 
     1282            #if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE)                 
    12761283                if( 0 == ( _camera->getInheritanceMask() & DRAW_BUFFER) ) 
    12771284                { 
     
    13061313                  _interlacedStereoStencilHeight != getViewport()->height() ) 
    13071314                { 
    1308                     getViewport()->apply(*state); 
     1315                    state->applyProjectionMatrix(0); 
    13091316                    glMatrixMode(GL_PROJECTION); 
    13101317                    glLoadIdentity(); 
     
    13121319                    glMatrixMode(GL_MODELVIEW); 
    13131320                    glLoadIdentity();     
     1321                     
     1322                    getViewport()->apply(*state); 
    13141323                    getState()->applyMode(GL_LIGHTING,false); 
    13151324                    getState()->applyMode(GL_DEPTH_TEST,false); 
     
    13471356                _renderStageRight->draw(_renderInfo,previous); 
    13481357                glDisable(GL_STENCIL_TEST); 
     1358            #else 
     1359                osg::notify(osg::NOTICE)<<"Warning: SceneView::draw() - VERTICAL_INTERLACE stereo not supported."<<std::endl; 
     1360            #endif 
    13491361            } 
    13501362            break; 
    13511363        case(osg::DisplaySettings::HORIZONTAL_INTERLACE): 
    13521364            { 
     1365            #if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE)                 
    13531366                if( 0 == ( _camera->getInheritanceMask() & DRAW_BUFFER) ) 
    13541367                { 
     
    13831396                  _interlacedStereoStencilHeight != getViewport()->height() ) 
    13841397                { 
    1385                     getViewport()->apply(*state); 
    13861398                    glMatrixMode(GL_PROJECTION); 
    13871399                    glLoadIdentity(); 
     
    13891401                    glMatrixMode(GL_MODELVIEW); 
    13901402                    glLoadIdentity(); 
     1403                     
     1404                    getViewport()->apply(*state); 
    13911405                    getState()->applyMode(GL_LIGHTING,false); 
    13921406                    getState()->applyMode(GL_DEPTH_TEST,false); 
     
    14241438                _renderStageRight->draw(_renderInfo,previous); 
    14251439                glDisable(GL_STENCIL_TEST); 
     1440            #else 
     1441                osg::notify(osg::NOTICE)<<"Warning: SceneView::draw() - HORIZONTAL_INTERLACE stereo not supported."<<std::endl; 
     1442            #endif 
    14261443            } 
    14271444            break; 
    14281445        case(osg::DisplaySettings::CHECKERBOARD): 
    14291446            { 
     1447            #if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE)                 
    14301448                if( 0 == ( _camera->getInheritanceMask() & DRAW_BUFFER) ) 
    14311449                { 
     
    14601478                  _interlacedStereoStencilHeight != getViewport()->height() ) 
    14611479                { 
    1462                     getViewport()->apply(*state); 
     1480 
    14631481                    glMatrixMode(GL_PROJECTION); 
    14641482                    glLoadIdentity(); 
     
    14661484                    glMatrixMode(GL_MODELVIEW); 
    14671485                    glLoadIdentity(); 
     1486                     
     1487                     
     1488                    getViewport()->apply(*state); 
    14681489                    glDisable(GL_LIGHTING); 
    14691490                    glDisable(GL_DEPTH_TEST); 
     
    15011522                _renderStageRight->draw(_renderInfo,previous); 
    15021523                glDisable(GL_STENCIL_TEST); 
     1524            #else 
     1525                osg::notify(osg::NOTICE)<<"Warning: SceneView::draw() - CHECKERBOARD stereo not supported."<<std::endl; 
     1526            #endif 
    15031527            } 
    15041528            break; 
  • OpenSceneGraph/trunk/src/osgUtil/ShaderGen.cpp

    r10078 r10699  
    2020#include <osg/Geode> 
    2121#include <osg/Geometry> // for ShaderGenVisitor::update 
     22#include <osg/Fog> 
    2223#include <sstream> 
    2324 
  • OpenSceneGraph/trunk/src/osgViewer/CMakeLists.txt

    r9994 r10699  
    109109        ENDIF() 
    110110 
    111         SET(LIB_PUBLIC_HEADERS ${LIB_PUBLIC_HEADERS} 
    112             ${HEADER_PATH}/api/X11/GraphicsWindowX11 
    113             ${HEADER_PATH}/api/X11/PixelBufferX11 
    114         ) 
     111        IF(OSG_GLES1_AVAILABLE OR OSG_GLES2_AVAILABLE) 
     112        ELSE() 
     113            SET(LIB_PUBLIC_HEADERS ${LIB_PUBLIC_HEADERS} 
     114                ${HEADER_PATH}/api/X11/GraphicsWindowX11 
     115                ${HEADER_PATH}/api/X11/PixelBufferX11 
     116            ) 
    115117 
    116         SET(LIB_COMMON_FILES ${LIB_COMMON_FILES}  
    117             GraphicsWindowX11.cpp  
    118             PixelBufferX11.cpp 
    119         ) 
    120          
     118            SET(LIB_COMMON_FILES ${LIB_COMMON_FILES}  
     119                GraphicsWindowX11.cpp  
     120                PixelBufferX11.cpp 
     121            ) 
     122        ENDIF() 
     123 
    121124        IF(OSGVIEWER_USE_XRANDR) 
    122125            ADD_DEFINITIONS(-DOSGVIEWER_USE_XRANDR) 
  • OpenSceneGraph/trunk/src/osgViewer/ScreenCaptureHandler.cpp

    r10600 r10699  
    491491void WindowCaptureCallback::operator () (osg::RenderInfo& renderInfo) const 
    492492{ 
     493#if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE) 
    493494    glReadBuffer(_readBuffer); 
     495#endif 
    494496 
    495497    osg::GraphicsContext* gc = renderInfo.getState()->getGraphicsContext();