Rewrite EGL attributes using our ATTRIB/ATTRIB_VAL macros
[freeglut] / include / GL / freeglut_std.h
index f5b1ebf..b24fced 100644 (file)
 
         /* Link with Win32 static freeglut lib */
 #       if FREEGLUT_LIB_PRAGMAS
-#           pragma comment (lib, "freeglut_static.lib")
+#           ifdef NDEBUG
+#              pragma comment (lib, "freeglut_static.lib")
+#           else
+#              pragma comment (lib, "freeglut_staticd.lib")
+#           endif
 #       endif
 
 /* Windows shared library (DLL) */
 
             /* Link with Win32 shared freeglut lib */
 #           if FREEGLUT_LIB_PRAGMAS
-#               pragma comment (lib, "freeglut.lib")
+#               ifdef NDEBUG
+#                   pragma comment (lib, "freeglut.lib")
+#               else
+#                   pragma comment (lib, "freeglutd.lib")
+#               endif
 #           endif
 
 #       endif
  */
 #define  FREEGLUT             1
 #define  GLUT_API_VERSION     4
-#define  FREEGLUT_VERSION_2_0 1
 #define  GLUT_XLIB_IMPLEMENTATION 13
+/* Deprecated:
+   cf. http://sourceforge.net/mailarchive/forum.php?thread_name=CABcAi1hw7cr4xtigckaGXB5X8wddLfMcbA_rZ3NAuwMrX_zmsw%40mail.gmail.com&forum_name=freeglut-developer */
+#define  FREEGLUT_VERSION_2_0 1
 
 /*
  * Always include OpenGL and GLU headers
  */
-/* Note: FREEGLUT_GLES1 and FREEGLUT_GLES2 are only used to cleanly
-   bootstrap headers inclusion here; use GLES constants directly
+/* Note: FREEGLUT_GLES is only used to cleanly bootstrap headers
+   inclusion here; use GLES constants directly
    (e.g. GL_ES_VERSION_2_0) for all other needs */
-#ifdef FREEGLUT_GLES2
-#   include <EGL/egl.h>
-#   include <GLES2/gl2.h>
-#elif FREEGLUT_GLES1
+#ifdef FREEGLUT_GLES
 #   include <EGL/egl.h>
 #   include <GLES/gl.h>
+#   include <GLES2/gl2.h>
+#elif __APPLE__
+#   include <OpenGL/gl.h>
+#   include <OpenGL/glu.h>
 #else
 #   include <GL/gl.h>
 #   include <GL/glu.h>
@@ -525,18 +536,12 @@ FGAPI int     FGAPIENTRY glutStrokeLength( void* font, const unsigned char* stri
  * Geometry functions, see freeglut_geometry.c
  */
 
-#ifndef GL_ES_VERSION_2_0
 FGAPI void    FGAPIENTRY glutWireCube( double size );
 FGAPI void    FGAPIENTRY glutSolidCube( double size );
-#endif
-#ifndef EGL_VERSION_1_0
 FGAPI void    FGAPIENTRY glutWireSphere( double radius, GLint slices, GLint stacks );
 FGAPI void    FGAPIENTRY glutSolidSphere( double radius, GLint slices, GLint stacks );
 FGAPI void    FGAPIENTRY glutWireCone( double base, double height, GLint slices, GLint stacks );
 FGAPI void    FGAPIENTRY glutSolidCone( double base, double height, GLint slices, GLint stacks );
-#endif
-
-#ifndef GL_ES_VERSION_2_0
 FGAPI void    FGAPIENTRY glutWireTorus( double innerRadius, double outerRadius, GLint sides, GLint rings );
 FGAPI void    FGAPIENTRY glutSolidTorus( double innerRadius, double outerRadius, GLint sides, GLint rings );
 FGAPI void    FGAPIENTRY glutWireDodecahedron( void );
@@ -547,16 +552,13 @@ FGAPI void    FGAPIENTRY glutWireTetrahedron( void );
 FGAPI void    FGAPIENTRY glutSolidTetrahedron( void );
 FGAPI void    FGAPIENTRY glutWireIcosahedron( void );
 FGAPI void    FGAPIENTRY glutSolidIcosahedron( void );
-#endif
 
 /*
  * Teapot rendering functions, found in freeglut_teapot.c
+ * NB: front facing polygons have clockwise winding, not counter clockwise
  */
-/* TODO: doesn't work with GLES1 yet */
-#ifndef EGL_VERSION_1_0
-FGAPI void    FGAPIENTRY glutWireTeapot( GLdouble size );
-FGAPI void    FGAPIENTRY glutSolidTeapot( GLdouble size );
-#endif
+FGAPI void    FGAPIENTRY glutWireTeapot( double size );
+FGAPI void    FGAPIENTRY glutSolidTeapot( double size );
 
 /*
  * Game mode functions, see freeglut_gamemode.c