Changeset 11817
- Timestamp:
- 10/06/10 16:44:52 (3 years ago)
- Location:
- OpenSceneGraph/trunk
- Files:
-
- 35 added
- 17 modified
-
CMakeLists.txt (modified) (2 diffs)
-
CMakeModules/OsgMacroUtils.cmake (modified) (2 diffs)
-
examples/CMakeLists.txt (modified) (1 diff)
-
include/osg/GLExtensions (modified) (1 diff)
-
include/osg/GLU (modified) (1 diff)
-
include/osgUtil/SceneGraphBuilder (modified) (1 diff)
-
include/osgUtil/Tessellator (modified) (2 diffs)
-
src/osg/CMakeLists.txt (modified) (1 diff)
-
src/osg/Config.in (modified) (1 diff)
-
src/osg/GLExtensions.cpp (modified) (2 diffs)
-
src/osg/Image.cpp (modified) (4 diffs)
-
src/osg/State.cpp (modified) (4 diffs)
-
src/osg/Texture.cpp (modified) (6 diffs)
-
src/osg/Texture1D.cpp (modified) (1 diff)
-
src/osg/glu (added)
-
src/osg/glu/libtess (added)
-
src/osg/glu/libtess/README (added)
-
src/osg/glu/libtess/alg-outline (added)
-
src/osg/glu/libtess/dict-list.h (added)
-
src/osg/glu/libtess/dict.cpp (added)
-
src/osg/glu/libtess/dict.h (added)
-
src/osg/glu/libtess/geom.cpp (added)
-
src/osg/glu/libtess/geom.h (added)
-
src/osg/glu/libtess/gluos.h (added)
-
src/osg/glu/libtess/memalloc.cpp (added)
-
src/osg/glu/libtess/memalloc.h (added)
-
src/osg/glu/libtess/mesh.cpp (added)
-
src/osg/glu/libtess/mesh.h (added)
-
src/osg/glu/libtess/normal.cpp (added)
-
src/osg/glu/libtess/normal.h (added)
-
src/osg/glu/libtess/priorityq-heap.cpp (added)
-
src/osg/glu/libtess/priorityq-heap.h (added)
-
src/osg/glu/libtess/priorityq-sort.h (added)
-
src/osg/glu/libtess/priorityq.cpp (added)
-
src/osg/glu/libtess/priorityq.h (added)
-
src/osg/glu/libtess/render.cpp (added)
-
src/osg/glu/libtess/render.h (added)
-
src/osg/glu/libtess/sweep.cpp (added)
-
src/osg/glu/libtess/sweep.h (added)
-
src/osg/glu/libtess/tess.cpp (added)
-
src/osg/glu/libtess/tess.h (added)
-
src/osg/glu/libtess/tessmono.cpp (added)
-
src/osg/glu/libtess/tessmono.h (added)
-
src/osg/glu/libutil (added)
-
src/osg/glu/libutil/error.cpp (added)
-
src/osg/glu/libutil/glue.cpp (added)
-
src/osg/glu/libutil/gluint.h (added)
-
src/osg/glu/libutil/gluos.h (added)
-
src/osg/glu/libutil/mipmap.cpp (added)
-
src/osgPlugins/CMakeLists.txt (modified) (1 diff)
-
src/osgText/Glyph.cpp (modified) (2 diffs)
-
src/osgUtil/Tessellator.cpp (modified) (8 diffs)
Legend:
- Unmodified
- Added
- Removed
-
OpenSceneGraph/trunk/CMakeLists.txt
r11788 r11817 304 304 OPTION(OSG_USE_REF_PTR_IMPLICIT_OUTPUT_CONVERSION "Set to ON to use the ref_ptr<> T* operator() output conversion. " ON) 305 305 306 OPTION(OSG_GLU_AVAILABLE "Set to OFF to disable use of OpenGL GLU library." ${OPENGL_GLU_FOUND})307 306 OPTION(OSG_GL1_AVAILABLE "Set to OFF to disable use of OpenGL 1.x functions library." ON) 308 307 OPTION(OSG_GL2_AVAILABLE "Set to OFF to disable use of OpenGL 2.x functions library." ON) … … 443 442 ENDIF(BUILD_OSG_EXAMPLES) 444 443 445 446 447 448 449 450 #451 # Test to determine if we want the "tripledot" form of the GLU tesselator callback.452 #453 IF(NOT DEFAULT_GLU_TESS_CALLBACK_TRIPLEDOT)454 IF(WIN32 OR CMAKE_SYSTEM_NAME MATCHES "Linux")455 456 # Skip the compile check for platforms that never need the variable457 # form.458 SET(DEFAULT_GLU_TESS_CALLBACK_TRIPLEDOT false)459 460 ELSE()461 462 # For other platforms perform the check463 INCLUDE(CheckCXXSourceCompiles)464 SET(CMAKE_REQUIRED_DEFINITIONS -DGLU_TESS_CALLBACK_TRIPLEDOT)465 SET(CMAKE_REQUIRED_INCLUDES ${CMAKE_CURRENT_SOURCE_DIR}/include ${GLUT_INCLUDE_DIR} ${GL_INCLUDE_DIR})466 SET(CMAKE_REQUIRED_LIBRARIES ${GLUT_LIBRARY} ${GL_LIBRARY})467 CHECK_CXX_SOURCE_COMPILES(468 "#include <osg/GL>469 #include <osg/GLU>470 static void testcb(GLvoid *, void*) { }471 int main() {472 GLUtesselator *t = gluNewTess();473 gluTessCallback(t, GLU_TESS_VERTEX_DATA, (GLU_TESS_CALLBACK) testcb);474 return 0;475 }"476 GLU_Tesselator_Needs_Variable_Parameter_Callback_Convention_Failure_Means_No)477 SET(DEFAULT_GLU_TESS_CALLBACK_TRIPLEDOT478 ${GLU_Tesselator_Needs_Variable_Parameter_Callback_Convention_Failure_Means_No})479 480 ENDIF()481 ENDIF()482 483 OPTION(OSG_GLU_TESS_CALLBACK_TRIPLEDOT "Set to ON to build with variable parameter (...) version of GLU tesselator callback" ${DEFAULT_GLU_TESS_CALLBACK_TRIPLEDOT})484 IF(OSG_GLU_TESS_CALLBACK_TRIPLEDOT)485 ADD_DEFINITIONS(-DGLU_TESS_CALLBACK_TRIPLEDOT)486 ENDIF(OSG_GLU_TESS_CALLBACK_TRIPLEDOT)487 444 488 445 # Platform specific: -
OpenSceneGraph/trunk/CMakeModules/OsgMacroUtils.cmake
r11354 r11817 52 52 53 53 MACRO(LINK_CORELIB_DEFAULT CORELIB_NAME) 54 SET(ALL_GL_LIBRARIES ${OPENGL_LIBRARIES}) 54 #SET(ALL_GL_LIBRARIES ${OPENGL_LIBRARIES}) 55 SET(ALL_GL_LIBRARIES ${OPENGL_gl_LIBRARY}) 55 56 IF (OSG_GLES1_AVAILABLE OR OSG_GLES2_AVAILABLE) 56 57 SET(ALL_GL_LIBRARIES ${ALL_GL_LIBRARIES} ${OPENGL_egl_LIBRARY}) … … 101 102 ENDFOREACH(LINKLIB) 102 103 103 SET(ALL_GL_LIBRARIES ${OPENGL_LIBRARIES}) 104 #SET(ALL_GL_LIBRARIES ${OPENGL_LIBRARIES}) 105 SET(ALL_GL_LIBRARIES ${OPENGL_gl_LIBRARY}) 104 106 IF (OSG_GLES1_AVAILABLE OR OSG_GLES2_AVAILABLE) 105 107 SET(ALL_GL_LIBRARIES ${ALL_GL_LIBRARIES} ${OPENGL_egl_LIBRARY}) -
OpenSceneGraph/trunk/examples/CMakeLists.txt
r11754 r11817 158 158 ENDIF() 159 159 160 IF(OSG_GLU_AVAILABLE) 161 ADD_SUBDIRECTORY(osgphotoalbum) 162 ADD_SUBDIRECTORY(osgtessellate) 163 ENDIF() 160 ADD_SUBDIRECTORY(osgphotoalbum) 161 ADD_SUBDIRECTORY(osgtessellate) 164 162 165 163 ADD_SUBDIRECTORY(osgpdf) -
OpenSceneGraph/trunk/include/osg/GLExtensions
r9469 r11817 151 151 } 152 152 153 154 /** Return true if OpenGL "extension" is supported.155 * Note: Must only be called within a valid OpenGL context,156 * undefined behavior may occur otherwise.157 */158 extern OSG_EXPORT bool isGLUExtensionSupported(unsigned int contextID, const char *extension);159 160 161 153 } 162 154 -
OpenSceneGraph/trunk/include/osg/GLU
r11389 r11817 15 15 #define OSG_GLU 1 16 16 17 #include <osg/ Config>17 #include <osg/GL> 18 18 19 #ifdef OSG_GLU_AVAILABLE 19 extern OSG_EXPORT GLint gluScaleImage (GLenum format, GLsizei wIn, GLsizei hIn, GLenum typeIn, const void *dataIn, GLsizei wOut, GLsizei hOut, GLenum typeOut, GLvoid* dataOut); 20 extern OSG_EXPORT const GLubyte * gluErrorString (GLenum error); 21 extern OSG_EXPORT GLint gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); 22 extern OSG_EXPORT GLint gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data); 23 extern OSG_EXPORT GLint gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); 24 extern OSG_EXPORT GLint gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data); 25 extern OSG_EXPORT GLint gluBuild3DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); 26 extern OSG_EXPORT GLint gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data); 20 27 21 #include <osg/GL> 28 /* ErrorCode */ 29 #define GLU_INVALID_ENUM 100900 30 #define GLU_INVALID_VALUE 100901 31 #define GLU_OUT_OF_MEMORY 100902 32 #define GLU_INCOMPATIBLE_GL_VERSION 100903 33 #define GLU_INVALID_OPERATION 100904 22 34 23 #if defined(__APPLE__) || \ 24 (defined (_AIX) && !defined (_AIX51)) 25 #include <OpenGL/glu.h> 26 #else 27 #include <GL/glu.h> 28 #endif 35 /* Boolean */ 36 #define GLU_FALSE 0 37 #define GLU_TRUE 1 29 38 30 #if defined(GLU_TESS_CALLBACK_TRIPLEDOT) 31 typedef void (GL_APIENTRY *GLU_TESS_CALLBACK)(...); 32 #else 33 typedef void (GL_APIENTRY *GLU_TESS_CALLBACK)(); 34 #endif 39 /* QuadricDrawStyle */ 40 #define GLU_POINT 100010 41 #define GLU_LINE 100011 42 #define GLU_FILL 100012 43 #define GLU_SILHOUETTE 100013 35 44 36 #endif 45 /* QuadricCallback */ 46 /* GLU_ERROR */ 47 48 /* QuadricNormal */ 49 #define GLU_SMOOTH 100000 50 #define GLU_FLAT 100001 51 #define GLU_NONE 100002 52 53 /* QuadricOrientation */ 54 #define GLU_OUTSIDE 100020 55 #define GLU_INSIDE 100021 56 57 /* TessCallback */ 58 #define GLU_TESS_BEGIN 100100 59 #define GLU_BEGIN 100100 60 #define GLU_TESS_VERTEX 100101 61 #define GLU_VERTEX 100101 62 #define GLU_TESS_END 100102 63 #define GLU_END 100102 64 #define GLU_TESS_ERROR 100103 65 #define GLU_TESS_EDGE_FLAG 100104 66 #define GLU_EDGE_FLAG 100104 67 #define GLU_TESS_COMBINE 100105 68 #define GLU_TESS_BEGIN_DATA 100106 69 #define GLU_TESS_VERTEX_DATA 100107 70 #define GLU_TESS_END_DATA 100108 71 #define GLU_TESS_ERROR_DATA 100109 72 #define GLU_TESS_EDGE_FLAG_DATA 100110 73 #define GLU_TESS_COMBINE_DATA 100111 74 75 /* TessContour */ 76 #define GLU_CW 100120 77 #define GLU_CCW 100121 78 #define GLU_INTERIOR 100122 79 #define GLU_EXTERIOR 100123 80 #define GLU_UNKNOWN 100124 81 82 /* TessProperty */ 83 #define GLU_TESS_WINDING_RULE 100140 84 #define GLU_TESS_BOUNDARY_ONLY 100141 85 #define GLU_TESS_TOLERANCE 100142 86 87 /* TessError */ 88 #define GLU_TESS_ERROR1 100151 89 #define GLU_TESS_ERROR2 100152 90 #define GLU_TESS_ERROR3 100153 91 #define GLU_TESS_ERROR4 100154 92 #define GLU_TESS_ERROR5 100155 93 #define GLU_TESS_ERROR6 100156 94 #define GLU_TESS_ERROR7 100157 95 #define GLU_TESS_ERROR8 100158 96 #define GLU_TESS_MISSING_BEGIN_POLYGON 100151 97 #define GLU_TESS_MISSING_BEGIN_CONTOUR 100152 98 #define GLU_TESS_MISSING_END_POLYGON 100153 99 #define GLU_TESS_MISSING_END_CONTOUR 100154 100 #define GLU_TESS_COORD_TOO_LARGE 100155 101 #define GLU_TESS_NEED_COMBINE_CALLBACK 100156 102 103 /* TessWinding */ 104 #define GLU_TESS_WINDING_ODD 100130 105 #define GLU_TESS_WINDING_NONZERO 100131 106 #define GLU_TESS_WINDING_POSITIVE 100132 107 #define GLU_TESS_WINDING_NEGATIVE 100133 108 #define GLU_TESS_WINDING_ABS_GEQ_TWO 100134 109 110 class GLUtesselator; 111 typedef GLUtesselator GLUtesselatorObj; 112 typedef GLUtesselator GLUtriangulatorObj; 113 114 #define GLU_TESS_MAX_COORD 1.0e150 115 116 /* Internal convenience typedefs */ 117 typedef void (GL_APIENTRY * _GLUfuncptr)(); 118 typedef void (GL_APIENTRY * GLU_TESS_CALLBACK)(); 119 120 extern OSG_EXPORT GLUtesselator* gluNewTess (void); 121 extern OSG_EXPORT void gluDeleteTess (GLUtesselator* tess); 122 123 extern OSG_EXPORT void gluTessBeginContour (GLUtesselator* tess); 124 extern OSG_EXPORT void gluTessBeginPolygon (GLUtesselator* tess, GLvoid* data); 125 extern OSG_EXPORT void gluTessCallback (GLUtesselator* tess, GLenum which, _GLUfuncptr CallBackFunc); 126 extern OSG_EXPORT void gluTessEndContour (GLUtesselator* tess); 127 extern OSG_EXPORT void gluTessEndPolygon (GLUtesselator* tess); 128 extern OSG_EXPORT void gluTessNormal (GLUtesselator* tess, GLdouble valueX, GLdouble valueY, GLdouble valueZ); 129 extern OSG_EXPORT void gluTessProperty (GLUtesselator* tess, GLenum which, GLdouble data); 130 extern OSG_EXPORT void gluTessVertex (GLUtesselator* tess, GLdouble *location, GLvoid* data); 131 37 132 38 133 #endif // __osgGLU_h -
OpenSceneGraph/trunk/include/osgUtil/SceneGraphBuilder
r10613 r11817 21 21 22 22 #include <osgUtil/Export> 23 24 #ifndef OSG_GLU_AVAILABLE25 // as we have no GLU we'll just define the required enum values26 #define GLU_FALSE 027 #define GLU_FILL 10001228 #define GLU_SMOOTH 10000029 #define GLU_OUTSIDE 10002030 #define GLU_NONE 10000231 #define GLU_POINT 10001032 #define GLU_LINE 10001133 #define GLU_FILL 10001234 #define GLU_SILHOUETTE 10001335 #endif36 23 37 24 namespace osgUtil { -
OpenSceneGraph/trunk/include/osgUtil/Tessellator
r10613 r11817 26 26 /* Win32 calling conventions. (or a least thats what the GLUT example tess.c uses.)*/ 27 27 #define CALLBACK 28 #endif29 30 #ifndef OSG_GLU_AVAILABLE31 #define GLU_TESS_WINDING_ODD 10013032 #define GLU_TESS_WINDING_NONZERO 10013133 #define GLU_TESS_WINDING_POSITIVE 10013234 #define GLU_TESS_WINDING_NEGATIVE 10013335 #define GLU_TESS_WINDING_ABS_GEQ_TWO 10013436 28 #endif 37 29 … … 219 211 typedef std::vector<Vec3d*> Vec3dList; 220 212 221 #ifdef OSG_GLU_AVAILABLE222 213 GLUtesselator* _tobj; 223 #else 224 void* _tobj; 225 #endif 214 226 215 PrimList _primList; 227 216 Vec3dList _coordData; -
OpenSceneGraph/trunk/src/osg/CMakeLists.txt
r11654 r11817 338 338 View.cpp 339 339 Viewport.cpp 340 341 glu/libutil/gluos.h 342 glu/libutil/error.cpp 343 glu/libutil/mipmap.cpp 344 345 glu/libtess/gluos.h 346 glu/libtess/normal.cpp 347 glu/libtess/memalloc.cpp 348 glu/libtess/dict-list.h 349 glu/libtess/alg-outline 350 glu/libtess/priorityq.cpp 351 glu/libtess/normal.h 352 glu/libtess/dict.h 353 glu/libtess/render.cpp 354 glu/libtess/tessmono.h 355 glu/libtess/mesh.cpp 356 glu/libtess/render.h 357 glu/libtess/tessmono.cpp 358 glu/libtess/priorityq.h 359 glu/libtess/sweep.h 360 glu/libtess/priorityq-sort.h 361 glu/libtess/sweep.cpp 362 glu/libtess/tess.h 363 glu/libtess/geom.h 364 glu/libtess/memalloc.h 365 glu/libtess/dict.cpp 366 glu/libtess/priorityq-heap.h 367 glu/libtess/geom.cpp 368 glu/libtess/tess.cpp 369 glu/libtess/mesh.h 370 371 340 372 ${OPENSCENEGRAPH_VERSIONINFO_RC} 341 373 ) -
OpenSceneGraph/trunk/src/osg/Config.in
r11389 r11817 33 33 #cmakedefine OSG_DISABLE_MSVC_WARNINGS 34 34 35 #cmakedefine OSG_GLU_AVAILABLE36 35 #cmakedefine OSG_GL1_AVAILABLE 37 36 #cmakedefine OSG_GL2_AVAILABLE -
OpenSceneGraph/trunk/src/osg/GLExtensions.cpp
r11472 r11817 13 13 #include <osg/GLExtensions> 14 14 #include <osg/GL> 15 #include <osg/GLU>16 15 #include <osg/Notify> 17 16 #include <osg/Math> … … 304 303 } 305 304 306 #ifdef OSG_GLU_AVAILABLE307 bool osg::isGLUExtensionSupported(unsigned int contextID, const char *extension)308 {309 ExtensionSet& extensionSet = s_gluExtensionSetList[contextID];310 std::string& rendererString = s_gluRendererList[contextID];311 312 // if not already set up, initialize all the per graphic context values.313 if (!s_gluInitializedList[contextID])314 {315 s_gluInitializedList[contextID] = 1;316 317 // set up the renderer318 const GLubyte* renderer = glGetString(GL_RENDERER);319 rendererString = renderer ? (const char*)renderer : "";320 321 // get the extension list from OpenGL.322 const char* extensions = (const char*)gluGetString(GLU_EXTENSIONS);323 if (extensions==NULL) return false;324 325 // insert the ' ' delimiated extensions words into the extensionSet.326 const char *startOfWord = extensions;327 const char *endOfWord;328 while ((endOfWord = strchr(startOfWord,' '))!=NULL)329 {330 extensionSet.insert(std::string(startOfWord,endOfWord));331 startOfWord = endOfWord+1;332 }333 if (*startOfWord!=0) extensionSet.insert(std::string(startOfWord));334 335 OSG_NOTIFY(INFO)<<"OpenGL extensions supported by installed OpenGL drivers are:"<<std::endl;336 for(ExtensionSet::iterator itr=extensionSet.begin();337 itr!=extensionSet.end();338 ++itr)339 {340 OSG_NOTIFY(INFO)<<" "<<*itr<<std::endl;341 }342 343 }344 345 // true if extension found in extensionSet.346 bool result = extensionSet.find(extension)!=extensionSet.end();347 348 if (result)349 {350 OSG_NOTIFY(INFO)<<"OpenGL utility library extension '"<<extension<<"' is supported."<<std::endl;351 }352 else353 {354 OSG_NOTIFY(INFO)<<"OpenGL utility library extension '"<<extension<<"' is not supported."<<std::endl;355 }356 357 return result;358 }359 #else360 bool osg::isGLUExtensionSupported(unsigned int, const char *)361 {362 return false;363 }364 #endif365 305 366 306 #ifdef OSG_GL_LIBRARY_STATIC -
OpenSceneGraph/trunk/src/osg/Image.cpp
r11753 r11817 912 912 void Image::scaleImage(int s,int t,int r, GLenum newDataType) 913 913 { 914 #ifdef OSG_GLU_AVAILABLE915 914 if (_s==s && _t==t && _r==r) return; 916 915 … … 926 925 return; 927 926 } 928 929 930 927 931 928 unsigned int newTotalSize = computeRowWidthInBytes(s,_pixelFormat,newDataType,_packing)*t; … … 970 967 971 968 dirty(); 972 #else973 OSG_NOTICE<<"Warning: Image::scaleImage(int s,int t,int r, GLenum newDataType) not supported."<<std::endl;974 #endif975 969 } 976 970 977 971 void Image::copySubImage(int s_offset, int t_offset, int r_offset, const osg::Image* source) 978 972 { 979 #ifdef OSG_GLU_AVAILABLE980 973 if (!source) return; 981 974 if (s_offset<0 || t_offset<0 || r_offset<0) … … 1029 1022 OSG_WARN << "Error Image::scaleImage() did not succeed : errorString = "<< gluErrorString((GLenum)status) << ". The rendering context may be invalid." << std::endl; 1030 1023 } 1031 #else1032 OSG_NOTICE<<"Warning: Image::copySubImage(int, int, int, const osg::Image*)) not supported."<<std::endl;1033 #endif1034 1024 } 1035 1025 -
OpenSceneGraph/trunk/src/osg/State.cpp
r11674 r11817 1137 1137 if (errorNo!=GL_NO_ERROR) 1138 1138 { 1139 #ifdef OSG_GLU_AVAILABLE1140 1139 const char* error = (char*)gluErrorString(errorNo); 1141 1140 if (error) … … 1147 1146 OSG_NOTIFY(WARN)<<"Warning: detected OpenGL error number 0x" << std::hex << errorNo << std::dec; 1148 1147 } 1149 #else 1150 switch(errorNo) 1151 { 1152 case(GL_INVALID_ENUM): 1153 OSG_NOTIFY(WARN)<<"Warning: detected OpenGL error GL_INVALID_ENUM"; 1154 break; 1155 case(GL_INVALID_VALUE): 1156 OSG_NOTIFY(WARN)<<"Warning: detected OpenGL error GL_INVALID_VALUE"; 1157 break; 1158 case(GL_INVALID_OPERATION): 1159 OSG_NOTIFY(WARN)<<"Warning: detected OpenGL error GL_INVALID_OPERATION"; 1160 break; 1161 case(GL_OUT_OF_MEMORY): 1162 OSG_NOTIFY(WARN)<<"Warning: detected OpenGL error GL_OUT_OF_MEMORY"; 1163 break; 1164 default: 1165 OSG_NOTIFY(WARN)<<"Warning: detected OpenGL error number 0x" << std::hex << errorNo << std::dec; 1166 break; 1167 } 1168 #endif 1148 1169 1149 if (str) 1170 1150 { … … 1186 1166 if (errorNo!=GL_NO_ERROR) 1187 1167 { 1188 #ifdef OSG_GLU_AVAILABLE 1189 const char* error = (char*)gluErrorString(errorNo); 1190 if (error) 1191 { 1192 OSG_NOTIFY(WARN)<<"Warning: detected OpenGL error '"<< error <<"' after applying GLMode 0x"<<hex<<mode<<dec<< std::endl; 1193 } 1194 else 1195 { 1196 OSG_NOTIFY(WARN)<<"Warning: detected OpenGL error number 0x"<< std::hex << errorNo <<" after applying GLMode 0x"<<hex<<mode<<dec<< std::endl; 1197 } 1198 #else 1199 switch(errorNo) 1200 { 1201 case(GL_INVALID_ENUM): 1202 OSG_NOTIFY(WARN)<<"Warning: detected OpenGL error GL_INVALID_ENUM after applying GLMode 0x"<<hex<<mode<<dec<< std::endl; 1203 break; 1204 case(GL_INVALID_VALUE): 1205 OSG_NOTIFY(WARN)<<"Warning: detected OpenGL error GL_INVALID_VALUE after applying GLMode 0x"<<hex<<mode<<dec<< std::endl; 1206 break; 1207 case(GL_INVALID_OPERATION): 1208 OSG_NOTIFY(WARN)<<"Warning: detected OpenGL error GL_INVALID_OPERATION after applying GLMode 0x"<<hex<<mode<<dec<< std::endl; 1209 break; 1210 case(GL_OUT_OF_MEMORY): 1211 OSG_NOTIFY(WARN)<<"Warning: detected OpenGL error GL_OUT_OF_MEMORY after applying GLMode 0x"<<hex<<mode<<dec<< std::endl; 1212 break; 1213 default: 1214 OSG_NOTIFY(WARN)<<"Warning: detected OpenGL error number 0x"<< std::hex << errorNo <<" after applying GLMode 0x"<<hex<<mode<<dec<< std::endl; 1215 break; 1216 } 1217 #endif 1168 const char* error = (char*)gluErrorString(errorNo); 1169 if (error) 1170 { 1171 OSG_NOTIFY(WARN)<<"Warning: detected OpenGL error '"<< error <<"' after applying GLMode 0x"<<hex<<mode<<dec<< std::endl; 1172 } 1173 else 1174 { 1175 OSG_NOTIFY(WARN)<<"Warning: detected OpenGL error number 0x"<< std::hex << errorNo <<" after applying GLMode 0x"<<hex<<mode<<dec<< std::endl; 1176 } 1218 1177 return true; 1219 1178 } … … 1226 1185 if (errorNo!=GL_NO_ERROR) 1227 1186 { 1228 #ifdef OSG_GLU_AVAILABLE 1229 const char* error = (char*)gluErrorString(errorNo); 1230 if (error) 1231 { 1232 OSG_NOTIFY(WARN)<<"Warning: detected OpenGL error '"<< error <<"' after applying attribute "<<attribute->className()<<" "<<attribute<< std::endl; 1233 } 1234 else 1235 { 1236 OSG_NOTIFY(WARN)<<"Warning: detected OpenGL error number 0x"<< std::hex << errorNo <<" after applying attribute "<<attribute->className()<<" "<<attribute<< std::dec << std::endl; 1237 } 1238 #else 1239 switch(errorNo) 1240 { 1241 case(GL_INVALID_ENUM): 1242 OSG_NOTIFY(WARN)<<"Warning: detected OpenGL error GL_INVALID_ENUM after applying attribute "<<attribute->className()<<" "<<attribute<< std::dec << std::endl; 1243 break; 1244 case(GL_INVALID_VALUE): 1245 OSG_NOTIFY(WARN)<<"Warning: detected OpenGL error GL_INVALID_VALUE after applying attribute "<<attribute->className()<<" "<<attribute<< std::dec << std::endl; 1246 break; 1247 case(GL_INVALID_OPERATION): 1248 OSG_NOTIFY(WARN)<<"Warning: detected OpenGL error GL_INVALID_OPERATION after applying attribute "<<attribute->className()<<" "<<attribute<< std::dec << std::endl; 1249 break; 1250 case(GL_OUT_OF_MEMORY): 1251 OSG_NOTIFY(WARN)<<"Warning: detected OpenGL error GL_OUT_OF_MEMORY after applying attribute "<<attribute->className()<<" "<<attribute<< std::dec << std::endl; 1252 break; 1253 default: 1254 OSG_NOTIFY(WARN)<<"Warning: detected OpenGL error number 0x"<< std::hex << errorNo <<" after applying attribute "<<attribute->className()<<" "<<attribute<< std::dec << std::endl; 1255 break; 1256 } 1257 #endif 1187 const char* error = (char*)gluErrorString(errorNo); 1188 if (error) 1189 { 1190 OSG_NOTIFY(WARN)<<"Warning: detected OpenGL error '"<< error <<"' after applying attribute "<<attribute->className()<<" "<<attribute<< std::endl; 1191 } 1192 else 1193 { 1194 OSG_NOTIFY(WARN)<<"Warning: detected OpenGL error number 0x"<< std::hex << errorNo <<" after applying attribute "<<attribute->className()<<" "<<attribute<< std::dec << std::endl; 1195 } 1258 1196 1259 1197 return true; -
OpenSceneGraph/trunk/src/osg/Texture.cpp
r11753 r11817 1627 1627 if (needImageRescale) 1628 1628 { 1629 #ifdef OSG_GLU_AVAILABLE1630 1629 // resize the image to power of two. 1631 1630 … … 1659 1658 inwidth,inheight,image->getDataType(), 1660 1659 dataPtr); 1661 #else 1662 OSG_NOTICE<<"Warning: gluScaleImage(..) not supported, cannot subload image."<<std::endl; 1663 return; 1664 #endif 1665 } 1660 } 1666 1661 1667 1662 bool mipmappingRequired = _min_filter != LINEAR && _min_filter != NEAREST; … … 1771 1766 else 1772 1767 { 1773 1774 1768 if ( !compressed_image) 1775 1769 { 1776 1770 numMipmapLevels = 0; 1777 #ifdef OSG_GLU_AVAILABLE 1771 1778 1772 gluBuild2DMipmaps( target, _internalFormat, 1779 1773 inwidth,inheight, … … 1788 1782 height >>= 1; 1789 1783 } 1790 #else1791 OSG_NOTICE<<"Warning:: gluBuild2DMipMaps(..) not supported."<<std::endl;1792 #endif1793 1784 } 1794 1785 else … … 1875 1866 if (needImageRescale) 1876 1867 { 1877 #ifdef OSG_GLU_AVAILABLE1878 1868 // resize the image to power of two. 1879 1869 if (image->isMipmap()) … … 1906 1896 inwidth,inheight,image->getDataType(), 1907 1897 dataPtr); 1908 #else1909 OSG_NOTICE<<"Warning: gluScaleImage(..) not supported, cannot subload image."<<std::endl;1910 return;1911 #endif1912 1898 } 1913 1899 -
OpenSceneGraph/trunk/src/osg/Texture1D.cpp
r11808 r11817 323 323 numMipmapLevels = 1; 324 324 325 #ifdef OSG_GLU_AVAILABLE326 325 gluBuild1DMipmaps( target, _internalFormat, 327 326 image->s(), 328 327 (GLenum)image->getPixelFormat(), (GLenum)image->getDataType(), 329 328 image->data() ); 330 #else331 OSG_NOTICE<<"Warning: gluBuild1DMipmaps(..) not supported."<<std::endl;332 #endif333 329 334 330 } -
OpenSceneGraph/trunk/src/osgPlugins/CMakeLists.txt
r11787 r11817 155 155 ENDIF() 156 156 157 IF(OSG_GLU_AVAILABLE) 158 ADD_SUBDIRECTORY(lwo) 159 ADD_SUBDIRECTORY(dw) 160 ENDIF() 157 ADD_SUBDIRECTORY(lwo) 158 ADD_SUBDIRECTORY(dw) 161 159 162 160 ADD_SUBDIRECTORY(bvh) -
OpenSceneGraph/trunk/src/osgText/Glyph.cpp
r11794 r11817 435 435 if (errorNo!=GL_NO_ERROR) 436 436 { 437 #ifdef OSG_GLU_AVAILABLE438 437 const GLubyte* msg = gluErrorString(errorNo); 439 438 if (msg) { OSG_WARN<<"before Glyph::subload(): detected OpenGL error: "<<msg<<std::endl; } 440 439 else { OSG_WARN<<"before Glyph::subload(): detected OpenGL error number: "<<errorNo<<std::endl; } 441 #else442 OSG_WARN<<"before Glyph::subload(): detected OpenGL error number: "<<errorNo<<std::endl;443 #endif444 440 } 445 441 … … 464 460 465 461 466 #ifdef OSG_GLU_AVAILABLE467 462 const GLubyte* msg = gluErrorString(errorNo); 468 463 if (msg) { OSG_WARN<<"after Glyph::subload() : detected OpenGL error: "<<msg<<std::endl; } 469 464 else { OSG_WARN<<"after Glyph::subload() : detected OpenGL error number: "<<errorNo<<std::endl; } 470 #else471 OSG_WARN<<"after Glyph::subload() : detected OpenGL error number: "<<errorNo<<std::endl;472 #endif473 465 474 466 OSG_WARN<< "\tglTexSubImage2D(0x"<<hex<<GL_TEXTURE_2D<<dec<<" ,"<<0<<"\t"<<std::endl<< -
OpenSceneGraph/trunk/src/osgUtil/Tessellator.cpp
r11719 r11817 29 29 _errorCode = 0; 30 30 _index=0; 31 32 #ifndef OSG_GLU_AVAILABLE33 OSG_NOTICE<<"Warning: gluTesselation not supported."<<std::endl;34 #endif35 31 } 36 32 … … 44 40 reset(); 45 41 46 #ifdef OSG_GLU_AVAILABLE47 42 if (!_tobj) _tobj = gluNewTess(); 48 43 … … 55 50 56 51 gluTessBeginPolygon(_tobj,this); 57 #else58 OSG_NOTICE<<"Warning: gluTesselation not supported."<<std::endl;59 #endif60 52 } 61 53 62 54 void Tessellator::beginContour() 63 55 { 64 #ifdef OSG_GLU_AVAILABLE65 56 if (_tobj) 66 57 { 67 58 gluTessBeginContour(_tobj); 68 59 } 69 #endif70 60 } 71 61 72 62 void Tessellator::addVertex(osg::Vec3* vertex) 73 63 { 74 #ifdef OSG_GLU_AVAILABLE75 64 if (_tobj) 76 65 { … … 82 71 gluTessVertex(_tobj,data->_v,vertex); 83 72 } 84 #endif85 73 } 86 74 87 75 void Tessellator::endContour() 88 76 { 89 #ifdef OSG_GLU_AVAILABLE90 77 if (_tobj) 91 78 { 92 79 gluTessEndContour(_tobj); 93 80 } 94 #endif95 81 } 96 82 97 83 void Tessellator::endTessellation() 98 84 { 99 #ifdef OSG_GLU_AVAILABLE100 85 if (_tobj) 101 86 { … … 110 95 } 111 96 } 112 #endif113 97 } 114 98 115 99 void Tessellator::reset() 116 100 { 117 #ifdef OSG_GLU_AVAILABLE118 101 if (_tobj) 119 102 { … … 121 104 _tobj = 0; 122 105 } 123 #endif124 106 125 107 for (Vec3dList::iterator i = _coordData.begin(); i != _coordData.end(); ++i) … … 185 167 void Tessellator::retessellatePolygons(osg::Geometry &geom) 186 168 { 187 #ifdef OSG_GLU_AVAILABLE188 169 // turn the contour list into primitives, a little like Tessellator does but more generally 189 170 osg::Vec3Array* vertices = dynamic_cast<osg::Vec3Array*>(geom.getVertexArray()); … … 304 285 collectTessellation(geom, 0); 305 286 } 306 #endif307 287 } 308 288
