GLU ES Reference Pages


gluBeginCurve
gluBeginPolygon
gluBeginSurface
gluBeginTrim
gluBuild2DMipmapLevels
gluBuild2DMipmaps
gluCheckExtension
gluCylinder
gluDeleteNurbsRenderer
gluDeleteQuadric
gluDeleteTess
gluDisk
gluEndCurve
gluEndPolygon
gluEndSurface
gluEndTrim
gluErrorString
gluGetNurbsProperty
gluGetString
gluGetTessProperty
gluLoadSamplingMatrices
gluLookAt
gluNewNurbsRenderer
gluNewQuadric
gluNewTess
gluNextContour
gluNurbsCallback
gluNurbsCallbackData
gluNurbsCallbackDataEXT
gluNurbsCurve
gluNurbsProperty
gluNurbsSurface
gluOrtho2D
gluPartialDisk
gluPerspective
gluPickMatrix
gluProject
gluPwlCurve
gluQuadricCallback
gluQuadricDrawStyle
gluQuadricNormals
gluQuadricOrientation
gluQuadricTexture
gluScaleImage
gluSphere
gluTessBeginContour
gluTessBeginPolygon
gluTessCallback
gluTessEndContour
gluTessEndPolygon
gluTessNormal
gluTessProperty
gluTessVertex
gluUnProject
gluUnProject4

     GLU ES v1.5 implementation notes

     1. Missing functions

    The functions gluBuild1DMipmapLevels(), gluBuild1DMipmaps(), gluBuild3DMipmaps(), gluBuild3DMipmaps() are missing because OpenGL ES 1.x doesn't support 1D and 3D textures. 1D texture nevertheless could be emulated as 2D texture with height equal to one.

     2. Quadrics implementation notes

    The following functions: gluCylinder(), gluDisk(), gluPartialDisk(), gluSphere() are using OpenGL ES arrays internally. After return from these functions color, vertex, texture and normal arrays are disabled, array pointers are changed and must be reinstalled by caller to its original state.
    Functions gluCylinder(), gluDisk(), gluPartialDisk(), gluSphere() now takes a GLfloat type instead of all GLdouble function arguments in the original GLU.

     3. Tessellation objects implementation notes

    All callbacks now using GLfloat for parameters instead of GLdouble as in the original GLU.

     4. NURBS implementation notes

    The notes below concern OpenGL ES 1.0 support only:

        a) NURBS code internally queries current OpenGL ES matrices during rendering, so all queries for OpenGL ES matrices are performed through the GL_OES_query_matrix extension. GL_OES_matrix_get extension is not supported now, if your OpenGL ES 1.0 implementation provides GL_OES_matrix_get extension only, feel free to add support for it. Since GL_OES_query_matrix extension can query current matrix only, current matrix is switched internally in NURBS code and after NURBS function calls GL_MODELVIEW_MATRIX became current.

        b) NURBS code queries current viewport settings, but in OpenGL ES 1.0 it is not possible to query current viewport settings. GLU ES implementation provides the following functions to workaround this issue:

        void gluViewport(GLint x, GLint y, GLsizei width, GLsizei height); - the function parameters are identical to glViewport() function. Developer must call gluViewport() after each glViewport() function call, when GLU ES NURBS are used.

        void gluGetIntegerv(GLenum pname, GLint* params); - the function parameters are identical to glGetIntegerv() function. Developer have to call gluGetIntegerv() function with GL_VIEWPORT as pname, if current viewport settings are required to be fetched. All other pnames are forwarded to glGetIntegerv().

        void gluGetFloatv(GLenum pname, GLfloat* params); - the function parameters are identical to glGetFloatv() function in OpenGL ES 1.1 and above implementations. Only this pnames are supported: GL_MODELVIEW_MATRIX, GL_PROJECTION_MATRIX. When OpenGL ES 1.1 is used all other pnames are forwarded to glGetFloatv().

    The notes below concern OpenGL ES 1.x support:

        GLU ES v1.5 provides the following functions:

        void gluEnable(GLenum cap); and void gluDisable(GLenum cap); to add compatibility with OpenGL.

        GLU ES v1.5 provides the following defines:

        GLU_MAP1_COLOR_4
        GLU_MAP1_INDEX
        GLU_MAP1_NORMAL
        GLU_MAP1_TEXTURE_COORD_1
        GLU_MAP1_TEXTURE_COORD_2
        GLU_MAP1_TEXTURE_COORD_3
        GLU_MAP1_TEXTURE_COORD_4
        GLU_MAP1_VERTEX_3
        GLU_MAP1_VERTEX_4
        GLU_MAP2_COLOR_4
        GLU_MAP2_INDEX
        GLU_MAP2_NORMAL
        GLU_MAP2_TEXTURE_COORD_1
        GLU_MAP2_TEXTURE_COORD_2
        GLU_MAP2_TEXTURE_COORD_3
        GLU_MAP2_TEXTURE_COORD_4
        GLU_MAP2_VERTEX_3
        GLU_MAP2_VERTEX_4
        GLU_AUTO_NORMAL

        to be used in gluEnable() and gluDisable() functions.