NAME

PDL::Graphics::OpenGL -- a PDL interface to the OpenGL graphics library. PDL::Graphics::OpenGLOO - an Object Oriented interface to the interface.


DESCRIPTION

This package implements an interface to various OpenGL or OpenGL emulator libraries. Most of the interface is generated at PDL compile time by the script opengl.pd which runs the c preprocessor on various OpenGL include files to determine the correct C prototypes for each configuration. The object oriented interface defines an Object which contains the Display, Window and Context properties of the defined OpenGL device. Any OpenGL function called from the OO interface will recieve these fields from the object, they should not be passed explicitly.

This package is primarily intended for internal use by the PDL::Graphics::TriD package, but should also be usable in its own right.


FUNCTIONS

new($class,$options)

Returns a new OpenGL object with attributes specified in the options field. These attributes are: =for ref x,y - the position of the upper left corner of the window (0,0) width,height - the width and height of the window in pixels (500,500) parent - the parent under which the new window should be opened (root) mask - the user interface mask (StructureNotifyMask) attributes - attributes to pass to glXChooseVisual

default_options

default options for object oriented methods

XResizeWindow(x,y)

OO interface to XResizeWindow

glpXNextEvent()

OO interface to glpXNextEvent

glpRasterFont()

OO interface to the glpRasterFont function

AUTOLOAD

If the function is not prototyped in OO we assume there is no explicit mention of the three identifying parameters (Display, Window, Context) and try to load the OpenGL function.

glXCopyContext

OO interface to the glXCopyContext function

glXCreateContext

OO interface to the glXCreateContext function

glXCreateGLXPixmap

OO interface to the glXCreateGLXPixmap function

glXDestroyContext

OO interface to the glXDestroyContext function

glXDestroyGLXPixmap

OO interface to the glXDestroyGLXPixmap function

glXGetConfig

OO interface to the glXGetConfig function

glXIsDirect

OO interface to the glXIsDirect function

glXMakeCurrent

OO interface to the glXMakeCurrent function

glXQueryExtension

OO interface to the glXQueryExtension function

glXQueryVersion

OO interface to the glXQueryVersion function

glXSwapBuffers

OO interface to the glXSwapBuffers function

glXGetFBConfigAttrib

OO interface to the glXGetFBConfigAttrib function

glXCreateWindow

OO interface to the glXCreateWindow function

glXDestroyWindow

OO interface to the glXDestroyWindow function

glXCreatePixmap

OO interface to the glXCreatePixmap function

glXDestroyPixmap

OO interface to the glXDestroyPixmap function

glXCreatePbuffer

OO interface to the glXCreatePbuffer function

glXDestroyPbuffer

OO interface to the glXDestroyPbuffer function

glXQueryDrawable

OO interface to the glXQueryDrawable function

glXCreateNewContext

OO interface to the glXCreateNewContext function

glXMakeContextCurrent

OO interface to the glXMakeContextCurrent function

glXQueryContext

OO interface to the glXQueryContext function

glXSelectEvent

OO interface to the glXSelectEvent function

glXGetSelectedEvent

OO interface to the glXGetSelectedEvent function

glXGetContextIDEXT

OO interface to the glXGetContextIDEXT function

glXImportContextEXT

OO interface to the glXImportContextEXT function

glXFreeContextEXT

OO interface to the glXFreeContextEXT function

glXQueryContextInfoEXT

OO interface to the glXQueryContextInfoEXT function

OpenGL Interface Functions

The following is a list of OpenGL functions for which an interface was created. Please refer to the OpenGL documentation for descriptions.

glClearIndex

glClearColor

glClear

glIndexMask

glColorMask

glAlphaFunc

glBlendFunc

glLogicOp

glCullFace

glFrontFace

glPointSize

glLineWidth

glLineStipple

glPolygonMode

glPolygonOffset

glPolygonStipple

glGetPolygonStipple

glEdgeFlag

glEdgeFlagv

glScissor

glClipPlane

glGetClipPlane

glDrawBuffer

glReadBuffer

glEnable

glDisable

glIsEnabled

glEnableClientState

glDisableClientState

glGetBooleanv

glGetDoublev

glGetFloatv

glGetIntegerv

glPushAttrib

glPopAttrib

glPushClientAttrib

glPopClientAttrib

glRenderMode

glGetError

glFinish

glFlush

glHint

glClearDepth

glDepthFunc

glDepthMask

glDepthRange

glClearAccum

glAccum

glMatrixMode

glOrtho

glFrustum

glViewport

glPushMatrix

glPopMatrix

glLoadIdentity

glLoadMatrixd

glLoadMatrixf

glMultMatrixd

glMultMatrixf

glRotated

