Provided by: erlang-manpages_25.3.2.8+dfsg-1ubuntu4.4_all bug

NAME

       glu - Erlang wrapper functions for OpenGL

DESCRIPTION

       Standard OpenGL API

       This documents the functions as a brief version of the complete OpenGL reference pages.

DATA TYPES

       vertex() = {float(), float(), float()}

       i() = integer()

       f() = float()

       enum() = integer() >= 0

       matrix() = m12() | m16()

       m12() =
           {f(), f(), f(), f(), f(), f(), f(), f(), f(), f(), f(), f()}

       m16() =
           {f(),
            f(),
            f(),
            f(),
            f(),
            f(),
            f(),
            f(),
            f(),
            f(),
            f(),
            f(),
            f(),
            f(),
            f(),
            f()}

       mem() = binary() | tuple()

EXPORTS

       build1DMipmapLevels(Target, InternalFormat, Width, Format, Type,
                           Level, Base, Max, Data) ->
                              i()

              Types:

                 Target = enum()
                 InternalFormat = Width = i()
                 Format = Type = enum()
                 Level = Base = Max = i()
                 Data = binary()

              glu:build1DMipmapLevels/9   builds  a  subset  of  prefiltered  one-dimensional  texture  maps  of
              decreasing resolutions called a mipmap. This is  used  for  the  antialiasing  of  texture  mapped
              primitives.

              External documentation.

       build1DMipmaps(Target, InternalFormat, Width, Format, Type, Data) ->
                         i()

              Types:

                 Target = enum()
                 InternalFormat = Width = i()
                 Format = Type = enum()
                 Data = binary()

              glu:build1DMipmaps/6  builds  a  series  of prefiltered one-dimensional texture maps of decreasing
              resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives.

              External documentation.

       build2DMipmapLevels(Target, InternalFormat, Width, Height, Format,
                           Type, Level, Base, Max, Data) ->
                              i()

              Types:

                 Target = enum()
                 InternalFormat = Width = Height = i()
                 Format = Type = enum()
                 Level = Base = Max = i()
                 Data = binary()

              glu:build2DMipmapLevels/10  builds  a  subset  of  prefiltered  two-dimensional  texture  maps  of
              decreasing  resolutions  called  a  mipmap.  This  is  used for the antialiasing of texture mapped
              primitives.

              External documentation.

       build2DMipmaps(Target, InternalFormat, Width, Height, Format,
                      Type, Data) ->
                         i()

              Types:

                 Target = enum()
                 InternalFormat = Width = Height = i()
                 Format = Type = enum()
                 Data = binary()

              glu:build2DMipmaps/7 builds a series of prefiltered two-dimensional  texture  maps  of  decreasing
              resolutions called a mipmap. This is used for the antialiasing of texture-mapped primitives.

              External documentation.

       build3DMipmapLevels(Target, InternalFormat, Width, Height, Depth,
                           Format, Type, Level, Base, Max, Data) ->
                              i()

              Types:

                 Target = enum()
                 InternalFormat = Width = Height = Depth = i()
                 Format = Type = enum()
                 Level = Base = Max = i()
                 Data = binary()

              glu:build3DMipmapLevels/11  builds  a  subset  of  prefiltered  three-dimensional  texture maps of
              decreasing resolutions called a mipmap. This is  used  for  the  antialiasing  of  texture  mapped
              primitives.

              External documentation.

       build3DMipmaps(Target, InternalFormat, Width, Height, Depth,
                      Format, Type, Data) ->
                         i()

              Types:

                 Target = enum()
                 InternalFormat = Width = Height = Depth = i()
                 Format = Type = enum()
                 Data = binary()

              glu:build3DMipmaps/8  builds  a series of prefiltered three-dimensional texture maps of decreasing
              resolutions called a mipmap. This is used for the antialiasing of texture-mapped primitives.

              External documentation.

       checkExtension(ExtName :: string(), ExtString :: string()) ->
                         0 | 1

              glu:checkExtension/2 returns ?GLU_TRUE if ExtName is supported otherwise ?GLU_FALSE is returned.

              External documentation.

       cylinder(Quad :: i(),
                Base :: f(),
                Top :: f(),
                Height :: f(),
                Slices :: i(),
                Stacks :: i()) ->
                   ok

              glu:cylinder/6 draws a cylinder oriented along the z axis. The base of the cylinder is placed at z
              = 0 and the top at z=height. Like a sphere, a cylinder is subdivided around the z axis into slices
              and along the z axis into stacks.

              External documentation.

       deleteQuadric(Quad :: i()) -> ok

              glu:deleteQuadric/1 destroys the quadrics object (created with  glu:newQuadric/0)  and  frees  any
              memory it uses. Once glu:deleteQuadric/1 has been called, Quad cannot be used again.

              External documentation.

       disk(Quad :: i(),
            Inner :: f(),
            Outer :: f(),
            Slices :: i(),
            Loops :: i()) ->
               ok

              glu:disk/5  renders  a  disk  on  the  z  = 0 plane. The disk has a radius of Outer and contains a
              concentric circular hole with a radius of Inner. If Inner is 0, then no  hole  is  generated.  The
              disk  is  subdivided  around  the z axis into slices (like pizza slices) and also about the z axis
              into rings (as specified by Slices and Loops, respectively).

              External documentation.

       errorString(Error :: enum()) -> string()

              glu:errorString/1 produces an error string from a GL or GLU error code. The string is in ISO Latin
              1 format. For example, glu:errorString/1(?GLU_OUT_OF_MEMORY) returns the string out of memory.

              External documentation.

       getString(Name :: enum()) -> string()

              glu:getString/1 returns a pointer to a static  string  describing  the  GLU  version  or  the  GLU
              extensions that are supported.

              External documentation.

       lookAt(EyeX, EyeY, EyeZ, CenterX, CenterY, CenterZ, UpX, UpY, UpZ) ->
                 ok

              Types:

                 EyeX = EyeY = EyeZ = CenterX = CenterY = CenterZ = UpX = UpY = UpZ = f()

              glu:lookAt/9  creates a viewing matrix derived from an eye point, a reference point indicating the
              center of the scene, and an UP vector.

              External documentation.

       newQuadric() -> i()

              glu:newQuadric/0 creates and returns a pointer to a new  quadrics  object.  This  object  must  be
              referred  to when calling quadrics rendering and control functions. A return value of 0 means that
              there is not enough memory to allocate the object.

              External documentation.

       ortho2D(Left :: f(), Right :: f(), Bottom :: f(), Top :: f()) ->
                  ok

              glu:ortho2D/4 sets up a two-dimensional orthographic viewing region. This is equivalent to calling
              gl:ortho/6 with near=-1 and far=1.

              External documentation.

       partialDisk(Quad, Inner, Outer, Slices, Loops, Start, Sweep) -> ok

              Types:

                 Quad = i()
                 Inner = Outer = f()
                 Slices = Loops = i()
                 Start = Sweep = f()

              glu:partialDisk/7 renders a partial disk on the z=0 plane. A partial disk is  similar  to  a  full
              disk,  except that only the subset of the disk from Start through Start + Sweep is included (where
              0 degrees is along the +f2yf axis, 90 degrees along the +x axis, 180 degrees along  the  -y  axis,
              and 270 degrees along the -x axis).

              External documentation.

       perspective(Fovy :: f(), Aspect :: f(), ZNear :: f(), ZFar :: f()) ->
                      ok

              glu:perspective/4  specifies  a  viewing frustum into the world coordinate system. In general, the
              aspect ratio in glu:perspective/4 should match the aspect ratio of the  associated  viewport.  For
              example,  aspect=2.0  means the viewer's angle of view is twice as wide in x as it is in y. If the
              viewport is twice as wide as it is tall, it displays the image without distortion.

              External documentation.

       pickMatrix(X :: f(),
                  Y :: f(),
                  DelX :: f(),
                  DelY :: f(),
                  Viewport :: {i(), i(), i(), i()}) ->
                     ok

              glu:pickMatrix/5 creates a projection matrix that can be used  to  restrict  drawing  to  a  small
              region  of  the  viewport. This is typically useful to determine what objects are being drawn near
              the cursor. Use glu:pickMatrix/5 to restrict drawing to a small region around  the  cursor.  Then,
              enter selection mode (with gl:renderMode/1) and rerender the scene. All primitives that would have
              been drawn near the cursor are identified and stored in the selection buffer.

              External documentation.

       project(ObjX, ObjY, ObjZ, Model, Proj, View) ->
                  {i(), WinX :: f(), WinY :: f(), WinZ :: f()}

              Types:

                 ObjX = ObjY = ObjZ = f()
                 Model = Proj = matrix()
                 View = {i(), i(), i(), i()}

              glu:project/6  transforms  the  specified  object coordinates into window coordinates using Model,
              Proj, and View. The result is stored in  WinX,  WinY,  and  WinZ.  A  return  value  of  ?GLU_TRUE
              indicates success, a return value of ?GLU_FALSE indicates failure.

              External documentation.

       quadricDrawStyle(Quad :: i(), Draw :: enum()) -> ok

              glu:quadricDrawStyle/2  specifies the draw style for quadrics rendered with Quad. The legal values
              are as follows:

              External documentation.

       quadricNormals(Quad :: i(), Normal :: enum()) -> ok

              glu:quadricNormals/2 specifies what kind of normals are desired for quadrics rendered  with  Quad.
              The legal values are as follows:

              External documentation.

       quadricOrientation(Quad :: i(), Orientation :: enum()) -> ok

              glu:quadricOrientation/2  specifies what kind of orientation is desired for quadrics rendered with
              Quad. The Orientation values are as follows:

              External documentation.

       quadricTexture(Quad :: i(), Texture :: 0 | 1) -> ok

              glu:quadricTexture/2 specifies if texture coordinates should be generated  for  quadrics  rendered
              with  Quad.  If  the value of Texture is ?GLU_TRUE, then texture coordinates are generated, and if
              Texture is ?GLU_FALSE, they are not. The initial value is ?GLU_FALSE.

              External documentation.

       scaleImage(Format, WIn, HIn, TypeIn, DataIn, WOut, HOut, TypeOut,
                  DataOut) ->
                     i()

              Types:

                 Format = enum()
                 WIn = HIn = i()
                 TypeIn = enum()
                 DataIn = binary()
                 WOut = HOut = i()
                 TypeOut = enum()
                 DataOut = mem()

              glu:scaleImage/9 scales a pixel image using the appropriate pixel store modes to unpack data  from
              the source image and pack data into the destination image.

              External documentation.

       sphere(Quad :: i(), Radius :: f(), Slices :: i(), Stacks :: i()) ->
                 ok

              glu:sphere/4  draws  a  sphere  of  the  given  radius  centered  around the origin. The sphere is
              subdivided around the z axis into slices and along the z axis into stacks  (similar  to  lines  of
              longitude and latitude).

              External documentation.

       tesselate(Normal, Vs :: [Vs]) -> {Triangles, VertexPos}

              Types:

                 Normal = Vs = vertex()
                 Triangles = [integer()]
                 VertexPos = binary()

              Triangulates a polygon, the polygon is specified by a Normal and Vs a list of vertex positions.

              The  function  returns  a  list  of  indices  of  the  vertices  and a binary (64bit native float)
              containing an array of vertex positions, it starts with the vertices in Vs and may  contain  newly
              created vertices in the end.

       unProject(WinX, WinY, WinZ, Model, Proj, View) ->
                    {i(), ObjX :: f(), ObjY :: f(), ObjZ :: f()}

       unProject4(WinX, WinY, WinZ, ClipW, Model, Proj, View, NearVal,
                  FarVal) ->
                     {i(),
                      ObjX :: f(),
                      ObjY :: f(),
                      ObjZ :: f(),
                      ObjW :: f()}

              Types:

                 WinX = WinY = WinZ = ClipW = f()
                 Model = Proj = matrix()
                 View = {i(), i(), i(), i()}
                 NearVal = FarVal = f()

              glu:unProject/6  maps  the specified window coordinates into object coordinates using Model, Proj,
              and View. The result is stored in ObjX, ObjY, and ObjZ. A  return  value  of  ?GLU_TRUE  indicates
              success; a return value of ?GLU_FALSE indicates failure.

              External documentation.

Ericsson AB                                        wx 2.2.2.1                                          glu(3erl)