tessBeginPolygon(#tessPtr{ptr=Tobj})
tessCallback(#tessPtr{ptr=Tobj}, Which, ESDL_TESSCB)
tessVertex(#tessPtr{ptr=Tobj}, {X,Y,Z})
beginCurve(Nurb=#nurbsPtr{})
beginSurface(Nurb=#nurbsPtr{})
beginTrim(Nurb=#nurbsPtr{})
build1DMipmaps(Target, InternalFormat, Width, Format, Type, Data)
build2DMipmaps(Target, InternalFormat, Width, Height, Format, Type, Data)
cylinder(Quad=#quadricPtr{}, Base, Top, Height, Slices, Stacks)
deleteNurbsRenderer(Nurb=#nurbsPtr{})
deleteQuadric(Quad=#quadricPtr{})
deleteTess(Tess=#tessPtr{})
disk(Quad=#quadricPtr{}, Inner, Outer, Slices, Loops)
endCurve(Nurb=#nurbsPtr{})
endSurface(Nurb=#nurbsPtr{})
endTrim(Nurb=#nurbsPtr{})
errorString(Error)
getNurbsProperty(Nurb=#nurbsPtr{}, Property)
getString(Name)
getTessProperty(Tess=#tessPtr{}, Which)
loadSamplingMatrices(Nurb=#nurbsPtr{}, Model, Perspective, View)
lookAt(EyeX, EyeY, EyeZ, CenterX, CenterY, CenterZ, UpX, UpY, UpZ)
newNurbsRenderer()
newQuadric()
newTess()
nurbsCurve(Nurb=#nurbsPtr{}, KnotCount, Knots, Stride, Control, Order, Type)
nurbsProperty(Nurb=#nurbsPtr{}, Property, Value)
nurbsSurface(Nurb=#nurbsPtr{}, SKnotCount, SKnots, TKnotCount, TKnots, SStride, TStride, Control, SOrder, TOrder, Type)
ortho2D(Left, Right, Bottom, Top)
partialDisk(Quad=#quadricPtr{}, Inner, Outer, Slices, Loops, Start, Sweep)
perspective(Fovy, Aspect, ZNear, ZFar)
pickMatrix(X, Y, DelX, DelY, Viewport)
project(ObjX, ObjY, ObjZ, Model, Proj, View)
pwlCurve(Nurb=#nurbsPtr{}, Count, Data, Stride, Type)
quadricDrawStyle(Quad=#quadricPtr{}, Draw)
quadricNormals(Quad=#quadricPtr{}, Normal)
quadricOrientation(Quad=#quadricPtr{}, Orientation)
quadricTexture(Quad=#quadricPtr{}, Texture)
scaleImage(Format, WIn, HIn, TypeIn, DataIn, WOut, HOut, TypeOut, #sdlmem{bin=DataOut})
sphere(Quad=#quadricPtr{}, Radius, Slices, Stacks)
tessBeginContour(#tessPtr{ptr=Ptr})
tessEndContour(#tessPtr{ptr=Ptr})
tessEndPolygon(#tessPtr{ptr=Ptr})
tessNormal(#tessPtr{ptr=Ptr}, ValueX, ValueY, ValueZ)
tessProperty(Tess=#tessPtr{}, Which, Data)
unProject(WinX, WinY, WinZ, Model, Proj, View) Args: TessObject
Returns: ok
C-API: void gluTessBeginPolygon(GLUtesselator *tobj)
Args: Which, ESDL_TESSCB one of the callback functions defined in glu.hrl
Returns: ok
C-API: void gluTessCallback(GLUtesselator *tobj, GLenum which, void (GLCALLBACK *fn)())
Desc:
ESDL have some predefined functions which must be supplied as callbacks funcs, see glu.hrl. New callbacks may be defined in the future, input and or implementations are welcomed.
Args: Tobj, Coords[, VtxData]
Returns: ok
C-API: void gluTessVertex(GLUtesselator *tobj, GLdouble coords[3], void *vertex_data)
Desc:
VtxData is a tuple-list of extra data supported types are [{normal, {X,Y,Z}}, {color, {R,G,B[,A]}}, {texcoord2, {U,V}}] Use ?ESDL_TESSCB_VERTEX_DATA callback to call apropriate gl functions on the extra data.
Args: Nurb
Returns: ok
C-API: void gluBeginCurve(GLUnurbs * nurb)
Args: Nurb
Returns: ok
C-API: void gluBeginSurface(GLUnurbs * nurb)
Args: Nurb
Returns: ok
C-API: void gluBeginTrim(GLUnurbs * nurb)
Args: Target, InternalFormat, Width, Format, Type, <<[Data]>>
Returns: ?GL_INT
C-API: GLint gluBuild1DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void * data)
Args: Target, InternalFormat, Width, Height, Format, Type, <<[Data]>>
Returns: ?GL_INT
C-API: GLint gluBuild2DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void * data)
Args: Quad, Base, Top, Height, Slices, Stacks
Returns: ok
C-API: void gluCylinder(GLUquadric * quad, GLdouble base, GLdouble top, GLdouble height, GLint slices, GLint stacks)
Args: Nurb
Returns: ok
C-API: void gluDeleteNurbsRenderer(GLUnurbs * nurb)
Args: Quad
Returns: ok
C-API: void gluDeleteQuadric(GLUquadric * quad)
Args: Tess
Returns: ok
C-API: void gluDeleteTess(GLUtesselator * tess)
Args: Quad, Inner, Outer, Slices, Loops
Returns: ok
C-API: void gluDisk(GLUquadric * quad, GLdouble inner, GLdouble outer, GLint slices, GLint loops)
Args: Nurb
Returns: ok
C-API: void gluEndCurve(GLUnurbs * nurb)
Args: Nurb
Returns: ok
C-API: void gluEndSurface(GLUnurbs * nurb)
Args: Nurb
Returns: ok
C-API: void gluEndTrim(GLUnurbs * nurb)
Args: Error
Returns: [?GL_UNSIGNED_BYTE]
C-API: GLubyte* gluErrorString(GLenum error)
Args: Nurb, Property
Returns: [Data]
C-API: void gluGetNurbsProperty(GLUnurbs * nurb, GLenum property, GLfloat * data)
Args: Name
Returns: [?GL_UNSIGNED_BYTE]
C-API: GLubyte* gluGetString(GLenum name)
Args: Tess, Which
Returns: [Data]
C-API: void gluGetTessProperty(GLUtesselator * tess, GLenum which, GLdouble * data)
Args: Nurb, <<[Model]>>, <<[Perspective]>>, <<[View]>>
Returns: ok
C-API: void gluLoadSamplingMatrices(GLUnurbs * nurb, const GLfloat * model, const GLfloat * perspective, const GLint * view)
Args: EyeX, EyeY, EyeZ, CenterX, CenterY, CenterZ, UpX, UpY, UpZ
Returns: ok
C-API: void gluLookAt(GLdouble eyeX, GLdouble eyeY, GLdouble eyeZ, GLdouble centerX, GLdouble centerY, GLdouble centerZ, GLdouble upX, GLdouble upY, GLdouble upZ)
Returns: [NurbsPtr]
C-API: GLUnurbs* gluNewNurbsRenderer()
Returns: [QuadricPtr]
C-API: GLUquadric* gluNewQuadric()
Returns: [TessPtr]
C-API: GLUtesselator* gluNewTess()
Args: Nurb, KnotCount, <<[Knots]>>, Stride, <<[Control]>>, Order, Type
Returns: ok
C-API: void gluNurbsCurve(GLUnurbs * nurb, GLint knotCount, const GLfloat * knots, GLint stride, const GLfloat * control, GLint order, GLenum type)
Args: Nurb, Property, Value
Returns: ok
C-API: void gluNurbsProperty(GLUnurbs * nurb, GLenum property, GLfloat value)
Args: Nurb, SKnotCount, <<[SKnots]>>, TKnotCount, <<[TKnots]>>, SStride, TStride, <<[Control]>>, SOrder, TOrder, Type
Returns: ok
C-API: void gluNurbsSurface(GLUnurbs * nurb, GLint sKnotCount, const GLfloat * sKnots, GLint tKnotCount, const GLfloat * tKnots, GLint sStride, GLint tStride, const GLfloat * control, GLint sOrder, GLint tOrder, GLenum type)
Args: Left, Right, Bottom, Top
Returns: ok
C-API: void gluOrtho2D(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top)
Args: Quad, Inner, Outer, Slices, Loops, Start, Sweep
Returns: ok
C-API: void gluPartialDisk(GLUquadric * quad, GLdouble inner, GLdouble outer, GLint slices, GLint loops, GLdouble start, GLdouble sweep)
Args: Fovy, Aspect, ZNear, ZFar
Returns: ok
C-API: void gluPerspective(GLdouble fovy, GLdouble aspect, GLdouble zNear, GLdouble zFar)
Args: X, Y, DelX, DelY, <<[Viewport]>>
Returns: ok
C-API: void gluPickMatrix(GLdouble x, GLdouble y, GLdouble delX, GLdouble delY, const GLint * viewport)
Args: ObjX, ObjY, ObjZ, <<[Model]>>, <<[Proj]>>, <<[View]>>
Returns: {WinX, WinY, WinZ} | error
C-API: GLint gluProject(GLdouble objX, GLdouble objY, GLdouble objZ, const GLdouble * model, const GLdouble * proj, const GLint * view, GLdouble * winX, GLdouble * winY, GLdouble * winZ)
Args: Nurb, Count, <<[Data]>>, Stride, Type
Returns: ok
C-API: void gluPwlCurve(GLUnurbs * nurb, GLint count, const GLfloat * data, GLint stride, GLenum type)
Args: Quad, Draw
Returns: ok
C-API: void gluQuadricDrawStyle(GLUquadric * quad, GLenum draw)
Args: Quad, Normal
Returns: ok
C-API: void gluQuadricNormals(GLUquadric * quad, GLenum normal)
Args: Quad, Orientation
Returns: ok
C-API: void gluQuadricOrientation(GLUquadric * quad, GLenum orientation)
Args: Quad, Texture
Returns: ok
C-API: void gluQuadricTexture(GLUquadric * quad, GLboolean texture)
Args: Format, WIn, HIn, TypeIn, <<[DataIn]>>, WOut, HOut, TypeOut, #sdlmem{} = DataOut
Returns: ?GL_INT
C-API: GLint gluScaleImage(GLenum format, GLsizei wIn, GLsizei hIn, GLenum typeIn, const void * dataIn, GLsizei wOut, GLsizei hOut, GLenum typeOut, GLvoid * dataOut)
Args: Quad, Radius, Slices, Stacks
Returns: ok
C-API: void gluSphere(GLUquadric * quad, GLdouble radius, GLint slices, GLint stacks)
Args: Tess
Returns: ok
C-API: void gluTessBeginContour(GLUtesselator * tess)
Args: Tess
Returns: ok
C-API: void gluTessEndContour(GLUtesselator * tess)
Args: Tess
Returns: ok
C-API: void gluTessEndPolygon(GLUtesselator * tess)
Args: Tess, ValueX, ValueY, ValueZ
Returns: ok
C-API: void gluTessNormal(GLUtesselator * tess, GLdouble valueX, GLdouble valueY, GLdouble valueZ)
Args: Tess, Which, Data
Returns: ok
C-API: void gluTessProperty(GLUtesselator * tess, GLenum which, GLdouble data)
Args: WinX, WinY, WinZ, <<[Model]>>, <<[Proj]>>, <<[View]>>
Returns: {ObjX, ObjY, ObjZ} | error
C-API: GLint gluUnProject(GLdouble winX, GLdouble winY, GLdouble winZ, const GLdouble * model, const GLdouble * proj, const GLint * view, GLdouble * objX, GLdouble * objY, GLdouble * objZ)