glRotatef

glScaled

glScalef

glTranslated

glTranslatef

glIsList

glDeleteLists

glGenLists

glNewList

glEndList

glCallList

glCallLists

glListBase

glBegin

glEnd

glVertex2d

glVertex2f

glVertex2i

glVertex2s

glVertex3d

glVertex3f

glVertex3i

glVertex3s

glVertex4d

glVertex4f

glVertex4i

glVertex4s

glVertex2dv

glVertex2fv

glVertex2iv

glVertex2sv

glVertex3dv

glVertex3fv

glVertex3iv

glVertex3sv

glVertex4dv

glVertex4fv

glVertex4iv

glVertex4sv

glNormal3b

glNormal3d

glNormal3f

glNormal3i

glNormal3s

glNormal3bv

glNormal3dv

glNormal3fv

glNormal3iv

glNormal3sv

glIndexd

glIndexf

glIndexi

glIndexs

glIndexub

glIndexdv

glIndexfv

glIndexiv

glIndexsv

glIndexubv

glColor3b

glColor3d

glColor3f

glColor3i

glColor3s

glColor3ub

glColor3ui

glColor3us

glColor4b

glColor4d

glColor4f

glColor4i

glColor4s

glColor4ub

glColor4ui

glColor4us

glColor3bv

glColor3dv

glColor3fv

glColor3iv

glColor3sv

glColor3ubv

glColor3uiv

glColor3usv

glColor4bv

glColor4dv

glColor4fv

glColor4iv

glColor4sv

glColor4ubv

glColor4uiv

glColor4usv

glTexCoord1d

glTexCoord1f

glTexCoord1i

glTexCoord1s

glTexCoord2d

glTexCoord2f

glTexCoord2i

glTexCoord2s

glTexCoord3d

glTexCoord3f

glTexCoord3i

glTexCoord3s

glTexCoord4d

glTexCoord4f

glTexCoord4i

glTexCoord4s

glTexCoord1dv

glTexCoord1fv

glTexCoord1iv

glTexCoord1sv

glTexCoord2dv

glTexCoord2fv

glTexCoord2iv

glTexCoord2sv

glTexCoord3dv

glTexCoord3fv

glTexCoord3iv

glTexCoord3sv

glTexCoord4dv

glTexCoord4fv

glTexCoord4iv

glTexCoord4sv

glRasterPos2d

glRasterPos2f

glRasterPos2i

glRasterPos2s

glRasterPos3d

glRasterPos3f

glRasterPos3i

glRasterPos3s

glRasterPos4d

glRasterPos4f

glRasterPos4i

glRasterPos4s

glRasterPos2dv

glRasterPos2fv

glRasterPos2iv

glRasterPos2sv

glRasterPos3dv

glRasterPos3fv

glRasterPos3iv

glRasterPos3sv

glRasterPos4dv

glRasterPos4fv

glRasterPos4iv

glRasterPos4sv

glRectd

glRectf

glRecti

glRects

glRectdv

glRectfv

glRectiv

glRectsv

glVertexPointer

glNormalPointer

glColorPointer

glIndexPointer

glTexCoordPointer

glEdgeFlagPointer

glGetPointerv

glArrayElement

glDrawArrays

glDrawElements

glInterleavedArrays

glShadeModel

glLightf

glLighti

glLightfv

glLightiv

glGetLightfv

glGetLightiv

glLightModelf

glLightModeli

glLightModelfv

glLightModeliv

glMaterialf

glMateriali

glMaterialfv

glMaterialiv

glGetMaterialfv

glGetMaterialiv

glColorMaterial

glPixelZoom

glPixelStoref

glPixelStorei

glPixelTransferf

glPixelTransferi

glPixelMapfv

glPixelMapuiv

glPixelMapusv

glGetPixelMapfv

glGetPixelMapuiv

glGetPixelMapusv

glBitmap

glReadPixels

glDrawPixels

glCopyPixels

glStencilFunc

glStencilMask

glStencilOp

glClearStencil

glTexGend

glTexGenf

glTexGeni

glTexGendv

glTexGenfv

glTexGeniv

glGetTexGendv

glGetTexGenfv

glGetTexGeniv

glTexEnvf

glTexEnvi

glTexEnvfv

glTexEnviv

glGetTexEnvfv

glGetTexEnviv

glTexParameterf

glTexParameteri

glTexParameterfv

glTexParameteriv

glGetTexParameterfv

glGetTexParameteriv

glGetTexLevelParameterfv

glGetTexLevelParameteriv

glTexImage1D

glTexImage2D

glGetTexImage

glGenTextures

glDeleteTextures

glBindTexture

glPrioritizeTextures

glAreTexturesResident

