sync with OpenBSD -current

This commit is contained in:
purplerain 2024-07-12 14:44:09 +02:00
parent 2d1e52c274
commit b5b25afdb8
Signed by: purplerain
GPG key ID: F42C07F07E2E35B7
657 changed files with 21464 additions and 54675 deletions

View file

@ -1,6 +1,6 @@
# $OpenBSD: Makefile,v 1.1 2006/11/29 17:42:27 matthieu Exp $
# $OpenBSD: Makefile,v 1.2 2024/07/10 07:00:41 matthieu Exp $
SUBDIR= gl-docs xorg-docs
SUBDIR= xorg-docs
.include <bsd.subdir.mk>

View file

@ -1,26 +0,0 @@
XCOMM $XFree86: xc/doc/man/GL/Imakefile,v 1.2 1999/06/14 07:23:27 dawes Exp $
XCOMM The contents of this file are subject to the GLX Public License Version 1.0
XCOMM (the "License"). You may not use this file except in compliance with the
XCOMM License. You may obtain a copy of the License at Silicon Graphics, Inc.,
XCOMM attn: Legal Services, 2011 N. Shoreline Blvd., Mountain View, CA 94043
XCOMM or at http://www.sgi.com/software/opensource/glx/license.html.
XCOMM
XCOMM Software distributed under the License is distributed on an "AS IS"
XCOMM basis. ALL WARRANTIES ARE DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY
XCOMM IMPLIED WARRANTIES OF MERCHANTABILITY, OF FITNESS FOR A PARTICULAR
XCOMM PURPOSE OR OF NON- INFRINGEMENT. See the License for the specific
XCOMM language governing rights and limitations under the License.
XCOMM
XCOMM The Original Software is GLX version 1.2 source code, released February,
XCOMM 1999. The developer of the Original Software is Silicon Graphics, Inc.
XCOMM Those portions of the Subject Software created by Silicon Graphics, Inc.
XCOMM are Copyright (c) 1991-9 Silicon Graphics, Inc. All Rights Reserved.
#define IHaveSubdirs
#define PassCDebugFlags 'CDEBUGFLAGS=$(CDEBUGFLAGS)'
SUBDIRS = gl glx
MakeSubdirs($(SUBDIRS))
InstallManSubdirs($(SUBDIRS))
DependSubdirs($(SUBDIRS))

View file

@ -1,432 +0,0 @@
XCOMM $XFree86: xc/doc/man/GL/gl/Imakefile,v 1.3 2002/01/15 03:32:03 dawes Exp $
XCOMM License Applicability. Except to the extent portions of this file are
XCOMM made subject to an alternative license as permitted in the SGI Free
XCOMM Software License B, Version 1.1 (the "License"), the contents of this
XCOMM file are subject only to the provisions of the License. You may not use
XCOMM this file except in compliance with the License. You may obtain a Copy
XCOMM of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
XCOMM Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
XCOMM
XCOMM http://oss.sgi.com/projects/FreeB
XCOMM
XCOMM Note that, as provided in the License, the Software is distributed on an
XCOMM "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
XCOMM DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
XCOMM CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
XCOMM PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
XCOMM
XCOMM Original Code. The Original Code is: OpenGL Sample Implementation,
XCOMM Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
XCOMM Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
XCOMM Copyright in any portions created by third parties is as indicated
XCOMM elsewhere herein. All Rights Reserved.
XCOMM
XCOMM Additional Notice Provisions: The application programming interfaces
XCOMM established by SGI in conjunction with the Original Code are The
XCOMM OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
XCOMM April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
XCOMM 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
XCOMM Window System(R) (Version 1.3), released October 19, 1998. This software
XCOMM was created using the OpenGL(R) version 1.2.1 Sample Implementation
XCOMM published by SGI, but has not been independently verified as being
XCOMM compliant with the OpenGL(R) version 1.2.1 Specification.
XCOMM
MANDIR = $(LIBMANDIR)
MANSUFFIX = $(LIBMANSUFFIX)
MSUFF = man
InstallManPage(glAccum,$(MANDIR))
InstallManPage(glActiveTextureARB,$(MANDIR))
InstallManPage(glAlphaFunc,$(MANDIR))
InstallManPage(glAreTexturesResident,$(MANDIR))
InstallManPage(glArrayElement,$(MANDIR))
InstallManPage(glBegin,$(MANDIR))
InstallManPageAliases(glBegin,$(MANDIR),glEnd)
InstallManPage(glBindTexture,$(MANDIR))
InstallManPage(glBitmap,$(MANDIR))
InstallManPage(glBlendColor,$(MANDIR))
InstallManPage(glBlendEquation,$(MANDIR))
InstallManPage(glBlendFunc,$(MANDIR))
InstallManPage(glCallList,$(MANDIR))
InstallManPage(glCallLists,$(MANDIR))
InstallManPage(glClear,$(MANDIR))
InstallManPage(glClearAccum,$(MANDIR))
InstallManPage(glClearColor,$(MANDIR))
InstallManPage(glClearDepth,$(MANDIR))
InstallManPage(glClearIndex,$(MANDIR))
InstallManPage(glClearStencil,$(MANDIR))
InstallManPage(glClientActiveTextureARB,$(MANDIR))
InstallManPage(glClipPlane,$(MANDIR))
InstallManPage(glColor,$(MANDIR))
InstallManPageAliases(glColor,$(MANDIR),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)
InstallManPage(glColorMask,$(MANDIR))
InstallManPage(glColorMaterial,$(MANDIR))
InstallManPage(glColorPointer,$(MANDIR))
InstallManPage(glColorSubTable,$(MANDIR))
InstallManPage(glColorTable,$(MANDIR))
InstallManPage(glColorTableParameter,$(MANDIR))
InstallManPageAliases(glColorTableParameter,$(MANDIR),glColorTableParameterfv glColorTableParameteriv)
InstallManPage(glConvolutionFilter1D,$(MANDIR))
InstallManPage(glConvolutionFilter2D,$(MANDIR))
InstallManPage(glConvolutionParameter,$(MANDIR))
InstallManPage(glCopyColorSubTable,$(MANDIR))
InstallManPage(glCopyColorTable,$(MANDIR))
InstallManPage(glCopyConvolutionFilter1D,$(MANDIR))
InstallManPage(glCopyConvolutionFilter2D,$(MANDIR))
InstallManPage(glCopyPixels,$(MANDIR))
InstallManPage(glCopyTexImage1D,$(MANDIR))
InstallManPage(glCopyTexImage2D,$(MANDIR))
InstallManPage(glCopyTexSubImage1D,$(MANDIR))
InstallManPage(glCopyTexSubImage2D,$(MANDIR))
InstallManPage(glCopyTexSubImage3D,$(MANDIR))
InstallManPage(glCullFace,$(MANDIR))
InstallManPage(glDeleteLists,$(MANDIR))
InstallManPage(glDeleteTextures,$(MANDIR))
InstallManPage(glDepthFunc,$(MANDIR))
InstallManPage(glDepthMask,$(MANDIR))
InstallManPage(glDepthRange,$(MANDIR))
InstallManPage(glDrawArrays,$(MANDIR))
InstallManPage(glDrawBuffer,$(MANDIR))
InstallManPage(glDrawElements,$(MANDIR))
InstallManPage(glDrawPixels,$(MANDIR))
InstallManPage(glDrawRangeElements,$(MANDIR))
InstallManPage(glEdgeFlag,$(MANDIR))
InstallManPageAliases(glEdgeFlag,$(MANDIR),glEdgeFlagv)
InstallManPage(glEdgeFlagPointer,$(MANDIR))
InstallManPage(glEnable,$(MANDIR))
InstallManPageAliases(glEnable,$(MANDIR),glDisable)
InstallManPage(glEnableClientState,$(MANDIR))
InstallManPageAliases(glEnableClientState,$(MANDIR),glDisableClientState)
InstallManPage(glEvalCoord,$(MANDIR))
InstallManPageAliases(glEvalCoord,$(MANDIR),glEvalCoord1d glEvalCoord2d glEvalCoord2f glEvalCoord1dv glEvalCoord1fv glEvalCoord2dv glEvalCoord2fv)
InstallManPage(glEvalMesh,$(MANDIR))
InstallManPageAliases(glEvalMesh,$(MANDIR),glEvalMesh1 glEvalMesh2)
InstallManPage(glEvalPoint,$(MANDIR))
InstallManPageAliases(glEvalPoint,$(MANDIR),glEvalPoint1 glEvalPoint2)
InstallManPage(glFeedbackBuffer,$(MANDIR))
InstallManPage(glFinish,$(MANDIR))
InstallManPage(glFlush,$(MANDIR))
InstallManPage(glFog,$(MANDIR))
InstallManPageAliases(glFog,$(MANDIR),glFogf glFogi glFogfv glFogiv)
InstallManPage(glFrontFace,$(MANDIR))
InstallManPage(glFrustum,$(MANDIR))
InstallManPage(glGenLists,$(MANDIR))
InstallManPage(glGenTextures,$(MANDIR))
InstallManPage(glGet,$(MANDIR))
InstallManPageAliases(glGet,$(MANDIR),glGetBooleanv glGetDoublev glGetFloatv glGetIntegerv)
InstallManPage(glGetClipPlane,$(MANDIR))
InstallManPage(glGetColorTable,$(MANDIR))
InstallManPage(glGetColorTableParameter,$(MANDIR))
InstallManPageAliases(glGetColorTableParameter,$(MANDIR),glGetColorTableParameterfv glGetColorTableParameteriv)
InstallManPage(glGetConvolutionFilter,$(MANDIR))
InstallManPage(glGetConvolutionParameter,$(MANDIR))
InstallManPage(glGetError,$(MANDIR))
InstallManPage(glGetHistogram,$(MANDIR))
InstallManPage(glGetHistogramParameter,$(MANDIR))
InstallManPage(glGetLight,$(MANDIR))
InstallManPageAliases(glGetLight,$(MANDIR),glGetLightfv glGetLightiv)
InstallManPage(glGetMap,$(MANDIR))
InstallManPageAliases(glGetMap,$(MANDIR),glGetMapdv glGetMapfv glGetMapiv)
InstallManPage(glGetMaterial,$(MANDIR))
InstallManPageAliases(glGetMaterial,$(MANDIR),glGetMaterialfv glGetMaterialiv)
InstallManPage(glGetMinmax,$(MANDIR))
InstallManPage(glGetMinmaxParameter,$(MANDIR))
InstallManPage(glGetPixelMap,$(MANDIR))
InstallManPageAliases(glGetPixelMap,$(MANDIR),glGetPixelMapfv glGetPixelMapuiv glGetPixelMapusv)
InstallManPage(glGetPointerv,$(MANDIR))
InstallManPage(glGetPolygonStipple,$(MANDIR))
InstallManPage(glGetSeparableFilter,$(MANDIR))
InstallManPage(glGetString,$(MANDIR))
InstallManPage(glGetTexEnv,$(MANDIR))
InstallManPageAliases(glGetTexEnv,$(MANDIR),glGetTexEnvfv glGetTexEnviv)
InstallManPage(glGetTexGen,$(MANDIR))
InstallManPageAliases(glGetTexGen,$(MANDIR),glGetTexGendv glGetTexGenfv glGetTexGeniv)
InstallManPage(glGetTexImage,$(MANDIR))
InstallManPage(glGetTexLevelParameter,$(MANDIR))
InstallManPageAliases(glGetTexLevelParameter,$(MANDIR),glGetTexLevelParameterfv glGetTexLevelParameteriv)
InstallManPage(glGetTexParameter,$(MANDIR))
InstallManPageAliases(glGetTexParameter,$(MANDIR),glGetTexParameterfv glGetTexParameteriv)
InstallManPage(glHint,$(MANDIR))
InstallManPage(glHistogram,$(MANDIR))
InstallManPage(glIndex,$(MANDIR))
InstallManPageAliases(glIndex,$(MANDIR),glIndexd glIndexf glIndexi glIndexs glIndexub glIndexdv glIndexfv glIndexiv glIndexsv glIndexubv)
InstallManPage(glIndexMask,$(MANDIR))
InstallManPage(glIndexPointer,$(MANDIR))
InstallManPage(glInitNames,$(MANDIR))
InstallManPage(glInterleavedArrays,$(MANDIR))
InstallManPage(glIsEnabled,$(MANDIR))
InstallManPage(glIslist,$(MANDIR))
InstallManPage(glIsTexture,$(MANDIR))
InstallManPage(glLight,$(MANDIR))
InstallManPageAliases(glLight,$(MANDIR),glLightf glLighti glLightfv glLightiv)
InstallManPage(glLightModel,$(MANDIR))
InstallManPageAliases(glLightModel,$(MANDIR),glLightModelf glLightModeli glLightModelfv glLightModeliv)
InstallManPage(glLineStipple,$(MANDIR))
InstallManPage(glLineWidth,$(MANDIR))
InstallManPage(glListBase,$(MANDIR))
InstallManPage(glLoadIdentity,$(MANDIR))
InstallManPage(glLoadMatrix,$(MANDIR))
InstallManPageAliases(glLoadMatrix,$(MANDIR),glLoadMatrixd glLoadMatrixf)
InstallManPage(glLoadName,$(MANDIR))
InstallManPage(glLogicOp,$(MANDIR))
InstallManPage(glMap1,$(MANDIR))
InstallManPageAliases(glMap1,$(MANDIR),glMap1d glMap1f)
InstallManPage(glMap2,$(MANDIR))
InstallManPageAliases(glMap2,$(MANDIR),glMap2d glMap2f)
InstallManPage(glMapGrid,$(MANDIR))
InstallManPageAliases(glMapGrid,$(MANDIR),glMapGrid1d glMapGrid1f glMapGrid2d glMapGrid2f)
InstallManPage(glMaterial,$(MANDIR))
InstallManPageAliases(glMaterial,$(MANDIR),glMaterialf glMateriali glMaterialfv glMaterialiv)
InstallManPage(glMatrixMode,$(MANDIR))
InstallManPage(glMinmax,$(MANDIR))
InstallManPage(glMultiTexCoordARB,$(MANDIR))
InstallManPageAliases(glMultiTexCoordARB,$(MANDIR),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)
InstallManPage(glMultMatrix,$(MANDIR))
InstallManPageAliases(glMultMatrix,$(MANDIR),glMultMatrixd glMultMatrixf)
InstallManPage(glNewList,$(MANDIR))
InstallManPageAliases(glNewList,$(MANDIR),glEndList)
InstallManPage(glNormal,$(MANDIR))
InstallManPageAliases(glNormal,$(MANDIR),glNormal3b glNormal3d glNormal3f glNormal3i glNormal3s glNormal3bv glNormal3dv glNormal3fv glNormal3iv glNormal3sv)
InstallManPage(glNormalPointer,$(MANDIR))
InstallManPage(glOrtho,$(MANDIR))
InstallManPage(glPassThrough,$(MANDIR))
InstallManPage(glPixelMap,$(MANDIR))
InstallManPageAliases(glPixelMap,$(MANDIR),glPixelMapfv glPixelMapuiv glPixelMapusv)
InstallManPage(glPixelStore,$(MANDIR))
InstallManPageAliases(glPixelStore,$(MANDIR),glPixelStoref glPixelStorei)
InstallManPage(glPixelTransfer,$(MANDIR))
InstallManPageAliases(glPixelTransfer,$(MANDIR),glPixelTransferf glPixelTransferi)
InstallManPage(glPixelZoom,$(MANDIR))
InstallManPage(glPointSize,$(MANDIR))
InstallManPage(glPolygonMode,$(MANDIR))
InstallManPage(glPolygonOffset,$(MANDIR))
InstallManPage(glPolygonStipple,$(MANDIR))
InstallManPage(glPrioritizeTextures,$(MANDIR))
InstallManPage(glPushAttrib,$(MANDIR))
InstallManPageAliases(glPushAttrib,$(MANDIR),glPopAttrib)
InstallManPage(glPushClientAttrib,$(MANDIR))
InstallManPageAliases(glPushClientAttrib,$(MANDIR),glPopClientAttrib)
InstallManPage(glPushMatrix,$(MANDIR))
InstallManPageAliases(glPushMatrix,$(MANDIR),glPopMatrix)
InstallManPage(glPushName,$(MANDIR))
InstallManPageAliases(glPushName,$(MANDIR),glPopName)
InstallManPage(glRasterPos,$(MANDIR))
InstallManPageAliases(glRasterPos,$(MANDIR),glRasterPos2d glRasterPos2f glRasterPos2i glRasterPos2s glRasterPos3d glRasterPos3f glRasterPos3i glRasterPos3s glRasterPos4d glRasterPos4f glRasterPos4i glRasterPos4s glRasterPos2dv glRasterPos2fv glRasterPos2iv glRasterPos2sv glRasterPos3dv glRasterPos3fv glRasterPos3iv glRasterPos3sv glRasterPos4dv glRasterPos4fv glRasterPos4iv glRasterPos4sv)
InstallManPage(glReadBuffer,$(MANDIR))
InstallManPage(glReadPixels,$(MANDIR))
InstallManPage(glRect,$(MANDIR))
InstallManPageAliases(glRect,$(MANDIR),glRectd glRectf glRecti glRects glRectdv glRectfv glRectiv glRectsv)
InstallManPage(glRenderMode,$(MANDIR))
InstallManPage(glResetHistogram,$(MANDIR))
InstallManPage(glResetMinmax,$(MANDIR))
InstallManPage(glRotate,$(MANDIR))
InstallManPageAliases(glRotate,$(MANDIR),glRotated glRotatef)
InstallManPage(glScale,$(MANDIR))
InstallManPageAliases(glScale,$(MANDIR),glScaled glScalef)
InstallManPage(glScissor,$(MANDIR))
InstallManPage(glSelectBuffer,$(MANDIR))
InstallManPage(glSeparableFilter2D,$(MANDIR))
InstallManPage(glShadeModel,$(MANDIR))
InstallManPage(glStencilFunc,$(MANDIR))
InstallManPage(glStencilMask,$(MANDIR))
InstallManPage(glStencilOp,$(MANDIR))
InstallManPage(glTexCoord,$(MANDIR))
InstallManPageAliases(glTexCoord,$(MANDIR),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)
InstallManPage(glTexCoordPointer,$(MANDIR))
InstallManPage(glTexEnv,$(MANDIR))
InstallManPageAliases(glTexEnv,$(MANDIR),glTexEnvf glTexEnvi glTexEnvfv glTexEnviv)
InstallManPage(glTexGen,$(MANDIR))
InstallManPageAliases(glTexGen,$(MANDIR),glTexGend glTexGenf glTexGeni glTexGendv glTexGenfv glTexGeniv)
InstallManPage(glTexImage1D,$(MANDIR))
InstallManPage(glTexImage2D,$(MANDIR))
InstallManPage(glTexImage3D,$(MANDIR))
InstallManPage(glTexParameter,$(MANDIR))
InstallManPageAliases(glTexParameter,$(MANDIR),glTexParameterf glTexParameteri glTexParameterfv glTexParameteriv)
InstallManPage(glTexSubImage1D,$(MANDIR))
InstallManPage(glTexSubImage2D,$(MANDIR))
InstallManPage(glTexSubImage3D,$(MANDIR))
InstallManPage(glTranslate,$(MANDIR))
InstallManPageAliases(glTranslate,$(MANDIR),glTranslated glTranslatef)
InstallManPage(glVertex,$(MANDIR))
InstallManPageAliases(glVertex,$(MANDIR),glVertex2d glVertex2f glVertex2i glVertex2s glVertex3d glVertex3f glVertex3i glVertex3s glVertex4d glVertex4f glVertex4i glVertex4s glVertex2dv glVertex2fv glVertex2iv glVertex2sv glVertex3dv glVertex3fv glVertex3iv glVertex3sv glVertex4dv glVertex4fv glVertex4iv glVertex4sv)
InstallManPage(glVertexPointer,$(MANDIR))
InstallManPage(glViewport,$(MANDIR))
#if 0
GLMANDIR = $(OGLSAMPLESRCDIR)/main/doc/man/mangl/standard
GLSUFFIX = gl
#else
GLMANDIR = .
GLSUFFIX = 3gl
#endif
LinkFile(glAccum.$(MSUFF), $(GLMANDIR)/accum.$(GLSUFFIX))
LinkFile(glActiveTextureARB.$(MSUFF), $(GLMANDIR)/activetextureARB.$(GLSUFFIX))
LinkFile(glAlphaFunc.$(MSUFF), $(GLMANDIR)/alphafunc.$(GLSUFFIX))
LinkFile(glAreTexturesResident.$(MSUFF), $(GLMANDIR)/aretexturesresident.$(GLSUFFIX))
LinkFile(glArrayElement.$(MSUFF), $(GLMANDIR)/arrayelement.$(GLSUFFIX))
LinkFile(glBegin.$(MSUFF), $(GLMANDIR)/begin.$(GLSUFFIX))
LinkFile(glBindTexture.$(MSUFF), $(GLMANDIR)/bindtexture.$(GLSUFFIX))
LinkFile(glBitmap.$(MSUFF), $(GLMANDIR)/bitmap.$(GLSUFFIX))
LinkFile(glBlendColor.$(MSUFF), $(GLMANDIR)/blendcolor.$(GLSUFFIX))
LinkFile(glBlendEquation.$(MSUFF), $(GLMANDIR)/blendequation.$(GLSUFFIX))
LinkFile(glBlendFunc.$(MSUFF), $(GLMANDIR)/blendfunc.$(GLSUFFIX))
LinkFile(glCallList.$(MSUFF), $(GLMANDIR)/calllist.$(GLSUFFIX))
LinkFile(glCallLists.$(MSUFF), $(GLMANDIR)/calllists.$(GLSUFFIX))
LinkFile(glClear.$(MSUFF), $(GLMANDIR)/clear.$(GLSUFFIX))
LinkFile(glClearAccum.$(MSUFF), $(GLMANDIR)/clearaccum.$(GLSUFFIX))
LinkFile(glClearColor.$(MSUFF), $(GLMANDIR)/clearcolor.$(GLSUFFIX))
LinkFile(glClearDepth.$(MSUFF), $(GLMANDIR)/cleardepth.$(GLSUFFIX))
LinkFile(glClearIndex.$(MSUFF), $(GLMANDIR)/clearindex.$(GLSUFFIX))
LinkFile(glClearStencil.$(MSUFF), $(GLMANDIR)/clearstencil.$(GLSUFFIX))
LinkFile(glClientActiveTextureARB.$(MSUFF), $(GLMANDIR)/clientactivetextureARB.$(GLSUFFIX))
LinkFile(glClipPlane.$(MSUFF), $(GLMANDIR)/clipplane.$(GLSUFFIX))
LinkFile(glColor.$(MSUFF), $(GLMANDIR)/color.$(GLSUFFIX))
LinkFile(glColorMask.$(MSUFF), $(GLMANDIR)/colormask.$(GLSUFFIX))
LinkFile(glColorMaterial.$(MSUFF), $(GLMANDIR)/colormaterial.$(GLSUFFIX))
LinkFile(glColorPointer.$(MSUFF), $(GLMANDIR)/colorpointer.$(GLSUFFIX))
LinkFile(glColorSubTable.$(MSUFF), $(GLMANDIR)/colorsubtable.$(GLSUFFIX))
LinkFile(glColorTable.$(MSUFF), $(GLMANDIR)/colortable.$(GLSUFFIX))
LinkFile(glColorTableParameter.$(MSUFF), $(GLMANDIR)/colortableparameter.$(GLSUFFIX))
LinkFile(glConvolutionFilter1D.$(MSUFF), $(GLMANDIR)/convolutionfilter1d.$(GLSUFFIX))
LinkFile(glConvolutionFilter2D.$(MSUFF), $(GLMANDIR)/convolutionfilter2d.$(GLSUFFIX))
LinkFile(glConvolutionParameter.$(MSUFF), $(GLMANDIR)/convolutionparameter.$(GLSUFFIX))
LinkFile(glCopyColorSubTable.$(MSUFF), $(GLMANDIR)/copycolorsubtable.$(GLSUFFIX))
LinkFile(glCopyColorTable.$(MSUFF), $(GLMANDIR)/copycolortable.$(GLSUFFIX))
LinkFile(glCopyConvolutionFilter1D.$(MSUFF), $(GLMANDIR)/copyconvolutionfilter1d.$(GLSUFFIX))
LinkFile(glCopyConvolutionFilter2D.$(MSUFF), $(GLMANDIR)/copyconvolutionfilter2d.$(GLSUFFIX))
LinkFile(glCopyPixels.$(MSUFF), $(GLMANDIR)/copypixels.$(GLSUFFIX))
LinkFile(glCopyTexImage1D.$(MSUFF), $(GLMANDIR)/copyteximage1d.$(GLSUFFIX))
LinkFile(glCopyTexImage2D.$(MSUFF), $(GLMANDIR)/copyteximage2d.$(GLSUFFIX))
LinkFile(glCopyTexSubImage1D.$(MSUFF), $(GLMANDIR)/copytexsubimage1d.$(GLSUFFIX))
LinkFile(glCopyTexSubImage2D.$(MSUFF), $(GLMANDIR)/copytexsubimage2d.$(GLSUFFIX))
LinkFile(glCopyTexSubImage3D.$(MSUFF), $(GLMANDIR)/copytexsubimage3d.$(GLSUFFIX))
LinkFile(glCullFace.$(MSUFF), $(GLMANDIR)/cullface.$(GLSUFFIX))
LinkFile(glDeleteLists.$(MSUFF), $(GLMANDIR)/deletelists.$(GLSUFFIX))
LinkFile(glDeleteTextures.$(MSUFF), $(GLMANDIR)/deletetextures.$(GLSUFFIX))
LinkFile(glDepthFunc.$(MSUFF), $(GLMANDIR)/depthfunc.$(GLSUFFIX))
LinkFile(glDepthMask.$(MSUFF), $(GLMANDIR)/depthmask.$(GLSUFFIX))
LinkFile(glDepthRange.$(MSUFF), $(GLMANDIR)/depthrange.$(GLSUFFIX))
LinkFile(glDrawArrays.$(MSUFF), $(GLMANDIR)/drawarrays.$(GLSUFFIX))
LinkFile(glDrawBuffer.$(MSUFF), $(GLMANDIR)/drawbuffer.$(GLSUFFIX))
LinkFile(glDrawElements.$(MSUFF), $(GLMANDIR)/drawelements.$(GLSUFFIX))
LinkFile(glDrawPixels.$(MSUFF), $(GLMANDIR)/drawpixels.$(GLSUFFIX))
LinkFile(glDrawRangeElements.$(MSUFF), $(GLMANDIR)/drawrangeelements.$(GLSUFFIX))
LinkFile(glEdgeFlag.$(MSUFF), $(GLMANDIR)/edgeflag.$(GLSUFFIX))
LinkFile(glEdgeFlagPointer.$(MSUFF), $(GLMANDIR)/edgeflagpointer.$(GLSUFFIX))
LinkFile(glEnable.$(MSUFF), $(GLMANDIR)/enable.$(GLSUFFIX))
LinkFile(glEnableClientState.$(MSUFF), $(GLMANDIR)/enableclientstate.$(GLSUFFIX))
LinkFile(glEvalCoord.$(MSUFF), $(GLMANDIR)/evalcoord.$(GLSUFFIX))
LinkFile(glEvalMesh.$(MSUFF), $(GLMANDIR)/evalmesh.$(GLSUFFIX))
LinkFile(glEvalPoint.$(MSUFF), $(GLMANDIR)/evalpoint.$(GLSUFFIX))
LinkFile(glFeedbackBuffer.$(MSUFF), $(GLMANDIR)/feedbackbuffer.$(GLSUFFIX))
LinkFile(glFinish.$(MSUFF), $(GLMANDIR)/finish.$(GLSUFFIX))
LinkFile(glFlush.$(MSUFF), $(GLMANDIR)/flush.$(GLSUFFIX))
LinkFile(glFog.$(MSUFF), $(GLMANDIR)/fog.$(GLSUFFIX))
LinkFile(glFrontFace.$(MSUFF), $(GLMANDIR)/frontface.$(GLSUFFIX))
LinkFile(glFrustum.$(MSUFF), $(GLMANDIR)/frustum.$(GLSUFFIX))
LinkFile(glGenLists.$(MSUFF), $(GLMANDIR)/genlists.$(GLSUFFIX))
LinkFile(glGenTextures.$(MSUFF), $(GLMANDIR)/gentextures.$(GLSUFFIX))
LinkFile(glGet.$(MSUFF), $(GLMANDIR)/get.$(GLSUFFIX))
LinkFile(glGetClipPlane.$(MSUFF), $(GLMANDIR)/getclipplane.$(GLSUFFIX))
LinkFile(glGetColorTable.$(MSUFF), $(GLMANDIR)/getcolortable.$(GLSUFFIX))
LinkFile(glGetColorTableParameter.$(MSUFF), $(GLMANDIR)/getcolortableparameter.$(GLSUFFIX))
LinkFile(glGetConvolutionFilter.$(MSUFF), $(GLMANDIR)/getconvolutionfilter.$(GLSUFFIX))
LinkFile(glGetConvolutionParameter.$(MSUFF), $(GLMANDIR)/getconvolutionparameter.$(GLSUFFIX))
LinkFile(glGetError.$(MSUFF), $(GLMANDIR)/geterror.$(GLSUFFIX))
LinkFile(glGetHistogram.$(MSUFF), $(GLMANDIR)/gethistogram.$(GLSUFFIX))
LinkFile(glGetHistogramParameter.$(MSUFF), $(GLMANDIR)/gethistogramparameter.$(GLSUFFIX))
LinkFile(glGetLight.$(MSUFF), $(GLMANDIR)/getlight.$(GLSUFFIX))
LinkFile(glGetMap.$(MSUFF), $(GLMANDIR)/getmap.$(GLSUFFIX))
LinkFile(glGetMaterial.$(MSUFF), $(GLMANDIR)/getmaterial.$(GLSUFFIX))
LinkFile(glGetMinmax.$(MSUFF), $(GLMANDIR)/getminmax.$(GLSUFFIX))
LinkFile(glGetMinmaxParameter.$(MSUFF), $(GLMANDIR)/getminmaxparameter.$(GLSUFFIX))
LinkFile(glGetPixelMap.$(MSUFF), $(GLMANDIR)/getpixelmap.$(GLSUFFIX))
LinkFile(glGetPointerv.$(MSUFF), $(GLMANDIR)/getpointerv.$(GLSUFFIX))
LinkFile(glGetPolygonStipple.$(MSUFF), $(GLMANDIR)/getpolygonstipple.$(GLSUFFIX))
LinkFile(glGetSeparableFilter.$(MSUFF), $(GLMANDIR)/getseparablefilter.$(GLSUFFIX))
LinkFile(glGetString.$(MSUFF), $(GLMANDIR)/getstring.$(GLSUFFIX))
LinkFile(glGetTexEnv.$(MSUFF), $(GLMANDIR)/gettexenv.$(GLSUFFIX))
LinkFile(glGetTexGen.$(MSUFF), $(GLMANDIR)/gettexgen.$(GLSUFFIX))
LinkFile(glGetTexImage.$(MSUFF), $(GLMANDIR)/getteximage.$(GLSUFFIX))
LinkFile(glGetTexLevelParameter.$(MSUFF), $(GLMANDIR)/gettexlevelparameter.$(GLSUFFIX))
LinkFile(glGetTexParameter.$(MSUFF), $(GLMANDIR)/gettexparameter.$(GLSUFFIX))
LinkFile(glHint.$(MSUFF), $(GLMANDIR)/hint.$(GLSUFFIX))
LinkFile(glHistogram.$(MSUFF), $(GLMANDIR)/histogram.$(GLSUFFIX))
LinkFile(glIndex.$(MSUFF), $(GLMANDIR)/index.$(GLSUFFIX))
LinkFile(glIndexMask.$(MSUFF), $(GLMANDIR)/indexmask.$(GLSUFFIX))
LinkFile(glIndexPointer.$(MSUFF), $(GLMANDIR)/indexpointer.$(GLSUFFIX))
LinkFile(glInitNames.$(MSUFF), $(GLMANDIR)/initnames.$(GLSUFFIX))
LinkFile(glInterleavedArrays.$(MSUFF), $(GLMANDIR)/interleavedarrays.$(GLSUFFIX))
LinkFile(glIsEnabled.$(MSUFF), $(GLMANDIR)/isenabled.$(GLSUFFIX))
LinkFile(glIslist.$(MSUFF), $(GLMANDIR)/islist.$(GLSUFFIX))
LinkFile(glIsTexture.$(MSUFF), $(GLMANDIR)/istexture.$(GLSUFFIX))
LinkFile(glLight.$(MSUFF), $(GLMANDIR)/light.$(GLSUFFIX))
LinkFile(glLightModel.$(MSUFF), $(GLMANDIR)/lightmodel.$(GLSUFFIX))
LinkFile(glLineStipple.$(MSUFF), $(GLMANDIR)/linestipple.$(GLSUFFIX))
LinkFile(glLineWidth.$(MSUFF), $(GLMANDIR)/linewidth.$(GLSUFFIX))
LinkFile(glListBase.$(MSUFF), $(GLMANDIR)/listbase.$(GLSUFFIX))
LinkFile(glLoadIdentity.$(MSUFF), $(GLMANDIR)/loadidentity.$(GLSUFFIX))
LinkFile(glLoadMatrix.$(MSUFF), $(GLMANDIR)/loadmatrix.$(GLSUFFIX))
LinkFile(glLoadName.$(MSUFF), $(GLMANDIR)/loadname.$(GLSUFFIX))
LinkFile(glLogicOp.$(MSUFF), $(GLMANDIR)/logicop.$(GLSUFFIX))
LinkFile(glMap1.$(MSUFF), $(GLMANDIR)/map1.$(GLSUFFIX))
LinkFile(glMap2.$(MSUFF), $(GLMANDIR)/map2.$(GLSUFFIX))
LinkFile(glMapGrid.$(MSUFF), $(GLMANDIR)/mapgrid.$(GLSUFFIX))
LinkFile(glMaterial.$(MSUFF), $(GLMANDIR)/material.$(GLSUFFIX))
LinkFile(glMatrixMode.$(MSUFF), $(GLMANDIR)/matrixmode.$(GLSUFFIX))
LinkFile(glMinmax.$(MSUFF), $(GLMANDIR)/minmax.$(GLSUFFIX))
LinkFile(glMultiTexCoordARB.$(MSUFF), $(GLMANDIR)/multitexcoordARB.$(GLSUFFIX))
LinkFile(glMultMatrix.$(MSUFF), $(GLMANDIR)/multmatrix.$(GLSUFFIX))
LinkFile(glNewList.$(MSUFF), $(GLMANDIR)/newlist.$(GLSUFFIX))
LinkFile(glNormal.$(MSUFF), $(GLMANDIR)/normal.$(GLSUFFIX))
LinkFile(glNormalPointer.$(MSUFF), $(GLMANDIR)/normalpointer.$(GLSUFFIX))
LinkFile(glOrtho.$(MSUFF), $(GLMANDIR)/ortho.$(GLSUFFIX))
LinkFile(glPassThrough.$(MSUFF), $(GLMANDIR)/passthrough.$(GLSUFFIX))
LinkFile(glPixelMap.$(MSUFF), $(GLMANDIR)/pixelmap.$(GLSUFFIX))
LinkFile(glPixelStore.$(MSUFF), $(GLMANDIR)/pixelstore.$(GLSUFFIX))
LinkFile(glPixelTransfer.$(MSUFF), $(GLMANDIR)/pixeltransfer.$(GLSUFFIX))
LinkFile(glPixelZoom.$(MSUFF), $(GLMANDIR)/pixelzoom.$(GLSUFFIX))
LinkFile(glPointSize.$(MSUFF), $(GLMANDIR)/pointsize.$(GLSUFFIX))
LinkFile(glPolygonMode.$(MSUFF), $(GLMANDIR)/polygonmode.$(GLSUFFIX))
LinkFile(glPolygonOffset.$(MSUFF), $(GLMANDIR)/polygonoffset.$(GLSUFFIX))
LinkFile(glPolygonStipple.$(MSUFF), $(GLMANDIR)/polygonstipple.$(GLSUFFIX))
LinkFile(glPrioritizeTextures.$(MSUFF), $(GLMANDIR)/prioritizetextures.$(GLSUFFIX))
LinkFile(glPushAttrib.$(MSUFF), $(GLMANDIR)/pushattrib.$(GLSUFFIX))
LinkFile(glPushClientAttrib.$(MSUFF), $(GLMANDIR)/pushclientattrib.$(GLSUFFIX))
LinkFile(glPushMatrix.$(MSUFF), $(GLMANDIR)/pushmatrix.$(GLSUFFIX))
LinkFile(glPushName.$(MSUFF), $(GLMANDIR)/pushname.$(GLSUFFIX))
LinkFile(glRasterPos.$(MSUFF), $(GLMANDIR)/rasterpos.$(GLSUFFIX))
LinkFile(glReadBuffer.$(MSUFF), $(GLMANDIR)/readbuffer.$(GLSUFFIX))
LinkFile(glReadPixels.$(MSUFF), $(GLMANDIR)/readpixels.$(GLSUFFIX))
LinkFile(glRect.$(MSUFF), $(GLMANDIR)/rect.$(GLSUFFIX))
LinkFile(glRenderMode.$(MSUFF), $(GLMANDIR)/rendermode.$(GLSUFFIX))
LinkFile(glResetHistogram.$(MSUFF), $(GLMANDIR)/resethistogram.$(GLSUFFIX))
LinkFile(glResetMinmax.$(MSUFF), $(GLMANDIR)/resetminmax.$(GLSUFFIX))
LinkFile(glRotate.$(MSUFF), $(GLMANDIR)/rotate.$(GLSUFFIX))
LinkFile(glScale.$(MSUFF), $(GLMANDIR)/scale.$(GLSUFFIX))
LinkFile(glScissor.$(MSUFF), $(GLMANDIR)/scissor.$(GLSUFFIX))
LinkFile(glSelectBuffer.$(MSUFF), $(GLMANDIR)/selectbuffer.$(GLSUFFIX))
LinkFile(glSeparableFilter2D.$(MSUFF), $(GLMANDIR)/separablefilter2d.$(GLSUFFIX))
LinkFile(glShadeModel.$(MSUFF), $(GLMANDIR)/shademodel.$(GLSUFFIX))
LinkFile(glStencilFunc.$(MSUFF), $(GLMANDIR)/stencilfunc.$(GLSUFFIX))
LinkFile(glStencilMask.$(MSUFF), $(GLMANDIR)/stencilmask.$(GLSUFFIX))
LinkFile(glStencilOp.$(MSUFF), $(GLMANDIR)/stencilop.$(GLSUFFIX))
LinkFile(glTexCoord.$(MSUFF), $(GLMANDIR)/texcoord.$(GLSUFFIX))
LinkFile(glTexCoordPointer.$(MSUFF), $(GLMANDIR)/texcoordpointer.$(GLSUFFIX))
LinkFile(glTexEnv.$(MSUFF), $(GLMANDIR)/texenv.$(GLSUFFIX))
LinkFile(glTexGen.$(MSUFF), $(GLMANDIR)/texgen.$(GLSUFFIX))
LinkFile(glTexImage1D.$(MSUFF), $(GLMANDIR)/teximage1d.$(GLSUFFIX))
LinkFile(glTexImage2D.$(MSUFF), $(GLMANDIR)/teximage2d.$(GLSUFFIX))
LinkFile(glTexImage3D.$(MSUFF), $(GLMANDIR)/teximage3d.$(GLSUFFIX))
LinkFile(glTexParameter.$(MSUFF), $(GLMANDIR)/texparameter.$(GLSUFFIX))
LinkFile(glTexSubImage1D.$(MSUFF), $(GLMANDIR)/texsubimage1d.$(GLSUFFIX))
LinkFile(glTexSubImage2D.$(MSUFF), $(GLMANDIR)/texsubimage2d.$(GLSUFFIX))
LinkFile(glTexSubImage3D.$(MSUFF), $(GLMANDIR)/texsubimage3d.$(GLSUFFIX))
LinkFile(glTranslate.$(MSUFF), $(GLMANDIR)/translate.$(GLSUFFIX))
LinkFile(glVertex.$(MSUFF), $(GLMANDIR)/vertex.$(GLSUFFIX))
LinkFile(glVertexPointer.$(MSUFF), $(GLMANDIR)/vertexpointer.$(GLSUFFIX))
LinkFile(glViewport.$(MSUFF), $(GLMANDIR)/viewport.$(GLSUFFIX))

View file

@ -1,450 +0,0 @@
# $OpenBSD: Makefile,v 1.1 2012/08/07 21:10:35 matthieu Exp $
X11BASE?= /usr/X11R6
MANDIR?= ${X11BASE}/man/man
MAN += glAccum.3 accum.3gl
MAN += glActiveTextureARB.3 activetextureARB.3gl
MAN += glAlphaFunc.3 alphafunc.3gl
MAN += glAreTexturesResident.3 aretexturesresident.3gl
MAN += glArrayElement.3 arrayelement.3gl
MAN += glBegin.3 begin.3gl
MAN += glBindTexture.3 bindtexture.3gl
MAN += glBitmap.3 bitmap.3gl
MAN += glBlendColor.3 blendcolor.3gl
MAN += glBlendEquation.3 blendequation.3gl
MAN += glBlendFunc.3 blendfunc.3gl
MAN += glCallList.3 calllist.3gl
MAN += glCallLists.3 calllists.3gl
MAN += glClear.3 clear.3gl
MAN += glClearAccum.3 clearaccum.3gl
MAN += glClearColor.3 clearcolor.3gl
MAN += glClearDepth.3 cleardepth.3gl
MAN += glClearIndex.3 clearindex.3gl
MAN += glClearStencil.3 clearstencil.3gl
MAN += glClientActiveTextureARB.3 clientactivetextureARB.3gl
MAN += glClipPlane.3 clipplane.3gl
MAN += glColor.3 color.3gl
MAN += glColorMask.3 colormask.3gl
MAN += glColorMaterial.3 colormaterial.3gl
MAN += glColorPointer.3 colorpointer.3gl
MAN += glColorSubTable.3 colorsubtable.3gl
MAN += glColorTable.3 colortable.3gl
MAN += glColorTableParameter.3 colortableparameter.3gl
MAN += glConvolutionFilter1D.3 convolutionfilter1d.3gl
MAN += glConvolutionFilter2D.3 convolutionfilter2d.3gl
MAN += glConvolutionParameter.3 convolutionparameter.3gl
MAN += glCopyColorSubTable.3 copycolorsubtable.3gl
MAN += glCopyColorTable.3 copycolortable.3gl
MAN += glCopyConvolutionFilter1D.3 copyconvolutionfilter1d.3gl
MAN += glCopyConvolutionFilter2D.3 copyconvolutionfilter2d.3gl
MAN += glCopyPixels.3 copypixels.3gl
MAN += glCopyTexImage1D.3 copyteximage1d.3gl
MAN += glCopyTexImage2D.3 copyteximage2d.3gl
MAN += glCopyTexSubImage1D.3 copytexsubimage1d.3gl
MAN += glCopyTexSubImage2D.3 copytexsubimage2d.3gl
MAN += glCopyTexSubImage3D.3 copytexsubimage3d.3gl
MAN += glCullFace.3 cullface.3gl
MAN += glDeleteLists.3 deletelists.3gl
MAN += glDeleteTextures.3 deletetextures.3gl
MAN += glDepthFunc.3 depthfunc.3gl
MAN += glDepthMask.3 depthmask.3gl
MAN += glDepthRange.3 depthrange.3gl
MAN += glDrawArrays.3 drawarrays.3gl
MAN += glDrawBuffer.3 drawbuffer.3gl
MAN += glDrawElements.3 drawelements.3gl
MAN += glDrawPixels.3 drawpixels.3gl
MAN += glDrawRangeElements.3 drawrangeelements.3gl
MAN += glEdgeFlag.3 edgeflag.3gl
MAN += glEdgeFlagPointer.3 edgeflagpointer.3gl
MAN += glEnable.3 enable.3gl
MAN += glEnableClientState.3 enableclientstate.3gl
MAN += glEvalCoord.3 evalcoord.3gl
MAN += glEvalMesh.3 evalmesh.3gl
MAN += glEvalPoint.3 evalpoint.3gl
MAN += glFeedbackBuffer.3 feedbackbuffer.3gl
MAN += glFinish.3 finish.3gl
MAN += glFlush.3 flush.3gl
MAN += glFog.3 fog.3gl
MAN += glFrontFace.3 frontface.3gl
MAN += glFrustum.3 frustum.3gl
MAN += glGenLists.3 genlists.3gl
MAN += glGenTextures.3 gentextures.3gl
MAN += glGet.3 get.3gl
MAN += glGetClipPlane.3 getclipplane.3gl
MAN += glGetColorTable.3 getcolortable.3gl
MAN += glGetColorTableParameter.3 getcolortableparameter.3gl
MAN += glGetConvolutionFilter.3 getconvolutionfilter.3gl
MAN += glGetConvolutionParameter.3 getconvolutionparameter.3gl
MAN += glGetError.3 geterror.3gl
MAN += glGetHistogram.3 gethistogram.3gl
MAN += glGetHistogramParameter.3 gethistogramparameter.3gl
MAN += glGetLight.3 getlight.3gl
MAN += glGetMap.3 getmap.3gl
MAN += glGetMaterial.3 getmaterial.3gl
MAN += glGetMinmax.3 getminmax.3gl
MAN += glGetMinmaxParameter.3 getminmaxparameter.3gl
MAN += glGetPixelMap.3 getpixelmap.3gl
MAN += glGetPointerv.3 getpointerv.3gl
MAN += glGetPolygonStipple.3 getpolygonstipple.3gl
MAN += glGetSeparableFilter.3 getseparablefilter.3gl
MAN += glGetString.3 getstring.3gl
MAN += glGetTexEnv.3 gettexenv.3gl
MAN += glGetTexGen.3 gettexgen.3gl
MAN += glGetTexImage.3 getteximage.3gl
MAN += glGetTexLevelParameter.3 gettexlevelparameter.3gl
MAN += glGetTexParameter.3 gettexparameter.3gl
MAN += glHint.3 hint.3gl
MAN += glHistogram.3 histogram.3gl
MAN += glIndex.3 index.3gl
MAN += glIndexMask.3 indexmask.3gl
MAN += glIndexPointer.3 indexpointer.3gl
MAN += glInitNames.3 initnames.3gl
MAN += glInterleavedArrays.3 interleavedarrays.3gl
MAN += glIsEnabled.3 isenabled.3gl
MAN += glIslist.3 islist.3gl
MAN += glIsTexture.3 istexture.3gl
MAN += glLight.3 light.3gl
MAN += glLightModel.3 lightmodel.3gl
MAN += glLineStipple.3 linestipple.3gl
MAN += glLineWidth.3 linewidth.3gl
MAN += glListBase.3 listbase.3gl
MAN += glLoadIdentity.3 loadidentity.3gl
MAN += glLoadMatrix.3 loadmatrix.3gl
MAN += glLoadName.3 loadname.3gl
MAN += glLogicOp.3 logicop.3gl
MAN += glMap1.3 map1.3gl
MAN += glMap2.3 map2.3gl
MAN += glMapGrid.3 mapgrid.3gl
MAN += glMaterial.3 material.3gl
MAN += glMatrixMode.3 matrixmode.3gl
MAN += glMinmax.3 minmax.3gl
MAN += glMultiTexCoordARB.3 multitexcoordARB.3gl
MAN += glMultMatrix.3 multmatrix.3gl
MAN += glNewList.3 newlist.3gl
MAN += glNormal.3 normal.3gl
MAN += glNormalPointer.3 normalpointer.3gl
MAN += glOrtho.3 ortho.3gl
MAN += glPassThrough.3 passthrough.3gl
MAN += glPixelMap.3 pixelmap.3gl
MAN += glPixelStore.3 pixelstore.3gl
MAN += glPixelTransfer.3 pixeltransfer.3gl
MAN += glPixelZoom.3 pixelzoom.3gl
MAN += glPointSize.3 pointsize.3gl
MAN += glPolygonMode.3 polygonmode.3gl
MAN += glPolygonOffset.3 polygonoffset.3gl
MAN += glPolygonStipple.3 polygonstipple.3gl
MAN += glPrioritizeTextures.3 prioritizetextures.3gl
MAN += glPushAttrib.3 pushattrib.3gl
MAN += glPushClientAttrib.3 pushclientattrib.3gl
MAN += glPushMatrix.3 pushmatrix.3gl
MAN += glPushName.3 pushname.3gl
MAN += glRasterPos.3 rasterpos.3gl
MAN += glReadBuffer.3 readbuffer.3gl
MAN += glReadPixels.3 readpixels.3gl
MAN += glRect.3 rect.3gl
MAN += glRenderMode.3 rendermode.3gl
MAN += glResetHistogram.3 resethistogram.3gl
MAN += glResetMinmax.3 resetminmax.3gl
MAN += glRotate.3 rotate.3gl
MAN += glScale.3 scale.3gl
MAN += glScissor.3 scissor.3gl
MAN += glSelectBuffer.3 selectbuffer.3gl
MAN += glSeparableFilter2D.3 separablefilter2d.3gl
MAN += glShadeModel.3 shademodel.3gl
MAN += glStencilFunc.3 stencilfunc.3gl
MAN += glStencilMask.3 stencilmask.3gl
MAN += glStencilOp.3 stencilop.3gl
MAN += glTexCoord.3 texcoord.3gl
MAN += glTexCoordPointer.3 texcoordpointer.3gl
MAN += glTexEnv.3 texenv.3gl
MAN += glTexGen.3 texgen.3gl
MAN += glTexImage1D.3 teximage1d.3gl
MAN += glTexImage2D.3 teximage2d.3gl
MAN += glTexImage3D.3 teximage3d.3gl
MAN += glTexParameter.3 texparameter.3gl
MAN += glTexSubImage1D.3 texsubimage1d.3gl
MAN += glTexSubImage2D.3 texsubimage2d.3gl
MAN += glTexSubImage3D.3 texsubimage3d.3gl
MAN += glTranslate.3 translate.3gl
MAN += glVertex.3 vertex.3gl
MAN += glVertexPointer.3 vertexpointer.3gl
MAN += glViewport.3 viewport.3gl
LINKS += glBegin.3 glEnd.3
LINKS += glColor.3 glColor3b.3
LINKS += glColor.3 glColor3d.3
LINKS += glColor.3 glColor3f.3
LINKS += glColor.3 glColor3i.3
LINKS += glColor.3 glColor3s.3
LINKS += glColor.3 glColor3ub.3
LINKS += glColor.3 glColor3ui.3
LINKS += glColor.3 glColor3us.3
LINKS += glColor.3 glColor4b.3
LINKS += glColor.3 glColor4d.3
LINKS += glColor.3 glColor4f.3
LINKS += glColor.3 glColor4i.3
LINKS += glColor.3 glColor4s.3
LINKS += glColor.3 glColor4ub.3
LINKS += glColor.3 glColor4ui.3
LINKS += glColor.3 glColor4us.3
LINKS += glColor.3 glColor3bv.3
LINKS += glColor.3 glColor3dv.3
LINKS += glColor.3 glColor3fv.3
LINKS += glColor.3 glColor3iv.3
LINKS += glColor.3 glColor3sv.3
LINKS += glColor.3 glColor3ubv.3
LINKS += glColor.3 glColor3uiv.3
LINKS += glColor.3 glColor3usv.3
LINKS += glColor.3 glColor4bv.3
LINKS += glColor.3 glColor4dv.3
LINKS += glColor.3 glColor4fv.3
LINKS += glColor.3 glColor4iv.3
LINKS += glColor.3 glColor4sv.3
LINKS += glColor.3 glColor4ubv.3
LINKS += glColor.3 glColor4uiv.3
LINKS += glColor.3 glColor4usv.3
LINKS += glColorTableParameter.3 glColorTableParameterfv.3
LINKS += glColorTableParameter.3 glColorTableParameteriv.3
LINKS += glEdgeFlag.3 glEdgeFlagv.3
LINKS += glEnable.3 glDisable.3
LINKS += glEnableClientState.3 glDisableClientState.3
LINKS += glEvalCoord.3 glEvalCoord1d.3
LINKS += glEvalCoord.3 glEvalCoord2d.3
LINKS += glEvalCoord.3 glEvalCoord2f.3
LINKS += glEvalCoord.3 glEvalCoord1dv.3
LINKS += glEvalCoord.3 glEvalCoord1fv.3
LINKS += glEvalCoord.3 glEvalCoord2dv.3
LINKS += glEvalCoord.3 glEvalCoord2fv.3
LINKS += glEvalMesh.3 glEvalMesh1.3
LINKS += glEvalMesh.3 glEvalMesh2.3
LINKS += glEvalPoint.3 glEvalPoint1.3
LINKS += glEvalPoint.3 glEvalPoint2.3
LINKS += glFog.3 glFogf.3
LINKS += glFog.3 glFogi.3
LINKS += glFog.3 glFogfv.3
LINKS += glFog.3 glFogiv.3
LINKS += glGet.3 glGetBooleanv.3
LINKS += glGet.3 glGetDoublev.3
LINKS += glGet.3 glGetFloatv.3
LINKS += glGet.3 glGetIntegerv.3
LINKS += glGetColorTableParameter.3 glGetColorTableParameterfv.3
LINKS += glGetColorTableParameter.3 glGetColorTableParameteriv.3
LINKS += glGetLight.3 glGetLightfv.3
LINKS += glGetLight.3 glGetLightiv.3
LINKS += glGetMap.3 glGetMapdv.3
LINKS += glGetMap.3 glGetMapfv.3
LINKS += glGetMap.3 glGetMapiv.3
LINKS += glGetMaterial.3 glGetMaterialfv.3
LINKS += glGetMaterial.3 glGetMaterialiv.3
LINKS += glGetPixelMap.3 glGetPixelMapfv.3
LINKS += glGetPixelMap.3 glGetPixelMapuiv.3
LINKS += glGetPixelMap.3 glGetPixelMapusv.3
LINKS += glGetTexEnv.3 glGetTexEnvfv.3
LINKS += glGetTexEnv.3 glGetTexEnviv.3
LINKS += glGetTexGen.3 glGetTexGendv.3
LINKS += glGetTexGen.3 glGetTexGenfv.3
LINKS += glGetTexGen.3 glGetTexGeniv.3
LINKS += glGetTexLevelParameter.3 glGetTexLevelParameterfv.3
LINKS += glGetTexLevelParameter.3 glGetTexLevelParameteriv.3
LINKS += glGetTexParameter.3 glGetTexParameterfv.3
LINKS += glGetTexParameter.3 glGetTexParameteriv.3
LINKS += glIndex.3 glIndexd.3
LINKS += glIndex.3 glIndexf.3
LINKS += glIndex.3 glIndexi.3
LINKS += glIndex.3 glIndexs.3
LINKS += glIndex.3 glIndexub.3
LINKS += glIndex.3 glIndexdv.3
LINKS += glIndex.3 glIndexfv.3
LINKS += glIndex.3 glIndexiv.3
LINKS += glIndex.3 glIndexsv.3
LINKS += glIndex.3 glIndexubv.3
LINKS += glLight.3 glLightf.3
LINKS += glLight.3 glLighti.3
LINKS += glLight.3 glLightfv.3
LINKS += glLight.3 glLightiv.3
LINKS += glLightModel.3 glLightModelf.3
LINKS += glLightModel.3 glLightModeli.3
LINKS += glLightModel.3 glLightModelfv.3
LINKS += glLightModel.3 glLightModeliv.3
LINKS += glLoadMatrix.3 glLoadMatrixd.3
LINKS += glLoadMatrix.3 glLoadMatrixf.3
LINKS += glMap1.3 glMap1d.3
LINKS += glMap1.3 glMap1f.3
LINKS += glMap2.3 glMap2d.3
LINKS += glMap2.3 glMap2f.3
LINKS += glMapGrid.3 glMapGrid1d.3
LINKS += glMapGrid.3 glMapGrid1f.3
LINKS += glMapGrid.3 glMapGrid2d.3
LINKS += glMapGrid.3 glMapGrid2f.3
LINKS += glMaterial.3 glMaterialf.3
LINKS += glMaterial.3 glMateriali.3
LINKS += glMaterial.3 glMaterialfv.3
LINKS += glMaterial.3 glMaterialiv.3
LINKS += glMultMatrix.3 glMultMatrixd.3
LINKS += glMultMatrix.3 glMultMatrixf.3
LINKS += glMultiTexCoordARB.3 glMultiTexCoord1dARB.3
LINKS += glMultiTexCoordARB.3 glMultiTexCoord1dvARB.3
LINKS += glMultiTexCoordARB.3 glMultiTexCoord1fARB.3
LINKS += glMultiTexCoordARB.3 glMultiTexCoord1fvARB.3
LINKS += glMultiTexCoordARB.3 glMultiTexCoord1iARB.3
LINKS += glMultiTexCoordARB.3 glMultiTexCoord1ivARB.3
LINKS += glMultiTexCoordARB.3 glMultiTexCoord1sARB.3
LINKS += glMultiTexCoordARB.3 glMultiTexCoord1svARB.3
LINKS += glMultiTexCoordARB.3 glMultiTexCoord2dARB.3
LINKS += glMultiTexCoordARB.3 glMultiTexCoord2dvARB.3
LINKS += glMultiTexCoordARB.3 glMultiTexCoord2fARB.3
LINKS += glMultiTexCoordARB.3 glMultiTexCoord2fvARB.3
LINKS += glMultiTexCoordARB.3 glMultiTexCoord2iARB.3
LINKS += glMultiTexCoordARB.3 glMultiTexCoord2ivARB.3
LINKS += glMultiTexCoordARB.3 glMultiTexCoord2sARB.3
LINKS += glMultiTexCoordARB.3 glMultiTexCoord2svARB.3
LINKS += glMultiTexCoordARB.3 glMultiTexCoord3dARB.3
LINKS += glMultiTexCoordARB.3 glMultiTexCoord3dvARB.3
LINKS += glMultiTexCoordARB.3 glMultiTexCoord3fARB.3
LINKS += glMultiTexCoordARB.3 glMultiTexCoord3fvARB.3
LINKS += glMultiTexCoordARB.3 glMultiTexCoord3iARB.3
LINKS += glMultiTexCoordARB.3 glMultiTexCoord3ivARB.3
LINKS += glMultiTexCoordARB.3 glMultiTexCoord3sARB.3
LINKS += glMultiTexCoordARB.3 glMultiTexCoord3svARB.3
LINKS += glMultiTexCoordARB.3 glMultiTexCoord4dARB.3
LINKS += glMultiTexCoordARB.3 glMultiTexCoord4dvARB.3
LINKS += glMultiTexCoordARB.3 glMultiTexCoord4fARB.3
LINKS += glMultiTexCoordARB.3 glMultiTexCoord4fvARB.3
LINKS += glMultiTexCoordARB.3 glMultiTexCoord4iARB.3
LINKS += glMultiTexCoordARB.3 glMultiTexCoord4ivARB.3
LINKS += glMultiTexCoordARB.3 glMultiTexCoord4sARB.3
LINKS += glMultiTexCoordARB.3 glMultiTexCoord4svARB.3
LINKS += glNewList.3 glEndList.3
LINKS += glNormal.3 glNormal3b.3
LINKS += glNormal.3 glNormal3d.3
LINKS += glNormal.3 glNormal3f.3
LINKS += glNormal.3 glNormal3i.3
LINKS += glNormal.3 glNormal3s.3
LINKS += glNormal.3 glNormal3bv.3
LINKS += glNormal.3 glNormal3dv.3
LINKS += glNormal.3 glNormal3fv.3
LINKS += glNormal.3 glNormal3iv.3
LINKS += glNormal.3 glNormal3sv.3
LINKS += glPixelMap.3 glPixelMapfv.3
LINKS += glPixelMap.3 glPixelMapuiv.3
LINKS += glPixelMap.3 glPixelMapusv.3
LINKS += glPixelStore.3 glPixelStoref.3
LINKS += glPixelStore.3 glPixelStorei.3
LINKS += glPixelTransfer.3 glPixelTransferf.3
LINKS += glPixelTransfer.3 glPixelTransferi.3
LINKS += glPushAttrib.3 glPopAttrib.3
LINKS += glPushClientAttrib.3 glPopClientAttrib.3
LINKS += glPushMatrix.3 glPopMatrix.3
LINKS += glPushName.3 glPopName.3
LINKS += glRasterPos.3 glRasterPos2d.3
LINKS += glRasterPos.3 glRasterPos2f.3
LINKS += glRasterPos.3 glRasterPos2i.3
LINKS += glRasterPos.3 glRasterPos2s.3
LINKS += glRasterPos.3 glRasterPos3d.3
LINKS += glRasterPos.3 glRasterPos3f.3
LINKS += glRasterPos.3 glRasterPos3i.3
LINKS += glRasterPos.3 glRasterPos3s.3
LINKS += glRasterPos.3 glRasterPos4d.3
LINKS += glRasterPos.3 glRasterPos4f.3
LINKS += glRasterPos.3 glRasterPos4i.3
LINKS += glRasterPos.3 glRasterPos4s.3
LINKS += glRasterPos.3 glRasterPos2dv.3
LINKS += glRasterPos.3 glRasterPos2fv.3
LINKS += glRasterPos.3 glRasterPos2iv.3
LINKS += glRasterPos.3 glRasterPos2sv.3
LINKS += glRasterPos.3 glRasterPos3dv.3
LINKS += glRasterPos.3 glRasterPos3fv.3
LINKS += glRasterPos.3 glRasterPos3iv.3
LINKS += glRasterPos.3 glRasterPos3sv.3
LINKS += glRasterPos.3 glRasterPos4dv.3
LINKS += glRasterPos.3 glRasterPos4fv.3
LINKS += glRasterPos.3 glRasterPos4iv.3
LINKS += glRasterPos.3 glRasterPos4sv.3
LINKS += glRect.3 glRectd.3
LINKS += glRect.3 glRectf.3
LINKS += glRect.3 glRecti.3
LINKS += glRect.3 glRects.3
LINKS += glRect.3 glRectdv.3
LINKS += glRect.3 glRectfv.3
LINKS += glRect.3 glRectiv.3
LINKS += glRect.3 glRectsv.3
LINKS += glRotate.3 glRotated.3
LINKS += glRotate.3 glRotatef.3
LINKS += glScale.3 glScaled.3
LINKS += glScale.3 glScalef.3
LINKS += glTexCoord.3 glTexCoord1d.3
LINKS += glTexCoord.3 glTexCoord1f.3
LINKS += glTexCoord.3 glTexCoord1i.3
LINKS += glTexCoord.3 glTexCoord1s.3
LINKS += glTexCoord.3 glTexCoord2d.3
LINKS += glTexCoord.3 glTexCoord2f.3
LINKS += glTexCoord.3 glTexCoord2i.3
LINKS += glTexCoord.3 glTexCoord2s.3
LINKS += glTexCoord.3 glTexCoord3d.3
LINKS += glTexCoord.3 glTexCoord3f.3
LINKS += glTexCoord.3 glTexCoord3i.3
LINKS += glTexCoord.3 glTexCoord3s.3
LINKS += glTexCoord.3 glTexCoord4d.3
LINKS += glTexCoord.3 glTexCoord4f.3
LINKS += glTexCoord.3 glTexCoord4i.3
LINKS += glTexCoord.3 glTexCoord4s.3
LINKS += glTexCoord.3 glTexCoord1dv.3
LINKS += glTexCoord.3 glTexCoord1fv.3
LINKS += glTexCoord.3 glTexCoord1iv.3
LINKS += glTexCoord.3 glTexCoord1sv.3
LINKS += glTexCoord.3 glTexCoord2dv.3
LINKS += glTexCoord.3 glTexCoord2fv.3
LINKS += glTexCoord.3 glTexCoord2iv.3
LINKS += glTexCoord.3 glTexCoord2sv.3
LINKS += glTexCoord.3 glTexCoord3dv.3
LINKS += glTexCoord.3 glTexCoord3fv.3
LINKS += glTexCoord.3 glTexCoord3iv.3
LINKS += glTexCoord.3 glTexCoord3sv.3
LINKS += glTexCoord.3 glTexCoord4dv.3
LINKS += glTexCoord.3 glTexCoord4fv.3
LINKS += glTexCoord.3 glTexCoord4iv.3
LINKS += glTexCoord.3 glTexCoord4sv.3
LINKS += glTexEnv.3 glTexEnvf.3
LINKS += glTexEnv.3 glTexEnvi.3
LINKS += glTexEnv.3 glTexEnvfv.3
LINKS += glTexEnv.3 glTexEnviv.3
LINKS += glTexGen.3 glTexGend.3
LINKS += glTexGen.3 glTexGenf.3
LINKS += glTexGen.3 glTexGeni.3
LINKS += glTexGen.3 glTexGendv.3
LINKS += glTexGen.3 glTexGenfv.3
LINKS += glTexGen.3 glTexGeniv.3
LINKS += glTexParameter.3 glTexParameterf.3
LINKS += glTexParameter.3 glTexParameteri.3
LINKS += glTexParameter.3 glTexParameterfv.3
LINKS += glTexParameter.3 glTexParameteriv.3
LINKS += glTranslate.3 glTranslated.3
LINKS += glTranslate.3 glTranslatef.3
LINKS += glVertex.3 glVertex2d.3
LINKS += glVertex.3 glVertex2f.3
LINKS += glVertex.3 glVertex2i.3
LINKS += glVertex.3 glVertex2s.3
LINKS += glVertex.3 glVertex3d.3
LINKS += glVertex.3 glVertex3f.3
LINKS += glVertex.3 glVertex3i.3
LINKS += glVertex.3 glVertex3s.3
LINKS += glVertex.3 glVertex4d.3
LINKS += glVertex.3 glVertex4f.3
LINKS += glVertex.3 glVertex4i.3
LINKS += glVertex.3 glVertex4s.3
LINKS += glVertex.3 glVertex2dv.3
LINKS += glVertex.3 glVertex2fv.3
LINKS += glVertex.3 glVertex2iv.3
LINKS += glVertex.3 glVertex2sv.3
LINKS += glVertex.3 glVertex3dv.3
LINKS += glVertex.3 glVertex3fv.3
LINKS += glVertex.3 glVertex3iv.3
LINKS += glVertex.3 glVertex3sv.3
LINKS += glVertex.3 glVertex4dv.3
LINKS += glVertex.3 glVertex4fv.3
LINKS += glVertex.3 glVertex4iv.3
LINKS += glVertex.3 glVertex4sv.3
.include "../../Makefile.inc"
.include <bsd.xorg.mk>

View file

@ -1,156 +0,0 @@
'\" te
'\"! tbl|eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 accum.gl
.ds Xs 43732 7 accum.gl
.TH GLACCUM 3G
.SH NAME
.B "glAccum
\- operate on the accumulation buffer
.SH C SPECIFICATION
void \f3glAccum\fP(
GLenum \fIop\fP,
.nf
.ta \w'\f3void \fPglAccum( 'u
GLfloat \fIvalue\fP )
.fi
.EQ
delim $$
.EN
.SH PARAMETERS
.TP \w'\fIvalue\fP\ \ 'u
\f2op\fP
Specifies the accumulation buffer operation.
Symbolic constants
\%\f3GL_ACCUM\fP,
\%\f3GL_LOAD\fP,
\%\f3GL_ADD\fP,
\%\f3GL_MULT\fP,
and
\%\f3GL_RETURN\fP are accepted.
.TP
\f2value\fP
Specifies a floating-point value used in the accumulation buffer operation.
\f2op\fP determines how \f2value\fP is used.
.SH DESCRIPTION
The accumulation buffer is an extended-range color buffer.
Images are not rendered into it.
Rather,
images rendered into one of the color buffers
are added to the contents of the accumulation buffer after rendering.
Effects such as antialiasing (of points, lines, and polygons),
motion blur,
and depth of field can be created
by accumulating images generated with different transformation matrices.
.P
Each pixel in the accumulation buffer consists of
red, green, blue, and alpha values.
The number of bits per component in the accumulation buffer
depends on the implementation. You can examine this number
by calling \%\f3glGetIntegerv\fP four times,
with arguments \%\f3GL_ACCUM_RED_BITS\fP,
\%\f3GL_ACCUM_GREEN_BITS\fP,
\%\f3GL_ACCUM_BLUE_BITS\fP,
and \%\f3GL_ACCUM_ALPHA_BITS\fP.
Regardless of the number of bits per component,
the range of values stored by each component is [\-1,\ 1].
The accumulation buffer pixels are mapped one-to-one with frame buffer pixels.
.P
\%\f3glAccum\fP operates on the accumulation buffer.
The first argument, \f2op\fP,
is a symbolic constant that selects an accumulation buffer operation.
The second argument, \f2value\fP,
is a floating-point value to be used in that operation.
Five operations are specified:
\%\f3GL_ACCUM\fP, \%\f3GL_LOAD\fP, \%\f3GL_ADD\fP,
\%\f3GL_MULT\fP, and \%\f3GL_RETURN\fP.
.P
All accumulation buffer operations are limited
to the area of the current scissor box and applied identically to
the red, green, blue, and alpha components of each pixel.
If a \%\f3glAccum\fP operation results in a value outside the range [\-1,\ 1],
the contents of an accumulation buffer pixel component are undefined.
.P
The operations are as follows:
.TP 14
\%\f3GL_ACCUM\fP
Obtains R, G, B, and A values
from the buffer currently selected for reading (see \%\f3glReadBuffer\fP).
Each component value is divided by $2 sup n^-^1$,
where $n$ is the number of bits allocated to each color component
in the currently selected buffer.
The result is a floating-point value in the range [0,\ 1],
which is multiplied by \f2value\fP and added to the corresponding pixel component
in the accumulation buffer,
thereby updating the accumulation buffer.
.TP
\%\f3GL_LOAD\fP
Similar to \%\f3GL_ACCUM\fP,
except that the current value in the accumulation buffer is not used
in the calculation of the new value.
That is, the R, G, B, and A values from the currently selected buffer
are divided by $2 sup n^-^1$,
multiplied by \f2value\fP,
and then stored in the corresponding accumulation buffer cell,
overwriting the current value.
.TP
\%\f3GL_ADD\fP
Adds \f2value\fP to each R, G, B, and A
in the accumulation buffer.
.TP
\%\f3GL_MULT\fP
Multiplies each R, G, B, and A
in the accumulation buffer by \f2value\fP and returns the scaled component
to its corresponding accumulation buffer location.
.TP
\%\f3GL_RETURN\fP
Transfers accumulation buffer values
to the color buffer or buffers currently selected for writing.
Each R, G, B, and A component is multiplied by \f2value\fP,
then multiplied by $2 sup n^-^1$,
clamped to the range [0,$~2 sup n^-^1 $], and stored
in the corresponding display buffer cell.
The only fragment operations that are applied to this transfer are
pixel ownership,
scissor,
dithering,
and color writemasks.
.P
To clear the accumulation buffer, call \%\f3glClearAccum\fP with R, G, B,
and A values to set it to, then call \%\f3glClear\fP with the
accumulation buffer enabled.
.SH NOTES
Only pixels within the current scissor box are updated by a
\%\f3glAccum\fP operation.
.SH ERRORS
\%\f3GL_INVALID_ENUM\fP is generated if \f2op\fP is not an accepted value.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if there is no accumulation buffer.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glAccum\fP
is executed between the execution of
\%\f3glBegin\fP and the corresponding execution of \%\f3glEnd\fP.
.SH ASSOCIATED GETS
\%\f3glGet\fP with argument \%\f3GL_ACCUM_RED_BITS\fP
.br
\%\f3glGet\fP with argument \%\f3GL_ACCUM_GREEN_BITS\fP
.br
\%\f3glGet\fP with argument \%\f3GL_ACCUM_BLUE_BITS\fP
.br
\%\f3glGet\fP with argument \%\f3GL_ACCUM_ALPHA_BITS\fP
.SH SEE ALSO
\%\f3glClear(3G)\fP,
\%\f3glClearAccum(3G)\fP,
\%\f3glCopyPixels(3G)\fP,
\%\f3glDrawBuffer(3G)\fP,
\%\f3glGet(3G)\fP,
\%\f3glReadBuffer(3G)\fP,
\%\f3glReadPixels(3G)\fP,
\%\f3glScissor(3G)\fP,
\%\f3glStencilOp(3G)\fP

View file

@ -1,54 +0,0 @@
.\" $XFree86$
'\" et
'\"! eqn|tbl | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 19:46
.ds Dm 01 activetex
.ds Xs 15390 4 activetextureARB.gl
.TH GLACTIVETEXTUREARB 3G
.SH NAME
.B "glActiveTextureARB
\- select active texture unit
.SH C SPECIFICATION
void \f3glActiveTextureARB\fP(
GLenum \fItexture\fP )
.nf
.fi
.EQ
delim $$
.EN
.SH PARAMETERS
.TP \w'\f2texture\fP\ \ 'u
\f2texture\fP
Specifies which texture unit to make active. The number
of texture units is implementation dependent, but must be at least
two. \f2texture\fP must be one of \%\f3GL_TEXTURE\fP$i$\f3_ARB\fP, where
0 \(<= $ i $ < \%\f3GL_MAX_TEXTURE_UNITS_ARB\fP, which is an
implementation-dependent value. The initial value is \%\f3GL_TEXTURE0_ARB\fP.
.SH DESCRIPTION
\%\f3glActiveTextureARB\fP selects which texture unit subsequent texture state calls will
affect. The number of texture units an implementation supports is
implementation dependent, but must be at least 2.
.P
Vertex arrays are client-side GL resources, which are selected by the
\%\f3glClientActiveTextureARB\fP routine.
.SH NOTES
\%\f3glActiveTextureARB\fP is only supported if \%\f3GL_ARB_multitexture\fP is included in the
string returned by \%\f3glGetString\fP when called with the argument
\%\f3GL_EXTENSIONS\fP.
.SH ERRORS
\%\f3GL_INVALID_ENUM\fP is generated if \f2texture\fP is not one of
\%\f3GL_TEXTURE\fP$i$\f3_ARB\fP,
.br
where 0 \(<= $ i $ < \%\f3GL_MAX_TEXTURE_UNITS_ARB\fP.
.SH SEE ALSO
\%\f3glClientActiveTextureARB(3G)\fP,
\%\f3glGetIntegerv(3G)\fP,
\%\f3glMultiTexCoordARB(3G)\fP,
\%\f3glTexParameter(3G)\fP

View file

@ -1,114 +0,0 @@
'\" te
'\"! tbl|eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 alphafunc
.ds Xs 25246 5 alphafunc.gl
.TH GLALPHAFUNC 3G
.SH NAME
.B "glAlphaFunc
\- specify the alpha test function
.SH C SPECIFICATION
void \f3glAlphaFunc\fP(
GLenum \fIfunc\fP,
.nf
.ta \w'\f3void \fPglAlphaFunc( 'u
GLclampf \fIref\fP )
.fi
.SH PARAMETERS
.TP \w'\f2func\fP\ \ 'u
\f2func\fP
Specifies the alpha comparison function.
Symbolic constants
\%\f3GL_NEVER\fP,
\%\f3GL_LESS\fP,
\%\f3GL_EQUAL\fP,
\%\f3GL_LEQUAL\fP,
\%\f3GL_GREATER\fP,
\%\f3GL_NOTEQUAL\fP,
\%\f3GL_GEQUAL\fP, and
\%\f3GL_ALWAYS\fP are accepted. The initial value is \%\f3GL_ALWAYS\fP.
.TP
\f2ref\fP
Specifies the reference value that incoming alpha values are compared to.
This value is clamped to the range [0,\ 1],
where 0 represents the lowest possible alpha value
and 1 the highest possible value.
The initial reference value is 0.
.SH DESCRIPTION
The alpha test discards fragments depending on the outcome of a comparison
between an incoming fragment's alpha value and a constant reference value.
\%\f3glAlphaFunc\fP specifies the reference value and the comparison function.
The comparison is performed only if alpha testing is enabled. By
default, it is not enabled.
(See
\%\f3glEnable\fP and \%\f3glDisable\fP of \%\f3GL_ALPHA_TEST\fP.)
.P
\f2func\fP and \f2ref\fP specify the conditions under which
the pixel is drawn.
The incoming alpha value is compared to \f2ref\fP
using the function specified by \f2func\fP.
If the value passes the comparison,
the incoming fragment is drawn
if it also passes subsequent stencil and depth buffer tests.
If the value fails the comparison,
no change is made to the frame buffer at that pixel location. The
comparison functions are as follows:
.TP 18
\%\f3GL_NEVER\fP
Never passes.
.TP
\%\f3GL_LESS\fP
Passes if the incoming alpha value is less than the reference value.
.TP
\%\f3GL_EQUAL\fP
Passes if the incoming alpha value is equal to the reference value.
.TP
\%\f3GL_LEQUAL\fP
Passes if the incoming alpha value is less than or equal to the reference value.
.TP
\%\f3GL_GREATER\fP
Passes if the incoming alpha value is greater than the reference value.
.TP
\%\f3GL_NOTEQUAL\fP
Passes if the incoming alpha value is not equal to the reference value.
.TP
\%\f3GL_GEQUAL\fP
Passes if the incoming alpha value is greater than or equal to
the reference value.
.TP
\%\f3GL_ALWAYS\fP
Always passes (initial value).
.P
\%\f3glAlphaFunc\fP operates on all pixel write operations,
including those resulting from the scan conversion of points,
lines,
polygons,
and bitmaps,
and from pixel draw and copy operations.
\%\f3glAlphaFunc\fP does not affect screen clear operations.
.SH NOTES
Alpha testing is performed only in RGBA mode.
.SH ERRORS
\%\f3GL_INVALID_ENUM\fP is generated if \f2func\fP is not an accepted value.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glAlphaFunc\fP
is executed between the execution of \%\f3glBegin\fP
and the corresponding execution of \%\f3glEnd\fP.
.SH ASSOCIATED GETS
\%\f3glGet\fP with argument \%\f3GL_ALPHA_TEST_FUNC\fP
.br
\%\f3glGet\fP with argument \%\f3GL_ALPHA_TEST_REF\fP
.br
\%\f3glIsEnabled\fP with argument \%\f3GL_ALPHA_TEST\fP
.SH SEE ALSO
\%\f3glBlendFunc(3G)\fP,
\%\f3glClear(3G)\fP,
\%\f3glDepthFunc(3G)\fP,
\%\f3glEnable(3G)\fP,
\%\f3glStencilFunc(3G)\fP

View file

@ -1,91 +0,0 @@
'\" e
'\"! eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 aretextur
.ds Xs 9130 5 aretexturesresident.gl
.TH GLARETEXTURESRESIDENT 3G
.SH NAME
.B "glAreTexturesResident
\- determine if textures are loaded in texture memory
.SH C SPECIFICATION
GLboolean \f3glAreTexturesResident\fP(
GLsizei \fIn\fP,
.nf
.ta \w'\f3GLboolean \fPglAreTexturesResident( 'u
const GLuint \fI*textures\fP,
GLboolean \fI*residences\fP )
.fi
.SH PARAMETERS
.TP \w'\fIresidences\fP\ \ 'u
\f2n\fP
Specifies the number of textures to be queried.
.TP
\f2textures\fP
Specifies an array containing the names of the textures to be queried.
.TP
\f2residences\fP
Specifies an array in which the texture residence status is returned.
The residence status of a texture named by an element of \f2textures\fP is
returned in the corresponding element of \f2residences\fP.
.SH DESCRIPTION
GL establishes
a ``working set'' of textures that are resident in texture memory.
These textures can be bound to a texture target much more efficiently
than textures that are not resident.
.P
\%\f3glAreTexturesResident\fP queries the texture residence status of the \f2n\fP textures named by
the elements of \f2textures\fP.
If all the named textures are resident,
\%\f3glAreTexturesResident\fP returns \%\f3GL_TRUE\fP,
and the contents of \f2residences\fP are undisturbed.
If not all the named textures are resident, \%\f3glAreTexturesResident\fP returns \%\f3GL_FALSE\fP,
and detailed status is returned in the \f2n\fP elements of \f2residences\fP.
If an element of \f2residences\fP is \%\f3GL_TRUE\fP, then the texture named by
the corresponding element of \f2textures\fP is resident.
.P
The residence status of a single bound texture may also be queried
by calling
\%\f3glGetTexParameter\fP with the \f2target\fP argument set to the
target to which the texture is bound, and the \f2pname\fP argument
set to \%\f3GL_TEXTURE_RESIDENT\fP.
This is the only way that the residence status of a default texture can be
queried.
.SH NOTES
\%\f3glAreTexturesResident\fP is available only if the GL version is 1.1 or greater.
.P
\%\f3glAreTexturesResident\fP returns the residency status of the textures at the time of
invocation. It does not guarantee that the textures will remain
resident at any other time.
.P
If textures reside in virtual memory (there is no texture memory), they
are considered always resident.
.P
Some implementations may not load a texture until the first use of
that texture.
.SH ERRORS
\%\f3GL_INVALID_VALUE\fP is generated if \f2n\fP is negative.
.P
\%\f3GL_INVALID_VALUE\fP is generated if any element in \f2textures\fP
is 0 or does not name a texture. In that case, the function returns
\%\f3GL_FALSE\fP and the contents of \f2residences\fP is indeterminate.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glAreTexturesResident\fP is executed
between the execution of \%\f3glBegin\fP and the corresponding
execution of \%\f3glEnd\fP.
.SH ASSOCIATED GETS
\%\f3glGetTexParameter\fP with parameter name \%\f3GL_TEXTURE_RESIDENT\fP
retrieves the residence status of a currently bound texture.
.SH SEE ALSO
\%\f3glBindTexture(3G)\fP,
\%\f3glGetTexParameter(3G)\fP,
\%\f3glPrioritizeTextures(3G)\fP,
\%\f3glTexImage1D(3G)\fP,
\%\f3glTexImage2D(3G)\fP,
\%\f3glTexImage3D(3G)\fP,
\%\f3glTexParameter(3G)\fP

View file

@ -1,70 +0,0 @@
'\" te
'\"! tbl|eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 arrayelem
.ds Xs 50127 5 arrayelement.gl
.TH GLARRAYELEMENT 3G
.SH NAME
.B "glArrayElement
\- render a vertex using the specified vertex array element
.SH C SPECIFICATION
void \f3glArrayElement\fP(
GLint \fIi\fP )
.nf
.fi
.EQ
delim $$
.EN
.SH PARAMETERS
.TP \w'\f2i\fP\ \ 'u
\f2i\fP
Specifies an index into the enabled vertex data arrays.
.SH DESCRIPTION
\%\f3glArrayElement\fP commands are used within \%\f3glBegin\fP/\%\f3glEnd\fP pairs to
specify vertex and attribute data for point, line, and polygon
primitives. If \%\f3GL_VERTEX_ARRAY\fP is enabled when \%\f3glArrayElement\fP is called, a
single vertex is drawn, using
vertex and attribute data taken from location \f2i\fP of the enabled
arrays. If \%\f3GL_VERTEX_ARRAY\fP is not enabled, no drawing occurs but
the attributes corresponding to the enabled arrays are modified.
.P
Use \%\f3glArrayElement\fP to construct primitives by indexing vertex data, rather than
by streaming through arrays of data in first-to-last order. Because
each call specifies only a single vertex, it is possible to explicitly
specify per-primitive attributes such as a single normal per
individual triangle.
.P
Changes made to array data between the execution of \%\f3glBegin\fP and the
corresponding execution of \%\f3glEnd\fP may affect calls to \%\f3glArrayElement\fP that are made
within the same \%\f3glBegin\fP/\%\f3glEnd\fP period in non-sequential ways.
That is, a call to
.br
\%\f3glArrayElement\fP that precedes a change to array data may
access the changed data, and a call that follows a change to array data
may access original data.
.SH NOTES
\%\f3glArrayElement\fP is available only if the GL version is 1.1 or greater.
.P
\%\f3glArrayElement\fP is included in display lists. If \%\f3glArrayElement\fP is entered into a
display list, the necessary array data (determined by the array
pointers and enables) is also entered into the display list. Because
the array pointers and enables are client-side state, their values
affect display lists when the lists are created, not when the lists
are executed.
.SH SEE ALSO
\%\f3glClientActiveTextureARB(3G)\fP,
\%\f3glColorPointer(3G)\fP,
\%\f3glDrawArrays(3G)\fP,
\%\f3glEdgeFlagPointer(3G)\fP,
\%\f3glGetPointerv(3G)\fP,
\%\f3glIndexPointer(3G)\fP,
\%\f3glInterleavedArrays(3G)\fP,
\%\f3glNormalPointer(3G)\fP,
\%\f3glTexCoordPointer(3G)\fP,
\%\f3glVertexPointer(3G)\fP

View file

@ -1,217 +0,0 @@
'\" te
'\"! tbl|eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 begin.gl
.ds Xs 5437 8 begin.gl
.TH GLBEGIN 3G
.SH NAME
.B "glBegin, glEnd
\- delimit the vertices of a primitive or a group of like primitives
.SH C SPECIFICATION
void \f3glBegin\fP(
GLenum \fImode\fP )
.nf
.fi
.EQ
delim $$
.EN
.SH PARAMETERS
.TP \w'\f2mode\fP\ \ 'u
\f2mode\fP
Specifies the primitive or primitives that will be created from vertices
presented between \%\f3glBegin\fP and the subsequent \%\f3glEnd\fP.
Ten symbolic constants are accepted:
\%\f3GL_POINTS\fP,
\%\f3GL_LINES\fP,
\%\f3GL_LINE_STRIP\fP,
\%\f3GL_LINE_LOOP\fP,
\%\f3GL_TRIANGLES\fP,
\%\f3GL_TRIANGLE_STRIP\fP,
\%\f3GL_TRIANGLE_FAN\fP,
\%\f3GL_QUADS\fP,
\%\f3GL_QUAD_STRIP\fP, and
\%\f3GL_POLYGON\fP.
.SH C SPECIFICATION
void \f3glEnd\fP( void )
.nf
.fi
.SH DESCRIPTION
\%\f3glBegin\fP and \%\f3glEnd\fP delimit the vertices that define a primitive or
a group of like primitives.
\%\f3glBegin\fP accepts a single argument that specifies in which of ten ways the
vertices are interpreted.
Taking $n$ as an integer count starting at one,
and $N$ as the total number of vertices specified,
the interpretations are as follows:
.TP 23
\%\f3GL_POINTS\fP
Treats each vertex as a single point.
Vertex $n$ defines point $n$.
$N$ points are drawn.
.TP
\%\f3GL_LINES\fP
Treats each pair of vertices as an independent line segment.
Vertices $2n^-^1$ and $2n$ define line $n$.
$N/2$ lines are drawn.
.TP
\%\f3GL_LINE_STRIP\fP
Draws a connected group of line segments from the first vertex
to the last.
Vertices $n$ and $n~+~1$ define line $n$.
$N^-^1$ lines are drawn.
.TP
\%\f3GL_LINE_LOOP\fP
Draws a connected group of line segments from the first vertex
to the last,
then back to the first.
Vertices $n$ and $n~+~1$ define line $n$.
The last line, however, is defined by vertices $N$ and $1$.
$N$ lines are drawn.
.TP
\%\f3GL_TRIANGLES\fP
Treats each triplet of vertices as an independent triangle.
Vertices $3n^-^2$, $3n^-^1$, and $3n$ define triangle $n$.
$N/3$ triangles are drawn.
.BP
.TP
\%\f3GL_TRIANGLE_STRIP\fP
Draws a connected group of triangles. One triangle is defined for each
vertex presented after the first two vertices. For odd $n$, vertices
$n$, $n~+~1$, and $n~+~2$ define triangle $n$. For even $n$, vertices
$n~+~1$, $n$, and $n~+~2$ define triangle $n$. $N^-^2$ triangles are
drawn.
.TP
\%\f3GL_TRIANGLE_FAN\fP
Draws a connected group of triangles.
One triangle is defined for each vertex presented after the first two vertices.
Vertices $1$,
$n~+~1$,
and $n~+~2$ define triangle $n$.
$N^-^2$ triangles are drawn.
.TP
\%\f3GL_QUADS\fP
Treats each group of four vertices as an independent quadrilateral.
Vertices $4n^-^3$, $4n^-^2$, $4n^-^1$, and $4n$
define quadrilateral $n$.
$N/4$ quadrilaterals are drawn.
.TP
\%\f3GL_QUAD_STRIP\fP
Draws a connected group of quadrilaterals.
One quadrilateral is defined for each pair of vertices presented
after the first pair.
Vertices $2n^-^1$, $2n$, $2n~+~2$, and $2n~+~1$ define quadrilateral $n$.
$N/2^-^1$ quadrilaterals are drawn.
Note that the order in which vertices are used to construct a quadrilateral
from strip data is different from that used with independent data.
.TP
\%\f3GL_POLYGON\fP
Draws a single,
convex polygon.
Vertices $1$ through $N$ define this polygon.
.P
Only a subset of GL commands can be used between \%\f3glBegin\fP and \%\f3glEnd\fP.
The commands are
\%\f3glVertex\fP,
\%\f3glColor\fP,
\%\f3glIndex\fP,
\%\f3glNormal\fP,
\%\f3glTexCoord\fP,
\%\f3glEvalCoord\fP,
\%\f3glEvalPoint\fP,
\%\f3glArrayElement\fP,
\%\f3glMaterial\fP, and
\%\f3glEdgeFlag\fP.
Also,
it is acceptable to use
\%\f3glCallList\fP or
\%\f3glCallLists\fP to execute
display lists that include only the preceding commands.
If any other GL command is executed between \%\f3glBegin\fP and \%\f3glEnd\fP,
the error flag is set and the command is ignored.
.P
Regardless of the value chosen for \f2mode\fP,
there is no limit to the number of vertices that can be defined
between \%\f3glBegin\fP and \%\f3glEnd\fP.
Lines,
triangles,
quadrilaterals,
and polygons that are incompletely specified are not drawn.
Incomplete specification results when either too few vertices are
provided to specify even a single primitive or when an incorrect multiple
of vertices is specified. The incomplete primitive is ignored; the rest are drawn.
.P
The minimum specification of vertices
for each primitive is as follows:
1 for a point,
2 for a line,
3 for a triangle,
4 for a quadrilateral,
and 3 for a polygon.
Modes that require a certain multiple of vertices are
\%\f3GL_LINES\fP (2),
\%\f3GL_TRIANGLES\fP (3),
\%\f3GL_QUADS\fP (4),
and \%\f3GL_QUAD_STRIP\fP (2).
.SH ERRORS
\%\f3GL_INVALID_ENUM\fP is generated if \f2mode\fP is set to an unaccepted value.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glBegin\fP is executed between a
\%\f3glBegin\fP
and the corresponding execution of \%\f3glEnd\fP.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glEnd\fP is executed without being
preceded by a \%\f3glBegin\fP.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if a command other than
\%\f3glVertex\fP,
\%\f3glColor\fP,
\%\f3glIndex\fP,
\%\f3glNormal\fP,
\%\f3glTexCoord\fP,
\%\f3glEvalCoord\fP,
\%\f3glEvalPoint\fP,
\%\f3glArrayElement\fP,
\%\f3glMaterial\fP,
\%\f3glEdgeFlag\fP,
\%\f3glCallList\fP, or
\%\f3glCallLists\fP is executed between
the execution of \%\f3glBegin\fP and the corresponding
execution \%\f3glEnd\fP.
.P
Execution of
\%\f3glEnableClientState\fP,
\%\f3glDisableClientState\fP,
\%\f3glEdgeFlagPointer\fP,
\%\f3glTexCoordPointer\fP,
\%\f3glColorPointer\fP,
\%\f3glIndexPointer\fP,
\%\f3glNormalPointer\fP,
.br
\%\f3glVertexPointer\fP,
\%\f3glInterleavedArrays\fP, or
\%\f3glPixelStore\fP is not allowed after a call to \%\f3glBegin\fP and before
the corresponding call to \%\f3glEnd\fP,
but an error may or may not be generated.
.SH SEE ALSO
\%\f3glArrayElement(3G)\fP,
\%\f3glCallList(3G)\fP,
\%\f3glCallLists(3G)\fP,
\%\f3glColor(3G)\fP,
\%\f3glEdgeFlag(3G)\fP,
\%\f3glEvalCoord(3G)\fP,
.br
\%\f3glEvalPoint(3G)\fP,
\%\f3glIndex(3G)\fP,
\%\f3glMaterial(3G)\fP,
\%\f3glNormal(3G)\fP,
\%\f3glTexCoord(3G)\fP,
\%\f3glVertex(3G)\fP

View file

@ -1,114 +0,0 @@
'\" e
'\"! eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 bindtextu
.ds Xs 62690 6 bindtexture.gl
.TH GLBINDTEXTURE 3G
.SH NAME
.B "glBindTexture
\- bind a named texture to a texturing target
.SH C SPECIFICATION
void \f3glBindTexture\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglBindTexture( 'u
GLuint \fItexture\fP )
.fi
.SH PARAMETERS
.TP \w'\fItexture\fP\ \ 'u
\f2target\fP
Specifies the target to which the texture is bound.
Must be either
\%\f3GL_TEXTURE_1D\fP,
\%\f3GL_TEXTURE_2D\fP, or
\%\f3GL_TEXTURE_3D\fP.
.TP
\f2texture\fP
Specifies the name of a texture.
.SH DESCRIPTION
\%\f3glBindTexture\fP lets you create or use a named texture. Calling \%\f3glBindTexture\fP with
.br
\f2target\fP set to
\%\f3GL_TEXTURE_1D\fP, \%\f3GL_TEXTURE_2D\fP, \%\f3GL_TEXTURE_3D\fP and \f2texture\fP
set to the name
of the newtexture binds the texture name to the target.
When a texture is bound to a target, the previous binding for that
target is automatically broken.
.P
Texture names are unsigned integers. The value zero is reserved to
represent the default texture for each texture target.
Texture names and the corresponding texture contents are local to
the shared display-list space (see \%\f3glXCreateContext\fP) of the current
GL rendering context;
two rendering contexts share texture names only if they
also share display lists.
.P
You may use \%\f3glGenTextures\fP to generate a set of new texture names.
.P
When a texture is first bound, it assumes the dimensionality of its
target: A texture first bound to \%\f3GL_TEXTURE_1D\fP becomes
one-dimensional, and a texture first bound to \%\f3GL_TEXTURE_2D\fP becomes
two-dimensional, and a texture first bound to \%\f3GL_TEXTURE_3D\fP becomes
a three-dimensional texture. The state of a one-dimensional texture
immediately after it is first bound is equivalent to the state of the
default \%\f3GL_TEXTURE_1D\fP at GL initialization, and similarly for
two-, and three-dimensional textures.
.P
While a texture is bound, GL operations on the target to which it is
bound affect the bound texture, and queries of the target to which it
is bound return state from the bound texture. If texture mapping of
the dimensionality of the target to which a texture is bound is
active, the bound texture is used.
In effect, the texture targets become aliases for the textures currently
bound to them, and the texture name zero refers to the default textures
that were bound to them at initialization.
.P
A texture binding created with \%\f3glBindTexture\fP remains active until a different
texture is bound to the same target, or until the bound texture is
deleted with \%\f3glDeleteTextures\fP.
.P
Once created, a named texture may be re-bound to the target of the
matching dimensionality as often as needed.
It is usually much faster to use \%\f3glBindTexture\fP to bind an existing named
texture to one of the texture targets than it is to reload the texture image
using \%\f3glTexImage1D\fP, \%\f3glTexImage2D\fP, or \%\f3glTexImage3D\fP.
For additional control over performance, use
\%\f3glPrioritizeTextures\fP.
.P
\%\f3glBindTexture\fP is included in display lists.
.SH NOTES
\%\f3glBindTexture\fP is available only if the GL version is 1.1 or greater.
.SH ERRORS
\%\f3GL_INVALID_ENUM\fP is generated if \f2target\fP is not one of the allowable
values.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \f2texture\fP has a dimensionality
that doesn't match that of \f2target\fP.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glBindTexture\fP is executed
between the execution of \%\f3glBegin\fP and the corresponding
execution of \%\f3glEnd\fP.
.SH ASSOCIATED GETS
\%\f3glGet\fP with argument \%\f3GL_TEXTURE_BINDING_1D\fP
.br
\%\f3glGet\fP with argument \%\f3GL_TEXTURE_BINDING_2D\fP
.br
\%\f3glGet\fP with argument \%\f3GL_TEXTURE_BINDING_3D\fP
.SH SEE ALSO
\%\f3glAreTexturesResident(3G)\fP,
\%\f3glDeleteTextures(3G)\fP,
\%\f3glGenTextures(3G)\fP,
\%\f3glGet(3G)\fP,
.br
\%\f3glGetTexParameter(3G)\fP,
\%\f3glIsTexture(3G)\fP,
\%\f3glPrioritizeTextures(3G)\fP,
\%\f3glTexImage1D(3G)\fP,
\%\f3glTexImage2D(3G)\fP,
\%\f3glTexParameter(3G)\fP

View file

@ -1,132 +0,0 @@
'\" te
'\"! tbl|eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 bitmap.gl
.ds Xs 23189 6 bitmap.gl
.TH GLBITMAP 3G
.SH NAME
.B "glBitmap
\- draw a bitmap
.SH C SPECIFICATION
void \f3glBitmap\fP(
GLsizei \fIwidth\fP,
.nf
.ta \w'\f3void \fPglBitmap( 'u
GLsizei \fIheight\fP,
GLfloat \fIxorig\fP,
GLfloat \fIyorig\fP,
GLfloat \fIxmove\fP,
GLfloat \fIymove\fP,
const GLubyte \fI*bitmap\fP )
.fi
.EQ
delim $$
.EN
.SH PARAMETERS
.TP \w'\f2width\fP\ \f2height\fP\ \ 'u
\f2width\fP, \f2height\fP
Specify the pixel width and height of the bitmap image.
.TP
\f2xorig\fP, \f2yorig\fP
Specify the location of the origin in the bitmap image.
The origin is measured from the lower left corner of the bitmap,
with right and up being the positive axes.
.TP
\f2xmove\fP, \f2ymove\fP
Specify the \f2x\fP and \f2y\fP offsets to be added to the current raster position
after the bitmap is drawn.
.TP
\f2bitmap\fP
Specifies the address of the bitmap image.
.SH DESCRIPTION
A bitmap is a binary image.
When drawn,
the bitmap is positioned relative to the current raster position,
and frame buffer pixels corresponding to 1's in the bitmap are
written using the current raster color or index.
Frame buffer pixels corresponding to 0's in the bitmap are not modified.
.P
\%\f3glBitmap\fP takes seven arguments.
The first pair specifies the width and height of the bitmap image.
The second pair specifies the location of the bitmap origin relative
to the lower left corner of the bitmap image.
The third pair of arguments specifies \f2x\fP and \f2y\fP offsets to be added
to the current raster position after the bitmap has been drawn.
The final argument is a pointer to the bitmap image itself.
.P
The bitmap image is interpreted like image data for the \%\f3glDrawPixels\fP
command,
with \f2width\fP and \f2height\fP corresponding to the width and height arguments
of that command,
and with \f2type\fP set to \%\f3GL_BITMAP\fP
and \f2format\fP set to \%\f3GL_COLOR_INDEX\fP.
.BP
Modes specified using \%\f3glPixelStore\fP affect the
interpretation of bitmap image data;
modes specified using \%\f3glPixelTransfer\fP do not.
.P
If the current raster position is invalid, \%\f3glBitmap\fP is ignored.
Otherwise,
the lower left corner of the bitmap image is positioned at the window coordinates
.ce
.sp
$ x sub w ~=~ \(lf ~ x sub r ~-~ x sub o ~ \(rf $
.br
.sp
.ce
$ y sub w ~=~ \(lf ~ y sub r ~-~ y sub o ~ \(rf $
.sp
where $ ( x sub r , y sub r ) $ is the raster position
and $ ( x sub o , y sub o ) $ is the bitmap origin.
Fragments are then generated for each pixel corresponding to a 1 (one)
in the bitmap image.
These fragments are generated using the current raster \f2z\fP coordinate,
color or color index, and current raster texture coordinates.
They are then treated just as if they had been generated
by a point, line, or polygon,
including texture mapping,
.br
fogging,
and all per-fragment operations such as alpha and depth testing.
.P
After the bitmap has been drawn,
the \f2x\fP and \f2y\fP coordinates of the current raster position are offset by
\f2xmove\fP and \f2ymove\fP.
No change is made to the \f2z\fP coordinate of the current raster position,
or to the current raster color, texture coordinates, or index.
.SH NOTES
To set a valid raster position outside the viewport, first set a valid
raster position inside the viewport, then call \%\f3glBitmap\fP with NULL
as the \f2bitmap\fP parameter and with \f2xmove\fP and \f2ymove\fP set to
the offsets of the new raster position. This technique is useful when
panning an image around the viewport.
.SH ERRORS
\%\f3GL_INVALID_VALUE\fP is generated if \f2width\fP or \f2height\fP is negative.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glBitmap\fP
is executed between the execution of \%\f3glBegin\fP and the corresponding execution of
\%\f3glEnd\fP.
.SH ASSOCIATED GETS
\%\f3glGet\fP with argument \%\f3GL_CURRENT_RASTER_POSITION\fP
.br
\%\f3glGet\fP with argument \%\f3GL_CURRENT_RASTER_COLOR\fP
.br
\%\f3glGet\fP with argument \%\f3GL_CURRENT_RASTER_DISTANCE\fP
.br
\%\f3glGet\fP with argument \%\f3GL_CURRENT_RASTER_INDEX\fP
.br
\%\f3glGet\fP with argument \%\f3GL_CURRENT_RASTER_TEXTURE_COORDS\fP
.br
\%\f3glGet\fP with argument \%\f3GL_CURRENT_RASTER_POSITION_VALID\fP
.SH SEE ALSO
\%\f3glDrawPixels(3G)\fP,
\%\f3glPixelStore(3G)\fP,
\%\f3glPixelTransfer(3G)\fP,
\%\f3glRasterPos(3G)\fP

View file

@ -1,52 +0,0 @@
'\" e
'\"! eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 blendcolo
.ds Xs 21257 4 blendcolor.gl
.TH GLBLENDCOLOR 3G
.SH NAME
.B "glBlendColor
\- set the blend color
.SH C SPECIFICATION
void \f3glBlendColor\fP(
GLclampf \fIred\fP,
.nf
.ta \w'\f3void \fPglBlendColor( 'u
GLclampf \fIgreen\fP,
GLclampf \fIblue\fP,
GLclampf \fIalpha\fP )
.fi
.EQ
delim $$
.EN
.SH PARAMETERS
.TP \w'\f2red\fP\ \f2green\fP\ \f2blue\fP\ \f2alpha\fP\ \ 'u
\f2red\fP, \f2green\fP, \f2blue\fP, \f2alpha\fP
specify the components of \%\f3GL_BLEND_COLOR\fP
.SH DESCRIPTION
The \%\f3GL_BLEND_COLOR\fP may be used to calculate the source and destination
blending factors. The color components are clamped to the range [0,\ 1]
before being stored. See \%\f3glBlendFunc\fP for a complete description of the
blending operations.
Initially the \%\f3GL_BLEND_COLOR\fP is set to (0, 0, 0, 0).
.SH NOTES
\%\f3glBlendColor\fP is part of the \%\f3GL_ARB_imaging\fP subset. \%\f3glBlendColor\fP is present only
if \%\f3GL_ARB_imaging\fP is returned when \%\f3glGetString\fP is called with
\%\f3GL_EXTENSIONS\fP as its argument.
.SH ERRORS
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glBlendColor\fP is executed
between the execution of \%\f3glBegin\fP and the corresponding
execution of \%\f3glEnd\fP.
.P
.SH ASSOCIATED GETS
\%\f3glGet\fP with an argument of \%\f3GL_BLEND_COLOR\fP
.SH SEE ALSO
\%\f3glBlendEquation(3G)\fP,
\%\f3glBlendFunc(3G)\fP,
\%\f3glGetString(3G)\fP

View file

@ -1,146 +0,0 @@
'\" te
'\"! tbl|eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 blendequa
.ds Xs 36751 7 blendequation.gl
.TH GLBLENDEQUATION 3G
.SH NAME
.B "glBlendEquation
\- set the blend equation
.SH C SPECIFICATION
void \f3glBlendEquation\fP(
GLenum \fImode\fP )
.nf
.fi
.EQ
delim $$
.EN
.SH PARAMETERS
.TP \w'\f2mode\fP\ \ 'u
\f2mode\fP
specifies how source and destination colors are combined.
It must be \%\f3GL_FUNC_ADD\fP, \%\f3GL_FUNC_SUBTRACT\fP,
\%\f3GL_FUNC_REVERSE_SUBTRACT\fP, \%\f3GL_MIN\fP, \%\f3GL_MAX\fP.
.SH DESCRIPTION
The blend equation determines how a new pixel (the ``source'' color)
is combined with a pixel already in the framebuffer (the ``destination''
color).
.TP
\%\f3GL_MIN\fP
sets the blend equation so that each component of the result color
is the minimum of the corresponding components of the source and destination
colors.
.TP
\%\f3GL_MAX\fP
sets the blend equation so that each component of the result color
is the maximum of the corresponding components of the source and destination
colors.
.P
The remaining blend equations use the source and destination blend factors
specified by \%\f3glBlendFunc\fP.
See \%\f3glBlendFunc\fP for a description of the various blend factors.
.P
In the equations that follow, source and destination
color components are referred to as
$(R sub s, G sub s, B sub s, A sub s )$
and
$(R sub d, G sub d, B sub d, A sub d )$,
respectively.
The result color is referred to as
$(R sub r, G sub r, B sub r, A sub r )$.
The source and destination blend factors are denoted
$(s sub R, s sub G, s sub B, s sub A )$ and
$(d sub R, d sub G, d sub B, d sub A )$, respectively.
For these equations all color components are understood to have values
in the range [0,\ 1].
.TP
\%\f3GL_FUNC_ADD\fP
sets the blend equation so that the source and destination
data are added.
Each component of the source color is
multiplied by the corresponding source factor, then
each component of the destination color is multiplied
by the corresponding destination factor.
The result is the componentwise sum of the two products, clamped to the
range [0,\ 1].
.P
.RS
.nf
.IP
$Rr ~=~ mark min (1, ~R sub s~s sub R ~+~ R sub d~d sub R )$
$Gr ~=~ lineup min (1, ~G sub s~s sub G ~+~ G sub d~d sub G )$
$Br ~=~ lineup min (1, ~B sub s~s sub B ~+~ B sub d~d sub B )$
$Ar ~=~ lineup min (1, ~A sub s~s sub A ~+~ A sub d~d sub A )$
.fi
.RE
.TP
\%\f3GL_FUNC_SUBTRACT\fP
Is like \%\f3GL_FUNC_ADD\fP except the product of the destination factor and
the destination color is componentwise subtracted from the product of the
source factor and the source color.
The result is clamped to the range [0,\ 1].
.RS
.nf
.IP
$Rr ~=~ mark max (0 , ~R sub s~s sub R ~-~ R sub d~d sub R )$
$Gr ~=~ lineup max (0 , ~G sub s~s sub G ~-~ G sub d~d sub G )$
$Br ~=~ lineup max (0 , ~B sub s~s sub B ~-~ B sub d~d sub B )$
$Ar ~=~ lineup max (0 , ~A sub s~s sub A ~-~ A sub d~d sub A )$
.fi
.RE
.TP
\%\f3GL_FUNC_REVERSE_SUBTRACT\fP
Is like \%\f3GL_FUNC_ADD\fP except the product of the source factor and the
source color is componentwise subtracted from the product of the destination
factor and the destination color.
The result is clamped to the range [0,\ 1].
.RS
.nf
.IP
$Rr ~=~ mark max (0 , ~R sub d~d sub R ~-~ R sub s~s sub R )$
$Gr ~=~ lineup max (0 , ~G sub d~d sub G ~-~ G sub s~s sub G )$
$Br ~=~ lineup max (0 , ~B sub d~d sub B ~-~ B sub s~s sub B )$
$Ar ~=~ lineup max (0 , ~A sub d~d sub A ~-~ A sub s~s sub A )$
.fi
.RE
.P
The \%\f3GL_MIN\fP and \%\f3GL_MAX\fP equations are useful for applications
that analyze
.br
image data (image thresholding against a constant color,
for example).
The \%\f3GL_FUNC_ADD\fP equation is useful
for antialiasing and transparency, among other things.
.P
Initially, the blend equation is set to \%\f3GL_FUNC_ADD\fP.
.P
.SH NOTES
\%\f3glBlendEquation\fP is part of the \%\f3GL_ARB_imaging\fP subset. \%\f3glBlendEquation\fP is present only
if \%\f3GL_ARB_imaging\fP is returned when \%\f3glGetString\fP is called with
\%\f3GL_EXTENSIONS\fP as its argument.
.P
The \%\f3GL_MIN\fP, and \%\f3GL_MAX\fP equations do not use
the source or destination factors, only the source and destination colors.
.P
.SH ERRORS
\%\f3GL_INVALID_ENUM\fP is generated if \f2mode\fP is not one of
\%\f3GL_FUNC_ADD\fP, \%\f3GL_FUNC_SUBTRACT\fP, \%\f3GL_FUNC_REVERSE_SUBTRACT\fP,
\%\f3GL_MAX\fP, or \%\f3GL_MIN\fP.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glBlendEquation\fP is executed
between the execution of \%\f3glBegin\fP and the corresponding
execution of \%\f3glEnd\fP.
.SH ASSOCIATED GETS
.TP
\%\f3glGet\fP with an argument of \%\f3GL_BLEND_EQUATION\fP
.SH SEE ALSO
\%\f3glGetString(3G)\fP,
\%\f3glBlendColor(3G)\fP,
\%\f3glBlendFunc(3G)\fP

View file

@ -1,250 +0,0 @@
'\" te
'\"! tbl|eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 blendfunc
.ds Xs 18970 10 blendfunc.gl
.TH GLBLENDFUNC 3G
.SH NAME
.B "glBlendFunc
\- specify pixel arithmetic
.SH C SPECIFICATION
void \f3glBlendFunc\fP(
GLenum \fIsfactor\fP,
.nf
.ta \w'\f3void \fPglBlendFunc( 'u
GLenum \fIdfactor\fP )
.fi
.EQ
delim $$
.EN
.SH PARAMETERS
.TP \w'\f2sfactor\fP\ \ 'u
\f2sfactor\fP
Specifies how the red, green, blue,
and alpha source blending factors are computed.
The following symbolic constants are accepted:
\%\f3GL_ZERO\fP,
\%\f3GL_ONE\fP,
\%\f3GL_DST_COLOR\fP,
\%\f3GL_ONE_MINUS_DST_COLOR\fP,
\%\f3GL_SRC_ALPHA\fP,
\%\f3GL_ONE_MINUS_SRC_ALPHA\fP,
\%\f3GL_DST_ALPHA\fP,
\%\f3GL_ONE_MINUS_DST_ALPHA\fP, and
\%\f3GL_SRC_ALPHA_SATURATE\fP.
The initial value is \%\f3GL_ONE\fP.
.TE
Additionally, if the \%\f3GL_ARB_imaging\fP extension is supported, the
following constants are accepted:
\%\f3GL_CONSTANT_COLOR\fP,
\%\f3GL_ONE_MINUS_CONSTANT_COLOR\fP,
\%\f3GL_CONSTANT_ALPHA\fP,
\%\f3GL_ONE_MINUS_CONSTANT_ALPHA\fP.
.TP
\f2dfactor\fP
Specifies how the red, green, blue,
and alpha destination blending factors are computed.
Eight symbolic constants are accepted:
\%\f3GL_ZERO\fP,
\%\f3GL_ONE\fP,
\%\f3GL_SRC_COLOR\fP,
\%\f3GL_ONE_MINUS_SRC_COLOR\fP,
\%\f3GL_SRC_ALPHA\fP,
\%\f3GL_ONE_MINUS_SRC_ALPHA\fP,
\%\f3GL_DST_ALPHA\fP, and
\%\f3GL_ONE_MINUS_DST_ALPHA\fP.
The initial value is \%\f3GL_ZERO\fP.
.TE
Additionally, if the \%\f3GL_ARB_imaging\fP extension is supported, the
following constants are accepted:
\%\f3GL_CONSTANT_COLOR\fP,
\%\f3GL_ONE_MINUS_CONSTANT_COLOR\fP,
\%\f3GL_CONSTANT_ALPHA\fP,
\%\f3GL_ONE_MINUS_CONSTANT_ALPHA\fP.
.SH DESCRIPTION
In RGBA mode, pixels can be drawn using a function that blends
the incoming (source) RGBA values with the RGBA values
that are already in the frame buffer (the destination values).
Blending is initially disabled.
Use \%\f3glEnable\fP and \%\f3glDisable\fP with argument \%\f3GL_BLEND\fP
to enable and disable blending.
.P
\%\f3glBlendFunc\fP defines the operation of blending when it is enabled.
\f2sfactor\fP specifies which of nine methods is used to scale the
source color components.
\f2dfactor\fP specifies which of eight methods is used to scale the
destination color components.
The eleven possible methods are described in the following table.
Each method defines four scale factors,
one each for red, green, blue, and alpha.
.P
In the table and in subsequent equations, source and destination
color components are referred to as
$(R sub s , G sub s , B sub s , A sub s )$ and
$(R sub d , G sub d , B sub d , A sub d )$.
The color specified by \%\f3glBlendColor\fP is referred to as
$(R sub c , G sub c , B sub c , A sub c )$.
They are understood to have integer values between 0 and
$(k sub R , k sub G , k sub B , k sub A )$,
where
.P
.RS
.ce
$k sub c ~=~ 2 sup m sub c - 1$
.RE
.P
and
$(m sub R , m sub G , m sub B , m sub A )$
is the number of red,
green,
blue,
and alpha bitplanes.
.P
Source and destination scale factors are referred to as
$(s sub R , s sub G , s sub B , s sub A )$ and
$(d sub R , d sub G , d sub B , d sub A )$.
The scale factors described in the table,
denoted $(f sub R , f sub G , f sub B , f sub A )$,
represent either source or destination factors.
All scale factors have range [0,\ 1].
.P
.TS
center;
lb cb
l c .
_
Parameter $(f sub R , ~~ f sub G , ~~ f sub B , ~~ f sub A )$
_
\%\f3GL_ZERO\fP $(0, ~0, ~0, ~0 )$
\%\f3GL_ONE\fP $(1, ~1, ~1, ~1 )$
\%\f3GL_SRC_COLOR\fP $(R sub s / k sub R , ~G sub s / k sub G , ~B sub s / k sub B , ~A sub s / k sub A )$
\%\f3GL_ONE_MINUS_SRC_COLOR\fP $(1, ~1, ~1, ~1 ) ~-~ (R sub s / k sub R , ~G sub s / k sub G , ~B sub s / k sub B , ~A sub s / k sub A )$
\%\f3GL_DST_COLOR\fP $(R sub d / k sub R , ~G sub d / k sub G , ~B sub d / k sub B , ~A sub d / k sub A )$
\%\f3GL_ONE_MINUS_DST_COLOR\fP $(1, ~1, ~1, ~1 ) ~-~ (R sub d / k sub R , ~G sub d / k sub G , ~B sub d / k sub B , ~A sub d / k sub A )$
\%\f3GL_SRC_ALPHA\fP $(A sub s / k sub A , ~A sub s / k sub A , ~A sub s / k sub A , ~A sub s / k sub A )$
\%\f3GL_ONE_MINUS_SRC_ALPHA\fP $(1, ~1, ~1, ~1 ) ~-~ (A sub s / k sub A , ~A sub s / k sub A , ~A sub s / k sub A , ~A sub s / k sub A )$
\%\f3GL_DST_ALPHA\fP $(A sub d / k sub A , ~A sub d / k sub A , ~A sub d / k sub A , ~A sub d / k sub A )$
\%\f3GL_ONE_MINUS_DST_ALPHA\fP $(1, ~1, ~1, ~1 ) ~-~ (A sub d / k sub A , ~A sub d / k sub A , ~A sub d / k sub A , ~A sub d / k sub A )$
\%\f3GL_SRC_ALPHA_SATURATE\fP $(i, ~i, ~i, ~1 )$
\%\f3GL_CONSTANT_COLOR\fP $(R sub c, G sub c, B sub c, A sub c)$
\%\f3GL_ONE_MINUS_CONSTANT_COLOR\fP $(1, ~1, ~1, ~1 ) ~-~ (R sub c, G sub c, B sub c, A sub c)$
\%\f3GL_CONSTANT_ALPHA\fP $(A sub c, A sub c, A sub c, A sub c)$
\%\f3GL_ONE_MINUS_CONSTANT_ALPHA\fP $(1, ~1, ~1, ~1 ) ~-~ (A sub c, A sub c, A sub c, A sub c)$
_
.TE
.sp
In the table,
.P
.RS
.nf
.IP
$i ~=~ min (A sub s , ~k sub A ~-~ A sub d ) ~/~ k sub A$
.fi
.RE
.P
To determine the blended RGBA values of a pixel when drawing in RGBA mode,
the system uses the following equations:
.P
.RS
.nf
.IP
$R sub d ~=~ mark min ( k sub R, ~R sub s~s sub R~+~R sub d~d sub R )$
$G sub d ~=~ lineup min ( k sub G, ~G sub s~s sub G~+~G sub d~d sub G )$
$B sub d ~=~ lineup min ( k sub B, ~B sub s~s sub B~+~B sub d~d sub B )$
$A sub d ~=~ lineup min ( k sub A, ~A sub s~s sub A~+~A sub d~d sub A )$
.fi
.RE
.P
Despite the apparent precision of the above equations,
blending arithmetic is not exactly specified,
because blending operates with imprecise integer color values.
However,
a blend factor that should be equal to 1
is guaranteed not to modify its multiplicand,
and a blend factor equal to 0 reduces its multiplicand to 0.
For example,
when \f2sfactor\fP is \%\f3GL_SRC_ALPHA\fP,
\f2dfactor\fP is \%\f3GL_ONE_MINUS_SRC_ALPHA\fP,
and $A sub s$ is equal to $k sub A$,
the equations reduce to simple replacement:
.P
.RS
.nf
.IP
$R sub d ~=~ mark R sub s$
$G sub d ~=~ lineup G sub s$
$B sub d ~=~ lineup B sub s$
$A sub d ~=~ lineup A sub s$
.fi
.RE
.P
.SH EXAMPLES
.P
Transparency is best implemented using blend function
(\%\f3GL_SRC_ALPHA\fP, \%\f3GL_ONE_MINUS_SRC_ALPHA\fP)
with primitives sorted from farthest to nearest.
Note that this transparency calculation does not require
the presence of alpha bitplanes in the frame buffer.
.P
Blend function
(\%\f3GL_SRC_ALPHA\fP, \%\f3GL_ONE_MINUS_SRC_ALPHA\fP)
is also useful for rendering antialiased points and lines
in arbitrary order.
.P
Polygon antialiasing is optimized using blend function
.br
(\%\f3GL_SRC_ALPHA_SATURATE\fP, \%\f3GL_ONE\fP)
with polygons sorted from nearest to farthest.
(See the \%\f3glEnable\fP, \%\f3glDisable\fP reference page and the
\%\f3GL_POLYGON_SMOOTH\fP argument for information on polygon antialiasing.)
Destination alpha bitplanes,
which must be present for this blend function to operate correctly,
store the accumulated coverage.
.SH NOTES
Incoming (source) alpha is correctly thought of as a material opacity,
ranging from 1.0 ($K sub A$), representing complete opacity,
to 0.0 (0), representing complete
transparency.
.P
When more than one color buffer is enabled for drawing,
the GL performs blending separately for each enabled buffer,
using the contents of that buffer for destination color.
(See \%\f3glDrawBuffer\fP.)
.P
Blending affects only RGBA rendering.
It is ignored by color index renderers.
.P
\%\f3GL_CONSTANT_COLOR\fP, \%\f3GL_ONE_MINUS_CONSTANT_COLOR\fP,
\%\f3GL_CONSTANT_ALPHA\fP, \%\f3GL_ONE_MINUS_CONSTANT_ALPHA\fP are only
available if the \%\f3GL_ARB_imaging\fP is supported by your implementation.
.SH ERRORS
\%\f3GL_INVALID_ENUM\fP is generated if either \f2sfactor\fP or \f2dfactor\fP is not an
accepted value.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glBlendFunc\fP
is executed between the execution of \%\f3glBegin\fP
and the corresponding execution of \%\f3glEnd\fP.
.SH ASSOCIATED GETS
\%\f3glGet\fP with argument \%\f3GL_BLEND_SRC\fP
.br
\%\f3glGet\fP with argument \%\f3GL_BLEND_DST\fP
.br
\%\f3glIsEnabled\fP with argument \%\f3GL_BLEND\fP
.br
.SH SEE ALSO
\%\f3glAlphaFunc(3G)\fP,
\%\f3glBlendColor(3G)\fP,
\%\f3glBlendEquation(3G)\fP,
\%\f3glClear(3G)\fP,
\%\f3glDrawBuffer(3G)\fP,
\%\f3glEnable(3G)\fP,
\%\f3glLogicOp(3G)\fP,
\%\f3glStencilFunc(3G)\fP

View file

@ -1,60 +0,0 @@
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 calllist.
.ds Xs 42225 4 calllist.gl
.TH GLCALLLIST 3G
.SH NAME
.B "glCallList
\- execute a display list
.SH C SPECIFICATION
void \f3glCallList\fP(
GLuint \fIlist\fP )
.nf
.fi
.SH PARAMETERS
.TP \w'\f2list\fP\ \ 'u
\f2list\fP
Specifies the integer name of the display list to be executed.
.SH DESCRIPTION
\%\f3glCallList\fP causes the named display list to be executed.
The commands saved in the display list are executed in order,
just as if they were called without using a display list.
If \f2list\fP has not been defined as a display list,
\%\f3glCallList\fP is ignored.
.P
\%\f3glCallList\fP can appear inside a display list.
To avoid the possibility of infinite recursion resulting from display lists
calling one another,
a limit is placed on the nesting level of display
lists during display-list execution.
This limit is at least 64, and it depends on the implementation.
.P
GL state is not saved and restored across a call to \%\f3glCallList\fP.
Thus,
changes made to GL state during the execution of a display list
remain after execution of the display list is completed.
Use \%\f3glPushAttrib\fP,
\%\f3glPopAttrib\fP,
\%\f3glPushMatrix\fP,
and \%\f3glPopMatrix\fP to preserve GL state across \%\f3glCallList\fP calls.
.SH NOTES
Display lists can be executed between a call to \%\f3glBegin\fP
and the corresponding call to \%\f3glEnd\fP,
as long as the display list includes only commands that are allowed
in this interval.
.SH ASSOCIATED GETS
\%\f3glGet\fP with argument \%\f3GL_MAX_LIST_NESTING\fP
.br
\%\f3glIsList\fP
.SH SEE ALSO
\%\f3glCallLists(3G)\fP,
\%\f3glDeleteLists(3G)\fP,
\%\f3glGenLists(3G)\fP,
\%\f3glNewList(3G)\fP,
\%\f3glPushAttrib(3G)\fP,
\%\f3glPushMatrix(3G)\fP

View file

@ -1,165 +0,0 @@
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 calllists
.ds Xs 46352 7 calllists.gl
.TH GLCALLLISTS 3G
.SH NAME
.B "glCallLists
\- execute a list of display lists
.SH C SPECIFICATION
void \f3glCallLists\fP(
GLsizei \fIn\fP,
.nf
.ta \w'\f3void \fPglCallLists( 'u
GLenum \fItype\fP,
const GLvoid \fI*lists\fP )
.fi
.SH PARAMETERS
.TP \w'\fIlists\fP\ \ 'u
\f2n\fP
Specifies the number of display lists to be executed.
.TP
\f2type\fP
Specifies the type of values in \f2lists\fP.
Symbolic constants
\%\f3GL_BYTE\fP,
\%\f3GL_UNSIGNED_BYTE\fP,
\%\f3GL_SHORT\fP,
\%\f3GL_UNSIGNED_SHORT\fP,
\%\f3GL_INT\fP,
\%\f3GL_UNSIGNED_INT\fP,
\%\f3GL_FLOAT\fP,
\%\f3GL_2_BYTES\fP,
\%\f3GL_3_BYTES\fP, and
\%\f3GL_4_BYTES\fP are accepted.
.TP
\f2lists\fP
Specifies the address of an array of name offsets in the display list.
The pointer type is void because the offsets can be bytes,
shorts,
ints,
or floats,
depending on the value of \f2type\fP.
.SH DESCRIPTION
\%\f3glCallLists\fP causes each display list in the list of names passed as \f2lists\fP
to be executed.
As a result,
the commands saved in each display list are executed in order,
just as if they were called without using a display list.
Names of display lists that have not been defined are ignored.
.P
\%\f3glCallLists\fP provides an efficient means for executing more than one display list.
\f2type\fP allows lists with various name formats to be accepted.
The formats are as follows:
.TP 25
\%\f3GL_BYTE\fP
\f2lists\fP is treated as an array of signed bytes,
each in the range \-128 through 127.
.TP
\%\f3GL_UNSIGNED_BYTE\fP
\f2lists\fP is treated as an array of unsigned bytes,
each in the range 0 through 255.
.TP
\%\f3GL_SHORT\fP
\f2lists\fP is treated as an array of signed two-byte integers,
each in the range \-32768 through 32767.
.TP
\%\f3GL_UNSIGNED_SHORT\fP
\f2lists\fP is treated as an array of unsigned two-byte integers,
each in the range 0 through 65535.
.TP
\%\f3GL_INT\fP
\f2lists\fP is treated as an array of signed four-byte integers.
.TP
\%\f3GL_UNSIGNED_INT\fP
\f2lists\fP is treated as an array of unsigned four-byte integers.
.TP
\%\f3GL_FLOAT\fP
\f2lists\fP is treated as an array of four-byte floating-point values.
.TP
\%\f3GL_2_BYTES\fP
\f2lists\fP is treated as an array of unsigned bytes.
Each pair of bytes specifies a single display-list name.
The value of the pair is computed as 256 times the unsigned value
of the first byte plus the unsigned value of the second byte.
.TP
\%\f3GL_3_BYTES\fP
\f2lists\fP is treated as an array of unsigned bytes.
Each triplet of bytes specifies a single display-list name.
The value of the triplet is computed as 65536 times the unsigned value
of the first byte,
plus 256 times the unsigned value of the second byte,
plus the unsigned value of the third byte.
.TP
\%\f3GL_4_BYTES\fP
\f2lists\fP is treated as an array of unsigned bytes.
Each quadruplet of bytes specifies a single display-list name.
The value of the quadruplet is computed as 16777216 times the unsigned value
of the first byte,
plus 65536 times the unsigned value of the second byte,
plus 256 times the unsigned value of the third byte,
plus the unsigned value of the fourth byte.
.P
The list of display-list names is not null-terminated.
Rather,
\f2n\fP specifies how many names are to be taken from \f2lists\fP.
.P
An additional level of indirection is made available with the
\%\f3glListBase\fP command,
which specifies an unsigned offset that is added to each display-list
name specified in \f2lists\fP before that display list is executed.
.P
\%\f3glCallLists\fP can appear inside a display list.
To avoid the possibility of infinite recursion resulting from display lists
calling one another,
a limit is placed on the nesting level of display
lists during display-list execution.
This limit must be at least 64, and it depends on the implementation.
.P
GL state is not saved and restored across a call to \%\f3glCallLists\fP.
Thus,
changes made to GL state during the execution of the display lists
remain after execution is completed.
Use \%\f3glPushAttrib\fP,
\%\f3glPopAttrib\fP,
\%\f3glPushMatrix\fP,
and \%\f3glPopMatrix\fP to preserve GL state across \%\f3glCallLists\fP calls.
.SH NOTES
Display lists can be executed between a call to \%\f3glBegin\fP
and the corresponding call to \%\f3glEnd\fP,
as long as the display list includes only commands that are allowed
in this interval.
.SH ERRORS
\%\f3GL_INVALID_VALUE\fP is generated if \f2n\fP is negative.
.P
\%\f3GL_INVALID_ENUM\fP is generated if \f2type\fP is not one of
\%\f3GL_BYTE\fP,
\%\f3GL_UNSIGNED_BYTE\fP,
\%\f3GL_SHORT\fP,
\%\f3GL_UNSIGNED_SHORT\fP,
\%\f3GL_INT\fP,
\%\f3GL_UNSIGNED_INT\fP,
\%\f3GL_FLOAT\fP,
\%\f3GL_2_BYTES\fP,
\%\f3GL_3_BYTES\fP,
\%\f3GL_4_BYTES\fP.
.SH ASSOCIATED GETS
\%\f3glGet\fP with argument \%\f3GL_LIST_BASE\fP
.br
\%\f3glGet\fP with argument \%\f3GL_MAX_LIST_NESTING\fP
.br
\%\f3glIsList\fP
.SH SEE ALSO
\%\f3glCallList(3G)\fP,
\%\f3glDeleteLists(3G)\fP,
\%\f3glGenLists(3G)\fP,
\%\f3glListBase(3G)\fP,
\%\f3glNewList(3G)\fP,
\%\f3glPushAttrib(3G)\fP,
.br
\%\f3glPushMatrix(3G)\fP

View file

@ -1,98 +0,0 @@
'\" te
'\"! tbl|eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 clear.gl
.ds Xs 16977 5 clear.gl
.TH GLCLEAR 3G
.SH NAME
.B "glClear
\- clear buffers to preset values
.SH C SPECIFICATION
void \f3glClear\fP(
GLbitfield \fImask\fP )
.nf
.fi
.SH PARAMETERS
.TP \w'\f2mask\fP\ \ 'u
\f2mask\fP
Bitwise OR of masks that indicate the buffers to be cleared.
The four masks are
\%\f3GL_COLOR_BUFFER_BIT\fP,
\%\f3GL_DEPTH_BUFFER_BIT\fP,
\%\f3GL_ACCUM_BUFFER_BIT\fP, and
\%\f3GL_STENCIL_BUFFER_BIT\fP.
.SH DESCRIPTION
\%\f3glClear\fP sets the bitplane area of the window to values previously selected
by \%\f3glClearColor\fP, \%\f3glClearIndex\fP, \%\f3glClearDepth\fP,
\%\f3glClearStencil\fP, and \%\f3glClearAccum\fP.
Multiple color buffers can be cleared simultaneously by selecting
more than one buffer at a time using \%\f3glDrawBuffer\fP.
.P
The pixel ownership test,
the scissor test,
dithering, and the buffer writemasks affect the operation of \%\f3glClear\fP.
The scissor box bounds the cleared region.
Alpha function,
blend function,
logical operation,
stenciling,
texture mapping,
and depth-buffering are ignored by \%\f3glClear\fP.
.P
\%\f3glClear\fP takes a single argument that is the bitwise OR of several
values indicating which buffer is to be cleared.
.P
The values are as follows:
.TP 28
\%\f3GL_COLOR_BUFFER_BIT\fP
Indicates the buffers currently enabled for color
writing.
.TP
\%\f3GL_DEPTH_BUFFER_BIT\fP
Indicates the depth buffer.
.TP
\%\f3GL_ACCUM_BUFFER_BIT\fP
Indicates the accumulation buffer.
.TP
\%\f3GL_STENCIL_BUFFER_BIT\fP
Indicates the stencil buffer.
.P
The value to which each buffer is cleared depends on the setting of the
clear value for that buffer.
.SH NOTES
If a buffer is not present,
then a \%\f3glClear\fP directed at that buffer has no effect.
.SH ERRORS
\%\f3GL_INVALID_VALUE\fP is generated if any bit other than the four defined
bits is set in \f2mask\fP.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glClear\fP
is executed between the execution of \%\f3glBegin\fP
and the corresponding execution of \%\f3glEnd\fP.
.SH ASSOCIATED GETS
\%\f3glGet\fP with argument \%\f3GL_ACCUM_CLEAR_VALUE\fP
.br
\%\f3glGet\fP with argument \%\f3GL_DEPTH_CLEAR_VALUE\fP
.br
\%\f3glGet\fP with argument \%\f3GL_INDEX_CLEAR_VALUE\fP
.br
\%\f3glGet\fP with argument \%\f3GL_COLOR_CLEAR_VALUE\fP
.br
\%\f3glGet\fP with argument \%\f3GL_STENCIL_CLEAR_VALUE\fP
.SH SEE ALSO
\%\f3glClearAccum(3G)\fP,
\%\f3glClearColor(3G)\fP,
\%\f3glClearDepth(3G)\fP,
\%\f3glClearIndex(3G)\fP,
\%\f3glClearStencil(3G)\fP,
\%\f3glColorMask(3G)\fP,
\%\f3glDepthMask(3G)\fP,
\%\f3glDrawBuffer(3G)\fP,
\%\f3glScissor(3G)\fP,
\%\f3glStencilMask(3G)\fP

View file

@ -1,45 +0,0 @@
'\" te
'\"! tbl|eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 clearaccu
.ds Xs 2071 3 clearaccum.gl
.TH GLCLEARACCUM 3G
.SH NAME
.B "glClearAccum
\- specify clear values for the accumulation buffer
.SH C SPECIFICATION
void \f3glClearAccum\fP(
GLfloat \fIred\fP,
.nf
.ta \w'\f3void \fPglClearAccum( 'u
GLfloat \fIgreen\fP,
GLfloat \fIblue\fP,
GLfloat \fIalpha\fP )
.fi
.SH PARAMETERS
.TP \w'\f2red\fP\ \f2green\fP\ \f2blue\fP\ \f2alpha\fP\ \ 'u
\f2red\fP, \f2green\fP, \f2blue\fP, \f2alpha\fP
Specify the red, green, blue, and alpha values used when the
accumulation buffer is cleared.
The initial values are all 0.
.SH DESCRIPTION
\%\f3glClearAccum\fP specifies the red, green, blue, and alpha values used by \%\f3glClear\fP
to clear the accumulation buffer.
.P
Values specified by \%\f3glClearAccum\fP are clamped to the
range [-1,\ 1].
.SH ERRORS
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glClearAccum\fP
is executed between the execution of \%\f3glBegin\fP
and the corresponding execution of \%\f3glEnd\fP.
.SH ASSOCIATED GETS
\%\f3glGet\fP with argument \%\f3GL_ACCUM_CLEAR_VALUE\fP
.SH SEE ALSO
\%\f3glAccum(3G)\fP,
\%\f3glClear(3G)\fP

View file

@ -1,44 +0,0 @@
'\" te
'\"! tbl|eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 clearcolo
.ds Xs 36439 3 clearcolor.gl
.TH GLCLEARCOLOR 3G
.SH NAME
.B "glClearColor
\- specify clear values for the color buffers
.SH C SPECIFICATION
void \f3glClearColor\fP(
GLclampf \fIred\fP,
.nf
.ta \w'\f3void \fPglClearColor( 'u
GLclampf \fIgreen\fP,
GLclampf \fIblue\fP,
GLclampf \fIalpha\fP )
.fi
.SH PARAMETERS
.TP \w'\f2red\fP\ \f2green\fP\ \f2blue\fP\ \f2alpha\fP\ \ 'u
\f2red\fP, \f2green\fP, \f2blue\fP, \f2alpha\fP
Specify the red, green, blue, and alpha values used when the
color buffers are cleared.
The initial values are all 0.
.SH DESCRIPTION
\%\f3glClearColor\fP specifies the red,
green,
blue,
and alpha values used by \%\f3glClear\fP to clear the color buffers.
Values specified by \%\f3glClearColor\fP are clamped to the range [0,\ 1].
.SH ERRORS
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glClearColor\fP
is executed between the execution of \%\f3glBegin\fP
and the corresponding execution of \%\f3glEnd\fP.
.SH ASSOCIATED GETS
\%\f3glGet\fP with argument \%\f3GL_COLOR_CLEAR_VALUE\fP
.SH SEE ALSO
\%\f3glClear(3G)\fP

View file

@ -1,36 +0,0 @@
'\" te
'\"! tbl|eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 cleardept
.ds Xs 62352 3 cleardepth.gl
.TH GLCLEARDEPTH 3G
.SH NAME
.B "glClearDepth
\- specify the clear value for the depth buffer
.SH C SPECIFICATION
void \f3glClearDepth\fP(
GLclampd \fIdepth\fP )
.nf
.fi
.SH PARAMETERS
.TP \w'\f2depth\fP\ \ 'u
\f2depth\fP
Specifies the depth value used when the depth buffer is cleared. The
initial value is 1.
.SH DESCRIPTION
\%\f3glClearDepth\fP specifies the depth value used by \%\f3glClear\fP to clear the depth buffer.
Values specified by \%\f3glClearDepth\fP are clamped to the range [0,\ 1].
.SH ERRORS
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glClearDepth\fP
is executed between the execution of \%\f3glBegin\fP
and the corresponding execution of \%\f3glEnd\fP.
.SH ASSOCIATED GETS
\%\f3glGet\fP with argument \%\f3GL_DEPTH_CLEAR_VALUE\fP
.SH SEE ALSO
\%\f3glClear(3G)\fP

View file

@ -1,47 +0,0 @@
'\" e
'\"! eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 clearinde
.ds Xs 34830 3 clearindex.gl
.TH GLCLEARINDEX 3G
.SH NAME
.B "glClearIndex
\- specify the clear value for the color index buffers
.SH C SPECIFICATION
void \f3glClearIndex\fP(
GLfloat \fIc\fP )
.nf
.fi
.EQ
delim $$
.EN
.SH PARAMETERS
.TP \w'\f2c\fP\ \ 'u
\f2c\fP
Specifies the index used when the color index buffers are cleared.
The initial value is 0.
.SH DESCRIPTION
\%\f3glClearIndex\fP specifies the index used by \%\f3glClear\fP
to clear the color index buffers.
\f2c\fP is not clamped.
Rather,
\f2c\fP is converted to a fixed-point value with unspecified precision
to the right of the binary point.
The integer part of this value is then masked with $2 sup m^-^1$,
where $m$ is the number of bits in a color index stored in the frame buffer.
.SH ERRORS
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glClearIndex\fP
is executed between the execution of \%\f3glBegin\fP
and the corresponding execution of \%\f3glEnd\fP.
.SH ASSOCIATED GETS
\%\f3glGet\fP with argument \%\f3GL_INDEX_CLEAR_VALUE\fP
.br
\%\f3glGet\fP with argument \%\f3GL_INDEX_BITS\fP
.SH SEE ALSO
\%\f3glClear(3G)\fP

View file

@ -1,45 +0,0 @@
'\" te
'\"! tbl|eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 clearsten
.ds Xs 64794 3 clearstencil.gl
.TH GLCLEARSTENCIL 3G
.SH NAME
.B "glClearStencil
\- specify the clear value for the stencil buffer
.SH C SPECIFICATION
void \f3glClearStencil\fP(
GLint \fIs\fP )
.nf
.fi
.EQ
delim $$
.EN
.SH PARAMETERS
.TP \w'\f2s\fP\ \ 'u
\f2s\fP
Specifies the index used when the stencil buffer is cleared.
The initial value is 0.
.SH DESCRIPTION
\%\f3glClearStencil\fP specifies the index used by \%\f3glClear\fP to clear the stencil buffer.
\f2s\fP is masked with $2 sup m^-^1$,
where $m$ is the number of bits in the stencil buffer.
.SH ERRORS
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glClearStencil\fP
is executed between the execution of \%\f3glBegin\fP
and the corresponding execution of \%\f3glEnd\fP.
.SH ASSOCIATED GETS
\%\f3glGet\fP with argument \%\f3GL_STENCIL_CLEAR_VALUE\fP
.br
\%\f3glGet\fP with argument \%\f3GL_STENCIL_BITS\fP
.SH SEE ALSO
\%\f3glClear(3G)\fP,
\%\f3glStencilFunc(3G)\fP,
\%\f3glStencilOp(3G)\fP,
\%\f3glStencilMask(3G)\fP

View file

@ -1,54 +0,0 @@
'\" et
'\"! eqn|tbl | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 19:46
.ds Dm 001 clientac
.ds Xs 18566 4 clientactivetextureARB.gl
.TH GLCLIENTACTIVETEXTUREARB 3G
.SH NAME
.B "glClientActiveTextureARB
\- select active texture unit
.SH C SPECIFICATION
void \f3glClientActiveTextureARB\fP(
GLenum \fItexture\fP )
.nf
.fi
.EQ
delim $$
.EN
.SH PARAMETERS
.TP \w'\f2texture\fP\ \ 'u
\f2texture\fP
Specifies which texture unit to make active. The number
of texture units is implementation dependent, but must be at least
two. \f2texture\fP must be one of \%\f3GL_TEXTURE\fP$i$\f3_ARB\fP
where 0 \(<= $ i $ < \%\f3GL_MAX_TEXTURE_UNITS_ARB\fP, which is an
implementation-dependent value. The initial value is
\%\f3GL_TEXTURE0_ARB\fP.
.SH DESCRIPTION
\%\f3glClientActiveTextureARB\fP selects the vertex array client state parameters to be modified by
\%\f3glTexCoordPointer\fP, and enabled or disabled with
\%\f3glEnableClientState\fP or \%\f3glDisableClientState\fP, respectively,
when called with a parameter of \%\f3GL_TEXTURE_COORD_ARRAY\fP.
.SH NOTES
\%\f3glClientActiveTextureARB\fP is supported only if \%\f3GL_ARB_multitexture\fP is included in the
string returned by \%\f3glGetString\fP when called with the argument
\%\f3GL_EXTENSIONS\fP.
.P
\%\f3glClientActiveTextureARB\fP sets \%\f3GL_CLIENT_ACTIVE_TEXTURE_ARB\fP to the active texture unit.
.SH ERRORS
\%\f3GL_INVALID_ENUM\fP is generated if \f2texture\fP is not one of
\%\f3GL_TEXTURE\fP$i$\f3_ARB\fP, where
0 \(<= $ i $ < \%\f3GL_MAX_TEXTURE_UNITS_ARB\fP.
.SH SEE ALSO
\%\f3glActiveTextureARB(3G)\fP,
\%\f3glDisableClientState(3G)\fP,
\%\f3glEnableClientState(3G)\fP,
\%\f3glMultiTexCoordARB(3G)\fP,
\%\f3glTexCoordPointer(3G)\fP

View file

@ -1,81 +0,0 @@
'\" e
'\"! eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 clipplane
.ds Xs 34226 5 clipplane.gl
.TH GLCLIPPLANE 3G
.SH NAME
.B "glClipPlane
\- specify a plane against which all geometry is clipped
.SH C SPECIFICATION
void \f3glClipPlane\fP(
GLenum \fIplane\fP,
.nf
.ta \w'\f3void \fPglClipPlane( 'u
const GLdouble \fI*equation\fP )
.fi
.EQ
delim $$
.EN
.SH PARAMETERS
.TP \w'\fIequation\fP\ \ 'u
\f2plane\fP
Specifies which clipping plane is being positioned.
Symbolic names of the form \%\f3GL_CLIP_PLANE\fP\f2i\fP,
where \f2i\fP is an integer between 0 and \%\f3GL_MAX_CLIP_PLANES\fP$^-^1$,
are accepted.
.TP
\f2equation\fP
Specifies the address of an array of four double-precision floating-point values.
These values are interpreted as a plane equation.
.SH DESCRIPTION
Geometry is always clipped against the boundaries of a six-plane frustum
in \f2x\fP, \f2y\fP, and \f2z\fP.
\%\f3glClipPlane\fP allows the specification of additional planes,
not necessarily perpendicular to the \f2x\fP, \f2y\fP, or \f2z\fP axis,
against which all geometry is clipped.
To determine the maximum number of additional clipping planes, call
\%\f3glGetIntegerv\fP with argument \%\f3GL_MAX_CLIP_PLANES\fP. All
implementations support at least six such clipping planes.
Because the resulting clipping region is the intersection
of the defined half-spaces,
it is always convex.
.P
\%\f3glClipPlane\fP specifies a half-space using a four-component plane equation.
When \%\f3glClipPlane\fP is called,
\f2equation\fP is transformed by the inverse of the modelview matrix
and stored in the resulting eye coordinates.
Subsequent changes to the modelview matrix have no effect on the
stored plane-equation components.
If the dot product of the eye coordinates of a vertex with the
stored plane equation components is positive or zero,
the vertex is \f2in\f1 with respect to that clipping plane.
Otherwise, it is \f2out\fP.
.P
To enable and disable clipping planes, call
\%\f3glEnable\fP and \%\f3glDisable\fP with the argument
\%\f3GL_CLIP_PLANE\fP\f2i\fP,
where \f2i\fP is the plane number.
.P
All clipping planes are initially defined as (0, 0, 0, 0) in eye coordinates
and are disabled.
.SH NOTES
It is always the case that \%\f3GL_CLIP_PLANE\fP$i$ = \%\f3GL_CLIP_PLANE0\fP$~+~i$.
.SH ERRORS
\%\f3GL_INVALID_ENUM\fP is generated if \f2plane\fP is not an accepted value.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glClipPlane\fP
is executed between the execution of \%\f3glBegin\fP
and the corresponding execution of \%\f3glEnd\fP.
.SH ASSOCIATED GETS
\%\f3glGetClipPlane\fP
.br
\%\f3glIsEnabled\fP with argument \%\f3GL_CLIP_PLANE\fP\f2i\fP
.SH SEE ALSO
\%\f3glEnable(3G)\fP

View file

@ -1,269 +0,0 @@
'\" te
'\"! tbl|eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 color.gl
.ds Xs 48493 5 color.gl
.TH GLCOLOR 3G
.SH NAME
.B "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
\- set the current color
.SH C SPECIFICATION
void \f3glColor3b\fP(
GLbyte \fIred\fP,
.nf
.ta \w'\f3void \fPglColor3b( 'u
GLbyte \fIgreen\fP,
GLbyte \fIblue\fP )
.fi
void \f3glColor3d\fP(
GLdouble \fIred\fP,
.nf
.ta \w'\f3void \fPglColor3d( 'u
GLdouble \fIgreen\fP,
GLdouble \fIblue\fP )
.fi
void \f3glColor3f\fP(
GLfloat \fIred\fP,
.nf
.ta \w'\f3void \fPglColor3f( 'u
GLfloat \fIgreen\fP,
GLfloat \fIblue\fP )
.fi
void \f3glColor3i\fP(
GLint \fIred\fP,
.nf
.ta \w'\f3void \fPglColor3i( 'u
GLint \fIgreen\fP,
GLint \fIblue\fP )
.fi
void \f3glColor3s\fP(
GLshort \fIred\fP,
.nf
.ta \w'\f3void \fPglColor3s( 'u
GLshort \fIgreen\fP,
GLshort \fIblue\fP )
.fi
void \f3glColor3ub\fP(
GLubyte \fIred\fP,
.nf
.ta \w'\f3void \fPglColor3ub( 'u
GLubyte \fIgreen\fP,
GLubyte \fIblue\fP )
.fi
void \f3glColor3ui\fP(
GLuint \fIred\fP,
.nf
.ta \w'\f3void \fPglColor3ui( 'u
GLuint \fIgreen\fP,
GLuint \fIblue\fP )
.fi
void \f3glColor3us\fP(
GLushort \fIred\fP,
.nf
.ta \w'\f3void \fPglColor3us( 'u
GLushort \fIgreen\fP,
GLushort \fIblue\fP )
.fi
void \f3glColor4b\fP(
GLbyte \fIred\fP,
.nf
.ta \w'\f3void \fPglColor4b( 'u
GLbyte \fIgreen\fP,
GLbyte \fIblue\fP,
GLbyte \fIalpha\fP )
.fi
void \f3glColor4d\fP(
GLdouble \fIred\fP,
.nf
.ta \w'\f3void \fPglColor4d( 'u
GLdouble \fIgreen\fP,
GLdouble \fIblue\fP,
GLdouble \fIalpha\fP )
.fi
void \f3glColor4f\fP(
GLfloat \fIred\fP,
.nf
.ta \w'\f3void \fPglColor4f( 'u
GLfloat \fIgreen\fP,
GLfloat \fIblue\fP,
GLfloat \fIalpha\fP )
.fi
void \f3glColor4i\fP(
GLint \fIred\fP,
.nf
.ta \w'\f3void \fPglColor4i( 'u
GLint \fIgreen\fP,
GLint \fIblue\fP,
GLint \fIalpha\fP )
.fi
void \f3glColor4s\fP(
GLshort \fIred\fP,
.nf
.ta \w'\f3void \fPglColor4s( 'u
GLshort \fIgreen\fP,
GLshort \fIblue\fP,
GLshort \fIalpha\fP )
.fi
void \f3glColor4ub\fP(
GLubyte \fIred\fP,
.nf
.ta \w'\f3void \fPglColor4ub( 'u
GLubyte \fIgreen\fP,
GLubyte \fIblue\fP,
GLubyte \fIalpha\fP )
.fi
void \f3glColor4ui\fP(
GLuint \fIred\fP,
.nf
.ta \w'\f3void \fPglColor4ui( 'u
GLuint \fIgreen\fP,
GLuint \fIblue\fP,
GLuint \fIalpha\fP )
.fi
void \f3glColor4us\fP(
GLushort \fIred\fP,
.nf
.ta \w'\f3void \fPglColor4us( 'u
GLushort \fIgreen\fP,
GLushort \fIblue\fP,
GLushort \fIalpha\fP )
.fi
.EQ
delim $$
.EN
.SH PARAMETERS
.TP \w'\f2red\fP\ \f2green\fP\ \f2blue\fP\ \ 'u
\f2red\fP, \f2green\fP, \f2blue\fP
Specify new red, green, and blue values for the current color.
.TP
\f2alpha\fP
Specifies a new alpha value for the current color.
Included only in the four-argument \%\f3glColor4\fP commands.
.SH C SPECIFICATION
void \f3glColor3bv\fP(
const GLbyte \fI*v\fP )
.nf
.fi
void \f3glColor3dv\fP(
const GLdouble \fI*v\fP )
.nf
.fi
void \f3glColor3fv\fP(
const GLfloat \fI*v\fP )
.nf
.fi
void \f3glColor3iv\fP(
const GLint \fI*v\fP )
.nf
.fi
void \f3glColor3sv\fP(
const GLshort \fI*v\fP )
.nf
.fi
void \f3glColor3ubv\fP(
const GLubyte \fI*v\fP )
.nf
.fi
void \f3glColor3uiv\fP(
const GLuint \fI*v\fP )
.nf
.fi
void \f3glColor3usv\fP(
const GLushort \fI*v\fP )
.nf
.fi
void \f3glColor4bv\fP(
const GLbyte \fI*v\fP )
.nf
.fi
void \f3glColor4dv\fP(
const GLdouble \fI*v\fP )
.nf
.fi
void \f3glColor4fv\fP(
const GLfloat \fI*v\fP )
.nf
.fi
void \f3glColor4iv\fP(
const GLint \fI*v\fP )
.nf
.fi
void \f3glColor4sv\fP(
const GLshort \fI*v\fP )
.nf
.fi
void \f3glColor4ubv\fP(
const GLubyte \fI*v\fP )
.nf
.fi
void \f3glColor4uiv\fP(
const GLuint \fI*v\fP )
.nf
.fi
void \f3glColor4usv\fP(
const GLushort \fI*v\fP )
.nf
.fi
.SH PARAMETERS
.TP
\f2v\fP
Specifies a pointer to an array that contains red, green, blue,
and (sometimes) alpha values.
.SH DESCRIPTION
The GL stores both a current single-valued color index
and a current four-valued RGBA color.
\%\f3glColor\fP sets a new four-valued RGBA color.
\%\f3glColor\fP has two major variants:
\%\f3glColor3\fP and \%\f3glColor4\fP.
\%\f3glColor3\fP variants specify new red,
green,
and blue values explicitly
and set the current alpha value to 1.0 (full intensity) implicitly.
\%\f3glColor4\fP variants specify all four color components explicitly.
.P
\%\f3glColor3b\fP, \%\f3glColor4b\fP,
\%\f3glColor3s\fP, \%\f3glColor4s\fP, \%\f3glColor3i\fP, and \%\f3glColor4i\fP take
three or four signed byte, short, or long integers as arguments.
When \f3v\fP is appended to the name,
the color commands can take a pointer to an array of such values.
.P
Current color values are stored in floating-point ,
with unspecified mantissa and exponent sizes.
Unsigned integer color components,
when specified,
are linearly mapped to floating-point values such that the largest
representable value maps to 1.0 (full intensity),
and 0 maps to 0.0 (zero intensity).
Signed integer color components,
when specified,
are linearly mapped to floating-point values such that the most positive
representable value maps to 1.0,
and the most negative representable value maps to \-1.0. (Note that
this mapping does not convert 0 precisely to 0.0.)
Floating-point values are mapped directly.
.P
Neither floating-point nor signed integer values are clamped
to the range [0,1] before the current color is updated.
However,
color components are clamped to this range before they are interpolated
or written into a color buffer.
.SH NOTES
The initial value for the current color is (1, 1, 1, 1).
.P
The current color can be updated at any time.
In particular,
\%\f3glColor\fP can be called between a call to \%\f3glBegin\fP and the corresponding
call to \%\f3glEnd\fP.
.SH ASSOCIATED GETS
\%\f3glGet\fP with argument \%\f3GL_CURRENT_COLOR\fP
.br
\%\f3glGet\fP with argument \%\f3GL_RGBA_MODE\fP
.SH SEE ALSO
\%\f3glIndex(3G)\fP

View file

@ -1,58 +0,0 @@
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 colormask
.ds Xs 41408 4 colormask.gl
.TH GLCOLORMASK 3G
.SH NAME
.B "glColorMask
\- enable and disable writing of frame buffer color components
.SH C SPECIFICATION
void \f3glColorMask\fP(
GLboolean \fIred\fP,
.nf
.ta \w'\f3void \fPglColorMask( 'u
GLboolean \fIgreen\fP,
GLboolean \fIblue\fP,
GLboolean \fIalpha\fP )
.fi
.SH PARAMETERS
.TP \w'\f2red\fP\ \f2green\fP\ \f2blue\fP\ \f2alpha\fP\ \ 'u
\f2red\fP, \f2green\fP, \f2blue\fP, \f2alpha\fP
Specify whether red, green, blue, and alpha can or cannot be written
into the frame buffer.
The initial values are all \%\f3GL_TRUE\fP,
indicating that the color components can be written.
.SH DESCRIPTION
\%\f3glColorMask\fP specifies whether the individual color components in the frame buffer
can or cannot be written.
If \f2red\fP is \%\f3GL_FALSE\fP,
for example,
no change is made to the red component of any pixel in any of the
color buffers,
regardless of the drawing operation attempted.
.P
Changes to individual bits of components cannot be controlled.
Rather,
changes are either enabled or disabled for entire color components.
.SH ERRORS
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glColorMask\fP
is executed between the execution of \%\f3glBegin\fP
and the corresponding execution of \%\f3glEnd\fP.
.SH ASSOCIATED GETS
\%\f3glGet\fP with argument \%\f3GL_COLOR_WRITEMASK\fP
.br
\%\f3glGet\fP with argument \%\f3GL_RGBA_MODE\fP
.SH SEE ALSO
\%\f3glClear(3G)\fP,
\%\f3glColor(3G)\fP,
\%\f3glColorPointer(3G)\fP,
\%\f3glDepthMask(3G)\fP,
\%\f3glIndex(3G)\fP,
\%\f3glIndexPointer(3G)\fP,
\%\f3glIndexMask(3G)\fP,
\%\f3glStencilMask(3G)\fP

View file

@ -1,94 +0,0 @@
'\" te
'\"! tbl|eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 colormate
.ds Xs 35305 5 colormaterial.gl
.TH GLCOLORMATERIAL 3G
.SH NAME
.B "glColorMaterial
\- cause a material color to track the current color
.SH C SPECIFICATION
void \f3glColorMaterial\fP(
GLenum \fIface\fP,
.nf
.ta \w'\f3void \fPglColorMaterial( 'u
GLenum \fImode\fP )
.fi
.SH PARAMETERS
.TP \w'\f2face\fP\ \ 'u
\f2face\fP
Specifies whether front,
back,
or both front and back material parameters should track the current color.
Accepted values are
\%\f3GL_FRONT\fP,
\%\f3GL_BACK\fP,
and \%\f3GL_FRONT_AND_BACK\fP.
The initial value is \%\f3GL_FRONT_AND_BACK\fP.
.TP
\f2mode\fP
Specifies which of several material parameters track the current color.
Accepted values are
\%\f3GL_EMISSION\fP,
\%\f3GL_AMBIENT\fP,
\%\f3GL_DIFFUSE\fP,
\%\f3GL_SPECULAR\fP,
and \%\f3GL_AMBIENT_AND_DIFFUSE\fP.
The initial value is \%\f3GL_AMBIENT_AND_DIFFUSE\fP.
.SH DESCRIPTION
\%\f3glColorMaterial\fP specifies which material parameters track the current color.
When \%\f3GL_COLOR_MATERIAL\fP is enabled,
the material parameter or parameters specified by \f2mode\fP,
of the material or materials specified by \f2face\fP,
track the current color at all times.
.P
To enable and disable \%\f3GL_COLOR_MATERIAL\fP, call
\%\f3glEnable\fP and \%\f3glDisable\fP with argument \%\f3GL_COLOR_MATERIAL\fP.
\%\f3GL_COLOR_MATERIAL\fP is initially disabled.
.SH NOTES
\%\f3glColorMaterial\fP makes it possible to change a subset of material parameters for each
vertex using only the \%\f3glColor\fP command,
without calling \%\f3glMaterial\fP.
If only such a subset of parameters is to be specified for each
vertex, calling \%\f3glColorMaterial\fP is preferable to calling \%\f3glMaterial\fP.
.P
Call \%\f3glColorMaterial\fP before enabling \%\f3GL_COLOR_MATERIAL\fP.
.P
Calling \%\f3glDrawElements\fP, \%\f3glDrawArrays\fP, or \%\f3glDrawRangeElements\fP
may leave the current color indeterminate, if the color array is enabled.
If
\%\f3glColorMaterial\fP is enabled while the current color is indeterminate, the
lighting material state specified by \f2face\fP and \f2mode\fP is also indeterminate.
.P
If the GL version is 1.1 or greater, and \%\f3GL_COLOR_MATERIAL\fP is
enabled, evaluated color values affect the results of the lighting
equation as if the current color were being modified, but no change is
made to the tracking lighting parameter of the current color.
.SH ERRORS
\%\f3GL_INVALID_ENUM\fP is generated if \f2face\fP or \f2mode\fP is not an
accepted value.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glColorMaterial\fP is executed between
the execution of \%\f3glBegin\fP and the corresponding execution of \%\f3glEnd\fP.
.SH ASSOCIATED GETS
\%\f3glIsEnabled\fP with argument \%\f3GL_COLOR_MATERIAL\fP
.br
\%\f3glGet\fP with argument \%\f3GL_COLOR_MATERIAL_PARAMETER\fP
.br
\%\f3glGet\fP with argument \%\f3GL_COLOR_MATERIAL_FACE\fP
.SH SEE ALSO
\%\f3glColor(3G)\fP,
\%\f3glColorPointer(3G)\fP,
\%\f3glDrawArrays(3G)\fP,
\%\f3glDrawElements(3G)\fP,
\%\f3glDrawRangeElements(3G)\fP,
\%\f3glEnable(3G)\fP,
\%\f3glLight(3G)\fP,
\%\f3glLightModel(3G)\fP,
\%\f3glMaterial(3G)\fP

View file

@ -1,123 +0,0 @@
'\" te
'\"! tbl|eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 colorpoin
.ds Xs 1769 6 colorpointer.gl
.TH GLCOLORPOINTER 3G
.SH NAME
.B "glColorPointer
\- define an array of colors
.SH C SPECIFICATION
void \f3glColorPointer\fP(
GLint \fIsize\fP,
.nf
.ta \w'\f3void \fPglColorPointer( 'u
GLenum \fItype\fP,
GLsizei \fIstride\fP,
const GLvoid \fI*ptr\fP )
.fi
.EQ
delim $$
.EN
.SH PARAMETERS
.TP \w'\fIstride\fP\ \ 'u
\f2size\fP
Specifies the number of components per color. Must be 3 or 4.
The initial value is 4.
.TP
\f2type\fP
Specifies the data type of each color component in the array.
Symbolic constants
\%\f3GL_BYTE\fP,
\%\f3GL_UNSIGNED_BYTE\fP,
\%\f3GL_SHORT\fP,
\%\f3GL_UNSIGNED_SHORT\fP,
\%\f3GL_INT\fP,
\%\f3GL_UNSIGNED_INT\fP,
\%\f3GL_FLOAT\fP,
and
\%\f3GL_DOUBLE\fP
are accepted.
The initial value is \%\f3GL_FLOAT\fP.
.TP
\f2stride\fP
Specifies the byte offset between consecutive colors.
If \f2stride\fP is 0 (the initial value), the colors are understood to be
tightly packed in the array. The initial value is 0.
.TP
\f2ptr\fP
Specifies a pointer to the first component of the first color element
in the array.
.SH DESCRIPTION
\%\f3glColorPointer\fP specifies the location and data of an array of color components
to use when rendering.
\f2size\fP specifies the number of components per color, and must be 3 or 4.
\f2type\fP specifies the data type of each color component, and \f2stride\fP
specifies the byte stride from one color to the next allowing vertices and
attributes to be packed into a single array or stored in separate arrays.
(Single-array storage may be more efficient on some implementations;
see \%\f3glInterleavedArrays\fP.)
.P
When a color array is specified,
\f2size\fP, \f2type\fP, \f2stride\fP, and \f2ptr\fP are saved as client-side
state.
.P
To enable and disable the color array, call \%\f3glEnableClientState\fP and
.br
\%\f3glDisableClientState\fP with the argument \%\f3GL_COLOR_ARRAY\fP. If
enabled, the color array is used when \%\f3glDrawArrays\fP,
\%\f3glDrawElements\fP, \%\f3glDrawRangeElements\fP, or \%\f3glArrayElement\fP is
called.
.SH NOTES
\%\f3glColorPointer\fP is available only if the GL version is 1.1 or greater.
.P
The color array is initially disabled and isn't accessed when
\%\f3glArrayElement\fP, \%\f3glDrawArrays\fP, \%\f3glDrawRangeElements\fP,
or \%\f3glDrawElements\fP is called.
.P
Execution of \%\f3glColorPointer\fP is not allowed between the execution of
\%\f3glBegin\fP and the corresponding execution of \%\f3glEnd\fP,
but an error may or may not be generated. If no error is generated,
the operation is undefined.
.P
\%\f3glColorPointer\fP is typically implemented on the client side.
.P
Color array parameters are client-side state and are therefore not saved
or restored by \%\f3glPushAttrib\fP and \%\f3glPopAttrib\fP.
Use \%\f3glPushClientAttrib\fP and \%\f3glPopClientAttrib\fP instead.
.SH ERRORS
\%\f3GL_INVALID_VALUE\fP is generated if \f2size\fP is not 3 or 4.
.P
\%\f3GL_INVALID_ENUM\fP is generated if \f2type\fP is not an accepted value.
.P
\%\f3GL_INVALID_VALUE\fP is generated if \f2stride\fP is negative.
.SH ASSOCIATED GETS
\%\f3glIsEnabled\fP with argument \%\f3GL_COLOR_ARRAY\fP
.br
\%\f3glGet\fP with argument \%\f3GL_COLOR_ARRAY_SIZE\fP
.br
\%\f3glGet\fP with argument \%\f3GL_COLOR_ARRAY_TYPE\fP
.br
\%\f3glGet\fP with argument \%\f3GL_COLOR_ARRAY_STRIDE\fP
.br
\%\f3glGetPointerv\fP with argument \%\f3GL_COLOR_ARRAY_POINTER\fP
.SH SEE ALSO
\%\f3glArrayElement(3G)\fP,
\%\f3glDrawArrays(3G)\fP,
\%\f3glDrawElements(3G)\fP,
\%\f3glEdgeFlagPointer(3G)\fP,
\%\f3glEnable(3G)\fP,
\%\f3glGetPointerv(3G)\fP,
\%\f3glIndexPointer(3G)\fP,
\%\f3glInterleavedArrays(3G)\fP,
\%\f3glNormalPointer(3G)\fP,
\%\f3glPopClientAttrib(3G)\fP,
\%\f3glPushClientAttrib(3G)\fP,
\%\f3glTexCoordPointer(3G)\fP,
\%\f3glVertexPointer(3G)\fP

View file

@ -1,116 +0,0 @@
'\" t
'\"! tbl | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 colorsubt
.ds Xs 37035 5 colorsubtable.gl
.TH GLCOLORSUBTABLE 3G
.SH NAME
.B "glColorSubTable
\- respecify a portion of a color table
.SH C SPECIFICATION
void \f3glColorSubTable\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglColorSubTable( 'u
GLsizei \fIstart\fP,
GLsizei \fIcount\fP,
GLenum \fIformat\fP,
GLenum \fItype\fP,
const GLvoid \fI*data\fP )
.fi
.SH PARAMETERS
.TP \w'\f2target\fP\ \ 'u
\f2target\fP
Must be one of
\%\f3GL_COLOR_TABLE\fP,
\%\f3GL_POST_CONVOLUTION_COLOR_TABLE\fP, or
\%\f3GL_POST_COLOR_MATRIX_COLOR_TABLE\fP.
.TP
\f2start\fP
The starting index of the portion of the color table to be replaced.
.TP
\f2count\fP
The number of table entries to replace.
.TP
\f2format\fP
The of the pixel data in \f2data\fP.
The allowable values are
\%\f3GL_RED\fP,
\%\f3GL_GREEN\fP,
\%\f3GL_BLUE\fP,
\%\f3GL_ALPHA\fP,
\%\f3GL_LUMINANCE\fP,
\%\f3GL_LUMINANCE_ALPHA\fP,
\%\f3GL_RGB\fP,
\%\f3GL_BGR\fP,
\%\f3GL_RGBA\fP, and
\%\f3GL_BGRA\fP.
.TP
\f2type\fP
The type of the pixel data in \f2data\fP.
The allowable values are
\%\f3GL_UNSIGNED_BYTE\fP,
\%\f3GL_BYTE\fP,
\%\f3GL_UNSIGNED_SHORT\fP,
\%\f3GL_SHORT\fP,
\%\f3GL_UNSIGNED_INT\fP,
\%\f3GL_INT\fP,
\%\f3GL_FLOAT\fP,
\%\f3GL_UNSIGNED_BYTE_3_3_2\fP,
\%\f3GL_UNSIGNED_BYTE_2_3_3_REV\fP,
\%\f3GL_UNSIGNED_SHORT_5_6_5\fP,
\%\f3GL_UNSIGNED_SHORT_5_6_5_REV\fP,
\%\f3GL_UNSIGNED_SHORT_4_4_4_4\fP,
\%\f3GL_UNSIGNED_SHORT_4_4_4_4_REV\fP,
\%\f3GL_UNSIGNED_SHORT_5_5_5_1\fP,
\%\f3GL_UNSIGNED_SHORT_1_5_5_5_REV\fP,
\%\f3GL_UNSIGNED_INT_8_8_8_8\fP,
\%\f3GL_UNSIGNED_INT_8_8_8_8_REV\fP,
\%\f3GL_UNSIGNED_INT_10_10_10_2\fP, and
\%\f3GL_UNSIGNED_INT_2_10_10_10_REV\fP.
.TP
\f2data\fP
Pointer to a one-dimensional array of pixel data that is processed to
replace the specified region of the color table.
.SH DESCRIPTION
\%\f3glColorSubTable\fP is used to respecify a contiguous portion of a color table previously
defined using \%\f3glColorTable\fP. The pixels referenced by \f2data\fP replace the
portion of the existing table from indices \f2start\fP to
$"start"~+~"count"~-~1$, inclusive. This region may not include any
entries outside the range of the color table as it was originally specified.
It is not an error to specify a subtexture with width of 0, but such a
specification has no effect.
.SH NOTES
\%\f3glColorSubTable\fP is present only if \%\f3GL_ARB_imaging\fP is returned when \%\f3glGetString\fP
is called with an argument of \%\f3GL_EXTENSIONS\fP.
.P
.SH ERRORS
\%\f3GL_INVALID_ENUM\fP is generated if \f2target\fP is not one of the allowable
values.
.P
\%\f3GL_INVALID_VALUE\fP is generated if $"start"~+~"count"~>~width$.
.P
\%\f3GL_INVALID_ENUM\fP is generated if \f2format\fP is not one of the allowable
values.
.P
\%\f3GL_INVALID_ENUM\fP is generated if \f2type\fP is not one of the allowable
values.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glColorSubTable\fP is executed
between the execution of \%\f3glBegin\fP and the corresponding
execution of \%\f3glEnd\fP.
.SH ASSOCIATED GETS
\%\f3glGetColorTable\fP,
\%\f3glGetColorTableParameter\fP
.SH SEE ALSO
\%\f3glColorSubTable(3G)\fP,
\%\f3glColorTableParameter(3G)\fP,
\%\f3glCopyColorTable(3G)\fP,
\%\f3glCopyColorSubTable(3G)\fP,
\%\f3glGetColorTable(3G)\fP

View file

@ -1,306 +0,0 @@
'\" t
'\"! tbl | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 colortabl
.ds Xs 60942 11 colortable.gl
.TH GLCOLORTABLE 3G
.SH NAME
.B "glColorTable
\- define a color lookup table
.SH C SPECIFICATION
void \f3glColorTable\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglColorTable( 'u
GLenum \fIinternalformat\fP,
GLsizei \fIwidth\fP,
GLenum \fIformat\fP,
GLenum \fItype\fP,
const GLvoid \fI*table\fP )
.fi
.SH PARAMETERS
.TP \w'\fIinternalformat\fP\ \ 'u
\f2target\fP
Must be one of
\%\f3GL_COLOR_TABLE\fP,
\%\f3GL_POST_CONVOLUTION_COLOR_TABLE\fP,
\%\f3GL_POST_COLOR_MATRIX_COLOR_TABLE\fP,
\%\f3GL_PROXY_COLOR_TABLE\fP,
\%\f3GL_PROXY_POST_CONVOLUTION_COLOR_TABLE\fP,
or
\%\f3GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE\fP.
.TP
\f2internalformat\fP
The internal of the color table.
The allowable values are
\%\f3GL_ALPHA\fP,
\%\f3GL_ALPHA4\fP,
\%\f3GL_ALPHA8\fP,
\%\f3GL_ALPHA12\fP,
\%\f3GL_ALPHA16\fP,
\%\f3GL_LUMINANCE\fP,
\%\f3GL_LUMINANCE4\fP,
\%\f3GL_LUMINANCE8\fP,
\%\f3GL_LUMINANCE12\fP,
\%\f3GL_LUMINANCE16\fP,
\%\f3GL_LUMINANCE_ALPHA\fP,
\%\f3GL_LUMINANCE4_ALPHA4\fP,
\%\f3GL_LUMINANCE6_ALPHA2\fP,
\%\f3GL_LUMINANCE8_ALPHA8\fP,
\%\f3GL_LUMINANCE12_ALPHA4\fP,
\%\f3GL_LUMINANCE12_ALPHA12\fP,
\%\f3GL_LUMINANCE16_ALPHA16\fP,
\%\f3GL_INTENSITY\fP,
\%\f3GL_INTENSITY4\fP,
\%\f3GL_INTENSITY8\fP,
\%\f3GL_INTENSITY12\fP,
\%\f3GL_INTENSITY16\fP,
\%\f3GL_R3_G3_B2\fP,
\%\f3GL_RGB\fP,
\%\f3GL_RGB4\fP,
\%\f3GL_RGB5\fP,
\%\f3GL_RGB8\fP,
\%\f3GL_RGB10\fP,
\%\f3GL_RGB12\fP,
\%\f3GL_RGB16\fP,
\%\f3GL_RGBA\fP,
\%\f3GL_RGBA2\fP,
\%\f3GL_RGBA4\fP,
\%\f3GL_RGB5_A1\fP,
\%\f3GL_RGBA8\fP,
\%\f3GL_RGB10_A2\fP,
\%\f3GL_RGBA12\fP, and
\%\f3GL_RGBA16\fP.
.TP
\f2width\fP
The number of entries in the color lookup table specified by \f2table\fP.
.TP
\f2format\fP
The of the pixel data in \f2table\fP.
The allowable values are
\%\f3GL_RED\fP,
\%\f3GL_GREEN\fP,
\%\f3GL_BLUE\fP,
\%\f3GL_ALPHA\fP,
\%\f3GL_LUMINANCE\fP,
\%\f3GL_LUMINANCE_ALPHA\fP,
\%\f3GL_RGB\fP,
\%\f3GL_BGR\fP,
\%\f3GL_RGBA\fP, and
\%\f3GL_BGRA\fP.
.TP
\f2type\fP
The type of the pixel data in \f2table\fP.
The allowable values are
\%\f3GL_UNSIGNED_BYTE\fP,
\%\f3GL_BYTE\fP,
\%\f3GL_UNSIGNED_SHORT\fP,
\%\f3GL_SHORT\fP,
\%\f3GL_UNSIGNED_INT\fP,
\%\f3GL_INT\fP,
\%\f3GL_FLOAT\fP,
\%\f3GL_UNSIGNED_BYTE_3_3_2\fP,
\%\f3GL_UNSIGNED_BYTE_2_3_3_REV\fP,
\%\f3GL_UNSIGNED_SHORT_5_6_5\fP,
\%\f3GL_UNSIGNED_SHORT_5_6_5_REV\fP,
\%\f3GL_UNSIGNED_SHORT_4_4_4_4\fP,
\%\f3GL_UNSIGNED_SHORT_4_4_4_4_REV\fP,
\%\f3GL_UNSIGNED_SHORT_5_5_5_1\fP,
\%\f3GL_UNSIGNED_SHORT_1_5_5_5_REV\fP,
\%\f3GL_UNSIGNED_INT_8_8_8_8\fP,
\%\f3GL_UNSIGNED_INT_8_8_8_8_REV\fP,
\%\f3GL_UNSIGNED_INT_10_10_10_2\fP, and
\%\f3GL_UNSIGNED_INT_2_10_10_10_REV\fP.
.TP
\f2table\fP
Pointer to a one-dimensional array of pixel data that is processed to
build the color table.
.SH DESCRIPTION
\%\f3glColorTable\fP may be used in two ways:
to test the actual size and color resolution of a lookup table
given a particular set of parameters,
or to load the contents of a color lookup
table.
Use the targets \%\f3GL_PROXY_*\fP for the first case
and the other targets for the second case.
.P
If \f2target\fP is \%\f3GL_COLOR_TABLE\fP,
\%\f3GL_POST_CONVOLUTION_COLOR_TABLE\fP,
or
\%\f3GL_POST_COLOR_MATRIX_COLOR_TABLE\fP,
\%\f3glColorTable\fP builds a color lookup table from an array of pixels.
The pixel array specified by \f2width\fP, \f2format\fP, \f2type\fP, and \f2table\fP
is extracted from memory and
processed just as if \%\f3glDrawPixels\fP were called, but processing
stops after the final expansion to RGBA is completed.
.P
The four scale parameters and the four bias parameters that are defined
for the table are then used to scale and bias the R, G, B, and A components
of each pixel.
(Use \%\f3glColorTableParameter\fP to set these scale and bias
parameters.)
.P
Next, the R, G, B, and A values are clamped to the range [0,\ 1].
Each pixel is then converted to the internal specified by
\f2internalformat\fP.
This conversion simply maps the component values of the pixel (R, G, B,
and A) to the values included in the internal (red, green, blue,
alpha, luminance, and intensity). The mapping is as follows:
.P
.TS
center;
lb cb cb cb cb cb cb
l c c c c c c.
_
Internal Format Red Green Blue Alpha Luminance Intensity
_
\%\f3GL_ALPHA\fP A
\%\f3GL_LUMINANCE\fP R
\%\f3GL_LUMINANCE_ALPHA\fP A R
\%\f3GL_INTENSITY\fP R
\%\f3GL_RGB\fP R G B
\%\f3GL_RGBA\fP R G B A
_
.TE
.P
Finally, the red, green, blue, alpha, luminance, and/or intensity components of
the resulting pixels are stored in the color table.
They form a one-dimensional table with indices in the range
[0,\ \f2width\fP\ \-\ 1].
.P
If \f2target\fP is \%\f3GL_PROXY_*\fP,
\%\f3glColorTable\fP recomputes and stores the values of the proxy color table's state
variables
\%\f3GL_COLOR_TABLE_FORMAT\fP,
\%\f3GL_COLOR_TABLE_WIDTH\fP,
\%\f3GL_COLOR_TABLE_RED_SIZE\fP,
\%\f3GL_COLOR_TABLE_GREEN_SIZE\fP,
\%\f3GL_COLOR_TABLE_BLUE_SIZE\fP,
\%\f3GL_COLOR_TABLE_ALPHA_SIZE\fP,
\%\f3GL_COLOR_TABLE_LUMINANCE_SIZE\fP, and
\%\f3GL_COLOR_TABLE_INTENSITY_SIZE\fP.
There is no effect on the image or state of any actual color table.
If the specified color table is too large to be supported, then all the
proxy state variables listed above are set to zero.
Otherwise, the color table could be supported by \%\f3glColorTable\fP
using the corresponding non-proxy target,
and the proxy state variables are set as if that target were being defined.
.P
The proxy state variables can be retrieved by calling
\%\f3glGetColorTableParameter\fP with a target of
\%\f3GL_PROXY_*\fP.
This allows the application to decide if a particular \%\f3glColorTable\fP
command would succeed, and to determine what the resulting color table
attributes would be.
.P
If a color table is enabled, and its width is non-zero, then its
contents are used to replace a subset of the components of each RGBA
pixel group, based on the internal of the table.
.P
Each pixel group has color components (R, G, B, A)
that are in the range [0.0,\ 1.0].
The color components are rescaled to
the size of the color lookup table to form an index.
Then a subset of the components based on the internal of the table are
replaced by the table entry selected by that index.
If the color components and contents of the table are represented as follows:
.P
.TS
center;
cb cb
c l.
_
Representation Meaning
_
\f7r\fP Table index computed from \f7R\fP
\f7g\fP Table index computed from \f7G\fP
\f7b\fP Table index computed from \f7B\fP
\f7a\fP Table index computed from \f7A\fP
\f7L[i]\fP Luminance value at table index \f7i\fP
\f7I[i]\fP Intensity value at table index \f7i\fP
\f7R[i]\fP Red value at table index \f7i\fP
\f7G[i]\fP Green value at table index \f7i\fP
\f7B[i]\fP Blue value at table index \f7i\fP
\f7A[i]\fP Alpha value at table index \f7i\fP
_
.TE
.P
then the result of color table lookup is as follows:
.P
.ne 10
.TS
center;
l l s s s
l l l l l
l l l l l.
_
Resulting Texture Components
Table Internal Format R G B A
_
\%\f3GL_ALPHA\fP R G B A[a]
\%\f3GL_LUMINANCE\fP L[r] L[g] L[b] At
\%\f3GL_LUMINANCE_ALPHA\fP L[r] L[g] L[b] A[a]
\%\f3GL_INTENSITY\fP I[r] I[g] I[b] I[a]
\%\f3GL_RGB\fP R[r] G[g] B[b] A
\%\f3GL_RGBA\fP R[r] G[g] B[b] A[a]
_
.TE
.P
When \%\f3GL_COLOR_TABLE\fP is enabled, the colors resulting from
the pixel map operation (if it is enabled) are mapped
by the color lookup table before being passed to the convolution
operation. The colors resulting from the convolution operation
are modified by the post convolution color lookup table when
\%\f3GL_POST_CONVOLUTION_COLOR_TABLE\fP
is enabled. These modified colors are then sent to the color matrix operation.
Finally, if \%\f3GL_POST_COLOR_MATRIX_COLOR_TABLE\fP
is enabled, the colors resulting from the color matrix operation
are mapped by the post color matrix color lookup table before being
used by the histogram operation.
.P
.SH NOTES
\%\f3glColorTable\fP is present only if \%\f3GL_ARB_imaging\fP is returned when \%\f3glGetString\fP
is called with an argument of \%\f3GL_EXTENSIONS\fP.
.P
If \f2target\fP is set to \%\f3GL_COLOR_TABLE\fP,
\%\f3GL_POST_CONVOLUTION_COLOR_TABLE\fP,
or \%\f3GL_POST_COLOR_MATRIX_COLOR_TABLE\fP,
then \f2width\fP must be a power of two or a \%\f3GL_INVALID_VALUE\fP
error is generated.
.P
.SH ERRORS
\%\f3GL_INVALID_ENUM\fP is generated if \f2target\fP is not one of the allowable
values.
.P
\%\f3GL_INVALID_ENUM\fP is generated if \f2internalformat\fP is not one of the
allowable values.
.P
\%\f3GL_INVALID_VALUE\fP is generated if \f2width\fP is less than zero.
.P
\%\f3GL_INVALID_ENUM\fP is generated if \f2format\fP is not one of the allowable
values.
.P
\%\f3GL_INVALID_ENUM\fP is generated if \f2type\fP is not one of the allowable
values.
.P
\%\f3GL_TABLE_TOO_LARGE\fP is generated if the requested color table
is too large to be supported by the implementation, and \f2target\fP is
not a \%\f3GL_PROXY_*\fP target.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glColorTable\fP is executed
between the execution of \%\f3glBegin\fP and the corresponding
execution of \%\f3glEnd\fP.
.SH ASSOCIATED GETS
\%\f3glGetColorTableParameter\fP
.SH SEE ALSO
\%\f3glColorSubTable(3G)\fP,
\%\f3glColorTableParameter(3G)\fP,
\%\f3glCopyColorTable(3G)\fP,
\%\f3glCopyColorSubTable(3G)\fP,
\%\f3glGetColorTable(3G)\fP

View file

@ -1,86 +0,0 @@
'\" te
'\"! tbl | eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 19:42
.ds Dm 01 colortabl
.ds Xs 4422 4 colortableparameter.gl
.TH GLCOLORTABLEPARAMETER 3G
.SH NAME
.B "glColorTableParameteriv, glColorTableParameterfv
\- set color lookup table parameters
.SH C SPECIFICATION
void \f3glColorTableParameteriv\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglColorTableParameteriv( 'u
GLenum \fIpname\fP,
const GLint \fI*params\fP )
.fi
void \f3glColorTableParameterfv\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglColorTableParameterfv( 'u
GLenum \fIpname\fP,
const GLfloat \fI*params\fP )
.fi
.EQ
delim $$
.EN
.SH PARAMETERS
.TP \w'\f2target\fP\ \ 'u
\f2target\fP
The target color table.
Must be
\%\f3GL_COLOR_TABLE\fP,
\%\f3GL_POST_CONVOLUTION_COLOR_TABLE\fP, or
\%\f3GL_POST_COLOR_MATRIX_COLOR_TABLE\fP.
.TP
\f2pname\fP
The symbolic name of a texture color lookup table parameter.
Must be one of
\%\f3GL_COLOR_TABLE_SCALE\fP or
\%\f3GL_COLOR_TABLE_BIAS\fP.
.TP
\f2params\fP
A pointer to an array where the values of the parameters are stored.
.SH DESCRIPTION
\%\f3glColorTableParameter\fP is used to specify the scale factors and bias terms applied to
color components when they are loaded into a color table. \f2target\fP
indicates which color table the scale and bias terms apply to; it
must be set to
\%\f3GL_COLOR_TABLE\fP,
\%\f3GL_POST_CONVOLUTION_COLOR_TABLE\fP, or
\%\f3GL_POST_COLOR_MATRIX_COLOR_TABLE\fP.
.P
\f2pname\fP must be \%\f3GL_COLOR_TABLE_SCALE\fP to set the
scale factors.
In this case, \f2params\fP points to an array of four values, which are
the scale factors for red, green, blue, and alpha, in that order.
.P
\f2pname\fP must be \%\f3GL_COLOR_TABLE_BIAS\fP to set the
bias terms. In this case,
\f2params\fP points to an array of four values, which are the bias
terms for red, green, blue, and alpha, in that order.
.P
The color tables themselves are specified by
calling \%\f3glColorTable\fP.
.SH NOTES
\%\f3glColorTableParameter\fP is available only if \%\f3GL_ARB_imaging\fP is returned from calling
\%\f3glGetString\fP with an argument of \%\f3GL_EXTENSIONS\fP.
.SH ERRORS
\%\f3GL_INVALID_ENUM\fP is generated if \f2target\fP or \f2pname\fP is not
an acceptable value.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glColorTableParameter\fP is executed
between the execution of \%\f3glBegin\fP and the corresponding
execution of \%\f3glEnd\fP.
.SH ASSOCIATED GETS
\%\f3glGetColorTableParameter\fP
.SH SEE ALSO
\%\f3glColorTable(3G)\fP,
\%\f3glPixelTransfer(3G)\fP

View file

@ -1,220 +0,0 @@
'\" t
'\"! tbl | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 convoluti
.ds Xs 19959 8 convolutionfilter1d.gl
.TH GLCONVOLUTIONFILTER1D 3G
.SH NAME
.B "glConvolutionFilter1D
\- define a one-dimensional convolution filter
.SH C SPECIFICATION
void \f3glConvolutionFilter1D\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglConvolutionFilter1D( 'u
GLenum \fIinternalformat\fP,
GLsizei \fIwidth\fP,
GLenum \fIformat\fP,
GLenum \fItype\fP,
const GLvoid \fI*image\fP )
.fi
.SH PARAMETERS
.TP \w'\fIinternalformat\fP\ \ 'u
\f2target\fP
Must be \%\f3GL_CONVOLUTION_1D\fP.
.TP
\f2internalformat\fP
The internal of the convolution filter kernel.
The allowable values are
\%\f3GL_ALPHA\fP,
\%\f3GL_LUMINANCE\fP,
\%\f3GL_LUMINANCE_ALPHA\fP,
\%\f3GL_INTENSITY\fP,
\%\f3GL_RGB\fP, and
\%\f3GL_RGBA\fP.
.TP
\f2width\fP
The width of the pixel array referenced by \f2image\fP.
.TP
\f2format\fP
The of the pixel data in \f2image\fP.
The allowable values are
\%\f3GL_ALPHA\fP,
\%\f3GL_ALPHA4\fP,
\%\f3GL_ALPHA8\fP,
\%\f3GL_ALPHA12\fP,
\%\f3GL_ALPHA16\fP,
\%\f3GL_LUMINANCE\fP,
\%\f3GL_LUMINANCE4\fP,
\%\f3GL_LUMINANCE8\fP,
\%\f3GL_LUMINANCE12\fP,
\%\f3GL_LUMINANCE16\fP,
\%\f3GL_LUMINANCE_ALPHA\fP,
\%\f3GL_LUMINANCE4_ALPHA4\fP,
\%\f3GL_LUMINANCE6_ALPHA2\fP,
\%\f3GL_LUMINANCE8_ALPHA8\fP,
\%\f3GL_LUMINANCE12_ALPHA4\fP,
\%\f3GL_LUMINANCE12_ALPHA12\fP,
\%\f3GL_LUMINANCE16_ALPHA16\fP,
\%\f3GL_INTENSITY\fP,
\%\f3GL_INTENSITY4\fP,
\%\f3GL_INTENSITY8\fP,
\%\f3GL_INTENSITY12\fP,
\%\f3GL_INTENSITY16\fP,
\%\f3GL_R3_G3_B2\fP,
\%\f3GL_RGB\fP,
\%\f3GL_RGB4\fP,
\%\f3GL_RGB5\fP,
\%\f3GL_RGB8\fP,
\%\f3GL_RGB10\fP,
\%\f3GL_RGB12\fP,
\%\f3GL_RGB16\fP,
\%\f3GL_RGBA\fP,
\%\f3GL_RGBA2\fP,
\%\f3GL_RGBA4\fP,
\%\f3GL_RGB5_A1\fP,
\%\f3GL_RGBA8\fP,
\%\f3GL_RGB10_A2\fP,
\%\f3GL_RGBA12\fP, or
\%\f3GL_RGBA16\fP.
.TP
\f2type\fP
The type of the pixel data in \f2image\fP.
Symbolic constants
\%\f3GL_UNSIGNED_BYTE\fP,
\%\f3GL_BYTE\fP,
\%\f3GL_BITMAP\fP,
\%\f3GL_UNSIGNED_SHORT\fP,
\%\f3GL_SHORT\fP,
\%\f3GL_UNSIGNED_INT\fP,
\%\f3GL_INT\fP,
\%\f3GL_FLOAT\fP,
\%\f3GL_UNSIGNED_BYTE_3_3_2\fP,
\%\f3GL_UNSIGNED_BYTE_2_3_3_REV\fP,
\%\f3GL_UNSIGNED_SHORT_5_6_5\fP,
\%\f3GL_UNSIGNED_SHORT_5_6_5_REV\fP,
\%\f3GL_UNSIGNED_SHORT_4_4_4_4\fP,
\%\f3GL_UNSIGNED_SHORT_4_4_4_4_REV\fP,
\%\f3GL_UNSIGNED_SHORT_5_5_5_1\fP,
\%\f3GL_UNSIGNED_SHORT_1_5_5_5_REV\fP,
\%\f3GL_UNSIGNED_INT_8_8_8_8\fP,
\%\f3GL_UNSIGNED_INT_8_8_8_8_REV\fP,
\%\f3GL_UNSIGNED_INT_10_10_10_2\fP, and
\%\f3GL_UNSIGNED_INT_2_10_10_10_REV\fP
are accepted.
.TP
\f2image\fP
Pointer to a one-dimensional array of pixel data that is processed to
build the convolution filter kernel.
.SH DESCRIPTION
\%\f3glConvolutionFilter1D\fP builds a one-dimensional convolution filter kernel from an array of
pixels.
.sp
The pixel array specified by \f2width\fP, \f2format\fP, \f2type\fP, and \f2image\fP
is extracted from memory and
processed just as if \%\f3glDrawPixels\fP were called, but processing
stops after the final expansion to RGBA is completed.
.sp
The R, G, B, and A components of each pixel are next scaled by the four
1D \%\f3GL_CONVOLUTION_FILTER_SCALE\fP parameters and biased by the
four 1D \%\f3GL_CONVOLUTION_FILTER_BIAS\fP parameters.
(The scale and bias parameters are set by \%\f3glConvolutionParameter\fP
using the \%\f3GL_CONVOLUTION_1D\fP target and the names
\%\f3GL_CONVOLUTION_FILTER_SCALE\fP and \%\f3GL_CONVOLUTION_FILTER_BIAS\fP.
The parameters themselves are vectors of four values that are applied to red,
green, blue, and alpha, in that order.)
The R, G, B, and A values are not clamped to [0,1] at any time during this
process.
.sp
Each pixel is then converted to the internal specified by
\f2internalformat\fP.
This conversion simply maps the component values of the pixel (R, G, B,
and A) to the values included in the internal (red, green, blue,
alpha, luminance, and intensity). The mapping is as follows:
.sp
.TS
center;
lb cb cb cb cb cb cb
l c c c c c c.
_
Internal Format Red Green Blue Alpha Luminance Intensity
_
\%\f3GL_ALPHA\fP A
\%\f3GL_LUMINANCE\fP R
\%\f3GL_LUMINANCE_ALPHA\fP A R
\%\f3GL_INTENSITY\fP R
\%\f3GL_RGB\fP R G B
\%\f3GL_RGBA\fP R G B A
_
.TE
.sp
The red, green, blue, alpha, luminance, and/or intensity components of
the resulting pixels are stored in floating-point rather than integer
.
They form a one-dimensional filter kernel image indexed with coordinate
\f2i\fP such that \f2i\fP starts at 0 and increases from left to right.
Kernel location \f2i\fP is derived from the \f2i\fPth pixel, counting from 0.
.PP
Note that after a convolution is performed, the resulting color
components are also scaled by their corresponding
\%\f3GL_POST_CONVOLUTION_c_SCALE\fP parameters and biased by their
corresponding \%\f3GL_POST_CONVOLUTION_c_BIAS\fP parameters (where
\f2c\fP takes on the values \f3RED\fP, \f3GREEN\fP, \f3BLUE\fP, and
\f3ALPHA\fP).
These parameters are set by \%\f3glPixelTransfer\fP.
.SH NOTES
\%\f3glConvolutionFilter1D\fP is present only if \%\f3GL_ARB_imaging\fP is returned when \%\f3glGetString\fP
is called with an argument of \%\f3GL_EXTENSIONS\fP.
.SH ERRORS
\%\f3GL_INVALID_ENUM\fP is generated if \f2target\fP is not
\%\f3GL_CONVOLUTION_1D\fP.
.P
\%\f3GL_INVALID_ENUM\fP is generated if \f2internalformat\fP is not one of the
allowable values.
.P
\%\f3GL_INVALID_VALUE\fP is generated if \f2width\fP is less than zero or greater
than the maximum supported value.
This value may be queried with \%\f3glGetConvolutionParameter\fP
using target \%\f3GL_CONVOLUTION_1D\fP and name
\%\f3GL_MAX_CONVOLUTION_WIDTH\fP.
.P
\%\f3GL_INVALID_ENUM\fP is generated if \f2format\fP is not one of the allowable
values.
.P
\%\f3GL_INVALID_ENUM\fP is generated if \f2type\fP is not one of the allowable
values.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glConvolutionFilter1D\fP is executed
between the execution of \%\f3glBegin\fP and the corresponding
execution of \%\f3glEnd\fP.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \f2format\fP is one of
\%\f3GL_UNSIGNED_BYTE_3_3_2\fP,
\%\f3GL_UNSIGNED_BYTE_2_3_3_REV\fP,
\%\f3GL_UNSIGNED_SHORT_5_6_5\fP, or
\%\f3GL_UNSIGNED_SHORT_5_6_5_REV\fP
and \f2type\fP is not \%\f3GL_RGB\fP.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \f2format\fP is one of
\%\f3GL_UNSIGNED_SHORT_4_4_4_4\fP,
\%\f3GL_UNSIGNED_SHORT_4_4_4_4_REV\fP,
\%\f3GL_UNSIGNED_SHORT_5_5_5_1\fP,
\%\f3GL_UNSIGNED_SHORT_1_5_5_5_REV\fP,
\%\f3GL_UNSIGNED_INT_8_8_8_8\fP,
\%\f3GL_UNSIGNED_INT_8_8_8_8_REV\fP,
\%\f3GL_UNSIGNED_INT_10_10_10_2\fP, or
\%\f3GL_UNSIGNED_INT_2_10_10_10_REV\fP
and \f2type\fP is neither \%\f3GL_RGBA\fP nor \%\f3GL_BGRA\fP.
.SH ASSOCIATED GETS
\%\f3glGetConvolutionParameter\fP, \%\f3glGetConvolutionFilter\fP
.SH SEE ALSO
\%\f3glConvolutionFilter2D(3G)\fP,
\%\f3glSeparableFilter2D(3G)\fP,
\%\f3glConvolutionParameter(3G)\fP,
\%\f3glPixelTransfer(3G)\fP

View file

@ -1,236 +0,0 @@
'\" t
'\"! tbl | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 convoluti
.ds Xs 37578 9 convolutionfilter2d.gl
.TH GLCONVOLUTIONFILTER2D 3G
.SH NAME
.B "glConvolutionFilter2D
\- define a two-dimensional convolution filter
.SH C SPECIFICATION
void \f3glConvolutionFilter2D\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglConvolutionFilter2D( 'u
GLenum \fIinternalformat\fP,
GLsizei \fIwidth\fP,
GLsizei \fIheight\fP,
GLenum \fIformat\fP,
GLenum \fItype\fP,
const GLvoid \fI*image\fP )
.fi
.SH PARAMETERS
.TP \w'\fIinternalformat\fP\ \ 'u
\f2target\fP
Must be \%\f3GL_CONVOLUTION_2D\fP.
.TP
\f2internalformat\fP
The internal of the convolution filter kernel.
The allowable values are
\%\f3GL_ALPHA\fP,
\%\f3GL_ALPHA4\fP,
\%\f3GL_ALPHA8\fP,
\%\f3GL_ALPHA12\fP,
\%\f3GL_ALPHA16\fP,
\%\f3GL_LUMINANCE\fP,
\%\f3GL_LUMINANCE4\fP,
\%\f3GL_LUMINANCE8\fP,
\%\f3GL_LUMINANCE12\fP,
\%\f3GL_LUMINANCE16\fP,
\%\f3GL_LUMINANCE_ALPHA\fP,
\%\f3GL_LUMINANCE4_ALPHA4\fP,
\%\f3GL_LUMINANCE6_ALPHA2\fP,
\%\f3GL_LUMINANCE8_ALPHA8\fP,
\%\f3GL_LUMINANCE12_ALPHA4\fP,
\%\f3GL_LUMINANCE12_ALPHA12\fP,
\%\f3GL_LUMINANCE16_ALPHA16\fP,
\%\f3GL_INTENSITY\fP,
\%\f3GL_INTENSITY4\fP,
\%\f3GL_INTENSITY8\fP,
\%\f3GL_INTENSITY12\fP,
\%\f3GL_INTENSITY16\fP,
\%\f3GL_R3_G3_B2\fP,
\%\f3GL_RGB\fP,
\%\f3GL_RGB4\fP,
\%\f3GL_RGB5\fP,
\%\f3GL_RGB8\fP,
\%\f3GL_RGB10\fP,
\%\f3GL_RGB12\fP,
\%\f3GL_RGB16\fP,
\%\f3GL_RGBA\fP,
\%\f3GL_RGBA2\fP,
\%\f3GL_RGBA4\fP,
\%\f3GL_RGB5_A1\fP,
\%\f3GL_RGBA8\fP,
\%\f3GL_RGB10_A2\fP,
\%\f3GL_RGBA12\fP, or
\%\f3GL_RGBA16\fP.
.TP
\f2width\fP
The width of the pixel array referenced by \f2image\fP.
.TP
\f2height\fP
The height of the pixel array referenced by \f2image\fP.
.TP
\f2format\fP
The of the pixel data in \f2image\fP.
The allowable values are
\%\f3GL_RED\fP,
\%\f3GL_GREEN\fP,
\%\f3GL_BLUE\fP,
\%\f3GL_ALPHA\fP,
\%\f3GL_RGB\fP,
\%\f3GL_BGR\fP,
\%\f3GL_RGBA\fP,
\%\f3GL_BGRA\fP,
\%\f3GL_LUMINANCE\fP, and
\%\f3GL_LUMINANCE_ALPHA\fP.
.TP
\f2type\fP
The type of the pixel data in \f2image\fP.
Symbolic constants
\%\f3GL_UNSIGNED_BYTE\fP,
\%\f3GL_BYTE\fP,
\%\f3GL_BITMAP\fP,
\%\f3GL_UNSIGNED_SHORT\fP,
\%\f3GL_SHORT\fP,
\%\f3GL_UNSIGNED_INT\fP,
\%\f3GL_INT\fP,
\%\f3GL_FLOAT\fP,
\%\f3GL_UNSIGNED_BYTE_3_3_2\fP,
\%\f3GL_UNSIGNED_BYTE_2_3_3_REV\fP,
\%\f3GL_UNSIGNED_SHORT_5_6_5\fP,
\%\f3GL_UNSIGNED_SHORT_5_6_5_REV\fP,
\%\f3GL_UNSIGNED_SHORT_4_4_4_4\fP,
\%\f3GL_UNSIGNED_SHORT_4_4_4_4_REV\fP,
\%\f3GL_UNSIGNED_SHORT_5_5_5_1\fP,
\%\f3GL_UNSIGNED_SHORT_1_5_5_5_REV\fP,
\%\f3GL_UNSIGNED_INT_8_8_8_8\fP,
\%\f3GL_UNSIGNED_INT_8_8_8_8_REV\fP,
\%\f3GL_UNSIGNED_INT_10_10_10_2\fP, and
\%\f3GL_UNSIGNED_INT_2_10_10_10_REV\fP
are accepted.
.TP
\f2image\fP
Pointer to a two-dimensional array of pixel data that is processed to
build the convolution filter kernel.
.SH DESCRIPTION
\%\f3glConvolutionFilter2D\fP builds a two-dimensional convolution filter kernel from an array of
pixels.
.sp
The pixel array specified by \f2width\fP, \f2height\fP, \f2format\fP, \f2type\fP, and
\f2image\fP is extracted from memory and processed just as if
\%\f3glDrawPixels\fP were called, but processing stops after the final
expansion to RGBA is completed.
.sp
The R, G, B, and A components of each pixel are next scaled by the four
2D \%\f3GL_CONVOLUTION_FILTER_SCALE\fP parameters and biased by the
four 2D \%\f3GL_CONVOLUTION_FILTER_BIAS\fP parameters.
(The scale and bias parameters are set by \%\f3glConvolutionParameter\fP
using the \%\f3GL_CONVOLUTION_2D\fP target and the names
\%\f3GL_CONVOLUTION_FILTER_SCALE\fP and \%\f3GL_CONVOLUTION_FILTER_BIAS\fP.
The parameters themselves are vectors of four values that are applied to red,
green, blue, and alpha, in that order.)
The R, G, B, and A values are not clamped to [0,1] at any time during this
process.
.sp
Each pixel is then converted to the internal specified by
\f2internalformat\fP.
This conversion simply maps the component values of the pixel (R, G, B,
and A) to the values included in the internal (red, green, blue,
alpha, luminance, and intensity). The mapping is as follows:
.sp
.TS
center;
lb cb cb cb cb cb cb
l c c c c c c.
_
Internal Format Red Green Blue Alpha Luminance Intensity
_
\%\f3GL_ALPHA\fP A
\%\f3GL_LUMINANCE\fP R
\%\f3GL_LUMINANCE_ALPHA\fP A R
\%\f3GL_INTENSITY\fP R
\%\f3GL_RGB\fP R G B
\%\f3GL_RGBA\fP R G B A
_
.TE
.sp
The red, green, blue, alpha, luminance, and/or intensity components of
the resulting pixels are stored in floating-point rather than integer
.
They form a two-dimensional filter kernel image indexed with coordinates
\f2i\fP and \f2j\fP such that \f2i\fP starts at zero and increases from left
to right, and \f2j\fP starts at zero and increases from bottom to top.
Kernel location \f2i,j\fP is derived from the \f2N\fPth pixel,
where \f2N\fP is \f2i\fP+\f2j\fP*\f2width\fP.
.PP
Note that after a convolution is performed, the resulting color
components are also scaled by their corresponding
\%\f3GL_POST_CONVOLUTION_c_SCALE\fP parameters and biased by their
corresponding \%\f3GL_POST_CONVOLUTION_c_BIAS\fP parameters (where
\f2c\fP takes on the values \f3RED\fP, \f3GREEN\fP, \f3BLUE\fP, and
\f3ALPHA\fP).
These parameters are set by \%\f3glPixelTransfer\fP.
.SH NOTES
\%\f3glConvolutionFilter2D\fP is present only if \%\f3GL_ARB_imaging\fP is returned when \%\f3glGetString\fP
is called with an argument of \%\f3GL_EXTENSIONS\fP.
.SH ERRORS
\%\f3GL_INVALID_ENUM\fP is generated if \f2target\fP is not
\%\f3GL_CONVOLUTION_2D\fP.
.P
\%\f3GL_INVALID_ENUM\fP is generated if \f2internalformat\fP is not one of the
allowable values.
.P
\%\f3GL_INVALID_VALUE\fP is generated if \f2width\fP is less than zero or greater
than the maximum supported value.
This value may be queried with \%\f3glGetConvolutionParameter\fP
using target \%\f3GL_CONVOLUTION_2D\fP and name
\%\f3GL_MAX_CONVOLUTION_WIDTH\fP.
.P
\%\f3GL_INVALID_VALUE\fP is generated if \f2height\fP is less than zero or greater
than the maximum supported value.
This value may be queried with \%\f3glGetConvolutionParameter\fP
using target \%\f3GL_CONVOLUTION_2D\fP and name
\%\f3GL_MAX_CONVOLUTION_HEIGHT\fP.
.P
\%\f3GL_INVALID_ENUM\fP is generated if \f2format\fP is not one of the allowable
values.
.P
\%\f3GL_INVALID_ENUM\fP is generated if \f2type\fP is not one of the allowable
values.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glConvolutionFilter2D\fP is executed
between the execution of \%\f3glBegin\fP and the corresponding
execution of \%\f3glEnd\fP.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \f2height\fP is one of
\%\f3GL_UNSIGNED_BYTE_3_3_2\fP,
\%\f3GL_UNSIGNED_BYTE_2_3_3_REV\fP,
\%\f3GL_UNSIGNED_SHORT_5_6_5\fP, or
\%\f3GL_UNSIGNED_SHORT_5_6_5_REV\fP
and \f2format\fP is not \%\f3GL_RGB\fP.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \f2height\fP is one of
\%\f3GL_UNSIGNED_SHORT_4_4_4_4\fP,
\%\f3GL_UNSIGNED_SHORT_4_4_4_4_REV\fP,
\%\f3GL_UNSIGNED_SHORT_5_5_5_1\fP,
\%\f3GL_UNSIGNED_SHORT_1_5_5_5_REV\fP,
\%\f3GL_UNSIGNED_INT_8_8_8_8\fP,
\%\f3GL_UNSIGNED_INT_8_8_8_8_REV\fP,
\%\f3GL_UNSIGNED_INT_10_10_10_2\fP, or
\%\f3GL_UNSIGNED_INT_2_10_10_10_REV\fP
and \f2format\fP is neither \%\f3GL_RGBA\fP nor \%\f3GL_BGRA\fP.
.SH ASSOCIATED GETS
\%\f3glGetConvolutionParameter\fP, \%\f3glGetConvolutionFilter\fP
.SH SEE ALSO
\%\f3glConvolutionFilter1D(3G)\fP,
\%\f3glSeparableFilter2D(3G)\fP,
\%\f3glConvolutionParameter(3G)\fP,
\%\f3glPixelTransfer(3G)\fP

View file

@ -1,173 +0,0 @@
'\" et
'\"! eqn|tbl | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 convoluti
.ds Xs 40911 7 convolutionparameter.gl
.TH GLCONVOLUTIONPARAMETER 3G
.SH NAME
.B "glConvolutionParameterf, glConvolutionParameteri, glConvolutionParameterfv, glConvolutionParameteriv
\- set convolution parameters
.SH C SPECIFICATION
void \f3glConvolutionParameterf\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglConvolutionParameterf( 'u
GLenum \fIpname\fP,
GLfloat \fIparams\fP )
.fi
void \f3glConvolutionParameteri\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglConvolutionParameteri( 'u
GLenum \fIpname\fP,
GLint \fIparams\fP )
.fi
.EQ
delim $$
.EN
.sp -1
.SH PARAMETERS
.TP \w'\f2target\fP\ \ 'u
\f2target\fP
The target for the convolution parameter.
Must be one of
\%\f3GL_CONVOLUTION_1D\fP,
\%\f3GL_CONVOLUTION_2D\fP, or
\%\f3GL_SEPARABLE_2D\fP.
.TP
\f2pname\fP
The parameter to be set.
Must be
\%\f3GL_CONVOLUTION_BORDER_MODE\fP.
.TP
\f2params\fP
The parameter value.
Must be one of
\%\f3GL_REDUCE\fP, \%\f3GL_CONSTANT_BORDER\fP, \%\f3GL_REPLICATE_BORDER\fP.
.sp 2
.SH C SPECIFICATION
void \f3glConvolutionParameterfv\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglConvolutionParameterfv( 'u
GLenum \fIpname\fP,
const GLfloat \fI*params\fP )
.fi
void \f3glConvolutionParameteriv\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglConvolutionParameteriv( 'u
GLenum \fIpname\fP,
const GLint \fI*params\fP )
.fi
.sp -1
.SH PARAMETERS
.TP
\f2target\fP
The target for the convolution parameter.
Must be one of
\%\f3GL_CONVOLUTION_1D\fP,
\%\f3GL_CONVOLUTION_2D\fP, or
\%\f3GL_SEPARABLE_2D\fP.
.TP
\f2pname\fP
The parameter to be set.
Must be one of
\%\f3GL_CONVOLUTION_BORDER_MODE\fP,
\%\f3GL_CONVOLUTION_BORDER_COLOR\fP,
\%\f3GL_CONVOLUTION_FILTER_SCALE\fP, or
\%\f3GL_CONVOLUTION_FILTER_BIAS\fP.
.TP
\f2params\fP
The parameter value.
If \f2pname\fP is \%\f3GL_CONVOLUTION_BORDER_MODE\fP, \f2params\fP must be one of
\%\f3GL_REDUCE\fP, \%\f3GL_CONSTANT_BORDER\fP, or \%\f3GL_REPLICATE_BORDER\fP.
Otherwise, must be a vector of four values (for red, green, blue, and alpha,
respectively) to be used for
scaling (when \f2pname\fP is \%\f3GL_CONVOLUTION_FILTER_SCALE\fP), or
biasing (when \f2pname\fP is \%\f3GL_CONVOLUTION_FILTER_BIAS\fP) a convolution
filter kernel or setting the constant border color (when \f2pname\fP is
\%\f3GL_CONVOLUTION_BORDER_COLOR\fP.
.SH DESCRIPTION
\%\f3glConvolutionParameter\fP sets the value of a convolution parameter.
.sp
\f2target\fP selects the convolution filter to be affected:
\%\f3GL_CONVOLUTION_1D\fP,
\%\f3GL_CONVOLUTION_2D\fP, or
\%\f3GL_SEPARABLE_2D\fP
for the 1D, 2D, or separable 2D filter, respectively.
.sp
\f2pname\fP selects the parameter to be changed.
\%\f3GL_CONVOLUTION_FILTER_SCALE\fP and \%\f3GL_CONVOLUTION_FILTER_BIAS\fP
affect the definition of the convolution filter kernel; see
\%\f3glConvolutionFilter1D\fP, \%\f3glConvolutionFilter2D\fP, and
\%\f3glSeparableFilter2D\fP for details.
In these cases, \f2params\fP is an array of four values to be applied to
red, green, blue, and alpha values, respectively. The initial value for
\%\f3GL_CONVOLUTION_FILTER_SCALE\fP is (1, 1, 1, 1), and the initial value
for \%\f3GL_CONVOLUTION_FILTER_BIAS\fP is (0, 0, 0, 0).
.sp
A \f2pname\fP value of \%\f3GL_CONVOLUTION_BORDER_MODE\fP controls the
convolution border mode. The accepted modes are:
.TP
\%\f3GL_REDUCE\fP
The image resulting from convolution is
smaller than the source image.
If the filter width is $Wf$ and height is $Hf$,
and the source image width is $Ws$ and height is $Hs$,
then the convolved image width will be $Ws ~-~ Wf ~+~ 1$ and height
will be $Hs ~-~ Hf ~+~ 1$.
(If this reduction would generate an image with zero or negative width
and/or height, the output is simply null, with no error generated.)
The coordinates of the image resulting from convolution are zero
through $Ws ~-~ Wf$ in width and zero through $Hs ~-~ Hf$ in
height.
.TP
\%\f3GL_CONSTANT_BORDER\fP
The image resulting from convolution is the same size as the source image, and
processed as if the source image were surrounded by pixels with their color
specified by the \%\f3GL_CONVOLUTION_BORDER_COLOR\fP.
.TP
\%\f3GL_REPLICATE_BORDER\fP
The image resulting from convolution is the same size as the source image, and
processed as if the outermost pixel on the border of the source image were
replicated.
.SH NOTES
\%\f3glConvolutionParameter\fP is present only if \%\f3GL_ARB_imaging\fP is returned when \%\f3glGetString\fP
is called with an argument of \%\f3GL_EXTENSIONS\fP.
.P
In cases where errors can result from the specification of invalid
image dimensions, it is the dimensions after convolution that are
tested, not the dimensions of the source image.
For example, \%\f3glTexImage1D\fP requires power-of-two image size.
When \%\f3GL_REDUCE\fP border mode is in effect,
the source image must be larger than the final power-of-two size
by one less than the size of the 1D filter kernel.
.SH ERRORS
\%\f3GL_INVALID_ENUM\fP is generated if \f2target\fP is not one of the allowable
values.
.P
\%\f3GL_INVALID_ENUM\fP is generated if \f2pname\fP is not one of the allowable
values.
.P
\%\f3GL_INVALID_ENUM\fP is generated if \f2pname\fP is
\%\f3GL_CONVOLUTION_BORDER_MODE\fP and \f2params\fP is not one of
\%\f3GL_REDUCE\fP, \%\f3GL_CONSTANT_BORDER\fP, or \%\f3GL_REPLICATE_BORDER\fP.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glConvolutionParameter\fP is executed
between the execution of \%\f3glBegin\fP and the corresponding
execution of \%\f3glEnd\fP.
.SH ASSOCIATED GETS
\%\f3glGetConvolutionParameter\fP
.SH SEE ALSO
\%\f3glConvolutionFilter1D(3G)\fP,
\%\f3glConvolutionFilter2D(3G)\fP,
\%\f3glSeparableFilter2D(3G)\fP,
\%\f3glGetConvolutionParameter(3G)\fP

View file

@ -1,75 +0,0 @@
'\" t
'\"! tbl | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 copycolor
.ds Xs 44682 4 copycolorsubtable.gl
.TH GLCOPYCOLORSUBTABLE 3G
.SH NAME
.B "glCopyColorSubTable
\- respecify a portion of a color table
.SH C SPECIFICATION
void \f3glCopyColorSubTable\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglCopyColorSubTable( 'u
GLsizei \fIstart\fP,
GLint \fIx\fP,
GLint \fIy\fP,
GLsizei \fIwidth\fP )
.fi
.SH PARAMETERS
.TP \w'\f2target\fP\ \ 'u
\f2target\fP
Must be one of
\%\f3GL_COLOR_TABLE\fP,
\%\f3GL_POST_CONVOLUTION_COLOR_TABLE\fP, or
\%\f3GL_POST_COLOR_MATRIX_COLOR_TABLE\fP.
.TP
\f2start\fP
The starting index of the portion of the color table to be replaced.
.TP
\f2x\fP, \f2y\fP
The window coordinates of the left corner of the row of pixels to be
copied.
.TP
\f2width\fP
The number of table entries to replace.
.SH DESCRIPTION
\%\f3glCopyColorSubTable\fP is used to respecify a contiguous portion of a color table previously
defined using \%\f3glColorTable\fP. The pixels copied from the framebuffer
replace the portion of the existing table from indices \f2start\fP to
$"start"~+~"x"~-~1$, inclusive. This region may not include any
entries outside the range of the color table, as was originally specified.
It is not an error to specify a subtexture with width of 0, but such a
specification has no effect.
.SH NOTES
\%\f3glCopyColorSubTable\fP is present only if \%\f3GL_ARB_imaging\fP is returned when \%\f3glGetString\fP
is called with an argument of \%\f3GL_EXTENSIONS\fP.
.P
.SH ERRORS
\%\f3GL_INVALID_VALUE\fP is generated if \f2target\fP is not a previously defined
color table.
.P
\%\f3GL_INVALID_VALUE\fP is generated if \f2target\fP is not one of the allowable
values.
.P
\%\f3GL_INVALID_VALUE\fP is generated if $"start"~+~"x"~>~width$.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glCopyColorSubTable\fP is executed
between the execution of \%\f3glBegin\fP and the corresponding
execution of \%\f3glEnd\fP.
.SH ASSOCIATED GETS
\%\f3glGetColorTable\fP,
\%\f3glGetColorTableParameter\fP
.SH SEE ALSO
\%\f3glColorSubTable(3G)\fP,
\%\f3glColorTableParameter(3G)\fP,
\%\f3glCopyColorTable(3G)\fP,
\%\f3glCopyColorSubTable(3G)\fP,
\%\f3glGetColorTable(3G)\fP

View file

@ -1,160 +0,0 @@
'\" te
'\"! tbl | eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 copycolor
.ds Xs 49586 7 copycolortable.gl
.TH GLCOPYCOLORTABLE 3G
.SH NAME
.B "glCopyColorTable
\- copy pixels into a color table
.SH C SPECIFICATION
void \f3glCopyColorTable\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglCopyColorTable( 'u
GLenum \fIinternalformat\fP,
GLint \fIx\fP,
GLint \fIy\fP,
GLsizei \fIwidth\fP )
.fi
.EQ
delim $$
.EN
.SH PARAMETERS
.TP \w'\fIinternalformat\fP\ \ 'u
\f2target\fP
The color table target. Must be
\%\f3GL_COLOR_TABLE\fP,
\%\f3GL_POST_CONVOLUTION_COLOR_TABLE\fP,
or \%\f3GL_POST_COLOR_MATRIX_COLOR_TABLE\fP.
.TP
\f2internalformat\fP
The internal storage of the texture image.
Must be one of the following symbolic constants:
\%\f3GL_ALPHA\fP,
\%\f3GL_ALPHA4\fP,
\%\f3GL_ALPHA8\fP,
\%\f3GL_ALPHA12\fP,
\%\f3GL_ALPHA16\fP,
\%\f3GL_LUMINANCE\fP,
\%\f3GL_LUMINANCE4\fP,
\%\f3GL_LUMINANCE8\fP,
\%\f3GL_LUMINANCE12\fP,
\%\f3GL_LUMINANCE16\fP,
\%\f3GL_LUMINANCE_ALPHA\fP,
\%\f3GL_LUMINANCE4_ALPHA4\fP,
\%\f3GL_LUMINANCE6_ALPHA2\fP,
\%\f3GL_LUMINANCE8_ALPHA8\fP,
\%\f3GL_LUMINANCE12_ALPHA4\fP,
\%\f3GL_LUMINANCE12_ALPHA12\fP,
\%\f3GL_LUMINANCE16_ALPHA16\fP,
\%\f3GL_INTENSITY\fP,
\%\f3GL_INTENSITY4\fP,
\%\f3GL_INTENSITY8\fP,
\%\f3GL_INTENSITY12\fP,
\%\f3GL_INTENSITY16\fP,
\%\f3GL_R3_G3_B2\fP,
\%\f3GL_RGB\fP,
\%\f3GL_RGB4\fP,
\%\f3GL_RGB5\fP,
\%\f3GL_RGB8\fP,
\%\f3GL_RGB10\fP,
\%\f3GL_RGB12\fP,
\%\f3GL_RGB16\fP,
\%\f3GL_RGBA\fP,
\%\f3GL_RGBA2\fP,
\%\f3GL_RGBA4\fP,
\%\f3GL_RGB5_A1\fP,
\%\f3GL_RGBA8\fP,
\%\f3GL_RGB10_A2\fP,
\%\f3GL_RGBA12\fP,
\%\f3GL_RGBA16\fP.
.TP
\f2x\fP
The x coordinate of the lower-left corner of the pixel rectangle
to be transferred to the color table.
.TP
\f2y\fP
The y coordinate of the lower-left corner of the pixel rectangle
to be transferred to the color table.
.TP
\f2width\fP
The width of the pixel rectangle.
.SH DESCRIPTION
\%\f3glCopyColorTable\fP loads a color table with pixels from the current
\%\f3GL_READ_BUFFER\fP (rather than from main memory, as is the case for
\%\f3glColorTable\fP).
.P
The screen-aligned pixel rectangle with lower-left corner at (\f2x\fP,\ \f2y\fP)
having width \f2width\fP and height 1
is loaded into the color table. If any pixels within
this region are outside the window that is associated with the GL
context, the values obtained for those pixels are undefined.
.P
The pixels in the rectangle are processed just as if
\%\f3glReadPixels\fP were called, with \f2internalformat\fP set to RGBA,
but processing stops after the final conversion to RGBA.
.P
The four scale parameters and the four bias parameters that are defined
for the table are then used to scale and bias the R, G, B, and A components
of each pixel. The scale and bias parameters are set by calling
\%\f3glColorTableParameter\fP.
.P
Next, the R, G, B, and A values are clamped to the range [0,1].
Each pixel is then converted to the internal specified by
\f2internalformat\fP. This conversion simply maps the component values of the pixel (R, G, B,
and A) to the values included in the internal (red, green, blue,
alpha, luminance, and intensity). The mapping is as follows:
.P
.TS
center;
lb cb cb cb cb cb cb
l c c c c c c.
_
Internal Format Red Green Blue Alpha Luminance Intensity
_
\%\f3GL_ALPHA\fP A
\%\f3GL_LUMINANCE\fP R
\%\f3GL_LUMINANCE_ALPHA\fP A R
\%\f3GL_INTENSITY\fP R
\%\f3GL_RGB\fP R G B
\%\f3GL_RGBA\fP R G B A
_
.TE
.P
Finally, the red, green, blue, alpha, luminance, and/or intensity components of
the resulting pixels are stored in the color table.
They form a one-dimensional table with indices in the range
[0,\ \f2width\fP\ \-\ 1].
.P
.SH NOTES
\%\f3glCopyColorTable\fP is available only if \%\f3GL_ARB_imaging\fP is returned from calling
\%\f3glGetString\fP with an argument of \%\f3GL_EXTENSIONS\fP.
.SH ERRORS
\%\f3GL_INVALID_ENUM\fP is generated when \f2target\fP is not one of the
allowable values.
.P
\%\f3GL_INVALID_VALUE\fP is generated if \f2width\fP is less than zero.
.P
\%\f3GL_INVALID_VALUE\fP is generated if \f2internalformat\fP is not one of the
allowable values.
.P
\%\f3GL_TABLE_TOO_LARGE\fP is generated if the requested color table
is too large to be supported by the implementation.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glCopyColorTable\fP is executed
between the execution of \%\f3glBegin\fP and the corresponding
execution of \%\f3glEnd\fP.
.SH ASSOCIATED GETS
\%\f3glGetColorTable\fP,
\%\f3glGetColorTableParameter\fP
.SH SEE ALSO
\%\f3glColorTable(3G)\fP,
\%\f3glColorTableParameter(3G)\fP,
\%\f3glReadPixels(3G)\fP

View file

@ -1,164 +0,0 @@
'\" t
'\"! tbl | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 001 copyconv
.ds Xs 33614 7 copyconvolutionfilter1d.gl
.TH GLCOPYCONVOLUTIONFILTER1D 3G
.SH NAME
.B "glCopyConvolutionFilter1D
\- copy pixels into a one-dimensional convolution filter
.SH C SPECIFICATION
void \f3glCopyConvolutionFilter1D\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglCopyConvolutionFilter1D( 'u
GLenum \fIinternalformat\fP,
GLint \fIx\fP,
GLint \fIy\fP,
GLsizei \fIwidth\fP )
.fi
.SH PARAMETERS
.TP \w'\fIinternalformat\fP\ \ 'u
\f2target\fP
Must be \%\f3GL_CONVOLUTION_1D\fP.
.TP
\f2internalformat\fP
The internal of the convolution filter kernel.
The allowable values are
\%\f3GL_ALPHA\fP,
\%\f3GL_ALPHA4\fP,
\%\f3GL_ALPHA8\fP,
\%\f3GL_ALPHA12\fP,
\%\f3GL_ALPHA16\fP,
\%\f3GL_LUMINANCE\fP,
\%\f3GL_LUMINANCE4\fP,
\%\f3GL_LUMINANCE8\fP,
\%\f3GL_LUMINANCE12\fP,
\%\f3GL_LUMINANCE16\fP,
\%\f3GL_LUMINANCE_ALPHA\fP,
\%\f3GL_LUMINANCE4_ALPHA4\fP,
\%\f3GL_LUMINANCE6_ALPHA2\fP,
\%\f3GL_LUMINANCE8_ALPHA8\fP,
\%\f3GL_LUMINANCE12_ALPHA4\fP,
\%\f3GL_LUMINANCE12_ALPHA12\fP,
\%\f3GL_LUMINANCE16_ALPHA16\fP,
\%\f3GL_INTENSITY\fP,
\%\f3GL_INTENSITY4\fP,
\%\f3GL_INTENSITY8\fP,
\%\f3GL_INTENSITY12\fP,
\%\f3GL_INTENSITY16\fP,
\%\f3GL_R3_G3_B2\fP,
\%\f3GL_RGB\fP,
\%\f3GL_RGB4\fP,
\%\f3GL_RGB5\fP,
\%\f3GL_RGB8\fP,
\%\f3GL_RGB10\fP,
\%\f3GL_RGB12\fP,
\%\f3GL_RGB16\fP,
\%\f3GL_RGBA\fP,
\%\f3GL_RGBA2\fP,
\%\f3GL_RGBA4\fP,
\%\f3GL_RGB5_A1\fP,
\%\f3GL_RGBA8\fP,
\%\f3GL_RGB10_A2\fP,
\%\f3GL_RGBA12\fP, or
\%\f3GL_RGBA16\fP.
.TP
\f2x\fP, \f2y\fP
The window space coordinates of the lower-left coordinate of the
pixel array to copy.
.TP
\f2width\fP
The width of the pixel array to copy.
.SH DESCRIPTION
\%\f3glCopyConvolutionFilter1D\fP defines a one-dimensional convolution filter kernel with pixels
from the current \%\f3GL_READ_BUFFER\fP (rather than from main memory,
as is the case for \%\f3glConvolutionFilter1D\fP).
.sp
The screen-aligned pixel rectangle with lower-left corner at (\f2x\fP,\ \f2y\fP),
width \f2width\fP and height 1 is used to define
the convolution filter. If any pixels within this region are
outside the window that is associated with the GL context, the
values obtained for those pixels are undefined.
.sp
The pixels in the rectangle are processed exactly as if \%\f3glReadPixels\fP
had been called with \f2format\fP
set to RGBA, but the process stops just before final conversion.
The R, G, B, and A components of each pixel are next scaled by the four
1D \%\f3GL_CONVOLUTION_FILTER_SCALE\fP parameters and biased by the
four 1D \%\f3GL_CONVOLUTION_FILTER_BIAS\fP parameters.
(The scale and bias parameters are set by \%\f3glConvolutionParameter\fP
using the \%\f3GL_CONVOLUTION_1D\fP target and the names
\%\f3GL_CONVOLUTION_FILTER_SCALE\fP and \%\f3GL_CONVOLUTION_FILTER_BIAS\fP.
The parameters themselves are vectors of four values that are applied to red,
green, blue, and alpha, in that order.)
The R, G, B, and A values are not clamped to [0,1] at any time during this
process.
.sp
Each pixel is then converted to the internal specified by
\f2internalformat\fP.
This conversion simply maps the component values of the pixel (R, G, B,
and A) to the values included in the internal (red, green, blue,
alpha, luminance, and intensity). The mapping is as follows:
.sp
.TS
center;
lb cb cb cb cb cb cb
l c c c c c c.
_
Internal Format Red Green Blue Alpha Luminance Intensity
_
\%\f3GL_ALPHA\fP A
\%\f3GL_LUMINANCE\fP R
\%\f3GL_LUMINANCE_ALPHA\fP A R
\%\f3GL_INTENSITY\fP R
\%\f3GL_RGB\fP R G B
\%\f3GL_RGBA\fP R G B A
_
.TE
.sp
The red, green, blue, alpha, luminance, and/or intensity components of
the resulting pixels are stored in floating-point rather than integer
.
.sp
Pixel ordering is such that lower x screen coordinates correspond to
lower \f2i\fP filter image coordinates.
.PP
Note that after a convolution is performed, the resulting color
components are also scaled by their corresponding
\%\f3GL_POST_CONVOLUTION_c_SCALE\fP parameters and biased by their
corresponding \%\f3GL_POST_CONVOLUTION_c_BIAS\fP parameters (where
\f2c\fP takes on the values \f3RED\fP, \f3GREEN\fP, \f3BLUE\fP, and
\f3ALPHA\fP).
These parameters are set by \%\f3glPixelTransfer\fP.
.SH NOTES
\%\f3glCopyConvolutionFilter1D\fP is present only if \%\f3GL_ARB_imaging\fP is returned when \%\f3glGetString\fP
is called with an argument of \%\f3GL_EXTENSIONS\fP.
.SH ERRORS
\%\f3GL_INVALID_ENUM\fP is generated if \f2target\fP is not
\%\f3GL_CONVOLUTION_1D\fP.
.P
\%\f3GL_INVALID_ENUM\fP is generated if \f2internalformat\fP is not one of the
allowable values.
.P
\%\f3GL_INVALID_VALUE\fP is generated if \f2width\fP is less than zero or greater
than the maximum supported value.
This value may be queried with \%\f3glGetConvolutionParameter\fP
using target \%\f3GL_CONVOLUTION_1D\fP and name
\%\f3GL_MAX_CONVOLUTION_WIDTH\fP.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glCopyConvolutionFilter1D\fP is executed
between the execution of \%\f3glBegin\fP and the corresponding
execution of \%\f3glEnd\fP.
.SH ASSOCIATED GETS
\%\f3glGetConvolutionParameter\fP, \%\f3glGetConvolutionFilter\fP
.SH SEE ALSO
\%\f3glConvolutionFilter1D(3G)\fP,
\%\f3glConvolutionParameter(3G)\fP,
\%\f3glPixelTransfer(3G)\fP

View file

@ -1,176 +0,0 @@
'\" t
'\"! tbl | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 001 copyconv
.ds Xs 51319 8 copyconvolutionfilter2d.gl
.TH GLCOPYCONVOLUTIONFILTER2D 3G
.SH NAME
.B "glCopyConvolutionFilter2D
\- copy pixels into a two-dimensional convolution filter
.SH C SPECIFICATION
void \f3glCopyConvolutionFilter2D\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglCopyConvolutionFilter2D( 'u
GLenum \fIinternalformat\fP,
GLint \fIx\fP,
GLint \fIy\fP,
GLsizei \fIwidth\fP,
GLsizei \fIheight\fP )
.fi
.SH PARAMETERS
.TP \w'\fIinternalformat\fP\ \ 'u
\f2target\fP
Must be \%\f3GL_CONVOLUTION_2D\fP.
.TP
\f2internalformat\fP
The internal of the convolution filter kernel.
The allowable values are
\%\f3GL_ALPHA\fP,
\%\f3GL_ALPHA4\fP,
\%\f3GL_ALPHA8\fP,
\%\f3GL_ALPHA12\fP,
\%\f3GL_ALPHA16\fP,
\%\f3GL_LUMINANCE\fP,
\%\f3GL_LUMINANCE4\fP,
\%\f3GL_LUMINANCE8\fP,
\%\f3GL_LUMINANCE12\fP,
\%\f3GL_LUMINANCE16\fP,
\%\f3GL_LUMINANCE_ALPHA\fP,
\%\f3GL_LUMINANCE4_ALPHA4\fP,
\%\f3GL_LUMINANCE6_ALPHA2\fP,
\%\f3GL_LUMINANCE8_ALPHA8\fP,
\%\f3GL_LUMINANCE12_ALPHA4\fP,
\%\f3GL_LUMINANCE12_ALPHA12\fP,
\%\f3GL_LUMINANCE16_ALPHA16\fP,
\%\f3GL_INTENSITY\fP,
\%\f3GL_INTENSITY4\fP,
\%\f3GL_INTENSITY8\fP,
\%\f3GL_INTENSITY12\fP,
\%\f3GL_INTENSITY16\fP,
\%\f3GL_R3_G3_B2\fP,
\%\f3GL_RGB\fP,
\%\f3GL_RGB4\fP,
\%\f3GL_RGB5\fP,
\%\f3GL_RGB8\fP,
\%\f3GL_RGB10\fP,
\%\f3GL_RGB12\fP,
\%\f3GL_RGB16\fP,
\%\f3GL_RGBA\fP,
\%\f3GL_RGBA2\fP,
\%\f3GL_RGBA4\fP,
\%\f3GL_RGB5_A1\fP,
\%\f3GL_RGBA8\fP,
\%\f3GL_RGB10_A2\fP,
\%\f3GL_RGBA12\fP, or
\%\f3GL_RGBA16\fP.
.TP
\f2x\fP, \f2y\fP
The window space coordinates of the lower-left coordinate of the
pixel array to copy.
.TP
\f2width\fP
The width of the pixel array to copy.
.TP
\f2height\fP
The height of the pixel array to copy.
.SH DESCRIPTION
\%\f3glCopyConvolutionFilter2D\fP defines a two-dimensional convolution filter kernel with pixels
from the current \%\f3GL_READ_BUFFER\fP (rather than from main memory,
as is the case for \%\f3glConvolutionFilter2D\fP).
.sp
The screen-aligned pixel rectangle with lower-left corner at (\f2x\fP,\ \f2y\fP),
width \f2width\fP and height \f2height\fP
is used to define the convolution filter. If any pixels within this
region are
outside the window that is associated with the GL context, the
values obtained for those pixels are undefined.
.sp
The pixels in the rectangle are processed
exactly as if \%\f3glReadPixels\fP had been called with \f2format\fP
set to RGBA, but the process stops just before final conversion.
The R, G, B, and A components of each pixel are next scaled by the four
2D \%\f3GL_CONVOLUTION_FILTER_SCALE\fP parameters and biased by the
four 2D \%\f3GL_CONVOLUTION_FILTER_BIAS\fP parameters.
(The scale and bias parameters are set by \%\f3glConvolutionParameter\fP
using the \%\f3GL_CONVOLUTION_2D\fP target and the names
\%\f3GL_CONVOLUTION_FILTER_SCALE\fP and \%\f3GL_CONVOLUTION_FILTER_BIAS\fP.
The parameters themselves are vectors of four values that are applied to red,
green, blue, and alpha, in that order.)
The R, G, B, and A values are not clamped to [0,1] at any time during this
process.
.sp
Each pixel is then converted to the internal specified by
\f2internalformat\fP.
This conversion simply maps the component values of the pixel (R, G, B,
and A) to the values included in the internal (red, green, blue,
alpha, luminance, and intensity). The mapping is as follows:
.sp
.TS
center;
lb cb cb cb cb cb cb
l c c c c c c.
_
Internal Format Red Green Blue Alpha Luminance Intensity
_
\%\f3GL_ALPHA\fP A
\%\f3GL_LUMINANCE\fP R
\%\f3GL_LUMINANCE_ALPHA\fP A R
\%\f3GL_INTENSITY\fP R
\%\f3GL_RGB\fP R G B
\%\f3GL_RGBA\fP R G B A
_
.TE
.sp
The red, green, blue, alpha, luminance, and/or intensity components of
the resulting pixels are stored in floating-point rather than integer
.
.sp
Pixel ordering is such that lower x screen coordinates correspond to
lower \f2i\fP filter image coordinates, and lower y screen coordinates
correspond to lower \f2j\fP filter image coordinates.
.PP
Note that after a convolution is performed, the resulting color
components are also scaled by their corresponding
\%\f3GL_POST_CONVOLUTION_c_SCALE\fP parameters and biased by their
corresponding \%\f3GL_POST_CONVOLUTION_c_BIAS\fP parameters (where
\f2c\fP takes on the values \f3RED\fP, \f3GREEN\fP, \f3BLUE\fP, and
\f3ALPHA\fP).
These parameters are set by \%\f3glPixelTransfer\fP.
.SH NOTES
\%\f3glCopyConvolutionFilter2D\fP is present only if \%\f3GL_ARB_imaging\fP is returned when \%\f3glGetString\fP
is called with an argument of \%\f3GL_EXTENSIONS\fP.
.SH ERRORS
\%\f3GL_INVALID_ENUM\fP is generated if \f2target\fP is not
\%\f3GL_CONVOLUTION_2D\fP.
.P
\%\f3GL_INVALID_ENUM\fP is generated if \f2internalformat\fP is not one of the
allowable values.
.P
\%\f3GL_INVALID_VALUE\fP is generated if \f2width\fP is less than zero or greater
than the maximum supported value.
This value may be queried with \%\f3glGetConvolutionParameter\fP
using target \%\f3GL_CONVOLUTION_2D\fP and name
\%\f3GL_MAX_CONVOLUTION_WIDTH\fP.
.P
\%\f3GL_INVALID_VALUE\fP is generated if \f2height\fP is less than zero or greater
than the maximum supported value.
This value may be queried with \%\f3glGetConvolutionParameter\fP
using target \%\f3GL_CONVOLUTION_2D\fP and name
\%\f3GL_MAX_CONVOLUTION_HEIGHT\fP.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glCopyConvolutionFilter2D\fP is executed
between the execution of \%\f3glBegin\fP and the corresponding
execution of \%\f3glEnd\fP.
.SH ASSOCIATED GETS
\%\f3glGetConvolutionParameter\fP, \%\f3glGetConvolutionFilter\fP
.SH SEE ALSO
\%\f3glConvolutionFilter2D(3G)\fP,
\%\f3glConvolutionParameter(3G)\fP,
\%\f3glPixelTransfer(3G)\fP

View file

@ -1,249 +0,0 @@
'\" e
'\"! eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 copypixel
.ds Xs 10756 11 copypixels.gl
.TH GLCOPYPIXELS 3G
.SH NAME
.B "glCopyPixels
\- copy pixels in the frame buffer
.SH C SPECIFICATION
void \f3glCopyPixels\fP(
GLint \fIx\fP,
.nf
.ta \w'\f3void \fPglCopyPixels( 'u
GLint \fIy\fP,
GLsizei \fIwidth\fP,
GLsizei \fIheight\fP,
GLenum \fItype\fP )
.fi
.EQ
delim $$
.EN
.SH PARAMETERS
.TP \w'\f2x\fP\ \f2y\fP\ \ 'u
\f2x\fP, \f2y\fP
Specify the window coordinates of the lower left corner
of the rectangular region of pixels to be copied.
.TP
\f2width\fP, \f2height\fP
Specify the dimensions of the rectangular region of pixels to be copied.
Both must be nonnegative.
.TP
\f2type\fP
Specifies whether color values,
depth values,
or stencil values are to be copied.
Symbolic constants
\%\f3GL_COLOR\fP,
\%\f3GL_DEPTH\fP,
and \%\f3GL_STENCIL\fP are accepted.
.SH DESCRIPTION
\%\f3glCopyPixels\fP copies a screen-aligned rectangle of pixels
from the specified frame buffer location to a region relative to the
current raster position.
Its operation is well defined only if the entire pixel source region
is within the exposed portion of the window.
Results of copies from outside the window,
or from regions of the window that are not exposed,
are hardware dependent and undefined.
.P
\f2x\fP and \f2y\fP specify the window coordinates of
the lower left corner of the rectangular region to be copied.
\f2width\fP and \f2height\fP specify the dimensions of the
rectangular region to be copied.
Both \f2width\fP and \f2height\fP must not be negative.
.P
Several parameters control the processing of the pixel data
while it is being copied.
These parameters are set with three commands:
\%\f3glPixelTransfer\fP,
\%\f3glPixelMap\fP, and
\%\f3glPixelZoom\fP.
This reference page describes the effects on \%\f3glCopyPixels\fP of most,
but not all, of the parameters specified by these three commands.
.P
\%\f3glCopyPixels\fP copies values from each pixel with the lower left-hand corner at
(\f2x\fP + $i$, \f2y\fP + $j$) for 0 \(<= $i$ < \f2width\fP
and 0 \(<= $j$ < \f2height\fP.
This pixel is said to be the $i$th pixel in the $j$th row.
Pixels are copied in row order from the lowest to the highest row,
left to right in each row.
.P
\f2type\fP specifies whether color, depth, or stencil data is to be copied.
The details of the transfer for each data type are as follows:
.TP 15
\%\f3GL_COLOR\fP
Indices or RGBA colors are read from the buffer currently specified as the
read source buffer (see \%\f3glReadBuffer\fP).
If the GL is in color index mode,
each index that is read from this buffer is converted
to a fixed-point with an unspecified
number of bits to the right of the binary point.
Each index is then shifted left by \%\f3GL_INDEX_SHIFT\fP bits,
and added to \%\f3GL_INDEX_OFFSET\fP.
If \%\f3GL_INDEX_SHIFT\fP is negative,
the shift is to the right.
In either case, zero bits fill otherwise unspecified bit locations in the
result.
If \%\f3GL_MAP_COLOR\fP is true,
the index is replaced with the value that it references in lookup table
\%\f3GL_PIXEL_MAP_I_TO_I\fP.
Whether the lookup replacement of the index is done or not,
the integer part of the index is then ANDed with $2 sup b -1$,
where $b$ is the number of bits in a color index buffer.
.IP
If the GL is in RGBA mode,
the red, green, blue, and alpha components of each pixel that is read
are converted to an internal floating-point with unspecified
precision.
The conversion maps the largest representable component value to 1.0,
and component value 0 to 0.0.
The resulting floating-point color values are then multiplied
by \%\f3GL_c_SCALE\fP and added to \%\f3GL_c_BIAS\fP,
where \f2c\fP is RED, GREEN, BLUE, and ALPHA
for the respective color components.
The results are clamped to the range [0,1].
If \%\f3GL_MAP_COLOR\fP is true,
each color component is scaled by the size of lookup table
\%\f3GL_PIXEL_MAP_c_TO_c\fP,
then replaced by the value that it references in that table.
\f2c\fP is R, G, B, or A.
.IP
If the \%\f3GL_ARB_imaging\fP extension is supported, the color values may
be
additionally processed by color-table lookups, color-matrix
transformations, and convolution filters.
.IP
The GL then converts the resulting indices or RGBA colors to fragments
by attaching the current raster position \f2z\fP coordinate and
texture coordinates to each pixel,
then assigning window coordinates
($x sub r ~+~ i , y sub r ~+~ j$),
where ($x sub r , y sub r$) is the current raster position,
and the pixel was the $i$th pixel in the $j$th row.
These pixel fragments are then treated just like the fragments generated by
rasterizing points, lines, or polygons.
Texture mapping,
fog,
and all the fragment operations are applied before the fragments are written
to the frame buffer.
.TP
\%\f3GL_DEPTH\fP
Depth values are read from the depth buffer and
converted directly to an internal floating-point
with unspecified precision.
The resulting floating-point depth value is then multiplied
by \%\f3GL_DEPTH_SCALE\fP and added to \%\f3GL_DEPTH_BIAS\fP.
The result is clamped to the range [0,1].
.IP
The GL then converts the resulting depth components to fragments
by attaching the current raster position color or color index and
texture coordinates to each pixel,
then assigning window coordinates
($x sub r ~+~ i , y sub r ~+~ j$),
where ($x sub r , y sub r$) is the current raster position,
and the pixel was the $i$th pixel in the $j$th row.
These pixel fragments are then treated just like the fragments generated by
rasterizing points, lines, or polygons.
Texture mapping,
fog,
and all the fragment operations are applied before the fragments are written
to the frame buffer.
.TP
\%\f3GL_STENCIL\fP
Stencil indices are read from the stencil buffer and
converted to an internal fixed-point
with an unspecified number of bits to the right of the binary point.
Each fixed-point index is then shifted left by \%\f3GL_INDEX_SHIFT\fP bits,
and added to \%\f3GL_INDEX_OFFSET\fP.
If \%\f3GL_INDEX_SHIFT\fP is negative,
the shift is to the right.
In either case, zero bits fill otherwise unspecified bit locations in the
result.
If \%\f3GL_MAP_STENCIL\fP is true,
the index is replaced with the value that it references in lookup table
\%\f3GL_PIXEL_MAP_S_TO_S\fP.
Whether the lookup replacement of the index is done or not,
the integer part of the index is then ANDed with $2 sup b -1$,
where $b$ is the number of bits in the stencil buffer.
The resulting stencil indices are then written to the stencil buffer
such that the index read from the $i$th location of the $j$th row
is written to location
($x sub r ~+~ i , y sub r ~+~ j$),
where ($x sub r , y sub r$) is the current raster position.
Only the pixel ownership test,
the scissor test,
and the stencil writemask affect these write operations.
.P
The rasterization described thus far assumes pixel zoom factors of 1.0.
If
.br
\%\f3glPixelZoom\fP is used to change the $x$ and $y$ pixel zoom factors,
pixels are converted to fragments as follows.
If ($x sub r$, $y sub r$) is the current raster position,
and a given pixel is in the $i$th location in the $j$th row of the source
pixel rectangle,
then fragments are generated for pixels whose centers are in the rectangle
with corners at
.P
.ce
($x sub r ~+~ zoom sub x^ i$, $y sub r ~+~ zoom sub y^j$)
.sp .5
.ce
and
.sp .5
.ce
($x sub r ~+~ zoom sub x^ (i ~+~ 1)$, $y sub r ~+~ zoom sub y^ ( j ~+~ 1 )$)
.P
where $zoom sub x$ is the value of \%\f3GL_ZOOM_X\fP and
$zoom sub y$ is the value of \%\f3GL_ZOOM_Y\fP.
.SH EXAMPLES
To copy the color pixel in the lower left corner of the window to the current raster position,
use
.Ex
glCopyPixels(0, 0, 1, 1, \%\f3GL_COLOR\fP);
.En
.SH NOTES
Modes specified by \%\f3glPixelStore\fP have no effect on the operation
of \%\f3glCopyPixels\fP.
.SH ERRORS
\%\f3GL_INVALID_ENUM\fP is generated if \f2type\fP is not an accepted value.
.P
\%\f3GL_INVALID_VALUE\fP is generated if either \f2width\fP or \f2height\fP is negative.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \f2type\fP is \%\f3GL_DEPTH\fP
and there is no depth buffer.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \f2type\fP is \%\f3GL_STENCIL\fP
and there is no stencil buffer.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glCopyPixels\fP
is executed between the execution of \%\f3glBegin\fP
and the corresponding execution of \%\f3glEnd\fP.
.SH ASSOCIATED GETS
\%\f3glGet\fP with argument \%\f3GL_CURRENT_RASTER_POSITION\fP
.br
\%\f3glGet\fP with argument \%\f3GL_CURRENT_RASTER_POSITION_VALID\fP
.SH SEE ALSO
\%\f3glColorTable(3G)\fP,
\%\f3glConvolutionFilter1D(3G)\fP,
\%\f3glConvolutionFilter2D(3G)\fP,
\%\f3glDepthFunc(3G)\fP,
\%\f3glDrawBuffer(3G)\fP,
\%\f3glDrawPixels(3G)\fP,
\%\f3glMatrixMode(3G)\fP,
\%\f3glPixelMap(3G)\fP,
\%\f3glPixelTransfer(3G)\fP,
\%\f3glPixelZoom(3G)\fP,
\%\f3glRasterPos(3G)\fP,
\%\f3glReadBuffer(3G)\fP,
\%\f3glReadPixels(3G)\fP,
\%\f3glSeparableFilter2D(3G)\fP,
\%\f3glStencilFunc(3G)\fP

View file

@ -1,173 +0,0 @@
'\" te
'\"! tbl|eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 copytexim
.ds Xs 48778 7 copyteximage1d.gl
.TH GLCOPYTEXIMAGE1D 3G
.SH NAME
.B "glCopyTexImage1D
\- copy pixels into a 1D texture image
.SH C SPECIFICATION
void \f3glCopyTexImage1D\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglCopyTexImage1D( 'u
GLint \fIlevel\fP,
GLenum \fIinternalformat\fP,
GLint \fIx\fP,
GLint \fIy\fP,
GLsizei \fIwidth\fP,
GLint \fIborder\fP )
.fi
.EQ
delim $$
.EN
.SH PARAMETERS
.TP \w'\fIinternalformat\fP\ \ 'u
\f2target\fP
Specifies the target texture.
Must be \%\f3GL_TEXTURE_1D\fP.
.TP
\f2level\fP
Specifies the level-of-detail number.
Level 0 is the base image level.
Level \f2n\fP is the \f2n\fPth mipmap reduction image.
.TP
\f2internalformat\fP
Specifies the internal of the texture.
Must be one of the following symbolic constants:
\%\f3GL_ALPHA\fP,
\%\f3GL_ALPHA4\fP,
\%\f3GL_ALPHA8\fP,
\%\f3GL_ALPHA12\fP,
\%\f3GL_ALPHA16\fP,
\%\f3GL_LUMINANCE\fP,
\%\f3GL_LUMINANCE4\fP,
\%\f3GL_LUMINANCE8\fP,
\%\f3GL_LUMINANCE12\fP,
\%\f3GL_LUMINANCE16\fP,
\%\f3GL_LUMINANCE_ALPHA\fP,
\%\f3GL_LUMINANCE4_ALPHA4\fP,
\%\f3GL_LUMINANCE6_ALPHA2\fP,
\%\f3GL_LUMINANCE8_ALPHA8\fP,
\%\f3GL_LUMINANCE12_ALPHA4\fP,
\%\f3GL_LUMINANCE12_ALPHA12\fP,
\%\f3GL_LUMINANCE16_ALPHA16\fP,
\%\f3GL_INTENSITY\fP,
\%\f3GL_INTENSITY4\fP,
\%\f3GL_INTENSITY8\fP,
\%\f3GL_INTENSITY12\fP,
\%\f3GL_INTENSITY16\fP,
\%\f3GL_RGB\fP,
\%\f3GL_R3_G3_B2\fP,
\%\f3GL_RGB4\fP,
\%\f3GL_RGB5\fP,
\%\f3GL_RGB8\fP,
\%\f3GL_RGB10\fP,
\%\f3GL_RGB12\fP,
\%\f3GL_RGB16\fP,
\%\f3GL_RGBA\fP,
\%\f3GL_RGBA2\fP,
\%\f3GL_RGBA4\fP,
\%\f3GL_RGB5_A1\fP,
\%\f3GL_RGBA8\fP,
\%\f3GL_RGB10_A2\fP,
\%\f3GL_RGBA12\fP, or
\%\f3GL_RGBA16\fP.
.TP
\f2x\fP, \f2y\fP
Specify the window coordinates of the left corner
of the row of pixels to be copied.
.TP
\f2width\fP
Specifies the width of the texture image.
Must be 0 or $2 sup n ~+~ 2*$\f2border\fP for some integer $n$.
The height of the texture image is 1.
.TP
\f2border\fP
Specifies the width of the border.
Must be either 0 or 1.
.SH DESCRIPTION
\%\f3glCopyTexImage1D\fP defines a one-dimensional texture image with pixels from the current
\%\f3GL_READ_BUFFER\fP.
.P
The screen-aligned pixel row with left corner at $("x", "y")$
and with a length of $"width"~+~2~*~"border"$
defines the texture array
at the mipmap level specified by \f2level\fP.
\f2internalformat\fP specifies the internal of the texture array.
.P
The pixels in the row are processed exactly as if
\%\f3glCopyPixels\fP had been called, but the process stops just before
final conversion.
At this point all pixel component values are clamped to the range [0,\ 1]
and then converted to the texture's internal for storage in the texel
array.
.P
Pixel ordering is such that lower $x$ screen coordinates correspond to
lower texture coordinates.
.P
If any of the pixels within the specified row of the current
\%\f3GL_READ_BUFFER\fP are outside the window associated with the current
rendering context, then the values obtained for those pixels are undefined.
.SH NOTES
\%\f3glCopyTexImage1D\fP is available only if the GL version is 1.1 or greater.
.P
Texturing has no effect in color index mode.
.P
1, 2, 3, and 4 are not accepted values for \f2internalformat\fP.
.P
An image with 0 width indicates a NULL texture.
.P
When the \%\f3GL_ARB_imaging\fP extension is supported, the RGBA components
copied from the framebuffer may be processed by the imaging pipeline. See
\%\f3glTexImage1D\fP for specific details.
.SH ERRORS
\%\f3GL_INVALID_ENUM\fP is generated if \f2target\fP is not one of the
allowable values.
.P
\%\f3GL_INVALID_VALUE\fP is generated if \f2level\fP is less than 0.
.P
\%\f3GL_INVALID_VALUE\fP may be generated if \f2level\fP is greater
than $log sub 2 max$,
where $max$ is the returned value of \%\f3GL_MAX_TEXTURE_SIZE\fP.
.P
\%\f3GL_INVALID_VALUE\fP is generated if \f2internalformat\fP is not an
allowable value.
.P
\%\f3GL_INVALID_VALUE\fP is generated if \f2width\fP is less than 0
or greater than
2 + \%\f3GL_MAX_TEXTURE_SIZE\fP,
or if it cannot be represented as $2 sup n ~+~ 2~*~("border")$
for some integer value of \f2n\fP.
.P
\%\f3GL_INVALID_VALUE\fP is generated if \f2border\fP is not 0 or 1.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glCopyTexImage1D\fP
is executed between the execution of \%\f3glBegin\fP
and the corresponding execution of \%\f3glEnd\fP.
.SH ASSOCIATED GETS
\%\f3glGetTexImage\fP
.br
\%\f3glIsEnabled\fP with argument \%\f3GL_TEXTURE_1D\fP
.SH SEE ALSO
\%\f3glCopyPixels(3G)\fP,
\%\f3glCopyTexImage2D(3G)\fP,
\%\f3glCopyTexSubImage1D(3G)\fP,
\%\f3glCopyTexSubImage2D(3G)\fP,
\%\f3glPixelStore(3G)\fP,
\%\f3glPixelTransfer(3G)\fP,
\%\f3glTexEnv(3G)\fP,
\%\f3glTexGen(3G)\fP,
\%\f3glTexImage1D(3G)\fP,
\%\f3glTexImage2D(3G)\fP,
\%\f3glTexSubImage1D(3G)\fP,
\%\f3glTexSubImage2D(3G)\fP,
.br
\%\f3glTexParameter(3G)\fP

View file

@ -1,179 +0,0 @@
'\" e
'\"! eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 copytexim
.ds Xs 15515 7 copyteximage2d.gl
.TH GLCOPYTEXIMAGE2D 3G
.SH NAME
.B "glCopyTexImage2D
\- copy pixels into a 2D texture image
.SH C SPECIFICATION
void \f3glCopyTexImage2D\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglCopyTexImage2D( 'u
GLint \fIlevel\fP,
GLenum \fIinternalformat\fP,
GLint \fIx\fP,
GLint \fIy\fP,
GLsizei \fIwidth\fP,
GLsizei \fIheight\fP,
GLint \fIborder\fP )
.fi
.EQ
delim $$
.EN
.SH PARAMETERS
.TP \w'\fIinternalformat\fP\ \ 'u
\f2target\fP
Specifies the target texture.
Must be \%\f3GL_TEXTURE_2D\fP.
.TP
\f2level\fP
Specifies the level-of-detail number.
Level 0 is the base image level.
Level \f2n\fP is the \f2n\fPth mipmap reduction image.
.TP
\f2internalformat\fP
Specifies the internal of the texture.
Must be one of the following symbolic constants:
\%\f3GL_ALPHA\fP,
\%\f3GL_ALPHA4\fP,
\%\f3GL_ALPHA8\fP,
\%\f3GL_ALPHA12\fP,
\%\f3GL_ALPHA16\fP,
\%\f3GL_LUMINANCE\fP,
\%\f3GL_LUMINANCE4\fP,
\%\f3GL_LUMINANCE8\fP,
\%\f3GL_LUMINANCE12\fP,
\%\f3GL_LUMINANCE16\fP,
\%\f3GL_LUMINANCE_ALPHA\fP,
\%\f3GL_LUMINANCE4_ALPHA4\fP,
\%\f3GL_LUMINANCE6_ALPHA2\fP,
\%\f3GL_LUMINANCE8_ALPHA8\fP,
\%\f3GL_LUMINANCE12_ALPHA4\fP,
\%\f3GL_LUMINANCE12_ALPHA12\fP,
\%\f3GL_LUMINANCE16_ALPHA16\fP,
\%\f3GL_INTENSITY\fP,
\%\f3GL_INTENSITY4\fP,
\%\f3GL_INTENSITY8\fP,
\%\f3GL_INTENSITY12\fP,
\%\f3GL_INTENSITY16\fP,
\%\f3GL_RGB\fP,
\%\f3GL_R3_G3_B2\fP,
\%\f3GL_RGB4\fP,
\%\f3GL_RGB5\fP,
\%\f3GL_RGB8\fP,
\%\f3GL_RGB10\fP,
\%\f3GL_RGB12\fP,
\%\f3GL_RGB16\fP,
\%\f3GL_RGBA\fP,
\%\f3GL_RGBA2\fP,
\%\f3GL_RGBA4\fP,
\%\f3GL_RGB5_A1\fP,
\%\f3GL_RGBA8\fP,
\%\f3GL_RGB10_A2\fP,
\%\f3GL_RGBA12\fP, or
\%\f3GL_RGBA16\fP.
.TP
\f2x\fP, \f2y\fP
Specify the window coordinates of the lower left corner
of the rectangular region of pixels to be copied.
.TP
\f2width\fP
Specifies the width of the texture image.
Must be 0 or $2 sup n ~+~ 2*$\f2border\fP for some integer $n$.
.TP
\f2height\fP
Specifies the height of the texture image.
Must be 0 or $2 sup m ~+~ 2*$\f2border\fP for some integer $m$.
.TP
\f2border\fP
Specifies the width of the border.
Must be either 0 or 1.
.SH DESCRIPTION
\%\f3glCopyTexImage2D\fP defines a two-dimensional texture image with pixels from the current
\%\f3GL_READ_BUFFER\fP.
.P
The screen-aligned pixel rectangle with lower left corner at (\f2x\fP,
\f2y\fP) and with a width of \f2width\fP$~+~2~*~$\f2border\fP and a height of
\f2height\fP$~+~2~*~$\f2border\fP
defines the texture array
at the mipmap level specified by \f2level\fP.
\f2internalformat\fP specifies the internal of the texture array.
.P
The pixels in the rectangle are processed exactly as if
\%\f3glCopyPixels\fP had been called, but the process stops just before
final conversion.
At this point all pixel component values are clamped to the range $[0,1]$
and then converted to the texture's internal for storage in the texel
array.
.P
Pixel ordering is such that lower $x$ and $y$ screen coordinates correspond to
lower $s$ and $t$ texture coordinates.
.P
If any of the pixels within the specified rectangle of the current
\%\f3GL_READ_BUFFER\fP are outside the window associated with the current
rendering context, then the values obtained for those pixels are undefined.
.P
.SH NOTES
\%\f3glCopyTexImage2D\fP is available only if the GL version is 1.1 or greater.
.P
Texturing has no effect in color index mode.
.P
1, 2, 3, and 4 are not accepted values for \f2internalformat\fP.
.P
An image with height or width of 0 indicates a NULL texture.
.P
When the \%\f3GL_ARB_imaging\fP extension is supported, the RGBA components
read from the framebuffer may be processed by the imaging pipeline. See
\%\f3glTexImage1D\fP for specific details.
.SH ERRORS
\%\f3GL_INVALID_ENUM\fP is generated if \f2target\fP is not \%\f3GL_TEXTURE_2D\fP.
.P
\%\f3GL_INVALID_VALUE\fP is generated if \f2level\fP is less than 0.
.P
\%\f3GL_INVALID_VALUE\fP may be generated if \f2level\fP is greater
than $log sub 2 max$,
where $max$ is the returned value of \%\f3GL_MAX_TEXTURE_SIZE\fP.
.P
\%\f3GL_INVALID_VALUE\fP is generated if \f2width\fP or \f2height\fP is less than 0,
greater than $2~+~$\%\f3GL_MAX_TEXTURE_SIZE\fP, or if \f2width\fP or \f2height\fP cannot be
represented as $2 sup k ~+~ 2~*~$\f2border\fP for some integer
$k$.
.P
\%\f3GL_INVALID_VALUE\fP is generated if \f2border\fP is not 0 or 1.
.P
\%\f3GL_INVALID_VALUE\fP is generated if \f2internalformat\fP is not one of the
allowable values.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glCopyTexImage2D\fP is executed
between the execution of \%\f3glBegin\fP and the corresponding
execution of \%\f3glEnd\fP.
.SH ASSOCIATED GETS
\%\f3glGetTexImage\fP
.br
\%\f3glIsEnabled\fP with argument \%\f3GL_TEXTURE_2D\fP
.SH SEE ALSO
\%\f3glCopyPixels(3G)\fP,
\%\f3glCopyTexImage1D(3G)\fP,
\%\f3glCopyTexSubImage1D(3G)\fP,
\%\f3glCopyTexSubImage2D(3G)\fP,
\%\f3glPixelStore(3G)\fP,
\%\f3glPixelTransfer(3G)\fP,
\%\f3glTexEnv(3G)\fP,
\%\f3glTexGen(3G)\fP,
\%\f3glTexImage1D(3G)\fP,
\%\f3glTexImage2D(3G)\fP,
\%\f3glTexSubImage1D(3G)\fP,
\%\f3glTexSubImage2D(3G)\fP,
.br
\%\f3glTexParameter(3G)\fP

View file

@ -1,131 +0,0 @@
'\" te
'\"! tbl|eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 copytexsu
.ds Xs 28384 6 copytexsubimage1d.gl
.TH GLCOPYTEXSUBIMAGE1D 3G
.SH NAME
.B "glCopyTexSubImage1D
\- copy a one-dimensional texture subimage
.SH C SPECIFICATION
void \f3glCopyTexSubImage1D\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglCopyTexSubImage1D( 'u
GLint \fIlevel\fP,
GLint \fIxoffset\fP,
GLint \fIx\fP,
GLint \fIy\fP,
GLsizei \fIwidth\fP )
.fi
.EQ
delim $$
.EN
.SH PARAMETERS
.TP \w'\fIxoffset\fP\ \ 'u
\f2target\fP
Specifies the target texture.
Must be \%\f3GL_TEXTURE_1D\fP.
.TP
\f2level\fP
Specifies the level-of-detail number.
Level 0 is the base image level.
Level \f2n\fP is the \f2n\fPth mipmap reduction image.
.TP
\f2xoffset\fP
Specifies the texel offset within the texture array.
.TP
\f2x\fP, \f2y\fP
Specify the window coordinates of the left corner
of the row of pixels to be copied.
.TP
\f2width\fP
Specifies the width of the texture subimage.
.SH DESCRIPTION
\%\f3glCopyTexSubImage1D\fP replaces a portion of a one-dimensional
texture image with pixels from the current \%\f3GL_READ_BUFFER\fP (rather
than from main memory, as is the case for \%\f3glTexSubImage1D\fP).
.P
The screen-aligned pixel row with left corner at (\f2x\fP,\ \f2y\fP), and with
length \f2width\fP replaces the portion of the
texture array with x indices \f2xoffset\fP through $"xoffset" ~+~ "width" ~-~ 1$,
inclusive. The destination in the texture array may not
include any texels outside the texture array as it was
originally specified.
.P
The pixels in the row are processed exactly as if
\%\f3glCopyPixels\fP had been called, but the process stops just before
final conversion.
At this point all pixel component values are clamped to the range [0,\ 1]
and then converted to the texture's internal for storage in the texel
array.
.P
It is not an error to specify a subtexture with zero width, but
such a specification has no effect.
If any of the pixels within the specified row of the current
\%\f3GL_READ_BUFFER\fP are outside the read window associated with the current
rendering context, then the values obtained for those pixels are undefined.
.P
No change is made to the \f2internalformat\fP, \f2width\fP,
or \f2border\fP parameters of the specified texture
array or to texel values outside the specified subregion.
.SH NOTES
\%\f3glCopyTexSubImage1D\fP is available only if the GL version is 1.1 or greater.
.P
Texturing has no effect in color index mode.
.P
\%\f3glPixelStore\fP and \%\f3glPixelTransfer\fP modes affect texture images
in exactly the way they affect \%\f3glDrawPixels\fP.
.P
When the \%\f3GL_ARB_imaging\fP extension is supported, the RGBA components
copied from the framebuffer may be processed by the imaging pipeline. See
\%\f3glTexImage1D\fP for specific details.
.SH ERRORS
\%\f3GL_INVALID_ENUM\fP is generated if \f2target\fP is not \%\f3GL_TEXTURE_1D\fP.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if the texture array has not
been defined by a previous \%\f3glTexImage1D\fP or \%\f3glCopyTexImage1D\fP operation.
.P
\%\f3GL_INVALID_VALUE\fP is generated if \f2level\fP is less than 0.
.P
\%\f3GL_INVALID_VALUE\fP may be generated if \f2level\fP$>log sub 2$\f2 max\fP,
where \f2max\fP is the returned value of \%\f3GL_MAX_TEXTURE_SIZE\fP.
.P
\%\f3GL_INVALID_VALUE\fP is generated if \f2y\fP$ ~<~ ~-b$
or if \f2width\fP$ ~<~ ~-b$, where $b$
is the border width of the texture array.
.P
\%\f3GL_INVALID_VALUE\fP is generated if $"xoffset" ~<~ ~-b$, or
$("xoffset"~+~"width") ~>~ (w-b)$,
where $w$ is the \%\f3GL_TEXTURE_WIDTH\fP, and $b$ is the \%\f3GL_TEXTURE_BORDER\fP
of the texture image being modified.
Note that $w$ includes twice the border width.
.P
.SH ASSOCIATED GETS
\%\f3glGetTexImage\fP
.br
\%\f3glIsEnabled\fP with argument \%\f3GL_TEXTURE_1D\fP
.SH SEE ALSO
\%\f3glCopyPixels(3G)\fP,
\%\f3glCopyTexImage1D(3G)\fP,
\%\f3glCopyTexImage2D(3G)\fP,
\%\f3glCopyTexSubImage2D(3G)\fP,
\%\f3glCopyTexSubImage3D(3G)\fP,
\%\f3glPixelStore(3G)\fP,
\%\f3glPixelTransfer(3G)\fP,
\%\f3glReadBuffer(3G)\fP,
\%\f3glTexEnv(3G)\fP,
\%\f3glTexGen(3G)\fP,
\%\f3glTexImage1D(3G)\fP,
\%\f3glTexImage2D(3G)\fP,
\%\f3glTexImage3D(3G)\fP,
\%\f3glTexParameter(3G)\fP,
\%\f3glTexSubImage1D(3G)\fP,
\%\f3glTexSubImage2D(3G)\fP,
\%\f3glTexSubImage3D(3G)\fP

View file

@ -1,151 +0,0 @@
'\" te
'\"! tbl|eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 copytexsu
.ds Xs 21640 7 copytexsubimage2d.gl
.TH GLCOPYTEXSUBIMAGE2D 3G
.SH NAME
.B "glCopyTexSubImage2D
\- copy a two-dimensional texture subimage
.SH C SPECIFICATION
void \f3glCopyTexSubImage2D\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglCopyTexSubImage2D( 'u
GLint \fIlevel\fP,
GLint \fIxoffset\fP,
GLint \fIyoffset\fP,
GLint \fIx\fP,
GLint \fIy\fP,
GLsizei \fIwidth\fP,
GLsizei \fIheight\fP )
.fi
.EQ
delim $$
.EN
.SH PARAMETERS
.TP \w'\fIxoffset\fP\ \ 'u
\f2target\fP
Specifies the target texture.
Must be \%\f3GL_TEXTURE_2D\fP.
.TP
\f2level\fP
Specifies the level-of-detail number.
Level 0 is the base image level.
Level \f2n\fP is the \f2n\fPth mipmap reduction image.
.TP
\f2xoffset\fP
Specifies a texel offset in the x direction within the texture array.
.TP
\f2yoffset\fP
Specifies a texel offset in the y direction within the texture array.
.TP
\f2x\fP, \f2y\fP
Specify the window coordinates of the lower left corner
of the rectangular region of pixels to be copied.
.TP
\f2width\fP
Specifies the width of the texture subimage.
.TP
\f2height\fP
Specifies the height of the texture subimage.
.SH DESCRIPTION
\%\f3glCopyTexSubImage2D\fP replaces a rectangular portion of a two-dimensional
texture image with pixels from the current \%\f3GL_READ_BUFFER\fP (rather
than from main memory, as is the case for \%\f3glTexSubImage2D\fP).
.P
The screen-aligned pixel rectangle with lower left corner at
(\f2x\fP,\ \f2y\fP) and with
width \f2width\fP and height \f2height\fP replaces the portion of the
texture array with x indices \f2xoffset\fP through \f2xoffset\fP$~+~$\f2width\fP$~-~$1,
inclusive, and y indices \f2yoffset\fP through \f2yoffset\fP$~+~$\f2height\fP$~-~$1,
inclusive, at the mipmap level specified by \f2level\fP.
.P
The pixels in the rectangle are processed exactly as if
\%\f3glCopyPixels\fP had been called, but the process stops just before
final conversion.
At this point, all pixel component values are clamped to the range [0,\ 1]
and then converted to the texture's internal for storage in the texel
array.
.P
The destination rectangle in the texture array may not include any texels
outside the texture array as it was originally specified.
It is not an error to specify a subtexture with zero width or height, but
such a specification has no effect.
.P
If any of the pixels within the specified rectangle of the current
\%\f3GL_READ_BUFFER\fP are outside the read window associated with the current
rendering context, then the values obtained for those pixels are undefined.
.P
No change is made to the \f2internalformat\fP, \f2width\fP,
\f2height\fP, or \f2border\fP parameters of the specified texture
array or to texel values outside the specified subregion.
.SH NOTES
\%\f3glCopyTexSubImage2D\fP is available only if the GL version is 1.1 or greater.
.P
Texturing has no effect in color index mode.
.P
\%\f3glPixelStore\fP and \%\f3glPixelTransfer\fP modes affect texture images
in exactly the way they affect \%\f3glDrawPixels\fP.
.P
When the \%\f3GL_ARB_imaging\fP extension is supported, the RGBA components
read from the framebuffer may be processed by the imaging pipeline. See
\%\f3glTexImage1D\fP for specific details.
.SH ERRORS
\%\f3GL_INVALID_ENUM\fP is generated if \f2target\fP is not \%\f3GL_TEXTURE_2D\fP.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if the texture array has not
been defined by a previous \%\f3glTexImage2D\fP or \%\f3glCopyTexImage2D\fP operation.
.P
\%\f3GL_INVALID_VALUE\fP is generated if \f2level\fP is less than 0.
.P
\%\f3GL_INVALID_VALUE\fP may be generated if \f2level\fP is greater
than $log sub 2 max$,
where $max$ is the returned value of \%\f3GL_MAX_TEXTURE_SIZE\fP.
.P
\%\f3GL_INVALID_VALUE\fP is generated if \f2x\fP$ ~<~ ~-b$ or if
\f2y\fP$ ~<~ ~-b$,
where $b$ is the border width of the texture array.
.P
\%\f3GL_INVALID_VALUE\fP is generated if $"xoffset" ~<~ -b$,
(\f2xoffset\fP$~+~$\f2width\fP)$~>~(w ~-~b)$,
\f2yoffset\fP$~<~ ~-b$, or
(\f2yoffset\fP$~+~$\f2height\fP)$~>~(h ~-~b)$,
where $w$ is the \%\f3GL_TEXTURE_WIDTH\fP,
$h$ is the \%\f3GL_TEXTURE_HEIGHT\fP,
and $b$ is the \%\f3GL_TEXTURE_BORDER\fP
of the texture image being modified.
Note that $w$ and $h$
include twice the border width.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glCopyTexSubImage2D\fP is executed
between the execution of \%\f3glBegin\fP and the corresponding
execution of \%\f3glEnd\fP.
.SH ASSOCIATED GETS
\%\f3glGetTexImage\fP
.br
\%\f3glIsEnabled\fP with argument \%\f3GL_TEXTURE_2D\fP
.SH SEE ALSO
\%\f3glCopyPixels(3G)\fP,
\%\f3glCopyTexImage1D(3G)\fP,
\%\f3glCopyTexImage2D(3G)\fP,
\%\f3glCopyTexSubImage1D(3G)\fP,
\%\f3glCopyTexSubImage3D(3G)\fP,
\%\f3glPixelStore(3G)\fP,
\%\f3glPixelTransfer(3G)\fP,
\%\f3glReadBuffer(3G)\fP,
\%\f3glTexEnv(3G)\fP,
\%\f3glTexGen(3G)\fP,
\%\f3glTexImage1D(3G)\fP,
\%\f3glTexImage2D(3G)\fP,
\%\f3glTexImage3D(3G)\fP,
\%\f3glTexParameter(3G)\fP,
\%\f3glTexSubImage1D(3G)\fP,
\%\f3glTexSubImage2D(3G)\fP,
\%\f3glTexSubImage3D(3G)\fP

View file

@ -1,158 +0,0 @@
'\" te
'\"! tbl|eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 copytexsu
.ds Xs 39423 7 copytexsubimage3d.gl
.TH GLCOPYTEXSUBIMAGE3D 3G
.SH NAME
.B "glCopyTexSubImage3D
\- copy a three-dimensional texture subimage
.SH C SPECIFICATION
void \f3glCopyTexSubImage3D\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglCopyTexSubImage3D( 'u
GLint \fIlevel\fP,
GLint \fIxoffset\fP,
GLint \fIyoffset\fP,
GLint \fIzoffset\fP,
GLint \fIx\fP,
GLint \fIy\fP,
GLsizei \fIwidth\fP,
GLsizei \fIheight\fP )
.fi
.EQ
delim $$
.EN
.SH PARAMETERS
.TP \w'\fIxoffset\fP\ \ 'u
\f2target\fP
Specifies the target texture.
Must be \%\f3GL_TEXTURE_3D\fP
.TP
\f2level\fP
Specifies the level-of-detail number.
Level 0 is the base image level.
Level \f2n\fP is the \f2n\fPth mipmap reduction image.
.TP
\f2xoffset\fP
Specifies a texel offset in the x direction within the texture array.
.TP
\f2yoffset\fP
Specifies a texel offset in the y direction within the texture array.
.TP
\f2zoffset\fP
Specifies a texel offset in the z direction within the texture array.
.TP
\f2x\fP, \f2y\fP
Specify the window coordinates of the lower left corner
of the rectangular region of pixels to be copied.
.TP
\f2width\fP
Specifies the width of the texture subimage.
.TP
\f2height\fP
Specifies the height of the texture subimage.
.SH DESCRIPTION
\%\f3glCopyTexSubImage3D\fP replaces a rectangular portion of a three-dimensional
texture image with pixels from the current \%\f3GL_READ_BUFFER\fP (rather
than from main memory, as is the case for \%\f3glTexSubImage3D\fP).
.P
The screen-aligned pixel rectangle with lower left corner at
(\f2x\fP,\ \f2y\fP) and with
width \f2width\fP and height \f2height\fP replaces the portion of the
texture array with x indices \f2xoffset\fP through \f2xoffset\fP$~+~$\f2width\fP$~-~$1,
inclusive, and y indices \f2yoffset\fP through \f2yoffset\fP$~+~$\f2height\fP$~-~$1,
inclusive, at z index \f2zoffset\fP and at the mipmap level specified by \f2level\fP.
.P
The pixels in the rectangle are processed exactly as if
\%\f3glCopyPixels\fP had been called, but the process stops just before
final conversion.
At this point, all pixel component values are clamped to the range [0,\ 1]
and then converted to the texture's internal for storage in the texel
array.
.P
The destination rectangle in the texture array may not include any texels
outside the texture array as it was originally specified.
It is not an error to specify a subtexture with zero width or height, but
such a specification has no effect.
.P
If any of the pixels within the specified rectangle of the current
\%\f3GL_READ_BUFFER\fP are outside the read window associated with the current
rendering context, then the values obtained for those pixels are undefined.
.P
No change is made to the \f2internalformat\fP, \f2width\fP,
\f2height\fP, \f2depth\fP, or \f2border\fP parameters of the specified texture
array or to texel values outside the specified subregion.
.SH NOTES
\%\f3glCopyTexSubImage3D\fP is available only if the GL version is 1.2 or greater.
.P
Texturing has no effect in color index mode.
.P
\%\f3glPixelStore\fP and \%\f3glPixelTransfer\fP modes affect texture images
in exactly the way they affect \%\f3glDrawPixels\fP.
.P
When the \%\f3GL_ARB_imaging\fP extension is supported, the RGBA components
copied from the framebuffer may be processed by the imaging pipeline, as
if they were a two-dimensional texture. See \%\f3glTexImage2D\fP for
specific details.
.SH ERRORS
\%\f3GL_INVALID_ENUM\fP is generated if \f2target\fP is not \%\f3GL_TEXTURE_3D\fP.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if the texture array has not
been defined by a previous \%\f3glTexImage3D\fP or \%\f3glCopyTexImage3D\fP operation.
.P
\%\f3GL_INVALID_VALUE\fP is generated if \f2level\fP is less than 0.
.P
\%\f3GL_INVALID_VALUE\fP may be generated if \f2level\fP is greater
than $log sub 2^max$,
where $max$ is the returned value of \%\f3GL_MAX_3D_TEXTURE_SIZE\fP.
.P
\%\f3GL_INVALID_VALUE\fP is generated if \f2x\fP$ ~<~ ~-b$ or if
\f2y\fP$ ~<~ ~-b$,
where $b$ is the border width of the texture array.
.P
\%\f3GL_INVALID_VALUE\fP is generated if $"xoffset" ~<~ -b$,
(\f2xoffset\fP$~+~$\f2width\fP)$~>~(w ~-~b)$,
\f2yoffset\fP$~<~ ~-b$,
(\f2yoffset\fP$~+~$\f2height\fP)$~>~(h ~-~b)$,
\f2zoffset\fP$~<~ ~-b$, or \f2zoffset\fP$~>~(d ~-~b)$,
where $w$ is the \%\f3GL_TEXTURE_WIDTH\fP,
$h$ is the \%\f3GL_TEXTURE_HEIGHT\fP,
$d$ is the \%\f3GL_TEXTURE_DEPTH\fP,
and $b$ is the \%\f3GL_TEXTURE_BORDER\fP
of the texture image being modified.
Note that $w$, $h$, and $d$
include twice the border width.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glCopyTexSubImage3D\fP is executed
between the execution of \%\f3glBegin\fP and the corresponding
execution of \%\f3glEnd\fP.
.SH ASSOCIATED GETS
\%\f3glGetTexImage\fP
.br
\%\f3glIsEnabled\fP with argument \%\f3GL_TEXTURE_3D\fP
.SH SEE ALSO
\%\f3glCopyPixels(3G)\fP,
\%\f3glCopyTexImage1D(3G)\fP,
\%\f3glCopyTexImage2D(3G)\fP,
\%\f3glCopyTexSubImage1D(3G)\fP,
\%\f3glCopyTexSubImage2D(3G)\fP,
\%\f3glPixelStore(3G)\fP,
\%\f3glPixelTransfer(3G)\fP,
\%\f3glReadBuffer(3G)\fP,
\%\f3glTexEnv(3G)\fP,
\%\f3glTexGen(3G)\fP,
\%\f3glTexImage1D(3G)\fP,
\%\f3glTexImage2D(3G)\fP,
\%\f3glTexImage3D(3G)\fP,
\%\f3glTexParameter(3G)\fP,
\%\f3glTexSubImage1D(3G)\fP,
\%\f3glTexSubImage2D(3G)\fP,
\%\f3glTexSubImage3D(3G)\fP

View file

@ -1,58 +0,0 @@
'\" te
'\"! tbl|eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 cullface.
.ds Xs 63441 4 cullface.gl
.TH GLCULLFACE 3G
.SH NAME
.B "glCullFace
\- specify whether front- or back-facing facets can be culled
.SH C SPECIFICATION
void \f3glCullFace\fP(
GLenum \fImode\fP )
.nf
.fi
.SH PARAMETERS
.TP \w'\f2mode\fP\ \ 'u
\f2mode\fP
Specifies whether front- or back-facing facets are candidates for culling.
Symbolic constants
\%\f3GL_FRONT\fP, \%\f3GL_BACK\fP, and \%\f3GL_FRONT_AND_BACK\fP are accepted.
The initial value is \%\f3GL_BACK\fP.
.SH DESCRIPTION
\%\f3glCullFace\fP specifies whether front- or back-facing facets are culled
(as specified by \f2mode\fP) when facet culling is enabled. Facet
culling is initially disabled.
To enable and disable facet culling, call the
\%\f3glEnable\fP and \%\f3glDisable\fP commands
with the argument \%\f3GL_CULL_FACE\fP.
Facets include triangles,
quadrilaterals,
polygons,
and rectangles.
.P
\%\f3glFrontFace\fP specifies which of the clockwise and counterclockwise facets
are front-facing and back-facing.
See \%\f3glFrontFace\fP.
.SH NOTES
If \f2mode\fP is \%\f3GL_FRONT_AND_BACK\fP, no facets are drawn, but other
primitives such as points and lines are drawn.
.SH ERRORS
\%\f3GL_INVALID_ENUM\fP is generated if \f2mode\fP is not an accepted value.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glCullFace\fP
is executed between the execution of \%\f3glBegin\fP
and the corresponding execution of \%\f3glEnd\fP.
.SH ASSOCIATED GETS
\%\f3glIsEnabled\fP with argument \%\f3GL_CULL_FACE\fP
.br
\%\f3glGet\fP with argument \%\f3GL_CULL_FACE_MODE\fP
.SH SEE ALSO
\%\f3glEnable(3G)\fP,
\%\f3glFrontFace(3G)\fP

View file

@ -1,50 +0,0 @@
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 deletelis
.ds Xs 9368 4 deletelists.gl
.TH GLDELETELISTS 3G
.SH NAME
.B "glDeleteLists
\- delete a contiguous group of display lists
.SH C SPECIFICATION
void \f3glDeleteLists\fP(
GLuint \fIlist\fP,
.nf
.ta \w'\f3void \fPglDeleteLists( 'u
GLsizei \fIrange\fP )
.fi
.SH PARAMETERS
.TP \w'\fIrange\fP\ \ 'u
\f2list\fP
Specifies the integer name of the first display list to delete.
.TP
\f2range\fP
Specifies the number of display lists to delete.
.SH DESCRIPTION
\%\f3glDeleteLists\fP causes a contiguous group of display lists to be deleted.
\f2list\fP is the name of the first display list to be deleted,
and \f2range\fP is the number of display lists to delete.
All display lists \fId\fP with \f2list\fP \(<= \fId\fP \(<= \f2list\fP + \f2range\fP \- 1
are deleted.
.P
All storage locations allocated to the specified display lists are freed,
and the names are available for reuse at a later time.
Names within the range that do not have an associated display list are ignored.
If \f2range\fP is 0, nothing happens.
.SH ERRORS
\%\f3GL_INVALID_VALUE\fP is generated if \f2range\fP is negative.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glDeleteLists\fP
is executed between the execution of \%\f3glBegin\fP
and the corresponding execution of \%\f3glEnd\fP.
.SH SEE ALSO
\%\f3glCallList(3G)\fP,
\%\f3glCallLists(3G)\fP,
\%\f3glGenLists(3G)\fP,
\%\f3glIsList(3G)\fP,
\%\f3glNewList(3G)\fP

View file

@ -1,60 +0,0 @@
'\" e
'\"! eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 deletetex
.ds Xs 39225 4 deletetextures.gl
.TH GLDELETETEXTURES 3G
.SH NAME
.B "glDeleteTextures
\- delete named textures
.SH C SPECIFICATION
void \f3glDeleteTextures\fP(
GLsizei \fIn\fP,
.nf
.ta \w'\f3void \fPglDeleteTextures( 'u
const GLuint \fI*textures\fP )
.fi
.SH PARAMETERS
.TP \w'\fItextures\fP\ \ 'u
\f2n\fP
Specifies the number of textures to be deleted.
.TP
\f2textures\fP
Specifies an array of textures to be deleted.
.SH DESCRIPTION
\%\f3glDeleteTextures\fP deletes \f2n\fP textures named by the elements of the array \f2textures\fP.
After a texture is deleted, it has no contents or dimensionality,
and its name is free for reuse (for example by \%\f3glGenTextures\fP).
If a texture that is currently bound is deleted, the binding reverts
to 0 (the default texture).
.P
\%\f3glDeleteTextures\fP silently ignores 0's and names that do not correspond to
existing textures.
.SH NOTES
\%\f3glDeleteTextures\fP is available only if the GL version is 1.1 or greater.
.SH ERRORS
\%\f3GL_INVALID_VALUE\fP is generated if \f2n\fP is negative.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glDeleteTextures\fP is executed
between the execution of \%\f3glBegin\fP and the corresponding
execution of \%\f3glEnd\fP.
.SH ASSOCIATED GETS
\%\f3glIsTexture\fP
.SH SEE ALSO
\%\f3glAreTexturesResident(3G)\fP,
\%\f3glBindTexture(3G)\fP,
\%\f3glCopyTexImage1D(3G)\fP,
\%\f3glCopyTexImage2D(3G)\fP,
\%\f3glGenTextures(3G)\fP,
\%\f3glGet(3G)\fP,
\%\f3glGetTexParameter(3G)\fP,
\%\f3glPrioritizeTextures(3G)\fP,
\%\f3glTexImage1D(3G)\fP,
\%\f3glTexImage2D(3G)\fP,
\%\f3glTexParameter(3G)\fP

View file

@ -1,88 +0,0 @@
'\" te
'\"! tbl|eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 depthfunc
.ds Xs 34310 5 depthfunc.gl
.TH GLDEPTHFUNC 3G
.SH NAME
.B "glDepthFunc
\- specify the value used for depth buffer comparisons
.SH C SPECIFICATION
void \f3glDepthFunc\fP(
GLenum \fIfunc\fP )
.nf
.fi
.SH PARAMETERS
.TP \w'\f2func\fP\ \ 'u
\f2func\fP
Specifies the depth comparison function.
Symbolic constants
\%\f3GL_NEVER\fP,
\%\f3GL_LESS\fP,
\%\f3GL_EQUAL\fP,
\%\f3GL_LEQUAL\fP,
\%\f3GL_GREATER\fP,
\%\f3GL_NOTEQUAL\fP,
\%\f3GL_GEQUAL\fP, and
\%\f3GL_ALWAYS\fP are accepted.
The initial value is \%\f3GL_LESS\fP.
.SH DESCRIPTION
\%\f3glDepthFunc\fP specifies the function used to compare each incoming pixel depth value
with the depth value present in the depth buffer.
The comparison is performed only if depth testing is enabled.
(See \%\f3glEnable\fP and \%\f3glDisable\fP of \%\f3GL_DEPTH_TEST\fP.)
.P
\f2func\fP specifies the conditions under which the pixel will be drawn.
The comparison functions are as follows:
.TP 16
\%\f3GL_NEVER\fP
Never passes.
.TP
\%\f3GL_LESS\fP
Passes if the incoming depth value is less than the stored depth value.
.TP
\%\f3GL_EQUAL\fP
Passes if the incoming depth value is equal to the stored depth value.
.TP
\%\f3GL_LEQUAL\fP
Passes if the incoming depth value is less than or equal to
the stored depth value.
.TP
\%\f3GL_GREATER\fP
Passes if the incoming depth value is greater than the stored depth value.
.TP
\%\f3GL_NOTEQUAL\fP
Passes if the incoming depth value is not equal to the stored depth value.
.TP
\%\f3GL_GEQUAL\fP
Passes if the incoming depth value is greater than or equal to
the stored depth value.
.TP
\%\f3GL_ALWAYS\fP
Always passes.
.P
The initial value of \f2func\fP is \%\f3GL_LESS\fP.
Initially, depth testing is disabled.
.NOTES
Even if the depth buffer exists and the depth mask is non-zero, the
depth buffer is not updated if the depth test is disabled.
.SH ERRORS
\%\f3GL_INVALID_ENUM\fP is generated if \f2func\fP is not an accepted value.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glDepthFunc\fP
is executed between the execution of \%\f3glBegin\fP
and the corresponding execution of \%\f3glEnd\fP.
.SH ASSOCIATED GETS
\%\f3glGet\fP with argument \%\f3GL_DEPTH_FUNC\fP
.br
\%\f3glIsEnabled\fP with argument \%\f3GL_DEPTH_TEST\fP
.SH SEE ALSO
\%\f3glDepthRange(3G)\fP,
\%\f3glEnable(3G)\fP,
\%\f3glPolygonOffset(3G)\fP

View file

@ -1,46 +0,0 @@
'\" e
'\"! eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 depthmask
.ds Xs 13631 3 depthmask.gl
.TH GLDEPTHMASK 3G
.SH NAME
.B "glDepthMask
\- enable or disable writing into the depth buffer
.SH C SPECIFICATION
void \f3glDepthMask\fP(
GLboolean \fIflag\fP )
.nf
.fi
.SH PARAMETERS
.TP \w'\f2flag\fP\ \ 'u
\f2flag\fP
Specifies whether the depth buffer is enabled for writing.
If \f2flag\fP is \%\f3GL_FALSE\fP,
depth buffer writing is disabled.
Otherwise, it is enabled.
Initially, depth buffer writing is enabled.
.SH DESCRIPTION
\%\f3glDepthMask\fP specifies whether the depth buffer is enabled for writing.
If \f2flag\fP is \%\f3GL_FALSE\fP,
depth buffer writing is disabled.
Otherwise, it is enabled.
Initially, depth buffer writing is enabled.
.SH ERRORS
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glDepthMask\fP
is executed between the execution of \%\f3glBegin\fP
and the corresponding execution of \%\f3glEnd\fP.
.SH ASSOCIATED GETS
\%\f3glGet\fP with argument \%\f3GL_DEPTH_WRITEMASK\fP
.SH SEE ALSO
\%\f3glColorMask(3G)\fP,
\%\f3glDepthFunc(3G)\fP,
\%\f3glDepthRange(3G)\fP,
\%\f3glIndexMask(3G)\fP,
\%\f3glStencilMask(3G)\fP

View file

@ -1,65 +0,0 @@
'\" e
'\"! eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 depthrang
.ds Xs 41369 4 depthrange.gl
.TH GLDEPTHRANGE 3G
.SH NAME
.B "glDepthRange
\- specify mapping of depth values from normalized device coordinates to window coordinates
.SH C SPECIFICATION
void \f3glDepthRange\fP(
GLclampd \fInear_val\fP,
.nf
.ta \w'\f3void \fPglDepthRange( 'u
GLclampd \fIfar_val\fP )
.fi
.EQ
delim $$
.EN
.SH PARAMETERS
.TP \w'\f2near_val\fP\ \ 'u
\f2near_val\fP
Specifies the mapping of the near clipping plane to window coordinates.
The initial value is 0.
.TP
\f2far_val\fP
Specifies the mapping of the far clipping plane to window coordinates.
The initial value is 1.
.SH DESCRIPTION
After clipping and division by \f2w\fP,
depth coordinates range from \-1 to 1,
corresponding to the near and far clipping planes.
\%\f3glDepthRange\fP specifies a linear mapping of the normalized depth coordinates
in this range to window depth coordinates.
Regardless of the actual depth buffer implementation,
window coordinate depth values are treated as though they range
from 0 through 1 (like color components).
Thus,
the values accepted by \%\f3glDepthRange\fP are both clamped to this range
before they are accepted.
.P
The setting of (0,1) maps the near plane to 0 and
the far plane to 1.
With this mapping,
the depth buffer range is fully utilized.
.SH NOTES
It is not necessary that \f2near_val\fP be less than \f2far_val\fP.
Reverse mappings such as $"near_val" ~=~ 1$, and $"far_val" ~=~ 0$
are acceptable.
.SH ERRORS
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glDepthRange\fP
is executed between the execution of \%\f3glBegin\fP
and the corresponding execution of \%\f3glEnd\fP.
.SH ASSOCIATED GETS
\%\f3glGet\fP with argument \%\f3GL_DEPTH_RANGE\fP
.SH SEE ALSO
\%\f3glDepthFunc(3G)\fP,
\%\f3glPolygonOffset(3G)\fP,
\%\f3glViewport(3G)\fP

View file

@ -1,97 +0,0 @@
'\" te
'\"! tbl|eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 drawarray
.ds Xs 55233 5 drawarrays.gl
.TH GLDRAWARRAYS 3G
.SH NAME
.B "glDrawArrays
\- render primitives from array data
.SH C SPECIFICATION
void \f3glDrawArrays\fP(
GLenum \fImode\fP,
.nf
.ta \w'\f3void \fPglDrawArrays( 'u
GLint \fIfirst\fP,
GLsizei \fIcount\fP )
.fi
.EQ
delim $$
.EN
.SH PARAMETERS
.TP \w'\fIfirst\fP\ \ 'u
\f2mode\fP
Specifies what kind of primitives to render.
Symbolic constants
\%\f3GL_POINTS\fP,
\%\f3GL_LINE_STRIP\fP,
\%\f3GL_LINE_LOOP\fP,
\%\f3GL_LINES\fP,
\%\f3GL_TRIANGLE_STRIP\fP,
\%\f3GL_TRIANGLE_FAN\fP,
\%\f3GL_TRIANGLES\fP,
\%\f3GL_QUAD_STRIP\fP,
\%\f3GL_QUADS\fP,
and \%\f3GL_POLYGON\fP are accepted.
.TP
\f2first\fP
Specifies the starting index in the enabled arrays.
.TP
\f2count\fP
Specifies the number of indices to be rendered.
.SH DESCRIPTION
\%\f3glDrawArrays\fP specifies multiple geometric primitives
with very few subroutine calls. Instead of calling a GL procedure
to pass each individual vertex, normal, texture coordinate, edge
flag, or color, you can prespecify
separate arrays of vertices, normals, and colors and use them to
construct a sequence of primitives with a single
call to \%\f3glDrawArrays\fP.
.P
When \%\f3glDrawArrays\fP is called, it uses \f2count\fP sequential elements from each
enabled array to construct a sequence of geometric primitives,
beginning with element \f2first\fP. \f2mode\fP specifies what kind of
primitives are constructed, and how the array elements
construct those primitives. If \%\f3GL_VERTEX_ARRAY\fP is not enabled, no
geometric primitives are generated.
.P
Vertex attributes that are modified by \%\f3glDrawArrays\fP have an
unspecified value after \%\f3glDrawArrays\fP returns. For example, if
\%\f3GL_COLOR_ARRAY\fP is enabled, the value of the current color is
undefined after \%\f3glDrawArrays\fP executes. Attributes that aren't
modified remain well defined.
.SH NOTES
\%\f3glDrawArrays\fP is available only if the GL version is 1.1 or greater.
.P
\%\f3glDrawArrays\fP is included in display lists. If \%\f3glDrawArrays\fP is entered into a
display list,
the necessary array data (determined by the array pointers and
enables) is also
entered into the display list. Because the array pointers and
enables are client-side state, their values affect display lists
when the lists are created, not when the lists are executed.
.SH ERRORS
\%\f3GL_INVALID_ENUM\fP is generated if \f2mode\fP is not an accepted value.
.P
\%\f3GL_INVALID_VALUE\fP is generated if \f2count\fP is negative.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glDrawArrays\fP is executed between
the execution of \%\f3glBegin\fP and the corresponding \%\f3glEnd\fP.
.SH SEE ALSO
\%\f3glArrayElement(3G)\fP,
\%\f3glColorPointer(3G)\fP,
\%\f3glDrawElements(3G)\fP,
\%\f3glDrawRangeElements(3G)\fP,
\%\f3glEdgeFlagPointer(3G)\fP,
\%\f3glGetPointerv(3G)\fP,
\%\f3glIndexPointer(3G)\fP,
\%\f3glInterleavedArrays(3G)\fP,
\%\f3glNormalPointer(3G)\fP,
\%\f3glTexCoordPointer(3G)\fP,
\%\f3glVertexPointer(3G)\fP

View file

@ -1,141 +0,0 @@
'\" te
'\"! tbl|eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 drawbuffe
.ds Xs 38775 6 drawbuffer.gl
.TH GLDRAWBUFFER 3G
.SH NAME
.B "glDrawBuffer
\- specify which color buffers are to be drawn into
.SH C SPECIFICATION
void \f3glDrawBuffer\fP(
GLenum \fImode\fP )
.nf
.fi
.EQ
delim $$
.EN
.SH PARAMETERS
.TP \w'\f2mode\fP\ \ 'u
\f2mode\fP
Specifies up to four color buffers to be drawn into.
Symbolic constants
\%\f3GL_NONE\fP,
\%\f3GL_FRONT_LEFT\fP,
\%\f3GL_FRONT_RIGHT\fP,
\%\f3GL_BACK_LEFT\fP,
\%\f3GL_BACK_RIGHT\fP,
\%\f3GL_FRONT\fP,
\%\f3GL_BACK\fP,
\%\f3GL_LEFT\fP,
\%\f3GL_RIGHT\fP,
\%\f3GL_FRONT_AND_BACK\fP, and
\%\f3GL_AUX\fP\f2i\fP,
where \f2i\fP is between 0 and
.br
``\%\f3GL_AUX_BUFFERS\fP'' \-1,
are accepted (\%\f3GL_AUX_BUFFERS\fP is not the upper limit; use \%\f3glGet\fP
to query the number of available aux buffers.)
The initial value is \%\f3GL_FRONT\fP for single-buffered contexts,
and \%\f3GL_BACK\fP for double-buffered contexts.
.SH DESCRIPTION
When colors are written to the frame buffer,
they are written into the color buffers specified by \%\f3glDrawBuffer\fP.
The specifications are as follows:
.TP 25
\%\f3GL_NONE\fP
No color buffers are written.
.TP
\%\f3GL_FRONT_LEFT\fP
Only the front left color buffer is written.
.TP
\%\f3GL_FRONT_RIGHT\fP
Only the front right color buffer is written.
.TP
\%\f3GL_BACK_LEFT\fP
Only the back left color buffer is written.
.TP
\%\f3GL_BACK_RIGHT\fP
Only the back right color buffer is written.
.TP
\%\f3GL_FRONT\fP
Only the front left and front right color buffers are written.
If there is no front right color buffer,
only the front left color buffer is written.
.TP
\%\f3GL_BACK\fP
Only the back left and back right color buffers are written.
If there is no back right color buffer,
only the back left color buffer is written.
.TP
\%\f3GL_LEFT\fP
Only the front left and back left color buffers are written.
If there is no back left color buffer,
only the front left color buffer is written.
.TP
\%\f3GL_RIGHT\fP
Only the front right and back right color buffers are written.
If there is no back right color buffer,
only the front right color buffer is written.
.BP
.TP
\%\f3GL_FRONT_AND_BACK\fP
All the front and back color buffers
(front left, front right, back left, back right)
are written.
If there are no back color buffers,
only the front left and front right color buffers are written.
If there are no right color buffers,
only the front left and back left color buffers are written.
If there are no right or back color buffers,
only the front left color buffer is written.
.TP
\%\f3GL_AUX\fP\f2i\fP
Only auxiliary color buffer \f2i\fP is written.
.P
If more than one color buffer is selected for drawing,
then blending or logical operations are computed and applied independently
for each color buffer and can produce different results in each buffer.
.P
Monoscopic contexts include only
.I left
buffers, and stereoscopic contexts include both
.I left
and
.I right
buffers.
Likewise, single-buffered contexts include only
.I front
buffers, and double-buffered contexts include both
.I front
and
.I back
buffers.
The context is selected at GL initialization.
.SH NOTES
It is always the case that \%\f3GL_AUX\fP$i$ = \%\f3GL_AUX0\fP + $i$.
.SH ERRORS
\%\f3GL_INVALID_ENUM\fP is generated if \f2mode\fP is not an accepted value.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if none of the buffers indicated
by \f2mode\fP exists.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glDrawBuffer\fP
is executed between the execution of \%\f3glBegin\fP
and the corresponding execution of \%\f3glEnd\fP.
.SH ASSOCIATED GETS
\%\f3glGet\fP with argument \%\f3GL_DRAW_BUFFER\fP
.br
\%\f3glGet\fP with argument \%\f3GL_AUX_BUFFERS\fP
.SH SEE ALSO
\%\f3glBlendFunc(3G)\fP,
\%\f3glColorMask(3G)\fP,
\%\f3glIndexMask(3G)\fP,
\%\f3glLogicOp(3G)\fP,
\%\f3glReadBuffer(3G)\fP

View file

@ -1,105 +0,0 @@
'\" te
'\"! tbl|eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 draweleme
.ds Xs 17577 5 drawelements.gl
.TH GLDRAWELEMENTS 3G
.SH NAME
.B "glDrawElements
\- render primitives from array data
.SH C SPECIFICATION
void \f3glDrawElements\fP(
GLenum \fImode\fP,
.nf
.ta \w'\f3void \fPglDrawElements( 'u
GLsizei \fIcount\fP,
GLenum \fItype\fP,
const GLvoid \fI*indices\fP )
.fi
.EQ
delim $$
.EN
.SH PARAMETERS
.TP \w'\fIindices\fP\ \ 'u
\f2mode\fP
Specifies what kind of primitives to render.
Symbolic constants
\%\f3GL_POINTS\fP,
\%\f3GL_LINE_STRIP\fP,
\%\f3GL_LINE_LOOP\fP,
\%\f3GL_LINES\fP,
\%\f3GL_TRIANGLE_STRIP\fP,
\%\f3GL_TRIANGLE_FAN\fP,
\%\f3GL_TRIANGLES\fP,
\%\f3GL_QUAD_STRIP\fP,
\%\f3GL_QUADS\fP,
and \%\f3GL_POLYGON\fP are accepted.
.TP
\f2count\fP
Specifies the number of elements to be rendered.
.TP
\f2type\fP
Specifies the type of the values in \f2indices\fP. Must be one of
\%\f3GL_UNSIGNED_BYTE\fP, \%\f3GL_UNSIGNED_SHORT\fP, or
\%\f3GL_UNSIGNED_INT\fP.
.TP
\f2indices\fP
Specifies a pointer to the location where the indices are stored.
.SH DESCRIPTION
\%\f3glDrawElements\fP specifies multiple geometric primitives
with very few subroutine calls. Instead of calling a GL function
to pass each individual vertex, normal, texture coordinate, edge
flag, or color, you can prespecify
separate arrays of vertices, normals, and so on and use them to
construct a sequence of primitives with a single
call to \%\f3glDrawElements\fP.
.P
When \%\f3glDrawElements\fP is called, it uses \f2count\fP sequential elements from an
enabled array, starting at \f2indices\fP to construct a sequence of
geometric primitives. \f2mode\fP specifies what kind of primitives are
constructed, and how the array elements construct these primitives. If
more than one array is enabled, each is used. If
\%\f3GL_VERTEX_ARRAY\fP is not enabled, no geometric primitives are
constructed.
.P
Vertex attributes that are modified by \%\f3glDrawElements\fP have an
unspecified value after \%\f3glDrawElements\fP returns. For example, if
\%\f3GL_COLOR_ARRAY\fP is enabled, the value of the current color is
undefined after \%\f3glDrawElements\fP executes. Attributes that aren't
modified maintain their previous values.
.SH NOTES
\%\f3glDrawElements\fP is available only if the GL version is 1.1 or greater.
.P
\%\f3glDrawElements\fP is included in display lists. If \%\f3glDrawElements\fP is entered into a
display list,
the necessary array data (determined by the array pointers and
enables) is also
entered into the display list. Because the array pointers and
enables are client-side state, their values affect display lists
when the lists are created, not when the lists are executed.
.SH ERRORS
\%\f3GL_INVALID_ENUM\fP is generated if \f2mode\fP is not an accepted value.
.P
\%\f3GL_INVALID_VALUE\fP is generated if \f2count\fP is negative.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glDrawElements\fP is executed between
the execution of \%\f3glBegin\fP and the corresponding \%\f3glEnd\fP.
.SH SEE ALSO
\%\f3glArrayElement(3G)\fP,
\%\f3glColorPointer(3G)\fP,
\%\f3glDrawArrays(3G)\fP,
\%\f3glDrawRangeElements(3G)\fP,
\%\f3glEdgeFlagPointer(3G)\fP,
\%\f3glGetPointerv(3G)\fP,
\%\f3glIndexPointer(3G)\fP,
\%\f3glInterleavedArrays(3G)\fP,
\%\f3glNormalPointer(3G)\fP,
\%\f3glTexCoordPointer(3G)\fP,
\%\f3glVertexPointer(3G)\fP

View file

@ -1,545 +0,0 @@
'\" te
'\"! tbl|eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 drawpixel
.ds Xs 51793 21 drawpixels.gl
.TH GLDRAWPIXELS 3G
.SH NAME
.B "glDrawPixels
\- write a block of pixels to the frame buffer
.SH C SPECIFICATION
void \f3glDrawPixels\fP(
GLsizei \fIwidth\fP,
.nf
.ta \w'\f3void \fPglDrawPixels( 'u
GLsizei \fIheight\fP,
GLenum \fIformat\fP,
GLenum \fItype\fP,
const GLvoid \fI*pixels\fP )
.fi
.EQ
delim $$
.EN
.SH PARAMETERS
.TP \w'\f2width\fP\ \f2height\fP\ \ 'u
\f2width\fP, \f2height\fP
Specify the dimensions of the pixel rectangle to be written
into the frame buffer.
.TP
\f2format\fP
Specifies the of the pixel data.
Symbolic constants
\%\f3GL_COLOR_INDEX\fP,
\%\f3GL_STENCIL_INDEX\fP,
\%\f3GL_DEPTH_COMPONENT\fP,
\%\f3GL_RGB\fP,
\%\f3GL_BGR\fP,
\%\f3GL_RGBA\fP,
\%\f3GL_BGRA\fP,
\%\f3GL_RED\fP,
\%\f3GL_GREEN\fP,
\%\f3GL_BLUE\fP,
\%\f3GL_ALPHA\fP,
\%\f3GL_LUMINANCE\fP, and
\%\f3GL_LUMINANCE_ALPHA\fP are accepted.
.TP
\f2type\fP
Specifies the data type for \f2pixels\fP.
Symbolic constants
\%\f3GL_UNSIGNED_BYTE\fP,
\%\f3GL_BYTE\fP,
\%\f3GL_BITMAP\fP,
\%\f3GL_UNSIGNED_SHORT\fP,
\%\f3GL_SHORT\fP,
\%\f3GL_UNSIGNED_INT\fP,
\%\f3GL_INT\fP,
\%\f3GL_FLOAT\fP,
\%\f3GL_UNSIGNED_BYTE_3_3_2\fP,
\%\f3GL_UNSIGNED_BYTE_2_3_3_REV\fP,
\%\f3GL_UNSIGNED_SHORT_5_6_5\fP,
\%\f3GL_UNSIGNED_SHORT_5_6_5_REV\fP,
\%\f3GL_UNSIGNED_SHORT_4_4_4_4\fP,
\%\f3GL_UNSIGNED_SHORT_4_4_4_4_REV\fP,
\%\f3GL_UNSIGNED_SHORT_5_5_5_1\fP,
\%\f3GL_UNSIGNED_SHORT_1_5_5_5_REV\fP,
\%\f3GL_UNSIGNED_INT_8_8_8_8\fP,
\%\f3GL_UNSIGNED_INT_8_8_8_8_REV\fP,
\%\f3GL_UNSIGNED_INT_10_10_10_2\fP, and
\%\f3GL_UNSIGNED_INT_2_10_10_10_REV\fP
are accepted.
.TP
\f2pixels\fP
Specifies a pointer to the pixel data.
.SH DESCRIPTION
\%\f3glDrawPixels\fP reads pixel data from memory and writes it into the frame buffer
.br
relative to the current raster position, provided that the raster
position is valid. Use
.br
\%\f3glRasterPos\fP to set the current raster position; use
\%\f3glGet\fP with argument \%\f3GL_CURRENT_RASTER_POSITION_VALID\fP
to determine if the specified raster position is valid, and
\%\f3glGet\fP with argument \%\f3GL_CURRENT_RASTER_POSITION\fP
to query the raster position.
.P
Several parameters define the encoding of pixel data in memory
and control the processing of the pixel data
before it is placed in the frame buffer.
These parameters are set with four commands:
\%\f3glPixelStore\fP,
\%\f3glPixelTransfer\fP,
\%\f3glPixelMap\fP, and \%\f3glPixelZoom\fP.
This reference page describes the effects on \%\f3glDrawPixels\fP of many,
but not all, of the parameters specified by these four commands.
.P
Data is read from \f2pixels\fP as a sequence of signed or unsigned bytes,
signed or unsigned shorts, signed or unsigned integers, or
single-precision floating-point values, depending on \f2type\fP.
When \f2type\fP is one of \%\f3GL_UNSIGNED_BYTE\fP, \%\f3GL_BYTE\fP,
\%\f3GL_UNSIGNED_SHORT\fP, \%\f3GL_SHORT\fP, \%\f3GL_UNSIGNED_INT\fP,
\%\f3GL_INT\fP, or \%\f3GL_FLOAT\fP each of these bytes, shorts, integers, or
floating-point values is interpreted as one color or depth component, or
one index, depending on \f2format\fP.
When \f2type\fP is one of \%\f3GL_UNSIGNED_BYTE_3_3_2\fP,
\%\f3GL_UNSIGNED_SHORT_5_6_5\fP, \%\f3GL_UNSIGNED_SHORT_4_4_4_4\fP,
\%\f3GL_UNSIGNED_SHORT_5_5_5_1\fP, \%\f3GL_UNSIGNED_INT_8_8_8_8\fP,
\%\f3GL_UNSIGNED_INT_10_10_10_2\fP, each unsigned value is interpreted as
containing all the components for a single pixel, with the color
components arranged according to \f2format\fP.
When \f2type\fP is one of \%\f3GL_UNSIGNED_BYTE_2_3_3_REV\fP,
\%\f3GL_UNSIGNED_SHORT_5_6_5_REV\fP, \%\f3GL_UNSIGNED_SHORT_4_4_4_4_REV\fP,
\%\f3GL_UNSIGNED_SHORT_1_5_5_5_REV\fP, \%\f3GL_UNSIGNED_INT_8_8_8_8_REV\fP,
\%\f3GL_UNSIGNED_INT_2_10_10_10_REV\fP, each unsigned value is interpreted
as containing all color components, specified by \f2format\fP, for a single
pixel in a reversed order. Indices are always treated individually.
Color components are treated as groups of one, two, three, or four
values, again based on \f2format\fP. Both individual indices and groups of
components are referred to as pixels.
If \f2type\fP is \%\f3GL_BITMAP\fP, the data must be unsigned bytes, and
\f2format\fP must be either \%\f3GL_COLOR_INDEX\fP or \%\f3GL_STENCIL_INDEX\fP.
Each unsigned byte is treated as eight 1-bit pixels, with bit ordering
determined by \%\f3GL_UNPACK_LSB_FIRST\fP (see \%\f3glPixelStore\fP).
.P
\f2width\fP$~ times ~$\f2height\fP pixels are read from memory,
starting at location \f2pixels\fP.
By default, these pixels are taken from adjacent memory locations,
except that after all \f2width\fP pixels are read,
the read pointer is advanced to the next four-byte boundary.
The four-byte row alignment is specified by \%\f3glPixelStore\fP with
argument \%\f3GL_UNPACK_ALIGNMENT\fP,
and it can be set to one, two, four, or eight bytes.
Other pixel store parameters specify different read pointer advancements,
both before the first pixel is read
and after all \f2width\fP pixels are read.
See the \%\f3glPixelStore\fP reference page for details on these options.
.P
The \f2width\fP$~ times ~$\f2height\fP pixels that are read from memory are
each operated on in the same way,
based on the values of several parameters specified by \%\f3glPixelTransfer\fP
and \%\f3glPixelMap\fP.
The details of these operations,
as well as the target buffer into which the pixels are drawn,
are specific to the of the pixels,
as specified by \f2format\fP.
\f2format\fP can assume one of 13 symbolic values:
.TP 10
\%\f3GL_COLOR_INDEX\fP
Each pixel is a single value,
a color index.
It is converted to fixed-point ,
with an unspecified number of bits to the right of the binary point,
regardless of the memory data type.
Floating-point values convert to true fixed-point values.
Signed and unsigned integer data is converted with all fraction bits
set to 0.
Bitmap data convert to either 0 or 1.
.IP
Each fixed-point index is then shifted left by \%\f3GL_INDEX_SHIFT\fP bits
and added to \%\f3GL_INDEX_OFFSET\fP.
If \%\f3GL_INDEX_SHIFT\fP is negative,
the shift is to the right.
In either case, zero bits fill otherwise unspecified bit locations in the
result.
.IP
If the GL is in RGBA mode,
the resulting index is converted to an RGBA pixel
with the help of the \%\f3GL_PIXEL_MAP_I_TO_R\fP,
\%\f3GL_PIXEL_MAP_I_TO_G\fP,
\%\f3GL_PIXEL_MAP_I_TO_B\fP,
and \%\f3GL_PIXEL_MAP_I_TO_A\fP tables.
If the GL is in color index mode,
and if \%\f3GL_MAP_COLOR\fP is true,
the index is replaced with the value that it references in lookup table
\%\f3GL_PIXEL_MAP_I_TO_I\fP.
Whether the lookup replacement of the index is done or not,
the integer part of the index is then ANDed with $2 sup b -1$,
where $b$ is the number of bits in a color index buffer.
.BP
.IP
The GL then converts the resulting indices or RGBA colors to fragments
by attaching the current raster position \f2z\fP coordinate and
texture coordinates to each pixel,
then assigning $x$ and $y$ window coordinates to the $n$th fragment such that
.sp
.RS
.ce
$x sub n ~=~ x sub r ~+~ n ~ roman mod ~ "width"$
.sp
.ce
$y sub n ~=~ y sub r ~+~ \(lf n ^/^ "width" ~ \(rf$
.ce 0
.sp
.RE
.IP
where ($x sub r , y sub r$) is the current raster position.
These pixel fragments are then treated just like the fragments generated by
rasterizing points, lines, or polygons.
Texture mapping,
fog,
and all the fragment operations are applied before the fragments are written
to the frame buffer.
.TP
\%\f3GL_STENCIL_INDEX\fP
Each pixel is a single value,
a stencil index.
It is converted to fixed-point ,
with an unspecified number of bits to the right of the binary point,
regardless of the memory data type.
Floating-point values convert to true fixed-point values.
Signed and unsigned integer data is converted with all fraction bits
set to 0.
Bitmap data convert to either 0 or 1.
.IP
Each fixed-point index is then shifted left by \%\f3GL_INDEX_SHIFT\fP bits,
and added to \%\f3GL_INDEX_OFFSET\fP.
If \%\f3GL_INDEX_SHIFT\fP is negative,
the shift is to the right.
In either case, zero bits fill otherwise unspecified bit locations in the
result.
If \%\f3GL_MAP_STENCIL\fP is true,
the index is replaced with the value that it references in lookup table
\%\f3GL_PIXEL_MAP_S_TO_S\fP.
Whether the lookup replacement of the index is done or not,
the integer part of the index is then ANDed with $2 sup b -1$,
where $b$ is the number of bits in the stencil buffer.
The resulting stencil indices are then written to the stencil buffer
such that the $n$th index is written to location
.P
.RS
.ce
$x sub n ~=~ x sub r ~+~ n ~ roman mod ~ "width"$
.sp
.ce
$y sub n ~=~ y sub r ~+~ \(lf ~ n / "width" ~ \(rf$
.fi
.sp
.RE
.IP
where ($x sub r , y sub r$) is the current raster position.
Only the pixel ownership test,
the scissor test,
and the stencil writemask affect these write operations.
.TP
\%\f3GL_DEPTH_COMPONENT\fP
Each pixel is a single-depth component.
Floating-point data is converted directly to an internal floating-point
with unspecified precision.
Signed integer data is mapped linearly to the internal floating-point
such that the most positive representable integer value maps to 1.0,
and the most negative representable value maps to \-1.0.
Unsigned integer data is mapped similarly:
the largest integer value maps to 1.0,
and 0 maps to 0.0.
The resulting floating-point depth value is then multiplied
by \%\f3GL_DEPTH_SCALE\fP and added to \%\f3GL_DEPTH_BIAS\fP.
The result is clamped to the range [0,1].
.IP
The GL then converts the resulting depth components to fragments
by attaching the current raster position color or color index and
texture coordinates to each pixel,
then assigning $x$ and $y$ window coordinates to the $n$th fragment such that
.P
.RS
.ce
$x sub n ~=~ x sub r ~+~ n ~ roman mod ~ "width"$
.sp
.ce
$y sub n ~=~ y sub r ~+~ \(lf ~ n / "width" ~ \(rf$
.ce 0
.sp
.RE
.IP
where ($x sub r , y sub r$) is the current raster position.
These pixel fragments are then treated just like the fragments generated by
rasterizing points, lines, or polygons.
Texture mapping,
fog,
and all the fragment operations are applied before the fragments are written
to the frame buffer.
.TP
\%\f3GL_RGBA\fP
.TP
\%\f3GL_BGRA\fP
Each pixel is a four-component group: for \%\f3GL_RGBA\fP, the red
component is first, followed by green, followed by blue, followed by
alpha; for \%\f3GL_BGRA\fP the order is blue, green, red and then alpha.
Floating-point values are converted directly to an internal floating-point
with unspecified precision.
Signed integer values are mapped linearly to the internal floating-point
such that the most positive representable integer value maps to 1.0,
and the most negative representable value maps to \-1.0. (Note that
this mapping does not convert 0 precisely to 0.0.)
Unsigned integer data is mapped similarly:
the largest integer value maps to 1.0,
and 0 maps to 0.0.
The resulting floating-point color values are then multiplied
by \%\f3GL_c_SCALE\fP and added to \%\f3GL_c_BIAS\fP,
where \f2c\fP is RED, GREEN, BLUE, and ALPHA
for the respective color components.
The results are clamped to the range [0,1].
.IP
If \%\f3GL_MAP_COLOR\fP is true,
each color component is scaled by the size of lookup table
\%\f3GL_PIXEL_MAP_c_TO_c\fP,
then replaced by the value that it references in that table.
\f2c\fP is R, G, B, or A respectively.
.BP
.IP
The GL then converts the resulting RGBA colors to fragments
by attaching the current raster position \f2z\fP coordinate and
texture coordinates to each pixel,
then assigning $x$ and $y$ window coordinates to the $n$th fragment such that
.P
.RS
.ce
$x sub n ~=~ x sub r ~+~ n ~ roman mod ~ "width"$
.sp
.ce
$y sub n ~=~ y sub r ~+~ \(lf ~ n / "width" ~ \(rf$
.ce 0
.sp
.RE
.IP
where ($x sub r , y sub r$) is the current raster position.
These pixel fragments are then treated just like the fragments generated by
rasterizing points, lines, or polygons.
Texture mapping,
fog,
and all the fragment operations are applied before the fragments are written
to the frame buffer.
.TP
\%\f3GL_RED\fP
Each pixel is a single red component.
This component is converted to the internal floating-point in
the same way the red component of an RGBA pixel is. It is
then converted to an RGBA pixel with green and blue set to 0,
and alpha set to 1.
After this conversion, the pixel is treated as if it had been read
as an RGBA pixel.
.TP
\%\f3GL_GREEN\fP
Each pixel is a single green component.
This component is converted to the internal floating-point in
the same way the green component of an RGBA pixel is.
It is then converted to an RGBA pixel with red and blue set to 0,
and alpha set to 1.
After this conversion, the pixel is treated as if it had been read
as an RGBA pixel.
.TP
\%\f3GL_BLUE\fP
Each pixel is a single blue component.
This component is converted to the internal floating-point in
the same way the blue component of an RGBA pixel is.
It is then converted to an RGBA pixel with red and green set to 0,
and alpha set to 1.
After this conversion, the pixel is treated as if it had been read
as an RGBA pixel.
.TP
\%\f3GL_ALPHA\fP
Each pixel is a single alpha component.
This component is converted to the internal floating-point in
the same way the alpha component of an RGBA pixel is.
It is then converted to an RGBA pixel with red, green, and blue set to 0.
After this conversion, the pixel is treated as if it had been read
as an RGBA pixel.
.BP
.TP
\%\f3GL_RGB\fP
.TP
\%\f3GL_BGR\fP
Each pixel is a three-component group:
red first, followed by green, followed by blue; for \%\f3GL_BGR\fP, the
first component is blue, followed by green and then red.
Each component is converted to the internal floating-point in
the same way the red, green, and blue components of an RGBA pixel are.
The color triple is converted to an RGBA pixel with alpha set to 1.
After this conversion, the pixel is treated as if it had been read
as an RGBA pixel.
.TP
\%\f3GL_LUMINANCE\fP
Each pixel is a single luminance component.
This component is converted to the internal floating-point in
the same way the red component of an RGBA pixel is.
It is then converted to an RGBA pixel with red, green, and blue set to the
converted luminance value,
and alpha set to 1.
After this conversion, the pixel is treated as if it had been read
as an RGBA pixel.
.TP
\%\f3GL_LUMINANCE_ALPHA\fP
Each pixel is a two-component group:
luminance first, followed by alpha.
The two components are converted to the internal floating-point in
the same way the red component of an RGBA pixel is.
They are then converted to an RGBA pixel with red, green, and blue set to the
converted luminance value,
and alpha set to the converted alpha value.
After this conversion, the pixel is treated as if it had been read
as an RGBA pixel.
.P
The following table summarizes the meaning of the valid constants for the
\f2type\fP parameter:
.sp 2
.TS
center;
lb lb
l l.
_
Type Corresponding Type
_
\%\f3GL_UNSIGNED_BYTE\fP unsigned 8-bit integer
\%\f3GL_BYTE\fP signed 8-bit integer
\%\f3GL_BITMAP\fP single bits in unsigned 8-bit integers
\%\f3GL_UNSIGNED_SHORT\fP unsigned 16-bit integer
\%\f3GL_SHORT\fP signed 16-bit integer
\%\f3GL_UNSIGNED_INT\fP unsigned 32-bit integer
\%\f3GL_INT\fP 32-bit integer
\%\f3GL_FLOAT\fP single-precision floating-point
\%\f3GL_UNSIGNED_BYTE_3_3_2\fP unsigned 8-bit integer
\%\f3GL_UNSIGNED_BYTE_2_3_3_REV\fP unsigned 8-bit integer with reversed component ordering
\%\f3GL_UNSIGNED_SHORT_5_6_5\fP unsigned 16-bit integer
\%\f3GL_UNSIGNED_SHORT_5_6_5_REV\fP unsigned 16-bit integer with reversed component ordering
\%\f3GL_UNSIGNED_SHORT_4_4_4_4\fP unsigned 16-bit integer
\%\f3GL_UNSIGNED_SHORT_4_4_4_4_REV\fP unsigned 16-bit integer with reversed component ordering
\%\f3GL_UNSIGNED_SHORT_5_5_5_1\fP unsigned 16-bit integer
\%\f3GL_UNSIGNED_SHORT_1_5_5_5_REV\fP unsigned 16-bit integer with reversed component ordering
\%\f3GL_UNSIGNED_INT_8_8_8_8\fP unsigned 32-bit integer
\%\f3GL_UNSIGNED_INT_8_8_8_8_REV\fP unsigned 32-bit integer with reversed component ordering
\%\f3GL_UNSIGNED_INT_10_10_10_2\fP unsigned 32-bit integer
\%\f3GL_UNSIGNED_INT_2_10_10_10_REV\fP unsigned 32-bit integer with reversed component ordering
_
.TE
.sp
.BP
.P
The rasterization described so far assumes pixel zoom factors of 1.
If
.br
\%\f3glPixelZoom\fP is used to change the $x$ and $y$ pixel zoom factors,
pixels are converted to fragments as follows.
If ($x sub r$, $y sub r$) is the current raster position,
and a given pixel is in the $n$th column and $m$th row
of the pixel rectangle,
then fragments are generated for pixels whose centers are in the rectangle
with corners at
.sp
.RS
.ce
($x sub r ~+~ zoom sub x^ n$, $y sub r ~+~ zoom sub y^ m$)
.sp
.ce
($x sub r ~+~ zoom sub x^ (n ~+~ 1)$, $y sub r ~+~ zoom sub y^ ( m ~+~ 1 )$)
.ce 0
.sp
.RE
.P
where $zoom sub x$ is the value of \%\f3GL_ZOOM_X\fP and
$zoom sub y$ is the value of \%\f3GL_ZOOM_Y\fP.
.SH NOTES
\%\f3GL_BGR\fP and \%\f3GL_BGRA\fP are only valid for \f2format\fP if the GL
version is 1.2 or greater.
.P
\%\f3GL_UNSIGNED_BYTE_3_3_2\fP,
\%\f3GL_UNSIGNED_BYTE_2_3_3_REV\fP,
\%\f3GL_UNSIGNED_SHORT_5_6_5\fP,
\%\f3GL_UNSIGNED_SHORT_5_6_5_REV\fP,
\%\f3GL_UNSIGNED_SHORT_4_4_4_4\fP,
\%\f3GL_UNSIGNED_SHORT_4_4_4_4_REV\fP,
\%\f3GL_UNSIGNED_SHORT_5_5_5_1\fP,
\%\f3GL_UNSIGNED_SHORT_1_5_5_5_REV\fP,
\%\f3GL_UNSIGNED_INT_8_8_8_8\fP,
\%\f3GL_UNSIGNED_INT_8_8_8_8_REV\fP,
\%\f3GL_UNSIGNED_INT_10_10_10_2\fP, and
\%\f3GL_UNSIGNED_INT_2_10_10_10_REV\fP are only valid for \f2type\fP if the
GL version is 1.2 or greater.
.SH ERRORS
\%\f3GL_INVALID_VALUE\fP is generated if either \f2width\fP or \f2height\fP is negative.
.P
\%\f3GL_INVALID_ENUM\fP is generated if \f2format\fP or \f2type\fP is not one of
the accepted values.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \f2format\fP is
\%\f3GL_RED\fP,
\%\f3GL_GREEN\fP,
\%\f3GL_BLUE\fP,
\%\f3GL_ALPHA\fP,
\%\f3GL_RGB\fP,
\%\f3GL_RGBA\fP,
\%\f3GL_BGR\fP,
\%\f3GL_BGRA\fP,
\%\f3GL_LUMINANCE\fP,
or
\%\f3GL_LUMINANCE_ALPHA\fP,
and the GL is in color index mode.
.P
\%\f3GL_INVALID_ENUM\fP is generated if \f2type\fP is \%\f3GL_BITMAP\fP and
\f2format\fP is not either \%\f3GL_COLOR_INDEX\fP or \%\f3GL_STENCIL_INDEX\fP.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \f2format\fP is \%\f3GL_STENCIL_INDEX\fP
and there is no stencil buffer.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glDrawPixels\fP
is executed between the execution of \%\f3glBegin\fP
and the corresponding execution of \%\f3glEnd\fP.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \f2format\fP is one
\%\f3GL_UNSIGNED_BYTE_3_3_2\fP,
\%\f3GL_UNSIGNED_BYTE_2_3_3_REV\fP,
\%\f3GL_UNSIGNED_SHORT_5_6_5\fP, of
\%\f3GL_UNSIGNED_SHORT_5_6_5_REV\fP
and \f2format\fP is not \%\f3GL_RGB\fP.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \f2format\fP is one of
\%\f3GL_UNSIGNED_SHORT_4_4_4_4\fP,
\%\f3GL_UNSIGNED_SHORT_4_4_4_4_REV\fP,
\%\f3GL_UNSIGNED_SHORT_5_5_5_1\fP,
\%\f3GL_UNSIGNED_SHORT_1_5_5_5_REV\fP,
\%\f3GL_UNSIGNED_INT_8_8_8_8\fP,
\%\f3GL_UNSIGNED_INT_8_8_8_8_REV\fP,
\%\f3GL_UNSIGNED_INT_10_10_10_2\fP, or
\%\f3GL_UNSIGNED_INT_2_10_10_10_REV\fP
and \f2format\fP is neither \%\f3GL_RGBA\fP nor \%\f3GL_BGRA\fP.
.SH ASSOCIATED GETS
\%\f3glGet\fP with argument \%\f3GL_CURRENT_RASTER_POSITION\fP
.br
\%\f3glGet\fP with argument \%\f3GL_CURRENT_RASTER_POSITION_VALID\fP
.SH SEE ALSO
\%\f3glAlphaFunc(3G)\fP,
\%\f3glBlendFunc(3G)\fP,
\%\f3glCopyPixels(3G)\fP,
\%\f3glDepthFunc(3G)\fP,
\%\f3glLogicOp(3G)\fP,
\%\f3glPixelMap(3G)\fP,
\%\f3glPixelStore(3G)\fP,
\%\f3glPixelTransfer(3G)\fP,
\%\f3glPixelZoom(3G)\fP,
\%\f3glRasterPos(3G)\fP,
\%\f3glReadPixels(3G)\fP,
\%\f3glScissor(3G)\fP,
\%\f3glStencilFunc(3G)\fP

View file

@ -1,132 +0,0 @@
'\" te
'\"! tbl|eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 drawrange
.ds Xs 22158 7 drawrangeelements.gl
.TH GLDRAWRANGEELEMENTS 3G
.SH NAME
.B "glDrawRangeElements
\- render primitives from array data
.SH C SPECIFICATION
void \f3glDrawRangeElements\fP(
GLenum \fImode\fP,
.nf
.ta \w'\f3void \fPglDrawRangeElements( 'u
GLuint \fIstart\fP,
GLuint \fIend\fP,
GLsizei \fIcount\fP,
GLenum \fItype\fP,
const GLvoid \fI*indices\fP )
.fi
.EQ
delim $$
.EN
.SH PARAMETERS
.TP \w'\fIindices\fP\ \ 'u
\f2mode\fP
Specifies what kind of primitives to render.
Symbolic constants
\%\f3GL_POINTS\fP,
\%\f3GL_LINE_STRIP\fP,
\%\f3GL_LINE_LOOP\fP,
\%\f3GL_LINES\fP,
\%\f3GL_TRIANGLE_STRIP\fP,
\%\f3GL_TRIANGLE_FAN\fP,
\%\f3GL_TRIANGLES\fP,
\%\f3GL_QUAD_STRIP\fP,
\%\f3GL_QUADS\fP,
and \%\f3GL_POLYGON\fP are accepted.
.TP
\f2start\fP
Specifies the minimum array index contained in \f2indices\fP.
.TP
\f2end\fP
Specifies the maximum array index contained in \f2indices\fP.
.TP
\f2count\fP
Specifies the number of elements to be rendered.
.TP
\f2type\fP
Specifies the type of the values in \f2count\fP. Must be one of
\%\f3GL_UNSIGNED_BYTE\fP, \%\f3GL_UNSIGNED_SHORT\fP, or
\%\f3GL_UNSIGNED_INT\fP.
.TP
\f2indices\fP
Specifies a pointer to the location where the indices are stored.
.SH DESCRIPTION
\%\f3glDrawRangeElements\fP is a restricted form of \%\f3glDrawElements\fP. \f2mode\fP, \f2start\fP, \f2end\fP,
and \f2count\fP match the corresponding arguments to \%\f3glDrawElements\fP, with
the additional constraint that all values in the arrays \f2count\fP must lie
between \f2start\fP and \f2end\fP, inclusive.
.P
Implementations denote recommended maximum amounts of vertex and
.br
index data,
which may be queried by calling \%\f3glGet\fP with argument
\%\f3GL_MAX_ELEMENTS_VERTICES\fP and \%\f3GL_MAX_ELEMENTS_INDICES\fP.
If $"end" ~-~ "start" ~+~ 1$ is greater than the value of
\%\f3GL_MAX_ELEMENTS_VERTICES\fP, or if \f2count\fP is greater than the value of
\%\f3GL_MAX_ELEMENTS_INDICES\fP, then the call may operate at reduced
performance. There is no requirement that all vertices in the range
[\f2start\fP,\ \f2end\fP] be referenced. However, the implementation may
partially process unused vertices, reducing performance from what could
be achieved with an optimal index set.
.P
When \%\f3glDrawRangeElements\fP is called, it uses \f2start\fP sequential elements from an
enabled array, starting at \f2count\fP to construct a sequence of
geometric primitives. \f2mode\fP specifies what kind of primitives are
constructed, and how the array elements construct these primitives. If
more than one array is enabled, each is used. If
\%\f3GL_VERTEX_ARRAY\fP is not enabled, no geometric primitives are
constructed.
.P
Vertex attributes that are modified by \%\f3glDrawRangeElements\fP have an
unspecified value after \%\f3glDrawRangeElements\fP returns. For example, if
\%\f3GL_COLOR_ARRAY\fP is enabled, the value of the current color is
undefined after \%\f3glDrawRangeElements\fP executes. Attributes that aren't
modified maintain their previous values.
.SH NOTES
\%\f3glDrawRangeElements\fP is available only if the GL version is 1.2 or greater.
.P
\%\f3glDrawRangeElements\fP is included in display lists. If \%\f3glDrawRangeElements\fP is entered into a
display list,
the necessary array data (determined by the array pointers and
enables) is also
entered into the display list. Because the array pointers and
enables are client-side state, their values affect display lists
when the lists are created, not when the lists are executed.
.SH ERRORS
It is an error for indices to lie outside the range [\f2start\fP,\ \f2end\fP],
but implementations may not check for this situation. Such indices
cause implementation-dependent behavior.
.P
\%\f3GL_INVALID_ENUM\fP is generated if \f2mode\fP is not an accepted value.
.P
\%\f3GL_INVALID_VALUE\fP is generated if \f2count\fP is negative.
.P
\%\f3GL_INVALID_VALUE\fP is generated if \f2end\fP $<$ \f2start\fP.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glDrawRangeElements\fP is executed between
the execution of \%\f3glBegin\fP and the corresponding \%\f3glEnd\fP.
.SH ASSOCIATED GETS
\%\f3glGet\fP with argument \%\f3GL_MAX_ELEMENTS_VERTICES\fP
.P
\%\f3glGet\fP with argument \%\f3GL_MAX_ELEMENTS_INDICES\fP
.SH SEE ALSO
\%\f3glArrayElement(3G)\fP,
\%\f3glColorPointer(3G)\fP,
\%\f3glDrawArrays(3G)\fP,
\%\f3glDrawElements(3G)\fP,
\%\f3glEdgeFlagPointer(3G)\fP,
\%\f3glGetPointerv(3G)\fP,
\%\f3glIndexPointer(3G)\fP,
\%\f3glInterleavedArrays(3G)\fP,
\%\f3glNormalPointer(3G)\fP,
\%\f3glTexCoordPointer(3G)\fP,
\%\f3glVertexPointer(3G)\fP

View file

@ -1,65 +0,0 @@
'\" e
'\"! eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 edgeflag.
.ds Xs 46953 4 edgeflag.gl
.TH GLEDGEFLAG 3G
.SH NAME
.B "glEdgeFlag, glEdgeFlagv
\- flag edges as either boundary or nonboundary
.SH C SPECIFICATION
void \f3glEdgeFlag\fP(
GLboolean \fIflag\fP )
.nf
.fi
.SH PARAMETERS
.TP \w'\f2flag\fP\ \ 'u
\f2flag\fP
Specifies the current edge flag value,
either \%\f3GL_TRUE\fP or \%\f3GL_FALSE\fP. The initial value is \%\f3GL_TRUE\fP.
.SH C SPECIFICATION
void \f3glEdgeFlagv\fP(
const GLboolean \fI*flag\fP )
.nf
.fi
.SH PARAMETERS
.TP
\f2flag\fP
Specifies a pointer to an array that contains a single boolean element,
which replaces the current edge flag value.
.SH DESCRIPTION
Each vertex of a polygon,
separate triangle,
or separate quadrilateral specified between a \%\f3glBegin\fP/\%\f3glEnd\fP pair
is marked as the start of either a boundary or nonboundary edge.
If the current edge flag is true when the vertex is specified,
the vertex is marked as the start of a boundary edge.
Otherwise, the vertex is marked as the start of a nonboundary edge.
\%\f3glEdgeFlag\fP sets the edge flag bit to \%\f3GL_TRUE\fP if \f2flag\fP is \%\f3GL_TRUE\fP,
and to \%\f3GL_FALSE\fP otherwise.
.P
The vertices of connected triangles and connected quadrilaterals are always
marked as boundary,
regardless of the value of the edge flag.
.P
Boundary and nonboundary edge flags on vertices are significant only if
\%\f3GL_POLYGON_MODE\fP is set to \%\f3GL_POINT\fP or \%\f3GL_LINE\fP.
See \%\f3glPolygonMode\fP.
.SH NOTES
The current edge flag can be updated at any time.
In particular,
\%\f3glEdgeFlag\fP can be called between a call to \%\f3glBegin\fP and the corresponding
call to \%\f3glEnd\fP.
.SH ASSOCIATED GETS
\%\f3glGet\fP with argument \%\f3GL_EDGE_FLAG\fP
.SH SEE ALSO
\%\f3glBegin(3G)\fP,
\%\f3glEdgeFlagPointer(3G)\fP,
\%\f3glPolygonMode(3G)\fP

View file

@ -1,100 +0,0 @@
'\" te
'\"! tbl|eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 edgeflagp
.ds Xs 49268 6 edgeflagpointer.gl
.TH GLEDGEFLAGPOINTER 3G
.SH NAME
.B "glEdgeFlagPointer
\- define an array of edge flags
.SH C SPECIFICATION
void \f3glEdgeFlagPointer\fP(
GLsizei \fIstride\fP,
.nf
.ta \w'\f3void \fPglEdgeFlagPointer( 'u
const GLvoid \fI*ptr\fP )
.fi
.EQ
delim $$
.EN
.SH PARAMETERS
.TP \w'\f2stride\fP\ \ 'u
\f2stride\fP
Specifies the byte offset between consecutive edge flags.
If \f2stride\fP is 0 (the initial value), the edge flags are understood
to be tightly packed in the array. The initial value is 0.
.TP
\f2ptr\fP
Specifies a pointer to the first edge flag in the array. The initial
value is zero.
.SH DESCRIPTION
\%\f3glEdgeFlagPointer\fP specifies the location and data of an array of boolean edge
flags to use when rendering. \f2stride\fP specifies the byte stride from one
edge flag to the next allowing vertices and attributes
to be packed into a single array or stored in separate arrays.
(Single-array storage may be more efficient on some implementations;
see \%\f3glInterleavedArrays\fP.)
.P
When an edge flag array is
specified, \f2stride\fP and \f2ptr\fP are saved as client-side
state.
.P
To enable and disable the edge flag array, call \%\f3glEnableClientState\fP and
.br
\%\f3glDisableClientState\fP with
the argument \%\f3GL_EDGE_FLAG_ARRAY\fP. If enabled, the edge flag array is used
when \%\f3glDrawArrays\fP, \%\f3glDrawElements\fP, or \%\f3glArrayElement\fP is called.
.P
Use \%\f3glDrawArrays\fP to construct a sequence of primitives (all of
the same type)
from prespecified vertex and vertex attribute arrays.
Use \%\f3glArrayElement\fP to specify primitives
by indexing vertices and vertex attributes and \%\f3glDrawElements\fP to
construct a sequence of primitives by indexing vertices and vertex attributes.
.SH NOTES
\%\f3glEdgeFlagPointer\fP is available only if the GL version is 1.1 or greater.
.P
The edge flag array is initially disabled and it won't be accessed when
.br
\%\f3glArrayElement\fP, \%\f3glDrawElements\fP or \%\f3glDrawArrays\fP is called.
.P
Execution of \%\f3glEdgeFlagPointer\fP is not allowed between the execution of
\%\f3glBegin\fP and the corresponding execution of \%\f3glEnd\fP,
but an error may or may not be generated. If no error is generated,
the operation is undefined.
.P
\%\f3glEdgeFlagPointer\fP is typically implemented on the client side.
.P
Edge flag array parameters are client-side state and are therefore
not saved or restored by \%\f3glPushAttrib\fP and \%\f3glPopAttrib\fP.
Use \%\f3glPushClientAttrib\fP and
.br
\%\f3glPopClientAttrib\fP instead.
.SH ERRORS
\%\f3GL_INVALID_ENUM\fP is generated if \f2stride\fP is negative.
.SH ASSOCIATED GETS
\%\f3glIsEnabled\fP with argument \%\f3GL_EDGE_FLAG_ARRAY\fP
.br
\%\f3glGet\fP with argument \%\f3GL_EDGE_FLAG_ARRAY_STRIDE\fP
.br
\%\f3glGetPointerv\fP with argument \%\f3GL_EDGE_FLAG_ARRAY_POINTER\fP
.SH SEE ALSO
\%\f3glArrayElement(3G)\fP,
\%\f3glColorPointer(3G)\fP,
\%\f3glDrawArrays(3G)\fP,
\%\f3glDrawElements(3G)\fP,
\%\f3glEnable(3G)\fP,
\%\f3glGetPointerv(3G)\fP,
\%\f3glIndexPointer(3G)\fP,
\%\f3glNormalPointer(3G)\fP,
\%\f3glPopClientAttrib(3G)\fP,
.br
\%\f3glPushClientAttrib(3G)\fP,
\%\f3glTexCoordPointer(3G)\fP,
\%\f3glVertexPointer(3G)\fP

View file

@ -1,505 +0,0 @@
'\" et
'\"! eqn|tbl | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 enable.gl
.ds Xs 48946 14 enable.gl
.TH GLENABLE 3G
.SH NAME
.B "glEnable, glDisable
\- enable or disable server-side GL capabilities
.SH C SPECIFICATION
void \f3glEnable\fP(
GLenum \fIcap\fP )
.nf
.fi
.SH PARAMETERS
.TP \w'\f2cap\fP\ \ 'u
\f2cap\fP
Specifies a symbolic constant indicating a GL capability.
.SH C SPECIFICATION
void \f3glDisable\fP(
GLenum \fIcap\fP )
.nf
.fi
.SH PARAMETERS
.TP
\f2cap\fP
Specifies a symbolic constant indicating a GL capability.
.SH DESCRIPTION
\%\f3glEnable\fP and \%\f3glDisable\fP enable and disable various capabilities.
Use \%\f3glIsEnabled\fP or \%\f3glGet\fP to determine the current setting
of any capability. The initial value for each capability with the
exception of \%\f3GL_DITHER\fP is \%\f3GL_FALSE\fP. The initial value for
\%\f3GL_DITHER\fP is \%\f3GL_TRUE\fP.
.P
Both \%\f3glEnable\fP and \%\f3glDisable\fP take a single argument, \f2cap\fP,
which can assume one of the following values:
.TP 25
\%\f3GL_ALPHA_TEST\fP
If enabled,
do alpha testing. See
\%\f3glAlphaFunc\fP.
.TP
\%\f3GL_AUTO_NORMAL\fP
If enabled,
generate normal vectors when either
\%\f3GL_MAP2_VERTEX_3\fP or
\%\f3GL_MAP2_VERTEX_4\fP is used to generate vertices.
See \%\f3glMap2\fP.
.TP
\%\f3GL_BLEND\fP
If enabled,
blend the incoming RGBA color values with the values in the color
buffers. See \%\f3glBlendFunc\fP.
.TP
\%\f3GL_CLIP_PLANE\fP\f2i\fP
If enabled,
clip geometry against user-defined clipping plane \f2i\fP.
See \%\f3glClipPlane\fP.
.TP
\%\f3GL_COLOR_LOGIC_OP\fP
If enabled,
apply the currently selected logical operation to the incoming RGBA
color and color buffer values. See \%\f3glLogicOp\fP.
.TP
\%\f3GL_COLOR_MATERIAL\fP
If enabled,
have one or more material parameters track the current color.
See \%\f3glColorMaterial\fP.
.TP
\%\f3GL_COLOR_TABLE\fP
If enabled,
preform a color table lookup on the incoming RGBA color values.
See \%\f3glColorTable\fP.
.TP
\%\f3GL_CONVOLUTION_1D\fP
If enabled,
perform a 1D convolution operation on incoming RGBA color values.
See \%\f3glConvolutionFilter1D\fP.
.TP
\%\f3GL_CONVOLUTION_2D\fP
If enabled,
perform a 2D convolution operation on incoming RGBA color values.
See \%\f3glConvolutionFilter2D\fP.
.TP
\%\f3GL_CULL_FACE\fP
If enabled,
cull polygons based on their winding in window coordinates.
See \%\f3glCullFace\fP.
.TP
\%\f3GL_DEPTH_TEST\fP
If enabled,
do depth comparisons and update the depth buffer. Note that even if
the depth buffer exists and the depth mask is non-zero, the
depth buffer is not updated if the depth test is disabled. See
\%\f3glDepthFunc\fP and
.br
\%\f3glDepthRange\fP.
.TP
\%\f3GL_DITHER\fP
If enabled,
dither color components or indices before they are written to the
color buffer.
.TP
\%\f3GL_FOG\fP
If enabled,
blend a fog color into the posttexturing color.
See \%\f3glFog\fP.
.TP
\%\f3GL_HISTOGRAM\fP
If enabled,
histogram incoming RGBA color values.
See \%\f3glHistogram\fP.
.TP
\%\f3GL_INDEX_LOGIC_OP\fP
If enabled,
apply the currently selected logical operation to the incoming index and color
buffer indices. See
.br
\%\f3glLogicOp\fP.
.TP
\%\f3GL_LIGHT\fP\f2i\fP
If enabled,
include light \f2i\fP in the evaluation of the lighting
equation. See \%\f3glLightModel\fP and \%\f3glLight\fP.
.TP
\%\f3GL_LIGHTING\fP
If enabled,
use the current lighting parameters to compute the vertex color or index.
Otherwise, simply associate the current color or index with each
vertex. See
.br
\%\f3glMaterial\fP, \%\f3glLightModel\fP, and \%\f3glLight\fP.
.TP
\%\f3GL_LINE_SMOOTH\fP
If enabled,
draw lines with correct filtering.
Otherwise,
draw aliased lines.
See \%\f3glLineWidth\fP.
.TP
\%\f3GL_LINE_STIPPLE\fP
If enabled,
use the current line stipple pattern when drawing lines. See
\%\f3glLineStipple\fP.
.TP
\%\f3GL_MAP1_COLOR_4\fP
If enabled,
calls to
\%\f3glEvalCoord1\fP,
\%\f3glEvalMesh1\fP, and
\%\f3glEvalPoint1\fP generate RGBA values.
See \%\f3glMap1\fP.
.TP
\%\f3GL_MAP1_INDEX\fP
If enabled,
calls to
\%\f3glEvalCoord1\fP,
\%\f3glEvalMesh1\fP, and
\%\f3glEvalPoint1\fP generate color indices.
See \%\f3glMap1\fP.
.TP
\%\f3GL_MAP1_NORMAL\fP
If enabled,
calls to
\%\f3glEvalCoord1\fP,
\%\f3glEvalMesh1\fP, and
\%\f3glEvalPoint1\fP generate normals.
See \%\f3glMap1\fP.
.TP
\%\f3GL_MAP1_TEXTURE_COORD_1\fP
If enabled,
calls to
\%\f3glEvalCoord1\fP,
\%\f3glEvalMesh1\fP, and
\%\f3glEvalPoint1\fP generate
\f2s\fP
texture coordinates.
See \%\f3glMap1\fP.
.TP
\%\f3GL_MAP1_TEXTURE_COORD_2\fP
If enabled,
calls to
\%\f3glEvalCoord1\fP,
\%\f3glEvalMesh1\fP, and
\%\f3glEvalPoint1\fP generate
\f2s\fP and
\f2t\fP texture coordinates.
See \%\f3glMap1\fP.
.TP
\%\f3GL_MAP1_TEXTURE_COORD_3\fP
If enabled,
calls to
\%\f3glEvalCoord1\fP,
\%\f3glEvalMesh1\fP, and
\%\f3glEvalPoint1\fP generate
\f2s\fP,
\f2t\fP, and
\f2r\fP texture coordinates.
See \%\f3glMap1\fP.
.TP
\%\f3GL_MAP1_TEXTURE_COORD_4\fP
If enabled,
calls to
\%\f3glEvalCoord1\fP,
\%\f3glEvalMesh1\fP, and
\%\f3glEvalPoint1\fP generate
\f2s\fP,
\f2t\fP,
\f2r\fP, and
\f2q\fP texture coordinates.
See \%\f3glMap1\fP.
.TP
\%\f3GL_MAP1_VERTEX_3\fP
If enabled,
calls to
\%\f3glEvalCoord1\fP,
\%\f3glEvalMesh1\fP, and
\%\f3glEvalPoint1\fP generate
\f2x\fP, \f2y\fP, and \f2z\fP vertex coordinates.
See \%\f3glMap1\fP.
.TP
\%\f3GL_MAP1_VERTEX_4\fP
If enabled,
calls to
\%\f3glEvalCoord1\fP,
\%\f3glEvalMesh1\fP, and
\%\f3glEvalPoint1\fP generate
homogeneous
\f2x\fP,
\f2y\fP,
\f2z\fP, and
\f2w\fP vertex coordinates.
See \%\f3glMap1\fP.
.TP
\%\f3GL_MAP2_COLOR_4\fP
If enabled,
calls to
\%\f3glEvalCoord2\fP,
\%\f3glEvalMesh2\fP, and
\%\f3glEvalPoint2\fP generate RGBA values.
See \%\f3glMap2\fP.
.TP
\%\f3GL_MAP2_INDEX\fP
If enabled,
calls to
\%\f3glEvalCoord2\fP,
\%\f3glEvalMesh2\fP, and
\%\f3glEvalPoint2\fP generate color indices.
See \%\f3glMap2\fP.
.TP
\%\f3GL_MAP2_NORMAL\fP
If enabled,
calls to
\%\f3glEvalCoord2\fP,
\%\f3glEvalMesh2\fP, and
\%\f3glEvalPoint2\fP generate normals.
See \%\f3glMap2\fP.
.TP
\%\f3GL_MAP2_TEXTURE_COORD_1\fP
If enabled,
calls to
\%\f3glEvalCoord2\fP,
\%\f3glEvalMesh2\fP, and
\%\f3glEvalPoint2\fP generate
\f2s\fP
texture coordinates.
See \%\f3glMap2\fP.
.TP
\%\f3GL_MAP2_TEXTURE_COORD_2\fP
If enabled,
calls to
\%\f3glEvalCoord2\fP,
\%\f3glEvalMesh2\fP, and
\%\f3glEvalPoint2\fP generate
\f2s\fP and
\f2t\fP texture coordinates.
See \%\f3glMap2\fP.
.TP
\%\f3GL_MAP2_TEXTURE_COORD_3\fP
If enabled,
calls to
\%\f3glEvalCoord2\fP,
\%\f3glEvalMesh2\fP, and
\%\f3glEvalPoint2\fP generate
\f2s\fP,
\f2t\fP, and
\f2r\fP texture coordinates.
See \%\f3glMap2\fP.
.TP
\%\f3GL_MAP2_TEXTURE_COORD_4\fP
If enabled,
calls to
\%\f3glEvalCoord2\fP,
\%\f3glEvalMesh2\fP, and
\%\f3glEvalPoint2\fP generate
\f2s\fP,
\f2t\fP,
\f2r\fP, and
\f2q\fP texture coordinates.
See \%\f3glMap2\fP.
.TP
\%\f3GL_MAP2_VERTEX_3\fP
If enabled,
calls to
\%\f3glEvalCoord2\fP,
\%\f3glEvalMesh2\fP, and
\%\f3glEvalPoint2\fP generate
\f2x\fP, \f2y\fP, and \f2z\fP vertex coordinates.
See \%\f3glMap2\fP.
.TP
\%\f3GL_MAP2_VERTEX_4\fP
If enabled,
calls to
\%\f3glEvalCoord2\fP,
\%\f3glEvalMesh2\fP, and
\%\f3glEvalPoint2\fP generate
homogeneous
\f2x\fP,
\f2y\fP,
\f2z\fP, and
\f2w\fP vertex coordinates.
See \%\f3glMap2\fP.
.TP
\%\f3GL_MINMAX\fP
If enabled,
compute the minimum and maximum values of incoming RGBA color values.
See \%\f3glMinmax\fP.
.TP
\%\f3GL_NORMALIZE\fP
If enabled,
normal vectors specified with \%\f3glNormal\fP are scaled to unit length
after transformation. See \%\f3glNormal\fP.
.TP
\%\f3GL_POINT_SMOOTH\fP
If enabled,
draw points with proper filtering.
Otherwise,
draw aliased points.
See \%\f3glPointSize\fP.
.TP
\%\f3GL_POLYGON_OFFSET_FILL\fP
If enabled, and if the polygon is rendered in
\%\f3GL_FILL\fP mode, an offset is added to depth values of a polygon's
fragments before the depth comparison is performed.
See \%\f3glPolygonOffset\fP.
.TP
\%\f3GL_POLYGON_OFFSET_LINE\fP
If enabled, and if the polygon is rendered in
\%\f3GL_LINE\fP mode, an offset is added to depth values of a polygon's
fragments before the depth comparison is performed. See \%\f3glPolygonOffset\fP.
.TP
\%\f3GL_POLYGON_OFFSET_POINT\fP
If enabled, an offset is added to depth values of a polygon's fragments
before the depth comparison is performed, if the polygon is rendered in
\%\f3GL_POINT\fP mode. See \%\f3glPolygonOffset\fP.
.TP
\%\f3GL_POLYGON_SMOOTH\fP
If enabled, draw polygons with proper filtering.
Otherwise, draw aliased polygons. For correct anti-aliased polygons,
an alpha buffer is needed and the polygons must be sorted front to
back.
.TP
\%\f3GL_POLYGON_STIPPLE\fP
If enabled,
use the current polygon stipple pattern when rendering
polygons. See \%\f3glPolygonStipple\fP.
.TP
\%\f3GL_POST_COLOR_MATRIX_COLOR_TABLE\fP
If enabled,
preform a color table lookup on RGBA color values after color matrix
transformation.
See \%\f3glColorTable\fP.
.TP
\%\f3GL_POST_CONVOLUTION_COLOR_TABLE\fP
If enabled,
preform a color table lookup on RGBA color values after convolution.
See \%\f3glColorTable\fP.
.TP
\%\f3GL_RESCALE_NORMAL\fP
If enabled, normal vectors specified with \%\f3glNormal\fP are scaled to
unit length after transformation. See \%\f3glNormal\fP.
.TP
\%\f3GL_SEPARABLE_2D\fP
If enabled, perform a two-dimensional convolution operation using a separable
convolution filter on incoming RGBA color values.
See \%\f3glSeparableFilter2D\fP.
.TP
\%\f3GL_SCISSOR_TEST\fP
If enabled,
discard fragments that are outside the scissor rectangle.
See \%\f3glScissor\fP.
.TP
\%\f3GL_STENCIL_TEST\fP
If enabled,
do stencil testing and update the stencil buffer.
See \%\f3glStencilFunc\fP and \%\f3glStencilOp\fP.
.TP
\%\f3GL_TEXTURE_1D\fP
If enabled, one-dimensional texturing is performed
(unless two- or three-dimensional texturing is also enabled).
See \%\f3glTexImage1D\fP.
.TP
\%\f3GL_TEXTURE_2D\fP
If enabled, two-dimensional texturing is performed
(unless three-dimensional texturing is also enabled). See \%\f3glTexImage2D\fP.
.TP
\%\f3GL_TEXTURE_3D\fP
If enabled, three-dimensional texturing is performed. See \%\f3glTexImage3D\fP.
.TP
\%\f3GL_TEXTURE_GEN_Q\fP
If enabled,
the \f2q\fP texture coordinate is computed using
the texture generation function defined with \%\f3glTexGen\fP.
Otherwise, the current \f2q\fP texture coordinate is used.
See \%\f3glTexGen\fP.
.TP
\%\f3GL_TEXTURE_GEN_R\fP
If enabled,
the \f2r\fP texture coordinate is computed using
the texture generation function defined with \%\f3glTexGen\fP.
Otherwise, the current \f2r\fP texture coordinate is used.
See \%\f3glTexGen\fP.
.TP
\%\f3GL_TEXTURE_GEN_S\fP
If enabled,
the \f2s\fP texture coordinate is computed using
the texture generation function defined with \%\f3glTexGen\fP.
Otherwise, the current \f2s\fP texture coordinate is used.
See \%\f3glTexGen\fP.
.TP
\%\f3GL_TEXTURE_GEN_T\fP
If enabled,
the \f2t\fP texture coordinate is computed using
the texture generation function defined with \%\f3glTexGen\fP.
Otherwise, the current \f2t\fP texture coordinate is used.
See \%\f3glTexGen\fP.
.SH NOTES
\%\f3GL_POLYGON_OFFSET_FILL\fP, \%\f3GL_POLYGON_OFFSET_LINE\fP,
\%\f3GL_POLYGON_OFFSET_POINT\fP,
\%\f3GL_COLOR_LOGIC_OP\fP, and \%\f3GL_INDEX_LOGIC_OP\fP are available
only if the GL version is 1.1 or greater.
.P
\%\f3GL_RESCALE_NORMAL\fP, and \%\f3GL_TEXTURE_3D\fP are available only if the
GL version is 1.2 or greater.
.P
\%\f3GL_COLOR_TABLE\fP, \%\f3GL_CONVOLUTION_1D\fP, \%\f3GL_CONVOLUTION_2D\fP,
\%\f3GL_HISTOGRAM\fP, \%\f3GL_MINMAX\fP,
\%\f3GL_POST_COLOR_MATRIX_COLOR_TABLE\fP,
\%\f3GL_POST_CONVOLUTION_COLOR_TABLE\fP, and
\%\f3GL_SEPARABLE_2D\fP are available only if \%\f3GL_ARB_imaging\fP is returned
from \%\f3glGet\fP with an argument of \%\f3GL_EXTENSIONS\fP.
.P
If \%\f3GL_ARB_multitexture\fP is supported, \%\f3GL_TEXTURE_1D\fP,
\%\f3GL_TEXTURE_2D\fP, \%\f3GL_TEXTURE_3D\fP, \%\f3GL_TEXTURE_GEN_S\fP,
\%\f3GL_TEXTURE_GEN_T\fP, \%\f3GL_TEXTURE_GEN_R\fP, and \%\f3GL_TEXTURE_GEN_Q\fP
enable or disable the respective state for the active texture unit
specified with \%\f3glActiveTextureARB\fP.
.SH ERRORS
\%\f3GL_INVALID_ENUM\fP is generated if \f2cap\fP is not one of the values
listed previously.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glEnable\fP or \%\f3glDisable\fP
is executed between the execution of \%\f3glBegin\fP
and the corresponding execution of \%\f3glEnd\fP.
.SH SEE ALSO
\%\f3glActiveTextureARB(3G)\fP,
\%\f3glAlphaFunc(3G)\fP,
\%\f3glBlendFunc(3G)\fP,
\%\f3glClipPlane(3G)\fP,
\%\f3glColorMaterial(3G)\fP,
\%\f3glCullFace(3G)\fP,
\%\f3glDepthFunc(3G)\fP,
\%\f3glDepthRange(3G)\fP,
\%\f3glEnableClientState(3G)\fP,
\%\f3glFog(3G)\fP,
\%\f3glGet(3G)\fP,
\%\f3glIsEnabled(3G)\fP,
\%\f3glLight(3G)\fP,
\%\f3glLightModel(3G)\fP,
\%\f3glLineWidth(3G)\fP,
\%\f3glLineStipple(3G)\fP,
\%\f3glLogicOp(3G)\fP,
\%\f3glMap1(3G)\fP,
\%\f3glMap2(3G)\fP,
\%\f3glMaterial(3G)\fP,
\%\f3glNormal(3G)\fP,
\%\f3glPointSize(3G)\fP,
\%\f3glPolygonMode(3G)\fP,
\%\f3glPolygonOffset(3G)\fP,
\%\f3glPolygonStipple(3G)\fP,
\%\f3glScissor(3G)\fP,
\%\f3glStencilFunc(3G)\fP,
\%\f3glStencilOp(3G)\fP,
\%\f3glTexGen(3G)\fP,
\%\f3glTexImage1D(3G)\fP,
\%\f3glTexImage2D(3G)\fP,
\%\f3glTexImage3D(3G)\fP

View file

@ -1,115 +0,0 @@
.\" $XFree86$
'\" te
'\"! tbl|eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 enablecli
.ds Xs 64367 6 enableclientstate.gl
.TH GLENABLECLIENTSTATE 3G
.SH NAME
.B "glEnableClientState, glDisableClientState
\- enable or disable client-side capability
.SH C SPECIFICATION
void \f3glEnableClientState\fP(
GLenum cap); \fI1.1\fP )
.nf
.fi
.EN
.SH PARAMETERS
.TP \w'\f21.1\fP\ \ 'u
\f21.1\fP
Specifies the capability to enable.
Symbolic constants
\%\f3GL_COLOR_ARRAY\fP,
\%\f3GL_EDGE_FLAG_ARRAY\fP,
\%\f3GL_INDEX_ARRAY\fP,
\%\f3GL_NORMAL_ARRAY\fP,
\%\f3GL_TEXTURE_COORD_ARRAY\fP, and
\%\f3GL_VERTEX_ARRAY\fP
are accepted.
.SH C SPECIFICATION
void \f3glDisableClientState\fP(
GLenum cap); \fI1.1\fP )
.nf
.fi
.SH PARAMETERS
.TP
\f21.1\fP
Specifies the capability to disable.
.SH DESCRIPTION
\%\f3glEnableClientState\fP and \%\f3glDisableClientState\fP
enable or disable individual client-side capabilities. By default, all
client-side capabilities are disabled.
Both
\%\f3glEnableClientState\fP and \%\f3glDisableClientState\fP take a
single argument, \f21.1\fP, which can assume one of the following
values:
.TP 25
\%\f3GL_COLOR_ARRAY\fP
If enabled, the color array is enabled for writing and used during
rendering when \%\f3glArrayElement\fP, \%\f3glDrawArrays\fP,
\%\f3glDrawElement\fP, or \%\f3glDrawRangeElements\fP is called. See
\%\f3glColorPointer\fP.
.TP
\%\f3GL_EDGE_FLAG_ARRAY\fP
If enabled, the edge flag array is enabled for writing and used during
rendering when \%\f3glArrayElement\fP, \%\f3glDrawArrays\fP,
\%\f3glDrawElement\fP, or \%\f3glDrawRangeElements\fP is called. See
\%\f3glEdgeFlagPointer\fP.
.TP
\%\f3GL_INDEX_ARRAY\fP
If enabled, the index array is enabled for writing and used during
rendering when \%\f3glArrayElement\fP, \%\f3glDrawArrays\fP,
\%\f3glDrawElement\fP, or \%\f3glDrawRangeElements\fP is called. See
\%\f3glIndexPointer\fP.
.TP
\%\f3GL_NORMAL_ARRAY\fP
If enabled, the normal array is enabled for writing and used during
rendering when \%\f3glArrayElement\fP, \%\f3glDrawArrays\fP,
\%\f3glDrawElement\fP, or \%\f3glDrawRangeElements\fP is called. See
\%\f3glNormalPointer\fP.
.TP
\%\f3GL_TEXTURE_COORD_ARRAY\fP
If enabled, the texture coordinate array is enabled for writing and used during
rendering when \%\f3glArrayElement\fP, \%\f3glDrawArrays\fP,
\%\f3glDrawElement\fP, or \%\f3glDrawRangeElements\fP is called. See
\%\f3glTexCoordPointer\fP.
.TP
\%\f3GL_VERTEX_ARRAY\fP
If enabled, the vertex array is enabled for writing and used during
rendering when \%\f3glArrayElement\fP, \%\f3glDrawArrays\fP,
\%\f3glDrawElement\fP, or \%\f3glDrawRangeElements\fP is called. See
\%\f3glVertexPointer\fP.
.SH NOTES
\%\f3glEnableClientState\fP is available only if the GL version is 1.1 or greater.
.P
If \%\f3GL_ARB_multitexture\fP is supported, enabling and disabling
\%\f3GL_TEXTURE_COORD_ARRAY\fP affects the active client texture unit.
The active client texture unit is controlled with
\%\f3glClientActiveTextureARB\fP.
.SH ERRORS
\%\f3GL_INVALID_ENUM\fP is generated if \f21.1\fP is not an accepted value.
.P
\%\f3glEnableClientState\fP is not allowed between the execution of \%\f3glBegin\fP and the
corresponding \%\f3glEnd\fP, but an error may or may not be generated. If
no error is generated, the behavior is undefined.
.SH SEE ALSO
\%\f3glArrayElement(3G)\fP,
\%\f3glClientActiveTextureARB(3G)\fP,
\%\f3glColorPointer(3G)\fP,
\%\f3glDrawArrays(3G)\fP,
\%\f3glDrawElements(3G)\fP,
\%\f3glEdgeFlagPointer(3G)\fP,
\%\f3glEnable(3G)\fP,
\%\f3glGetPointerv(3G)\fP,
\%\f3glIndexPointer(3G)\fP,
\%\f3glInterleavedArrays(3G)\fP,
\%\f3glNormalPointer(3G)\fP,
\%\f3glTexCoordPointer(3G)\fP,
\%\f3glVertexPointer(3G)\fP

View file

@ -1,226 +0,0 @@
'\" te
'\"! tbl|eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 evalcoord
.ds Xs 42414 8 evalcoord.gl
.TH GLEVALCOORD 3G
.SH NAME
.B "glEvalCoord1d, glEvalCoord1f, glEvalCoord2d, glEvalCoord2f, glEvalCoord1dv, glEvalCoord1fv, glEvalCoord2dv, glEvalCoord2fv
\- evaluate enabled one- and two-dimensional maps
.EQ
delim $$
.EN
.SH C SPECIFICATION
void \f3glEvalCoord1d\fP(
GLdouble \fIu\fP )
.nf
.fi
void \f3glEvalCoord1f\fP(
GLfloat \fIu\fP )
.nf
.fi
void \f3glEvalCoord2d\fP(
GLdouble \fIu\fP,
.nf
.ta \w'\f3void \fPglEvalCoord2d( 'u
GLdouble \fIv\fP )
.fi
void \f3glEvalCoord2f\fP(
GLfloat \fIu\fP,
.nf
.ta \w'\f3void \fPglEvalCoord2f( 'u
GLfloat \fIv\fP )
.fi
.SH PARAMETERS
.TP \w'\f2u\fP\ \ 'u
\f2u\fP
Specifies a value that is the domain coordinate $u$ to the basis function
defined in a previous \%\f3glMap1\fP or \%\f3glMap2\fP command.
.TP
\f2v\fP
Specifies a value that is the domain coordinate $v$ to the basis function
defined in a previous \%\f3glMap2\fP command.
This argument is not present in a \%\f3glEvalCoord1\fP command.
.SH C SPECIFICATION
void \f3glEvalCoord1dv\fP(
const GLdouble \fI*u\fP )
.nf
.fi
void \f3glEvalCoord1fv\fP(
const GLfloat \fI*u\fP )
.nf
.fi
void \f3glEvalCoord2dv\fP(
const GLdouble \fI*u\fP )
.nf
.fi
void \f3glEvalCoord2fv\fP(
const GLfloat \fI*u\fP )
.nf
.fi
.SH PARAMETERS
.TP
\f2u\fP
Specifies a pointer to an array containing
either one or two domain coordinates.
The first coordinate is $u$.
The second coordinate is $v$,
which is present only in \%\f3glEvalCoord2\fP versions.
.SH DESCRIPTION
\%\f3glEvalCoord1\fP evaluates enabled one-dimensional maps at argument
\f2u\fP.
\%\f3glEvalCoord2\fP does the same for two-dimensional maps using
two domain values,
\f2u\fP and \f2v\fP.
To define a map, call \%\f3glMap1\fP and \%\f3glMap2\fP; to enable and
disable it, call \%\f3glEnable\fP and \%\f3glDisable\fP.
.P
When one of the \%\f3glEvalCoord\fP commands is issued,
all currently enabled maps of the indicated dimension are evaluated.
Then,
for each enabled map,
it is as if the corresponding GL command had been issued with the
computed value.
That is,
if \%\f3GL_MAP1_INDEX\fP or
\%\f3GL_MAP2_INDEX\fP is enabled,
a \%\f3glIndex\fP command is simulated.
If \%\f3GL_MAP1_COLOR_4\fP or
\%\f3GL_MAP2_COLOR_4\fP is enabled,
a \%\f3glColor\fP command is simulated.
If \%\f3GL_MAP1_NORMAL\fP or \%\f3GL_MAP2_NORMAL\fP is enabled,
a normal vector is produced,
and if any of
\%\f3GL_MAP1_TEXTURE_COORD_1\fP,
\%\f3GL_MAP1_TEXTURE_COORD_2\fP,
\%\f3GL_MAP1_TEXTURE_COORD_3\fP,
\%\f3GL_MAP1_TEXTURE_COORD_4\fP,
\%\f3GL_MAP2_TEXTURE_COORD_1\fP,
\%\f3GL_MAP2_TEXTURE_COORD_2\fP,
\%\f3GL_MAP2_TEXTURE_COORD_3\fP, or
\%\f3GL_MAP2_TEXTURE_COORD_4\fP is enabled, then an appropriate \%\f3glTexCoord\fP command is simulated.
.P
For color,
color index,
normal,
and texture coordinates the GL uses evaluated values instead of current values for those evaluations
that are enabled,
and current values otherwise,
However,
the evaluated values do not update the current values.
Thus, if \%\f3glVertex\fP commands are interspersed with \%\f3glEvalCoord\fP
commands, the color,
normal,
and texture coordinates associated with the \%\f3glVertex\fP commands are not
affected by the values generated by the \%\f3glEvalCoord\fP commands,
but only by the most recent
\%\f3glColor\fP,
\%\f3glIndex\fP,
\%\f3glNormal\fP, and
\%\f3glTexCoord\fP commands.
.P
No commands are issued for maps that are not enabled.
If more than one texture evaluation is enabled for a particular dimension
(for example, \%\f3GL_MAP2_TEXTURE_COORD_1\fP and
\%\f3GL_MAP2_TEXTURE_COORD_2\fP),
then only the evaluation of the map that produces the larger
number of coordinates
(in this case, \%\f3GL_MAP2_TEXTURE_COORD_2\fP)
is carried out.
\%\f3GL_MAP1_VERTEX_4\fP overrides \%\f3GL_MAP1_VERTEX_3\fP,
and
\%\f3GL_MAP2_VERTEX_4\fP overrides \%\f3GL_MAP2_VERTEX_3\fP,
in the same manner.
If neither a three- nor a four-component vertex map is enabled for the
specified dimension,
the \%\f3glEvalCoord\fP command is ignored.
.P
If you have enabled automatic normal generation,
by calling \%\f3glEnable\fP with argument \%\f3GL_AUTO_NORMAL\fP,
\%\f3glEvalCoord2\fP generates surface normals analytically,
regardless of the contents or enabling of the \%\f3GL_MAP2_NORMAL\fP map.
Let
.sp
.ce
.EQ
bold m ~=~ {partial bold p} over {partial u} ~times~
{partial bold p} over {partial v}
.EN
.ce 0
.sp
.br
Then the generated normal $ bold n $ is
.br
.ce
$bold n ~=~ bold m over { || bold m || }$
.ce 0
.sp
.br
If automatic normal generation is disabled,
the corresponding normal map \%\f3GL_MAP2_NORMAL\fP,
if enabled,
is used to produce a normal.
If neither automatic normal generation nor a normal map is enabled,
no normal is generated for
\%\f3glEvalCoord2\fP commands.
.SH ASSOCIATED GETS
.nf
\%\f3glIsEnabled\fP with argument \%\f3GL_MAP1_VERTEX_3\fP
.br
\%\f3glIsEnabled\fP with argument \%\f3GL_MAP1_VERTEX_4\fP
.br
\%\f3glIsEnabled\fP with argument \%\f3GL_MAP1_INDEX\fP
.br
\%\f3glIsEnabled\fP with argument \%\f3GL_MAP1_COLOR_4\fP
.br
\%\f3glIsEnabled\fP with argument \%\f3GL_MAP1_NORMAL\fP
.br
\%\f3glIsEnabled\fP with argument \%\f3GL_MAP1_TEXTURE_COORD_1\fP
.br
\%\f3glIsEnabled\fP with argument \%\f3GL_MAP1_TEXTURE_COORD_2\fP
.br
\%\f3glIsEnabled\fP with argument \%\f3GL_MAP1_TEXTURE_COORD_3\fP
.br
\%\f3glIsEnabled\fP with argument \%\f3GL_MAP1_TEXTURE_COORD_4\fP
.br
\%\f3glIsEnabled\fP with argument \%\f3GL_MAP2_VERTEX_3\fP
.br
\%\f3glIsEnabled\fP with argument \%\f3GL_MAP2_VERTEX_4\fP
.br
\%\f3glIsEnabled\fP with argument \%\f3GL_MAP2_INDEX\fP
.br
\%\f3glIsEnabled\fP with argument \%\f3GL_MAP2_COLOR_4\fP
.br
\%\f3glIsEnabled\fP with argument \%\f3GL_MAP2_NORMAL\fP
.br
\%\f3glIsEnabled\fP with argument \%\f3GL_MAP2_TEXTURE_COORD_1\fP
.br
\%\f3glIsEnabled\fP with argument \%\f3GL_MAP2_TEXTURE_COORD_2\fP
.br
\%\f3glIsEnabled\fP with argument \%\f3GL_MAP2_TEXTURE_COORD_3\fP
.br
\%\f3glIsEnabled\fP with argument \%\f3GL_MAP2_TEXTURE_COORD_4\fP
.br
\%\f3glIsEnabled\fP with argument \%\f3GL_AUTO_NORMAL\fP
.br
\%\f3glGetMap\fP
.SH SEE ALSO
\%\f3glBegin(3G)\fP,
\%\f3glColor(3G)\fP,
\%\f3glEnable(3G)\fP,
\%\f3glEvalMesh(3G)\fP,
\%\f3glEvalPoint(3G)\fP,
\%\f3glIndex(3G)\fP,
\%\f3glMap1(3G)\fP,
\%\f3glMap2(3G)\fP,
\%\f3glMapGrid(3G)\fP,
\%\f3glNormal(3G)\fP,
\%\f3glTexCoord(3G)\fP,
\%\f3glVertex(3G)\fP

View file

@ -1,189 +0,0 @@
'\" e
'\"! eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 evalmesh.
.ds Xs 32277 7 evalmesh.gl
.TH GLEVALMESH 3G
.SH NAME
.B "glEvalMesh1, glEvalMesh2
\- compute a one- or two-dimensional grid of points or lines
.SH C SPECIFICATION
void \f3glEvalMesh1\fP(
GLenum \fImode\fP,
.nf
.ta \w'\f3void \fPglEvalMesh1( 'u
GLint \fIi1\fP,
GLint \fIi2\fP )
.fi
.EQ
delim $$
.EN
.SH PARAMETERS
.TP \w'\f2mode\fP\ \ 'u
\f2mode\fP
In \%\f3glEvalMesh1\fP, specifies whether to compute a one-dimensional mesh of points or lines.
Symbolic constants
\%\f3GL_POINT\fP and
\%\f3GL_LINE\fP are accepted.
.TP
\f2i1\fP, \f2i2\fP
Specify the first and last integer values for grid domain variable $i$.
.SH C SPECIFICATION
void \f3glEvalMesh2\fP(
GLenum \fImode\fP,
.nf
.ta \w'\f3void \fPglEvalMesh2( 'u
GLint \fIi1\fP,
GLint \fIi2\fP,
GLint \fIj1\fP,
GLint \fIj2\fP )
.fi
.SH PARAMETERS
.TP
\f2mode\fP
In \%\f3glEvalMesh2\fP, specifies whether to compute a two-dimensional mesh of points, lines,
or polygons.
Symbolic constants
\%\f3GL_POINT\fP,
\%\f3GL_LINE\fP, and
\%\f3GL_FILL\fP are accepted.
.TP
\f2i1\fP, \f2i2\fP
Specify the first and last integer values for grid domain variable $i$.
.TP
\f2j1\fP, \f2j2\fP
Specify the first and last integer values for grid domain variable $j$.
.SH DESCRIPTION
\%\f3glMapGrid\fP and \%\f3glEvalMesh\fP are used in tandem to efficiently
generate and evaluate a series of evenly-spaced map domain values.
\%\f3glEvalMesh\fP steps through the integer domain of a one- or two-dimensional grid,
whose range is the domain of the evaluation maps specified by
\%\f3glMap1\fP and \%\f3glMap2\fP.
\f2mode\fP determines whether the resulting vertices are connected as
points,
lines,
or filled polygons.
.P
In the one-dimensional case,
\%\f3glEvalMesh1\fP,
the mesh is generated as if the following code fragment were executed:
.nf
.IP
\f7
glBegin( \f2type\f7 );
for ( i = \f2i1\fP; i <= \f2i2\fP; i += 1 )
glEvalCoord1( i$^cdot^DELTA u ~+~ u sub 1$ );
glEnd();
\fP
.RE
.fi
where
.sp
.in
$ DELTA u ~=~ (u sub 2 ~-~ u sub 1 ) ^/^ n$
.sp
.in 0
.P
and $n$, $u sub 1$, and $u sub 2$ are the arguments to the most recent
\%\f3glMapGrid1\fP command.
\f2type\fP is \%\f3GL_POINTS\fP if \f2mode\fP is \%\f3GL_POINT\fP,
or \%\f3GL_LINES\fP if \f2mode\fP is \%\f3GL_LINE\fP.
.P
The one absolute numeric requirement is that if $i ~=~ n$, then the
value computed from $ i^cdot^DELTA u ~+~ u sub 1$ is exactly $u sub 2$.
.P
In the two-dimensional case, \%\f3glEvalMesh2\fP, let
.nf
.IP
$ DELTA u ~=~ mark ( u sub 2 ~-~ u sub 1 ) ^/^ n$
.sp
$ DELTA v ~=~ lineup ( v sub 2 ~-~ v sub 1 ) ^/^ m$,
.fi
.RE
.P
where $n$, $u sub 1$, $u sub 2$, $m$, $v sub 1$, and $v sub 2$ are the
arguments to the most recent \%\f3glMapGrid2\fP command. Then, if
\f2mode\fP is \%\f3GL_FILL\fP, the \%\f3glEvalMesh2\fP command is equivalent
to:
.nf
.IP
\f7
for ( j = \f2j1\fP; j < \f2j2\fP; j += 1 ) {
glBegin( GL_QUAD_STRIP );
for ( i = \f2i1\fP; i <= \f2i2\fP; i += 1 ) {
glEvalCoord2( i$^cdot^DELTA u ~+~ u sub 1$, j$^cdot^DELTA v ~+~ v sub 1$ );
glEvalCoord2( i$^cdot^DELTA u ~+~ u sub 1$, (j+1)$^cdot^DELTA v ~+~ v sub 1$ );
}
glEnd();
}
\fP
.RE
.fi
.P
If \f2mode\fP is \%\f3GL_LINE\fP, then a call to \%\f3glEvalMesh2\fP is equivalent to:
.nf
.IP
\f7
for ( j = \f2j1\fP; j <= \f2j2\fP; j += 1 ) {
glBegin( GL_LINE_STRIP );
for ( i = \f2i1\fP; i <= \f2i2\fP; i += 1 )
glEvalCoord2( i$^cdot^DELTA u ~+~ u sub 1$, j$^cdot^DELTA v ~+~ v sub 1$ );
glEnd();
}
.sp
for ( i = \f2i1\fP; i <= \f2i2\fP; i += 1 ) {
glBegin( GL_LINE_STRIP );
for ( j = \f2j1\fP; j <= \f2j1\fP; j += 1 )
glEvalCoord2( i$^cdot^DELTA u ~+~ u sub 1$, j$^cdot^DELTA v ~+~ v sub 1 $ );
glEnd();
}
\fP
.RE
.fi
.P
And finally, if \f2mode\fP is \%\f3GL_POINT\fP, then a call to
\%\f3glEvalMesh2\fP is equivalent to:
.nf
.IP
\f7
glBegin( GL_POINTS );
for ( j = \f2j1\fP; j <= \f2j2\fP; j += 1 )
for ( i = \f2i1\fP; i <= \f2i2\fP; i += 1 )
glEvalCoord2( i$^cdot^DELTA u ~+~ u sub 1$, j$^cdot^DELTA v ~+~ v sub 1$ );
glEnd();
\fP
.RE
.fi
.P
In all three cases, the only absolute numeric requirements are that if $i~=~n$,
then the value computed from $i^cdot^DELTA u ~+~ u sub 1$ is exactly $u
sub 2$, and if $j~=~m$, then the value computed from
$j ^cdot^ DELTA v ~+~ v sub 1$ is exactly $v sub 2$.
.SH ERRORS
\%\f3GL_INVALID_ENUM\fP is generated if \f2mode\fP is not an accepted value.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glEvalMesh\fP
is executed between the execution of \%\f3glBegin\fP
and the corresponding execution of \%\f3glEnd\fP.
.SH ASSOCIATED GETS
\%\f3glGet\fP with argument \%\f3GL_MAP1_GRID_DOMAIN\fP
.br
\%\f3glGet\fP with argument \%\f3GL_MAP2_GRID_DOMAIN\fP
.br
\%\f3glGet\fP with argument \%\f3GL_MAP1_GRID_SEGMENTS\fP
.br
\%\f3glGet\fP with argument \%\f3GL_MAP2_GRID_SEGMENTS\fP
.SH SEE ALSO
\%\f3glBegin(3G)\fP,
\%\f3glEvalCoord(3G)\fP,
\%\f3glEvalPoint(3G)\fP,
\%\f3glMap1(3G)\fP,
\%\f3glMap2(3G)\fP,
\%\f3glMapGrid(3G)\fP

View file

@ -1,101 +0,0 @@
'\" e
'\"! eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 evalpoint
.ds Xs 57169 5 evalpoint.gl
.TH GLEVALPOINT 3G
.SH NAME
.B "glEvalPoint1, glEvalPoint2
\- generate and evaluate a single point in a mesh
.SH C SPECIFICATION
void \f3glEvalPoint1\fP(
GLint \fIi\fP )
.nf
.fi
void \f3glEvalPoint2\fP(
GLint \fIi\fP,
.nf
.ta \w'\f3void \fPglEvalPoint2( 'u
GLint \fIj\fP )
.fi
.EQ
delim $$
.EN
.SH PARAMETERS
.TP \w'\f2i\fP\ \ 'u
\f2i\fP
Specifies the integer value for grid domain variable $i$.
.TP
\f2j\fP
Specifies the integer value for grid domain variable $j$
(\%\f3glEvalPoint2\fP only).
.SH DESCRIPTION
\%\f3glMapGrid\fP and \%\f3glEvalMesh\fP are used in tandem to efficiently
generate and evaluate a series of evenly spaced map domain values.
\%\f3glEvalPoint\fP can be used to evaluate a single grid point in the same gridspace
that is traversed by \%\f3glEvalMesh\fP.
Calling \%\f3glEvalPoint1\fP is equivalent to calling
.nf
.IP
\f7
glEvalCoord1( i$^cdot^DELTA u ~+~ u sub 1$ );
\fP
.RE
.fi
where
.sp
.in
$DELTA u ~=~ ( u sub 2 - u sub 1 ) ^/^ n$
.in 0
.sp
.P
and $n$, $u sub 1$, and $u sub 2$
are the arguments to the most recent \%\f3glMapGrid1\fP command.
The one absolute numeric requirement is that if $i~=~n$,
then the value computed from
$i ^cdot^ DELTA u ~+~ u sub 1$ is exactly $u sub 2$.
.P
In the two-dimensional case, \%\f3glEvalPoint2\fP, let
.nf
.IP
$DELTA u ~=~ mark ( u sub 2 - u sub 1 ) ^/^ n$
.sp
$DELTA v ~=~ mark ( v sub 2 - v sub 1 ) ^/^ m,$
.RE
.fi
.P
where $n$, $u sub 1$, $u sub 2$, $m$, $v sub 1$, and $v sub 2$
are the arguments to the most recent \%\f3glMapGrid2\fP command.
Then the \%\f3glEvalPoint2\fP command is equivalent to calling
.nf
.IP
\f7
glEvalCoord2( i$^cdot^DELTA u ~+~ u sub 1$, j$^cdot^DELTA v ~+~ v sub 1$ );
\fP
.RE
.fi
The only absolute numeric requirements are that if $i~=~n$,
then the value computed from
$i ^cdot^DELTA u ~+~ u sub 1$ is exactly $u sub 2$,
and if $j~=~m$, then the value computed from
$i ^cdot^DELTA v ~+~ v sub 1$ is exactly $v sub 2$.
.SH ASSOCIATED GETS
\%\f3glGet\fP with argument \%\f3GL_MAP1_GRID_DOMAIN\fP
.br
\%\f3glGet\fP with argument \%\f3GL_MAP2_GRID_DOMAIN\fP
.br
\%\f3glGet\fP with argument \%\f3GL_MAP1_GRID_SEGMENTS\fP
.br
\%\f3glGet\fP with argument \%\f3GL_MAP2_GRID_SEGMENTS\fP
.SH SEE ALSO
\%\f3glEvalCoord(3G)\fP,
\%\f3glEvalMesh(3G)\fP,
\%\f3glMap1(3G)\fP,
\%\f3glMap2(3G)\fP,
\%\f3glMapGrid(3G)\fP

View file

@ -1,225 +0,0 @@
'\" te
'\"! tbl|eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 feedbackb
.ds Xs 26060 9 feedbackbuffer.gl
.TH GLFEEDBACKBUFFER 3G
.SH NAME
.B "glFeedbackBuffer
\- controls feedback mode
.SH C SPECIFICATION
void \f3glFeedbackBuffer\fP(
GLsizei \fIsize\fP,
.nf
.ta \w'\f3void \fPglFeedbackBuffer( 'u
GLenum \fItype\fP,
GLfloat \fI*buffer\fP )
.fi
.EQ
delim $$
.EN
.SH PARAMETERS
.TP \w'\fIbuffer\fP\ \ 'u
\f2size\fP
Specifies the maximum number of values that can be written into \f2buffer\fP.
.TP
\f2type\fP
Specifies a symbolic constant that describes the information
that will be returned for each vertex.
\%\f3GL_2D\fP,
\%\f3GL_3D\fP,
\%\f3GL_3D_COLOR\fP,
\%\f3GL_3D_COLOR_TEXTURE\fP, and
\%\f3GL_4D_COLOR_TEXTURE\fP are accepted.
.TP
\f2buffer\fP
Returns the feedback data.
.SH DESCRIPTION
The \%\f3glFeedbackBuffer\fP function controls feedback.
Feedback, like selection, is a GL mode.
The mode is selected by calling
\%\f3glRenderMode\fP with \%\f3GL_FEEDBACK\fP.
When the GL is in feedback mode,
no pixels are produced by rasterization.
Instead, information about primitives that would have been
rasterized is fed back to the application using the GL.
.P
\%\f3glFeedbackBuffer\fP has three arguments:
\f2buffer\fP is a pointer to an array of floating-point values
into which feedback information is placed.
\f2size\fP indicates the size of the array.
\f2type\fP is a symbolic constant describing the information
that is fed back for each vertex.
\%\f3glFeedbackBuffer\fP must be issued before feedback mode is enabled
(by calling \%\f3glRenderMode\fP with argument \%\f3GL_FEEDBACK\fP).
Setting \%\f3GL_FEEDBACK\fP without establishing the feedback buffer,
or calling \%\f3glFeedbackBuffer\fP while the GL is in feedback mode,
is an error.
.P
When \%\f3glRenderMode\fP is called while in feedback mode, it returns the number of entries
placed in the feedback array, and resets the feedback array pointer to the base
of the feedback buffer. The returned value never exceeds \f2size\fP. If the feedback
data required more room than was available in \f2buffer\fP,
\%\f3glRenderMode\fP returns a negative value.
To take the GL out of feedback mode, call
\%\f3glRenderMode\fP with a parameter value other than \%\f3GL_FEEDBACK\fP.
.P
While in feedback mode,
each primitive, bitmap, or pixel rectangle that would be rasterized
generates a block of values that are copied into the feedback array.
If doing so would cause the number of entries to exceed the maximum,
the block is partially written so as to fill the array
(if there is any room left at all),
and an overflow flag is set.
Each block begins with a code indicating the primitive type,
followed by values that describe the primitive's vertices and
associated data.
Entries are also written for bitmaps and pixel rectangles.
Feedback occurs after polygon culling and \%\f3glPolygonMode\fP interpretation
of polygons has taken place,
so polygons that are culled are not returned in the feedback buffer.
It can also occur after polygons with more than three edges are broken up
into triangles,
if the GL implementation renders polygons by performing this decomposition.
.P
The \%\f3glPassThrough\fP command can be used to insert a marker
into the feedback buffer.
See \%\f3glPassThrough\fP.
.P
Following is the grammar for the blocks of values written
into the feedback buffer.
Each primitive is indicated with a unique identifying value
followed by some number of vertices.
Polygon entries include an integer value indicating how many vertices follow.
A vertex is fed back as some number of floating-point values,
as determined by \f2type\fP.
Colors are fed back as four values in RGBA mode and one value
in color index mode.
.RS
.na
.sp
feedbackList \(<- feedbackItem feedbackList | feedbackItem
.sp
feedbackItem \(<- point | lineSegment | polygon | bitmap | pixelRectangle | passThru
.sp
point \(<- \%\f3GL_POINT_TOKEN\fP vertex
.sp
lineSegment \(<- \%\f3GL_LINE_TOKEN\fP vertex vertex | \%\f3GL_LINE_RESET_TOKEN\fP vertex vertex
.sp
polygon \(<- \%\f3GL_POLYGON_TOKEN\fP n polySpec
.sp
polySpec \(<- polySpec vertex | vertex vertex vertex
.sp
bitmap \(<- \%\f3GL_BITMAP_TOKEN\fP vertex
.sp
pixelRectangle \(<- \%\f3GL_DRAW_PIXEL_TOKEN\fP vertex | \%\f3GL_COPY_PIXEL_TOKEN\fP vertex
.sp
passThru \(<- \%\f3GL_PASS_THROUGH_TOKEN\fP value
.sp
vertex \(<- 2d | 3d | 3dColor | 3dColorTexture | 4dColorTexture
.sp
2d \(<- value value
.sp
3d \(<- value value value
.sp
3dColor \(<- value value value color
.sp
3dColorTexture \(<- value value value color tex
.sp
4dColorTexture \(<- value value value value color tex
.sp
color \(<- rgba | index
.sp
rgba \(<- value value value value
.sp
index \(<- value
.sp
tex \(<- value value value value
.sp
.RE
.P
.I value
is a floating-point number,
and
.I n
is a floating-point integer giving the number of vertices in the polygon.
\%\f3GL_POINT_TOKEN\fP,
\%\f3GL_LINE_TOKEN\fP,
\%\f3GL_LINE_RESET_TOKEN\fP,
\%\f3GL_POLYGON_TOKEN\fP,
\%\f3GL_BITMAP_TOKEN\fP,
\%\f3GL_DRAW_PIXEL_TOKEN\fP,
\%\f3GL_COPY_PIXEL_TOKEN\fP and
\%\f3GL_PASS_THROUGH_TOKEN\fP are symbolic floating-point constants.
\%\f3GL_LINE_RESET_TOKEN\fP is returned whenever the line stipple pattern
is reset.
The data returned as a vertex depends on the feedback \f2type\fP.
.P
The following table gives the correspondence between \f2type\fP
and the number of values per vertex.
\f2k\fP is 1 in color index mode and 4 in RGBA mode.
.sp
.ne
.TS
center tab(:);
lb lb cb cb cb
l l c c c.
_
Type:Coordinates:Color:Texture:Total Number of Values
_
\%\f3GL_2D\fP:\f2x\fP, \f2y\fP:::2
\%\f3GL_3D\fP:\f2x\fP, \f2y\fP, \f2z\fP:::3
\%\f3GL_3D_COLOR\fP:\f2x\fP, \f2y\fP, \f2z\fP:$k$::$3 ~+~ k$
\%\f3GL_3D_COLOR_TEXTURE\fP:\f2x\fP, \f2y\fP, \f2z\fP,:$k$:4:$7 ~+~ k$
\%\f3GL_4D_COLOR_TEXTURE\fP:\f2x\fP, \f2y\fP, \f2z\fP, \f2w\fP:$k$:4:$8 ~+~ k$
_
.TE
.P
Feedback vertex coordinates are in window coordinates,
except \f2w\fP,
which is in clip coordinates.
Feedback colors are lighted, if lighting is enabled.
Feedback texture coordinates are generated,
if texture coordinate generation is enabled.
They are always transformed by the texture matrix.
.SH NOTES
\%\f3glFeedbackBuffer\fP, when used in a display list, is not compiled into the display list
but is executed immediately.
.P
When the \%\f3GL_ARB_multitexture\fP extension is supported, \%\f3glFeedbackBuffer\fP
returns only the texture coordinates of texture unit \%\f3GL_TEXTURE0_ARB\fP.
.SH ERRORS
\%\f3GL_INVALID_ENUM\fP is generated if \f2type\fP is not an accepted value.
.P
\%\f3GL_INVALID_VALUE\fP is generated if \f2size\fP is negative.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glFeedbackBuffer\fP is called while the
render mode is \%\f3GL_FEEDBACK\fP,
or if \%\f3glRenderMode\fP is called with argument \%\f3GL_FEEDBACK\fP before
\%\f3glFeedbackBuffer\fP is called at least once.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glFeedbackBuffer\fP
is executed between the execution of \%\f3glBegin\fP
and the corresponding execution of \%\f3glEnd\fP.
.SH ASSOCIATED GETS
\%\f3glGet\fP with argument \%\f3GL_RENDER_MODE\fP
.br
\%\f3glGet\fP with argument \%\f3GL_FEEDBACK_BUFFER_POINTER\fP
.br
\%\f3glGet\fP with argument \%\f3GL_FEEDBACK_BUFFER_SIZE\fP
.br
\%\f3glGet\fP with argument \%\f3GL_FEEDBACK_BUFFER_TYPE\fP
.SH SEE ALSO
\%\f3glBegin(3G)\fP,
\%\f3glLineStipple(3G)\fP,
\%\f3glPassThrough(3G)\fP,
\%\f3glPolygonMode(3G)\fP,
\%\f3glRenderMode(3G)\fP,
\%\f3glSelectBuffer(3G)\fP

View file

@ -1,34 +0,0 @@
'\" te
'\"! tbl|eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 finish.gl
.ds Xs 36675 3 finish.gl
.TH GLFINISH 3G
.SH NAME
.B "glFinish
\- block until all GL execution is complete
.SH C SPECIFICATION
void \f3glFinish\fP( void )
.nf
.fi
.SH DESCRIPTION
\%\f3glFinish\fP does not return until the effects of all previously
called GL commands are complete.
Such effects include all changes to GL state,
all changes to connection state,
and all changes to the frame buffer contents.
.SH NOTES
\%\f3glFinish\fP requires a round trip to the server.
.SH ERRORS
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glFinish\fP is executed between
the execution of \%\f3glBegin\fP
and the corresponding execution of \%\f3glEnd\fP.
.SH SEE ALSO
\%\f3glFlush(3G)\fP

View file

@ -1,46 +0,0 @@
'\" te
'\"! tbl|eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 flush.gl
.ds Xs 64601 4 flush.gl
.TH GLFLUSH 3G
.SH NAME
.B "glFlush
\- force execution of GL commands in finite time
.SH C SPECIFICATION
void \f3glFlush\fP( void )
.nf
.fi
.SH DESCRIPTION
Different GL implementations buffer commands in several different locations,
including network buffers and the graphics accelerator itself.
\%\f3glFlush\fP empties all of these buffers,
causing all issued commands to be executed as quickly as
they are accepted by the actual rendering engine.
Though this execution may not be completed in any particular
time period,
it does complete in finite time.
.P
Because any GL program might be executed over a network,
or on an accelerator that buffers commands,
all programs should call \%\f3glFlush\fP whenever they count on having
all of their previously issued commands completed.
For example,
call \%\f3glFlush\fP before waiting for user input that depends on
the generated image.
.SH NOTES
\%\f3glFlush\fP can return at any time.
It does not wait until the execution of all previously
issued GL commands is complete.
.SH ERRORS
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glFlush\fP
is executed between the execution of \%\f3glBegin\fP
and the corresponding execution of \%\f3glEnd\fP.
.SH SEE ALSO
\%\f3glFinish(3G)\fP

View file

@ -1,209 +0,0 @@
'\" e
'\"! eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 fog.gl ->
.ds Xs 7467 7 fog.gl
.TH GLFOG 3G
.SH NAME
.B "glFogf, glFogi, glFogfv, glFogiv
\- specify fog parameters
.SH C SPECIFICATION
void \f3glFogf\fP(
GLenum \fIpname\fP,
.nf
.ta \w'\f3void \fPglFogf( 'u
GLfloat \fIparam\fP )
.fi
void \f3glFogi\fP(
GLenum \fIpname\fP,
.nf
.ta \w'\f3void \fPglFogi( 'u
GLint \fIparam\fP )
.fi
.EQ
delim $$
.EN
.SH PARAMETERS
.TP \w'\fIparams\fP\ \ 'u
\f2pname\fP
Specifies a single-valued fog parameter.
\%\f3GL_FOG_MODE\fP,
\%\f3GL_FOG_DENSITY\fP,
\%\f3GL_FOG_START\fP,
\%\f3GL_FOG_END\fP,
and
\%\f3GL_FOG_INDEX\fP
are accepted.
.TP
\f2param\fP
Specifies the value that \f2pname\fP will be set to.
.SH C SPECIFICATION
void \f3glFogfv\fP(
GLenum \fIpname\fP,
.nf
.ta \w'\f3void \fPglFogfv( 'u
const GLfloat \fI*params\fP )
.fi
void \f3glFogiv\fP(
GLenum \fIpname\fP,
.nf
.ta \w'\f3void \fPglFogiv( 'u
const GLint \fI*params\fP )
.fi
.SH PARAMETERS
.TP
\f2pname\fP
Specifies a fog parameter.
\%\f3GL_FOG_MODE\fP,
\%\f3GL_FOG_DENSITY\fP,
\%\f3GL_FOG_START\fP,
\%\f3GL_FOG_END\fP,
\%\f3GL_FOG_INDEX\fP,
and
\%\f3GL_FOG_COLOR\fP
are accepted.
.TP
\f2params\fP
Specifies the value or values to be assigned to \f2pname\fP.
\%\f3GL_FOG_COLOR\fP requires an array of four values.
All other parameters accept an array containing only a single value.
.SH DESCRIPTION
Fog is initially disabled.
While enabled, fog affects rasterized geometry,
bitmaps, and pixel blocks, but not buffer clear operations. To enable
and disable fog, call \%\f3glEnable\fP and \%\f3glDisable\fP with argument
\%\f3GL_FOG\fP.
.P
\%\f3glFog\fP assigns the value or values in \f2params\fP to the fog parameter
specified by \f2pname\fP.
The following values are accepted for \f2pname\fP:
.TP 20
\%\f3GL_FOG_MODE\fP
\f2params\fP is a single integer or floating-point value that specifies
the equation to be used to compute the fog blend factor, $f$.
Three symbolic constants are accepted:
\%\f3GL_LINEAR\fP,
\%\f3GL_EXP\fP,
and \%\f3GL_EXP2\fP.
The equations corresponding to these symbolic constants are defined below.
The initial fog mode is \%\f3GL_EXP\fP.
.TP
\%\f3GL_FOG_DENSITY\fP
\f2params\fP is a single integer or floating-point value that specifies $density$,
the fog density used in both exponential fog equations.
Only nonnegative densities are accepted.
The initial fog density is 1.
.TP
\%\f3GL_FOG_START\fP
\f2params\fP is a single integer or floating-point value that specifies $start$,
the near distance used in the linear fog equation.
The initial near distance is 0.
.TP
\%\f3GL_FOG_END\fP
\f2params\fP is a single integer or floating-point value that specifies $end$,
the far distance used in the linear fog equation.
The initial far distance is 1.
.TP
\%\f3GL_FOG_INDEX\fP
\f2params\fP is a single integer or floating-point value that specifies
$i sub f$,
the fog color index.
The initial fog index is 0.
.TP
\%\f3GL_FOG_COLOR\fP
\f2params\fP contains four integer or floating-point values that specify
$C sub f$, the fog color.
Integer values are mapped linearly such that the most positive representable
value maps to 1.0,
and the most negative representable value maps to \-1.0.
Floating-point values are mapped directly.
After conversion,
all color components are clamped to the range [0,1].
The initial fog color is (0, 0, 0, 0).
.P
Fog blends a fog color with each rasterized pixel fragment's posttexturing
color using a blending factor $f$.
Factor $f$ is computed in one of three ways,
depending on the fog mode.
Let $z$ be the distance in eye coordinates from the origin to the fragment
being fogged.
The equation for \%\f3GL_LINEAR\fP fog is
.ce
.EQ
f ~=~ {end ~-~ z} over {end ~-~ start}
.EN
.RE
.P
The equation for \%\f3GL_EXP\fP fog is
.ce
.EQ
f ~=~ e sup {-^(density ~cdot~ z)}
.EN
.P
The equation for \%\f3GL_EXP2\fP fog is
.ce
.EQ
f ~=~ e sup {-^(density ~cdot~ z)} sup 2
.EN
.P
Regardless of the fog mode,
$f$ is clamped to the range [0,\ 1] after it is computed.
Then,
if the GL is in RGBA color mode,
the fragment's red, green, and blue colors, represented by $C sub r$,
are replaced by
.sp
.ce
.EQ
{C sub r} sup prime ~=~ f^C sub r ~+~ (1 - f)^C sub f
.EN
.sp
Fog does not affect a fragment's alpha component.
.P
In color index mode, the fragment's color index $i sub r$ is replaced by
.sp
.ce
.EQ
{i sub r} sup prime ~=~ i sub r ~+~ (1 - f)^i sub f
.EN
.P
.SH ERRORS
\%\f3GL_INVALID_ENUM\fP is generated if \f2pname\fP is not an accepted value,
or if \f2pname\fP is \%\f3GL_FOG_MODE\fP and \f2params\fP is not an accepted value.
.P
\%\f3GL_INVALID_VALUE\fP is generated if \f2pname\fP is \%\f3GL_FOG_DENSITY\fP,
and \f2params\fP is negative.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glFog\fP
is executed between the execution of \%\f3glBegin\fP
and the corresponding execution of \%\f3glEnd\fP.
.SH ASSOCIATED GETS
\%\f3glIsEnabled\fP with argument \%\f3GL_FOG\fP
.br
\%\f3glGet\fP with argument \%\f3GL_FOG_COLOR\fP
.br
\%\f3glGet\fP with argument \%\f3GL_FOG_INDEX\fP
.br
\%\f3glGet\fP with argument \%\f3GL_FOG_DENSITY\fP
.br
\%\f3glGet\fP with argument \%\f3GL_FOG_START\fP
.br
\%\f3glGet\fP with argument \%\f3GL_FOG_END\fP
.br
\%\f3glGet\fP with argument \%\f3GL_FOG_MODE\fP
.SH SEE ALSO
\%\f3glEnable(3G)\fP

View file

@ -1,66 +0,0 @@
'\" e
'\"! eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 frontface
.ds Xs 58804 4 frontface.gl
.TH GLFRONTFACE 3G
.SH NAME
.B "glFrontFace
\- define front- and back-facing polygons
.SH C SPECIFICATION
void \f3glFrontFace\fP(
GLenum \fImode\fP )
.nf
.fi
.EQ
delim $$
.EN
.SH PARAMETERS
.TP \w'\f2mode\fP\ \ 'u
\f2mode\fP
Specifies the orientation of front-facing polygons.
\%\f3GL_CW\fP and \%\f3GL_CCW\fP are accepted.
The initial value is \%\f3GL_CCW\fP.
.SH DESCRIPTION
In a scene composed entirely of opaque closed surfaces,
back-facing polygons are never visible.
Eliminating these invisible polygons has the obvious benefit
of speeding up the rendering of the image.
To enable and disable elimination of back-facing polygons, call \%\f3glEnable\fP
and \%\f3glDisable\fP with argument \%\f3GL_CULL_FACE\fP.
.P
The projection of a polygon to window coordinates is said to have
clockwise winding if an imaginary object following the path
from its first vertex,
its second vertex,
and so on,
to its last vertex,
and finally back to its first vertex,
moves in a clockwise direction about the interior of the polygon.
The polygon's winding is said to be counterclockwise if the imaginary
object following the same path moves in a counterclockwise direction
about the interior of the polygon.
\%\f3glFrontFace\fP specifies whether polygons with clockwise winding in window coordinates,
or counterclockwise winding in window coordinates,
are taken to be front-facing.
Passing \%\f3GL_CCW\fP to \f2mode\fP selects counterclockwise polygons as
front-facing;
\%\f3GL_CW\fP selects clockwise polygons as front-facing.
By default, counterclockwise polygons are taken to be front-facing.
.SH ERRORS
\%\f3GL_INVALID_ENUM\fP is generated if \f2mode\fP is not an accepted value.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glFrontFace\fP
is executed between the execution of \%\f3glBegin\fP
and the corresponding execution of \%\f3glEnd\fP.
.SH ASSOCIATED GETS
\%\f3glGet\fP with argument \%\f3GL_FRONT_FACE\fP
.SH SEE ALSO
\%\f3glCullFace(3G)\fP,
\%\f3glLightModel(3G)\fP

View file

@ -1,133 +0,0 @@
'\" e
'\"! eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 frustum.g
.ds Xs 13962 6 frustum.gl
.TH GLFRUSTUM 3G
.SH NAME
.B "glFrustum
\- multiply the current matrix by a perspective matrix
.SH C SPECIFICATION
void \f3glFrustum\fP(
GLdouble \fIleft\fP,
.nf
.ta \w'\f3void \fPglFrustum( 'u
GLdouble \fIright\fP,
GLdouble \fIbottom\fP,
GLdouble \fItop\fP,
GLdouble \fInear_val\fP,
GLdouble \fIfar_val\fP )
.fi
.EQ
delim $$
.EN
.SH PARAMETERS
.TP \w'\f2left\fP\ \f2right\fP\ \ 'u
\f2left\fP, \f2right\fP
Specify the coordinates for the left and right vertical clipping planes.
.TP
\f2bottom\fP, \f2top\fP
Specify the coordinates for the bottom and top horizontal clipping planes.
.TP
\f2near_val\fP, \f2far_val\fP
Specify the distances to the near and far depth clipping planes.
Both distances must be positive.
.SH DESCRIPTION
\%\f3glFrustum\fP describes a perspective matrix that produces a perspective projection.
The current matrix (see \%\f3glMatrixMode\fP) is multiplied by this matrix
and the result replaces the current matrix, as if
\%\f3glMultMatrix\fP were called with the following matrix
as its argument:
.P
.sp 5
.ce
.EQ
down 150
{left [ ~~~ {
down 165 matrix {
ccol { {{2 ~ "near_val"} over {"right" ~-~ "left"}} above 0 above 0 above 0 }
ccol { 0 above {{2 ~ "near_val"} over {"top" ~-~ "bottom"}} ~ above 0 above 0 }
ccol { A ~~~~ above B ~~~~ above C ~~~~ above -1 ~~~~}
ccol { 0 above 0 above D above 0}
}}
~~~ right ]}
.EN
.sp
.ce
.EQ
down 130
{A ~=~ {"right" ~+~ "left"} over {"right" ~-~ "left"}}
.EN
.sp
.ce
.EQ
down 130
{B ~=~ {"top" ~+~ "bottom"} over {"top" ~-~ "bottom"}}
.EN
.sp
.ce
.EQ
down 130
{C ~=~ -{{"far_val" ~+~ "near_val"} over {"far_val" ~-~ "near_val"}}}
.EN
.sp
.ce
.EQ
down 130
{D ~=~ -^{{2 ~ "far_val" ~ "near_val"} over {"far_val" ~-~ "near_val"}}}
.EN
.sp 2
.P
Typically, the matrix mode is \%\f3GL_PROJECTION\fP, and
(\f2left\fP, \f2bottom\fP, \-\f2near_val\fP) and (\f2right\fP, \f2top\fP, \-\f2near_val\fP)
specify the points on the near clipping plane that are mapped
to the lower left and upper right corners of the window,
assuming that the eye is located at (0, 0, 0).
\-\f2far_val\fP specifies the location of the far clipping plane.
Both \f2near_val\fP and \f2far_val\fP must be positive.
.P
Use \%\f3glPushMatrix\fP and \%\f3glPopMatrix\fP to save and restore
the current matrix stack.
.SH NOTES
Depth buffer precision is affected by the values specified for
\f2near_val\fP and \f2far_val\fP.
The greater the ratio of \f2far_val\fP to \f2near_val\fP is,
the less effective the depth buffer will be at distinguishing between
surfaces that are near each other.
If
.sp
.ce
$r ~=~ "far_val" over "near_val"$
.sp
roughly $log sub 2 (r)$ bits of depth buffer precision are lost.
Because $r$ approaches infinity as \f2near_val\fP approaches 0,
\f2near_val\fP must never be set to 0.
.SH ERRORS
\%\f3GL_INVALID_VALUE\fP is generated if \f2near_val\fP or \f2far_val\fP is not
positive, or if \f2left\fP = \f2right\fP, or \f2bottom\fP = \f2top\fP.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glFrustum\fP
is executed between the execution of \%\f3glBegin\fP
and the corresponding execution of \%\f3glEnd\fP.
.SH ASSOCIATED GETS
\%\f3glGet\fP with argument \%\f3GL_MATRIX_MODE\fP
.br
\%\f3glGet\fP with argument \%\f3GL_MODELVIEW_MATRIX\fP
.br
\%\f3glGet\fP with argument \%\f3GL_PROJECTION_MATRIX\fP
.br
\%\f3glGet\fP with argument \%\f3GL_TEXTURE_MATRIX\fP
.br
\%\f3glGet\fP with argument \%\f3GL_COLOR_MATRIX\fP
.SH SEE ALSO
\%\f3glOrtho(3G)\fP,
\%\f3glMatrixMode(3G)\fP,
\%\f3glMultMatrix(3G)\fP,
\%\f3glPushMatrix(3G)\fP,
\%\f3glViewport(3G)\fP

View file

@ -1,49 +0,0 @@
'\" e
'\"! eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 genlists.
.ds Xs 2609 3 genlists.gl
.TH GLGENLISTS 3G
.SH NAME
.B "glGenLists
\- generate a contiguous set of empty display lists
.SH C SPECIFICATION
GLuint \f3glGenLists\fP(
GLsizei \fIrange\fP )
.nf
.fi
.SH PARAMETERS
.TP \w'\f2range\fP\ \ 'u
\f2range\fP
Specifies the number of contiguous empty display lists
to be generated.
.SH DESCRIPTION
\%\f3glGenLists\fP has one argument, \f2range\fP.
It returns an integer \f2n\fP such that \f2range\fP contiguous
empty display lists,
named \f2n\fP, \f2n\fP+1, ..., \f2n\fP+\f2range\fP \-1,
are created.
If \f2range\fP is 0,
if there is no group of \f2range\fP contiguous names available,
or if any error is generated,
no display lists are generated,
and 0 is returned.
.SH ERRORS
\%\f3GL_INVALID_VALUE\fP is generated if \f2range\fP is negative.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glGenLists\fP
is executed between the execution of \%\f3glBegin\fP
and the corresponding execution of \%\f3glEnd\fP.
.SH ASSOCIATED GETS
\%\f3glIsList\fP
.SH SEE ALSO
\%\f3glCallList(3G)\fP,
\%\f3glCallLists(3G)\fP,
\%\f3glDeleteLists(3G)\fP,
\%\f3glNewList(3G)\fP

View file

@ -1,63 +0,0 @@
'\" e
'\"! eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 gentextur
.ds Xs 11752 4 gentextures.gl
.TH GLGENTEXTURES 3G
.SH NAME
.B "glGenTextures
\- generate texture names
.SH C SPECIFICATION
void \f3glGenTextures\fP(
GLsizei \fIn\fP,
.nf
.ta \w'\f3void \fPglGenTextures( 'u
GLuint \fI*textures\fP )
.fi
.SH PARAMETERS
.TP \w'\fItextures\fP\ \ 'u
\f2n\fP
Specifies the number of texture names to be generated.
.TP
\f2textures\fP
Specifies an array in which the generated texture names are stored.
.SH DESCRIPTION
\%\f3glGenTextures\fP returns \f2n\fP texture names in \f2textures\fP.
There is no guarantee that the names form a contiguous set of integers;
however, it is guaranteed that none of the returned names was in use
immediately before the call to \%\f3glGenTextures\fP.
.P
The generated textures have no dimensionality; they assume the dimensionality
of the texture target to which they are first bound
(see \%\f3glBindTexture\fP).
.P
Texture names returned by a call to \%\f3glGenTextures\fP are not returned by
subsequent calls, unless they are first deleted with
\%\f3glDeleteTextures\fP.
.SH NOTES
\%\f3glGenTextures\fP is available only if the GL version is 1.1 or greater.
.SH ERRORS
\%\f3GL_INVALID_VALUE\fP is generated if \f2n\fP is negative.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glGenTextures\fP is executed
between the execution of \%\f3glBegin\fP and the corresponding
execution of \%\f3glEnd\fP.
.SH ASSOCIATED GETS
\%\f3glIsTexture\fP
.SH SEE ALSO
\%\f3glBindTexture(3G)\fP,
\%\f3glCopyTexImage1D(3G)\fP,
\%\f3glCopyTexImage2D(3G)\fP,
\%\f3glDeleteTextures(3G)\fP,
\%\f3glGet(3G)\fP,
\%\f3glGetTexParameter(3G)\fP,
\%\f3glTexImage1D(3G)\fP,
\%\f3glTexImage2D(3G)\fP,
\%\f3glTexImage3D(3G)\fP,
\%\f3glTexParameter(3G)\fP

File diff suppressed because it is too large Load diff

View file

@ -1,53 +0,0 @@
'\" e
'\"! eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 getclippl
.ds Xs 48616 4 getclipplane.gl
.TH GLGETCLIPPLANE 3G
.SH NAME
.B "glGetClipPlane
\- return the coefficients of the specified clipping plane
.SH C SPECIFICATION
void \f3glGetClipPlane\fP(
GLenum \fIplane\fP,
.nf
.ta \w'\f3void \fPglGetClipPlane( 'u
GLdouble \fI*equation\fP )
.fi
.EQ
delim $$
.EN
.SH PARAMETERS
.TP \w'\fIequation\fP\ \ 'u
\f2plane\fP
Specifies a clipping plane.
The number of clipping planes depends on the implementation,
but at least six clipping planes are supported.
They are identified by symbolic names of the form \%\f3GL_CLIP_PLANE\fP$i$
where 0 \(<= $ i $ < \%\f3GL_MAX_CLIP_PLANES\fP.
.TP
\f2equation\fP
Returns four double-precision values that are the coefficients of the plane equation of \f2plane\fP in eye coordinates.
The initial value is (0, 0, 0, 0).
.SH DESCRIPTION
\%\f3glGetClipPlane\fP returns in \f2equation\fP the four coefficients of the plane equation
for \f2plane\fP.
.SH NOTES
It is always the case that \%\f3GL_CLIP_PLANE\fP$i$ = \%\f3GL_CLIP_PLANE0\fP + $i$.
.P
If an error is generated,
no change is made to the contents of \f2equation\fP.
.SH ERRORS
\%\f3GL_INVALID_ENUM\fP is generated if \f2plane\fP is not an accepted value.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glGetClipPlane\fP
is executed between the execution of \%\f3glBegin\fP
and the corresponding execution of \%\f3glEnd\fP.
.SH SEE ALSO
\%\f3glClipPlane(3G)\fP

View file

@ -1,142 +0,0 @@
'\" t
'\"! tbl | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 getcolort
.ds Xs 62474 6 getcolortable.gl
.TH GLGETCOLORTABLE 3G
.SH NAME
.B "glGetColorTable
\- retrieve contents of a color lookup table
.SH C SPECIFICATION
void \f3glGetColorTable\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglGetColorTable( 'u
GLenum \fIformat\fP,
GLenum \fItype\fP,
GLvoid \fI*table\fP )
.fi
.SH PARAMETERS
.TP \w'\f2target\fP\ \ 'u
\f2target\fP
Must be \%\f3GL_COLOR_TABLE\fP,
\%\f3GL_POST_CONVOLUTION_COLOR_TABLE\fP,
or
\%\f3GL_POST_COLOR_MATRIX_COLOR_TABLE\fP.
.TP
\f2format\fP
The of the pixel data in \f2table\fP.
The possible values are
\%\f3GL_RED\fP,
\%\f3GL_GREEN\fP,
\%\f3GL_BLUE\fP,
\%\f3GL_ALPHA\fP,
\%\f3GL_LUMINANCE\fP,
\%\f3GL_LUMINANCE_ALPHA\fP,
\%\f3GL_RGB\fP,
\%\f3GL_BGR\fP,
\%\f3GL_RGBA\fP, and
\%\f3GL_BGRA\fP.
.TP
\f2type\fP
The type of the pixel data in \f2table\fP.
Symbolic constants
\%\f3GL_UNSIGNED_BYTE\fP,
\%\f3GL_BYTE\fP,
\%\f3GL_BITMAP\fP,
\%\f3GL_UNSIGNED_SHORT\fP,
\%\f3GL_SHORT\fP,
\%\f3GL_UNSIGNED_INT\fP,
\%\f3GL_INT\fP,
\%\f3GL_FLOAT\fP,
\%\f3GL_UNSIGNED_BYTE_3_3_2\fP,
\%\f3GL_UNSIGNED_BYTE_2_3_3_REV\fP,
\%\f3GL_UNSIGNED_SHORT_5_6_5\fP,
\%\f3GL_UNSIGNED_SHORT_5_6_5_REV\fP,
\%\f3GL_UNSIGNED_SHORT_4_4_4_4\fP,
\%\f3GL_UNSIGNED_SHORT_4_4_4_4_REV\fP,
\%\f3GL_UNSIGNED_SHORT_5_5_5_1\fP,
\%\f3GL_UNSIGNED_SHORT_1_5_5_5_REV\fP,
\%\f3GL_UNSIGNED_INT_8_8_8_8\fP,
\%\f3GL_UNSIGNED_INT_8_8_8_8_REV\fP,
\%\f3GL_UNSIGNED_INT_10_10_10_2\fP, and
\%\f3GL_UNSIGNED_INT_2_10_10_10_REV\fP
are accepted.
.TP
\f2table\fP
Pointer to a one-dimensional array of pixel data containing the contents
of the color table.
.SH DESCRIPTION
\%\f3glGetColorTable\fP returns in \f2table\fP the contents of the color table specified
by \f2target\fP. No pixel transfer operations are performed, but pixel
storage modes that are applicable to
\%\f3glReadPixels\fP are performed.
.P
Color components that are requested in
the specified \f2format\fP, but which are not included in the internal
of the color lookup table, are returned as zero. The
assignments of internal color components to the components
requested by \f2format\fP are
.P
.TS
center;
lb lb
l l.
_
Internal Component Resulting Component
_
red red
green green
blue blue
alpha alpha
luminance red
intensity red
_
.TE
.P
.SH NOTES
\%\f3glGetColorTable\fP is present only if \%\f3GL_ARB_imaging\fP is returned when \%\f3glGetString\fP
is called with an argument of \%\f3GL_EXTENSIONS\fP.
.P
.SH ERRORS
\%\f3GL_INVALID_ENUM\fP is generated if \f2target\fP is not one of the allowable
values.
.P
\%\f3GL_INVALID_ENUM\fP is generated if \f2format\fP is not one of the allowable
values.
.P
\%\f3GL_INVALID_ENUM\fP is generated if \f2type\fP is not one of the allowable
values.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \f2type\fP is one of
\%\f3GL_UNSIGNED_BYTE_3_3_2\fP,
\%\f3GL_UNSIGNED_BYTE_2_3_3_REV\fP,
\%\f3GL_UNSIGNED_SHORT_5_6_5\fP, or
\%\f3GL_UNSIGNED_SHORT_5_6_5_REV\fP
and \f2format\fP is not \%\f3GL_RGB\fP.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \f2type\fP is one of
\%\f3GL_UNSIGNED_SHORT_4_4_4_4\fP,
\%\f3GL_UNSIGNED_SHORT_4_4_4_4_REV\fP,
\%\f3GL_UNSIGNED_SHORT_5_5_5_1\fP,
\%\f3GL_UNSIGNED_SHORT_1_5_5_5_REV\fP,
\%\f3GL_UNSIGNED_INT_8_8_8_8\fP,
\%\f3GL_UNSIGNED_INT_8_8_8_8_REV\fP,
\%\f3GL_UNSIGNED_INT_10_10_10_2\fP, or
\%\f3GL_UNSIGNED_INT_2_10_10_10_REV\fP
and \f2format\fP is neither \%\f3GL_RGBA\fP nor \%\f3GL_BGRA\fP.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glGetColorTable\fP is executed
between the execution of \%\f3glBegin\fP and the corresponding
execution of \%\f3glEnd\fP.
.SH SEE ALSO
\%\f3glColorTable(3G)\fP,
\%\f3glColorTableParameter(3G)\fP,
\%\f3glGetColorTableParameter(3G)\fP

View file

@ -1,116 +0,0 @@
'\" te
'\"! tbl | eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 001 getcolor
.ds Xs 21434 5 getcolortableparameter.gl
.TH GLGETCOLORTABLEPARAMETER 3G
.SH NAME
.B "glGetColorTableParameterfv, glGetColorTableParameteriv
\- get color lookup table parameters
.SH C SPECIFICATION
void \f3glGetColorTableParameterfv\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglGetColorTableParameterfv( 'u
GLenum \fIpname\fP,
GLfloat \fI*params\fP )
.fi
void \f3glGetColorTableParameteriv\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglGetColorTableParameteriv( 'u
GLenum \fIpname\fP,
GLint \fI*params\fP )
.fi
.EQ
delim $$
.EN
.SH PARAMETERS
.TP \w'\f2target\fP\ \ 'u
\f2target\fP
The target color table.
Must be
\%\f3GL_COLOR_TABLE\fP,
\%\f3GL_POST_CONVOLUTION_COLOR_TABLE\fP,
\%\f3GL_POST_COLOR_MATRIX_COLOR_TABLE\fP,
\%\f3GL_PROXY_COLOR_TABLE\fP,
\%\f3GL_PROXY_POST_CONVOLUTION_COLOR_TABLE\fP,
\%\f3GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE\fP.
.TP
\f2pname\fP
The symbolic name of a color lookup table parameter.
Must be one of
\%\f3GL_COLOR_TABLE_BIAS\fP,
\%\f3GL_COLOR_TABLE_SCALE\fP,
\%\f3GL_COLOR_TABLE_FORMAT\fP,
\%\f3GL_COLOR_TABLE_WIDTH\fP,
\%\f3GL_COLOR_TABLE_RED_SIZE\fP,
\%\f3GL_COLOR_TABLE_GREEN_SIZE\fP,
\%\f3GL_COLOR_TABLE_BLUE_SIZE\fP,
\%\f3GL_COLOR_TABLE_ALPHA_SIZE\fP,
\%\f3GL_COLOR_TABLE_LUMINANCE_SIZE\fP, or
\%\f3GL_COLOR_TABLE_INTENSITY_SIZE\fP.
.TP
\f2params\fP
A pointer to an array where the values of the parameter will be stored.
.SH DESCRIPTION
Returns parameters specific to color table \f2target\fP.
.P
When \f2pname\fP is set to \%\f3GL_COLOR_TABLE_SCALE\fP or
\%\f3GL_COLOR_TABLE_BIAS\fP, \%\f3glGetColorTableParameter\fP returns the color
table scale or bias parameters for the table specified by \f2target\fP.
For these queries, \f2target\fP must be set to
\%\f3GL_COLOR_TABLE\fP,
\%\f3GL_POST_CONVOLUTION_COLOR_TABLE\fP,
or \%\f3GL_POST_COLOR_MATRIX_COLOR_TABLE\fP and
\f2params\fP points to an array of four elements, which receive
the scale or bias factors for red, green, blue, and alpha, in that order.
.P
\%\f3glGetColorTableParameter\fP can also be used to retrieve the and size parameters
for a color table. For these queries, set \f2target\fP to either the
color table target or the proxy color table target.
The and size parameters are set by \%\f3glColorTable\fP.
.P
The following table lists the and size parameters that may
be queried.
For each symbolic constant listed below for \f2pname\fP,
\f2params\fP must point to an array of the
given length, and receive the values indicated.
.P
.TS
center;
lb cb lb
l c l.
_
Parameter N Meaning
_
\%\f3GL_COLOR_TABLE_FORMAT\fP 1 Internal (e.g. \%\f3GL_RGBA\fP)
\%\f3GL_COLOR_TABLE_WIDTH\fP 1 Number of elements in table
\%\f3GL_COLOR_TABLE_RED_SIZE\fP 1 Size of red component, in bits
\%\f3GL_COLOR_TABLE_GREEN_SIZE\fP 1 Size of green component
\%\f3GL_COLOR_TABLE_BLUE_SIZE\fP 1 Size of blue component
\%\f3GL_COLOR_TABLE_ALPHA_SIZE\fP 1 Size of alpha component
\%\f3GL_COLOR_TABLE_LUMINANCE_SIZE\fP 1 Size of luminance component
\%\f3GL_COLOR_TABLE_INTENSITY_SIZE\fP 1 Size of intensity component
_
.TE
.SH NOTES
\%\f3glGetColorTableParameter\fP is present only if \%\f3GL_ARB_imaging\fP is returned when \%\f3glGetString\fP
is called with an argument of \%\f3GL_EXTENSIONS\fP.
.SH ERRORS
\%\f3GL_INVALID_ENUM\fP is generated if \f2target\fP or \f2pname\fP is not
an acceptable value.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glGetColorTableParameter\fP is executed
between the execution of \%\f3glBegin\fP and the corresponding
execution of \%\f3glEnd\fP.
.SH SEE ALSO
\%\f3glColorTable(3G)\fP,
\%\f3glTexParameter(3G)\fP,
\%\f3glColorTableParameter(3G)\fP

View file

@ -1,145 +0,0 @@
'\" t
'\"! tbl | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 getconvol
.ds Xs 38054 6 getconvolutionfilter.gl
.TH GLGETCONVOLUTIONFILTER 3G
.SH NAME
.B "glGetConvolutionFilter
\- get current 1D or 2D convolution filter kernel
.SH C SPECIFICATION
void \f3glGetConvolutionFilter\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglGetConvolutionFilter( 'u
GLenum \fIformat\fP,
GLenum \fItype\fP,
GLvoid \fI*image\fP )
.fi
.SH PARAMETERS
.TP \w'\f2target\fP\ \ 'u
\f2target\fP
The filter to be retrieved.
Must be one of
\%\f3GL_CONVOLUTION_1D\fP or
\%\f3GL_CONVOLUTION_2D\fP.
.TP
\f2format\fP
Format of the output image.
Must be one of
\%\f3GL_RED\fP,
\%\f3GL_GREEN\fP,
\%\f3GL_BLUE\fP,
\%\f3GL_ALPHA\fP,
\%\f3GL_RGB\fP,
\%\f3GL_BGR\fP,
\%\f3GL_RGBA\fP,
\%\f3GL_BGRA\fP,
\%\f3GL_LUMINANCE\fP, or
\%\f3GL_LUMINANCE_ALPHA\fP.
.TP
\f2type\fP
Data type of components in the output image.
Symbolic constants
\%\f3GL_UNSIGNED_BYTE\fP,
\%\f3GL_BYTE\fP,
\%\f3GL_BITMAP\fP,
\%\f3GL_UNSIGNED_SHORT\fP,
\%\f3GL_SHORT\fP,
\%\f3GL_UNSIGNED_INT\fP,
\%\f3GL_INT\fP,
\%\f3GL_FLOAT\fP,
\%\f3GL_UNSIGNED_BYTE_3_3_2\fP,
\%\f3GL_UNSIGNED_BYTE_2_3_3_REV\fP,
\%\f3GL_UNSIGNED_SHORT_5_6_5\fP,
\%\f3GL_UNSIGNED_SHORT_5_6_5_REV\fP,
\%\f3GL_UNSIGNED_SHORT_4_4_4_4\fP,
\%\f3GL_UNSIGNED_SHORT_4_4_4_4_REV\fP,
\%\f3GL_UNSIGNED_SHORT_5_5_5_1\fP,
\%\f3GL_UNSIGNED_SHORT_1_5_5_5_REV\fP,
\%\f3GL_UNSIGNED_INT_8_8_8_8\fP,
\%\f3GL_UNSIGNED_INT_8_8_8_8_REV\fP,
\%\f3GL_UNSIGNED_INT_10_10_10_2\fP, and
\%\f3GL_UNSIGNED_INT_2_10_10_10_REV\fP
are accepted.
.TP
\f2image\fP
Pointer to storage for the output image.
.SH DESCRIPTION
\%\f3glGetConvolutionFilter\fP returns the current 1D or 2D convolution filter kernel as an image.
The one- or two-dimensional image is placed in \f2image\fP according to the
specifications in \f2format\fP and \f2type\fP.
No pixel transfer operations are performed on this image, but the relevant
pixel storage modes are applied.
.sp
Color components that are present in \f2format\fP but not included in the
internal of the filter are returned as zero.
The assignments of internal color components to the components of \f2format\fP
are as follows.
.br
.bp
.TS
center;
lb lb
l l.
_
Internal Component Resulting Component
_
Red Red
Green Green
Blue Blue
Alpha Alpha
Luminance Red
Intensity Red
_
.TE
.SH NOTES
\%\f3glGetConvolutionFilter\fP is present only if \%\f3GL_ARB_imaging\fP is returned when \%\f3glGetString\fP
is called with an argument of \%\f3GL_EXTENSIONS\fP.
.P
The current separable 2D filter must be retrieved with
\%\f3glGetSeparableFilter\fP rather than \%\f3glGetConvolutionFilter\fP.
.SH ERRORS
\%\f3GL_INVALID_ENUM\fP is generated if \f2target\fP is not one of the allowable
values.
.P
\%\f3GL_INVALID_ENUM\fP is generated if \f2format\fP is not one of the allowable
values.
.P
\%\f3GL_INVALID_ENUM\fP is generated if \f2type\fP is not one of the allowable
values.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glGetConvolutionFilter\fP is executed
between the execution of \%\f3glBegin\fP and the corresponding
execution of \%\f3glEnd\fP.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \f2type\fP is one of
\%\f3GL_UNSIGNED_BYTE_3_3_2\fP,
\%\f3GL_UNSIGNED_BYTE_2_3_3_REV\fP,
\%\f3GL_UNSIGNED_SHORT_5_6_5\fP, or
\%\f3GL_UNSIGNED_SHORT_5_6_5_REV\fP
and \f2format\fP is not \%\f3GL_RGB\fP.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \f2type\fP is one of
\%\f3GL_UNSIGNED_SHORT_4_4_4_4\fP,
\%\f3GL_UNSIGNED_SHORT_4_4_4_4_REV\fP,
\%\f3GL_UNSIGNED_SHORT_5_5_5_1\fP,
\%\f3GL_UNSIGNED_SHORT_1_5_5_5_REV\fP,
\%\f3GL_UNSIGNED_INT_8_8_8_8\fP,
\%\f3GL_UNSIGNED_INT_8_8_8_8_REV\fP,
\%\f3GL_UNSIGNED_INT_10_10_10_2\fP, or
\%\f3GL_UNSIGNED_INT_2_10_10_10_REV\fP
and \f2format\fP is neither \%\f3GL_RGBA\fP nor \%\f3GL_BGRA\fP.
.SH ASSOCIATED GETS
\%\f3glGetConvolutionParameter\fP
.SH SEE ALSO
\%\f3glGetSeparableFilter(3G)\fP,
\%\f3glConvolutionParameter(3G)\fP,
\%\f3glConvolutionFilter1D(3G)\fP,
\%\f3glConvolutionFilter2D(3G)\fP

View file

@ -1,114 +0,0 @@
'\" t
'\"! tbl | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 001 getconvo
.ds Xs 10201 5 getconvolutionparameter.gl
.TH GLGETCONVOLUTIONPARAMETER 3G
.SH NAME
.B "glGetConvolutionParameterfv, glGetConvolutionParameteriv
\- get convolution parameters
.SH C SPECIFICATION
void \f3glGetConvolutionParameterfv\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglGetConvolutionParameterfv( 'u
GLenum \fIpname\fP,
GLfloat \fI*params\fP )
.fi
void \f3glGetConvolutionParameteriv\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglGetConvolutionParameteriv( 'u
GLenum \fIpname\fP,
GLint \fI*params\fP )
.fi
.SH PARAMETERS
.TP \w'\f2target\fP\ \ 'u
\f2target\fP
The filter whose parameters are to be retrieved.
Must be one of
\%\f3GL_CONVOLUTION_1D\fP,
\%\f3GL_CONVOLUTION_2D\fP, or
\%\f3GL_SEPARABLE_2D\fP.
.TP
\f2pname\fP
The parameter to be retrieved.
Must be one of
\%\f3GL_CONVOLUTION_BORDER_MODE\fP,
\%\f3GL_CONVOLUTION_BORDER_COLOR\fP,
\%\f3GL_CONVOLUTION_FILTER_SCALE\fP,
\%\f3GL_CONVOLUTION_FILTER_BIAS\fP,
\%\f3GL_CONVOLUTION_FORMAT\fP,
\%\f3GL_CONVOLUTION_WIDTH\fP,
\%\f3GL_CONVOLUTION_HEIGHT\fP,
\%\f3GL_MAX_CONVOLUTION_WIDTH\fP, or
\%\f3GL_MAX_CONVOLUTION_HEIGHT\fP.
.TP
\f2params\fP
Pointer to storage for the parameters to be retrieved.
.SH DESCRIPTION
\%\f3glGetConvolutionParameter\fP retrieves convolution parameters.
\f2target\fP determines which convolution filter is queried.
\f2pname\fP determines which parameter is returned:
.TP
\%\f3GL_CONVOLUTION_BORDER_MODE\fP
The convolution border mode.
See \%\f3glConvolutionParameter\fP for a list of border modes.
.TP
\%\f3GL_CONVOLUTION_BORDER_COLOR\fP
The current convolution border color.
\f2params\fP must be a pointer to an array of four elements,
which will receive the red, green, blue, and alpha border colors.
.TP
\%\f3GL_CONVOLUTION_FILTER_SCALE\fP
The current filter scale factors.
\f2params\fP must be a pointer to an array of four elements,
which will receive the red, green, blue, and alpha filter scale
factors in that order.
.TP
\%\f3GL_CONVOLUTION_FILTER_BIAS\fP
The current filter bias factors.
\f2params\fP must be a pointer to an array of four elements,
which will receive the red, green, blue, and alpha filter bias
terms in that order.
.TP
\%\f3GL_CONVOLUTION_FORMAT\fP
The current internal .
See \%\f3glConvolutionFilter1D\fP, \%\f3glConvolutionFilter2D\fP,
and \%\f3glSeparableFilter2D\fP for lists of allowable formats.
.TP
\%\f3GL_CONVOLUTION_WIDTH\fP
The current filter image width.
.TP
\%\f3GL_CONVOLUTION_HEIGHT\fP
The current filter image height.
.TP
\%\f3GL_MAX_CONVOLUTION_WIDTH\fP
The maximum acceptable filter image width.
.TP
\%\f3GL_MAX_CONVOLUTION_HEIGHT\fP
The maximum acceptable filter image height.
.SH ERRORS
\%\f3GL_INVALID_ENUM\fP is generated if \f2target\fP is not one of the allowable
values.
.P
\%\f3GL_INVALID_ENUM\fP is generated if \f2pname\fP is not one of the allowable
values.
.P
\%\f3GL_INVALID_ENUM\fP is generated if \f2target\fP is \%\f3GL_CONVOLUTION_1D\fP
and \f2pname\fP is \%\f3GL_CONVOLUTION_HEIGHT\fP or
\%\f3GL_MAX_CONVOLUTION_HEIGHT\fP.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glGetConvolutionParameter\fP is executed
between the execution of \%\f3glBegin\fP and the corresponding
execution of \%\f3glEnd\fP.
.SH SEE ALSO
\%\f3glGetConvolutionFilter(3G)\fP,
\%\f3glGetSeparableFilter2D(3G)\fP,
\%\f3glConvolutionParameter(3G)\fP

View file

@ -1,102 +0,0 @@
'\" te
'\"! tbl|eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 geterror.
.ds Xs 56466 6 geterror.gl
.TH GLGETERROR 3G
.SH NAME
.B "glGetError
\- return error information
.SH C SPECIFICATION
GLenum \f3glGetError\fP( void )
.nf
.fi
.SH DESCRIPTION
\%\f3glGetError\fP returns the value of the error flag.
Each detectable error is assigned a numeric code and symbolic name.
When an error occurs,
the error flag is set to the appropriate error code value.
No other errors are recorded until \%\f3glGetError\fP is called,
the error code is returned,
and the flag is reset to \%\f3GL_NO_ERROR\fP.
If a call to \%\f3glGetError\fP returns \%\f3GL_NO_ERROR\fP,
there has been no detectable error since the last call to \%\f3glGetError\fP,
or since the GL was initialized.
.P
To allow for distributed implementations,
there may be several error flags.
If any single error flag has recorded an error,
the value of that flag is returned
and that flag is reset to \%\f3GL_NO_ERROR\fP
when \%\f3glGetError\fP is called.
If more than one flag has recorded an error,
\%\f3glGetError\fP returns and clears an arbitrary error flag value.
Thus, \%\f3glGetError\fP should always be called in a loop,
until it returns \%\f3GL_NO_ERROR\fP,
if all error flags are to be reset.
.P
Initially, all error flags are set to \%\f3GL_NO_ERROR\fP.
.P
The following errors are currently defined:
.TP 30
\%\f3GL_NO_ERROR\fP
No error has been recorded.
The value of this symbolic constant is guaranteed to be 0.
.TP
\%\f3GL_INVALID_ENUM\fP
An unacceptable value is specified for an enumerated argument.
The offending command is ignored,
and has no other side effect than to set the error flag.
.TP
\%\f3GL_INVALID_VALUE\fP
A numeric argument is out of range.
The offending command is ignored,
and has no other side effect than to set the error flag.
.TP
\%\f3GL_INVALID_OPERATION\fP
The specified operation is not allowed in the current state.
The offending command is ignored,
and has no other side effect than to set the error flag.
.TP
\%\f3GL_STACK_OVERFLOW\fP
This command would cause a stack overflow.
The offending command is ignored,
and has no other side effect than to set the error flag.
.TP
\%\f3GL_STACK_UNDERFLOW\fP
This command would cause a stack underflow.
The offending command is ignored,
and has no other side effect than to set the error flag.
.TP
\%\f3GL_OUT_OF_MEMORY\fP
There is not enough memory left to execute the command.
The state of the GL is undefined,
except for the state of the error flags,
after this error is recorded.
.TP
\%\f3GL_TABLE_TOO_LARGE\fP
The specified table exceeds the implementation's maximum supported table
size. The offending command is ignored, and has no other side effect
than to set the error flag.
.P
When an error flag is set,
results of a GL operation are undefined only if \%\f3GL_OUT_OF_MEMORY\fP
has occurred.
In all other cases,
the command generating the error is ignored and has no effect on the GL state
or frame buffer contents.
If the generating command returns a value, it returns 0.
If \%\f3glGetError\fP itself generates an error, it returns 0.
.SH NOTES
\%\f3GL_TABLE_TOO_LARGE\fP was introduced in GL version 1.2.
.SH ERRORS
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glGetError\fP
is executed between the execution of \%\f3glBegin\fP
and the corresponding execution of \%\f3glEnd\fP.
In this case \%\f3glGetError\fP returns 0.

View file

@ -1,142 +0,0 @@
'\" t
'\"! tbl | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 gethistog
.ds Xs 52081 6 gethistogram.gl
.TH GLGETHISTOGRAM 3G
.SH NAME
.B "glGetHistogram
\- get histogram table
.SH C SPECIFICATION
void \f3glGetHistogram\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglGetHistogram( 'u
GLboolean \fIreset\fP,
GLenum \fIformat\fP,
GLenum \fItype\fP,
GLvoid \fI*values\fP )
.fi
.SH PARAMETERS
.TP \w'\f2target\fP\ \ 'u
\f2target\fP
Must be
\%\f3GL_HISTOGRAM\fP.
.TP
\f2reset\fP
If \%\f3GL_TRUE\fP, each component counter that is actually returned
is reset to zero. (Other counters are unaffected.)
If \%\f3GL_FALSE\fP, none of the counters in the histogram table is modified.
.TP
\f2format\fP
The of values to be returned in \f2values\fP.
Must be one of
\%\f3GL_RED\fP,
\%\f3GL_GREEN\fP,
\%\f3GL_BLUE\fP,
\%\f3GL_ALPHA\fP,
\%\f3GL_RGB\fP,
\%\f3GL_BGR\fP,
\%\f3GL_RGBA\fP,
\%\f3GL_BGRA\fP,
\%\f3GL_LUMINANCE\fP, or
\%\f3GL_LUMINANCE_ALPHA\fP.
.TP
\f2type\fP
The type of values to be returned in \f2values\fP.
Symbolic constants
\%\f3GL_UNSIGNED_BYTE\fP,
\%\f3GL_BYTE\fP,
\%\f3GL_BITMAP\fP,
\%\f3GL_UNSIGNED_SHORT\fP,
\%\f3GL_SHORT\fP,
\%\f3GL_UNSIGNED_INT\fP,
\%\f3GL_INT\fP,
\%\f3GL_FLOAT\fP,
\%\f3GL_UNSIGNED_BYTE_3_3_2\fP,
\%\f3GL_UNSIGNED_BYTE_2_3_3_REV\fP,
\%\f3GL_UNSIGNED_SHORT_5_6_5\fP,
\%\f3GL_UNSIGNED_SHORT_5_6_5_REV\fP,
\%\f3GL_UNSIGNED_SHORT_4_4_4_4\fP,
\%\f3GL_UNSIGNED_SHORT_4_4_4_4_REV\fP,
\%\f3GL_UNSIGNED_SHORT_5_5_5_1\fP,
\%\f3GL_UNSIGNED_SHORT_1_5_5_5_REV\fP,
\%\f3GL_UNSIGNED_INT_8_8_8_8\fP,
\%\f3GL_UNSIGNED_INT_8_8_8_8_REV\fP,
\%\f3GL_UNSIGNED_INT_10_10_10_2\fP, and
\%\f3GL_UNSIGNED_INT_2_10_10_10_REV\fP
are accepted.
.TP
\f2values\fP
A pointer to storage for the returned histogram table.
.SH DESCRIPTION
\%\f3glGetHistogram\fP returns the current histogram table as a one-dimensional image
with the same width as the histogram.
No pixel transfer operations are performed on this image, but pixel storage
modes that are applicable to 1D images are honored.
.PP
Color components that are requested in the specified \f2format\fP, but which
are not included in the internal of the histogram, are returned as
zero.
.bp
The assignments of internal color components to the components
requested by \f2format\fP are:
.TS
center;
lb lb
l l.
_
Internal Component Resulting Component
_
Red Red
Green Green
Blue Blue
Alpha Alpha
Luminance Red
_
.TE
.SH NOTES
\%\f3glGetHistogram\fP is present only if \%\f3GL_ARB_imaging\fP is returned when \%\f3glGetString\fP
is called with an argument of \%\f3GL_EXTENSIONS\fP.
.SH ERRORS
\%\f3GL_INVALID_ENUM\fP is generated if \f2target\fP is not \%\f3GL_HISTOGRAM\fP.
.P
\%\f3GL_INVALID_ENUM\fP is generated if \f2format\fP is not one of the allowable
values.
.P
\%\f3GL_INVALID_ENUM\fP is generated if \f2type\fP is not one of the allowable
values.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glGetHistogram\fP is executed
between the execution of \%\f3glBegin\fP and the corresponding
execution of \%\f3glEnd\fP.
.P
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \f2type\fP is one of
\%\f3GL_UNSIGNED_BYTE_3_3_2\fP,
\%\f3GL_UNSIGNED_BYTE_2_3_3_REV\fP,
\%\f3GL_UNSIGNED_SHORT_5_6_5\fP, or
\%\f3GL_UNSIGNED_SHORT_5_6_5_REV\fP
and \f2format\fP is not \%\f3GL_RGB\fP.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \f2type\fP is one of
\%\f3GL_UNSIGNED_SHORT_4_4_4_4\fP,
\%\f3GL_UNSIGNED_SHORT_4_4_4_4_REV\fP,
\%\f3GL_UNSIGNED_SHORT_5_5_5_1\fP,
\%\f3GL_UNSIGNED_SHORT_1_5_5_5_REV\fP,
\%\f3GL_UNSIGNED_INT_8_8_8_8\fP,
\%\f3GL_UNSIGNED_INT_8_8_8_8_REV\fP,
\%\f3GL_UNSIGNED_INT_10_10_10_2\fP, or
\%\f3GL_UNSIGNED_INT_2_10_10_10_REV\fP
and \f2format\fP is neither \%\f3GL_RGBA\fP nor \%\f3GL_BGRA\fP.
.SH SEE ALSO
\%\f3glHistogram(3G)\fP,
\%\f3glResetHistogram(3G)\fP,
\%\f3glGetHistogramParameter(3G)\fP

View file

@ -1,103 +0,0 @@
'\" t
'\"! tbl | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 001 gethisto
.ds Xs 33049 5 gethistogramparameter.gl
.TH GLGETHISTOGRAMPARAMETER 3G
.SH NAME
.B "glGetHistogramParameterfv, glGetHistogramParameteriv
\- get histogram parameters
.SH C SPECIFICATION
void \f3glGetHistogramParameterfv\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglGetHistogramParameterfv( 'u
GLenum \fIpname\fP,
GLfloat \fI*params\fP )
.fi
void \f3glGetHistogramParameteriv\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglGetHistogramParameteriv( 'u
GLenum \fIpname\fP,
GLint \fI*params\fP )
.fi
.SH PARAMETERS
.TP \w'\f2target\fP\ \ 'u
\f2target\fP
Must be one of
\%\f3GL_HISTOGRAM\fP or
\%\f3GL_PROXY_HISTOGRAM\fP.
.TP
\f2pname\fP
The name of the parameter to be retrieved.
Must be one of
\%\f3GL_HISTOGRAM_WIDTH\fP,
\%\f3GL_HISTOGRAM_FORMAT\fP,
\%\f3GL_HISTOGRAM_RED_SIZE\fP,
\%\f3GL_HISTOGRAM_GREEN_SIZE\fP,
\%\f3GL_HISTOGRAM_BLUE_SIZE\fP,
\%\f3GL_HISTOGRAM_ALPHA_SIZE\fP,
\%\f3GL_HISTOGRAM_LUMINANCE_SIZE\fP, or
\%\f3GL_HISTOGRAM_SINK\fP.
.TP
\f2params\fP
Pointer to storage for the returned values.
.SH DESCRIPTION
\%\f3glGetHistogramParameter\fP is used to query parameter values for the current histogram or for
a proxy. The histogram state information may be queried by calling
\%\f3glGetHistogramParameter\fP with a \f2target\fP of \%\f3GL_HISTOGRAM\fP (to
obtain information for the current histogram table) or
\%\f3GL_PROXY_HISTOGRAM\fP (to obtain information from the most recent
proxy request) and one of the following values for the \f2pname\fP argument:
.P
.ne
.TS
center;
lb lb
l l.
_
Parameter Description
_
\%\f3GL_HISTOGRAM_WIDTH\fP Histogram table width
\%\f3GL_HISTOGRAM_FORMAT\fP Internal
\%\f3GL_HISTOGRAM_RED_SIZE\fP Red component counter size, in bits
\%\f3GL_HISTOGRAM_GREEN_SIZE\fP Green component counter size, in bits
.TE
.bp
.TS
center;
lb lb
l l.
_
Parameter Description
_
\%\f3GL_HISTOGRAM_BLUE_SIZE\fP Blue component counter size, in bits
\%\f3GL_HISTOGRAM_ALPHA_SIZE\fP Alpha component counter size, in bits
\%\f3GL_HISTOGRAM_LUMINANCE_SIZE\fP Luminance component counter size, in bits
\%\f3GL_HISTOGRAM_SINK\fP Value of the \f2sink\fP parameter
_
.TE
.SH NOTES
\%\f3glGetHistogramParameter\fP is present only if \%\f3GL_ARB_imaging\fP is returned when \%\f3glGetString\fP
is called with an argument of \%\f3GL_EXTENSIONS\fP.
.SH ERRORS
\%\f3GL_INVALID_ENUM\fP is generated if \f2target\fP is not one of the allowable
values.
.P
\%\f3GL_INVALID_ENUM\fP is generated if \f2pname\fP is not one of the allowable
values.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glGetHistogramParameter\fP is executed
between the execution of \%\f3glBegin\fP and the corresponding
execution of \%\f3glEnd\fP.
.SH SEE ALSO
\%\f3glGetHistogram(3G)\fP,
\%\f3glHistogram(3G)\fP

View file

@ -1,187 +0,0 @@
'\" te
'\"! tbl|eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 getlight.
.ds Xs 45912 8 getlight.gl
.TH GLGETLIGHT 3G
.SH NAME
.B "glGetLightfv, glGetLightiv
\- return light source parameter values
.SH C SPECIFICATION
void \f3glGetLightfv\fP(
GLenum \fIlight\fP,
.nf
.ta \w'\f3void \fPglGetLightfv( 'u
GLenum \fIpname\fP,
GLfloat \fI*params\fP )
.fi
void \f3glGetLightiv\fP(
GLenum \fIlight\fP,
.nf
.ta \w'\f3void \fPglGetLightiv( 'u
GLenum \fIpname\fP,
GLint \fI*params\fP )
.fi
.EQ
delim $$
.EN
.SH PARAMETERS
.TP \w'\fIparams\fP\ \ 'u
\f2light\fP
Specifies a light source.
The number of possible lights depends on the implementation,
but at least eight lights are supported.
They are identified by symbolic names of the form \%\f3GL_LIGHT\fP$i$
where 0 \(<= $ i $ < \%\f3GL_MAX_LIGHTS\fP.
.TP
\f2pname\fP
Specifies a light source parameter for \f2light\fP.
Accepted symbolic names are
\%\f3GL_AMBIENT\fP,
\%\f3GL_DIFFUSE\fP,
\%\f3GL_SPECULAR\fP,
\%\f3GL_POSITION\fP,
\%\f3GL_SPOT_DIRECTION\fP,
\%\f3GL_SPOT_EXPONENT\fP,
\%\f3GL_SPOT_CUTOFF\fP,
\%\f3GL_CONSTANT_ATTENUATION\fP,
\%\f3GL_LINEAR_ATTENUATION\fP, and
\%\f3GL_QUADRATIC_ATTENUATION\fP.
.TP
\f2params\fP
Returns the requested data.
.SH DESCRIPTION
\%\f3glGetLight\fP returns in \f2params\fP the value or values of a light source parameter.
\f2light\fP names the light and is a symbolic name of the form \%\f3GL_LIGHT\fP$i$
for 0 \(<= $i$ < \%\f3GL_MAX_LIGHTS\fP,
where \%\f3GL_MAX_LIGHTS\fP is an implementation dependent constant that is
greater than or equal to eight.
\f2pname\fP specifies one of ten light source parameters,
again by symbolic name.
.P
The following parameters are defined:
.TP 20
\%\f3GL_AMBIENT\fP
\f2params\fP returns four integer or floating-point values representing the
ambient intensity of the light source.
Integer values,
when requested,
are linearly mapped from the internal floating-point representation
such that 1.0 maps to the most positive representable integer value,
and \-1.0 maps to the most negative representable integer value.
If the internal value is outside the range [\-1, 1],
the corresponding integer return value is undefined. The initial value is
(0, 0, 0, 1).
.TP
\%\f3GL_DIFFUSE\fP
\f2params\fP returns four integer or floating-point values representing the
diffuse intensity of the light source.
Integer values,
when requested,
are linearly mapped from the internal floating-point representation
such that 1.0 maps to the most positive representable integer value,
and \-1.0 maps to the most negative representable integer value.
If the internal value is outside the range [\-1, 1],
the corresponding integer return value is undefined. The initial value
for \%\f3GL_LIGHT0\fP is (1, 1, 1, 1); for other lights, the
initial value is (0, 0, 0, 0).
.TP
\%\f3GL_SPECULAR\fP
\f2params\fP returns four integer or floating-point values representing the
specular intensity of the light source.
Integer values,
when requested,
are linearly mapped from the internal floating-point representation
such that 1.0 maps to the most positive representable integer value,
and \-1.0 maps to the most negative representable integer value.
If the internal value is outside the range [\-1, 1],
the corresponding integer return value is undefined. The initial value
for \%\f3GL_LIGHT0\fP is (1, 1, 1, 1); for other lights, the
initial value is (0, 0, 0, 0).
.TP
\%\f3GL_POSITION\fP
\f2params\fP returns four integer or floating-point values representing the
position of the light source.
Integer values,
when requested,
are computed by rounding the internal floating-point values to the
nearest integer value.
The returned values are those maintained in eye coordinates.
They will not be equal to the values specified using \%\f3glLight\fP,
unless the modelview matrix was identity at the time \%\f3glLight\fP was
called. The initial value is (0, 0, 1, 0).
.TP
\%\f3GL_SPOT_DIRECTION\fP
\f2params\fP returns three integer or floating-point values representing the
direction of the light source.
Integer values,
when requested,
are computed by rounding the internal floating-point values to the
nearest integer value.
The returned values are those maintained in eye coordinates.
They will not be equal to the values specified using \%\f3glLight\fP,
unless the modelview matrix was identity at the time \%\f3glLight\fP was called.
Although spot direction is normalized before being used in the lighting
equation,
the returned values are the transformed versions of the specified values
prior to normalization. The initial value is (0, 0, \-1).
.TP
\%\f3GL_SPOT_EXPONENT\fP
\f2params\fP returns a single integer or floating-point value representing the
spot exponent of the light.
An integer value,
when requested,
is computed by rounding the internal floating-point representation to
the nearest integer. The initial value is 0.
.TP
\%\f3GL_SPOT_CUTOFF\fP
\f2params\fP returns a single integer or floating-point value representing the
spot cutoff angle of the light.
An integer value,
when requested,
is computed by rounding the internal floating-point representation to
the nearest integer. The initial value is 180.
.TP
\%\f3GL_CONSTANT_ATTENUATION\fP
\f2params\fP returns a single integer or floating-point value representing the
constant (not distance-related) attenuation of the light.
An integer value,
when requested,
is computed by rounding the internal floating-point representation to
the nearest integer. The initial value is 1.
.TP
\%\f3GL_LINEAR_ATTENUATION \fP
\f2params\fP returns a single integer or floating-point value representing the
linear attenuation of the light.
An integer value,
when requested,
is computed by rounding the internal floating-point representation to
the nearest integer. The initial value is 0.
.TP
\%\f3GL_QUADRATIC_ATTENUATION\fP
\f2params\fP returns a single integer or floating-point value representing the
quadratic attenuation of the light.
An integer value,
when requested,
is computed by rounding the internal floating-point representation to
the nearest integer. The initial value is 0.
.SH NOTES
It is always the case that \%\f3GL_LIGHT\fP$i$ = \%\f3GL_LIGHT0\fP + $i$.
.P
If an error is generated,
no change is made to the contents of \f2params\fP.
.SH ERRORS
\%\f3GL_INVALID_ENUM\fP is generated if \f2light\fP or \f2pname\fP is not an
accepted value.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glGetLight\fP
is executed between the execution of \%\f3glBegin\fP
and the corresponding execution of \%\f3glEnd\fP.
.SH SEE ALSO
\%\f3glLight(3G)\fP

View file

@ -1,134 +0,0 @@
'\" te
'\"! tbl|eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 getmap.gl
.ds Xs 19970 5 getmap.gl
.TH GLGETMAP 3G
.SH NAME
.B "glGetMapdv, glGetMapfv, glGetMapiv
\- return evaluator parameters
.SH C SPECIFICATION
void \f3glGetMapdv\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglGetMapdv( 'u
GLenum \fIquery\fP,
GLdouble \fI*v\fP )
.fi
void \f3glGetMapfv\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglGetMapfv( 'u
GLenum \fIquery\fP,
GLfloat \fI*v\fP )
.fi
void \f3glGetMapiv\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglGetMapiv( 'u
GLenum \fIquery\fP,
GLint \fI*v\fP )
.fi
.EQ
delim $$
.EN
.SH PARAMETERS
.TP \w'\f2target\fP\ \ 'u
\f2target\fP
Specifies the symbolic name of a map.
Accepted values are
\%\f3GL_MAP1_COLOR_4\fP,
\%\f3GL_MAP1_INDEX\fP,
\%\f3GL_MAP1_NORMAL\fP,
\%\f3GL_MAP1_TEXTURE_COORD_1\fP,
\%\f3GL_MAP1_TEXTURE_COORD_2\fP,
\%\f3GL_MAP1_TEXTURE_COORD_3\fP,
\%\f3GL_MAP1_TEXTURE_COORD_4\fP,
\%\f3GL_MAP1_VERTEX_3\fP,
\%\f3GL_MAP1_VERTEX_4\fP,
\%\f3GL_MAP2_COLOR_4\fP,
\%\f3GL_MAP2_INDEX\fP,
\%\f3GL_MAP2_NORMAL\fP,
\%\f3GL_MAP2_TEXTURE_COORD_1\fP,
\%\f3GL_MAP2_TEXTURE_COORD_2\fP,
\%\f3GL_MAP2_TEXTURE_COORD_3\fP,
\%\f3GL_MAP2_TEXTURE_COORD_4\fP,
\%\f3GL_MAP2_VERTEX_3\fP, and
\%\f3GL_MAP2_VERTEX_4\fP.
.TP
\f2query\fP
Specifies which parameter to return.
Symbolic names
\%\f3GL_COEFF\fP,
\%\f3GL_ORDER\fP, and
\%\f3GL_DOMAIN\fP are accepted.
.TP
\f2v\fP
Returns the requested data.
.SH DESCRIPTION
\%\f3glMap1\fP and \%\f3glMap2\fP define evaluators.
\%\f3glGetMap\fP returns evaluator parameters.
\f2target\fP chooses a map,
\f2query\fP selects a specific parameter,
and \f2v\fP points to storage where the values will be returned.
.P
The acceptable values for the \f2target\fP parameter are described
in the \%\f3glMap1\fP and \%\f3glMap2\fP reference pages.
.P
\f2query\fP can assume the following values:
.TP 15
\%\f3GL_COEFF\fP
\f2v\fP returns the control points for the evaluator function.
One-dimensional evaluators return $order$ control points,
and two-dimensional evaluators return $uorder ~times~ vorder$ control points.
Each control point consists of one, two, three, or four integer,
single-precision floating-point,
or double-precision floating-point values,
depending on the type of the evaluator.
The GL returns two-dimensional control points in row-major order,
incrementing the $uorder$ index quickly
and the $vorder$ index after each row.
Integer values,
when requested,
are computed by rounding the internal floating-point values to the
nearest integer values.
.TP
\%\f3GL_ORDER\fP
\f2v\fP returns the order of the evaluator function.
One-dimensional evaluators return a single value,
$order$. The initial value is 1.
Two-dimensional evaluators return two values,
$uorder$ and $vorder$. The initial value is 1,1.
.TP
\%\f3GL_DOMAIN\fP
\f2v\fP returns the linear $u$ and $v$ mapping parameters.
One-dimensional evaluators return two values,
$u1$ and $u2$,
as specified by \%\f3glMap1\fP.
Two-dimensional evaluators return four values
($u1$, $u2$, $v1$, and $v2$)
as specified by \%\f3glMap2\fP.
Integer values,
when requested,
are computed by rounding the internal floating-point values to the
nearest integer values.
.SH NOTES
If an error is generated,
no change is made to the contents of \f2v\fP.
.SH ERRORS
\%\f3GL_INVALID_ENUM\fP is generated if either \f2target\fP or \f2query\fP is not
an accepted value.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glGetMap\fP
is executed between the execution of \%\f3glBegin\fP
and the corresponding execution of \%\f3glEnd\fP.
.SH SEE ALSO
\%\f3glEvalCoord(3G)\fP,
\%\f3glMap1(3G)\fP,
\%\f3glMap2(3G)\fP

View file

@ -1,133 +0,0 @@
'\" e
'\"! eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 getmateri
.ds Xs 34280 6 getmaterial.gl
.TH GLGETMATERIAL 3G
.SH NAME
.B "glGetMaterialfv, glGetMaterialiv
\- return material parameters
.SH C SPECIFICATION
void \f3glGetMaterialfv\fP(
GLenum \fIface\fP,
.nf
.ta \w'\f3void \fPglGetMaterialfv( 'u
GLenum \fIpname\fP,
GLfloat \fI*params\fP )
.fi
void \f3glGetMaterialiv\fP(
GLenum \fIface\fP,
.nf
.ta \w'\f3void \fPglGetMaterialiv( 'u
GLenum \fIpname\fP,
GLint \fI*params\fP )
.fi
.EQ
delim $$
.EN
.SH PARAMETERS
.TP \w'\fIparams\fP\ \ 'u
\f2face\fP
Specifies which of the two materials is being queried.
\%\f3GL_FRONT\fP or \%\f3GL_BACK\fP are accepted,
representing the front and back materials, respectively.
.TP
\f2pname\fP
Specifies the material parameter to return.
\%\f3GL_AMBIENT\fP,
\%\f3GL_DIFFUSE\fP,
\%\f3GL_SPECULAR\fP,
\%\f3GL_EMISSION\fP,
\%\f3GL_SHININESS\fP, and
\%\f3GL_COLOR_INDEXES\fP
are accepted.
.TP
\f2params\fP
Returns the requested data.
.SH DESCRIPTION
\%\f3glGetMaterial\fP returns in \f2params\fP the value or values of parameter \f2pname\fP
of material \f2face\fP. Six parameters are defined:
.TP 22
\%\f3GL_AMBIENT\fP
\f2params\fP returns four integer or floating-point values representing the
ambient reflectance of the material.
Integer values,
when requested,
are linearly mapped from the internal floating-point representation
such that 1.0 maps to the most positive representable integer value,
and \-1.0 maps to the most negative representable integer value.
If the internal value is outside the range [\-1, 1],
the corresponding integer return value is undefined. The initial value is
(0.2, 0.2, 0.2, 1.0)
.TP
\%\f3GL_DIFFUSE\fP
\f2params\fP returns four integer or floating-point values representing the
diffuse reflectance of the material.
Integer values,
when requested,
are linearly mapped from the internal floating-point representation
such that 1.0 maps to the most positive representable integer value,
and \-1.0 maps to the most negative representable integer value.
If the internal value is outside the range [\-1, 1],
the corresponding integer return value is undefined. The initial value is
(0.8, 0.8, 0.8, 1.0).
.TP
\%\f3GL_SPECULAR\fP
\f2params\fP returns four integer or floating-point values representing the
specular reflectance of the material.
Integer values,
when requested,
are linearly mapped from the internal floating-point representation
such that 1.0 maps to the most positive representable integer value,
and \-1.0 maps to the most negative representable integer value.
If the internal value is outside the range [\-1, 1],
the corresponding integer return value is undefined. The initial value is
(0, 0, 0, 1).
.TP
\%\f3GL_EMISSION\fP
\f2params\fP returns four integer or floating-point values representing the
emitted light intensity of the material.
Integer values,
when requested,
are linearly mapped from the internal floating-point representation
such that 1.0 maps to the most positive representable integer value,
and \-1.0 maps to the most negative representable integer value.
If the internal value is outside the range [\-1, 1.0],
the corresponding integer return value is undefined. The initial value is
(0, 0, 0, 1).
.TP
\%\f3GL_SHININESS\fP
\f2params\fP returns one integer or floating-point value representing the
specular exponent of the material.
Integer values,
when requested,
are computed by rounding the internal floating-point value to the
nearest integer value. The initial value is 0.
.TP
\%\f3GL_COLOR_INDEXES\fP
\f2params\fP returns three integer or floating-point values representing the
ambient, diffuse, and specular indices of the material.
These indices are used only for color index lighting.
(All the other parameters are used only for RGBA lighting.)
Integer values,
when requested,
are computed by rounding the internal floating-point values to the
nearest integer values.
.SH NOTES
If an error is generated,
no change is made to the contents of \f2params\fP.
.SH ERRORS
\%\f3GL_INVALID_ENUM\fP is generated if \f2face\fP or \f2pname\fP is not an
accepted value.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glGetMaterial\fP
is executed between the execution of \%\f3glBegin\fP
and the corresponding execution of \%\f3glEnd\fP.
.SH SEE ALSO
\%\f3glMaterial(3G)\fP

View file

@ -1,149 +0,0 @@
'\" t
'\"! tbl | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 getminmax
.ds Xs 43140 6 getminmax.gl
.TH GLGETMINMAX 3G
.SH NAME
.B "glGetMinmax
\- get minimum and maximum pixel values
.SH C SPECIFICATION
void \f3glGetMinmax\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglGetMinmax( 'u
GLboolean \fIreset\fP,
GLenum \fIformat\fP,
GLenum \fItypes\fP,
GLvoid \fI*values\fP )
.fi
.SH PARAMETERS
.TP \w'\f2target\fP\ \ 'u
\f2target\fP
Must be
\%\f3GL_MINMAX\fP.
.TP
\f2reset\fP
If \%\f3GL_TRUE\fP, all entries in the minmax table that are actually
returned are reset to their initial values. (Other entries are unaltered.)
If \%\f3GL_FALSE\fP, the minmax table is unaltered.
.TP
\f2format\fP
The of the data to be returned in \f2values\fP.
Must be one of
\%\f3GL_RED\fP,
\%\f3GL_GREEN\fP,
\%\f3GL_BLUE\fP,
\%\f3GL_ALPHA\fP,
\%\f3GL_RGB\fP,
\%\f3GL_BGR\fP,
\%\f3GL_RGBA\fP,
\%\f3GL_BGRA\fP,
\%\f3GL_LUMINANCE\fP, or
\%\f3GL_LUMINANCE_ALPHA\fP.
.TP
\f2types\fP
The type of the data to be returned in \f2values\fP.
Symbolic constants
\%\f3GL_UNSIGNED_BYTE\fP,
\%\f3GL_BYTE\fP,
\%\f3GL_BITMAP\fP,
\%\f3GL_UNSIGNED_SHORT\fP,
\%\f3GL_SHORT\fP,
\%\f3GL_UNSIGNED_INT\fP,
\%\f3GL_INT\fP,
\%\f3GL_FLOAT\fP,
\%\f3GL_UNSIGNED_BYTE_3_3_2\fP,
\%\f3GL_UNSIGNED_BYTE_2_3_3_REV\fP,
\%\f3GL_UNSIGNED_SHORT_5_6_5\fP,
\%\f3GL_UNSIGNED_SHORT_5_6_5_REV\fP,
\%\f3GL_UNSIGNED_SHORT_4_4_4_4\fP,
\%\f3GL_UNSIGNED_SHORT_4_4_4_4_REV\fP,
\%\f3GL_UNSIGNED_SHORT_5_5_5_1\fP,
\%\f3GL_UNSIGNED_SHORT_1_5_5_5_REV\fP,
\%\f3GL_UNSIGNED_INT_8_8_8_8\fP,
\%\f3GL_UNSIGNED_INT_8_8_8_8_REV\fP,
\%\f3GL_UNSIGNED_INT_10_10_10_2\fP, and
\%\f3GL_UNSIGNED_INT_2_10_10_10_REV\fP
are accepted.
.TP
\f2values\fP
A pointer to storage for the returned values.
.SH DESCRIPTION
\%\f3glGetMinmax\fP returns the accumulated minimum and maximum pixel values (computed on a
per-component basis) in a one-dimensional image of width 2. The first set
of return values are the minima, and the second set of return values
are the maxima.
The of the return values is determined by \f2format\fP, and their type is
determined by \f2types\fP.
.PP
No pixel transfer operations are performed on the return values, but pixel
storage modes that are applicable to 1-dimensional images are performed.
Color components that are requested in the specified \f2format\fP, but that
are not included in the internal of the minmax table, are
returned as zero. The assignment of internal color components to the
components requested by \f2format\fP are as follows:
.sp
.TS
center;
lb lb
l l.
_
Internal Component Resulting Component
_
Red Red
Green Green
Blue Blue
Alpha Alpha
Luminance Red
_
.TE
.PP
If \f2reset\fP is \%\f3GL_TRUE\fP, the minmax table entries corresponding
to the return values are reset to their initial
values. Minimum and maximum values that are not returned are not
modified, even if \f2reset\fP is \%\f3GL_TRUE\fP.
.SH NOTES
\%\f3glGetMinmax\fP is present only if \%\f3GL_ARB_imaging\fP is returned when \%\f3glGetString\fP
is called with an argument of \%\f3GL_EXTENSIONS\fP.
.SH ERRORS
\%\f3GL_INVALID_ENUM\fP is generated if \f2target\fP is not \%\f3GL_MINMAX\fP.
.P
\%\f3GL_INVALID_ENUM\fP is generated if \f2format\fP is not one of the allowable
values.
.P
\%\f3GL_INVALID_ENUM\fP is generated if \f2types\fP is not one of the allowable
values.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glGetMinmax\fP is executed
between the execution of \%\f3glBegin\fP and the corresponding
execution of \%\f3glEnd\fP.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \f2types\fP is one of
\%\f3GL_UNSIGNED_BYTE_3_3_2\fP,
\%\f3GL_UNSIGNED_BYTE_2_3_3_REV\fP,
\%\f3GL_UNSIGNED_SHORT_5_6_5\fP, or
\%\f3GL_UNSIGNED_SHORT_5_6_5_REV\fP
and \f2format\fP is not \%\f3GL_RGB\fP.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \f2types\fP is one of
\%\f3GL_UNSIGNED_SHORT_4_4_4_4\fP,
\%\f3GL_UNSIGNED_SHORT_4_4_4_4_REV\fP,
\%\f3GL_UNSIGNED_SHORT_5_5_5_1\fP,
\%\f3GL_UNSIGNED_SHORT_1_5_5_5_REV\fP,
\%\f3GL_UNSIGNED_INT_8_8_8_8\fP,
\%\f3GL_UNSIGNED_INT_8_8_8_8_REV\fP,
\%\f3GL_UNSIGNED_INT_10_10_10_2\fP, or
\%\f3GL_UNSIGNED_INT_2_10_10_10_REV\fP
and \f2format\fP is neither \%\f3GL_RGBA\fP nor \%\f3GL_BGRA\fP.
.SH SEE ALSO
\%\f3glMinmax(3G)\fP,
\%\f3glResetMinmax(3G)\fP,
\%\f3glGetMinmaxParameter(3G)\fP

View file

@ -1,76 +0,0 @@
'\" t
'\"! tbl | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 getminmax
.ds Xs 8418 4 getminmaxparameter.gl
.TH GLGETMINMAXPARAMETER 3G
.SH NAME
.B "glGetMinmaxParameterfv, glGetMinmaxParameteriv
\- get minmax parameters
.SH C SPECIFICATION
void \f3glGetMinmaxParameterfv\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglGetMinmaxParameterfv( 'u
GLenum \fIpname\fP,
GLfloat \fI*params\fP )
.fi
void \f3glGetMinmaxParameteriv\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglGetMinmaxParameteriv( 'u
GLenum \fIpname\fP,
GLint \fI*params\fP )
.fi
.SH PARAMETERS
.TP \w'\f2target\fP\ \ 'u
\f2target\fP
Must be
\%\f3GL_MINMAX\fP.
.TP
\f2pname\fP
The parameter to be retrieved.
Must be one of
\%\f3GL_MINMAX_FORMAT\fP or
\%\f3GL_MINMAX_SINK\fP.
.TP
\f2params\fP
A pointer to storage for the retrieved parameters.
.SH DESCRIPTION
\%\f3glGetMinmaxParameter\fP retrieves parameters for the current minmax table by setting
\f2pname\fP to one of the following values:
.sp
.TS
center;
lb lb
l l.
_
Parameter Description
_
\%\f3GL_MINMAX_FORMAT\fP Internal of minmax table
\%\f3GL_MINMAX_SINK\fP Value of the \f2sink\fP parameter
_
.TE
.SH NOTES
\%\f3glGetMinmaxParameter\fP is present only if \%\f3GL_ARB_imaging\fP is returned when \%\f3glGetString\fP
is called with an argument of \%\f3GL_EXTENSIONS\fP.
.SH ERRORS
\%\f3GL_INVALID_ENUM\fP is generated if \f2target\fP is not \%\f3GL_MINMAX\fP.
.P
\%\f3GL_INVALID_ENUM\fP is generated if \f2pname\fP is not one of the allowable
values.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glGetMinmaxParameter\fP is executed
between the execution of \%\f3glBegin\fP and the corresponding
execution of \%\f3glEnd\fP.
.SH SEE ALSO
\%\f3glMinmax(3G)\fP,
\%\f3glGetMinmax(3G)\fP

View file

@ -1,156 +0,0 @@
'\" te
'\"! tbl|eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 getpixelm
.ds Xs 23505 6 getpixelmap.gl
.TH GLGETPIXELMAP 3G
.SH NAME
.B "glGetPixelMapfv, glGetPixelMapuiv, glGetPixelMapusv
\- return the specified pixel map
.SH C SPECIFICATION
void \f3glGetPixelMapfv\fP(
GLenum \fImap\fP,
.nf
.ta \w'\f3void \fPglGetPixelMapfv( 'u
GLfloat \fI*values\fP )
.fi
void \f3glGetPixelMapuiv\fP(
GLenum \fImap\fP,
.nf
.ta \w'\f3void \fPglGetPixelMapuiv( 'u
GLuint \fI*values\fP )
.fi
void \f3glGetPixelMapusv\fP(
GLenum \fImap\fP,
.nf
.ta \w'\f3void \fPglGetPixelMapusv( 'u
GLushort \fI*values\fP )
.fi
.SH PARAMETERS
.TP \w'\fIvalues\fP\ \ 'u
\f2map\fP
Specifies the name of the pixel map to return.
Accepted values are
\%\f3GL_PIXEL_MAP_I_TO_I\fP,
\%\f3GL_PIXEL_MAP_S_TO_S\fP,
\%\f3GL_PIXEL_MAP_I_TO_R\fP,
\%\f3GL_PIXEL_MAP_I_TO_G\fP,
\%\f3GL_PIXEL_MAP_I_TO_B\fP,
\%\f3GL_PIXEL_MAP_I_TO_A\fP,
\%\f3GL_PIXEL_MAP_R_TO_R\fP,
\%\f3GL_PIXEL_MAP_G_TO_G\fP,
\%\f3GL_PIXEL_MAP_B_TO_B\fP, and
\%\f3GL_PIXEL_MAP_A_TO_A\fP.
.TP
\f2values\fP
Returns the pixel map contents.
.SH DESCRIPTION
See the \%\f3glPixelMap\fP reference page for a description of the acceptable
values for the \f2map\fP parameter.
\%\f3glGetPixelMap\fP returns in \f2values\fP the contents of the pixel map
specified in \f2map\fP.
Pixel maps are used during the execution of
\%\f3glReadPixels\fP,
\%\f3glDrawPixels\fP,
\%\f3glCopyPixels\fP,
\%\f3glTexImage1D\fP,
\%\f3glTexImage2D\fP,
\%\f3glTexImage3D\fP,
\%\f3glTexSubImage1D\fP,
\%\f3glTexSubImage2D\fP,
\%\f3glTexSubImage3D\fP,
\%\f3glCopyTexImage1D\fP,
\%\f3glCopyTexImage2D\fP,
\%\f3glCopyTexSubImage1D\fP,
\%\f3glCopyTexSubImage2D\fP,
\%\f3glCopyTexSubImage3D\fP,
\%\f3glColorTable\fP,
\%\f3glColorSubTable\fP,
\%\f3glCopyColorTable\fP,
\%\f3glCopyColorSubTable\fP,
\%\f3glConvolutionFilter1D\fP,
\%\f3glConvolutionFilter2D\fP,
\%\f3glSeparableFilter2D\fP,
\%\f3glGetHistogram\fP,
\%\f3glGetMinmax\fP, and
\%\f3glGetTexImage\fP
to map color indices,
stencil indices,
color components,
and depth components to other values.
.P
Unsigned integer values,
if requested,
are linearly mapped from the internal fixed or floating-point representation
such that 1.0 maps to the largest representable integer value,
and 0.0 maps to 0.
Return unsigned integer values are undefined if the map value was
not in the range [0,1].
.P
To determine the required size of \f2map\fP,
call \%\f3glGet\fP with the appropriate symbolic constant.
.SH NOTES
If an error is generated,
no change is made to the contents of \f2values\fP.
.SH ERRORS
\%\f3GL_INVALID_ENUM\fP is generated if \f2map\fP is not an accepted value.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glGetPixelMap\fP
is executed between the execution of \%\f3glBegin\fP
and the corresponding execution of \%\f3glEnd\fP.
.SH ASSOCIATED GETS
.na
\%\f3glGet\fP with argument \%\f3GL_PIXEL_MAP_I_TO_I_SIZE\fP
.br
\%\f3glGet\fP with argument \%\f3GL_PIXEL_MAP_S_TO_S_SIZE\fP
.br
\%\f3glGet\fP with argument \%\f3GL_PIXEL_MAP_I_TO_R_SIZE\fP
.br
\%\f3glGet\fP with argument \%\f3GL_PIXEL_MAP_I_TO_G_SIZE\fP
.br
\%\f3glGet\fP with argument \%\f3GL_PIXEL_MAP_I_TO_B_SIZE\fP
.br
\%\f3glGet\fP with argument \%\f3GL_PIXEL_MAP_I_TO_A_SIZE\fP
.br
\%\f3glGet\fP with argument \%\f3GL_PIXEL_MAP_R_TO_R_SIZE\fP
.br
\%\f3glGet\fP with argument \%\f3GL_PIXEL_MAP_G_TO_G_SIZE\fP
.br
\%\f3glGet\fP with argument \%\f3GL_PIXEL_MAP_B_TO_B_SIZE\fP
.br
\%\f3glGet\fP with argument \%\f3GL_PIXEL_MAP_A_TO_A_SIZE\fP
.br
\%\f3glGet\fP with argument \%\f3GL_MAX_PIXEL_MAP_TABLE\fP
.SH SEE ALSO
\%\f3glColorSubTable(3G)\fP,
\%\f3glColorTable(3G)\fP,
\%\f3glConvolutionFilter1D(3G)\fP,
\%\f3glConvolutionFilter2D(3G)\fP,
\%\f3glCopyColorSubTable(3G)\fP,
\%\f3glCopyColorTable(3G)\fP,
\%\f3glCopyPixels(3G)\fP,
\%\f3glCopyTexImage1D(3G)\fP,
\%\f3glCopyTexImage2D(3G)\fP,
\%\f3glCopyTexSubImage1D(3G)\fP,
\%\f3glCopyTexSubImage2D(3G)\fP,
\%\f3glCopyTexSubImage3D(3G)\fP,
\%\f3glDrawPixels(3G)\fP,
\%\f3glGetHistogram(3G)\fP,
\%\f3glGetMinmax(3G)\fP,
\%\f3glGetTexImage(3G)\fP,
\%\f3glPixelMap(3G)\fP,
\%\f3glPixelTransfer(3G)\fP,
\%\f3glReadPixels(3G)\fP,
\%\f3glSeparableFilter2D(3G)\fP,
\%\f3glTexImage1D(3G)\fP,
\%\f3glTexImage2D(3G)\fP
\%\f3glTexImage3D(3G)\fP,
\%\f3glTexSubImage1D(3G)\fP,
\%\f3glTexSubImage2D(3G)\fP,
\%\f3glTexSubImage3D(3G)\fP

View file

@ -1,72 +0,0 @@
'\" te
'\"! tbl|eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 getpointe
.ds Xs 38346 4 getpointerv.gl
.TH GLGETPOINTERV 3G
.SH NAME
.B "glGetPointerv
\- return the address of the specified pointer
.SH C SPECIFICATION
void \f3glGetPointerv\fP(
GLenum \fIpname\fP,
.nf
.ta \w'\f3void \fPglGetPointerv( 'u
void \fI**params\fP )
.fi
.EQ
delim $$
.EN
.SH PARAMETERS
.TP \w'\fIparams\fP\ \ 'u
\f2pname\fP
Specifies the array or buffer pointer to be returned.
Symbolic constants
\%\f3GL_COLOR_ARRAY_POINTER\fP,
\%\f3GL_EDGE_FLAG_ARRAY_POINTER\fP,
\%\f3GL_FEEDBACK_BUFFER_POINTER\fP,
\%\f3GL_INDEX_ARRAY_POINTER\fP,
\%\f3GL_NORMAL_ARRAY_POINTER\fP,
\%\f3GL_TEXTURE_COORD_ARRAY_POINTER\fP,
\%\f3GL_SELECTION_BUFFER_POINTER\fP,
and
\%\f3GL_VERTEX_ARRAY_POINTER\fP
are accepted.
.TP
\f2params\fP
Returns the pointer value specified by \f2pname\fP.
.SH DESCRIPTION
\%\f3glGetPointerv\fP returns pointer information. \f2pname\fP
is a symbolic constant indicating the pointer to be returned, and
\f2params\fP is a pointer to a location in which to place the returned data.
.SH NOTES
\%\f3glGetPointerv\fP is available only if the GL version is 1.1 or greater.
.P
The pointers are all client-side state.
.P
The initial value for each pointer is 0.
.P
When the \%\f3GL_ARB_multitexture\fP extension is supported, querying the
\%\f3GL_TEXTURE_COORD_ARRAY_POINTER\fP returns the value for the active
client texture unit.
.SH ERRORS
\%\f3GL_INVALID_ENUM\fP is generated if \f2pname\fP is not an accepted value.
.SH SEE ALSO
\%\f3glArrayElement(3G)\fP,
\%\f3glClientActiveTextureARB(3G)\fP,
\%\f3glColorPointer(3G)\fP,
\%\f3glDrawArrays(3G)\fP,
\%\f3glEdgeFlagPointer(3G)\fP,
\%\f3glFeedbackBuffer(3G)\fP,
\%\f3glIndexPointer(3G)\fP,
\%\f3glInterleavedArrays(3G)\fP,
\%\f3glNormalPointer(3G)\fP,
\%\f3glSelectBuffer(3G)\fP,
\%\f3glTexCoordPointer(3G)\fP,
\%\f3glVertexPointer(3G)\fP

View file

@ -1,52 +0,0 @@
'\" e
'\"! eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 getpolygo
.ds Xs 49553 4 getpolygonstipple.gl
.TH GLGETPOLYGONSTIPPLE 3G
.SH NAME
.B "glGetPolygonStipple
\- return the polygon stipple pattern
.SH C SPECIFICATION
void \f3glGetPolygonStipple\fP(
GLubyte \fI*mask\fP )
.nf
.fi
.EQ
delim $$
.EN
.SH PARAMETERS
.TP \w'\f2mask\fP\ \ 'u
\f2mask\fP
Returns the stipple pattern. The initial value is all 1's.
.SH DESCRIPTION
\%\f3glGetPolygonStipple\fP returns to \f2mask\fP a $32 ~times~ 32$ polygon stipple pattern.
The pattern is packed into memory as if \%\f3glReadPixels\fP
with both \f2height\fP and \f2width\fP of 32,
\f2type\fP of \%\f3GL_BITMAP\fP,
and \f2format\fP of \%\f3GL_COLOR_INDEX\fP were called,
and the stipple pattern were stored in an internal $32 ~times~ 32$ color
index buffer.
Unlike \%\f3glReadPixels\fP,
however,
pixel transfer operations
(shift, offset, pixel map)
are not applied to the returned stipple image.
.SH NOTES
If an error is generated,
no change is made to the contents of \f2mask\fP.
.SH ERRORS
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glGetPolygonStipple\fP
is executed between the execution of \%\f3glBegin\fP
and the corresponding execution of \%\f3glEnd\fP.
.SH SEE ALSO
\%\f3glPixelStore(3G)\fP,
\%\f3glPixelTransfer(3G)\fP,
\%\f3glPolygonStipple(3G)\fP,
\%\f3glReadPixels(3G)\fP

View file

@ -1,152 +0,0 @@
'\" t
'\"! tbl | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 getsepara
.ds Xs 5701 6 getseparablefilter.gl
.TH GLGETSEPARABLEFILTER 3G
.SH NAME
.B "glGetSeparableFilter
\- get separable convolution filter kernel images
.SH C SPECIFICATION
void \f3glGetSeparableFilter\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglGetSeparableFilter( 'u
GLenum \fIformat\fP,
GLenum \fItype\fP,
GLvoid \fI*row\fP,
GLvoid \fI*column\fP,
GLvoid \fI*span\fP )
.fi
.SH PARAMETERS
.TP \w'\f2target\fP\ \ 'u
\f2target\fP
The separable filter to be retrieved.
Must be
\%\f3GL_SEPARABLE_2D\fP.
.TP
\f2format\fP
Format of the output images.
Must be one of
\%\f3GL_RED\fP,
\%\f3GL_GREEN\fP,
\%\f3GL_BLUE\fP,
\%\f3GL_ALPHA\fP,
\%\f3GL_RGB\fP,
\%\f3GL_BGR\fP
\%\f3GL_RGBA\fP,
\%\f3GL_BGRA\fP,
\%\f3GL_LUMINANCE\fP, or
\%\f3GL_LUMINANCE_ALPHA\fP.
.TP
\f2type\fP
Data type of components in the output images.
Symbolic constants
\%\f3GL_UNSIGNED_BYTE\fP,
\%\f3GL_BYTE\fP,
\%\f3GL_BITMAP\fP,
\%\f3GL_UNSIGNED_SHORT\fP,
\%\f3GL_SHORT\fP,
\%\f3GL_UNSIGNED_INT\fP,
\%\f3GL_INT\fP,
\%\f3GL_FLOAT\fP,
\%\f3GL_UNSIGNED_BYTE_3_3_2\fP,
\%\f3GL_UNSIGNED_BYTE_2_3_3_REV\fP,
\%\f3GL_UNSIGNED_SHORT_5_6_5\fP,
\%\f3GL_UNSIGNED_SHORT_5_6_5_REV\fP,
\%\f3GL_UNSIGNED_SHORT_4_4_4_4\fP,
\%\f3GL_UNSIGNED_SHORT_4_4_4_4_REV\fP,
\%\f3GL_UNSIGNED_SHORT_5_5_5_1\fP,
\%\f3GL_UNSIGNED_SHORT_1_5_5_5_REV\fP,
\%\f3GL_UNSIGNED_INT_8_8_8_8\fP,
\%\f3GL_UNSIGNED_INT_8_8_8_8_REV\fP,
\%\f3GL_UNSIGNED_INT_10_10_10_2\fP, and
\%\f3GL_UNSIGNED_INT_2_10_10_10_REV\fP
are accepted.
.TP
\f2row\fP
Pointer to storage for the row filter image.
.TP
\f2column\fP
Pointer to storage for the column filter image.
.TP
\f2span\fP
Pointer to storage for the span filter image (currently unused).
.SH DESCRIPTION
\%\f3glGetSeparableFilter\fP returns the two one-dimensional filter kernel images for the
current separable 2D convolution filter.
The row image is placed in \f2row\fP and the column image is placed in
\f2column\fP according to the specifications in \f2format\fP and \f2type\fP.
(In the current implementation, \f2span\fP is not affected in any way.)
No pixel transfer operations are performed on the images, but the relevant
pixel storage modes are applied.
.sp
Color components that are present in \f2format\fP but not included in the
internal of the filters are returned as zero.
The assignments of internal color components to the components of \f2format\fP
are as follows:
.sp
.TS
center;
cb cb
l l.
_
Internal Component Resulting Component
_
Red Red
Green Green
Blue Blue
Alpha Alpha
Luminance Red
Intensity Red
_
.TE
.SH NOTES
\%\f3glGetSeparableFilter\fP is present only if \%\f3GL_ARB_imaging\fP is returned when \%\f3glGetString\fP
is called with an argument of \%\f3GL_EXTENSIONS\fP.
.P
Non-separable 2D filters must be retrieved with \%\f3glGetConvolutionFilter\fP.
.SH ERRORS
\%\f3GL_INVALID_ENUM\fP is generated if \f2target\fP is not \%\f3GL_SEPARABLE_2D\fP.
.P
\%\f3GL_INVALID_ENUM\fP is generated if \f2format\fP is not one of the allowable
values.
.P
\%\f3GL_INVALID_ENUM\fP is generated if \f2type\fP is not one of the allowable
values.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glGetSeparableFilter\fP is executed
between the execution of \%\f3glBegin\fP and the corresponding
execution of \%\f3glEnd\fP.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \f2type\fP is one of
\%\f3GL_UNSIGNED_BYTE_3_3_2\fP,
\%\f3GL_UNSIGNED_BYTE_2_3_3_REV\fP,
\%\f3GL_UNSIGNED_SHORT_5_6_5\fP, or
\%\f3GL_UNSIGNED_SHORT_5_6_5_REV\fP
and \f2format\fP is not \%\f3GL_RGB\fP.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \f2type\fP is one of
\%\f3GL_UNSIGNED_SHORT_4_4_4_4\fP,
\%\f3GL_UNSIGNED_SHORT_4_4_4_4_REV\fP,
\%\f3GL_UNSIGNED_SHORT_5_5_5_1\fP,
\%\f3GL_UNSIGNED_SHORT_1_5_5_5_REV\fP,
\%\f3GL_UNSIGNED_INT_8_8_8_8\fP,
\%\f3GL_UNSIGNED_INT_8_8_8_8_REV\fP,
\%\f3GL_UNSIGNED_INT_10_10_10_2\fP, or
\%\f3GL_UNSIGNED_INT_2_10_10_10_REV\fP
and \f2format\fP is neither \%\f3GL_RGBA\fP nor \%\f3GL_BGRA\fP.
.SH ASSOCIATED GETS
\%\f3glGetConvolutionParameter\fP
.SH SEE ALSO
\%\f3glGetConvolutionFilter(3G)\fP,
\%\f3glConvolutionParameter(3G)\fP,
\%\f3glSeparableFilter2D(3G)\fP

View file

@ -1,84 +0,0 @@
'\" e
'\"! eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 getstring
.ds Xs 56397 5 getstring.gl
.TH GLGETSTRING 3G
.SH NAME
.B "glGetString
\- return a string describing the current GL connection
.SH C SPECIFICATION
const GLubyte* \f3glGetString\fP(
GLenum \fIname\fP )
.SH PARAMETERS
.TP \w'\fIname\fP\ \ 'u
\f2name\fP
Specifies a symbolic constant, one of
\%\f3GL_VENDOR\fP, \%\f3GL_RENDERER\fP, \%\f3GL_VERSION\fP, or \%\f3GL_EXTENSIONS\fP.
.SH DESCRIPTION
\%\f3glGetString\fP returns a pointer to a static string
describing some aspect of the current GL connection.
\f2name\fP can be one of the following:
.TP 20
\%\f3GL_VENDOR\fP
Returns the company responsible for this GL implementation.
This name does not change from release to release.
.TP
\%\f3GL_RENDERER\fP
Returns the name of the renderer.
This name is typically specific to a particular configuration of a hardware
platform.
It does not change from release to release.
.TP
\%\f3GL_VERSION\fP
Returns a version or release number.
.TP
\%\f3GL_EXTENSIONS\fP
Returns a space-separated list of supported extensions to GL.
.P
Because the GL does not include queries for the performance
characteristics of an implementation, some applications are written to
recognize known platforms and modify their GL usage based on known
performance characteristics of these platforms.
Strings \%\f3GL_VENDOR\fP and \%\f3GL_RENDERER\fP together uniquely specify
a platform. They do not change from release to release and should be used
by platform-recognition algorithms.
.P
Some applications want to make use of features that
are not part of the standard GL. These features
may be implemented as extensions to the standard GL.
The \%\f3GL_EXTENSIONS\fP string is a space-separated
list of supported GL extensions.
(Extension names never contain a space character.)
.P
The \%\f3GL_VERSION\fP string begins with a version number.
The version number uses one
of these forms:
.P
\f2major_number.minor_number\fP
.br
\f2major_number.minor_number.release_number\fP
.P
Vendor-specific information may follow the version
number. Its depends on the implementation, but
a space always separates the version number and
the vendor-specific information.
.P
All strings are null-terminated.
.SH NOTES
If an error is generated, \%\f3glGetString\fP returns 0.
.P
The client and server may support different versions or extensions.
\%\f3glGetString\fP always returns a compatible version number or list of extensions.
The release number always describes the server.
.SH ERRORS
\%\f3GL_INVALID_ENUM\fP is generated if \f2name\fP is not an accepted value.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glGetString\fP
is executed between the execution of \%\f3glBegin\fP
and the corresponding execution of \%\f3glEnd\fP.

View file

@ -1,80 +0,0 @@
'\" e
'\"! eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 gettexenv
.ds Xs 32087 4 gettexenv.gl
.TH GLGETTEXENV 3G
.SH NAME
.B "glGetTexEnvfv, glGetTexEnviv
\- return texture environment parameters
.SH C SPECIFICATION
void \f3glGetTexEnvfv\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglGetTexEnvfv( 'u
GLenum \fIpname\fP,
GLfloat \fI*params\fP )
.fi
void \f3glGetTexEnviv\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglGetTexEnviv( 'u
GLenum \fIpname\fP,
GLint \fI*params\fP )
.fi
.SH PARAMETERS
.TP \w'\f2target\fP\ \ 'u
\f2target\fP
Specifies a texture environment.
Must be \%\f3GL_TEXTURE_ENV\fP.
.TP
\f2pname\fP
Specifies the symbolic name of a texture environment parameter.
Accepted values are \%\f3GL_TEXTURE_ENV_MODE\fP and \%\f3GL_TEXTURE_ENV_COLOR\fP.
.TP
\f2params\fP
Returns the requested data.
.SH DESCRIPTION
\%\f3glGetTexEnv\fP returns in \f2params\fP selected values of a texture environment that
was specified with \%\f3glTexEnv\fP.
\f2target\fP specifies a texture environment.
Currently, only one texture environment is defined and supported:
\%\f3GL_TEXTURE_ENV\fP.
.P
\f2pname\fP names a specific texture environment parameter, as follows:
.TP 10
\%\f3GL_TEXTURE_ENV_MODE\fP
\f2params\fP returns the single-valued texture environment mode,
a symbolic constant. The initial value is \%\f3GL_MODULATE\fP.
.TP
\%\f3GL_TEXTURE_ENV_COLOR\fP
\f2params\fP returns four integer or floating-point values that are the
texture environment color.
Integer values,
when requested,
are linearly mapped from the internal floating-point representation
such that 1.0 maps to the most positive representable integer,
and \-1.0 maps to the most negative representable integer. The initial
value is (0, 0, 0, 0).
.SH NOTES
If an error is generated,
no change is made to the contents of \f2params\fP.
.P
When the \%\f3GL_ARB_multitexture\fP extension is supported, \%\f3glGetTexEnv\fP returns
the texture environment parameters for the active texture unit.
.SH ERRORS
\%\f3GL_INVALID_ENUM\fP is generated if \f2target\fP or \f2pname\fP is not an
accepted value.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glGetTexEnv\fP
is executed between the execution of \%\f3glBegin\fP
and the corresponding execution of \%\f3glEnd\fP.
.SH SEE ALSO
\%\f3glActiveTextureARB(3G)\fP,
\%\f3glTexEnv(3G)\fP

View file

@ -1,107 +0,0 @@
'\" e
'\"! eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 gettexgen
.ds Xs 2655 5 gettexgen.gl
.TH GLGETTEXGEN 3G
.SH NAME
.B "glGetTexGendv, glGetTexGenfv, glGetTexGeniv
\- return texture coordinate generation parameters
.SH C SPECIFICATION
void \f3glGetTexGendv\fP(
GLenum \fIcoord\fP,
.nf
.ta \w'\f3void \fPglGetTexGendv( 'u
GLenum \fIpname\fP,
GLdouble \fI*params\fP )
.fi
void \f3glGetTexGenfv\fP(
GLenum \fIcoord\fP,
.nf
.ta \w'\f3void \fPglGetTexGenfv( 'u
GLenum \fIpname\fP,
GLfloat \fI*params\fP )
.fi
void \f3glGetTexGeniv\fP(
GLenum \fIcoord\fP,
.nf
.ta \w'\f3void \fPglGetTexGeniv( 'u
GLenum \fIpname\fP,
GLint \fI*params\fP )
.fi
.EQ
delim $$
.EN
.SH PARAMETERS
.TP \w'\fIparams\fP\ \ 'u
\f2coord\fP
Specifies a texture coordinate.
Must be
\%\f3GL_S\fP,
\%\f3GL_T\fP,
\%\f3GL_R\fP, or
\%\f3GL_Q\fP.
.TP
\f2pname\fP
Specifies the symbolic name of the value(s) to be returned.
Must be either \%\f3GL_TEXTURE_GEN_MODE\fP
or the name of one of the texture generation plane equations:
\%\f3GL_OBJECT_PLANE\fP or \%\f3GL_EYE_PLANE\fP.
.TP
\f2params\fP
Returns the requested data.
.SH DESCRIPTION
\%\f3glGetTexGen\fP returns in \f2params\fP selected parameters of a texture coordinate
generation function that was specified using \%\f3glTexGen\fP.
\f2coord\fP names one of the (\f2s\fP, \f2t\fP, \f2r\fP, \f2q\fP)
texture coordinates,
using the symbolic constant
\%\f3GL_S\fP,
\%\f3GL_T\fP,
\%\f3GL_R\fP, or
\%\f3GL_Q\fP.
.P
\f2pname\fP specifies one of three symbolic names:
.TP 28
\%\f3GL_TEXTURE_GEN_MODE\fP
\f2params\fP returns the single-valued texture generation function,
a symbolic constant. The initial value is \%\f3GL_EYE_LINEAR\fP.
.TP
\%\f3GL_OBJECT_PLANE\fP
\f2params\fP returns the four plane equation coefficients that specify
object linear-coordinate generation.
Integer values, when requested,
are mapped directly from the internal floating-point representation.
.BP
.TP
\%\f3GL_EYE_PLANE\fP
\f2params\fP returns the four plane equation coefficients that specify
eye linear-coordinate generation.
Integer values,
when requested,
are mapped directly from the internal floating-point representation.
The returned values are those maintained in eye coordinates.
They are not equal to the values specified using \%\f3glTexGen\fP,
unless the modelview matrix was identity when \%\f3glTexGen\fP was called.
.SH NOTES
If an error is generated,
no change is made to the contents of \f2params\fP.
.P
When the \%\f3GL_ARB_multitexture\fP extension is supported, \%\f3glGetTexGen\fP returns
the texture coordinate generation parameters for the active texture unit.
.SH ERRORS
\%\f3GL_INVALID_ENUM\fP is generated if \f2coord\fP or \f2pname\fP is not an
accepted value.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glGetTexGen\fP
is executed between the execution of \%\f3glBegin\fP
and the corresponding execution of \%\f3glEnd\fP.
.SH SEE ALSO
\%\f3glActiveTextureARB(3G)\fP,
\%\f3glTexGen(3G)\fP

View file

@ -1,209 +0,0 @@
'\" e
'\"! eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 gettexima
.ds Xs 2939 8 getteximage.gl
.TH GLGETTEXIMAGE 3G
.SH NAME
.B "glGetTexImage
\- return a texture image
.SH C SPECIFICATION
void \f3glGetTexImage\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglGetTexImage( 'u
GLint \fIlevel\fP,
GLenum \fIformat\fP,
GLenum \fItype\fP,
GLvoid \fI*pixels\fP )
.fi
.EQ
delim $$
.EN
.SH PARAMETERS
.TP \w'\f2target\fP\ \ 'u
\f2target\fP
Specifies which texture is to be obtained.
\%\f3GL_TEXTURE_1D\fP, \%\f3GL_TEXTURE_2D\fP, and \%\f3GL_TEXTURE_3D\fP are accepted.
.TP
\f2level\fP
Specifies the level-of-detail number of the desired image.
Level 0 is the base image level.
Level $n$ is the $n$th mipmap reduction image.
.TP
\f2format\fP
Specifies a pixel for the returned data.
The supported formats are
\%\f3GL_RED\fP,
\%\f3GL_GREEN\fP,
\%\f3GL_BLUE\fP,
\%\f3GL_ALPHA\fP,
\%\f3GL_RGB\fP,
\%\f3GL_BGR\fP,
\%\f3GL_RGBA\fP,
\%\f3GL_BGRA\fP,
\%\f3GL_LUMINANCE\fP, and
\%\f3GL_LUMINANCE_ALPHA\fP.
.TP
\f2type\fP
Specifies a pixel type for the returned data.
The supported types are
\%\f3GL_UNSIGNED_BYTE\fP,
\%\f3GL_BYTE\fP,
\%\f3GL_UNSIGNED_SHORT\fP,
\%\f3GL_SHORT\fP,
\%\f3GL_UNSIGNED_INT\fP,
\%\f3GL_INT\fP,
\%\f3GL_FLOAT\fP,
\%\f3GL_UNSIGNED_BYTE_3_3_2\fP,
\%\f3GL_UNSIGNED_BYTE_2_3_3_REV\fP,
\%\f3GL_UNSIGNED_SHORT_5_6_5\fP,
\%\f3GL_UNSIGNED_SHORT_5_6_5_REV\fP,
\%\f3GL_UNSIGNED_SHORT_4_4_4_4\fP,
\%\f3GL_UNSIGNED_SHORT_4_4_4_4_REV\fP,
\%\f3GL_UNSIGNED_SHORT_5_5_5_1\fP,
\%\f3GL_UNSIGNED_SHORT_1_5_5_5_REV\fP,
\%\f3GL_UNSIGNED_INT_8_8_8_8\fP,
\%\f3GL_UNSIGNED_INT_8_8_8_8_REV\fP,
\%\f3GL_UNSIGNED_INT_10_10_10_2\fP, and
\%\f3GL_UNSIGNED_INT_2_10_10_10_REV\fP.
.TP
\f2pixels\fP
Returns the texture image.
Should be a pointer to an array of the type specified by \f2type\fP.
.SH DESCRIPTION
\%\f3glGetTexImage\fP returns a texture image into \f2pixels\fP.
\f2target\fP specifies whether the desired texture image is one specified by
\%\f3glTexImage1D\fP (\%\f3GL_TEXTURE_1D\fP),
\%\f3glTexImage2D\fP (\%\f3GL_TEXTURE_2D\fP), or
\%\f3glTexImage3D\fP (\%\f3GL_TEXTURE_3D\fP).
\f2level\fP specifies the level-of-detail number of the desired image.
\f2format\fP and \f2type\fP specify the and type of the desired image array.
See the reference pages \%\f3glTexImage1D\fP and \%\f3glDrawPixels\fP
for a description of the acceptable values for the \f2format\fP and \f2type\fP
parameters, respectively.
.P
To understand the operation of \%\f3glGetTexImage\fP, consider the selected internal
four-component texture image to be an RGBA color buffer the size of the image.
The semantics of \%\f3glGetTexImage\fP are then identical to those of \%\f3glReadPixels\fP,
with the exception that no pixel transfer operations are performed,
when called with the same \f2format\fP and \f2type\fP,
with \f2x\fP and \f2y\fP set to 0,
\f2width\fP set to the width of the texture image
(including border if one was specified),
and \f2height\fP set to 1 for 1D images,
or to the height of the texture image
(including border if one was specified)
for 2D images.
.BP
Because the internal texture image is an RGBA image,
pixel formats \%\f3GL_COLOR_INDEX\fP,
\%\f3GL_STENCIL_INDEX\fP,
and \%\f3GL_DEPTH_COMPONENT\fP are not accepted,
and pixel type \%\f3GL_BITMAP\fP is not accepted.
.P
If the selected texture image does not contain four components,
the following mappings are applied.
Single-component textures are treated as RGBA buffers with red set
to the single-component value,
green set to 0, blue set to 0, and alpha set to 1.
Two-component textures are treated as RGBA buffers with red set to
the value of component zero,
alpha set to the value of component one,
and green and blue set to 0.
Finally,
three-component textures are treated as RGBA buffers with red set to
component zero,
green set to component one,
blue set to component two,
and alpha set to 1.
.P
To determine the required size of \f2pixels\fP,
use \%\f3glGetTexLevelParameter\fP to determine the dimensions of the
internal texture image,
then scale the required number of pixels by the storage required for
each pixel,
based on \f2format\fP and \f2type\fP.
Be sure to take the pixel storage parameters into account,
especially \%\f3GL_PACK_ALIGNMENT\fP.
.SH NOTES
If an error is generated,
no change is made to the contents of \f2pixels\fP.
.P
When the \%\f3GL_ARB_multitexture\fP extension is supported, \%\f3glGetTexImage\fP returns
the texture image for the active texture unit.
.P
The types \%\f3GL_UNSIGNED_BYTE_3_3_2\fP,
\%\f3GL_UNSIGNED_BYTE_2_3_3_REV\fP,
\%\f3GL_UNSIGNED_SHORT_5_6_5\fP,
\%\f3GL_UNSIGNED_SHORT_5_6_5_REV\fP,
\%\f3GL_UNSIGNED_SHORT_4_4_4_4\fP,
\%\f3GL_UNSIGNED_SHORT_4_4_4_4_REV\fP,
\%\f3GL_UNSIGNED_SHORT_5_5_5_1\fP,
\%\f3GL_UNSIGNED_SHORT_1_5_5_5_REV\fP,
\%\f3GL_UNSIGNED_INT_8_8_8_8\fP,
\%\f3GL_UNSIGNED_INT_8_8_8_8_REV\fP,
\%\f3GL_UNSIGNED_INT_10_10_10_2\fP,
\%\f3GL_UNSIGNED_INT_2_10_10_10_REV\fP,
and the formats
\%\f3GL_BGR\fP, and \%\f3GL_BGRA\fP are available only if the GL version is
1.2 or greater.
.SH ERRORS
\%\f3GL_INVALID_ENUM\fP is generated if \f2target\fP, \f2format\fP, or \f2type\fP is not
an accepted value.
.P
\%\f3GL_INVALID_VALUE\fP is generated if \f2level\fP is less than 0.
.P
\%\f3GL_INVALID_VALUE\fP may be generated if \f2level\fP is greater
than $log sub 2 max$,
where $max$ is the returned value of \%\f3GL_MAX_TEXTURE_SIZE\fP.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glGetTexImage\fP
is executed between the execution of \%\f3glBegin\fP
and the corresponding execution of \%\f3glEnd\fP.
.P
\%\f3GL_INVALID_OPERATION\fP is returned if \f2type\fP is one of
\%\f3GL_UNSIGNED_BYTE_3_3_2\fP,
\%\f3GL_UNSIGNED_BYTE_2_3_3_REV\fP,
\%\f3GL_UNSIGNED_SHORT_5_6_5\fP, or
\%\f3GL_UNSIGNED_SHORT_5_6_5_REV\fP and \f2format\fP is not \%\f3GL_RGB\fP.
.P
\%\f3GL_INVALID_OPERATION\fP is returned if \f2type\fP is one of
\%\f3GL_UNSIGNED_SHORT_4_4_4_4\fP,
\%\f3GL_UNSIGNED_SHORT_4_4_4_4_REV\fP,
\%\f3GL_UNSIGNED_SHORT_5_5_5_1\fP,
\%\f3GL_UNSIGNED_SHORT_1_5_5_5_REV\fP,
\%\f3GL_UNSIGNED_INT_8_8_8_8\fP,
\%\f3GL_UNSIGNED_INT_8_8_8_8_REV\fP,
\%\f3GL_UNSIGNED_INT_10_10_10_2\fP, or
\%\f3GL_UNSIGNED_INT_2_10_10_10_REV\fP, and \f2format\fP is neither \%\f3GL_RGBA\fP
or \%\f3GL_BGRA\fP.
.SH ASSOCIATED GETS
\%\f3glGetTexLevelParameter\fP with argument \%\f3GL_TEXTURE_WIDTH\fP
.br
\%\f3glGetTexLevelParameter\fP with argument \%\f3GL_TEXTURE_HEIGHT\fP
.br
\%\f3glGetTexLevelParameter\fP with argument \%\f3GL_TEXTURE_BORDER\fP
.br
\%\f3glGetTexLevelParameter\fP with argument \%\f3GL_TEXTURE_INTERNALFORMAT\fP
.br
\%\f3glGet\fP with arguments \%\f3GL_PACK_ALIGNMENT\fP and others
.SH SEE ALSO
\%\f3glActiveTextureARB(3G)\fP,
\%\f3glDrawPixels(3G)\fP,
\%\f3glReadPixels(3G)\fP,
\%\f3glTexEnv(3G)\fP,
\%\f3glTexGen(3G)\fP,
\%\f3glTexImage1D(3G)\fP,
\%\f3glTexImage2D(3G)\fP,
\%\f3glTexImage3D(3G)\fP,
\%\f3glTexSubImage1D(3G)\fP,
\%\f3glTexSubImage2D(3G)\fP,
\%\f3glTexSubImage3D(3G)\fP,
\%\f3glTexParameter(3G)\fP

View file

@ -1,182 +0,0 @@
'\" e
'\"! eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 gettexlev
.ds Xs 50913 7 gettexlevelparameter.gl
.TH GLGETTEXLEVELPARAMETER 3G
.SH NAME
.B "glGetTexLevelParameterfv, glGetTexLevelParameteriv
\- return texture parameter values for a specific level of detail
.SH C SPECIFICATION
void \f3glGetTexLevelParameterfv\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglGetTexLevelParameterfv( 'u
GLint \fIlevel\fP,
GLenum \fIpname\fP,
GLfloat \fI*params\fP )
.fi
void \f3glGetTexLevelParameteriv\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglGetTexLevelParameteriv( 'u
GLint \fIlevel\fP,
GLenum \fIpname\fP,
GLint \fI*params\fP )
.fi
.EQ
delim $$
.EN
.SH PARAMETERS
.TP \w'\f2target\fP\ \ 'u
\f2target\fP
Specifies the symbolic name of the target texture,
either \%\f3GL_TEXTURE_1D\fP, \%\f3GL_TEXTURE_2D\fP, \%\f3GL_TEXTURE_3D\fP,
\%\f3GL_PROXY_TEXTURE_1D\fP, \%\f3GL_PROXY_TEXTURE_2D\fP, or
\%\f3GL_PROXY_TEXTURE_3D\fP.
.TP
\f2level\fP
Specifies the level-of-detail number of the desired image.
Level 0 is the base image level.
Level $n$ is the $n$th mipmap reduction image.
.TP
\f2pname\fP
Specifies the symbolic name of a texture parameter.
\%\f3GL_TEXTURE_WIDTH\fP,
\%\f3GL_TEXTURE_HEIGHT\fP,
\%\f3GL_TEXTURE_DEPTH\fP,
\%\f3GL_TEXTURE_INTERNAL_FORMAT\fP,
\%\f3GL_TEXTURE_BORDER\fP,
\%\f3GL_TEXTURE_RED_SIZE\fP,
\%\f3GL_TEXTURE_GREEN_SIZE\fP,
\%\f3GL_TEXTURE_BLUE_SIZE\fP,
\%\f3GL_TEXTURE_ALPHA_SIZE\fP,
\%\f3GL_TEXTURE_LUMINANCE_SIZE\fP, and
\%\f3GL_TEXTURE_INTENSITY_SIZE\fP are accepted.
.TP
\f2params\fP
Returns the requested data.
.SH DESCRIPTION
\%\f3glGetTexLevelParameter\fP returns in \f2params\fP texture parameter values for a specific
level-of-detail value,
specified as \f2level\fP.
\f2target\fP defines the target texture,
either \%\f3GL_TEXTURE_1D\fP, \%\f3GL_TEXTURE_2D\fP, \%\f3GL_TEXTURE_3D\fP,
\%\f3GL_PROXY_TEXTURE_1D\fP,
\%\f3GL_PROXY_TEXTURE_2D\fP, or
\%\f3GL_PROXY_TEXTURE_3D\fP.
.BR
.P
\%\f3GL_MAX_TEXTURE_SIZE\fP, and \%\f3GL_MAX_3D_TEXTURE_SIZE\fP are not really
descriptive enough.
It has to report the largest square texture image that can be
accommodated with mipmaps and borders,
but a long skinny texture, or a texture without mipmaps and borders, may
easily fit in texture memory.
The proxy targets allow the user to more accurately query
whether the GL can accommodate a texture of a given configuration.
If the texture cannot be accommodated, the texture state variables, which
may be queried with \%\f3glGetTexLevelParameter\fP, are set to 0. If the texture can be accommodated,
the texture state values will be set as they would be set for a
non-proxy target.
.P
\f2pname\fP specifies the texture parameter whose value or values
will be returned.
.P
The accepted parameter names are as follows:
.TP 10
\%\f3GL_TEXTURE_WIDTH\fP
\f2params\fP returns a single value,
the width of the texture image.
This value includes the border of the texture image. The initial value is
0.
.TP
\%\f3GL_TEXTURE_HEIGHT\fP
\f2params\fP returns a single value,
the height of the texture image.
This value includes the border of the texture image. The initial value is
0.
.TP
\%\f3GL_TEXTURE_DEPTH\fP
\f2params\fP returns a single value,
the depth of the texture image.
This value includes the border of the texture image. The initial value is
0.
.TP
\%\f3GL_TEXTURE_INTERNAL_FORMAT\fP
\f2params\fP returns a single value,
the internal of the texture image.
.TP
\%\f3GL_TEXTURE_BORDER\fP
\f2params\fP returns a single value,
the width in pixels of the border of the texture image. The initial value
is 0.
.TP
\%\f3GL_TEXTURE_RED_SIZE\fP,
.TP
\%\f3GL_TEXTURE_GREEN_SIZE\fP,
.TP
\%\f3GL_TEXTURE_BLUE_SIZE\fP,
.TP
\%\f3GL_TEXTURE_ALPHA_SIZE\fP,
.TP
\%\f3GL_TEXTURE_LUMINANCE_SIZE\fP,
.TP
\%\f3GL_TEXTURE_INTENSITY_SIZE\fP
The internal storage resolution of an individual component.
The resolution chosen by the GL will be a close match for the resolution
requested by the user with the component argument of \%\f3glTexImage1D\fP,
\%\f3glTexImage2D\fP, \%\f3glTexImage3D\fP, \%\f3glCopyTexImage1D\fP, and
\%\f3glCopyTexImage2D\fP. The initial value is 0.
.SH NOTES
If an error is generated,
no change is made to the contents of \f2params\fP.
.P
\%\f3GL_TEXTURE_INTERNAL_FORMAT\fP is available only if the GL version is
1.1 or greater. In version 1.0, use \%\f3GL_TEXTURE_COMPONENTS\fP
instead.
.P
\%\f3GL_PROXY_TEXTURE_1D\fP and \%\f3GL_PROXY_TEXTURE_2D\fP are
available only if the GL version is 1.1 or greater.
.P
\%\f3GL_TEXTURE_3D\fP, \%\f3GL_PROXY_TEXTURE_3D\fP, and \%\f3GL_TEXTURE_DEPTH\fP
are available only if the GL version is 1.2 or greater.
.P
When the \%\f3GL_ARB_multitexture\fP extension is supported, \%\f3glGetTexLevelParameter\fP returns
the texture level parameters for the active texture unit.
.SH ERRORS
\%\f3GL_INVALID_ENUM\fP is generated if \f2target\fP or \f2pname\fP is not an
accepted value.
.P
\%\f3GL_INVALID_VALUE\fP is generated if \f2level\fP is less than 0.
.P
\%\f3GL_INVALID_VALUE\fP may be generated if \f2level\fP is greater
than $ log sub 2$ \f2max\fP,
where \f2max\fP is the returned value of \%\f3GL_MAX_TEXTURE_SIZE\fP.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glGetTexLevelParameter\fP
is executed between the execution of \%\f3glBegin\fP
and the corresponding execution of \%\f3glEnd\fP.
.SH SEE ALSO
\%\f3glActiveTextureARB(3G)\fP,
\%\f3glGetTexParameter(3G)\fP,
\%\f3glCopyTexImage1D(3G)\fP,
\%\f3glCopyTexImage2D(3G)\fP,
\%\f3glCopyTexSubImage1D(3G)\fP,
\%\f3glCopyTexSubImage2D(3G)\fP,
\%\f3glCopyTexSubImage3D(3G)\fP,
\%\f3glTexEnv(3G)\fP,
\%\f3glTexGen(3G)\fP,
\%\f3glTexImage1D(3G)\fP,
\%\f3glTexImage2D(3G)\fP,
\%\f3glTexImage3D(3G)\fP,
\%\f3glTexSubImage1D(3G)\fP,
\%\f3glTexSubImage2D(3G)\fP,
\%\f3glTexSubImage3D(3G)\fP,
\%\f3glTexParameter(3G)\fP

View file

@ -1,142 +0,0 @@
'\" e
'\"! eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 gettexpar
.ds Xs 10274 6 gettexparameter.gl
.TH GLGETTEXPARAMETER 3G
.SH NAME
.B "glGetTexParameterfv, glGetTexParameteriv
\- return texture parameter values
.SH C SPECIFICATION
void \f3glGetTexParameterfv\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglGetTexParameterfv( 'u
GLenum \fIpname\fP,
GLfloat \fI*params\fP )
.fi
void \f3glGetTexParameteriv\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglGetTexParameteriv( 'u
GLenum \fIpname\fP,
GLint \fI*params\fP )
.fi
.EQ
delim $$
.EN
.SH PARAMETERS
.TP \w'\f2target\fP\ \ 'u
\f2target\fP
Specifies the symbolic name of the target texture.
\%\f3GL_TEXTURE_1D\fP,\%\f3GL_TEXTURE_2D\fP, and \%\f3GL_TEXTURE_3D\fP are accepted.
.TP
\f2pname\fP
Specifies the symbolic name of a texture parameter.
\%\f3GL_TEXTURE_MAG_FILTER\fP,
\%\f3GL_TEXTURE_MIN_FILTER\fP,
\%\f3GL_TEXTURE_MIN_LOD\fP,
\%\f3GL_TEXTURE_MAX_LOD\fP,
\%\f3GL_TEXTURE_BASE_LEVEL\fP,
\%\f3GL_TEXTURE_MAX_LEVEL\fP,
\%\f3GL_TEXTURE_WRAP_S\fP,
\%\f3GL_TEXTURE_WRAP_T\fP,
\%\f3GL_TEXTURE_WRAP_R\fP,
\%\f3GL_TEXTURE_BORDER_COLOR\fP,
\%\f3GL_TEXTURE_PRIORITY\fP, and
\%\f3GL_TEXTURE_RESIDENT\fP are accepted.
.TP
\f2params\fP
Returns the texture parameters.
.SH DESCRIPTION
\%\f3glGetTexParameter\fP returns in \f2params\fP the value or values of the texture parameter
specified as \f2pname\fP.
\f2target\fP defines the target texture,
either \%\f3GL_TEXTURE_1D\fP, \%\f3GL_TEXTURE_2D\fP, or \%\f3GL_TEXTURE_3D\fP
to specify one-, two-, or three-dimensional texturing.
\f2pname\fP accepts the same symbols as \%\f3glTexParameter\fP,
with the same interpretations:
.TP 35
\%\f3GL_TEXTURE_MAG_FILTER\fP
Returns the single-valued texture magnification filter,
a symbolic constant. The initial value is \%\f3GL_LINEAR\fP.
.TP
\%\f3GL_TEXTURE_MIN_FILTER\fP
Returns the single-valued texture minification filter,
a symbolic constant. The initial value is \%\f3GL_NEAREST_MIPMAP_LINEAR\fP.
.TP
\%\f3GL_TEXTURE_MIN_LOD\fP
Returns the single-valued texture minimum level-of-detail value. The
initial value is $-1000$.
.TP
\%\f3GL_TEXTURE_MAX_LOD\fP
Returns the single-valued texture maximum level-of-detail value. The
initial value is 1000.
.TP
\%\f3GL_TEXTURE_BASE_LEVEL\fP
Returns the single-valued base texture mipmap level. The initial value is 0.
.TP
\%\f3GL_TEXTURE_MAX_LEVEL\fP
Returns the single-valued maximum texture mipmap array level. The initial
value is 1000.
.TP
\%\f3GL_TEXTURE_WRAP_S\fP
Returns the single-valued wrapping function for texture coordinate $s$,
a symbolic constant. The initial value is \%\f3GL_REPEAT\fP.
.TP
\%\f3GL_TEXTURE_WRAP_T\fP
Returns the single-valued wrapping function for texture coordinate $t$,
a symbolic constant. The initial value is \%\f3GL_REPEAT\fP.
.TP
\%\f3GL_TEXTURE_WRAP_R\fP
Returns the single-valued wrapping function for texture coordinate $r$,
a symbolic constant. The initial value is \%\f3GL_REPEAT\fP.
.BP
.TP
\%\f3GL_TEXTURE_BORDER_COLOR\fP
Returns four integer or floating-point numbers that comprise the RGBA color
of the texture border.
Floating-point values are returned in the range [0, 1].
Integer values are returned as a linear mapping of the internal floating-point
representation such that 1.0 maps to the most positive representable
integer and \-1.0 maps to the most negative representable
integer. The initial value is (0, 0, 0, 0).
.TP
\%\f3GL_TEXTURE_PRIORITY\fP
Returns the residence priority of the target texture (or the named
texture bound to it). The initial value is 1.
See \%\f3glPrioritizeTextures\fP.
.TP
\%\f3GL_TEXTURE_RESIDENT\fP
Returns the residence status of the target texture.
If the value returned in \f2params\fP is \%\f3GL_TRUE\fP, the texture is
resident in texture memory.
See \%\f3glAreTexturesResident\fP.
.SH NOTES
\%\f3GL_TEXTURE_PRIORITY\fP and \%\f3GL_TEXTURE_RESIDENT\fP are
available only if the GL version is 1.1 or greater.
.P
\%\f3GL_TEXTURE_3D\fP,
\%\f3GL_TEXTURE_MIN_LOD\fP, \%\f3GL_TEXTURE_MAX_LOD\fP, \%\f3GL_TEXTURE_BASE_LEVEL\fP,
\%\f3GL_TEXTURE_MAX_LEVEL\fP, and \%\f3GL_TEXTURE_WRAP_R\fP are available only
if the GL version is 1.2 or greater.
.P
If an error is generated,
no change is made to the contents of \f2params\fP.
.SH ERRORS
\%\f3GL_INVALID_ENUM\fP is generated if \f2target\fP or \f2pname\fP is not an
accepted value.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glGetTexParameter\fP
is executed between the execution of \%\f3glBegin\fP
and the corresponding execution of \%\f3glEnd\fP.
.SH SEE ALSO
\%\f3glAreTexturesResident(3G)\fP,
\%\f3glPrioritizeTextures(3G)\fP,
\%\f3glTexParameter(3G)\fP

View file

@ -1,104 +0,0 @@
'\" e
'\"! eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 hint.gl -
.ds Xs 8452 5 hint.gl
.TH GLHINT 3G
.SH NAME
.B "glHint
\- specify implementation-specific hints
.SH C SPECIFICATION
void \f3glHint\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglHint( 'u
GLenum \fImode\fP )
.fi
.SH PARAMETERS
.TP \w'\f2target\fP\ \ 'u
\f2target\fP
Specifies a symbolic constant indicating the behavior to be controlled.
\%\f3GL_FOG_HINT\fP,
\%\f3GL_LINE_SMOOTH_HINT\fP,
\%\f3GL_PERSPECTIVE_CORRECTION_HINT\fP,
\%\f3GL_POINT_SMOOTH_HINT\fP, and
\%\f3GL_POLYGON_SMOOTH_HINT\fP are accepted.
.TP
\f2mode\fP
Specifies a symbolic constant indicating the desired behavior.
\%\f3GL_FASTEST\fP,
\%\f3GL_NICEST\fP, and
\%\f3GL_DONT_CARE\fP are accepted.
.SH DESCRIPTION
Certain aspects of GL behavior,
when there is room for interpretation,
can be controlled with hints.
A hint is specified with two arguments.
\f2target\fP is a symbolic
constant indicating the behavior to be controlled,
and \f2mode\fP is another symbolic constant indicating the desired
behavior. The initial value for each \f2target\fP is \%\f3GL_DONT_CARE\fP.
\f2mode\fP can be one of the following:
.TP 20
\%\f3GL_FASTEST\fP
The most efficient option should be chosen.
.TP
\%\f3GL_NICEST\fP
The most correct,
or highest quality,
option should be chosen.
.TP
\%\f3GL_DONT_CARE\fP
No preference.
.P
Though the implementation aspects that can be hinted are well defined,
the interpretation of the hints depends on the implementation.
The hint aspects that can be specified with \f2target\fP,
along with suggested semantics,
are as follows:
.TP 20
\%\f3GL_FOG_HINT\fP
Indicates the accuracy of fog calculation.
If per-pixel fog calculation is not efficiently supported
by the GL implementation,
hinting \%\f3GL_DONT_CARE\fP or \%\f3GL_FASTEST\fP can result in per-vertex
calculation of fog effects.
.TP
\%\f3GL_LINE_SMOOTH_HINT\fP
Indicates the sampling quality of antialiased lines.
If a larger filter function is applied, hinting \%\f3GL_NICEST\fP can
result in more pixel fragments being generated during rasterization,
.TP
\%\f3GL_PERSPECTIVE_CORRECTION_HINT\fP
Indicates the quality of color and texture coordinate interpolation.
If perspective-corrected parameter interpolation is not efficiently supported
by the GL implementation,
hinting \%\f3GL_DONT_CARE\fP or \%\f3GL_FASTEST\fP can result in simple linear
interpolation of colors and/or texture coordinates.
.TP
\%\f3GL_POINT_SMOOTH_HINT\fP
Indicates the sampling quality of antialiased points.
If a larger filter function is applied, hinting \%\f3GL_NICEST\fP can
result in more pixel fragments being generated during rasterization,
.TP
\%\f3GL_POLYGON_SMOOTH_HINT\fP
Indicates the sampling quality of antialiased polygons.
Hinting \%\f3GL_NICEST\fP can result in more pixel fragments being generated
during rasterization,
if a larger filter function is applied.
.SH NOTES
The interpretation of hints depends on the implementation.
Some implementations ignore \%\f3glHint\fP settings.
.SH ERRORS
\%\f3GL_INVALID_ENUM\fP is generated if either \f2target\fP or \f2mode\fP is not
an accepted value.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glHint\fP
is executed between the execution of \%\f3glBegin\fP
and the corresponding execution of \%\f3glEnd\fP.

View file

@ -1,138 +0,0 @@
'\" te
'\"! tbl|eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 histogram
.ds Xs 13152 6 histogram.gl
.TH GLHISTOGRAM 3G
.SH NAME
.B "glHistogram
\- define histogram table
.SH C SPECIFICATION
void \f3glHistogram\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglHistogram( 'u
GLsizei \fIwidth\fP,
GLenum \fIinternalformat\fP,
GLboolean \fIsink\fP )
.fi
.EQ
delim $$
.EN
.SH PARAMETERS
.TP \w'\fIinternalformat\fP\ \ 'u
\f2target\fP
The histogram whose parameters are to be set.
Must be one of
\%\f3GL_HISTOGRAM\fP or
\%\f3GL_PROXY_HISTOGRAM\fP.
.TP
\f2width\fP
The number of entries in the histogram table. Must be a power of 2.
.TP
\f2internalformat\fP
The of entries in the histogram table.
Must be one of
\%\f3GL_ALPHA\fP,
\%\f3GL_ALPHA4\fP,
\%\f3GL_ALPHA8\fP,
\%\f3GL_ALPHA12\fP,
\%\f3GL_ALPHA16\fP,
\%\f3GL_LUMINANCE\fP,
\%\f3GL_LUMINANCE4\fP,
\%\f3GL_LUMINANCE8\fP,
\%\f3GL_LUMINANCE12\fP,
\%\f3GL_LUMINANCE16\fP,
\%\f3GL_LUMINANCE_ALPHA\fP,
\%\f3GL_LUMINANCE4_ALPHA4\fP,
\%\f3GL_LUMINANCE6_ALPHA2\fP,
\%\f3GL_LUMINANCE8_ALPHA8\fP,
\%\f3GL_LUMINANCE12_ALPHA4\fP,
\%\f3GL_LUMINANCE12_ALPHA12\fP,
\%\f3GL_LUMINANCE16_ALPHA16\fP,
\%\f3GL_R3_G3_B2\fP,
\%\f3GL_RGB\fP,
\%\f3GL_RGB4\fP,
\%\f3GL_RGB5\fP,
\%\f3GL_RGB8\fP,
\%\f3GL_RGB10\fP,
\%\f3GL_RGB12\fP,
\%\f3GL_RGB16\fP,
\%\f3GL_RGBA\fP,
\%\f3GL_RGBA2\fP,
\%\f3GL_RGBA4\fP,
\%\f3GL_RGB5_A1\fP,
\%\f3GL_RGBA8\fP,
\%\f3GL_RGB10_A2\fP,
\%\f3GL_RGBA12\fP, or
\%\f3GL_RGBA16\fP.
.TP
\f2sink\fP
If \%\f3GL_TRUE\fP, pixels will be consumed by the histogramming
process and no drawing or texture loading will take place.
If \%\f3GL_FALSE\fP, pixels will proceed to the minmax process after
histogramming.
.SH DESCRIPTION
When \%\f3GL_HISTOGRAM\fP is enabled, RGBA color components are converted to
histogram table indices by clamping to the range [0,1], multiplying by
the width of the histogram table, and rounding to the nearest integer.
The table entries selected by the RGBA indices are then incremented.
(If the internal of the histogram table includes luminance, then
the index derived from the R color component determines the luminance
table entry to be incremented.) If a histogram table entry is incremented
beyond its maximum value, then its value becomes undefined. (This is
not an error.)
.PP
Histogramming is performed only for RGBA pixels (though these may
be specified originally as color indices and converted to RGBA by
index table lookup).
Histogramming is enabled with \%\f3glEnable\fP and disabled with \%\f3glDisable\fP.
.PP
When \f2target\fP is \%\f3GL_HISTOGRAM\fP, \%\f3glHistogram\fP redefines the current
histogram table to have \f2width\fP entries of the specified by
\f2internalformat\fP.
The entries are indexed 0 through $"width" ~-~ 1$, and
all entries are initialized to zero.
The values in the previous histogram table, if any, are lost.
If \f2sink\fP is \%\f3GL_TRUE\fP, then pixels are discarded after histogramming;
no further processing of the pixels takes place, and no drawing,
texture loading, or pixel readback will result.
.PP
When \f2target\fP is \%\f3GL_PROXY_HISTOGRAM\fP, \%\f3glHistogram\fP computes all
state information as if the histogram table were to be redefined,
but does not actually define the new table.
If the requested histogram table is too large to be supported, then the
state information will be set to zero.
This provides a way to determine if a histogram table with the given
parameters can be supported.
.PP
.SH NOTES
\%\f3glHistogram\fP is present only if \%\f3GL_ARB_imaging\fP is returned when \%\f3glGetString\fP
is called with an argument of \%\f3GL_EXTENSIONS\fP.
.SH ERRORS
\%\f3GL_INVALID_ENUM\fP is generated if \f2target\fP is not one of the allowable
values.
.P
\%\f3GL_INVALID_VALUE\fP is generated if \f2width\fP is less than zero or is
not a power of 2.
.P
\%\f3GL_INVALID_ENUM\fP is generated if \f2internalformat\fP is not one of the
allowable values.
.P
\%\f3GL_TABLE_TOO_LARGE\fP is generated if \f2target\fP is \%\f3GL_HISTOGRAM\fP
and the histogram table specified is too large for the implementation.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glHistogram\fP is executed
between the execution of \%\f3glBegin\fP and the corresponding
execution of \%\f3glEnd\fP.
.SH ASSOCIATED GETS
\%\f3glGetHistogramParameter\fP
.SH SEE ALSO
\%\f3glGetHistogram(3G)\fP,
\%\f3glResetHistogram(3G)\fP

View file

@ -1,99 +0,0 @@
.\" $XFree86$
'\" te
'\"! tbl|eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 index.gl
.ds Xs 37923 4 index.gl
.TH GLINDEX 3G
.SH NAME
.B "glIndexd, glIndexf, glIndexi, glIndexs, glIndexub, glIndexdv, glIndexfv, glIndexiv, glIndexsv, glIndexubv
\- set the current color index
.P
.SH C SPECIFICATION
void \f3glIndexd\fP(
GLdouble \fIc\fP )
.nf
.fi
void \f3glIndexf\fP(
GLfloat \fIc\fP )
.nf
.fi
void \f3glIndexi\fP(
GLint \fIc\fP )
.nf
.fi
void \f3glIndexs\fP(
GLshort \fIc\fP )
.nf
.fi
void \f3glIndexub\fP(
GLubyte c); \fI1.1\fP )
.nf
.fi
.SH PARAMETERS
.TP \w'\f21.1\fP\ \ 'u
\f21.1\fP
Specifies the new value for the current color index.
.P
.SH C SPECIFICATION
void \f3glIndexdv\fP(
const GLdouble \fI*c\fP )
.nf
.fi
void \f3glIndexfv\fP(
const GLfloat \fI*c\fP )
.nf
.fi
void \f3glIndexiv\fP(
const GLint \fI*c\fP )
.nf
.fi
void \f3glIndexsv\fP(
const GLshort \fI*c\fP )
.nf
.fi
void \f3glIndexubv\fP(
const GLubyte *c); \fI1.1\fP )
.nf
.fi
.SH PARAMETERS
.TP
\f21.1\fP
Specifies a pointer to a one-element array that contains
the new value for the current color index.
.SH DESCRIPTION
\%\f3glIndex\fP updates the current (single-valued) color index.
It takes one argument, the new value for the current color index.
.P
The current index is stored as a floating-point value.
Integer values are converted directly to floating-point values,
with no special mapping.
The initial value is 1.
.P
Index values outside the representable range of the color index buffer
are not clamped.
However,
before an index is dithered (if enabled) and written to the frame buffer,
it is converted to fixed-point .
Any bits in the integer portion of the resulting fixed-point value
that do not correspond to bits in the frame buffer are masked out.
.SH NOTES
\%\f3glIndexub\fP and \%\f3glIndexubv\fP are available only if the GL version is
1.1 or greater.
.P
The current index can be updated at any time.
In particular,
\%\f3glIndex\fP can be called between a call to \%\f3glBegin\fP and the corresponding
call to \%\f3glEnd\fP.
.SH ASSOCIATED GETS
\%\f3glGet\fP with argument \%\f3GL_CURRENT_INDEX\fP
.SH SEE ALSO
\%\f3glColor(3G)\fP,
\%\f3glIndexPointer(3G)\fP

View file

@ -1,57 +0,0 @@
'\" e
'\"! eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 indexmask
.ds Xs 54319 4 indexmask.gl
.TH GLINDEXMASK 3G
.SH NAME
.B "glIndexMask
\- control the writing of individual bits in the color index buffers
.SH C SPECIFICATION
void \f3glIndexMask\fP(
GLuint \fImask\fP )
.nf
.fi
.EQ
delim $$
.EN
.SH PARAMETERS
.TP \w'\f2mask\fP\ \ 'u
\f2mask\fP
Specifies a bit mask to enable and disable the writing of individual bits
in the color index buffers.
Initially, the mask is all 1's.
.SH DESCRIPTION
\%\f3glIndexMask\fP controls the writing of individual bits in the color index buffers.
The least significant $n$ bits of \f2mask\fP,
where $n$ is the number of bits in a color index buffer,
specify a mask.
Where a 1 (one) appears in the mask,
it's possible to write to the corresponding bit in the color index
buffer (or buffers).
Where a 0 (zero) appears,
the corresponding bit is write-protected.
.P
This mask is used only in color index mode,
and it affects only the buffers currently selected for writing
(see \%\f3glDrawBuffer\fP).
Initially, all bits are enabled for writing.
.SH ERRORS
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glIndexMask\fP
is executed between the execution of \%\f3glBegin\fP
and the corresponding execution of \%\f3glEnd\fP.
.SH ASSOCIATED GETS
\%\f3glGet\fP with argument \%\f3GL_INDEX_WRITEMASK\fP
.SH SEE ALSO
\%\f3glColorMask(3G)\fP,
\%\f3glDepthMask(3G)\fP,
\%\f3glDrawBuffer(3G)\fP,
\%\f3glIndex(3G)\fP,
\%\f3glIndexPointer(3G)\fP,
\%\f3glStencilMask(3G)\fP

View file

@ -1,114 +0,0 @@
'\" te
'\"! tbl|eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 indexpoin
.ds Xs 54341 6 indexpointer.gl
.TH GLINDEXPOINTER 3G
.SH NAME
.B "glIndexPointer
\- define an array of color indexes
.SH C SPECIFICATION
void \f3glIndexPointer\fP(
GLenum \fItype\fP,
.nf
.ta \w'\f3void \fPglIndexPointer( 'u
GLsizei \fIstride\fP,
const GLvoid \fI*ptr\fP )
.fi
.EQ
delim $$
.EN
.SH PARAMETERS
.TP \w'\fIstride\fP\ \ 'u
\f2type\fP
Specifies the data type of each color index in the array.
Symbolic constants
\%\f3GL_UNSIGNED_BYTE\fP,
\%\f3GL_SHORT\fP,
\%\f3GL_INT\fP,
\%\f3GL_FLOAT\fP,
and \%\f3GL_DOUBLE\fP
are accepted. The initial value is \%\f3GL_FLOAT\fP.
.TP
\f2stride\fP
Specifies the byte offset between consecutive color indexes.
If \f2stride\fP is 0 (the initial value), the color indexes are understood to
be tightly packed in the array.
The initial value is 0.
.TP
\f2ptr\fP
Specifies a pointer to the first index in the array.
The initial value is 0.
.SH DESCRIPTION
\%\f3glIndexPointer\fP specifies the location and data of an array of color indexes
to use when rendering.
\f2type\fP specifies the data type of
each color index and \f2stride\fP gives the byte stride from one
color index to the next allowing vertices and attributes
to be packed into a single array or stored in separate arrays.
(Single-array storage may be more efficient on some implementations;
see \%\f3glInterleavedArrays\fP.)
.P
\f2type\fP, \f2stride\fP, and \f2ptr\fP are saved as client-side
state.
.P
The color index array is initially disabled. To enable and disable
the array, call \%\f3glEnableClientState\fP and
\%\f3glDisableClientState\fP with the argument \%\f3GL_INDEX_ARRAY\fP. If
enabled, the color index array is used when \%\f3glDrawArrays\fP,
\%\f3glDrawElements\fP or \%\f3glArrayElement\fP is called.
.P
Use \%\f3glDrawArrays\fP to construct a sequence of primitives (all of
the same type) from prespecified vertex and vertex attribute arrays.
Use \%\f3glArrayElement\fP to specify primitives
by indexing vertices and vertex attributes and \%\f3glDrawElements\fP to
construct a sequence of primitives by indexing vertices and vertex attributes.
.SH NOTES
\%\f3glIndexPointer\fP is available only if the GL version is 1.1 or greater.
.P
The color index array is initially disabled, and it isn't accessed when
\%\f3glArrayElement\fP, \%\f3glDrawElements\fP, or \%\f3glDrawArrays\fP is called.
.P
Execution of \%\f3glIndexPointer\fP is not allowed between
\%\f3glBegin\fP and the corresponding \%\f3glEnd\fP,
but an error may or may not be generated. If an error is not generated,
the operation is undefined.
.P
\%\f3glIndexPointer\fP is typically implemented on the client side.
.P
Since the color index array parameters are client-side state, they are
not saved or restored by \%\f3glPushAttrib\fP and \%\f3glPopAttrib\fP.
Use \%\f3glPushClientAttrib\fP and
\%\f3glPopClientAttrib\fP instead.
.SH ERRORS
\%\f3GL_INVALID_ENUM\fP is generated if \f2type\fP is not an accepted value.
.P
\%\f3GL_INVALID_VALUE\fP is generated if \f2stride\fP is negative.
.SH ASSOCIATED GETS
\%\f3glIsEnabled\fP with argument \%\f3GL_INDEX_ARRAY\fP
.br
\%\f3glGet\fP with argument \%\f3GL_INDEX_ARRAY_TYPE\fP
.br
\%\f3glGet\fP with argument \%\f3GL_INDEX_ARRAY_STRIDE\fP
.br
\%\f3glGetPointerv\fP with argument \%\f3GL_INDEX_ARRAY_POINTER\fP
.SH SEE ALSO
\%\f3glArrayElement(3G)\fP,
\%\f3glColorPointer(3G)\fP,
\%\f3glDrawArrays(3G)\fP,
\%\f3glDrawElements(3G)\fP,
\%\f3glEdgeFlagPointer(3G)\fP,
\%\f3glEnable(3G)\fP,
\%\f3glGetPointerv(3G)\fP,
\%\f3glInterleavedArrays(3G)\fP,
\%\f3glNormalPointer(3G)\fP,
\%\f3glPopClientAttrib(3G)\fP,
\%\f3glPushClientAttrib(3G)\fP,
\%\f3glTexCoordPointer(3G)\fP,
\%\f3glVertexPointer(3G)\fP

Some files were not shown because too many files have changed in this diff Show more