glIsTexture

glTexSubImage1D

glTexSubImage2D

glCopyTexImage1D

glCopyTexImage2D

glCopyTexSubImage1D

glCopyTexSubImage2D

glMap1d

glMap1f

glMap2d

glMap2f

glGetMapdv

glGetMapfv

glGetMapiv

glEvalCoord1d

glEvalCoord1f

glEvalCoord1dv

glEvalCoord1fv

glEvalCoord2d

glEvalCoord2f

glEvalCoord2dv

glEvalCoord2fv

glMapGrid1d

glMapGrid1f

glMapGrid2d

glMapGrid2f

glEvalPoint1

glEvalPoint2

glEvalMesh1

glEvalMesh2

glFogf

glFogi

glFogfv

glFogiv

glFeedbackBuffer

glPassThrough

glSelectBuffer

glInitNames

glLoadName

glPushName

glPopName

glDrawRangeElements

glTexImage3D

glTexSubImage3D

glCopyTexSubImage3D

glColorTable

glColorSubTable

glColorTableParameteriv

glColorTableParameterfv

glCopyColorSubTable

glCopyColorTable

glGetColorTable

glGetColorTableParameterfv

glGetColorTableParameteriv

glBlendEquation

glBlendColor

glHistogram

glResetHistogram

glGetHistogram

glGetHistogramParameterfv

glGetHistogramParameteriv

glMinmax

glResetMinmax

glGetMinmax

glGetMinmaxParameterfv

glGetMinmaxParameteriv

glConvolutionFilter1D

glConvolutionFilter2D

glConvolutionParameterf

glConvolutionParameterfv

glConvolutionParameteri

glConvolutionParameteriv

glCopyConvolutionFilter1D

glCopyConvolutionFilter2D

glGetConvolutionFilter

glGetConvolutionParameterfv

glGetConvolutionParameteriv

glSeparableFilter2D

glGetSeparableFilter

glActiveTextureARB

glClientActiveTextureARB

glMultiTexCoord1dARB

glMultiTexCoord1dvARB

glMultiTexCoord1fARB

glMultiTexCoord1fvARB

glMultiTexCoord1iARB

glMultiTexCoord1ivARB

glMultiTexCoord1sARB

glMultiTexCoord1svARB

glMultiTexCoord2dARB

glMultiTexCoord2dvARB

glMultiTexCoord2fARB

glMultiTexCoord2fvARB

glMultiTexCoord2iARB

glMultiTexCoord2ivARB

glMultiTexCoord2sARB

glMultiTexCoord2svARB

glMultiTexCoord3dARB

glMultiTexCoord3dvARB

glMultiTexCoord3fARB

glMultiTexCoord3fvARB

glMultiTexCoord3iARB

glMultiTexCoord3ivARB

glMultiTexCoord3sARB

glMultiTexCoord3svARB

glMultiTexCoord4dARB

glMultiTexCoord4dvARB

glMultiTexCoord4fARB

glMultiTexCoord4fvARB

glMultiTexCoord4iARB

glMultiTexCoord4ivARB

glMultiTexCoord4sARB

glMultiTexCoord4svARB

glXCopyContext

glXCreateContext

glXCreateGLXPixmap

glXDestroyContext

glXDestroyGLXPixmap

glXGetConfig

glXGetCurrentContext

glXGetCurrentDrawable

glXIsDirect

glXMakeCurrent

glXQueryExtension

glXQueryVersion

glXSwapBuffers

glXUseXFont

glXWaitGL

glXWaitX

glXGetFBConfigAttrib

glXCreateWindow

glXDestroyWindow

glXCreatePixmap

glXDestroyPixmap

glXCreatePbuffer

glXDestroyPbuffer

glXQueryDrawable

glXCreateNewContext

glXMakeContextCurrent

glXGetCurrentReadDrawable

glXQueryContext

glXSelectEvent

glXGetSelectedEvent

glXGetContextIDEXT

glXGetCurrentDrawableEXT

glXImportContextEXT

glXFreeContextEXT

glXQueryContextInfoEXT

gluBeginCurve

gluBeginPolygon

gluBeginSurface

gluBeginTrim

gluBuild1DMipmapLevels

gluBuild1DMipmaps

gluBuild2DMipmapLevels

gluBuild2DMipmaps

gluBuild3DMipmapLevels

gluBuild3DMipmaps

gluCheckExtension

gluCylinder

gluDeleteNurbsRenderer

gluDeleteQuadric

gluDeleteTess

gluDisk

gluEndCurve

gluEndPolygon

gluEndSurface

gluEndTrim

gluGetNurbsProperty

gluGetTessProperty

gluLoadSamplingMatrices

gluLookAt

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