home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / openglmn.zip / OpenGL_man.inf (.txt)
OS/2 Help File  |  1997-04-06  |  476KB  |  23,409 lines

  1.  
  2. ΓòÉΓòÉΓòÉ 1. OpenGL WWW Pages Intro ΓòÉΓòÉΓòÉ
  3.  
  4.  OpenGL man pages 
  5.  
  6.  The OpenGL WWW Pages (Version 1.0) 
  7.  
  8.  The OpenGL man pages for OpenGL version 1.0 have been reformatted into HTML 
  9. for your reference. At this time it is not part of our Open3D product, but 
  10. merely a convenience for our customers. (And web surfers.) 
  11.  
  12. These man pages represent the following versions of the OpenGL standards: 
  13.  
  14.      Specification   Version
  15.      -------------   -------
  16.      OpenGL          1.0
  17.      GLX             1.1
  18.      GLU             1.2
  19.  
  20.  HTML does not have a good way to write mathematic equations. I have done my 
  21. best to represent the various formulas in the man pages into something readable 
  22. on character-based readers. I have used one ISO Latin-1 one character, the 
  23. raised dot (Γòû, hex b7), to indicate multiplication. If this is a problem for 
  24. people I can change it to `*'. Superscripts are placed on the line above and 
  25. subscripts are placed on the line below their referent. Fortunately I didn't 
  26. run across any instances of subscripts on one line followed by superscripts on 
  27. the line below. 
  28.  
  29.  My primary goals are 
  30.  
  31.    1. Make the man pages readable and correct. 
  32.    2. Make sure the formulas, equations and tables are readable and correct. 
  33.    3. Keep all information visible for character based readers. 
  34.   Making everything look pretty is not as important. 
  35.  
  36.   If you find any errors or if you have any suggestions, please send mail to 
  37.  andy.vesper@eng.pko.dec.com or andy.vesper@pko.mts.dec.com. I will try to fix 
  38.  them up as I find time. Unfortunately this is a volunteer effort and I so I 
  39.  cannot spend much time on it. 
  40.  
  41.   To start, choose either the alphabetic order page or specification order 
  42.  page. 
  43.  
  44.   There is also an introductory page located at glXIntro. 
  45.  
  46.   The GLU tesselator has changed in GLU version 1.2; here are some notes on the 
  47.  new GLU tesselator 
  48.  
  49.   ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  50.  
  51.   Due to popular demand, I have added a tar file and a zip file, each of which 
  52.  contains all the .html sources. Note that the names are long names with the 
  53.  extension .html, and so are not appropriate to being placed on a FAT-formatted 
  54.  disk. 
  55.  
  56.   ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  57.  
  58.  For more OpenGL information, I suggest starting at  The OpenGL WWW Center. 
  59.  
  60.   ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  61.  
  62.  You can also read the hypertext version of The OpenGL Graphics System: A 
  63.  Specification (Version 1.1).  In this document all formulae are given as 
  64.  images, so they look much better than my ASCII art. However, this is Version 
  65.  1.1, not Version 1.0. SGI does not seem to have kept the 1.0 version around. 
  66.  
  67.   ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  68.  
  69.  Last Edited:  Wed Feb  5 10:37:39 EST 1997 by AFV 
  70.  Look here for legal stuff:  Legal 
  71.  
  72.  
  73. ΓòÉΓòÉΓòÉ 2. Andrew Frank Vesper, Business Card ΓòÉΓòÉΓòÉ
  74.  
  75.  OpenGL man pages 
  76.  
  77. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  78.  
  79.  
  80. Andrew Frank Vesper 
  81. 3D Graphics Group 
  82. Alpha Personal Systems 
  83.  
  84.  Internet:      andy.vesper@eng.pko.dec.com 
  85. or:          andy.vesper@pko.mts.dec.com 
  86.  
  87. Digital Equipment Corporation 
  88. PKO3-1 / N30 
  89. 129 Parker Street, 
  90. Maynard, MA 01754-2198 
  91.  
  92. Telephone : 508-493-6315 
  93. FAX : 508-493-1227 -- Please call or send mail to alert me 
  94.  
  95. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  96.  
  97. Last Edited:   Fri Dec 6 11:18:03 EST 1996 
  98.  
  99.  
  100. ΓòÉΓòÉΓòÉ 3. OpenGL Index of routines in Alphabetic Order ΓòÉΓòÉΓòÉ
  101.  
  102.  OpenGL man pages 
  103.  
  104. Contents 
  105.  
  106. glA glB glC glD glE glF glG glH glI glL glM glN glO glP glR glS glT glV glX glu 
  107.  
  108. OpenGL Index in Alphabetic Order 
  109.  
  110.  glA... 
  111.            glAccum 
  112.            glAlphaFunc 
  113.            glArrayElementEXT 
  114.  
  115.  glB... 
  116.            glBegin 
  117.            glBitmap 
  118.            glBlendFunc 
  119.  
  120.  glC... 
  121.            glCallList 
  122.            glCallLists 
  123.            glClear 
  124.            glClearAccum 
  125.            glClearColor 
  126.            glClearDepth 
  127.            glClearIndex 
  128.            glClearStencil 
  129.            glClipPlane 
  130.            glColor3b, glColor3bv, glColor3d, glColor3dv, glColor3f, glColor3fv, 
  131.            glColor3i, glColor3iv, glColor3s, glColor3sv, glColor3ub, 
  132.            glColor3ubv, glColor3ui, glColor3uiv, glColor3us, glColor3usv, 
  133.            glColor4b, glColor4bv, glColor4d, glColor4dv, glColor4f, glColor4fv, 
  134.            glColor4i, glColor4iv, glColor4s, glColor4sv, glColor4ub, 
  135.            glColor4ubv, glColor4ui, glColor4uiv, glColor4us, glColor4usv 
  136.            glColorMask 
  137.            glColorMaterial 
  138.            glColorPointerEXT 
  139.            glCopyPixels 
  140.            glCullFace 
  141.  
  142.  glD... 
  143.            glDeleteLists 
  144.            glDepthFunc 
  145.            glDepthMask 
  146.            glDepthRange 
  147.            glDisable 
  148.            glDrawArraysEXT 
  149.            glDrawBuffer 
  150.            glDrawPixels 
  151.  
  152.  glE... 
  153.            glEdgeFlag 
  154.            glEdgeFlagPointerEXT 
  155.            glEdgeFlagv 
  156.            glEnable 
  157.            glEnd 
  158.            glEndList 
  159.            glEvalCoord1d, glEvalCoord1dv, glEvalCoord1f, glEvalCoord1fv, 
  160.            glEvalCoord2d, glEvalCoord2dv, glEvalCoord2f, glEvalCoord2fv 
  161.            glEvalMesh1, glEvalMesh2 
  162.            glEvalPoint1, glEvalPoint2 
  163.  
  164.  glF... 
  165.            glFeedbackBuffer 
  166.            glFinish 
  167.            glFlush 
  168.            glFogf, glFogfv, glFogi, glFogiv 
  169.            glFrontFace 
  170.            glFrustum 
  171.  glG... 
  172.            glGenLists 
  173.            glGetBooleanv 
  174.            glGetClipPlane 
  175.            glGetDoublev 
  176.            glGetError 
  177.            glGetFloatv, glGetIntegerv 
  178.            glGetLightfv, glGetLightiv 
  179.            glGetMapdv, glGetMapfv, glGetMapiv 
  180.            glGetMaterialfv, glGetMaterialiv 
  181.            glGetPixelMapfv, glGetPixelMapuiv, glGetPixelMapusv 
  182.            glGetPointervEXT 
  183.            glGetPolygonStipple 
  184.            glGetString 
  185.            glGetTexEnvfv, glGetTexEnviv 
  186.            glGetTexGendv, glGetTexGenfv, glGetTexGeniv 
  187.            glGetTexImage 
  188.            glGetTexLevelParameterfv, glGetTexLevelParameteriv 
  189.            glGetTexParameterfv, glGetTexParameteriv 
  190.  
  191.  glH... 
  192.            glHint 
  193.  glI... 
  194.            glIndexMask 
  195.            glIndexPointerEXT 
  196.            glIndexd, glIndexdv, glIndexf, glIndexfv, glIndexi, glIndexiv, 
  197.            glIndexs, glIndexsv 
  198.            glInitNames 
  199.            glIsEnabled 
  200.            glIsList 
  201.  glL... 
  202.            glLightModelf, glLightModelfv, glLightModeli, glLightModeliv 
  203.            glLightf, glLightfv, glLighti, glLightiv 
  204.            glLineStipple 
  205.            glLineWidth 
  206.            glListBase 
  207.            glLoadIdentity 
  208.            glLoadMatrixd, glLoadMatrixf 
  209.            glLoadName 
  210.            glLogicOp 
  211.  glM... 
  212.            glMap1d, glMap1f 
  213.            glMap2d, glMap2f 
  214.            glMapGrid1d, glMapGrid1f, glMapGrid2d, glMapGrid2f 
  215.            glMaterialf, glMaterialfv, glMateriali, glMaterialiv 
  216.            glMatrixMode 
  217.            glMultMatrixd, glMultMatrixf 
  218.  glN... 
  219.            glNewList 
  220.            glNormal3b, glNormal3bv, glNormal3d, glNormal3dv, glNormal3f, 
  221.            glNormal3fv, glNormal3i, glNormal3iv, glNormal3s, glNormal3sv 
  222.            glNormalPointerEXT 
  223.  glO... 
  224.            glOrtho 
  225.  glP... 
  226.            glPassThrough 
  227.            glPixelMapfv, glPixelMapuiv, glPixelMapusv 
  228.            glPixelStoref, glPixelStorei 
  229.            glPixelTransferf, glPixelTransferi 
  230.            glPixelZoom 
  231.            glPointSize 
  232.            glPolygonMode 
  233.            glPolygonStipple 
  234.            glPopAttrib 
  235.            glPopMatrix 
  236.            glPopName 
  237.            glPushAttrib 
  238.            glPushMatrix 
  239.            glPushName 
  240.  glR... 
  241.            glRasterPos2d, glRasterPos2dv, glRasterPos2f, glRasterPos2fv, 
  242.            glRasterPos2i, glRasterPos2iv, glRasterPos2s, glRasterPos2sv, 
  243.            glRasterPos3d, glRasterPos3dv, glRasterPos3f, glRasterPos3fv, 
  244.            glRasterPos3i, glRasterPos3iv, glRasterPos3s, glRasterPos3sv, 
  245.            glRasterPos4d, glRasterPos4dv, glRasterPos4f, glRasterPos4fv, 
  246.            glRasterPos4i, glRasterPos4iv, glRasterPos4s, glRasterPos4sv 
  247.            glReadBuffer 
  248.            glReadPixels 
  249.            glRectd, glRectdv, glRectf, glRectfv, glRecti, glRectiv, glRects, 
  250.            glRectsv 
  251.            glRenderMode 
  252.            glRotated glRotatef 
  253.  
  254.  glS... 
  255.            glScaled, glScalef 
  256.            glScissor 
  257.            glSelectBuffer 
  258.            glShadeModel 
  259.            glStencilFunc 
  260.            glStencilMask 
  261.            glStencilOp 
  262.  glT... 
  263.            glTexCoord1d, glTexCoord1dv, glTexCoord1f, glTexCoord1fv, 
  264.            glTexCoord1i, glTexCoord1iv, glTexCoord1s, glTexCoord1sv, 
  265.            glTexCoord2d, glTexCoord2dv, glTexCoord2f, glTexCoord2fv, 
  266.            glTexCoord2i, glTexCoord2iv, glTexCoord2s, glTexCoord2sv, 
  267.            glTexCoord3d, glTexCoord3dv, glTexCoord3f, glTexCoord3fv, 
  268.            glTexCoord3i, glTexCoord3iv, glTexCoord3s, glTexCoord3sv, 
  269.            glTexCoord4d, glTexCoord4dv, glTexCoord4f, glTexCoord4fv, 
  270.            glTexCoord4i, glTexCoord4iv, glTexCoord4s, glTexCoord4sv 
  271.            glTexCoordPointerEXT, 
  272.            glTexEnvf, glTexEnvfv, glTexEnvi, glTexEnviv, 
  273.            glTexGend, glTexGendv, glTexGenf, glTexGenfv, glTexGeni, glTexGeniv 
  274.            glTexImage1D 
  275.            glTexImage2D 
  276.            glTexParameterf, glTexParameterfv, glTexParameteri, glTexParameteriv 
  277.            glTranslated, glTranslatef 
  278.  glV... 
  279.            glVertex2d, glVertex2dv, glVertex2f, glVertex2fv, glVertex2i, 
  280.            glVertex2iv, glVertex2s, glVertex2sv, glVertex3d, glVertex3dv, 
  281.            glVertex3f, glVertex3fv, glVertex3i, glVertex3iv, glVertex3s, 
  282.            glVertex3sv, glVertex4d, glVertex4dv, glVertex4f, glVertex4fv, 
  283.            glVertex4i, glVertex4iv, glVertex4s, glVertex4sv 
  284.            glVertexPointerEXT 
  285.            glViewport 
  286.  glX... 
  287.            glXChooseVisual 
  288.            glXCopyContext 
  289.            glXCreateContext 
  290.            glXCreateGLXPixmap 
  291.            glXDestroyContext 
  292.            glXDestroyGLXPixmap 
  293.            glXGetConfig 
  294.            glXGetCurrentContext 
  295.            glXGetCurrentDrawable 
  296.            glXIsDirect 
  297.            glXMakeCurrent 
  298.            glXQueryExtension 
  299.            glXQueryVersion 
  300.            glXSwapBuffers 
  301.            glXUseXFont 
  302.            glXWaitGL 
  303.            glXWaitX 
  304.  glu... 
  305.            See notes on the new GLU tesselator 
  306.  
  307.            gluBeginCurve 
  308.            gluBeginPolygon (GLU versions 1.0 and 1.1) 
  309.            gluBeginPolygon (GLU version 1.2 and later) 
  310.            gluBeginSurface 
  311.            gluBeginTrim 
  312.            gluBuild1DMipmaps 
  313.            gluBuild2DMipmaps 
  314.            gluCylinder 
  315.            gluDeleteNurbsRenderer 
  316.            gluDeleteQuadric 
  317.            gluDeleteTess (GLU versions 1.0 and 1.1) 
  318.            gluDeleteTess (GLU version 1.2 and later) 
  319.            gluDisk 
  320.            gluEndCurve 
  321.            gluEndPolygon (GLU versions 1.0 and 1.1) 
  322.            gluEndPolygon (GLU version 1.2 and later) 
  323.            gluEndSurface 
  324.            gluEndTrim 
  325.            gluErrorString 
  326.            gluGetNurbsProperty 
  327.            gluGetTessProperty (GLU version 1.2 and later) 
  328.            gluLoadSamplingMatrices 
  329.            gluLookAt 
  330.            gluNewNurbsRenderer 
  331.            gluNewQuadric 
  332.            gluNewTess (GLU versions 1.0 and 1.1) 
  333.            gluNewTess (GLU version 1.2 and later) 
  334.            gluNextContour (GLU versions 1.0 and 1.1) 
  335.            gluNextContour (GLU version 1.2 and later) 
  336.            gluNurbsCallback 
  337.            gluNurbsCurve 
  338.            gluNurbsProperty 
  339.            gluNurbsSurface 
  340.            gluOrtho2D 
  341.            gluPartialDisk 
  342.            gluPerspective 
  343.            gluPickMatrix 
  344.            gluProject 
  345.            gluPwlCurve 
  346.            gluQuadricCallback 
  347.            gluQuadricDrawStyle 
  348.            gluQuadricNormals 
  349.            gluQuadricOrientation 
  350.            gluQuadricTexture 
  351.            gluScaleImage 
  352.            gluSphere 
  353.            gluTessBeginContour (GLU version 1.2 and later) 
  354.            gluTessBeginPolygon (GLU version 1.2 and later) 
  355.            gluTessCallback (GLU versions 1.0 and 1.1) 
  356.            gluTessCallback (GLU version 1.2 and later) 
  357.            gluTessEndContour (GLU version 1.2 and later) 
  358.            gluTessEndPolygon (GLU version 1.2 and later) 
  359.            gluTessNormal (GLU version 1.2 and later) 
  360.            gluTessProperty (GLU version 1.2 and later) 
  361.            gluTessVertex (GLU versions 1.0 and 1.1) 
  362.            gluTessVertex (GLU version 1.2 and later) 
  363.            gluUnProject 
  364.  
  365.   ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  366.  
  367.   Introduction | Alphabetic | Specification 
  368.  
  369.  Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  370.  Look here for legal stuff:  Legal 
  371.  
  372.  
  373. ΓòÉΓòÉΓòÉ 3.1. glAccum ΓòÉΓòÉΓòÉ
  374.  
  375.  OpenGL man pages 
  376.  
  377. glAccum 
  378.  
  379.  
  380.  
  381.  
  382.  
  383.  
  384. Name 
  385.  
  386.   glAccum - operate on the accumulation buffer
  387.  
  388.  
  389.  
  390.  
  391. C Specification 
  392.  
  393.   void glAccum( GLenum op,
  394.                 GLfloat value )
  395.  
  396.  
  397.  
  398.  
  399. Parameters 
  400.  
  401.  
  402.   op     Specifies the accumulation buffer operation.  Symbolic constants
  403.          GL_ACCUM, GL_LOAD, GL_ADD, GL_MULT, and GL_RETURN are accepted.
  404.  
  405.  
  406.   value  Specifies a floating-point value used in the accumulation buffer
  407.          operation.  op determines how value is used.
  408.  
  409.  
  410.  
  411.  
  412. Description 
  413.  
  414.   The accumulation buffer is an extended-range color buffer.  Images are not
  415.   rendered into it.  Rather, images rendered into one of the color buffers
  416.   are added to the contents of the accumulation buffer after rendering.
  417.   Effects such as antialiasing (of points, lines, and polygons), motion blur,
  418.   and depth of field can be created by accumulating images generated with
  419.   different transformation matrices.
  420.  
  421.   Each pixel in the accumulation buffer consists of red, green, blue, and
  422.   alpha values.  The number of bits per component in the accumulation buffer
  423.   depends on the implementation. You can examine this number by calling
  424.   glGetIntegerv four times, with arguments GL_ACCUM_RED_BITS,
  425.   GL_ACCUM_GREEN_BITS, GL_ACCUM_BLUE_BITS, and GL_ACCUM_ALPHA_BITS,
  426.   respectively.  Regardless of the number of bits per component, however, the
  427.   range of values stored by each component is [-1, 1].  The accumulation
  428.   buffer pixels are mapped one-to-one with frame buffer pixels.
  429.  
  430.   glAccum operates on the accumulation buffer.  The first argument, op, is a
  431.   symbolic constant that selects an accumulation buffer operation.  The
  432.   second argument, value, is a floating-point value to be used in that
  433.   operation.  Five operations are specified: GL_ACCUM, GL_LOAD, GL_ADD,
  434.   GL_MULT, and GL_RETURN.
  435.  
  436.   All accumulation buffer operations are limited to the area of the current
  437.   scissor box and are applied identically to the red, green, blue, and alpha
  438.   components of each pixel.  The contents of an accumulation buffer pixel
  439.   component are undefined if the glAccum operation results in a value outside
  440.   the range [-1,1].  The operations are as follows:
  441.  
  442.   GL_ACCUM  Obtains R, G, B, and A values from the buffer currently selected
  443.             for reading (see glReadBuffer).  Each component value is divided
  444.             by 2n-1, where n is the number of bits allocated to each color
  445.             component in the currently selected buffer.  The result is a
  446.             floating-point value in the range [0,1], which is multiplied by
  447.             value and added to the corresponding pixel component in the
  448.             accumulation buffer, thereby updating the accumulation buffer.
  449.  
  450.   GL_LOAD   Similar to GL_ACCUM, except that the current value in the
  451.             accumulation buffer is not used in the calculation of the new
  452.             value.  That is, the R, G, B, and A values from the currently
  453.             selected buffer are divided by 2n-1, multiplied by value, and
  454.             then stored in the corresponding accumulation buffer cell,
  455.             overwriting the current value.
  456.  
  457.   GL_ADD    Adds value to each R, G, B, and A in the accumulation buffer.
  458.  
  459.   GL_MULT   Multiplies each R, G, B, and A in the accumulation buffer by
  460.             value and returns the scaled component to its corresponding
  461.             accumulation buffer location.
  462.  
  463.   GL_RETURN Transfers accumulation buffer values to the color buffer or
  464.             buffers currently selected for writing.  Each R, G, B, and A
  465.             component is multiplied by value, then multiplied by 2n-1,
  466.             clamped to the range [0,2n-1], and stored in the corresponding
  467.             display buffer cell.  The only fragment operations that are
  468.             applied to this transfer are pixel ownership, scissor, dithering,
  469.             and color writemasks.
  470.  
  471.   The accumulation buffer is cleared by specifying R, G, B, and A values to
  472.   set it to with the glClearAccum directive, and issuing a glClear command
  473.   with the accumulation buffer enabled.
  474.  
  475.  
  476.  
  477. Notes 
  478.  
  479.   Only those pixels within the current scissor box are updated by any glAccum
  480.   operation.
  481.  
  482.  
  483.  
  484. Errors 
  485.  
  486.   GL_INVALID_ENUM is generated if op is not an accepted value.
  487.  
  488.   GL_INVALID_OPERATION is generated if there is no accumulation buffer.
  489.  
  490.   GL_INVALID_OPERATION is generated if glAccum is executed between the
  491.   execution of  glBegin and the corresponding execution of glEnd.
  492.  
  493.  
  494.  
  495. Associated Gets 
  496.  
  497.   glGet with argument GL_ACCUM_RED_BITS
  498.   glGet with argument GL_ACCUM_GREEN_BITS
  499.   glGet with argument GL_ACCUM_BLUE_BITS
  500.   glGet with argument GL_ACCUM_ALPHA_BITS
  501.  
  502.  
  503.  
  504. See Also 
  505.  
  506.   glBlendFunc, glClear, glClearAccum, glCopyPixels, glGet, glLogicOp,
  507.   glPixelStore, glPixelTransfer, glReadPixels, glReadBuffer, glScissor,
  508.   glStencilOp
  509.  
  510.  
  511.  
  512. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  513.  
  514.  Introduction | Alphabetic | Specification 
  515.  
  516. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  517. Look here for legal stuff:  Legal 
  518.  
  519.  
  520. ΓòÉΓòÉΓòÉ 3.2. glAlphaFunc ΓòÉΓòÉΓòÉ
  521.  
  522.  OpenGL man pages 
  523.  
  524. glAlphaFunc 
  525.  
  526.  
  527.  
  528.  
  529.  
  530.  
  531. Name 
  532.  
  533.   glAlphaFunc - specify the alpha test function
  534.  
  535.  
  536.  
  537.  
  538. C Specification 
  539.  
  540.   void glAlphaFunc( GLenum func,
  541.                     GLclampf ref )
  542.  
  543.  
  544.  
  545.  
  546. Parameters 
  547.  
  548.  
  549.   func  Specifies the alpha comparison function.  Symbolic constants
  550.         GL_NEVER, GL_LESS, GL_EQUAL, GL_LEQUAL, GL_GREATER, GL_NOTEQUAL,
  551.         GL_GEQUAL, and GL_ALWAYS are accepted.  The default function is
  552.         GL_ALWAYS.
  553.  
  554.  
  555.   ref   Specifies the reference value that incoming alpha values are compared
  556.         to.  This value is clamped to the range 0 through 1, where 0
  557.         represents the lowest possible alpha value and 1 the highest possible
  558.         value.  The default reference is 0.
  559.  
  560.  
  561.  
  562.  
  563. Description 
  564.  
  565.   The alpha test discards fragments depending on the outcome of a comparison
  566.   between the incoming fragment's alpha value and a constant reference value.
  567.    glAlphaFunc specifies the reference and comparison function.  The
  568.   comparison is performed only if alpha testing is enabled.  (See glEnable
  569.   and glDisable of GL_ALPHA_TEST.)
  570.  
  571.   func and ref specify the conditions under which the pixel is drawn.  The
  572.   incoming alpha value is compared to ref using the function specified by
  573.   func.  If the comparison passes, the incoming fragment is drawn,
  574.   conditional on subsequent stencil and depth buffer tests. If the comparison
  575.   fails, no change is made to the frame buffer at that pixel location.
  576.  
  577.   The comparison functions are as follows:
  578.  
  579.   GL_NEVER          Never passes.
  580.  
  581.   GL_LESS           Passes if the incoming alpha value is less than the
  582.                     reference value.
  583.  
  584.   GL_EQUAL          Passes if the incoming alpha value is equal to the
  585.                     reference value.
  586.  
  587.   GL_LEQUAL         Passes if the incoming alpha value is less than or equal
  588.                     to the reference value.
  589.  
  590.   GL_GREATER        Passes if the incoming alpha value is greater than the
  591.                     reference value.
  592.  
  593.   GL_NOTEQUAL       Passes if the incoming alpha value is not equal to the
  594.                     reference value.
  595.  
  596.   GL_GEQUAL         Passes if the incoming alpha value is greater than or
  597.                     equal to the reference value.
  598.  
  599.   GL_ALWAYS         Always passes.
  600.  
  601.   glAlphaFunc operates on all pixel writes, including those resulting from
  602.   the scan conversion of points, lines, polygons, and bitmaps, and from pixel
  603.   draw and copy operations.  glAlphaFunc does not affect screen clear
  604.   operations.
  605.  
  606.  
  607.  
  608. Notes 
  609.  
  610.   Alpha testing is done only in RGBA mode.
  611.  
  612.  
  613.  
  614. Errors 
  615.  
  616.   GL_INVALID_ENUM is generated if func is not an accepted value.
  617.  
  618.   GL_INVALID_OPERATION is generated if glAlphaFunc is executed between the
  619.   execution of glBegin and the corresponding execution of glEnd.
  620.  
  621.  
  622.  
  623. Associated Gets 
  624.  
  625.   glGet with argument GL_ALPHA_TEST_FUNC
  626.   glGet with argument GL_ALPHA_TEST_REF
  627.   glIsEnabled with argument GL_ALPHA_TEST
  628.  
  629.  
  630.  
  631. See Also 
  632.  
  633.   glBlendFunc, glClear, glDepthFunc, glEnable, glStencilFunc
  634.  
  635.  
  636.  
  637. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  638.  
  639.  Introduction | Alphabetic | Specification 
  640.  
  641. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  642. Look here for legal stuff:  Legal 
  643.  
  644.  
  645. ΓòÉΓòÉΓòÉ 3.3. glArrayElementEXT ΓòÉΓòÉΓòÉ
  646.  
  647.  OpenGL man pages 
  648.  
  649. glArrayElementEXT 
  650.  
  651.  
  652.  
  653.  
  654.  
  655.  
  656. Name 
  657.  
  658.   glArrayElementEXT - specify the array elements used to render a vertex
  659.  
  660.  
  661.  
  662.  
  663. C Specification 
  664.  
  665.   void glArrayElementEXT( GLint i )
  666.  
  667.  
  668.  
  669.  
  670. Parameters 
  671.  
  672.  
  673.   i  Specifies an index in the enabled arrays.
  674.  
  675.  
  676.  
  677. Description 
  678.  
  679.   glArrayElementEXT commands are used within glBegin/glEnd pairs to specify
  680.   vertex and attribute data for point, line and polygon primitives. When
  681.   glArrayElementEXT is called, a single vertex is drawn, using vertex and
  682.   attribute data taken from location i of the enabled arrays.
  683.  
  684.   Use glArrayElementEXT to construct primitives by indexing vertex data,
  685.   rather than by streaming through arrays of data in first-to-last order.
  686.   Because each call specifies only a single vertex, it is possible to
  687.   explicitly specify per-primitive attributes, such as a single normal per
  688.   individual triangle.
  689.  
  690.  
  691.  
  692. Notes 
  693.  
  694.   glArrayElementEXT may be included in display lists. If glArrayElementEXT is
  695.   entered into a display list, the necessary array data (determined by the
  696.   array pointers and enables) is also entered into the display list.  Because
  697.   the array pointers and enables are client side state, their values affect
  698.   display lists when the lists are created, not when the lists are executed.
  699.  
  700.   Static array data may be read and cached by the implementation at any time.
  701.   If static array elements are modified and the arrays are not respecified,
  702.   the results of any subsequent calls to glArrayElementEXT are undefined.
  703.  
  704.   glArrayElementEXT executes even if GL_VERTEX_ARRAY_EXT is not enabled.  No
  705.   drawing occurs in this case, but the attributes corresponding to enabled
  706.   arrays are modified.
  707.  
  708.   Although it is not an error to respecify an array between the execution of
  709.   glBegin and the corresponding execution of glEnd, the result of such
  710.   respecification is undefined.
  711.  
  712.   glArrayElementEXT is part of the EXT_vertex_array extension, not
  713.   part of the core GL command set. If "GL_EXT_vertex_array" is
  714.   included in the string returned by glGetString, when called with argument
  715.   GL_EXTENSIONS, extension EXT_vertex_array is supported.
  716.  
  717.  
  718.  
  719. See Also 
  720.  
  721.   glColorPointerEXT, glDrawArraysEXT, glEdgeFlagPointerEXT, glGetPointervEXT,
  722.   glIndexPointerEXT, glNormalPointerEXT, glTexCoordPointerEXT,
  723.   glVertexPointerEXT
  724.  
  725.  
  726.  
  727. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  728.  
  729.  Introduction | Alphabetic | Specification 
  730.  
  731. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  732. Look here for legal stuff:  Legal 
  733.  
  734.  
  735. ΓòÉΓòÉΓòÉ 3.4. glBegin ΓòÉΓòÉΓòÉ
  736.  
  737.  OpenGL man pages 
  738.  
  739. glBegin 
  740.  
  741.  
  742.  
  743.  
  744.  
  745.  
  746. Name 
  747.  
  748.   glBegin, glEnd - delimit the vertices of a primitive or a group of like
  749.   primitives
  750.  
  751.  
  752.  
  753.  
  754. C Specification 
  755.  
  756.   void glBegin( GLenum mode )
  757.  
  758.  
  759.  
  760.  
  761. Parameters 
  762.  
  763.  
  764.   mode  Specifies the primitive or primitives that will be created from
  765.         vertices presented between glBegin and the subsequent glEnd.  Ten
  766.         symbolic constants are accepted: GL_POINTS, GL_LINES, GL_LINE_STRIP,
  767.         GL_LINE_LOOP, GL_TRIANGLES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN,
  768.         GL_QUADS, GL_QUAD_STRIP, and GL_POLYGON.
  769.  
  770.  
  771.  
  772. C Specification 
  773.  
  774.   void glEnd( void )
  775.  
  776.  
  777.  
  778.  
  779. Description 
  780.  
  781.   glBegin and glEnd delimit the vertices that define a primitive or a group
  782.   of like primitives.  glBegin accepts a single argument that specifies which
  783.   of ten ways the vertices are interpreted.  Taking n as an integer count
  784.   starting at one, and N as the total number of vertices specified, the
  785.   interpretations are as follows:
  786.  
  787.   GL_POINTS Treats each vertex as a single point.  Vertex n defines point n.
  788.             N points are drawn.
  789.  
  790.   GL_LINES  Treates each pair of vertices as an independent line segment.
  791.             Vertices 2n-1 and 2n define line n.  N/2 lines are drawn.
  792.  
  793.   GL_LINE_STRIP
  794.             Draws a connected group of line segments from the first vertex to
  795.             the last.  Vertices n and n+1 define line n.  N-1 lines are
  796.             drawn.
  797.  
  798.   GL_LINE_LOOP
  799.             Draws a connected group of line segments from the first vertex to
  800.             the last, then back to the first.  Vertices n and n+1 define line
  801.             n.  The last line, however, is defined by vertices N and 1.  N
  802.             lines are drawn.
  803.  
  804.   GL_TRIANGLES
  805.             Treates each triplet of vertices as an independent triangle.
  806.             Vertices 3n-2, 3n-1, and 3n define triangle n.  N/3 triangles are
  807.             drawn.
  808.  
  809.   GL_TRIANGLE_STRIP
  810.             Draws a connected group of triangles.  One triangle is defined
  811.             for each vertex presented after the first two vertices.  For odd
  812.             n, vertices n, n+1, and n+2 define triangle n.  For even n,
  813.             vertices n+1, n, and n+2 define triangle n.  N-2 triangles are
  814.             drawn.
  815.  
  816.   GL_TRIANGLE_FAN
  817.             Draws a connected group of triangles.  One triangle is defined
  818.             for each vertex presented after the first two vertices.  Vertices
  819.             1, n+1, and n+2 define triangle n.  N-2 triangles are drawn.
  820.  
  821.   GL_QUADS  Treats each group of four vertices as an independent
  822.             quadrilateral.  Vertices 4n-3, 4n-2, 4n-1, and 4n define
  823.             quadrilateral n.  N/4 quadrilaterals are drawn.
  824.  
  825.   GL_QUAD_STRIP
  826.             Draws a connected group of quadrilaterals.  One quadrilateral is
  827.             defined for each pair of vertices presented after the first pair.
  828.             Vertices 2n-1, 2n, 2n+2, and 2n+1 define quadrilateral n.  N/2-1
  829.             quadrilaterals are drawn.  Note that the order in which vertices
  830.             are used to construct a quadrilateral from strip data is
  831.             different from that used with independent data.
  832.  
  833.   GL_POLYGON
  834.             Draws a single, convex polygon.  Vertices 1 through N define this
  835.             polygon.
  836.  
  837.   Only a subset of GL commands can be used between glBegin and glEnd.  The
  838.   commands are glVertex, glColor, glIndex, glNormal, glTexCoord,
  839. glEvalCoord,
  840.   glEvalPoint, glMaterial, and glEdgeFlag.  Also, it is acceptable to use
  841.   glCallList or glCallLists to execute display lists that include only the
  842.   preceding commands.  If any other GL command is executed between glBegin
  843.   and glEnd, the error flag is set and the command is ignored.
  844.  
  845.   Regardless of the value chosen for mode, there is no limit to the number of
  846.   vertices that can be defined between glBegin and glEnd.  Lines, triangles,
  847.   quadrilaterals, and polygons that are incompletely specified are not drawn.
  848.   Incomplete specification results when either too few vertices are provided
  849.   to specify even a single primitive or when an incorrect multiple of
  850.   vertices is specified. The incomplete primitive is ignored; the rest are
  851.   drawn.
  852.  
  853.   The minimum specification of vertices for each primitive is as follows: 1
  854.   for a point, 2 for a line, 3 for a triangle, 4 for a quadrilateral, and 3
  855.   for a polygon.  Modes that require a certain multiple of vertices are
  856.   GL_LINES (2), GL_TRIANGLES (3), GL_QUADS (4), and GL_QUAD_STRIP (2).
  857.  
  858.  
  859.  
  860. Errors 
  861.  
  862.   GL_INVALID_ENUM is generated if mode is set to an unaccepted value.
  863.  
  864.   GL_INVALID_OPERATION is generated if a command other than glVertex,
  865.   glColor, glIndex, glNormal, glTexCoord, glEvalCoord, glEvalPoint,
  866.   glMaterial, glEdgeFlag, glCallList, or glCallLists is executed between
  867.   glBegin and the corresponding glEnd.
  868.  
  869.   GL_INVALID_OPERATION is generated if a glBegin is executed between a
  870.   glBegin and the corresponding execution of glEnd.
  871.  
  872.   GL_INVALID_OPERATION is generated if glEnd is executed without being
  873.   preceded by a glBegin.
  874.  
  875.  
  876.  
  877. See Also 
  878.  
  879.   glCallList, glCallLists, glColor, glEdgeFlag, glEvalCoord, glEvalPoint,
  880.   glIndex, glMaterial, glNormal, glTexCoord, glVertex
  881.  
  882.  
  883.  
  884. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  885.  
  886.  Introduction | Alphabetic | Specification 
  887.  
  888. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  889. Look here for legal stuff:  Legal 
  890.  
  891.  
  892. ΓòÉΓòÉΓòÉ 3.5. glBitmap ΓòÉΓòÉΓòÉ
  893.  
  894.  OpenGL man pages 
  895.  
  896. glBitmap 
  897.  
  898.  
  899.  
  900.  
  901.  
  902.  
  903. Name 
  904.  
  905.   glBitmap - draw a bitmap
  906.  
  907.  
  908.  
  909.  
  910. C Specification 
  911.  
  912.   void glBitmap( GLsizei width,
  913.                  GLsizei height,
  914.                  GLfloat xorig,
  915.                  GLfloat yorig,
  916.                  GLfloat xmove,
  917.                  GLfloat ymove,
  918.                  const GLubyte *bitmap )
  919.  
  920.  
  921.  
  922.  
  923. Parameters 
  924.  
  925.  
  926.   width, height Specify the pixel width and height of the bitmap image.
  927.  
  928.  
  929.   xorig, yorig  Specify the location of the origin in the bitmap image.  The
  930.                 origin is measured from the lower left corner of the bitmap,
  931.                 with right and up being the positive axes.
  932.  
  933.  
  934.   xmove, ymove  Specify the x and y offsets to be added to the current raster
  935.                 position after the bitmap is drawn.
  936.  
  937.  
  938.   bitmap        Specifies the address of the bitmap image.
  939.  
  940.  
  941.  
  942.  
  943. Description 
  944.  
  945.   A bitmap is a binary image.  When drawn, the bitmap is positioned relative
  946.   to the current raster position, and frame buffer pixels corresponding to
  947.   ones in the bitmap are written using the current raster color or index.
  948.   Frame buffer pixels corresponding to zeros in the bitmap are not modified.
  949.  
  950.   glBitmap takes seven arguments.  The first pair specify the width and
  951.   height of the bitmap image.  The second pair specify the location of the
  952.   bitmap origin relative to the lower left corner of the bitmap image.  The
  953.   third pair of arguments specify x and y offsets to be added to the current
  954.   raster position after the bitmap has been drawn.  The final argument is a
  955.   pointer to the bitmap image itself.
  956.  
  957.   The bitmap image is interpreted like image data for the glDrawPixels
  958.   command, with width and height corresponding to the width and height
  959.   arguments of that command, and with type set to GL_BITMAP and format set to
  960.   GL_COLOR_INDEX.  Modes specified using glPixelStore affect the
  961.   interpretation of bitmap image data; modes specified using glPixelTransfer
  962.   do not.
  963.  
  964.   If the current raster position is invalid, glBitmap is ignored.  Otherwise,
  965.   the lower left corner of the bitmap image is positioned at the window
  966.   coordinates
  967.  
  968.                                x  = floor (x - x )
  969.                                 w           r   o
  970.  
  971.                                y  = floor (y - y )
  972.                                 w           r   o
  973.  
  974.   where (x ,y ) is the raster position and (x ,y ) is the bitmap origin.
  975.           r  r                               o  o
  976.  
  977.   Fragments are then generated for each pixel corresponding to a one in the
  978.   bitmap image.  These fragments are generated using the current raster z
  979.   coordinate, color or color index, and current raster texture coordinates.
  980.   They are then treated just as if they had been generated by a point, line,
  981.   or polygon, including texture mapping, fogging, and all per-fragment
  982.   operations such as alpha and depth testing.
  983.  
  984.   After the bitmap has been drawn, the x and y coordinates of the current
  985.   raster position are offset by xmove and ymove.  No change is made to the z
  986.   coordinate of the current raster position, or to the current raster color,
  987.   index, or texture coordinates.
  988.  
  989.  
  990.  
  991. Errors 
  992.  
  993.   GL_INVALID_VALUE is generated if width or height is negative.
  994.  
  995.   GL_INVALID_OPERATION is generated if glBitmap is executed between the
  996.   execution of glBegin and the corresponding execution of glEnd.
  997.  
  998.  
  999.  
  1000. Associated Gets 
  1001.  
  1002.   glGet with argument GL_CURRENT_RASTER_POSITION
  1003.   glGet with argument GL_CURRENT_RASTER_COLOR
  1004.   glGet with argument GL_CURRENT_RASTER_INDEX
  1005.   glGet with argument GL_CURRENT_RASTER_TEXTURE_COORDS
  1006.   glGet with argument GL_CURRENT_RASTER_POSITION_VALID
  1007.  
  1008.  
  1009.  
  1010. See Also 
  1011.  
  1012.   glDrawPixels, glRasterPos, glPixelStore, glPixelTransfer
  1013.  
  1014. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  1015.  
  1016.  Introduction | Alphabetic | Specification 
  1017.  
  1018. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  1019. Look here for legal stuff:  Legal 
  1020.  
  1021.  
  1022. ΓòÉΓòÉΓòÉ 3.6. glBlendFunc ΓòÉΓòÉΓòÉ
  1023.  
  1024.  OpenGL man pages 
  1025.  
  1026. glBlendFunc 
  1027.  
  1028.  
  1029.  
  1030.  
  1031.  
  1032.  
  1033. Name 
  1034.  
  1035.   glBlendFunc - specify pixel arithmetic
  1036.  
  1037.  
  1038.  
  1039.  
  1040. C Specification 
  1041.  
  1042.   void glBlendFunc( GLenum sfactor,
  1043.                     GLenum dfactor )
  1044.  
  1045.  
  1046.  
  1047.  
  1048. Parameters 
  1049.  
  1050.  
  1051.   sfactor  Specifies how the red, green, blue, and alpha source blending
  1052.            factors are computed.  Nine symbolic constants are accepted:
  1053.            GL_ZERO, GL_ONE, GL_DST_COLOR, GL_ONE_MINUS_DST_COLOR,
  1054.            GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_DST_ALPHA,
  1055.            GL_ONE_MINUS_DST_ALPHA, and GL_SRC_ALPHA_SATURATE.
  1056.  
  1057.   dfactor  Specifies how the red, green, blue, and alpha destination blending
  1058.            factors are computed.  Eight symbolic constants are accepted:
  1059.            GL_ZERO, GL_ONE, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR,
  1060.            GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_DST_ALPHA, and
  1061.            GL_ONE_MINUS_DST_ALPHA.
  1062.  
  1063.  
  1064.  
  1065.  
  1066. Description 
  1067.  
  1068.   In RGB mode, pixels can be drawn using a function that blends the incoming
  1069.   (source) RGBA values with the RGBA values that are already in the frame
  1070.   buffer (the destination values).  By default, blending is disabled.  Use
  1071.   glEnable and glDisable with argument GL_BLEND to enable and disable
  1072.   blending.
  1073.  
  1074.   glBlendFunc defines the operation of blending when it is enabled.  sfactor
  1075.   specifies which of nine methods is used to scale the source color
  1076.   components.  dfactor specifies which of eight methods is used to scale the
  1077.   destination color components.  The eleven possible methods are described in
  1078.   the table below.  Each method defines four scale factors, one each for red,
  1079.   green, blue, and alpha.
  1080.  
  1081.   In the table and in subsequent equations, source and destination color
  1082.   components are referred to as (R ,G ,B ,A ) and (R ,G ,B ,A ).  They are
  1083.                                   s  s  s  s        d  d  d  d
  1084.   understood to have integer values between zero and (k ,k ,k ,k ), where
  1085.                                                        R  G  B  A
  1086.                                           mc
  1087.                                     k  = 2   - 1
  1088.                                      c
  1089.  
  1090.   and (mR,mG,mB,mA) is the number of red, green, blue, and alpha bitplanes.
  1091.  
  1092.   Source and destination scale factors are referred to as (s ,s ,s ,s ) and
  1093.                                                             R  G  B  A
  1094.   (d ,d ,d ,d ).  The scale factors described in the table, denoted
  1095.     R  G  B  A
  1096.   (f ,f ,f ,f ), represent either source or destination factors.  All scale
  1097.     R  G  B  A
  1098.   factors have range [0,1].
  1099.  
  1100.  
  1101.  
  1102.     -----------------------------------------------------------------------
  1103.     |     parameter         |            (f ,  f ,  f ,  f )              |
  1104.     |                       |              R    G    B    A               |
  1105.     -----------------------------------------------------------------------
  1106.     |                       |                                             |
  1107.     |       GL_ZERO         |                (0, 0, 0, 0)                 |
  1108.     |                       |                                             |
  1109.     |        GL_ONE         |                (1, 1, 1, 1)                 |
  1110.     |                       |                                             |
  1111.     |     GL_SRC_COLOR      |        (R /k , G /k , B /k , A /k )         |
  1112.     |                       |          s  R   s  G   s  B   s  A          |
  1113.     |                       |                                             |
  1114.     |GL_ONE_MINUS_SRC_COLOR | (1, 1, 1, 1) - (R /k , G /k , B /k , A /k ) |
  1115.     |                       |                  s  R   s  G   s  B   s  A  |
  1116.     |                       |                                             |
  1117.     |     GL_DST_COLOR      |        (R /k , G /k , B /k , A /k )         |
  1118.     |                       |          d  R   d  G   d  B   d  A          |
  1119.     |                       |                                             |
  1120.     |GL_ONE_MINUS_DST_COLOR | (1, 1, 1, 1) - (R /k , G /k , B /k , A /k ) |
  1121.     |                       |                  d  R   d  G   d  B   d  A  |
  1122.     |                       |                                             |
  1123.     |     GL_SRC_ALPHA      |        (A /k , A /k , A /k , A /k )         |
  1124.     |                       |          s  R   s  G   s  B   s  A          |
  1125.     |                       |                                             |
  1126.     |                       |                                             |
  1127.     |GL_ONE_MINUS_SRC_ALPHA | (1, 1, 1, 1) - (A /k , A /k , A /k , A /k ) |
  1128.     |                       |                  s  R   s  G   s  B   s  A  |
  1129.     |                       |                                             |
  1130.     |                       |                                             |
  1131.     |     GL_DST_ALPHA      |        (A /k , A /k , A /k , A /k )         |
  1132.     |                       |          d  R   d  G   d  B   d  A          |
  1133.     |                       |                                             |
  1134.     |GL_ONE_MINUS_DST_ALPHA | (1, 1, 1, 1) - (A /k , A /k , A /k , A /k ) |
  1135.     |                       |                  d  R   d  G   d  B   d  A  |
  1136.     |                       |                                             |
  1137.     |                       |                                             |
  1138.     |GL_SRC_ALPHA_SATURATE  |                (i,  i,  i,  1)              |
  1139.     |                       |                                             |
  1140.     -----------------------------------------------------------------------
  1141.  
  1142.   In the table,
  1143.  
  1144.                             i = min(A , k -A ) / k
  1145.                                      s   A  d     A
  1146.  
  1147.   To determine the blended RGBA values of a pixel when drawing in RGB mode,
  1148.   the system uses the following equations:
  1149.  
  1150.                               R  = min(k ,  R s +R d )
  1151.                                d        R    s R  d R
  1152.  
  1153.                               G  = min(k ,  G s +G d )
  1154.                                d        G    s G  d G
  1155.  
  1156.                               B  = min(k ,  B s +B d )
  1157.                                d        B    s B  d B
  1158.  
  1159.                               A  = min(k ,  A s +A d )
  1160.                                d        A    s A  d A
  1161.  
  1162.   Despite the apparent precision of the above equations, blending arithmetic
  1163.   is not exactly specified, because blending operates with imprecise integer
  1164.   color values.  However, a blend factor that should be equal to one is
  1165.   guaranteed not to modify its multiplicand, and a blend factor equal to zero
  1166.   reduces its multiplicand to zero.  Thus, for example, when sfactor is
  1167.   GL_SRC_ALPHA, dfactor is GL_ONE_MINUS_SRC_ALPHA, and A  is equal to k  the
  1168.                                                          s              A
  1169.   equations reduce to simple replacement:
  1170.  
  1171.                                       R  = R
  1172.                                        d    s
  1173.  
  1174.                                       G  = G
  1175.                                        d    s
  1176.  
  1177.                                       B  = B
  1178.                                        d    s
  1179.  
  1180.                                       A  = A
  1181.                                        d    s
  1182.  
  1183.  
  1184.  
  1185. Examples 
  1186.  
  1187.  
  1188.   Transparency is best implemented using blend function (GL_SRC_ALPHA,
  1189.   GL_ONE_MINUS_SRC_ALPHA) with primitives sorted from farthest to nearest.
  1190.   Note that this transparency calculation does not require the presence of
  1191.   alpha bitplanes in the frame buffer.
  1192.  
  1193.   Blend function (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA) is also useful for
  1194.   rendering antialiased points and lines in arbitrary order.
  1195.  
  1196.   Polygon antialiasing is optimized using blend function
  1197.   (GL_SRC_ALPHA_SATURATE, GL_ONE) with polygons sorted from nearest to
  1198.   farthest.  (See the glEnable, glDisable reference page and the
  1199.   GL_POLYGON_SMOOTH argument for information on polygon antialiasing.)
  1200.   Destination alpha bitplanes, which must be present for this blend function
  1201.   to operate correctly, store the accumulated coverage.
  1202.  
  1203.  
  1204.  
  1205.  
  1206.  
  1207. Notes 
  1208.  
  1209.   Incoming (source) alpha is correctly thought of as a material opacity,
  1210.   ranging from 1.0 (K ), representing complete opacity, to 0.0 (0),
  1211.                      A
  1212.   representing complete transparency.
  1213.  
  1214.  
  1215.   When more than one color buffer is enabled for drawing, blending is done
  1216.   separately for each enabled buffer, using for destination color the
  1217.   contents of that buffer.  (See glDrawBuffer.)
  1218.  
  1219.   Blending affects only RGB rendering.  It is ignored by color index
  1220.   renderers.
  1221.  
  1222.  
  1223.  
  1224.  
  1225. Errors 
  1226.  
  1227.   GL_INVALID_ENUM is generated if either sfactor or dfactor is not an
  1228.   accepted value.
  1229.  
  1230.   GL_INVALID_OPERATION is generated if glBlendFunc is executed between the
  1231.   execution of glBegin and the corresponding execution of glEnd.
  1232.  
  1233.  
  1234.  
  1235. Associated Gets 
  1236.  
  1237.   glGet with argument GL_BLEND_SRC
  1238.   glGet with argument GL_BLEND_DST
  1239.   glIsEnabled with argument GL_BLEND
  1240.  
  1241.  
  1242.  
  1243. See Also 
  1244.  
  1245.   glAlphaFunc, glClear, glDrawBuffer, glEnable, glLogicOp, glStencilFunc
  1246.  
  1247. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  1248.  
  1249.  Introduction | Alphabetic | Specification 
  1250.  
  1251. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  1252. Look here for legal stuff:  Legal 
  1253.  
  1254.  
  1255. ΓòÉΓòÉΓòÉ 3.7. glCallList ΓòÉΓòÉΓòÉ
  1256.  
  1257.  OpenGL man pages 
  1258.  
  1259. glCallList 
  1260.  
  1261.  
  1262.  
  1263.  
  1264.  
  1265.  
  1266. Name 
  1267.  
  1268.   glCallList - execute a display list
  1269.  
  1270.  
  1271.  
  1272.  
  1273. C Specification 
  1274.  
  1275.   void glCallList( GLuint list )
  1276.  
  1277.  
  1278.  
  1279.  
  1280. Parameters 
  1281.  
  1282.  
  1283.   list  Specifies the integer name of the display list to be executed.
  1284.  
  1285.  
  1286.  
  1287.  
  1288. Description 
  1289.  
  1290.   glCallList causes the named display list to be executed.  The commands
  1291.   saved in the display list are executed in order, just as if they were
  1292.   called without using a display list.  If list has not been defined as a
  1293.   display list, glCallList is ignored.
  1294.  
  1295.   glCallList can appear inside a display list.  To avoid the possibility of
  1296.   infinite recursion resulting from display lists calling one another, a
  1297.   limit is placed on the nesting level of display lists during display-list
  1298.   execution.  This limit is at least 64, and it depends on the
  1299.   implementation.
  1300.  
  1301.   GL state is not saved and restored across a call to glCallList.  Thus,
  1302.   changes made to GL state during the execution of a display list remain
  1303.   after execution of the display list is completed.  Use glPushAttrib,
  1304.   glPopAttrib, glPushMatrix, and glPopMatrix to preserve GL state across
  1305.   glCallList calls.
  1306.  
  1307.  
  1308.  
  1309. Notes 
  1310.  
  1311.   Display lists can be executed between a call to glBegin and the
  1312.   corresponding call to glEnd, as long as the display list includes only
  1313.   commands that are allowed in this interval.
  1314.  
  1315.  
  1316.  
  1317. Associated Gets 
  1318.  
  1319.   glGet with argument GL_MAX_LIST_NESTING
  1320.   glIsList
  1321.  
  1322.  
  1323.  
  1324. See Also 
  1325.  
  1326.   glCallLists, glDeleteLists, glGenLists, glNewList, glPushAttrib,
  1327.   glPushMatrix
  1328.  
  1329.  
  1330.  
  1331. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  1332.  
  1333.  Introduction | Alphabetic | Specification 
  1334.  
  1335. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  1336. Look here for legal stuff:  Legal 
  1337.  
  1338.  
  1339. ΓòÉΓòÉΓòÉ 3.8. glCallLists ΓòÉΓòÉΓòÉ
  1340.  
  1341.  OpenGL man pages 
  1342.  
  1343. glCallLists 
  1344.  
  1345.  
  1346.  
  1347.  
  1348.  
  1349.  
  1350. Name 
  1351.  
  1352.   glCallLists - execute a list of display lists
  1353.  
  1354.  
  1355.  
  1356.  
  1357. C Specification 
  1358.  
  1359.   void glCallLists( GLsizei n,
  1360.                     GLenum type,
  1361.                     const GLvoid *lists )
  1362.  
  1363.  
  1364.  
  1365.  
  1366. Parameters 
  1367.  
  1368.  
  1369.   n      Specifies the number of display lists to be executed.
  1370.  
  1371.  
  1372.   type   Specifies the type of values in lists.  Symbolic constants GL_BYTE,
  1373.          GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT,
  1374.          GL_UNSIGNED_INT, GL_FLOAT, GL_2_BYTES, GL_3_BYTES, and GL_4_BYTES
  1375.          are accepted.
  1376.  
  1377.  
  1378.   lists  Specifies the address of an array of name offsets in the display
  1379.          list.  The pointer type is void because the offsets can be bytes,
  1380.          shorts, ints, or floats, depending on the value of type.
  1381.  
  1382.  
  1383.  
  1384.  
  1385. Description 
  1386.  
  1387.   glCallLists causes each display list in the list of names passed as lists
  1388.   to be executed.  As a result, the commands saved in each display list are
  1389.   executed in order, just as if they were called without using a display
  1390.   list.  Names of display lists that have not been defined are ignored.
  1391.  
  1392.   glCallLists provides an efficient means for executing display lists.  type
  1393.   allows lists with various name formats to be accepted.  The formats are as
  1394.   follows:
  1395.  
  1396.   GL_BYTE                  lists is treated as an array of signed bytes, each
  1397.                            in the range -128 through 127.
  1398.  
  1399.   GL_UNSIGNED_BYTE         lists is treated as an array of unsigned bytes,
  1400.                            each in the range 0 through 255.
  1401.  
  1402.   GL_SHORT                 lists is treated as an array of signed two-byte
  1403.                            integers, each in the range -32768 through 32767.
  1404.  
  1405.   GL_UNSIGNED_SHORT        lists is treated as an array of unsigned two-byte
  1406.                            integers, each in the range 0 through 65535.
  1407.  
  1408.   GL_INT                   lists is treated as an array of signed four-byte
  1409.                            integers.
  1410.  
  1411.   GL_UNSIGNED_INT          lists is treated as an array of unsigned four-byte
  1412.                            integers.
  1413.  
  1414.   GL_FLOAT                 lists is treated as an array of four-byte
  1415.                            floating-point values.
  1416.  
  1417.   GL_2_BYTES               lists is treated as an array of unsigned bytes.
  1418.                            Each pair of bytes specifies a single display-list
  1419.                            name.  The value of the pair is computed as 256
  1420.                            times the unsigned value of the first byte plus
  1421.                            the unsigned value of the second byte.
  1422.  
  1423.   GL_3_BYTES               lists is treated as an array of unsigned bytes.
  1424.                            Each triplet of bytes specifies a single display-
  1425.                            list name.  The value of the triplet is computed
  1426.                            as 65536 times the unsigned value of the first
  1427.                            byte, plus 256 times the unsigned value of the
  1428.                            second byte, plus the unsigned value of the third
  1429.                            byte.
  1430.  
  1431.   GL_4_BYTES               lists is treated as an array of unsigned bytes.
  1432.                            Each  quadruplet of bytes specifies a single
  1433.                            display-list name.  The value of the quadruplet is
  1434.                            computed as 16777216 times the unsigned value of
  1435.                            the first byte, plus 65536 times the unsigned
  1436.                            value of the second byte, plus 256 times the
  1437.                            unsigned value of the third byte, plus the
  1438.                            unsigned value of the fourth byte.
  1439.  
  1440.   The list of display list names is not null-terminated.  Rather, n specifies
  1441.   how many names are to be taken from lists.
  1442.  
  1443.   An additional level of indirection is made available with the glListBase
  1444.   command, which specifies an unsigned offset that is added to each display-
  1445.   list name specified in lists before that display list is executed.
  1446.  
  1447.   glCallLists can appear inside a display list.  To avoid the possibility of
  1448.   infinite recursion resulting from display lists calling one another, a
  1449.   limit is placed on the nesting level of display lists during display-list
  1450.   execution.  This limit must be at least 64, and it depends on the
  1451.   implementation.
  1452.  
  1453.   GL state is not saved and restored across a call to glCallLists.  Thus,
  1454.   changes made to GL state during the execution of the display lists remain
  1455.   after execution is completed.  Use glPushAttrib, glPopAttrib, glPushMatrix,
  1456.   and glPopMatrix to preserve GL state across glCallLists calls.
  1457.  
  1458.  
  1459.  
  1460. Notes 
  1461.  
  1462.   Display lists can be executed between a call to glBegin and the
  1463.   corresponding call to glEnd, as long as the display list includes only
  1464.   commands that are allowed in this interval.
  1465.  
  1466.  
  1467.  
  1468. Errors 
  1469.  
  1470.   GL_INVALID_VALUE is generated if n is negative.
  1471.  
  1472.   GL_INVALID_ENUM is generated if type is not one of GL_BYTE,
  1473.   GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT,
  1474.   GL_FLOAT, GL_2_BYTES, GL_3_BYTES, GL_4_BYTES.
  1475.  
  1476.  
  1477.  
  1478.  
  1479. Associated Gets 
  1480.  
  1481.   glGet with argument GL_LIST_BASE
  1482.   glGet with argument GL_MAX_LIST_NESTING
  1483.   glIsList
  1484.  
  1485.  
  1486.  
  1487.  
  1488.  
  1489. See Also 
  1490.  
  1491.   glCallList, glDeleteLists, glGenLists, glListBase, glNewList, glPushAttrib,
  1492.   glPushMatrix
  1493.  
  1494.  
  1495.  
  1496. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  1497.  
  1498.  Introduction | Alphabetic | Specification 
  1499.  
  1500. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  1501. Look here for legal stuff:  Legal 
  1502.  
  1503.  
  1504. ΓòÉΓòÉΓòÉ 3.9. glClear ΓòÉΓòÉΓòÉ
  1505.  
  1506.  OpenGL man pages 
  1507.  
  1508. glClear 
  1509.  
  1510.  
  1511.  
  1512.  
  1513.  
  1514.  
  1515. Name 
  1516.  
  1517.   glClear - clear buffers to preset values
  1518.  
  1519.  
  1520.  
  1521.  
  1522. C Specification 
  1523.  
  1524.   void glClear( GLbitfield mask )
  1525.  
  1526.  
  1527.  
  1528.  
  1529. Parameters 
  1530.  
  1531.  
  1532.   mask  Bitwise OR of masks that indicate the buffers to be cleared.  The
  1533.         four masks are GL_COLOR_BUFFER_BIT, GL_DEPTH_BUFFER_BIT,
  1534.         GL_ACCUM_BUFFER_BIT, and GL_STENCIL_BUFFER_BIT.
  1535.  
  1536.  
  1537.  
  1538.  
  1539. Description 
  1540.  
  1541.   glClear sets the bitplane area of the window to values previously selected
  1542.   by glClearColor, glClearIndex, glClearDepth, glClearStencil, and
  1543.   glClearAccum.  Multiple color buffers can be cleared simultaneously by
  1544.   selecting more than one buffer at a time using glDrawBuffer.
  1545.  
  1546.   The pixel ownership test, the scissor test, dithering, and the buffer
  1547.   writemasks affect the operation of glClear.  The scissor box bounds the
  1548.   cleared region.  Alpha function, blend function, logical operation,
  1549.   stenciling, texture mapping, and z-buffering are ignored by glClear.
  1550.  
  1551.   glClear takes a single argument that is the bitwise OR of several values
  1552.   indicating which buffer is to be cleared.
  1553.  
  1554.   The values are as follows:
  1555.  
  1556.   GL_COLOR_BUFFER_BIT         Indicates the buffers currently enabled for
  1557.                               color  writing.
  1558.  
  1559.   GL_DEPTH_BUFFER_BIT         Indicates the depth buffer.
  1560.  
  1561.   GL_ACCUM_BUFFER_BIT         Indicates the accumulation buffer.
  1562.  
  1563.   GL_STENCIL_BUFFER_BIT       Indicates the stencil buffer.
  1564.  
  1565.   The value to which each buffer is cleared depends on the setting of the
  1566.   clear value for that buffer.
  1567.  
  1568.  
  1569.  
  1570. Notes 
  1571.  
  1572.   If a buffer is not present, then a glClear directed at that buffer has no
  1573.   effect.
  1574.  
  1575.  
  1576.  
  1577. Errors 
  1578.  
  1579.   GL_INVALID_VALUE is generated if any bit other than the four defined bits
  1580.   is set in mask.
  1581.  
  1582.   GL_INVALID_OPERATION is generated if glClear is executed between the
  1583.   execution of glBegin and the corresponding execution of glEnd.
  1584.  
  1585.  
  1586.  
  1587. Associated Gets 
  1588.  
  1589.   glGet with argument GL_ACCUM_CLEAR_VALUE
  1590.   glGet with argument GL_DEPTH_CLEAR_VALUE
  1591.   glGet with argument GL_INDEX_CLEAR_VALUE
  1592.   glGet with argument GL_COLOR_CLEAR_VALUE
  1593.   glGet with argument GL_STENCIL_CLEAR_VALUE
  1594.  
  1595.  
  1596.  
  1597. See Also 
  1598.  
  1599.   glClearAccum, glClearColor, glClearDepth, glClearIndex, glClearStencil,
  1600.   glDrawBuffer, glScissor
  1601.  
  1602.  
  1603.  
  1604. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  1605.  
  1606.  Introduction | Alphabetic | Specification 
  1607.  
  1608. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  1609. Look here for legal stuff:  Legal 
  1610.  
  1611.  
  1612. ΓòÉΓòÉΓòÉ 3.10. glClearAccum ΓòÉΓòÉΓòÉ
  1613.  
  1614.  OpenGL man pages 
  1615.  
  1616. glClearAccum 
  1617.  
  1618.  
  1619.  
  1620.  
  1621.  
  1622.  
  1623. Name 
  1624.  
  1625.   glClearAccum - specify clear values for the accumulation buffer
  1626.  
  1627.  
  1628.  
  1629.  
  1630. C Specification 
  1631.  
  1632.   void glClearAccum( GLfloat red,
  1633.                      GLfloat green,
  1634.                      GLfloat blue,
  1635.                      GLfloat alpha )
  1636.  
  1637.  
  1638.  
  1639.  
  1640. Parameters 
  1641.  
  1642.  
  1643.   red, green, blue, alpha
  1644.                         Specify the red, green, blue, and alpha values used
  1645.                         when the accumulation buffer is cleared.  The default
  1646.                         values are all zero.
  1647.  
  1648.  
  1649.  
  1650.  
  1651. Description 
  1652.  
  1653.   glClearAccum specifies the red, green, blue, and alpha values used by
  1654.   glClear to clear the accumulation buffer.
  1655.  
  1656.   Values specified by glClearAccum are clamped to the range [-1,1].
  1657.  
  1658.  
  1659.  
  1660. Errors 
  1661.  
  1662.   GL_INVALID_OPERATION is generated if glClearAccum is executed between the
  1663.   execution of glBegin and the corresponding execution of glEnd.
  1664.  
  1665.  
  1666.  
  1667.  
  1668. Associated Gets 
  1669.  
  1670.   glGet with argument GL_ACCUM_CLEAR_VALUE
  1671.  
  1672.  
  1673.  
  1674.  
  1675. See Also 
  1676.  
  1677.   glClear
  1678.  
  1679.  
  1680.  
  1681. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  1682.  
  1683.  Introduction | Alphabetic | Specification 
  1684.  
  1685. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  1686. Look here for legal stuff:  Legal 
  1687.  
  1688.  
  1689. ΓòÉΓòÉΓòÉ 3.11. glClearColor ΓòÉΓòÉΓòÉ
  1690.  
  1691.  OpenGL man pages 
  1692.  
  1693. glClearColor 
  1694.  
  1695.  
  1696.  
  1697.  
  1698.  
  1699.  
  1700. Name 
  1701.  
  1702.   glClearColor - specify clear values for the color buffers
  1703.  
  1704.  
  1705.  
  1706.  
  1707. C Specification 
  1708.  
  1709.   void glClearColor( GLclampf red,
  1710.                      GLclampf green,
  1711.                      GLclampf blue,
  1712.                      GLclampf alpha )
  1713.  
  1714.  
  1715.  
  1716.  
  1717. Parameters 
  1718.  
  1719.  
  1720.   red, green, blue, alpha
  1721.                         Specify the red, green, blue, and alpha values used
  1722.                         when the color buffers are cleared.  The default
  1723.                         values are all zero.
  1724.  
  1725.  
  1726.  
  1727.  
  1728. Description 
  1729.  
  1730.   glClearColor specifies the red, green, blue, and alpha values used by
  1731.   glClear to clear the color buffers.  Values specified by glClearColor are
  1732.   clamped to the range [0,1].
  1733.  
  1734.  
  1735.  
  1736. Errors 
  1737.  
  1738.   GL_INVALID_OPERATION is generated if glClearColor is executed between the
  1739.   execution of glBegin and the corresponding execution of glEnd.
  1740.  
  1741.  
  1742.  
  1743. Associated Gets 
  1744.  
  1745.   glGet with argument GL_COLOR_CLEAR_VALUE
  1746.  
  1747.  
  1748.  
  1749. See Also 
  1750.  
  1751.   glClear
  1752.  
  1753.  
  1754.  
  1755. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  1756.  
  1757.  Introduction | Alphabetic | Specification 
  1758.  
  1759. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  1760. Look here for legal stuff:  Legal 
  1761.  
  1762.  
  1763. ΓòÉΓòÉΓòÉ 3.12. glClearDepth ΓòÉΓòÉΓòÉ
  1764.  
  1765.  OpenGL man pages 
  1766.  
  1767. glClearDepth 
  1768.  
  1769.  
  1770.  
  1771.  
  1772.  
  1773.  
  1774. Name 
  1775.  
  1776.   glClearDepth - specify the clear value for the depth buffer
  1777.  
  1778.  
  1779.  
  1780.  
  1781. C Specification 
  1782.  
  1783.   void glClearDepth( GLclampd depth )
  1784.  
  1785.  
  1786.  
  1787.  
  1788. Parameters 
  1789.  
  1790.  
  1791.   depth  Specifies the depth value used when the depth buffer is cleared.
  1792.  
  1793.  
  1794.  
  1795.  
  1796. Description 
  1797.  
  1798.   glClearDepth specifies the depth value used by glClear to clear the depth
  1799.   buffer.  Values specified by glClearDepth are clamped to the range [0,1].
  1800.  
  1801.  
  1802.  
  1803. Errors 
  1804.  
  1805.   GL_INVALID_OPERATION is generated if glClearDepth is executed between the
  1806.   execution of glBegin and the corresponding execution of glEnd.
  1807.  
  1808.  
  1809.  
  1810. Associated Gets 
  1811.  
  1812.   glGet with argument GL_DEPTH_CLEAR_VALUE
  1813.  
  1814.  
  1815.  
  1816. See Also 
  1817.  
  1818.   glClear
  1819.  
  1820.  
  1821.  
  1822. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  1823.  
  1824.  Introduction | Alphabetic | Specification 
  1825.  
  1826. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  1827. Look here for legal stuff:  Legal 
  1828.  
  1829.  
  1830. ΓòÉΓòÉΓòÉ 3.13. glClearIndex ΓòÉΓòÉΓòÉ
  1831.  
  1832.  OpenGL man pages 
  1833.  
  1834. glClearIndex 
  1835.  
  1836.  
  1837.  
  1838.  
  1839.  
  1840.  
  1841. Name 
  1842.  
  1843.   glClearIndex - specify the clear value for the color index buffers
  1844.  
  1845.  
  1846.  
  1847.  
  1848. C Specification 
  1849.  
  1850.   void glClearIndex( GLfloat c )
  1851.  
  1852.  
  1853.  
  1854.  
  1855. Parameters 
  1856.  
  1857.  
  1858.   c  Specifies the index used when the color index buffers are cleared.  The
  1859.      default value is zero.
  1860.  
  1861.  
  1862.  
  1863.  
  1864. Description 
  1865.  
  1866.   glClearIndex specifies the index used by glClear to clear the color index
  1867.   buffers.  c is not clamped.  Rather, c is converted to a fixed-point value
  1868.   with unspecified precision to the right of the binary point.  The integer
  1869.   part of this value is then masked with 2m-1, where m is the number of bits
  1870.   in a color index stored in the frame buffer.
  1871.  
  1872.  
  1873.  
  1874. Errors 
  1875.  
  1876.   GL_INVALID_OPERATION is generated if glClearIndex is executed between the
  1877.   execution of glBegin and the corresponding execution of glEnd.
  1878.  
  1879.  
  1880.  
  1881. Associated Gets 
  1882.  
  1883.   glGet with argument GL_INDEX_CLEAR_VALUE
  1884.   glGet with argument GL_INDEX_BITS
  1885.  
  1886.  
  1887.  
  1888. See Also 
  1889.  
  1890.   glClear
  1891.  
  1892.  
  1893.  
  1894. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  1895.  
  1896.  Introduction | Alphabetic | Specification 
  1897.  
  1898. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  1899. Look here for legal stuff:  Legal 
  1900.  
  1901.  
  1902. ΓòÉΓòÉΓòÉ 3.14. glClearStencil ΓòÉΓòÉΓòÉ
  1903.  
  1904.  OpenGL man pages 
  1905.  
  1906. glClearStencil 
  1907.  
  1908.  
  1909.  
  1910.  
  1911.  
  1912.  
  1913. Name 
  1914.  
  1915.   glClearStencil - specify the clear value for the stencil buffer
  1916.  
  1917.  
  1918.  
  1919.  
  1920. C Specification 
  1921.  
  1922.   void glClearStencil( GLint s )
  1923.  
  1924.  
  1925.  
  1926.  
  1927. Parameters 
  1928.  
  1929.  
  1930.   s  Specifies the index used when the stencil buffer is cleared.  The
  1931.      default value is zero.
  1932.  
  1933.  
  1934.  
  1935.  
  1936. Description 
  1937.  
  1938.   glClearStencil specifies the index used by glClear to clear the stencil
  1939.   buffer.  s is masked with 2m-1, where m is the number of bits in the
  1940.   stencil buffer.
  1941.  
  1942.  
  1943.  
  1944. Errors 
  1945.  
  1946.   GL_INVALID_OPERATION is generated if glClearStencil is executed between the
  1947.   execution of glBegin and the corresponding execution of glEnd.
  1948.  
  1949.  
  1950.  
  1951. Associated Gets 
  1952.  
  1953.   glGet with argument GL_STENCIL_CLEAR_VALUE
  1954.   glGet with argument GL_STENCIL_BITS
  1955.  
  1956.  
  1957.  
  1958. See Also 
  1959.  
  1960.   glClear
  1961.  
  1962.  
  1963.  
  1964. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  1965.  
  1966.  Introduction | Alphabetic | Specification 
  1967.  
  1968. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  1969. Look here for legal stuff:  Legal 
  1970.  
  1971.  
  1972. ΓòÉΓòÉΓòÉ 3.15. glClipPlane ΓòÉΓòÉΓòÉ
  1973.  
  1974.  OpenGL man pages 
  1975.  
  1976. glClipPlane 
  1977.  
  1978.  
  1979.  
  1980.  
  1981.  
  1982.  
  1983. Name 
  1984.  
  1985.   glClipPlane - specify a plane against which all geometry is clipped
  1986.  
  1987.  
  1988.  
  1989.  
  1990. C Specification 
  1991.  
  1992.   void glClipPlane( GLenum plane,
  1993.                     const GLdouble *equation )
  1994.  
  1995.  
  1996.  
  1997.  
  1998. Parameters 
  1999.  
  2000.  
  2001.   plane     Specifies which clipping plane is being positioned.  Symbolic
  2002.             names of the form GL_CLIP_PLANEi, where i is an integer between 0
  2003.             and GL_MAX_CLIP_PLANES -1, are accepted.
  2004.  
  2005.   equation  Specifies the address of an array of four double-precision
  2006.             floating-point values.  These values are interpreted as a plane
  2007.             equation.
  2008.  
  2009.  
  2010.  
  2011.  
  2012. Description 
  2013.  
  2014.   Geometry is always clipped against the boundaries of a six-plane frustum in
  2015.   x, y, and z. glClipPlane allows the specification of additional planes, not
  2016.   necessarily perpendicular to the x, y, or z axis, against which all
  2017.   geometry is clipped.  Up to GL_MAX_CLIP_PLANES planes can be specified,
  2018.   where GL_MAX_CLIP_PLANES is at least six in all implementations.  Because
  2019.   the resulting clipping region is the intersection of the defined half-
  2020.   spaces, it is always convex.
  2021.  
  2022.   glClipPlane specifies a half-space using a four-component plane equation.
  2023.   When glClipPlane is called, equation is transformed by the inverse of the
  2024.   modelview matrix and stored in the resulting eye coordinates.  Subsequent
  2025.   changes to the modelview matrix have no effect on the stored plane-equation
  2026.   components.  If the dot product of the eye coordinates of a vertex with the
  2027.   stored plane equation components is positive or zero, the vertex is in with
  2028.   respect to that clipping plane.  Otherwise, it is out.
  2029.  
  2030.   Clipping planes are enabled and disabled with glEnable and glDisable, and
  2031.   called with the argument GL_CLIP_PLANEi, where i is the plane number.
  2032.  
  2033.   By default, all clipping planes are defined as (0,0,0,0) in eye coordinates
  2034.   and are disabled.
  2035.  
  2036.  
  2037.  
  2038. Notes 
  2039.  
  2040.   It is always the case that GL_CLIP_PLANEi = GL_CLIP_PLANE0 + i.
  2041.  
  2042.  
  2043.  
  2044. Errors 
  2045.  
  2046.   GL_INVALID_ENUM is generated if plane is not an accepted value.
  2047.  
  2048.   GL_INVALID_OPERATION is generated if glClipPlane is executed between the
  2049.   execution of glBegin and the corresponding execution of glEnd.
  2050.  
  2051.  
  2052.  
  2053.  
  2054. Associated Gets 
  2055.  
  2056.   glGetClipPlane
  2057.   glIsEnabled with argument GL_CLIP_PLANEi
  2058.  
  2059.  
  2060.  
  2061.  
  2062.  
  2063. See Also 
  2064.  
  2065.   glEnable
  2066.  
  2067.  
  2068.  
  2069. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  2070.  
  2071.  Introduction | Alphabetic | Specification 
  2072.  
  2073. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  2074. Look here for legal stuff:  Legal 
  2075.  
  2076.  
  2077. ΓòÉΓòÉΓòÉ 3.16. glColor ΓòÉΓòÉΓòÉ
  2078.  
  2079.  OpenGL man pages 
  2080.  
  2081. glColor 
  2082.  
  2083.  
  2084.  
  2085.  
  2086.  
  2087.  
  2088. Name 
  2089.  
  2090.   glColor3b, glColor3d, glColor3f, glColor3i, glColor3s,
  2091. glColor3ub,
  2092.   glColor3ui, glColor3us, glColor4b, glColor4d, glColor4f,
  2093. glColor4i,
  2094.   glColor4s, glColor4ub, glColor4ui, glColor4us, glColor3bv,
  2095. glColor3dv,
  2096.   glColor3fv, glColor3iv, glColor3sv, glColor3ubv, glColor3uiv,
  2097. glColor3usv,
  2098.   glColor4bv, glColor4dv, glColor4fv, glColor4iv, glColor4sv,
  2099. glColor4ubv,
  2100.   glColor4uiv, glColor4usv - set the current color
  2101.  
  2102.  
  2103.  
  2104.  
  2105. C Specification 
  2106.  
  2107.   void glColor3b( GLbyte red,
  2108.                   GLbyte green,
  2109.                   GLbyte blue )
  2110.   void glColor3d( GLdouble red,
  2111.                   GLdouble green,
  2112.                   GLdouble blue )
  2113.   void glColor3f( GLfloat red,
  2114.                   GLfloat green,
  2115.                   GLfloat blue )
  2116.   void glColor3i( GLint red,
  2117.                   GLint green,
  2118.                   GLint blue )
  2119.   void glColor3s( GLshort red,
  2120.                   GLshort green,
  2121.                   GLshort blue )
  2122.   void glColor3ub( GLubyte red,
  2123.                    GLubyte green,
  2124.                    GLubyte blue )
  2125.   void glColor3ui( GLuint red,
  2126.                    GLuint green,
  2127.                    GLuint blue )
  2128.   void glColor3us( GLushort red,
  2129.                    GLushort green,
  2130.                    GLushort blue )
  2131.   void glColor4b( GLbyte red,
  2132.                   GLbyte green,
  2133.                   GLbyte blue,
  2134.                   GLbyte alpha )
  2135.   void glColor4d( GLdouble red,
  2136.                   GLdouble green,
  2137.                   GLdouble blue,
  2138.                   GLdouble alpha )
  2139.   void glColor4f( GLfloat red,
  2140.                   GLfloat green,
  2141.                   GLfloat blue,
  2142.                   GLfloat alpha )
  2143.   void glColor4i( GLint red,
  2144.                   GLint green,
  2145.                   GLint blue,
  2146.                   GLint alpha )
  2147.   void glColor4s( GLshort red,
  2148.                   GLshort green,
  2149.                   GLshort blue,
  2150.                   GLshort alpha )
  2151.   void glColor4ub( GLubyte red,
  2152.                    GLubyte green,
  2153.                    GLubyte blue,
  2154.                    GLubyte alpha )
  2155.   void glColor4ui( GLuint red,
  2156.                    GLuint green,
  2157.                    GLuint blue,
  2158.                    GLuint alpha )
  2159.   void glColor4us( GLushort red,
  2160.                    GLushort green,
  2161.                    GLushort blue,
  2162.                    GLushort alpha )
  2163.  
  2164.  
  2165.  
  2166.  
  2167. Parameters 
  2168.  
  2169.  
  2170.   red, green, blue
  2171.                   Specify new red, green, and blue values for the current
  2172.                   color.
  2173.  
  2174.   alpha           Specifies a new alpha value for the current color.
  2175.                   Included only in the four-argument glColor4 command.
  2176.  
  2177.  
  2178.  
  2179. C Specification 
  2180.  
  2181.   void glColor3bv( const GLbyte *v )
  2182.   void glColor3dv( const GLdouble *v )
  2183.   void glColor3fv( const GLfloat *v )
  2184.   void glColor3iv( const GLint *v )
  2185.   void glColor3sv( const GLshort *v )
  2186.   void glColor3ubv( const GLubyte *v )
  2187.   void glColor3uiv( const GLuint *v )
  2188.   void glColor3usv( const GLushort *v )
  2189.   void glColor4bv( const GLbyte *v )
  2190.   void glColor4dv( const GLdouble *v )
  2191.   void glColor4fv( const GLfloat *v )
  2192.   void glColor4iv( const GLint *v )
  2193.   void glColor4sv( const GLshort *v )
  2194.   void glColor4ubv( const GLubyte *v )
  2195.   void glColor4uiv( const GLuint *v )
  2196.   void glColor4usv( const GLushort *v )
  2197.  
  2198.  
  2199.  
  2200.  
  2201. Parameters 
  2202.  
  2203.  
  2204.   v    Specifies a pointer to an array that contains red, green, blue, and
  2205.        (sometimes) alpha values.
  2206.  
  2207.  
  2208.  
  2209.  
  2210. Description 
  2211.  
  2212.   The GL stores both a current single-valued color index and a current four-
  2213.   valued RGBA color.  glColor sets a new four-valued RGBA color.  glColor has
  2214.   two major variants: glColor3 and glColor4.  glColor3 variants specify new
  2215.   red, green, and blue values explicitly, and set the current alpha value to
  2216.   1.0 implicitly.  glColor4 variants specify all four color components
  2217.   explicitly.
  2218.  
  2219.   glColor3b, glColor4b, glColor3s, glColor4s, glColor3i, and
  2220. glColor4i take
  2221.   three or four signed byte, short, or long integers as arguments.  When v is
  2222.   appended to the name, the color commands can take a pointer to an array of
  2223.   such values.
  2224.  
  2225.   Current color values are stored in floating-point format, with unspecified
  2226.   mantissa and exponent sizes.  Unsigned integer color components, when
  2227.   specified, are linearly mapped to floating-point values such that the
  2228.   largest representable value maps to 1.0 (full intensity), and zero maps to
  2229.   0.0 (zero intensity).  Signed integer color components, when specified, are
  2230.   linearly mapped to floating-point values such that the most positive
  2231.   representable value maps to 1.0, and the most negative representable value
  2232.   maps to -1.0.  Floating-point values are mapped directly.
  2233.  
  2234.  
  2235.   Neither floating-point nor signed integer values are clamped to the range
  2236.   [0,1] before updating the current color.  However, color components are
  2237.   clamped to this range before they are interpolated or written into a color
  2238.   buffer.
  2239.  
  2240.  
  2241.  
  2242. Notes 
  2243.  
  2244.   The current color can be updated at any time.  In particular, glColor can
  2245.   be called between a call to glBegin and the corresponding call to glEnd.
  2246.  
  2247.  
  2248.  
  2249. Associated Gets 
  2250.  
  2251.   glGet with argument GL_CURRENT_COLOR
  2252.   glGet with argument GL_RGBA_MODE
  2253.  
  2254.  
  2255.  
  2256. See Also 
  2257.  
  2258.   glIndex
  2259.  
  2260.  
  2261.  
  2262. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  2263.  
  2264.  Introduction | Alphabetic | Specification 
  2265.  
  2266. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  2267. Look here for legal stuff:  Legal 
  2268.  
  2269.  
  2270. ΓòÉΓòÉΓòÉ 3.17. glColorMask ΓòÉΓòÉΓòÉ
  2271.  
  2272.  OpenGL man pages 
  2273.  
  2274. glColorMask 
  2275.  
  2276.  
  2277.  
  2278.  
  2279.  
  2280.  
  2281. Name 
  2282.  
  2283.   glColorMask - enable and disable writing of frame buffer color components
  2284.  
  2285.  
  2286.  
  2287.  
  2288. C Specification 
  2289.  
  2290.   void glColorMask( GLboolean red,
  2291.                     GLboolean green,
  2292.                     GLboolean blue,
  2293.                     GLboolean alpha )
  2294.  
  2295.  
  2296.  
  2297.  
  2298. Parameters 
  2299.  
  2300.  
  2301.   red, green, blue, alpha
  2302.                         Specify whether red, green, blue, and alpha can or
  2303.                         cannot be written into the frame buffer.  The default
  2304.                         values are all GL_TRUE, indicating that the color
  2305.                         components can be written.
  2306.  
  2307.  
  2308.  
  2309. Description 
  2310.  
  2311.   glColorMask specifies whether the individual color components in the frame
  2312.   buffer can or cannot be written.  If red is GL_FALSE, for example, no
  2313.   change is made to the red component of any pixel in any of the color
  2314.   buffers, regardless of the drawing operation attempted.
  2315.  
  2316.   Changes to individual bits of components cannot be controlled.  Rather,
  2317.   changes are either enabled or disabled for entire color components.
  2318.  
  2319.  
  2320.  
  2321. Errors 
  2322.  
  2323.   GL_INVALID_OPERATION is generated if glColorMask is executed between the
  2324.   execution of glBegin and the corresponding execution of glEnd.
  2325.  
  2326.  
  2327.  
  2328. Associated Gets 
  2329.  
  2330.   glGet with argument GL_COLOR_WRITEMASK
  2331.   glGet with argument GL_RGBA_MODE
  2332.  
  2333.  
  2334.  
  2335. See Also 
  2336.  
  2337.   glColor, glIndex, glIndexMask, glDepthMask, glStencilMask
  2338.  
  2339.  
  2340.  
  2341. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  2342.  
  2343.  Introduction | Alphabetic | Specification 
  2344.  
  2345. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  2346. Look here for legal stuff:  Legal 
  2347.  
  2348.  
  2349. ΓòÉΓòÉΓòÉ 3.18. glColorMaterial ΓòÉΓòÉΓòÉ
  2350.  
  2351.  OpenGL man pages 
  2352.  
  2353. glColorMaterial 
  2354.  
  2355.  
  2356.  
  2357.  
  2358.  
  2359.  
  2360. Name 
  2361.  
  2362.   glColorMaterial - cause a material color to track the current color
  2363.  
  2364.  
  2365.  
  2366.  
  2367. C Specification 
  2368.  
  2369.   void glColorMaterial( GLenum face,
  2370.                         GLenum mode )
  2371.  
  2372.  
  2373.  
  2374.  
  2375. Parameters 
  2376.  
  2377.  
  2378.   face  Specifies whether front, back, or both front and back material
  2379.         parameters should track the current color.  Accepted values are
  2380.         GL_FRONT, GL_BACK, and GL_FRONT_AND_BACK.  The default value is
  2381.         GL_FRONT_AND_BACK.
  2382.  
  2383.   mode  Specifies which of several material parameters track the current
  2384.         color.  Accepted values are GL_EMISSION, GL_AMBIENT, GL_DIFFUSE,
  2385.         GL_SPECULAR, and GL_AMBIENT_AND_DIFFUSE.  The default value is
  2386.         GL_AMBIENT_AND_DIFFUSE.
  2387.  
  2388.  
  2389.  
  2390.  
  2391. Description 
  2392.  
  2393.   glColorMaterial specifies which material parameters track the current
  2394.   color.  When GL_COLOR_MATERIAL is enabled, the material parameter or
  2395.   parameters specified by mode, of the material or materials specified by
  2396.   face, track the current color at all times.   GL_COLOR_MATERIAL is enabled
  2397.   and disabled using the commands glEnable and glDisable, called with
  2398.   GL_COLOR_MATERIAL as their argument.  By default, it is disabled.
  2399.  
  2400.  
  2401.  
  2402. Notes 
  2403.  
  2404.   glColorMaterial allows a subset of material parameters to be changed for
  2405.   each vertex using only the glColor command, without calling glMaterial.  If
  2406.   only such a subset of parameters is to be specified for each vertex,
  2407.   glColorMaterial is preferred over calling glMaterial.
  2408.  
  2409.   Call glColorMaterial before enabling the GL_COLOR_MATERIAL.
  2410.  
  2411.  
  2412.  
  2413. Errors 
  2414.  
  2415.   GL_INVALID_ENUM is generated if face or mode is not an accepted value.
  2416.  
  2417.   GL_INVALID_OPERATION is generated if glColorMaterial is executed between
  2418.   the execution of glBegin and the corresponding execution of glEnd.
  2419.  
  2420.  
  2421.  
  2422. Associated Gets 
  2423.  
  2424.   glIsEnabled with argument GL_COLOR_MATERIAL
  2425.   glGet with argument GL_COLOR_MATERIAL_PARAMETER
  2426.   glGet with argument GL_COLOR_MATERIAL_FACE
  2427.  
  2428.  
  2429.  
  2430. See Also 
  2431.  
  2432.   glColor, glEnable, glLight, glLightModel, glMaterial
  2433.  
  2434.  
  2435.  
  2436. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  2437.  
  2438.  Introduction | Alphabetic | Specification 
  2439.  
  2440. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  2441. Look here for legal stuff:  Legal 
  2442.  
  2443.  
  2444. ΓòÉΓòÉΓòÉ 3.19. glColorPointerEXT ΓòÉΓòÉΓòÉ
  2445.  
  2446.  OpenGL man pages 
  2447.  
  2448. glColorPointerEXT 
  2449.  
  2450.  
  2451.  
  2452.  
  2453.  
  2454.  
  2455. Name 
  2456.  
  2457.   glColorPointerEXT - define a array of colors
  2458.  
  2459.  
  2460.  
  2461.  
  2462. C Specification 
  2463.  
  2464.   void glColorPointerEXT( GLint size,
  2465.                           GLenum type,
  2466.                           GLsizei stride,
  2467.                           GLsizei count,
  2468.                           const GLvoid *pointer )
  2469.  
  2470.  
  2471.  
  2472.  
  2473. Parameters 
  2474.  
  2475.  
  2476.   size     Specifies the number of components per color. It must be 3 or 4.
  2477.  
  2478.   type     Specifies the data type of each color component in the array.
  2479.            Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT,
  2480.            GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or
  2481.            GL_DOUBLE_EXT, are accepted.
  2482.  
  2483.   stride   Specifies the byte offset between consecutive colors.  If stride
  2484.            is zero the colors are understood to be tightly packed in the
  2485.            array.
  2486.  
  2487.   count    Specifies the number of colors, counting from the first, that are
  2488.            static.
  2489.  
  2490.   pointer  Specifies a pointer to the first component of the first color
  2491.            element in the array.
  2492.  
  2493.  
  2494.  
  2495.  
  2496.  
  2497. Description 
  2498.  
  2499.   glColorPointerEXT specifies the location and data format of an array of
  2500.   color components to use when rendering using the vertex array extension.
  2501.   size specifies the number of components per color, and must be 3 or 4.
  2502.   type specifies the data type of each color component and stride gives the
  2503.   byte stride from one color to the next allowing vertexes and attributes to
  2504.   be packed into a single array or stored in separate arrays. (Single-array
  2505.   storage may be more efficient on some implementations.) count indicates
  2506.   the number of array elements (counting from the first) that are static.
  2507.   Static elements may be modified by the application, but once they are
  2508.   modified, the application must explicitly respecify the array before using
  2509.   it for any rendering. When a color array is specified, size, type, stride,
  2510.   count and pointer are saved as client-side state, and static array elements
  2511.   may be cached by the implementation.
  2512.  
  2513.   The color array is enabled and disabled using glEnable and glDisable with
  2514.   the argument GL_COLOR_ARRAY_EXT. If enabled, the color array is used when
  2515.   glDrawArraysEXT or glArrayElementEXT is called.
  2516.  
  2517.  
  2518.   Use glDrawArraysEXT to define a sequence of primitives (all of the same
  2519.   type) from pre-specified vertex and vertex attribute arrays. Use
  2520.   glArrayElementEXT to specify primitives by indexing vertexes and vertex
  2521.   attributes.
  2522.  
  2523.  
  2524.  
  2525.  
  2526. Notes 
  2527.  
  2528.   Non-static array elements are not accessed until glArrayElementEXT or
  2529.   glDrawArraysEXT is executed.
  2530.  
  2531.   By default the color array is disabled and it won't be accessed when
  2532.   glArrayElementEXT or glDrawArraysEXT is called.
  2533.  
  2534.  
  2535.   Although it is not an error to call glColorPointerEXT between the
  2536.   execution of glBegin and the corresponding execution of glEnd, the results
  2537.   are undefined.
  2538.  
  2539.  
  2540.   glColorPointerEXT will typically be implemented on the client side with no
  2541.   protocol.
  2542.  
  2543.  
  2544.   Since the color array parameters are client side state, they are not saved
  2545.   or restored by glPushAttrib and glPopAttrib.
  2546.  
  2547.  
  2548.   glColorPointerEXT commands are not entered into display lists.
  2549.  
  2550.  
  2551.   glColorPointerEXT is part of the EXT_vertex_array extension, not
  2552.   part of the core GL command set. If "GL_EXT_vertex_array" is
  2553.   included in the string returned by glGetString, when called with argument
  2554.   GL_EXTENSIONS, extension EXT_vertex_array is supported.
  2555.  
  2556.  
  2557.  
  2558. Errors 
  2559.  
  2560.  
  2561.   GL_INVALID_VALUE is generated if size is not 3 or 4.
  2562.  
  2563.   GL_INVALID_ENUM is generated if type is not an accepted value.
  2564.  
  2565.   GL_INVALID_VALUE is generated if stride or count is negative.
  2566.  
  2567.  
  2568.  
  2569.  
  2570. Associated Gets 
  2571.  
  2572.   glIsEnabled with argument GL_COLOR_ARRAY_EXT
  2573.   glGet with argument GL_COLOR_ARRAY_SIZE_EXT
  2574.   glGet with argument GL_COLOR_ARRAY_TYPE_EXT
  2575.   glGet with argument GL_COLOR_ARRAY_STRIDE_EXT
  2576.   glGet with argument GL_COLOR_ARRAY_COUNT_EXT
  2577.   glGetPointervEXT with argument GL_COLOR_ARRAY_POINTER_EXT
  2578.  
  2579.  
  2580.  
  2581. See Also 
  2582.  
  2583.  
  2584.   glArrayElementEXT, glDrawArraysEXT, glEdgeFlagPointerEXT, glGetPointervEXT,
  2585.   glIndexPointerEXT, glNormalPointerEXT, glTexCoordPointerEXT,
  2586.   glVertexPointerEXT, glEnable
  2587.  
  2588.  
  2589.  
  2590. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  2591.  
  2592.  Introduction | Alphabetic | Specification 
  2593.  
  2594. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  2595. Look here for legal stuff:  Legal 
  2596.  
  2597.  
  2598. ΓòÉΓòÉΓòÉ 3.20. glCopyPixels ΓòÉΓòÉΓòÉ
  2599.  
  2600.  OpenGL man pages 
  2601.  
  2602. glCopyPixels 
  2603.  
  2604.  
  2605.  
  2606.  
  2607.  
  2608.  
  2609. Name 
  2610.  
  2611.   glCopyPixels - copy pixels in the frame buffer
  2612.  
  2613.  
  2614.  
  2615.  
  2616. C Specification 
  2617.  
  2618.   void glCopyPixels( GLint x,
  2619.                      GLint y,
  2620.                      GLsizei width,
  2621.                      GLsizei height,
  2622.                      GLenum type )
  2623.  
  2624.  
  2625.  
  2626.  
  2627. Parameters 
  2628.  
  2629.  
  2630.   x, y Specify the window coordinates of the lower left corner of the
  2631.        rectangular region of pixels to be copied.
  2632.  
  2633.   width, height
  2634.        Specify the dimensions of the rectangular region of pixels to be
  2635.        copied.  Both must be nonnegative.
  2636.  
  2637.   type Specifies whether color values, depth values, or stencil values are to
  2638.        be copied.  Symbolic constants GL_COLOR, GL_DEPTH, and GL_STENCIL are
  2639.        accepted.
  2640.  
  2641.  
  2642.  
  2643.  
  2644. Description 
  2645.  
  2646.   glCopyPixels copies a screen-aligned rectangle of pixels from the specified
  2647.   frame buffer location to a region relative to the current raster position.
  2648.   Its operation is well defined only if the entire pixel source region is
  2649.   within the exposed portion of the window.  Results of copies from outside
  2650.   the window, or from regions of the window that are not exposed, are
  2651.   hardware dependent and undefined.
  2652.  
  2653.   x and y specify the window coordinates of the lower left corner of the
  2654.   rectangular region to be copied.  width and height specify the dimensions
  2655.   of the rectangular region to be copied.  Both width and height must not be
  2656.   negative.
  2657.  
  2658.   Several parameters control the processing of the pixel data while it is
  2659.   being copied.  These parameters are set with three commands:
  2660.   glPixelTransfer, glPixelMap, and glPixelZoom.  This reference page
  2661.   describes the effects on glCopyPixels of most, but not all, of the
  2662.   parameters specified by these three commands.
  2663.  
  2664.   glCopyPixels copies values from each pixel with the lower left-hand corner
  2665.   at (x + i, y + j) for 0<=i<width  and 0<=j<height.  This pixel is said to be
  2666.   the ith pixel in the jth row. Pixels are copied in row order from the
  2667.   lowest to the highest row, left to right in each row.
  2668.  
  2669.   type specifies whether color, depth, or stencil data is to be copied.  The
  2670.   details of the transfer for each data type are as follows:
  2671.  
  2672.   GL_COLOR       Indices or RGBA colors are read from the buffer currently
  2673.                  specified as the read source buffer (see glReadBuffer).  If
  2674.                  the GL is in color index mode, each index that is read from
  2675.                  this buffer is converted to a fixed-point format with an
  2676.                  unspecified number of bits to the right of the binary point.
  2677.                  Each index is then shifted left by GL_INDEX_SHIFT bits, and
  2678.                  added to GL_INDEX_OFFSET.  If GL_INDEX_SHIFT is negative,
  2679.                  the shift is to the right.  In either case, zero bits fill
  2680.                  otherwise unspecified bit locations in the result.  If
  2681.                  GL_MAP_COLOR is true, the index is replaced with the value
  2682.                  that it references in lookup table GL_PIXEL_MAP_I_TO_I.
  2683.                  Whether the lookup replacement of the index is done or not,
  2684.                                                                    b
  2685.                  the integer part of the index is then ANDed with 2 -1, where
  2686.                  b is the number of bits in a color index buffer.
  2687.  
  2688.                  If the GL is in RGBA mode, the red, green, blue, and alpha
  2689.                  components of each pixel that is read are converted to an
  2690.                  internal floating-point format with unspecified precision.
  2691.                  The conversion maps the largest representable component
  2692.                  value to 1.0, and component value zero to 0.0.  The
  2693.                  resulting floating-point color values are then multiplied by
  2694.                  GL_c_SCALE and added to GL_c_BIAS, where c is RED, GREEN,
  2695.                  BLUE, and ALPHA for the respective color components.  The
  2696.                  results are clamped to the range [0,1].  If GL_MAP_COLOR is
  2697.                  true, each color component is scaled by the size of lookup
  2698.                  table GL_PIXEL_MAP_c_TO_c, then replaced by the value that
  2699.                  it references in that table.  c is R, G, B, or A,
  2700.                  respectively.
  2701.  
  2702.                  The resulting indices or RGBA colors are then converted to
  2703.                  fragments by attaching the current raster position z
  2704.                  coordinate and texture coordinates to each pixel, then
  2705.                  assigning window coordinates (x +i,y +j), where (x ,y ) is
  2706.                                                 r    r             r  r
  2707.                  the current raster position, and the pixel was the ith pixel
  2708.                  in the jth row.  These pixel fragments are then treated just
  2709.                  like the fragments generated by rasterizing points, lines,
  2710.                  or polygons.  Texture mapping, fog, and all the fragment
  2711.                  operations are applied before the fragments are written to
  2712.                  the frame buffer.
  2713.  
  2714.   GL_DEPTH       Depth values are read from the depth buffer and converted
  2715.                  directly to an internal floating-point format with
  2716.                  unspecified precision.  The resulting floating-point depth
  2717.                  value is then multiplied by GL_DEPTH_SCALE and added to
  2718.                  GL_DEPTH_BIAS.  The result is clamped to the range [0,1].
  2719.  
  2720.                  The resulting depth components are then converted to
  2721.                  fragments by attaching the current raster position color or
  2722.                  color index and texture coordinates to each pixel, then
  2723.                  assigning window coordinates (x +i,y +j), where (x ,y ) is
  2724.                                                 r    r             r  r
  2725.                  the current raster position, and the pixel was the ith pixel
  2726.                  in the jth row.  These pixel fragments are then treated just
  2727.                  like the fragments generated by rasterizing points, lines,
  2728.                  or polygons.  Texture mapping, fog, and all the fragment
  2729.                  operations are applied before the fragments are written to
  2730.                  the frame buffer.
  2731.  
  2732.   GL_STENCIL     Stencil indices are read from the stencil buffer and
  2733.                  converted to an internal fixed-point format with an
  2734.                  unspecified number of bits to the right of the binary point.
  2735.                  Each fixed-point index is then shifted left by
  2736.                  GL_INDEX_SHIFT bits, and added to GL_INDEX_OFFSET.  If
  2737.                  GL_INDEX_SHIFT is negative, the shift is to the right.  In
  2738.                  either case, zero bits fill otherwise unspecified bit
  2739.                  locations in the result.  If GL_MAP_STENCIL is true, the
  2740.                  index is replaced with the value that it references in
  2741.                  lookup table GL_PIXEL_MAP_S_TO_S.  Whether the lookup
  2742.                  replacement of the index is done or not, the integer part of
  2743.                                                b
  2744.                  the index is then ANDed with 2 -1, where b is the number of
  2745.                  bits in the stencil buffer.  The resulting stencil indices
  2746.                  are then written to the stencil buffer such that the index
  2747.                  read from the ith location of the jth row is written to
  2748.                  location (x +i,y +j), where (x ,y ) is the current raster
  2749.                             r    r             r  r
  2750.                  position.  Only the pixel ownership test, the scissor test,
  2751.                  and the stencil writemask affect these writes.
  2752.  
  2753.   The rasterization described thus far assumes pixel zoom factors of 1.0.  If
  2754.   glPixelZoom is used to change the x and y pixel zoom factors, pixels are
  2755.   converted to fragments as follows.  If (x , y ) is the current raster
  2756.                                            r   r
  2757.   position, and a given pixel is in the ith location in the jth row of the
  2758.   source pixel rectangle, then fragments are generated for pixels whose
  2759.   centers are in the rectangle with corners at
  2760.  
  2761.                             (x +zoom i, y +zoom j)
  2762.                               r     x    r     y
  2763.  
  2764.                                       and
  2765.  
  2766.                         (x +zoom (i+1), y +zoom (j+1))
  2767.                           r     x        r     y
  2768.  
  2769.   where zoom  is the value of GL_ZOOM_X and zoom  is the value of GL_ZOOM_Y.
  2770.             x                                   y
  2771.  
  2772.  
  2773.  
  2774. Examples 
  2775.  
  2776.   To copy the color pixel in the lower left corner of the window to the
  2777.   current raster position, use glCopyPixels(0, 0, 1, 1, GL_COLOR);
  2778.  
  2779.  
  2780.  
  2781. Notes 
  2782.  
  2783.   Modes specified by glPixelStore have no effect on the operation of
  2784.   glCopyPixels.
  2785.  
  2786.  
  2787.  
  2788. Errors 
  2789.  
  2790.   GL_INVALID_ENUM is generated if type is not an accepted value.
  2791.  
  2792.   GL_INVALID_VALUE is generated if either width or height is negative.
  2793.  
  2794.   GL_INVALID_OPERATION is generated if type is GL_DEPTH and there is no depth
  2795.   buffer.
  2796.  
  2797.   GL_INVALID_OPERATION is generated if type is GL_STENCIL and there is no
  2798.   stencil buffer.
  2799.  
  2800.   GL_INVALID_OPERATION is generated if glCopyPixels is executed between the
  2801.   execution of glBegin and the corresponding execution of glEnd.
  2802.  
  2803.  
  2804.  
  2805. Associated Gets 
  2806.  
  2807.   glGet with argument GL_CURRENT_RASTER_POSITION
  2808.   glGet with argument GL_CURRENT_RASTER_POSITION_VALID
  2809.  
  2810.  
  2811.  
  2812. See Also 
  2813.  
  2814.   glDepthFunc, glDrawBuffer, glDrawPixels, glPixelMap, glPixelTransfer,
  2815.   glPixelZoom, glRasterPos, glReadBuffer, glReadPixels, glStencilFunc
  2816.  
  2817. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  2818.  
  2819.  Introduction | Alphabetic | Specification 
  2820.  
  2821. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  2822. Look here for legal stuff:  Legal 
  2823.  
  2824.  
  2825. ΓòÉΓòÉΓòÉ 3.21. glCullFace ΓòÉΓòÉΓòÉ
  2826.  
  2827.  OpenGL man pages 
  2828.  
  2829. glCullFace 
  2830.  
  2831.  
  2832.  
  2833.  
  2834.  
  2835.  
  2836. Name 
  2837.  
  2838.   glCullFace - specify whether front- or back-facing facets can be culled
  2839.  
  2840.  
  2841.  
  2842.  
  2843. C Specification 
  2844.  
  2845.   void glCullFace( GLenum mode )
  2846.  
  2847.  
  2848.  
  2849.  
  2850. Parameters 
  2851.  
  2852.  
  2853.   mode  Specifies whether front- or back-facing facets are candidates for
  2854.         culling.  Symbolic constants GL_FRONT, GL_BACK, and GL_FRONT_AND_BACK
  2855.         are accepted.  The default value is GL_BACK.
  2856.  
  2857.  
  2858.  
  2859.  
  2860. Description 
  2861.  
  2862.   glCullFace specifies whether front- or back-facing facets are culled (as
  2863.   specified by mode) when facet culling is enabled.  Facet culling is enabled
  2864.   and disabled using the glEnable and glDisable commands with the argument
  2865.   GL_CULL_FACE.  Facets include triangles, quadrilaterals, polygons, and
  2866.   rectangles.
  2867.  
  2868.   glFrontFace specifies which of the clockwise and counterclockwise facets
  2869.   are front-facing and back-facing.  See glFrontFace.
  2870.  
  2871.  
  2872.  
  2873. Notes 
  2874.  
  2875.   If the mode is GL_FRONT_AND_BACK then no facets are drawn, but other
  2876.   primitives such as points and lines are.
  2877.  
  2878.  
  2879.  
  2880. Errors 
  2881.  
  2882.   GL_INVALID_ENUM is generated if mode is not an accepted value.
  2883.  
  2884.   GL_INVALID_OPERATION is generated if glCullFace is executed between the
  2885.   execution of glBegin and the corresponding execution of glEnd.
  2886.  
  2887.  
  2888.  
  2889. Associated Gets 
  2890.  
  2891.   glIsEnabled with argument GL_CULL_FACE
  2892.   glGet with argument GL_CULL_FACE_MODE
  2893.  
  2894.  
  2895.  
  2896. See Also 
  2897.  
  2898.   glEnable, glFrontFace
  2899.  
  2900.  
  2901.  
  2902. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  2903.  
  2904.  Introduction | Alphabetic | Specification 
  2905.  
  2906. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  2907. Look here for legal stuff:  Legal 
  2908.  
  2909.  
  2910. ΓòÉΓòÉΓòÉ 3.22. glDeleteLists ΓòÉΓòÉΓòÉ
  2911.  
  2912.  OpenGL man pages 
  2913.  
  2914. glDeleteLists 
  2915.  
  2916.  
  2917.  
  2918.  
  2919.  
  2920.  
  2921. Name 
  2922.  
  2923.   glDeleteLists - delete a contiguous group of display lists
  2924.  
  2925.  
  2926.  
  2927.  
  2928. C Specification 
  2929.  
  2930.   void glDeleteLists( GLuint list,
  2931.                       GLsizei range )
  2932.  
  2933.  
  2934.  
  2935.  
  2936. Parameters 
  2937.  
  2938.  
  2939.   list   Specifies the integer name of the first display list to delete.
  2940.  
  2941.   range  Specifies the number of display lists to delete.
  2942.  
  2943.  
  2944.  
  2945.  
  2946. Description 
  2947.  
  2948.   glDeleteLists causes a contiguous group of display lists to be deleted.
  2949.   list is the name of the first display list to be deleted, and range is the
  2950.   number of display lists to delete.  All display lists d with list <= d <=
  2951.   list + range - 1 are deleted.
  2952.  
  2953.   All storage locations allocated to the specified display lists are freed,
  2954.   and the names are available for reuse at a later time.  Names within the
  2955.   range that do not have an associated display list are ignored.  If range is
  2956.   zero, nothing happens.
  2957.  
  2958.  
  2959.  
  2960. Errors 
  2961.  
  2962.   GL_INVALID_VALUE is generated if range is negative.
  2963.  
  2964.   GL_INVALID_OPERATION is generated if glDeleteLists is executed between the
  2965.   execution of glBegin and the corresponding execution of glEnd.
  2966.  
  2967.  
  2968.  
  2969. See Also 
  2970.  
  2971.   glCallList, glCallLists, glGenLists, glIsList, glNewList
  2972.  
  2973. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  2974.  
  2975.  Introduction | Alphabetic | Specification 
  2976.  
  2977. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  2978. Look here for legal stuff:  Legal 
  2979.  
  2980.  
  2981. ΓòÉΓòÉΓòÉ 3.23. glDepthFunc ΓòÉΓòÉΓòÉ
  2982.  
  2983.  OpenGL man pages 
  2984.  
  2985. glDepthFunc 
  2986.  
  2987.  
  2988.  
  2989.  
  2990.  
  2991.  
  2992. Name 
  2993.  
  2994.   glDepthFunc - specify the value used for depth buffer comparisons
  2995.  
  2996.  
  2997.  
  2998.  
  2999. C Specification 
  3000.  
  3001.   void glDepthFunc( GLenum func )
  3002.  
  3003.  
  3004.  
  3005.  
  3006. Parameters 
  3007.  
  3008.  
  3009.   func  Specifies the depth comparison function.  Symbolic constants
  3010.         GL_NEVER, GL_LESS, GL_EQUAL, GL_LEQUAL, GL_GREATER, GL_NOTEQUAL,
  3011.         GL_GEQUAL, and GL_ALWAYS are accepted.  The default value is GL_LESS.
  3012.  
  3013.  
  3014.  
  3015.  
  3016. Description 
  3017.  
  3018.   glDepthFunc specifies the function used to compare each incoming pixel z
  3019.   value with the z value present in the depth buffer.  The comparison is
  3020.   performed only if depth testing is enabled.  (See glEnable and glDisable of
  3021.   GL_DEPTH_TEST.)
  3022.  
  3023.   func specifies the conditions under which the pixel will be drawn.  The
  3024.   comparison functions are as follows:
  3025.  
  3026.   GL_NEVER            Never passes.
  3027.  
  3028.   GL_LESS             Passes if the incoming z value is less than the stored
  3029.                       z value.
  3030.  
  3031.   GL_EQUAL            Passes if the incoming z value is equal to the stored z
  3032.                       value.
  3033.  
  3034.   GL_LEQUAL           Passes if the incoming z value is less than or equal to
  3035.                       the stored z value.
  3036.  
  3037.   GL_GREATER          Passes if the incoming z value is greater than the
  3038.                       stored z value.
  3039.  
  3040.   GL_NOTEQUAL         Passes if the incoming z value is not equal to the
  3041.                       stored z value.
  3042.  
  3043.   GL_GEQUAL           Passes if the incoming z value is greater than or equal
  3044.                       to the stored z value.
  3045.  
  3046.   GL_ALWAYS           Always passes.
  3047.  
  3048.   The default value of func is GL_LESS.  Initially, depth testing is
  3049.   disabled.
  3050.  
  3051.  
  3052.  
  3053. Errors 
  3054.  
  3055.   GL_INVALID_ENUM is generated if func is not an accepted value.
  3056.  
  3057.  
  3058.   GL_INVALID_OPERATION is generated if glDepthFunc is executed between the
  3059.   execution of glBegin and the corresponding execution of glEnd.
  3060.  
  3061.  
  3062.  
  3063.  
  3064.  
  3065. Associated Gets 
  3066.  
  3067.   glGet with argument GL_DEPTH_FUNC
  3068.   glIsEnabled with argument GL_DEPTH_TEST
  3069.  
  3070.  
  3071.  
  3072. See Also 
  3073.  
  3074.   glDepthRange, glEnable
  3075.  
  3076.  
  3077.  
  3078. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  3079.  
  3080.  Introduction | Alphabetic | Specification 
  3081.  
  3082. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  3083. Look here for legal stuff:  Legal 
  3084.  
  3085.  
  3086. ΓòÉΓòÉΓòÉ 3.24. glDepthMask ΓòÉΓòÉΓòÉ
  3087.  
  3088.  OpenGL man pages 
  3089.  
  3090. glDepthMask 
  3091.  
  3092.  
  3093.  
  3094.  
  3095.  
  3096.  
  3097. Name 
  3098.  
  3099.   glDepthMask - enable or disable writing into the depth buffer
  3100.  
  3101.  
  3102.  
  3103.  
  3104. C Specification 
  3105.  
  3106.   void glDepthMask( GLboolean flag )
  3107.  
  3108.  
  3109.  
  3110.  
  3111. Parameters 
  3112.  
  3113.  
  3114.   flag  Specifies whether the depth buffer is enabled for writing.  If flag
  3115.         is zero, depth buffer writing is disabled.  Otherwise, it is enabled.
  3116.         Initially, depth buffer writing is enabled.
  3117.  
  3118.  
  3119.  
  3120.  
  3121. Description 
  3122.  
  3123.   glDepthMask specifies whether the depth buffer is enabled for writing.  If
  3124.   flag is zero, depth buffer writing is disabled.  Otherwise, it is enabled.
  3125.   Initially, depth buffer writing is enabled.
  3126.  
  3127.  
  3128.  
  3129. Errors 
  3130.  
  3131.   GL_INVALID_OPERATION is generated if glDepthMask is executed between the
  3132.   execution of glBegin and the corresponding execution of glEnd.
  3133.  
  3134.  
  3135.  
  3136. Associated Gets 
  3137.  
  3138.   glGet with argument GL_DEPTH_WRITEMASK
  3139.  
  3140.  
  3141.  
  3142. See Also 
  3143.  
  3144.   glColorMask, glDepthFunc, glDepthRange, glIndexMask, glStencilMask
  3145.  
  3146.  
  3147.  
  3148. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  3149.  
  3150.  Introduction | Alphabetic | Specification 
  3151.  
  3152. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  3153. Look here for legal stuff:  Legal 
  3154.  
  3155.  
  3156. ΓòÉΓòÉΓòÉ 3.25. glDepthRange ΓòÉΓòÉΓòÉ
  3157.  
  3158.  OpenGL man pages 
  3159.  
  3160. glDepthRange 
  3161.  
  3162.  
  3163.  
  3164.  
  3165.  
  3166.  
  3167. Name 
  3168.  
  3169.   glDepthRange - specify the mapping of z values from normalized device
  3170.   coordinates to window coordinates
  3171.  
  3172.  
  3173.  
  3174.  
  3175. C Specification 
  3176.  
  3177.   void glDepthRange( GLclampd near,
  3178.                      GLclampd far )
  3179.  
  3180.  
  3181.  
  3182.  
  3183. Parameters 
  3184.  
  3185.  
  3186.   near  Specifies the mapping of the near clipping plane to window
  3187.         coordinates.  The default value is 0.
  3188.  
  3189.   far   Specifies the mapping of the far clipping plane to window
  3190.         coordinates.  The default value is 1.
  3191.  
  3192.  
  3193.  
  3194.  
  3195. Description 
  3196.  
  3197.   After clipping and division by w, z coordinates range from -1.0 to 1.0,
  3198.   corresponding to the near and far clipping planes.  glDepthRange specifies
  3199.   a linear mapping of the normalized z coordinates in this range to window z
  3200.   coordinates.  Regardless of the actual depth buffer implementation, window
  3201.   coordinate depth values are treated as though they range from 0.0 through
  3202.   1.0 (like color components).  Thus, the values accepted by glDepthRange are
  3203.   both clamped to this range before they are accepted.
  3204.  
  3205.   The default mapping of 0,1 maps the near plane to 0 and the far plane to 1.
  3206.   With this mapping, the depth buffer range is fully utilized.
  3207.  
  3208.  
  3209.  
  3210. Notes 
  3211.  
  3212.   It is not necessary that near be less than far.  Reverse mappings such as
  3213.   1,0 are acceptable.
  3214.  
  3215.  
  3216.  
  3217. Errors 
  3218.  
  3219.   GL_INVALID_OPERATION is generated if glDepthRange is executed between the
  3220.   execution of glBegin and the corresponding execution of glEnd.
  3221.  
  3222.  
  3223.  
  3224. Associated Gets 
  3225.  
  3226.   glGet with argument GL_DEPTH_RANGE
  3227.  
  3228.  
  3229.  
  3230. See Also 
  3231.  
  3232.   glDepthFunc, glViewport
  3233.  
  3234.  
  3235.  
  3236. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  3237.  
  3238.  Introduction | Alphabetic | Specification 
  3239.  
  3240. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  3241. Look here for legal stuff:  Legal 
  3242.  
  3243.  
  3244. ΓòÉΓòÉΓòÉ 3.26. glDrawArraysEXT ΓòÉΓòÉΓòÉ
  3245.  
  3246.  OpenGL man pages 
  3247.  
  3248. glDrawArraysEXT 
  3249.  
  3250.  
  3251.  
  3252.  
  3253.  
  3254.  
  3255. Name 
  3256.  
  3257.   glDrawArraysEXT - render primitives from array data
  3258.  
  3259.  
  3260.  
  3261.  
  3262. C Specification 
  3263.  
  3264.   void glDrawArraysEXT( GLenum mode,
  3265.                         GLint first,
  3266.                         GLsizei count )
  3267.  
  3268.  
  3269.  
  3270.  
  3271. Parameters 
  3272.  
  3273.  
  3274.   mode   Specifies what kind of primitives to render.  Symbolic constants
  3275.          GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP,
  3276.          GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and
  3277.          GL_POLYGON are accepted.
  3278.  
  3279.   first  Specifies the starting index in the enabled arrays.
  3280.  
  3281.   count  Specifies the number of indices which should be rendered.
  3282.  
  3283.  
  3284.  
  3285. Description 
  3286.  
  3287.   glDrawArraysEXT makes it possible to specify multiple geometric primitives
  3288.   with very few subroutine calls. Instead of calling an OpenGL procedure to
  3289.   pass each individual vertex, normal, or color, separate arrays of vertexes,
  3290.   normals, and colors can be prespecified, and used to define a sequence of
  3291.   primitives (all of the same type) with a single call to glDrawArraysEXT.
  3292.  
  3293.   When glDrawArraysEXT is called, count sequential elements from each enabled
  3294.   array are used to construct a sequence of geometric primitives, beginning
  3295.   with element first. mode specifies what kind of primitives are constructed,
  3296.   and how the array elements are used to construct these primitives. If
  3297.   GL_VERTEX_ARRAY_EXT is not enabled, no geometric primitives are generated.
  3298.  
  3299.   Vertex attributes that are modified by glDrawArraysEXT have an unspecified
  3300.   value after glDrawArraysEXT returns.  For example, if GL_COLOR_ARRAY_EXT is
  3301.   enabled, the value of the current color is undefined after glDrawArraysEXT
  3302.   executes.  Attributes that aren't modified remain well defined.
  3303.  
  3304.   Operation of glDrawArraysEXT is atomic with respect to error generation.
  3305.   If an error is generated, no other operations take place.
  3306.  
  3307.  
  3308.  
  3309. Notes 
  3310.  
  3311.   glDrawArraysEXT may be included in display lists. If glDrawArraysEXT is
  3312.   entered into a display list, the necessary array data (determined by the
  3313.   array pointers and enables) is also entered into the display list.  Because
  3314.   the array pointers and enables are client side state, their values affect
  3315.   display lists when the lists are created, not when the lists are executed.
  3316.  
  3317.   Static array data may be read and cached by the implementation at any time.
  3318.   If static array elements are modified and the arrays are not respecified,
  3319.   the results of any subsequent calls to glDrawArraysEXT are undefined.
  3320.  
  3321.   Although it is not an error to respecify an array between the execution of
  3322.   glBegin and the corresponding execution of glEnd, the result of such
  3323.   respecification is undefined.
  3324.  
  3325.   glDrawArraysEXT is part of the EXT_vertex_array extension, not
  3326.   part of the core GL command set. If "GL_EXT_vertex_array" is
  3327.   included in the string returned by glGetString, when called with argument
  3328.   GL_EXTENSIONS, extension EXT_vertex_array is supported.
  3329.  
  3330.  
  3331.  
  3332. Errors 
  3333.  
  3334.   GL_INVALID_ENUM is generated if mode is not an accepted value.
  3335.  
  3336.   GL_INVALID_VALUE is generated if count is negative.
  3337.  
  3338.   GL_INVALID_OPERATION is generated if glDrawArraysEXT is called between the
  3339.   execution of glBegin and the corresponding execution of glEnd.
  3340.  
  3341.  
  3342.  
  3343. See Also 
  3344.  
  3345.   glArrayElementEXT, glColorPointerEXT, glEdgeFlagPointerEXT,
  3346.   glGetPointervEXT, glIndexPointerEXT, glNormalPointerEXT,
  3347.   glTexCoordPointerEXT, glVertexPointerEXT
  3348.  
  3349.  
  3350.  
  3351. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  3352.  
  3353.  Introduction | Alphabetic | Specification 
  3354.  
  3355. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  3356. Look here for legal stuff:  Legal 
  3357.  
  3358.  
  3359. ΓòÉΓòÉΓòÉ 3.27. glDrawBuffer ΓòÉΓòÉΓòÉ
  3360.  
  3361.  OpenGL man pages 
  3362.  
  3363. glDrawBuffer 
  3364.  
  3365.  
  3366.  
  3367.  
  3368.  
  3369.  
  3370. Name 
  3371.  
  3372.   glDrawBuffer - specify which color buffers are to be drawn into
  3373.  
  3374.  
  3375.  
  3376.  
  3377. C Specification 
  3378.  
  3379.   void glDrawBuffer( GLenum mode )
  3380.  
  3381.  
  3382.  
  3383.  
  3384. Parameters 
  3385.  
  3386.  
  3387.   mode  Specifies up to four color buffers to be drawn into.  Symbolic
  3388.         constants GL_NONE, GL_FRONT_LEFT, GL_FRONT_RIGHT, GL_BACK_LEFT,
  3389.         GL_BACK_RIGHT, GL_FRONT, GL_BACK, GL_LEFT, GL_RIGHT,
  3390.         GL_FRONT_AND_BACK, and GL_AUXi, where i is between 0 and
  3391.         ``GL_AUX_BUFFERS'' -1, are accepted (GL_AUX_BUFFERS is not the upper
  3392.         limit; use glGet to query the number of available aux buffers.) The
  3393.         default value is GL_FRONT for single-buffered contexts, and GL_BACK
  3394.         for double-buffered contexts.
  3395.  
  3396.  
  3397.  
  3398.  
  3399. Description 
  3400.  
  3401.   When colors are written to the frame buffer, they are written into the
  3402.   color buffers specified by glDrawBuffer.  The specifications are as
  3403.   follows:
  3404.  
  3405.   GL_NONE                  No color buffers are written.
  3406.  
  3407.   GL_FRONT_LEFT            Only the front left color buffer is written.
  3408.  
  3409.   GL_FRONT_RIGHT           Only the front right color buffer is written.
  3410.  
  3411.   GL_BACK_LEFT             Only the back left color buffer is written.
  3412.  
  3413.   GL_BACK_RIGHT            Only the back right color buffer is written.
  3414.  
  3415.   GL_FRONT                 Only the front left and front right color buffers
  3416.                            are written.  If there is no front right color
  3417.                            buffer, only the front left color buffer is
  3418.                            written.
  3419.  
  3420.   GL_BACK                  Only the back left and back right color buffers
  3421.                            are written.  If there is no back right color
  3422.                            buffer, only the back left color buffer is
  3423.                            written.
  3424.  
  3425.   GL_LEFT                  Only the front left and back left color buffers
  3426.                            are written.  If there is no back left color
  3427.                            buffer, only the front left color buffer is
  3428.                            written.
  3429.  
  3430.   GL_RIGHT                 Only the front right and back right color buffers
  3431.                            are written.  If there is no back right color
  3432.                            buffer, only the front right color buffer is
  3433.                            written.
  3434.  
  3435.   GL_FRONT_AND_BACK        All the front and back color buffers (front left,
  3436.                            front right, back left, back right) are written.
  3437.                            If there are no back color buffers, only the front
  3438.                            left and front right color buffers are written.
  3439.                            If there are no right color buffers, only the
  3440.                            front left and back left color buffers are
  3441.                            written.  If there are no right or back color
  3442.                            buffers, only the front left color buffer is
  3443.                            written.
  3444.  
  3445.   GL_AUXi                  Only auxiliary color buffer i is written.
  3446.  
  3447.   If more than one color buffer is selected for drawing, then blending or
  3448.   logical operations are computed and applied independently for each color
  3449.   buffer and can produce different results in each buffer.
  3450.  
  3451.   Monoscopic contexts include only left buffers, and stereoscopic contexts
  3452.   include both left and right buffers.  Likewise, single-buffered contexts
  3453.   include only front buffers, and double-buffered contexts include both front
  3454.   and back buffers.  The context is selected at GL initialization.
  3455.  
  3456.  
  3457.  
  3458. Notes 
  3459.  
  3460.   It is always the case that GL_AUXi = GL_AUX0 + i.
  3461.  
  3462.  
  3463.  
  3464. Errors 
  3465.  
  3466.   GL_INVALID_ENUM is generated if mode is not an accepted value.
  3467.  
  3468.   GL_INVALID_OPERATION is generated if none of the buffers indicated by mode
  3469.   exists.
  3470.  
  3471.   GL_INVALID_OPERATION is generated if glDrawBuffer is executed between the
  3472.   execution of glBegin and the corresponding execution of glEnd.
  3473.  
  3474.  
  3475.  
  3476. Associated Gets 
  3477.  
  3478.   glGet with argument GL_DRAW_BUFFER
  3479.   glGet with argument GL_AUX_BUFFERS
  3480.  
  3481.  
  3482.  
  3483. See Also 
  3484.  
  3485.   glBlendFunc, glColorMask, glIndexMask, glLogicOp, glReadBuffer
  3486.  
  3487.  
  3488.  
  3489. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  3490.  
  3491.  Introduction | Alphabetic | Specification 
  3492.  
  3493. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  3494. Look here for legal stuff:  Legal 
  3495.  
  3496.  
  3497. ΓòÉΓòÉΓòÉ 3.28. glDrawPixels ΓòÉΓòÉΓòÉ
  3498.  
  3499.  OpenGL man pages 
  3500.  
  3501. glDrawPixels 
  3502.  
  3503.  
  3504.  
  3505.  
  3506.  
  3507.  
  3508. Name 
  3509.  
  3510.   glDrawPixels - write a block of pixels to the frame buffer
  3511.  
  3512.  
  3513.  
  3514.  
  3515. C Specification 
  3516.  
  3517.   void glDrawPixels( GLsizei width,
  3518.                      GLsizei height,
  3519.                      GLenum format,
  3520.                      GLenum type,
  3521.                      const GLvoid *pixels )
  3522.  
  3523.  
  3524.  
  3525.  
  3526. Parameters 
  3527.  
  3528.  
  3529.   width, height Specify the dimensions of the pixel rectangle that will be
  3530.                 written into the frame buffer.
  3531.  
  3532.   format        Specifies the format of the pixel data.  Symbolic constants
  3533.                 GL_COLOR_INDEX, GL_STENCIL_INDEX, GL_DEPTH_COMPONENT,
  3534.                 GL_RGBA, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB,
  3535.                 GL_LUMINANCE, and GL_LUMINANCE_ALPHA are accepted.
  3536.  
  3537.   type          Specifies the data type for pixels.  Symbolic constants
  3538.                 GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT,
  3539.                 GL_SHORT, GL_UNSIGNED_INT, GL_INT, and GL_FLOAT are accepted.
  3540.  
  3541.   pixels        Specifies a pointer to the pixel data.
  3542.  
  3543.  
  3544.  
  3545.  
  3546. Description 
  3547.  
  3548.   glDrawPixels reads pixel data from memory and writes it into the frame
  3549.   buffer relative to the current raster position.  Use glRasterPos to set the
  3550.   current raster position, and use glGet with argument
  3551.   GL_CURRENT_RASTER_POSITION to query the raster position.
  3552.  
  3553.   Several parameters define the encoding of pixel data in memory and control
  3554.   the processing of the pixel data before it is placed in the frame buffer.
  3555.   These parameters are set with four commands: glPixelStore, glPixelTransfer,
  3556.   glPixelMap, and  glPixelZoom.  This reference page describes the effects on
  3557.   glDrawPixels of many, but not all, of the parameters specified by these
  3558.   four commands.
  3559.  
  3560.   Data is read from pixels as a sequence of signed or unsigned bytes, signed
  3561.   or unsigned shorts, signed or unsigned integers, or single-precision
  3562.   floating-point values, depending on type.  Each of these bytes, shorts,
  3563.   integers, or floating-point values is interpreted as one color or depth
  3564.   component, or one index, depending on format.  Indices are always treated
  3565.   individually.  Color components are treated as groups of one, two, three,
  3566.   or four values, again based on format.  Both individual indices and groups
  3567.   of components are referred to as pixels.  If type is GL_BITMAP, the data
  3568.   must be unsigned bytes, and format must be either GL_COLOR_INDEX or
  3569.   GL_STENCIL_INDEX.  Each unsigned byte is treated as eight 1-bit pixels,
  3570.   with bit ordering determined by GL_UNPACK_LSB_FIRST (see glPixelStore).
  3571.  
  3572.   widthxheight pixels are read from memory, starting at location pixels.  By
  3573.   default, these pixels are taken from adjacent memory locations, except that
  3574.   after all width pixels are read, the read pointer is advanced to the next
  3575.   four-byte boundary.  The four-byte row alignment is specified by
  3576.   glPixelStore with argument GL_UNPACK_ALIGNMENT, and it can be set to one,
  3577.   two, four, or eight bytes.  Other pixel store parameters specify different
  3578.   read pointer advancements, both before the first pixel is read, and after
  3579.   all width pixels are read.  Refer to the glPixelStore reference page for
  3580.   details on these options.
  3581.  
  3582.   The widthxheight pixels that are read from memory are each operated on in
  3583.   the same way, based on the values of several parameters specified by
  3584.   glPixelTransfer and glPixelMap.  The details of these operations, as well
  3585.   as the target buffer into which the pixels are drawn, are specific to the
  3586.   format of the pixels, as specified by format.  format can assume one of
  3587.   eleven symbolic values:
  3588.  
  3589.   GL_COLOR_INDEX
  3590.             Each pixel is a single value, a color index.  It is converted to
  3591.             fixed-point format, with an unspecified number of bits to the
  3592.             right of the binary point, regardless of the memory data type.
  3593.             Floating-point values convert to true fixed-point values.  Signed
  3594.             and unsigned integer data is converted with all fraction bits set
  3595.             to zero.  Bitmap data convert to either 0.0 or 1.0.
  3596.  
  3597.             Each fixed-point index is then shifted left by GL_INDEX_SHIFT
  3598.             bits and added to GL_INDEX_OFFSET.  If GL_INDEX_SHIFT is
  3599.             negative, the shift is to the right.  In either case, zero bits
  3600.             fill otherwise unspecified bit locations in the result.
  3601.  
  3602.             If the GL is in RGBA mode, the resulting index is converted to an
  3603.             RGBA pixel using the GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G,
  3604.             GL_PIXEL_MAP_I_TO_B, and GL_PIXEL_MAP_I_TO_A tables.  If the GL
  3605.             is in color index mode, and if GL_MAP_COLOR is true, the index is
  3606.             replaced with the value that it references in lookup table
  3607.             GL_PIXEL_MAP_I_TO_I.  Whether the lookup replacement of the index
  3608.             is done or not, the integer part of the index is then ANDed with
  3609.              b
  3610.             2 -1, where b is the number of bits in a color index buffer.
  3611.  
  3612.             The resulting indices or RGBA colors are then converted to
  3613.             fragments by attaching the current raster position z coordinate
  3614.             and texture coordinates to each pixel, then assigning x and y
  3615.             window coordinates to the nth fragment such that
  3616.  
  3617.                                  x  = x  + n mod width
  3618.                                   n    r
  3619.  
  3620.                                  y  = y  + floor (n/width)
  3621.                                    n    r
  3622.  
  3623.             where (x ,y ) is the current raster position.  These pixel
  3624.                     r  r
  3625.             fragments are then treated just like the fragments generated by
  3626.             rasterizing points, lines, or polygons.  Texture mapping, fog,
  3627.             and all the fragment operations are applied before the fragments
  3628.             are written to the frame buffer.
  3629.  
  3630.   GL_STENCIL_INDEX
  3631.             Each pixel is a single value, a stencil index.  It is converted
  3632.             to fixed-point format, with an unspecified number of bits to the
  3633.             right of the binary point, regardless of the memory data type.
  3634.             Floating-point values convert to true fixed-point values.  Signed
  3635.             and unsigned integer data is converted with all fraction bits set
  3636.             to zero.  Bitmap data convert to either 0.0 or 1.0.
  3637.  
  3638.             Each fixed-point index is then shifted left by GL_INDEX_SHIFT
  3639.             bits, and added to GL_INDEX_OFFSET.  If GL_INDEX_SHIFT is
  3640.             negative, the shift is to the right.  In either case, zero bits
  3641.             fill otherwise unspecified bit locations in the result.  If
  3642.             GL_MAP_STENCIL is true, the index is replaced with the value that
  3643.             it references in lookup table GL_PIXEL_MAP_S_TO_S.  Whether the
  3644.             lookup replacement of the index is done or not, the integer part
  3645.                                              b
  3646.             of the index is then ANDed with 2 -1, where b is the number of
  3647.             bits in the stencil buffer.  The resulting stencil indices are
  3648.             then written to the stencil buffer such that the nth index is
  3649.             written to location
  3650.  
  3651.                                x  = x  + n mod width
  3652.                                 n    r
  3653.  
  3654.                                y  = y  + floor (n/width)
  3655.                                 n    r
  3656.  
  3657.        where (x ,y ) is the current raster position.  Only the pixel
  3658.                r  r
  3659.        ownership test, the scissor test, and the stencil writemask affect
  3660.        these writes.
  3661.  
  3662.   GL_DEPTH_COMPONENT
  3663.        Each pixel is a single-depth component.  Floating-point data is
  3664.        converted directly to an internal floating-point format with
  3665.        unspecified precision.  Signed integer data is mapped linearly to the
  3666.        internal floating-point format such that the most positive
  3667.        representable integer value maps to 1.0, and the most negative
  3668.        representable value maps to -1.0.  Unsigned integer data is mapped
  3669.        similarly: the largest integer value maps to 1.0, and zero maps to
  3670.        0.0.  The resulting floating-point depth value is then multiplied by
  3671.        GL_DEPTH_SCALE and added to GL_DEPTH_BIAS.  The result is clamped to
  3672.        the range [0,1].
  3673.  
  3674.        The resulting depth components are then converted to fragments by
  3675.        attaching the current raster position color or color index and texture
  3676.        coordinates to each pixel, then assigning x and y window coordinates
  3677.        to the nth fragment such that
  3678.  
  3679.                                x  = x  + n mod width
  3680.                                 n    r
  3681.  
  3682.                                y  = y  + floor (n/width)
  3683.                                 n    r
  3684.  
  3685.        where (x ,y ) is the current raster position.  These pixel fragments
  3686.                r  r
  3687.        are then treated just like the fragments generated by rasterizing
  3688.        points, lines, or polygons.  Texture mapping, fog, and all the
  3689.        fragment operations are applied before the fragments are written to
  3690.        the frame buffer.
  3691.  
  3692.   GL_RGBA
  3693.        Each pixel is a four-component group: red first, followed by green,
  3694.        followed by blue, followed by alpha.  Floating-point values are
  3695.        converted directly to an internal floating-point format with
  3696.        unspecified precision.  Signed integer values are mapped linearly to
  3697.        the internal floating-point format such that the most positive
  3698.        representable integer value maps to 1.0, and the most negative
  3699.        representable value maps to -1.0.  Unsigned integer data is mapped
  3700.        similarly: the largest integer value maps to 1.0, and zero maps to
  3701.        0.0.  The resulting floating-point color values are then multiplied by
  3702.        GL_c_SCALE and added to GL_c_BIAS, where c is RED, GREEN, BLUE, and
  3703.        ALPHA for the respective color components.  The results are clamped to
  3704.        the range [0,1].
  3705.  
  3706.        If GL_MAP_COLOR is true, each color component is scaled by the size of
  3707.        lookup table GL_PIXEL_MAP_c_TO_c, then replaced by the value that it
  3708.        references in that table.  c is R, G, B, or A, respectively.
  3709.  
  3710.        The resulting RGBA colors are then converted to fragments by attaching
  3711.        the current raster position z coordinate and texture coordinates to
  3712.        each pixel, then assigning x and y window coordinates to the nth
  3713.        fragment such that
  3714.  
  3715.                                x  = x  + n mod width
  3716.                                 n    r
  3717.  
  3718.                                y  = y  + floor (n/width)
  3719.                                 n    r
  3720.  
  3721.        where (x ,y ) is the current raster position.  These pixel fragments
  3722.                r  r
  3723.        are then treated just like the fragments generated by rasterizing
  3724.        points, lines, or polygons.  Texture mapping, fog, and all the
  3725.        fragment operations are applied before the fragments are written to
  3726.        the frame buffer.
  3727.  
  3728.   GL_RED
  3729.        Each pixel is a single red component.  This component is converted to
  3730.        the internal floating-point format in the same way as the red
  3731.        component of an RGBA pixel is, then it is converted to an RGBA pixel
  3732.        with green and blue set to 0.0, and alpha set to 1.0.  After this
  3733.        conversion, the pixel is treated just as if it had been read as an
  3734.        RGBA pixel.
  3735.  
  3736.   GL_GREEN
  3737.        Each pixel is a single green component.  This component is converted
  3738.        to the internal floating-point format in the same way as the green
  3739.        component of an RGBA pixel is, then it is converted to an RGBA pixel
  3740.        with red and blue set to 0.0, and alpha set to 1.0.  After this
  3741.        conversion, the pixel is treated just as if it had been read as an
  3742.        RGBA pixel.
  3743.  
  3744.   GL_BLUE
  3745.        Each pixel is a single blue component.  This component is converted to
  3746.        the internal floating-point format in the same way as the blue
  3747.        component of an RGBA pixel is, then it is converted to an RGBA pixel
  3748.        with red and green set to 0.0, and alpha set to 1.0.  After this
  3749.        conversion, the pixel is treated just as if it had been read as an
  3750.        RGBA pixel.
  3751.  
  3752.   GL_ALPHA
  3753.        Each pixel is a single alpha component.  This component is converted
  3754.        to the internal floating-point format in the same way as the alpha
  3755.        component of an RGBA pixel is, then it is converted to an RGBA pixel
  3756.        with red, green, and blue set to 0.0.  After this conversion, the
  3757.        pixel is treated just as if it had been read as an RGBA pixel.
  3758.  
  3759.   GL_RGB
  3760.        Each pixel is a three-component group: red first, followed by green,
  3761.        followed by blue.  Each component is converted to the internal
  3762.        floating-point format in the same way as the red, green, and blue
  3763.        components of an RGBA pixel are.  The color triple is converted to an
  3764.        RGBA pixel with alpha set to 1.0.  After this conversion, the pixel is
  3765.        treated just as if it had been read as an RGBA pixel.
  3766.  
  3767.   GL_LUMINANCE
  3768.        Each pixel is a single luminance component.  This component is
  3769.        converted to the internal floating-point format in the same way as the
  3770.        red component of an RGBA pixel is, then it is converted to an RGBA
  3771.        pixel with red, green, and blue set to the converted luminance value,
  3772.        and alpha set to 1.0.  After this conversion, the pixel is treated
  3773.        just as if it had been read as an RGBA pixel.
  3774.  
  3775.   GL_LUMINANCE_ALPHA
  3776.        Each pixel is a two-component group: luminance first, followed by
  3777.        alpha.  The two components are converted to the internal floating-
  3778.        point format in the same way as the red component of an RGBA pixel is,
  3779.        then they are converted to an RGBA pixel with red, green, and blue set
  3780.        to the converted luminance value, and alpha set to the converted alpha
  3781.        value.  After this conversion, the pixel is treated just as if it had
  3782.        been read as an RGBA pixel.
  3783.  
  3784.  
  3785.   The following table summarizes the meaning of the valid constants for the
  3786.   type parameter:
  3787.  
  3788.          -------------------------------------------------------------
  3789.          |      type        |          corresponding type            |
  3790.          -------------------------------------------------------------
  3791.          |GL_UNSIGNED_BYTE  |         unsigned 8-bit integer         |
  3792.          |     GL_BYTE      |          signed 8-bit integer          |
  3793.          |    GL_BITMAP     | single bits in unsigned 8-bit integers |
  3794.          |GL_UNSIGNED_SHORT |        unsigned 16-bit integer         |
  3795.          |    GL_SHORT      |         signed 16-bit integer          |
  3796.          | GL_UNSIGNED_INT  |        unsigned 32-bit integer         |
  3797.          |     GL_INT       |             32-bit integer             |
  3798.          |    GL_FLOAT      |    single-precision floating-point     |
  3799.          -------------------------------------------------------------
  3800.  
  3801.   The rasterization described thus far assumes pixel zoom factors of 1.0.  If
  3802.   glPixelZoom is used to change the x and y pixel zoom factors, pixels are
  3803.   converted to fragments as follows.  If (x , y ) is the current raster
  3804.                                            r   r
  3805.   position, and a given pixel is in the nth column and mth row of the pixel
  3806.   rectangle, then fragments are generated for pixels whose centers are in the
  3807.   rectangle with corners at
  3808.  
  3809.                               (x + zoom  n, y + zoom  m)
  3810.                                 r      x     r      y
  3811.  
  3812.                           (x + zoom  (n+1), y + zoom  (m+1))
  3813.                             r      x         r      y
  3814.  
  3815.  
  3816.   where zoom  is the value of GL_ZOOM_X and zoom  is the value of GL_ZOOM_Y.
  3817.             x                                   y
  3818.  
  3819.  
  3820.  
  3821. Errors 
  3822.  
  3823.   GL_INVALID_VALUE is generated if either width or height is negative.
  3824.  
  3825.   GL_INVALID_ENUM is generated if format or type is not one of the accepted
  3826.   values.
  3827.  
  3828.   GL_INVALID_OPERATION is generated if format is GL_RED, GL_GREEN, GL_BLUE,
  3829.   GL_ALPHA, GL_RGB, GL_RGBA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA, and the GL
  3830.   is in color index mode.
  3831.  
  3832.   GL_INVALID_ENUM is generated if type is GL_BITMAP and format is not either
  3833.   GL_COLOR_INDEX or GL_STENCIL_INDEX.
  3834.  
  3835.   GL_INVALID_OPERATION is generated if format is GL_STENCIL_INDEX and there
  3836.   is no stencil buffer.
  3837.  
  3838.   GL_INVALID_OPERATION is generated if glDrawPixels is executed between the
  3839.   execution of glBegin and the corresponding execution of glEnd.
  3840.  
  3841.  
  3842.  
  3843. Associated Gets 
  3844.  
  3845.   glGet with argument GL_CURRENT_RASTER_POSITION
  3846.   glGet with argument GL_CURRENT_RASTER_POSITION_VALID
  3847.  
  3848.  
  3849.  
  3850. See Also 
  3851.  
  3852.   glAlphaFunc, glBlendFunc, glCopyPixels, glDepthFunc, glLogicOp, glPixelMap,
  3853.   glPixelStore, glPixelTransfer, glPixelZoom, glRasterPos, glReadPixels,
  3854.   glScissor, glStencilFunc
  3855.  
  3856.  
  3857.  
  3858. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  3859.  
  3860.  Introduction | Alphabetic | Specification 
  3861.  
  3862. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  3863. Look here for legal stuff:  Legal 
  3864.  
  3865.  
  3866. ΓòÉΓòÉΓòÉ 3.29. glEdgeFlag ΓòÉΓòÉΓòÉ
  3867.  
  3868.  OpenGL man pages 
  3869.  
  3870. glEdgeFlag 
  3871.  
  3872.  
  3873.  
  3874.  
  3875.  
  3876.  
  3877. Name 
  3878.  
  3879.   glEdgeFlag, glEdgeFlagv - flag edges as either boundary or nonboundary
  3880.  
  3881.  
  3882.  
  3883.  
  3884. C Specification 
  3885.  
  3886.   void glEdgeFlag( GLboolean flag )
  3887.  
  3888.  
  3889.  
  3890.  
  3891.  
  3892. Parameters 
  3893.  
  3894.  
  3895.   flag  Specifies the current edge flag value, either true or false.
  3896.  
  3897.  
  3898.  
  3899.  
  3900. C Specification 
  3901.  
  3902.   void glEdgeFlagv( const GLboolean *flag )
  3903.  
  3904.  
  3905.  
  3906.  
  3907.  
  3908. Parameters 
  3909.  
  3910.  
  3911.   flag Specifies a pointer to an array that contains a single Boolean
  3912.        element, which replaces the current edge flag value.
  3913.  
  3914.  
  3915.  
  3916.  
  3917. Description 
  3918.  
  3919.   Each vertex of a polygon, separate triangle, or separate quadrilateral
  3920.   specified between a glBegin/glEnd pair is marked as the start of either a
  3921.   boundary or nonboundary edge.  If the current edge flag is true when the
  3922.   vertex is specified, the vertex is marked as the start of a boundary edge.
  3923.   Otherwise, the vertex is marked as the start of a nonboundary edge.
  3924.   glEdgeFlag sets the edge flag to true if flag is nonzero, false otherwise.
  3925.  
  3926.   The vertices of connected triangles and connected quadrilaterals are always
  3927.   marked as boundary, regardless of the value of the edge flag.
  3928.  
  3929.   Boundary and nonboundary edge flags on vertices are significant only if
  3930.   GL_POLYGON_MODE is set to GL_POINT or GL_LINE.  See glPolygonMode.
  3931.  
  3932.   Initially, the edge flag bit is true.
  3933.  
  3934.  
  3935.  
  3936. Notes 
  3937.  
  3938.   The current edge flag can be updated at any time.  In particular,
  3939.   glEdgeFlag can be called between a call to glBegin and the corresponding
  3940.   call to glEnd.
  3941.  
  3942.  
  3943.  
  3944. Associated Gets 
  3945.  
  3946.   glGet with argument GL_EDGE_FLAG
  3947.  
  3948.  
  3949.  
  3950. See Also 
  3951.  
  3952.   glBegin, glPolygonMode
  3953.  
  3954.  
  3955.  
  3956. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  3957.  
  3958.  Introduction | Alphabetic | Specification 
  3959.  
  3960. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  3961. Look here for legal stuff:  Legal 
  3962.  
  3963.  
  3964. ΓòÉΓòÉΓòÉ 3.30. glEdgeFlagPointerEXT ΓòÉΓòÉΓòÉ
  3965.  
  3966.  OpenGL man pages 
  3967.  
  3968. glEdgeFlagPointerEXT 
  3969.  
  3970.  
  3971.  
  3972.  
  3973.  
  3974.  
  3975. Name 
  3976.  
  3977.   glEdgeFlagPointerEXT - define an array of edge flags
  3978.  
  3979.  
  3980.  
  3981.  
  3982. C Specification 
  3983.  
  3984.   void glEdgeFlagPointerEXT( GLsizei stride,
  3985.                              GLsizei count,
  3986.                              const GLboolean *pointer )
  3987.  
  3988.  
  3989.  
  3990.  
  3991. Parameters 
  3992.  
  3993.  
  3994.   stride   Specifies the byte offset between consecutive edge flags.  If
  3995.            stride is zero the edge flags are understood to be tightly packed
  3996.            in the array.
  3997.  
  3998.   count    Specifies the number of edge flags, counting from the first, that
  3999.            are static.
  4000.  
  4001.   pointer  Specifies a pointer to the first edge flag in the array.
  4002.  
  4003.  
  4004.  
  4005.  
  4006. Description 
  4007.  
  4008.   glEdgeFlagPointerEXT specifies the location and data format of an array of
  4009.   boolean edge flags to use when rendering when using the vertex array
  4010.   extension. stride gives the byte stride from one edge flag to the next
  4011.   allowing vertexes and attributes to be packed into a single array or stored
  4012.   in separate arrays.  (Single-array storage may be more efficient on some
  4013.   implementations.) count indicates the number of array elements (counting
  4014.   from the first) that are static. Static elements may be modified by the
  4015.   application, but once they are modified, the application must explicitly
  4016.   respecify the array before using it for any rendering. When an edge flag
  4017.   array is specified, stride, count and pointer are saved as client-side state,
  4018.   and static array elements may be cached by the implementation.
  4019.  
  4020.   The edge flag array is enabled and disabled using glEnable and glDisable
  4021.   with the argument GL_EDGE_FLAG_ARRAY_EXT. If enabled, the edge flag array
  4022.   is used when glDrawArraysEXT or glArrayElementEXT is called.
  4023.  
  4024.   Use glDrawArraysEXT to define a sequence of primitives (all of the same
  4025.   type) from pre-specified vertex and vertex attribute arrays.  Use
  4026.   glArrayElementEXT to specify primitives by indexing vertexes and vertex
  4027.   attributes.
  4028.  
  4029.  
  4030.  
  4031. Notes 
  4032.  
  4033.   Non-static array elements are not accessed until glArrayElementEXT or
  4034.   glDrawArraysEXT is executed.
  4035.  
  4036.   By default the edge flag array is disabled and it won't be accessed when
  4037.   glArrayElementEXT or glDrawArraysEXT is called.
  4038.  
  4039.  
  4040.  
  4041.   Although it is not an error to call glEdgeFlagPointerEXT between the
  4042.   execution of glBegin and the corresponding execution of glEnd, the results
  4043.   are undefined.
  4044.  
  4045.  
  4046.  
  4047.   glEdgeFlagPointerEXT will typically be implemented on the client side with
  4048.   no protocol.
  4049.  
  4050.  
  4051.   Since the edge flag array parameters are client side state, they are not
  4052.   saved or restored by glPushAttrib and glPopAttrib.
  4053.  
  4054.  
  4055.   glEdgeFlagPointerEXT commands are not entered into display lists.
  4056.  
  4057.  
  4058.   glEdgeFlagPointerEXT is part of the EXT_vertex_array extension,
  4059.   not part of the core GL command set. If "GL_EXT_vertex_array" is
  4060.   included in the string returned by glGetString, when called with argument
  4061.   GL_EXTENSIONS, extension EXT_vertex_array is supported.
  4062.  
  4063.  
  4064.  
  4065.  
  4066. Errors 
  4067.  
  4068.   GL_INVALID_ENUM is generated if stride  or count is negative.
  4069.  
  4070.  
  4071.  
  4072. Associated Gets 
  4073.  
  4074.   glIsEnabled with argument GL_EDGE_FLAG_ARRAY_EXT
  4075.   glGet with argument GL_EDGE_FLAG_ARRAY_STRIDE_EXT
  4076.   glGet with argument GL_EDGE_FLAG_ARRAY_COUNT_EXT
  4077.   glGetPointervEXT with argument GL_EDGE_FLAG_ARRAY_POINTER_EXT
  4078.  
  4079.  
  4080.  
  4081. See Also 
  4082.  
  4083.   glArrayElementEXT, glColorPointerEXT, glDrawArraysEXT, glGetPointervEXT,
  4084.   glIndexPointerEXT, glNormalPointerEXT, glTexCoordPointerEXT,
  4085.   glVertexPointerEXT, glEnable
  4086.  
  4087.  
  4088. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  4089.  
  4090.  Introduction | Alphabetic | Specification 
  4091.  
  4092. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  4093. Look here for legal stuff:  Legal 
  4094.  
  4095.  
  4096. ΓòÉΓòÉΓòÉ 3.31. glEnable ΓòÉΓòÉΓòÉ
  4097.  
  4098.  OpenGL man pages 
  4099.  
  4100. glEnable 
  4101.  
  4102.  
  4103.  
  4104.  
  4105.  
  4106.  
  4107. Name 
  4108.  
  4109.   glEnable, glDisable - enable or disable GL capabilities
  4110.  
  4111.  
  4112.  
  4113.  
  4114. C Specification 
  4115.  
  4116.   void glEnable( GLenum cap )
  4117.  
  4118.  
  4119.  
  4120.  
  4121. Parameters 
  4122.  
  4123.  
  4124.   cap  Specifies a symbolic constant indicating a GL capability.
  4125.  
  4126.  
  4127.  
  4128. C Specification 
  4129.  
  4130.   void glDisable( GLenum cap )
  4131.  
  4132.  
  4133.  
  4134.  
  4135. Parameters 
  4136.  
  4137.  
  4138.   cap  Specifies a symbolic constant indicating a GL capability.
  4139.  
  4140.  
  4141.  
  4142. Description 
  4143.  
  4144.   glEnable and glDisable enable and disable various capabilities.  Use
  4145.   glIsEnabled or glGet to determine the current setting of any capability.
  4146.  
  4147.   Both glEnable and glDisable take a single argument, cap, which can assume
  4148.   one of the following values:
  4149.  
  4150.   GL_ALPHA_TEST            If enabled, do alpha testing. See glAlphaFunc.
  4151.  
  4152.   GL_AUTO_NORMAL           If enabled, compute surface normal vectors
  4153.                            analytically when either GL_MAP2_VERTEX_3 or
  4154.                            GL_MAP2_VERTEX_4 is used to generate vertices.
  4155.                            See glMap2.
  4156.  
  4157.   GL_BLEND                 If enabled, blend the incoming RGBA color values
  4158.                            with the values in the color buffers.  See
  4159.                            glBlendFunc.
  4160.  
  4161.   GL_CLIP_PLANEi           If enabled, clip geometry against user-defined
  4162.                            clipping plane i.  See glClipPlane.
  4163.  
  4164.   GL_COLOR_ARRAY_EXT       If enabled, colors are taken from the color array
  4165.                            when glArrayElementEXT or glDrawArraysEXT is
  4166.                            called.  See glColorPointerEXT, glArrayElementEXT
  4167.                            and glDrawArraysEXT.
  4168.  
  4169.   GL_COLOR_MATERIAL        If enabled, have one or more material parameters
  4170.                            track the current color.  See glColorMaterial.
  4171.  
  4172.   GL_CULL_FACE             If enabled, cull polygons based on their winding
  4173.                            in window coordinates.  See glCullFace.
  4174.  
  4175.   GL_DEPTH_TEST            If enabled, do depth comparisons and update the
  4176.                            depth buffer.  See glDepthFunc and  glDepthRange.
  4177.  
  4178.   GL_DITHER                If enabled, dither color components or indices
  4179.                            before they are written to the color buffer.
  4180.  
  4181.   GL_EDGE_FLAG_ARRAY_EXT   If enabled, edge flags are taken from the edge
  4182.                            flags array when glArrayElementEXT or
  4183.                            glDrawArraysEXT is called.  See
  4184.                            glEdgeFlagPointerEXT, glArrayElementEXT and
  4185.                            glDrawArraysEXT.
  4186.  
  4187.   GL_FOG                   If enabled, blend a fog color into the
  4188.                            posttexturing color.  See glFog.
  4189.  
  4190.   GL_INDEX_ARRAY_EXT       If enabled, color indexes are taken from the color
  4191.                            index array when glArrayElementEXT or
  4192.                            glDrawArraysEXT is called.  See glIndexPointerEXT,
  4193.                            glArrayElementEXT and glDrawArraysEXT.
  4194.  
  4195.   GL_LIGHTi                If enabled, include light i in the evaluation of
  4196.                            the lighting equation.  See glLightModel and
  4197.                            glLight.
  4198.  
  4199.   GL_LIGHTING              If enabled, use the current lighting parameters to
  4200.                            compute the vertex color or index.  Otherwise,
  4201.                            simply associate the current color or index with
  4202.                            each vertex.  See glMaterial, glLightModel, and
  4203.                            glLight.
  4204.  
  4205.   GL_LINE_SMOOTH           If enabled, draw lines with correct filtering.
  4206.                            Otherwise, draw aliased lines.  See glLineWidth.
  4207.  
  4208.   GL_LINE_STIPPLE          If enabled, use the current line stipple pattern
  4209.                            when drawing lines.  See glLineStipple.
  4210.  
  4211.   GL_LOGIC_OP              If enabled, apply the currently selected logical
  4212.                            operation to the incoming and color buffer
  4213.                            indices.  See glLogicOp.
  4214.  
  4215.   GL_MAP1_COLOR_4          If enabled, calls to glEvalCoord1, glEvalMesh1,
  4216.                            and glEvalPoint1 will generate RGBA values.  See
  4217.                            glMap1.
  4218.  
  4219.   GL_MAP1_INDEX            If enabled, calls to glEvalCoord1, glEvalMesh1,
  4220.                            and glEvalPoint1 will generate color indices.  See
  4221.                            glMap1.
  4222.  
  4223.   GL_MAP1_NORMAL           If enabled, calls to glEvalCoord1, glEvalMesh1,
  4224.                            and glEvalPoint1 will generate normals.  See
  4225.                            glMap1.
  4226.  
  4227.   GL_MAP1_TEXTURE_COORD_1  If enabled, calls to glEvalCoord1, glEvalMesh1,
  4228.                            and glEvalPoint1 will generate s texture
  4229.                            coordinates.  See glMap1.
  4230.  
  4231.   GL_MAP1_TEXTURE_COORD_2  If enabled, calls to glEvalCoord1, glEvalMesh1,
  4232.                            and glEvalPoint1 will generate s and t texture
  4233.                            coordinates.  See glMap1.
  4234.  
  4235.   GL_MAP1_TEXTURE_COORD_3  If enabled, calls to glEvalCoord1, glEvalMesh1,
  4236.                            and glEvalPoint1 will generate s, t, and r texture
  4237.                            coordinates.  See glMap1.
  4238.  
  4239.   GL_MAP1_TEXTURE_COORD_4  If enabled, calls to glEvalCoord1, glEvalMesh1,
  4240.                            and glEvalPoint1 will generate s, t, r, and q
  4241.                            texture coordinates.  See glMap1.
  4242.  
  4243.   GL_MAP1_VERTEX_3         If enabled, calls to glEvalCoord1, glEvalMesh1,
  4244.                            and glEvalPoint1 will generate will generate x, y,
  4245.                            and z vertex coordinates.  See glMap1.
  4246.  
  4247.   GL_MAP1_VERTEX_4         If enabled, calls to glEvalCoord1, glEvalMesh1,
  4248.                            and glEvalPoint1 will generate homogeneous x, y,
  4249.                            z, and w vertex coordinates.  See glMap1.
  4250.  
  4251.   GL_MAP2_COLOR_4          If enabled, calls to glEvalCoord2, glEvalMesh2,
  4252.                            and glEvalPoint2 will generate RGBA values.  See
  4253.                            glMap2.
  4254.  
  4255.   GL_MAP2_INDEX            If enabled, calls to glEvalCoord2, glEvalMesh2,
  4256.                            and glEvalPoint2 will generate color indices.  See
  4257.                            glMap2.
  4258.  
  4259.   GL_MAP2_NORMAL           If enabled, calls to glEvalCoord2, glEvalMesh2,
  4260.                            and glEvalPoint2 will generate normals.  See
  4261.                            glMap2.
  4262.  
  4263.   GL_MAP2_TEXTURE_COORD_1  If enabled, calls to glEvalCoord2, glEvalMesh2,
  4264.                            and glEvalPoint2 will generate s texture
  4265.                            coordinates.  See glMap2.
  4266.  
  4267.   GL_MAP2_TEXTURE_COORD_2  If enabled, calls to glEvalCoord2, glEvalMesh2,
  4268.                            and glEvalPoint2 will generate s and t texture
  4269.                            coordinates.  See glMap2.
  4270.  
  4271.   GL_MAP2_TEXTURE_COORD_3  If enabled, calls to glEvalCoord2, glEvalMesh2,
  4272.                            and glEvalPoint2 will generate s, t, and r texture
  4273.                            coordinates.  See glMap2.
  4274.  
  4275.   GL_MAP2_TEXTURE_COORD_4  If enabled, calls to glEvalCoord2, glEvalMesh2,
  4276.                            and glEvalPoint2 will generate s, t, r, and q
  4277.                            texture coordinates.  See glMap2.
  4278.  
  4279.   GL_MAP2_VERTEX_3         If enabled, calls to glEvalCoord2, glEvalMesh2,
  4280.                            and glEvalPoint2 will generate will generate x, y,
  4281.                            and z vertex coordinates.  See glMap2.
  4282.  
  4283.   GL_MAP2_VERTEX_4         If enabled, calls to glEvalCoord2, glEvalMesh2,
  4284.                            and glEvalPoint2 will generate homogeneous x, y,
  4285.                            z, and w vertex coordinates.  See glMap2.
  4286.  
  4287.   GL_NORMAL_ARRAY_EXT      If enabled, normals are taken from the normal
  4288.                            array when glArrayElementEXT or glDrawArraysEXT is
  4289.                            called.  See glNormalPointerEXT, glArrayElementEXT
  4290.                            and glDrawArraysEXT.
  4291.  
  4292.   GL_NORMALIZE             If enabled, normal vectors specified with glNormal
  4293.                            are scaled to unit length after transformation.
  4294.                            See glNormal.
  4295.  
  4296.   GL_POINT_SMOOTH          If enabled, draw points with proper filtering.
  4297.                            Otherwise, draw aliased points.  See glPointSize.
  4298.  
  4299.   GL_POLYGON_SMOOTH        If enabled, draw polygons with proper filtering.
  4300.                            Otherwise, draw aliased polygons.  See
  4301.                            glPolygonMode.
  4302.  
  4303.   GL_POLYGON_STIPPLE       If enabled, use the current polygon stipple
  4304.                            pattern when rendering polygons.  See
  4305.                            glPolygonStipple.
  4306.  
  4307.   GL_SCISSOR_TEST          If enabled, discard fragments that are outside the
  4308.                            scissor rectangle.  See glScissor.
  4309.  
  4310.   GL_STENCIL_TEST          If enabled, do stencil testing and update the
  4311.                            stencil buffer.  See glStencilFunc and
  4312.                            glStencilOp.
  4313.  
  4314.   GL_TEXTURE_1D            If enabled, one-dimensional texturing is performed
  4315.                            (unless two-dimensional texturing is also
  4316.                            enabled).  See glTexImage1D.
  4317.  
  4318.   GL_TEXTURE_2D            If enabled, two-dimensional texturing is
  4319.                            performed.  See glTexImage2D.
  4320.  
  4321.   GL_TEXTURE_COORD_ARRAY_EXT
  4322.                            If enabled, texture coordinates are taken from the
  4323.                            texture coordinates array when glArrayElementEXT
  4324.                            or glDrawArraysEXT is called.  See
  4325.                            glTexCoordPointerEXT, glArrayElementEXT and
  4326.                            glDrawArraysEXT.
  4327.  
  4328.   GL_TEXTURE_GEN_Q         If enabled, the q texture coordinate is computed
  4329.                            using the texture generation function defined with
  4330.                            glTexGen.  Otherwise, the current q texture
  4331.                            coordinate is used.  See glTexGen.
  4332.  
  4333.   GL_TEXTURE_GEN_R         If enabled, the r texture coordinate is computed
  4334.                            using the texture generation function defined with
  4335.                            glTexGen.  Otherwise, the current r texture
  4336.                            coordinate is used.  See glTexGen.
  4337.  
  4338.   GL_TEXTURE_GEN_S         If enabled, the s texture coordinate is computed
  4339.                            using the texture generation function defined with
  4340.                            glTexGen.  Otherwise, the current s texture
  4341.                            coordinate is used.  See glTexGen.
  4342.  
  4343.   GL_TEXTURE_GEN_T         If enabled, the t texture coordinate is computed
  4344.                            using the texture generation function defined with
  4345.                            glTexGen.  Otherwise, the current t texture
  4346.                            coordinate is used.  See glTexGen.
  4347.  
  4348.   GL_VERTEX_ARRAY_EXT      If enabled, vertexes are taken from the vertex
  4349.                            array when glArrayElementEXT or glDrawArraysEXT is
  4350.                            called.  See glVertexPointerEXT, glArrayElementEXT
  4351.                            and glDrawArraysEXT.
  4352.  
  4353.  
  4354.  
  4355. Errors 
  4356.  
  4357.   GL_INVALID_ENUM is generated if cap is not one of the values listed above.
  4358.  
  4359.   GL_INVALID_OPERATION is generated if glEnable or glDisable is executed
  4360.   between the execution of  glBegin and the corresponding execution of glEnd.
  4361.  
  4362.  
  4363.  
  4364. See Also 
  4365.  
  4366.   glAlphaFunc, glBlendFunc, glClipPlane, glColorMaterial, glCullFace,
  4367.   glDepthFunc, glDepthRange, glFog, glGet, glIsEnabled, glLight,
  4368.   glLightModel, glLineWidth, glLineStipple, glLogicOp, glMap1, glMap2,
  4369.   glMaterial, glNormal, glPointSize, glPolygonMode, glPolygonStipple,
  4370.   glScissor, glStencilFunc, glStencilOp, glTexGen, glTexImage1D, glTexImage2D
  4371.  
  4372.  
  4373.  
  4374. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  4375.  
  4376.  Introduction | Alphabetic | Specification 
  4377.  
  4378. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  4379. Look here for legal stuff:  Legal 
  4380.  
  4381.  
  4382. ΓòÉΓòÉΓòÉ 3.32. glEvalCoord ΓòÉΓòÉΓòÉ
  4383.  
  4384.  OpenGL man pages 
  4385.  
  4386. glEvalCoord 
  4387.  
  4388.  
  4389.  
  4390.  
  4391.  
  4392.  
  4393. Name 
  4394.  
  4395.   glEvalCoord1d, glEvalCoord1f, glEvalCoord2d, glEvalCoord2f, glEvalCoord1dv,
  4396.   glEvalCoord1fv, glEvalCoord2dv, glEvalCoord2fv - evaluate enabled one- and
  4397.   two-dimensional maps
  4398.  
  4399.  
  4400.  
  4401.  
  4402. C Specification 
  4403.  
  4404.   void glEvalCoord1d( GLdouble u )
  4405.   void glEvalCoord1f( GLfloat u )
  4406.   void glEvalCoord2d( GLdouble u,
  4407.                       GLdouble v )
  4408.   void glEvalCoord2f( GLfloat u,
  4409.                       GLfloat v )
  4410.  
  4411.  
  4412.  
  4413.  
  4414. Parameters 
  4415.  
  4416.  
  4417.   u  Specifies a value that is the domain coordinate u to the basis function
  4418.      defined in a previous glMap1 or glMap2 command.
  4419.  
  4420.   v  Specifies a value that is the domain coordinate v to the basis function
  4421.      defined in a previous glMap2 command.  This argument is not present in
  4422.      an glEvalCoord1 command.
  4423.  
  4424.  
  4425.  
  4426. C Specification 
  4427.  
  4428.   void glEvalCoord1dv( const GLdouble *u )
  4429.   void glEvalCoord1fv( const GLfloat *u )
  4430.   void glEvalCoord2dv( const GLdouble *u )
  4431.   void glEvalCoord2fv( const GLfloat *u )
  4432.  
  4433.  
  4434.  
  4435.  
  4436. Parameters 
  4437.  
  4438.  
  4439.   u    Specifies a pointer to an array containing either one or two domain
  4440.        coordinates.  The first coordinate is u.  The second coordinate is v,
  4441.        which is present only in glEvalCoord2 versions.
  4442.  
  4443.  
  4444.  
  4445. Description 
  4446.  
  4447.   glEvalCoord1 evaluates enabled one-dimensional maps at argument u.
  4448.   glEvalCoord2 does the same for two-dimensional maps using two domain
  4449.   values, u and v.  Maps are defined with glMap1 and glMap2 and enabled and
  4450.   disabled with  glEnable and glDisable.
  4451.  
  4452.   When one of the glEvalCoord commands is issued, all currently enabled maps
  4453.   of the indicated dimension are evaluated.  Then, for each enabled map, it
  4454.   is as if the corresponding GL command was issued with the computed value.
  4455.   That is, if GL_MAP1_INDEX or GL_MAP2_INDEX is enabled, a glIndex command is
  4456.   simulated.  If GL_MAP1_COLOR_4 or GL_MAP2_COLOR_4 is enabled, a glColor
  4457.   command is simulated.  If GL_MAP1_NORMAL or GL_MAP2_NORMAL is enabled, a
  4458.   normal vector is produced, and if any of GL_MAP1_TEXTURE_COORD_1,
  4459.   GL_MAP1_TEXTURE_COORD_2, GL_MAP1_TEXTURE_COORD_3, GL_MAP1_TEXTURE_COORD_4,
  4460.   GL_MAP2_TEXTURE_COORD_1, GL_MAP2_TEXTURE_COORD_2, GL_MAP2_TEXTURE_COORD_3,
  4461.   or GL_MAP2_TEXTURE_COORD_4 is enabled, then an appropriate glTexCoord
  4462.   command is simulated.
  4463.  
  4464.   The GL uses evaluated values instead of current values for those
  4465.   evaluations that are enabled, and current values otherwise, for color,
  4466.   color index, normal, and texture coordinates.  However, the evaluated
  4467.   values do not update the current values.  Thus, if glVertex commands are
  4468.   interspersed with glEvalCoord commands, the color, normal, and texture
  4469.   coordinates associated with the glVertex commands are not affected by the
  4470.   values generated by the glEvalCoord commands, but rather only by the most
  4471.   recent glColor, glIndex, glNormal, and glTexCoord commands.
  4472.  
  4473.   No commands are issued for maps that are not enabled.  If more than one
  4474.   texture evaluation is enabled for a particular dimension (for example,
  4475.   GL_MAP2_TEXTURE_COORD_1 and GL_MAP2_TEXTURE_COORD_2), then only the
  4476.   evaluation of the map that produces the larger number of coordinates (in
  4477.   this case, GL_MAP2_TEXTURE_COORD_2) is carried out.  GL_MAP1_VERTEX_4
  4478.   overrides GL_MAP1_VERTEX_3, and GL_MAP2_VERTEX_4 overrides
  4479.   GL_MAP2_VERTEX_3, in the same manner.  If neither a three- nor four-
  4480.   component vertex map is enabled for the specified dimension, the
  4481.   glEvalCoord command is ignored.
  4482.  
  4483.   If automatic normal generation is enabled, by calling glEnable with
  4484.   argument GL_AUTO_NORMAL, glEvalCoord2 generates surface normals
  4485.   analytically, regardless of the contents or enabling of the GL_MAP2_NORMAL
  4486.   map.  Let
  4487.  
  4488.                                         Dp   Dp
  4489.                                     m = -- Γòû --
  4490.                                         Du   Dv
  4491.  
  4492.   where D represents the partial differential operator.
  4493.  
  4494.   Then the generated normal n is
  4495.  
  4496.                                            m
  4497.                                     n =  -----
  4498.                                          ||m||
  4499.  
  4500.   If automatic normal generation is disabled, the corresponding normal map
  4501.   GL_MAP2_NORMAL, if enabled, is used to produce a normal.  If neither
  4502.   automatic normal generation nor a normal map is enabled, no normal is
  4503.   generated for glEvalCoord2 commands.
  4504.  
  4505.  
  4506.  
  4507. Associated Gets 
  4508.  
  4509.   glIsEnabled with argument GL_MAP1_VERTEX_3
  4510.   glIsEnabled with argument GL_MAP1_VERTEX_4
  4511.   glIsEnabled with argument GL_MAP1_INDEX
  4512.   glIsEnabled with argument GL_MAP1_COLOR_4
  4513.   glIsEnabled with argument GL_MAP1_NORMAL
  4514.   glIsEnabled with argument GL_MAP1_TEXTURE_COORD_1
  4515.   glIsEnabled with argument GL_MAP1_TEXTURE_COORD_2
  4516.   glIsEnabled with argument GL_MAP1_TEXTURE_COORD_3
  4517.   glIsEnabled with argument GL_MAP1_TEXTURE_COORD_4
  4518.   glIsEnabled with argument GL_MAP2_VERTEX_3
  4519.   glIsEnabled with argument GL_MAP2_VERTEX_4
  4520.   glIsEnabled with argument GL_MAP2_INDEX
  4521.   glIsEnabled with argument GL_MAP2_COLOR_4
  4522.   glIsEnabled with argument GL_MAP2_NORMAL
  4523.   glIsEnabled with argument GL_MAP2_TEXTURE_COORD_1
  4524.   glIsEnabled with argument GL_MAP2_TEXTURE_COORD_2
  4525.   glIsEnabled with argument GL_MAP2_TEXTURE_COORD_3
  4526.   glIsEnabled with argument GL_MAP2_TEXTURE_COORD_4
  4527.   glIsEnabled with argument GL_AUTO_NORMAL
  4528.   glGetMap
  4529.  
  4530.  
  4531.  
  4532. See Also 
  4533.  
  4534.   glBegin, glColor, glEnable, glEvalMesh, glEvalPoint, glIndex,        glMap1,
  4535.   glMap2, glMapGrid, glNormal, glTexCoord, glVertex
  4536.  
  4537. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  4538.  
  4539.  Introduction | Alphabetic | Specification 
  4540.  
  4541. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  4542. Look here for legal stuff:  Legal 
  4543.  
  4544.  
  4545. ΓòÉΓòÉΓòÉ 3.33. glEvalMesh ΓòÉΓòÉΓòÉ
  4546.  
  4547.  OpenGL man pages 
  4548.  
  4549. glEvalMesh 
  4550.  
  4551.  
  4552.  
  4553.  
  4554.  
  4555.  
  4556. Name 
  4557.  
  4558.   glEvalMesh1, glEvalMesh2 - compute a one- or two-dimensional grid of points
  4559.   or lines
  4560.  
  4561.  
  4562.  
  4563.  
  4564. C Specification 
  4565.  
  4566.   void glEvalMesh1( GLenum mode,
  4567.                     GLint i1,
  4568.                     GLint i2 )
  4569.  
  4570.  
  4571.  
  4572.  
  4573. Parameters 
  4574.  
  4575.  
  4576.   mode  In glEvalMesh1, specifies whether to compute a one-dimensional mesh
  4577.         of points or lines.  Symbolic constants GL_POINT and GL_LINE are
  4578.         accepted.
  4579.  
  4580.   i1, i2
  4581.         Specify the first and last integer values for grid domain variable i.
  4582.  
  4583.  
  4584.  
  4585. C Specification 
  4586.  
  4587.   void glEvalMesh2( GLenum mode,
  4588.                     GLint i1,
  4589.                     GLint i2,
  4590.                     GLint j1,
  4591.                     GLint j2 )
  4592.  
  4593.  
  4594.  
  4595.  
  4596. Parameters 
  4597.  
  4598.  
  4599.   mode In glEvalMesh2, specifies whether to compute a two-dimensional mesh of
  4600.        points, lines, or polygons.  Symbolic constants GL_POINT, GL_LINE, and
  4601.        GL_FILL are accepted.
  4602.  
  4603.   i1, i2
  4604.        Specify the first and last integer values for grid domain variable i.
  4605.  
  4606.   j1, j2
  4607.        Specify the first and last integer values for grid domain variable j.
  4608.  
  4609.  
  4610.  
  4611.  
  4612. Description 
  4613.  
  4614.   glMapGrid and glEvalMesh are used in tandem to efficiently generate and
  4615.   evaluate a series of evenly spaced map domain values.  glEvalMesh steps
  4616.   through the integer domain of a one- or two-dimensional grid, whose range
  4617.   is the domain of the evaluation maps specified by glMap1 and glMap2.  mode
  4618.   determines whether the resulting vertices are connected as points, lines,
  4619.   or filled polygons.
  4620.  
  4621.   In the one-dimensional case, glEvalMesh1, the mesh is generated as if the
  4622.   following code fragment were executed:
  4623.  
  4624.         glBegin(type);
  4625.         for (i = i1; i <= i2; i += 1)
  4626.                 glEvalCoord1(i Γòû du + u1)
  4627.         glEnd();
  4628.  
  4629.   where
  4630.  
  4631.        du = (u2-u1)/n
  4632.  
  4633.   and n, u1, and u2 are the arguments to the most recent glMapGrid1 command.
  4634.   type is GL_POINT if mode is GL_POINT, or GL_LINES if  mode is GL_LINE.  The
  4635.   one absolute numeric requirement is that if i = n, then the value computed
  4636.   from iΓòûdu + u1 is exactly u2.
  4637.  
  4638.   In the two-dimensional case, glEvalMesh2, let
  4639.  
  4640.                          du = (u2-u1)/n
  4641.  
  4642.                          dv = (v2-v1)/m
  4643.  
  4644.   where n, u1, u2, m, v1, and v2 are the arguments to the most recent
  4645.   glMapGrid2 comand.  Then, if mode is  GL_FILL, the glEvalMesh2 command is
  4646.   equivalent to:
  4647.  
  4648.   for (j = j1;  j < j2; j += 1) {
  4649.       glBegin(GL_QUAD_STRIP);
  4650.       for (i = i1; i <= i2; i += 1) {
  4651.           glEvalCoord2(iΓòûdu + u1, jΓòûdv + v1);
  4652.           glEvalCoord2(iΓòûdu + u1, (j+1)Γòûdv + v1);
  4653.       }
  4654.       glEnd();
  4655.   }
  4656.  
  4657.   If mode is GL_LINE, then a call to glEvalMesh2 is equivalent to:
  4658.  
  4659.   for (j = j1;  j <= j2; j += 1) {
  4660.       glBegin(GL_LINE_STRIP);
  4661.       for (i = i1; i <= i2; i += 1)
  4662.           glEvalCoord2(iΓòûdu + u1, jΓòûdv + v1);
  4663.       glEnd();
  4664.   }
  4665.   for (i = i1; i <= i2; i += 1) {
  4666.       glBegin(GL_LINE_STRIP);
  4667.       for (j = j1; j <= j1; j += 1)
  4668.           glEvalCoord2(iΓòûdu + u1, jΓòûdv + v1);
  4669.       glEnd();
  4670.   }
  4671.  
  4672.   And finally, if mode is GL_POINT, then a call to glEvalMesh2 is equivalent
  4673.   to:
  4674.  
  4675.   glBegin(GL_POINTS);
  4676.   for (j = j1; j <= j2; j += 1) {
  4677.       for (i = i1; i <= i2; i += 1) {
  4678.           glEvalCoord2(iΓòûdu + u1, jΓòûdv + v1);
  4679.       }
  4680.   }
  4681.   glEnd();
  4682.  
  4683.   In all three cases, the only absolute numeric requirements are that if
  4684.   i = n, then the value computed from iΓòûdu + u1 is exactly u2, and if j = m,
  4685.   then the value computed from jΓòûdv + v1 is exactly v2.
  4686.  
  4687.  
  4688.  
  4689. Errors 
  4690.  
  4691.   GL_INVALID_ENUM is generated if mode is not an accepted value.
  4692.  
  4693.   GL_INVALID_OPERATION is generated if glEvalMesh is called between a call to
  4694.   glBegin and the corresponding call to glEnd.
  4695.  
  4696.  
  4697.  
  4698. Associated Gets 
  4699.  
  4700.   glGet with argument GL_MAP1_GRID_DOMAIN
  4701.   glGet with argument GL_MAP2_GRID_DOMAIN
  4702.   glGet with argument GL_MAP1_GRID_SEGMENTS
  4703.   glGet with argument GL_MAP2_GRID_SEGMENTS
  4704.  
  4705.  
  4706.  
  4707. See Also 
  4708.  
  4709.   glBegin, glEvalCoord, glEvalPoint, glMap1, glMap2, glMapGrid
  4710.  
  4711.  
  4712.  
  4713. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  4714.  
  4715.  Introduction | Alphabetic | Specification 
  4716.  
  4717. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  4718. Look here for legal stuff:  Legal 
  4719.  
  4720.  
  4721. ΓòÉΓòÉΓòÉ 3.34. glEvalPoint ΓòÉΓòÉΓòÉ
  4722.  
  4723.  OpenGL man pages 
  4724.  
  4725. glEvalPoint 
  4726.  
  4727.  
  4728.  
  4729.  
  4730.  
  4731.  
  4732. Name 
  4733.  
  4734.   glEvalPoint1, glEvalPoint2 - generate and evaluate a single point in a mesh
  4735.  
  4736.  
  4737.  
  4738.  
  4739. C Specification 
  4740.  
  4741.   void glEvalPoint1( GLint i )
  4742.   void glEvalPoint2( GLint i,
  4743.                      GLint j )
  4744.  
  4745.  
  4746.  
  4747.  
  4748. Parameters 
  4749.  
  4750.  
  4751.   i  Specifies the integer value for grid domain variable i.
  4752.  
  4753.   j  Specifies the integer value for grid domain variable j (glEvalPoint2
  4754.      only).
  4755.  
  4756.  
  4757.  
  4758. Description 
  4759.  
  4760.   glMapGrid and glEvalMesh are used in tandem to efficiently generate and
  4761.   evaluate a series of evenly spaced map domain values.  glEvalPoint can be
  4762.   used to evaluate a single grid point in the same gridspace that is
  4763.   traversed by glEvalMesh.  Calling glEvalPoint1 is equivalent to calling
  4764.  
  4765.                            glEvalCoord1(iΓòûdu + u );
  4766.                                                 1
  4767.                                     where
  4768.  
  4769.                                 du = (u -u )/n
  4770.                                        2  1
  4771.  
  4772.   and n, u , and u  are the arguments to the most recent glMapGrid1 command.
  4773.           1       2
  4774.   The one absolute numeric requirement is that if i = n, then the value
  4775.   computed from iΓòûdu + u  is exactly u .
  4776.                         1             2
  4777.  
  4778.   In the two-dimensional case, glEvalPoint2, let
  4779.  
  4780.                                  du=(u -u )/n
  4781.                                       2  1
  4782.                                  dv=(v -v )/m
  4783.                                       2  1
  4784.   where n, u , u , m, v , and v  are the arguments to the most recent
  4785.             1   2      1       2
  4786.   glMapGrid2 command.  Then the glEvalPoint2 command is equivalent to calling
  4787.  
  4788.                       glEvalCoord2(iΓòûdu + u , jΓòûdv + v );
  4789.                                            1          1
  4790.  
  4791.   The only absolute numeric requirements are that if i = n, then the value
  4792.   computed from iΓòûdu + u  is exactly u , and if j = m, then the value
  4793.                         1             2
  4794.   computed from jΓòûdv + v  is exactly v .
  4795.                         1             2
  4796.  
  4797.  
  4798.  
  4799. Associated Gets 
  4800.  
  4801.   glGet with argument GL_MAP1_GRID_DOMAIN
  4802.   glGet with argument GL_MAP2_GRID_DOMAIN
  4803.   glGet with argument GL_MAP1_GRID_SEGMENTS
  4804.   glGet with argument GL_MAP2_GRID_SEGMENTS
  4805.  
  4806.  
  4807.  
  4808.  
  4809.  
  4810. See Also 
  4811.  
  4812.   glEvalCoord, glEvalMesh, glMap1, glMap2, glMapGrid
  4813.  
  4814. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  4815.  
  4816.  Introduction | Alphabetic | Specification 
  4817.  
  4818. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  4819. Look here for legal stuff:  Legal 
  4820.  
  4821.  
  4822. ΓòÉΓòÉΓòÉ 3.35. glFeedbackBuffer ΓòÉΓòÉΓòÉ
  4823.  
  4824.  OpenGL man pages 
  4825.  
  4826. glFeedbackBuffer 
  4827.  
  4828.  
  4829.  
  4830.  
  4831.  
  4832.  
  4833. Name 
  4834.  
  4835.   glFeedbackBuffer - controls feedback mode
  4836.  
  4837.  
  4838.  
  4839.  
  4840. C Specification 
  4841.  
  4842.   void glFeedbackBuffer( GLsizei size,
  4843.                          GLenum type,
  4844.                          GLfloat *buffer )
  4845.  
  4846.  
  4847.  
  4848.  
  4849. Parameters 
  4850.  
  4851.  
  4852.   size    Specifies the maximum number of values that can be written into
  4853.           buffer.
  4854.  
  4855.   type    Specifies a symbolic constant that describes the information that
  4856.           will be returned for each vertex.  GL_2D, GL_3D, GL_3D_COLOR,
  4857.           GL_3D_COLOR_TEXTURE, and GL_4D_COLOR_TEXTURE are accepted.
  4858.  
  4859.   buffer  Returns the feedback data.
  4860.  
  4861.  
  4862.  
  4863.  
  4864. Description 
  4865.  
  4866.   The glFeedbackBuffer function controls feedback.  Feedback, like selection,
  4867.   is a GL mode.  The mode is selected by calling glRenderMode with
  4868.   GL_FEEDBACK.  When the GL is in feedback mode, no pixels are produced by
  4869.   rasterization.  Instead, information about primitives that would have been
  4870.   rasterized is fed back to the application using the GL.
  4871.  
  4872.   glFeedbackBuffer has three arguments: buffer is a pointer to an array of
  4873.   floating-point values into which feedback information is placed.  size
  4874.   indicates the size of the array.  type is a symbolic constant describing
  4875.   the information that is fed back for each vertex.  glFeedbackBuffer must be
  4876.   issued before feedback mode is enabled (by calling glRenderMode with
  4877.   argument GL_FEEDBACK).  Setting GL_FEEDBACK without establishing the
  4878.   feedback buffer, or calling glFeedbackBuffer while the GL is in feedback
  4879.   mode, is an error.
  4880.  
  4881.   The GL is taken out of feedback mode by calling glRenderMode with a
  4882.   parameter value other than GL_FEEDBACK.  When this is done while the GL is
  4883.   in feedback mode, glRenderMode returns the number of entries placed in the
  4884.   feedback array.  The returned value never exceeds size. If the feedback
  4885.   data required more room than was available in buffer, glRenderMode returns
  4886.   a negative value.
  4887.  
  4888.   While in feedback mode, each primitive that would be rasterized generates a
  4889.   block of values that get copied into the feedback array.  If doing so would
  4890.   cause the number of entries to exceed the maximum, the block is partially
  4891.   written so as to fill the array (if there is any room left at all), and an
  4892.   overflow flag is set.  Each block begins with a code indicating the
  4893.   primitive type, followed by values that describe the primitive's vertices
  4894.   and associated data.  Entries are also written for bitmaps and pixel
  4895.   rectangles.  Feedback occurs after polygon culling and glPolyMode
  4896.   interpretation of polygons has taken place, so polygons that are culled are
  4897.   not returned in the feedback buffer.  It can also occur after polygons with
  4898.   more than three edges are broken up into triangles, if the GL
  4899.   implementation renders polygons by performing this decomposition.
  4900.  
  4901.  
  4902.   The glPassThrough command can be used to insert a marker into the feedback
  4903.   buffer.  See glPassThrough.
  4904.  
  4905.   Following is the grammar for the blocks of values written into the feedback
  4906.   buffer.  Each primitive is indicated with a unique identifying value
  4907.   followed by some number of vertices.  Polygon entries include an integer
  4908.   value indicating how many vertices follow.  A vertex is fed back as some
  4909.   number of floating-point values, as determined by type.  Colors are fed
  4910.   back as four values in RGBA mode and one value in color index mode.
  4911.  
  4912.        feedbackList <- feedbackItem feedbackList | feedbackItem
  4913.  
  4914.        feedbackItem <- point | lineSegment | polygon | bitmap |
  4915.        pixelRectangle | passThru
  4916.  
  4917.        point <- GL_POINT_TOKEN vertex
  4918.  
  4919.        lineSegment <- GL_LINE_TOKEN vertex vertex | GL_LINE_RESET_TOKEN
  4920.        vertex vertex
  4921.  
  4922.        polygon <- GL_POLYGON_TOKEN n polySpec
  4923.  
  4924.        polySpec <- polySpec vertex | vertex vertex vertex
  4925.  
  4926.        bitmap <- GL_BITMAP_TOKEN vertex
  4927.  
  4928.        pixelRectangle <- GL_DRAW_PIXEL_TOKEN vertex | GL_COPY_PIXEL_TOKEN
  4929.        vertex
  4930.  
  4931.        passThru <- GL_PASS_THROUGH_TOKEN value
  4932.  
  4933.        vertex <- 2d | 3d | 3dColor | 3dColorTexture | 4dColorTexture
  4934.  
  4935.        2d <- value value
  4936.  
  4937.        3d <- value value value
  4938.  
  4939.        3dColor  <- value value value color
  4940.  
  4941.        3dColorTexture <- value value value color tex
  4942.  
  4943.        4dColorTexture <- value value value value color tex
  4944.  
  4945.        color <- rgba | index
  4946.  
  4947.        rgba <- value value value value
  4948.  
  4949.        index <- value
  4950.  
  4951.        tex <- value value value value
  4952.  
  4953.  
  4954.   value is a floating-point number, and n is a floating-point integer giving
  4955.   the number of vertices in the polygon.  GL_POINT_TOKEN, GL_LINE_TOKEN,
  4956.   GL_LINE_RESET_TOKEN, GL_POLYGON_TOKEN, GL_BITMAP_TOKEN,
  4957.   GL_DRAW_PIXEL_TOKEN, GL_COPY_PIXEL_TOKEN and GL_PASS_THROUGH_TOKEN are
  4958.   symbolic floating-point constants.  GL_LINE_RESET_TOKEN is returned
  4959.   whenever the line stipple pattern is reset.  The data returned as a vertex
  4960.   depends on the feedback type.
  4961.  
  4962.   The following table gives the correspondence between type and the number of
  4963.   values per vertex.  k is 1 in color index mode and 4 in RGBA mode.
  4964.  
  4965.  
  4966.  
  4967. ------------------------------------------------------------------------------
  4968. |       type         | coordinates | color | texture | total number of values |
  4969. ------------------------------------------------------------------------------
  4970. |       GL_2D        |    x, y     |       |         |           2            |
  4971. |       GL_3D        |   x, y, z   |       |         |           3            |
  4972. |    GL_3D_COLOR     |   x, y, z   |   k   |         |          3+k           |
  4973. |GL_3D_COLOR_TEXTURE |  x, y, z,   |   k   |    4    |          7+k           |
  4974. |GL_4D_COLOR_TEXTURE | x, y, z, w  |   k   |    4    |          8+k           |
  4975. ------------------------------------------------------------------------------
  4976.  
  4977.   Feedback vertex coordinates are in window coordinates, except w, which is
  4978.   in clip coordinates.  Feedback colors are lighted, if lighting is enabled.
  4979.   Feedback texture coordinates are generated, if texture coordinate
  4980.   generation is enabled.  They are always transformed by the texture matrix.
  4981.  
  4982.  
  4983.  
  4984. Notes 
  4985.  
  4986.   glFeedbackBuffer, when used in a display list, is not compiled into the
  4987.   display list but rather is executed immediately.
  4988.  
  4989.  
  4990.  
  4991. Errors 
  4992.  
  4993.   GL_INVALID_ENUM is generated if type is not an accepted value.
  4994.  
  4995.   GL_INVALID_VALUE is generated if size is negative.
  4996.  
  4997.   GL_INVALID_OPERATION is generated if glFeedbackBuffer is called while the
  4998.   render mode is GL_FEEDBACK, or if glRenderMode is called with argument
  4999.   GL_FEEDBACK before glFeedbackBuffer is called at least once.
  5000.  
  5001.   GL_INVALID_OPERATION is generated if glFeedbackBuffer is executed between
  5002.   the execution of glBegin and the corresponding execution of glEnd.
  5003.  
  5004.  
  5005.  
  5006. Associated Gets 
  5007.  
  5008.   glGet with argument GL_RENDER_MODE
  5009.  
  5010.  
  5011.  
  5012. See Also 
  5013.  
  5014.   glBegin, glLineStipple, glPassThrough, glPolygonMode, glRenderMode,
  5015.   glSelectBuffer
  5016.  
  5017.  
  5018.  
  5019. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  5020.  
  5021.  Introduction | Alphabetic | Specification 
  5022.  
  5023. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  5024. Look here for legal stuff:  Legal 
  5025.  
  5026.  
  5027. ΓòÉΓòÉΓòÉ 3.36. glFinish ΓòÉΓòÉΓòÉ
  5028.  
  5029.  OpenGL man pages 
  5030.  
  5031. glFinish 
  5032.  
  5033.  
  5034.  
  5035.  
  5036.  
  5037.  
  5038. Name 
  5039.  
  5040.   glFinish - block until all GL execution is complete
  5041.  
  5042.  
  5043.  
  5044.  
  5045. C Specification 
  5046.  
  5047.   void glFinish( void )
  5048.  
  5049.  
  5050.  
  5051.  
  5052. Description 
  5053.  
  5054.   glFinish does not return until the effects of all previously called GL
  5055.   commands are complete.  Such effects include all changes to GL state, all
  5056.   changes to connection state, and all changes to the frame buffer contents.
  5057.  
  5058.  
  5059.  
  5060. Notes 
  5061.  
  5062.   glFinish requires a round trip to the server.
  5063.  
  5064.  
  5065.  
  5066. Errors 
  5067.  
  5068.   GL_INVALID_OPERATION is generated if glFinish is executed between the
  5069.   execution of  glBegin and the corresponding execution of glEnd.
  5070.  
  5071.  
  5072.  
  5073. See Also 
  5074.  
  5075.   glFlush, glXWaitGL, glXWaitX
  5076.  
  5077.  
  5078.  
  5079. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  5080.  
  5081.  Introduction | Alphabetic | Specification 
  5082.  
  5083. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  5084. Look here for legal stuff:  Legal 
  5085.  
  5086.  
  5087. ΓòÉΓòÉΓòÉ 3.37. glFlush ΓòÉΓòÉΓòÉ
  5088.  
  5089.  OpenGL man pages 
  5090.  
  5091. glFlush 
  5092.  
  5093.  
  5094.  
  5095.  
  5096.  
  5097.  
  5098. Name 
  5099.  
  5100.   glFlush - force execution of GL commands in finite time
  5101.  
  5102.  
  5103.  
  5104.  
  5105. C Specification 
  5106.  
  5107.   void glFlush( void )
  5108.  
  5109.  
  5110.  
  5111.  
  5112. Description 
  5113.  
  5114.   Different GL implementations buffer commands in several different
  5115.   locations, including network buffers and the graphics accelerator itself.
  5116.   glFlush empties all of these buffers, causing all issued commands to be
  5117.   executed as quickly as they are accepted by the actual rendering engine.
  5118.   Though this execution may not be completed in any particular time period,
  5119.   it does complete in finite time.
  5120.  
  5121.   Because any GL program might be executed over a network, or on an
  5122.   accelerator that buffers commands, all programs should call glFlush
  5123.   whenever they count on having all of their previously issued commands
  5124.   completed.  For example, call glFlush before waiting for user input that
  5125.   depends on the generated image.
  5126.  
  5127.  
  5128.  
  5129. Notes 
  5130.  
  5131.   glFlush can return at any time.  It does not wait until the execution of
  5132.   all previously issued OpenGL commands is complete.
  5133.  
  5134.  
  5135.  
  5136. Errors 
  5137.  
  5138.   GL_INVALID_OPERATION is generated if glFlush is executed between the
  5139.   execution of  glBegin and the corresponding execution of glEnd.
  5140.  
  5141.  
  5142.  
  5143. See Also 
  5144.  
  5145.   glFinish
  5146.  
  5147.  
  5148.  
  5149. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  5150.  
  5151.  Introduction | Alphabetic | Specification 
  5152.  
  5153. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  5154. Look here for legal stuff:  Legal 
  5155.  
  5156.  
  5157. ΓòÉΓòÉΓòÉ 3.38. glFog ΓòÉΓòÉΓòÉ
  5158.  
  5159.  OpenGL man pages 
  5160.  
  5161. glFog 
  5162.  
  5163.  
  5164.  
  5165.  
  5166.  
  5167.  
  5168. Name 
  5169.  
  5170.   glFogf, glFogi, glFogfv, glFogiv - specify fog parameters
  5171.  
  5172.  
  5173.  
  5174.  
  5175. C Specification 
  5176.  
  5177.   void glFogf( GLenum pname,
  5178.                GLfloat param )
  5179.   void glFogi( GLenum pname,
  5180.                GLint param )
  5181.  
  5182.  
  5183.  
  5184.  
  5185. Parameters 
  5186.  
  5187.  
  5188.   pname   Specifies a single-valued fog parameter.  GL_FOG_MODE,
  5189.           GL_FOG_DENSITY, GL_FOG_START, GL_FOG_END, and GL_FOG_INDEX are
  5190.           accepted.
  5191.  
  5192.   param   Specifies the value that pname will be set to.
  5193.  
  5194.  
  5195.  
  5196. C Specification 
  5197.  
  5198.   void glFogfv( GLenum pname,
  5199.                 const GLfloat *params )
  5200.   void glFogiv( GLenum pname,
  5201.                 const GLint *params )
  5202.  
  5203.  
  5204.  
  5205.  
  5206. Parameters 
  5207.  
  5208.  
  5209.   pname
  5210.        Specifies a fog parameter.  GL_FOG_MODE, GL_FOG_DENSITY, GL_FOG_START,
  5211.        GL_FOG_END, GL_FOG_INDEX, and GL_FOG_COLOR are accepted.
  5212.  
  5213.   params
  5214.        Specifies the value or values to be assigned to pname.  GL_FOG_COLOR
  5215.        requires an array of four values.  All other parameters accept an
  5216.        array containing only a single value.
  5217.  
  5218.  
  5219.  
  5220. Description 
  5221.  
  5222.   Fog is enabled and disabled with glEnable and glDisable using the argument
  5223.   GL_FOG.  While enabled, fog affects rasterized geometry, bitmaps, and pixel
  5224.   blocks, but not buffer clear operations.
  5225.  
  5226.   glFog assigns the value or values in params to the fog parameter specified
  5227.   by pname.  The accepted values for pname are as follows:
  5228.  
  5229.   GL_FOG_MODE         params is a single integer or floating-point value that
  5230.                       specifies the equation to be used to compute the fog
  5231.                       blend factor, f.  Three symbolic constants are
  5232.                       accepted: GL_LINEAR, GL_EXP, and GL_EXP2.  The
  5233.                       equations corresponding to these symbolic constants are
  5234.                       defined below.  The default fog mode is GL_EXP.
  5235.  
  5236.   GL_FOG_DENSITY      params is a single integer or floating-point value that
  5237.                       specifies density, the fog density used in both
  5238.                       exponential fog equations.  Only nonnegative densities
  5239.                       are accepted.  The default fog density is 1.0.
  5240.  
  5241.   GL_FOG_START        params is a single integer or floating-point value that
  5242.                       specifies start, the near distance used in the linear
  5243.                       fog equation.  The default near distance is 0.0.
  5244.  
  5245.   GL_FOG_END          params is a single integer or floating-point value that
  5246.                       specifies end, the far distance used in the linear fog
  5247.                       equation.  The default far distance is 1.0.
  5248.  
  5249.   GL_FOG_INDEX        params is a single integer or floating-point value that
  5250.                       specifies i , the fog color index.  The default fog
  5251.                                  f
  5252.                       index is 0.0.
  5253.  
  5254.   GL_FOG_COLOR        params contains four integer or floating-point values
  5255.                       that specify C , the fog color.  Integer values are
  5256.                                     f
  5257.                       mapped linearly such that the most positive
  5258.                       representable value maps to 1.0, and the most negative
  5259.                       representable value maps to -1.0.  Floating-point
  5260.                       values are mapped directly.  After conversion, all
  5261.                       color components are clamped to the range [0,1].  The
  5262.                       default fog color is (0,0,0,0).
  5263.  
  5264.   Fog blends a fog color with each rasterized pixel fragment's posttexturing
  5265.   color using a blending factor f.  Factor f is computed in one of three
  5266.   ways, depending on the fog mode.  Let z be the distance in eye coordinates
  5267.   from the origin to the fragment being fogged.  The equation for GL_LINEAR
  5268.   fog is
  5269.  
  5270.                               end - z
  5271.                         f = -----------
  5272.                             end - start
  5273.  
  5274.   The equation for GL_EXP fog is
  5275.  
  5276.                              -(density Γòû z)
  5277.                         f = e
  5278.  
  5279.  
  5280.   The equation for GL_EXP2 fog is
  5281.  
  5282.                                            2
  5283.                              -(density Γòû z)
  5284.                         f = e
  5285.  
  5286.  
  5287.   Regardless of the fog mode, f is clamped to the range [0,1] after it is
  5288.   computed.  Then, if the GL is in RGBA color mode, the fragment's color Cr
  5289.   is replaced by
  5290.  
  5291.                                C' = fC +(1-f)C
  5292.                                 r     r       f
  5293.  
  5294.   In color index mode, the fragment's color index i  is replaced by
  5295.                                                    r
  5296.  
  5297.                                i' = i +(1-f)i
  5298.                                 r    r       f
  5299.  
  5300.  
  5301. Errors 
  5302.  
  5303.   GL_INVALID_ENUM is generated if pname is not an accepted value, or if pname
  5304.   is GL_FOG_MODE and params is not an accepted value.
  5305.  
  5306.   GL_INVALID_VALUE is generated if pname is GL_FOG_DENSITY and params is
  5307.   negative.
  5308.  
  5309.   GL_INVALID_OPERATION is generated if glFog is called between a call to
  5310.   glBegin and the corresponding call to glEnd.
  5311.  
  5312.  
  5313.  
  5314.  
  5315. Associated Gets 
  5316.  
  5317.   glIsEnabled with argument GL_FOG
  5318.   glGet with argument GL_FOG_COLOR
  5319.   glGet with argument GL_FOG_INDEX
  5320.   glGet with argument GL_FOG_DENSITY
  5321.   glGet with argument GL_FOG_START
  5322.   glGet with argument GL_FOG_END
  5323.   glGet with argument GL_FOG_MODE
  5324.  
  5325.  
  5326.  
  5327. See Also 
  5328.  
  5329.   glEnable
  5330.  
  5331. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  5332.  
  5333.  Introduction | Alphabetic | Specification 
  5334.  
  5335. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  5336. Look here for legal stuff:  Legal 
  5337.  
  5338.  
  5339. ΓòÉΓòÉΓòÉ 3.39. glFrontFace ΓòÉΓòÉΓòÉ
  5340.  
  5341.  OpenGL man pages 
  5342.  
  5343. glFrontFace 
  5344.  
  5345.  
  5346.  
  5347.  
  5348.  
  5349.  
  5350. Name 
  5351.  
  5352.   glFrontFace - define front- and back-facing polygons
  5353.  
  5354.  
  5355.  
  5356.  
  5357. C Specification 
  5358.  
  5359.   void glFrontFace( GLenum mode )
  5360.  
  5361.  
  5362.  
  5363.  
  5364. Parameters 
  5365.  
  5366.  
  5367.   mode  Specifies the orientation of front-facing polygons.  GL_CW and GL_CCW
  5368.         are accepted.  The default value is GL_CCW.
  5369.  
  5370.  
  5371.  
  5372.  
  5373. Description 
  5374.  
  5375.   In a scene composed entirely of opaque closed surfaces, back-facing
  5376.   polygons are never visible.  Eliminating these invisible polygons has the
  5377.   obvious benefit of speeding up the rendering of the image.  Elimination of
  5378.   back-facing polygons is enabled and disabled with glEnable and glDisable
  5379.   using argument GL_CULL_FACE.
  5380.  
  5381.   The projection of a polygon to window coordinates is said to have clockwise
  5382.   winding if an imaginary object following the path from its first vertex,
  5383.   its second vertex, and so on, to its last vertex, and finally back to its
  5384.   first vertex, moves in a clockwise direction about the interior of the
  5385.   polygon.  The polygon's winding is said to be counterclockwise if the
  5386.   imaginary object following the same path moves in a counterclockwise
  5387.   direction about the interior of the polygon.  glFrontFace specifies whether
  5388.   polygons with clockwise winding in window coordinates, or counterclockwise
  5389.   winding in window coordinates, are taken to be front-facing.  Passing
  5390.   GL_CCW to mode selects counterclockwise polygons as front-facing; GL_CW
  5391.   selects clockwise polygons as front-facing.  By default, counterclockwise
  5392.   polygons are taken to be front-facing.
  5393.  
  5394.  
  5395.  
  5396. Errors 
  5397.  
  5398.   GL_INVALID_ENUM is generated if mode is not an accepted value.
  5399.  
  5400.   GL_INVALID_OPERATION is generated if glFrontFace is executed between the
  5401.   execution of glBegin and the corresponding execution of glEnd.
  5402.  
  5403.  
  5404.  
  5405. Associated Gets 
  5406.  
  5407.   glGet with argument GL_FRONT_FACE
  5408.  
  5409.  
  5410.  
  5411. See Also 
  5412.  
  5413.   glCullFace, glLightModel
  5414.  
  5415.  
  5416.  
  5417. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  5418.  
  5419.  Introduction | Alphabetic | Specification 
  5420.  
  5421. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  5422. Look here for legal stuff:  Legal 
  5423.  
  5424.  
  5425. ΓòÉΓòÉΓòÉ 3.40. glFrustum ΓòÉΓòÉΓòÉ
  5426.  
  5427.  OpenGL man pages 
  5428.  
  5429. glFrustum 
  5430.  
  5431.  
  5432.  
  5433.  
  5434.  
  5435.  
  5436. Name 
  5437.  
  5438.   glFrustum - multiply the current matrix by a perspective matrix
  5439.  
  5440.  
  5441.  
  5442.  
  5443. C Specification 
  5444.  
  5445.   void glFrustum( GLdouble left,
  5446.                   GLdouble right,
  5447.                   GLdouble bottom,
  5448.                   GLdouble top,
  5449.                   GLdouble near,
  5450.                   GLdouble far )
  5451.  
  5452.  
  5453.  
  5454.  
  5455. Parameters 
  5456.  
  5457.  
  5458.   left, right Specify the coordinates for the left and right vertical
  5459.               clipping planes.
  5460.  
  5461.   bottom, top Specify the coordinates for the bottom and top horizontal
  5462.               clipping planes.
  5463.  
  5464.   near, far   Specify the distances to the near and far depth clipping
  5465.               planes.  Both distances must be positive.
  5466.  
  5467.  
  5468.  
  5469.  
  5470. Description 
  5471.  
  5472.   glFrustum describes a perspective matrix that produces a perspective
  5473.   projection.  (left, bottom, -near) and (right, top,  -near) specify the
  5474.   points on the near clipping plane that are mapped to the lower left and
  5475.   upper right corners of the window, respectively, assuming that the eye is
  5476.   located at (0, 0, 0).  -far specifies the location of the far clipping
  5477.   plane.  Both near and far must be positive.  The corresponding matrix is
  5478.  
  5479.                    |                                       |
  5480.                    |    2Γòûnear                             |
  5481.                    |  ----------                           |
  5482.                    |  right-left       0       A       0   |
  5483.                    |                                       |
  5484.                    |      0         2Γòûnear     B       0   |
  5485.                    |              ----------               |
  5486.                    |              top-bottom               |
  5487.                    |      0            0       C       D   |
  5488.                    |                                       |
  5489.                    |      0            0       -1      0   |
  5490.  
  5491.                                     right+left
  5492.                                 A = ----------
  5493.                                     right-left
  5494.  
  5495.                                     top+bottom
  5496.                                 B = ----------
  5497.                                     top-bottom
  5498.  
  5499.                                       far+near
  5500.                                 C = - --------
  5501.                                       far-near
  5502.  
  5503.                                       2ΓòûfarΓòûnear
  5504.                                 D = - ----------
  5505.                                        far-near
  5506.  
  5507.  
  5508.   The current matrix is multiplied by this matrix with the result replacing
  5509.   the current matrix.  That is, if M is the current matrix and F is the
  5510.   frustum perspective matrix, then M is replaced with MΓòûF.
  5511.  
  5512.   Use glPushMatrix and glPopMatrix to save and restore the current matrix
  5513.   stack.
  5514.  
  5515.  
  5516.  
  5517. Notes 
  5518.  
  5519.   Depth buffer precision is affected by the values specified for near and
  5520.   far.  The greater the ratio of far to near is, the less effective the depth
  5521.   buffer will be at distinguishing between surfaces that are near each other.
  5522.   If
  5523.  
  5524.                                        far
  5525.                                    r = ----
  5526.                                        near
  5527.  
  5528.   roughly log  r bits of depth buffer precision are lost.  Because r
  5529.              2
  5530.   approaches infinity as near approaches zero, near must never be set to
  5531.   zero.
  5532.  
  5533.  
  5534.  
  5535. Errors 
  5536.  
  5537.   GL_INVALID_VALUE is generated if near or far is not positive.
  5538.  
  5539.   GL_INVALID_OPERATION is generated if glFrustum is executed between the
  5540.   execution of glBegin and the corresponding execution of glEnd.
  5541.  
  5542.  
  5543.  
  5544. Associated Gets 
  5545.  
  5546.   glGet with argument GL_MATRIX_MODE
  5547.   glGet with argument GL_MODELVIEW_MATRIX
  5548.   glGet with argument GL_PROJECTION_MATRIX
  5549.   glGet with argument GL_TEXTURE_MATRIX
  5550.  
  5551.  
  5552.  
  5553. See Also 
  5554.  
  5555.   glOrtho, glMatrixMode, glMultMatrix, glPushMatrix, glViewport
  5556.  
  5557.  
  5558.  
  5559. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  5560.  
  5561.  Introduction | Alphabetic | Specification 
  5562.  
  5563. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  5564. Look here for legal stuff:  Legal 
  5565.  
  5566.  
  5567. ΓòÉΓòÉΓòÉ 3.41. glGenLists ΓòÉΓòÉΓòÉ
  5568.  
  5569.  OpenGL man pages 
  5570.  
  5571. glGenLists 
  5572.  
  5573.  
  5574.  
  5575.  
  5576.  
  5577.  
  5578. Name 
  5579.  
  5580.   glGenLists - generate a contiguous set of empty display lists
  5581.  
  5582.  
  5583.  
  5584.  
  5585. C Specification 
  5586.  
  5587.   GLuint glGenLists( GLsizei range )
  5588.  
  5589.  
  5590.  
  5591.  
  5592. Parameters 
  5593.  
  5594.  
  5595.   range  Specifies the number of contiguous empty display lists to be
  5596.          generated.
  5597.  
  5598.  
  5599.  
  5600.  
  5601. Description 
  5602.  
  5603.   glGenLists has one argument, range.  It returns an integer n such that
  5604.   range contiguous empty display lists, named n, n+1, ..., n+range -1, are
  5605.   created.  If range is zero, if there is no group of range contiguous names
  5606.   available, or if any error is generated, no display lists are generated,
  5607.   and zero is returned.
  5608.  
  5609.  
  5610.  
  5611. Errors 
  5612.  
  5613.   GL_INVALID_VALUE is generated if range is negative.
  5614.  
  5615.   GL_INVALID_OPERATION is generated if glGenLists is executed between the
  5616.   execution of glBegin and the corresponding execution of glEnd.
  5617.  
  5618.  
  5619.  
  5620. Associated Gets 
  5621.  
  5622.   glIsList
  5623.  
  5624.  
  5625.  
  5626. See Also 
  5627.  
  5628.   glCallList, glCallLists, glDeleteLists, glNewList
  5629.  
  5630.  
  5631.  
  5632. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  5633.  
  5634.  Introduction | Alphabetic | Specification 
  5635.  
  5636. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  5637. Look here for legal stuff:  Legal 
  5638.  
  5639.  
  5640. ΓòÉΓòÉΓòÉ 3.42. glGet ΓòÉΓòÉΓòÉ
  5641.  
  5642.  OpenGL man pages 
  5643.  
  5644. glGet 
  5645.  
  5646.  
  5647.  
  5648.  
  5649.  
  5650.  
  5651. Name 
  5652.  
  5653.   glGetBooleanv, glGetDoublev, glGetFloatv, glGetIntegerv - return the value
  5654.   or values of a selected parameter
  5655.  
  5656.  
  5657.  
  5658.  
  5659. C Specification 
  5660.  
  5661.   void glGetBooleanv( GLenum pname,
  5662.                       GLboolean *params )
  5663.  
  5664.  
  5665.  
  5666.  
  5667. C Specification 
  5668.  
  5669.   void glGetDoublev( GLenum pname,
  5670.                      GLdouble *params )
  5671.  
  5672.  
  5673.  
  5674.  
  5675. C Specification 
  5676.  
  5677.   void glGetFloatv( GLenum pname,
  5678.                     GLfloat *params )
  5679.  
  5680.  
  5681.  
  5682.  
  5683. C Specification 
  5684.  
  5685.   void glGetIntegerv( GLenum pname,
  5686.                       GLint *params )
  5687.  
  5688.  
  5689.  
  5690.  
  5691. Parameters 
  5692.  
  5693.  
  5694.   pname   Specifies the parameter value to be returned.  The symbolic
  5695.           constants in the list below are accepted.
  5696.  
  5697.   params  Returns the value or values of the specified parameter.
  5698.  
  5699.  
  5700.  
  5701. Description 
  5702.  
  5703.   These four commands return values for simple state variables in GL. pname
  5704.   is a symbolic constant indicating the state variable to be returned, and
  5705.   params is a pointer to an array of the indicated type in which to place the
  5706.   returned data.
  5707.  
  5708.   Type conversion is performed if params has a different type than the state
  5709.   variable value being requested.  If glGetBooleanv is called, a floating-
  5710.   point or integer value is converted to GL_FALSE if and only if it is zero.
  5711.   Otherwise, it is converted to GL_TRUE.  If glGetIntegerv is called, Boolean
  5712.   values are returned as GL_TRUE or GL_FALSE, and most floating-point values
  5713.   are rounded to the nearest integer value.  Floating-point colors and
  5714.   normals, however, are returned with a linear mapping that maps 1.0 to the
  5715.   most positive representable integer value, and -1.0 to the most negative
  5716.   representable integer value.  If glGetFloatv or glGetDoublev is called,
  5717.   Boolean values are returned as GL_TRUE or GL_FALSE, and integer values are
  5718.   converted to floating-point values.
  5719.  
  5720.   The following symbolic constants are accepted by pname:
  5721.  
  5722.   GL_ACCUM_ALPHA_BITS      params returns one value, the number of alpha
  5723.                            bitplanes in the accumulation buffer.
  5724.  
  5725.   GL_ACCUM_BLUE_BITS       params returns one value, the number of blue
  5726.                            bitplanes in the accumulation buffer.
  5727.  
  5728.   GL_ACCUM_CLEAR_VALUE     params returns four values: the red, green, blue,
  5729.                            and alpha values used to clear the accumulation
  5730.                            buffer.  Integer values, if requested, are
  5731.                            linearly mapped from the internal floating-point
  5732.                            representation such that 1.0 returns the most
  5733.                            positive representable integer value, and -1.0
  5734.                            returns the most negative representable integer
  5735.                            value.  See glClearAccum.
  5736.  
  5737.   GL_ACCUM_GREEN_BITS      params returns one value, the number of green
  5738.                            bitplanes in the accumulation buffer.
  5739.  
  5740.   GL_ACCUM_RED_BITS        params returns one value, the number of red
  5741.                            bitplanes in the accumulation buffer.
  5742.  
  5743.   GL_ALPHA_BIAS            params returns one value, the alpha bias factor
  5744.                            used during pixel transfers.  See glPixelTransfer.
  5745.  
  5746.   GL_ALPHA_BITS            params returns one value, the number of alpha
  5747.                            bitplanes in each color buffer.
  5748.  
  5749.   GL_ALPHA_SCALE           params returns one value, the alpha scale factor
  5750.                            used during pixel transfers.  See glPixelTransfer.
  5751.  
  5752.   GL_ALPHA_TEST            params returns a single Boolean value indicating
  5753.                            whether alpha testing of fragments is enabled.
  5754.                            See glAlphaFunc.
  5755.  
  5756.   GL_ALPHA_TEST_FUNC       params returns one value, the symbolic name of the
  5757.                            alpha test function.  See glAlphaFunc.
  5758.  
  5759.   GL_ALPHA_TEST_REF        params returns one value, the reference value for
  5760.                            the alpha test.  See glAlphaFunc.  An integer
  5761.                            value, if requested, is linearly mapped from the
  5762.                            internal floating-point representation such that
  5763.                            1.0 returns the most positive representable
  5764.                            integer value, and -1.0 returns the most negative
  5765.                            representable integer value.
  5766.  
  5767.   GL_ATTRIB_STACK_DEPTH    params returns one value, the depth of the
  5768.                            attribute stack.  If the stack is empty, zero is
  5769.                            returned.  See glPushAttrib.
  5770.  
  5771.   GL_AUTO_NORMAL           params returns a single Boolean value indicating
  5772.                            whether 2-D map evaluation automatically generates
  5773.                            surface normals.  See glMap2.
  5774.  
  5775.   GL_AUX_BUFFERS           params returns one value, the number of auxiliary
  5776.                            color buffers.
  5777.  
  5778.   GL_BLEND                 params returns a single Boolean value indicating
  5779.                            whether blending is enabled.  See glBlendFunc.
  5780.  
  5781.   GL_BLEND_DST             params returns one value, the symbolic constant
  5782.                            identifying the destination blend function.  See
  5783.                            glBlendFunc.
  5784.  
  5785.   GL_BLEND_SRC             params returns one value, the symbolic constant
  5786.                            identifying the source blend function.  See
  5787.                            glBlendFunc.
  5788.  
  5789.   GL_BLUE_BIAS             params returns one value, the blue bias factor
  5790.                            used during pixel transfers.  See glPixelTransfer.
  5791.  
  5792.   GL_BLUE_BITS             params returns one value, the number of blue
  5793.                            bitplanes in each color buffer.
  5794.  
  5795.   GL_BLUE_SCALE            params returns one value, the blue scale factor
  5796.                            used during pixel transfers.  See glPixelTransfer.
  5797.  
  5798.   GL_CLIP_PLANEi           params returns a single Boolean value indicating
  5799.                            whether the specified clipping plane is enabled.
  5800.                            See glClipPlane.
  5801.  
  5802.   GL_COLOR_ARRAY_EXT       params returns a single boolean value, indicating
  5803.                            whether the color array is enabled.  See
  5804.                            glColorPointerEXT.
  5805.  
  5806.   GL_COLOR_ARRAY_COUNT_EXT params returns one value, the number of colors in
  5807.                            the color array, counting from the first, that are
  5808.                            static.  See glColorPointerEXT.
  5809.  
  5810.   GL_COLOR_ARRAY_SIZE_EXT  params returns one value, the number of components
  5811.                            per color in the color array.  See
  5812.                            glColorPointerEXT.
  5813.  
  5814.   GL_COLOR_ARRAY_STRIDE_EXT
  5815.                            params returns one value, the byte offset between
  5816.                            consecutive colors in the color array.  See
  5817.                            glColorPointerEXT.
  5818.  
  5819.   GL_COLOR_ARRAY_TYPE_EXT  params returns one value, the data type of each
  5820.                            component in the color array.  See
  5821.                            glColorPointerEXT.
  5822.  
  5823.   GL_COLOR_CLEAR_VALUE     params returns four values: the red, green, blue,
  5824.                            and alpha values used to clear the color buffers.
  5825.                            Integer values, if requested, are linearly mapped
  5826.                            from the internal floating-point representation
  5827.                            such that 1.0 returns the most positive
  5828.                            representable integer value, and -1.0 returns the
  5829.                            most negative representable integer value.  See
  5830.                            glClearColor.
  5831.  
  5832.   GL_COLOR_MATERIAL        params returns a single Boolean value indicating
  5833.                            whether one or more material parameters are
  5834.                            tracking the current color.  See glColorMaterial.
  5835.  
  5836.   GL_COLOR_MATERIAL_FACE   params returns one value, a symbolic constant
  5837.                            indicating which materials have a parameter that
  5838.                            is tracking the current color.  See
  5839.                            glColorMaterial.
  5840.  
  5841.   GL_COLOR_MATERIAL_PARAMETER
  5842.                            params returns one value, a symbolic constant
  5843.                            indicating which material parameters are tracking
  5844.                            the current color.  See glColorMaterial.
  5845.  
  5846.   GL_COLOR_WRITEMASK       params returns four Boolean values: the red,
  5847.                            green, blue, and alpha write enables for the color
  5848.                            buffers.  See glColorMask.
  5849.  
  5850.   GL_CULL_FACE             params returns a single Boolean value indicating
  5851.                            whether polygon culling is enabled.  See
  5852.                            glCullFace.
  5853.  
  5854.   GL_CULL_FACE_MODE        params returns one value, a symbolic constant
  5855.                            indicating which polygon faces are to be culled.
  5856.                            See glCullFace.
  5857.  
  5858.   GL_CURRENT_COLOR         params returns four values: the red, green, blue,
  5859.                            and alpha values of the current color.  Integer
  5860.                            values, if requested, are linearly mapped from the
  5861.                            internal floating-point representation such that
  5862.                            1.0 returns the most positive representable
  5863.                            integer value, and -1.0 returns the most negative
  5864.                            representable integer value.  See glColor.
  5865.  
  5866.   GL_CURRENT_INDEX         params returns one value, the current color index.
  5867.                            See glIndex.
  5868.  
  5869.   GL_CURRENT_NORMAL        params returns three values: the x, y, and z
  5870.                            values of the current normal.  Integer values, if
  5871.                            requested, are linearly mapped from the internal
  5872.                            floating-point representation such that 1.0
  5873.                            returns the most positive representable integer
  5874.                            value, and -1.0 returns the most negative
  5875.                            representable integer value.  See glNormal.
  5876.  
  5877.   GL_CURRENT_RASTER_COLOR  params returns four values: the red, green, blue,
  5878.                            and alpha values of the current raster position.
  5879.                            Integer values, if requested, are linearly mapped
  5880.                            from the internal floating-point representation
  5881.                            such that 1.0 returns the most positive
  5882.                            representable integer value, and -1.0 returns the
  5883.                            most negative representable integer value.  See
  5884.                            glRasterPos.
  5885.  
  5886.   GL_CURRENT_RASTER_DISTANCE
  5887.                            params returns one value, the distance from the
  5888.                            eye to the current raster position.  See
  5889.                            glRasterPos.
  5890.  
  5891.   GL_CURRENT_RASTER_INDEX  params returns one value, the color index of the
  5892.                            current raster position.  See glRasterPos.
  5893.  
  5894.   GL_CURRENT_RASTER_POSITION
  5895.                            params returns four values: the x, y, z, and w
  5896.                            components of the current raster position.  x, y,
  5897.                            and z are in window coordinates, and w is in clip
  5898.                            coordinates.  See glRasterPos.
  5899.  
  5900.   GL_CURRENT_RASTER_TEXTURE_COORDS
  5901.                            params returns four values: the s, t, r, and q
  5902.                            current raster texture coordinates.  See
  5903.                            glRasterPos and glTexCoord.
  5904.  
  5905.   GL_CURRENT_RASTER_POSITION_VALID
  5906.                            params returns a single Boolean value indicating
  5907.                            whether the current raster position is valid.  See
  5908.                            glRasterPos.
  5909.  
  5910.   GL_CURRENT_TEXTURE_COORDS
  5911.                            params returns four values: the s, t, r, and q
  5912.                            current texture coordinates.  See glTexCoord.
  5913.  
  5914.   GL_DEPTH_BIAS            params returns one value, the depth bias factor
  5915.                            used during pixel transfers.  See glPixelTransfer.
  5916.  
  5917.   GL_DEPTH_BITS            params returns one value, the number of bitplanes
  5918.                            in the depth buffer.
  5919.  
  5920.   GL_DEPTH_CLEAR_VALUE     params returns one value, the value that is used
  5921.                            to clear the depth buffer.  Integer values, if
  5922.                            requested, are linearly mapped from the internal
  5923.                            floating-point representation such that 1.0
  5924.                            returns the most positive representable integer
  5925.                            value, and -1.0 returns the most negative
  5926.                            representable integer value.  See glClearDepth.
  5927.  
  5928.   GL_DEPTH_FUNC            params returns one value, the symbolic constant
  5929.                            that indicates the depth comparison function.  See
  5930.                            glDepthFunc.
  5931.  
  5932.   GL_DEPTH_RANGE           params returns two values: the near and far
  5933.                            mapping limits for the depth buffer.  Integer
  5934.                            values, if requested, are linearly mapped from the
  5935.                            internal floating-point representation such that
  5936.                            1.0 returns the most positive representable
  5937.                            integer value, and -1.0 returns the most negative
  5938.                            representable integer value.  See glDepthRange.
  5939.  
  5940.   GL_DEPTH_SCALE           params returns one value, the depth scale factor
  5941.                            used during pixel transfers.  See glPixelTransfer.
  5942.  
  5943.   GL_DEPTH_TEST            params returns a single Boolean value indicating
  5944.                            whether depth testing of fragments is enabled.
  5945.                            See glDepthFunc and glDepthRange.
  5946.  
  5947.   GL_DEPTH_WRITEMASK       params returns a single Boolean value indicating
  5948.                            if the depth buffer is enabled for writing.  See
  5949.                            glDepthMask.
  5950.  
  5951.   GL_DITHER                params returns a single Boolean value indicating
  5952.                            whether dithering of fragment colors and indices
  5953.                            is enabled.
  5954.  
  5955.   GL_DOUBLEBUFFER          params returns a single Boolean value indicating
  5956.                            whether double buffering is supported.
  5957.  
  5958.   GL_DRAW_BUFFER           params returns one value, a symbolic constant
  5959.                            indicating which buffers are being drawn to.  See
  5960.                            glDrawBuffer.
  5961.  
  5962.   GL_EDGE_FLAG             params returns a single Boolean value indication
  5963.                            whether the current edge flag is true or false.
  5964.                            See glEdgeFlag.
  5965.  
  5966.   GL_EDGE_FLAG_ARRAY_EXT   params returns a single boolean value, indicating
  5967.                            whether the edge flag array is enabled.  See
  5968.                            glEdgeFlagPointerEXT.
  5969.  
  5970.   GL_EDGE_FLAG_ARRAY_COUNT_EXT
  5971.                            params returns one value, the number of edge flags
  5972.                            in the edge flag array, counting from the first,
  5973.                            that are static.  See glEdgeFlagPointerEXT.
  5974.  
  5975.   GL_EDGE_FLAG_ARRAY_STRIDE_EXT
  5976.                            params returns one value, the byte offset between
  5977.                            consecutive edge flags in the edge flag array.
  5978.                            See glEdgeFlagPointerEXT.
  5979.  
  5980.   GL_FOG                   params returns a single Boolean value indicating
  5981.                            whether fogging is enabled.  See glFog.
  5982.  
  5983.   GL_FOG_COLOR             params returns four values: the red, green, blue,
  5984.                            and alpha components of the fog color.  Integer
  5985.                            values, if requested, are linearly mapped from the
  5986.                            internal floating-point representation such that
  5987.                            1.0 returns the most positive representable
  5988.                            integer value, and -1.0 returns the most negative
  5989.                            representable integer value.  See glFog.
  5990.  
  5991.   GL_FOG_DENSITY           params returns one value, the fog density
  5992.                            parameter.  See glFog.
  5993.  
  5994.   GL_FOG_END               params returns one value, the end factor for the
  5995.                            linear fog equation.  See glFog.
  5996.  
  5997.   GL_FOG_HINT              params returns one value, a symbolic constant
  5998.                            indicating the mode of the fog hint.  See glHint.
  5999.  
  6000.   GL_FOG_INDEX             params returns one value, the fog color index.
  6001.                            See glFog.
  6002.  
  6003.   GL_FOG_MODE              params returns one value, a symbolic constant
  6004.                            indicating which fog equation is selected.  See
  6005.                            glFog.
  6006.  
  6007.   GL_FOG_START             params returns one value, the start factor for the
  6008.                            linear fog equation.  See glFog.
  6009.  
  6010.   GL_FRONT_FACE            params returns one value, a symbolic constant
  6011.                            indicating whether clockwise or counterclockwise
  6012.                            polygon winding is treated as front-facing.  See
  6013.                            glFrontFace.
  6014.  
  6015.   GL_GREEN_BIAS            params returns one value, the green bias factor
  6016.                            used during pixel transfers.
  6017.  
  6018.   GL_GREEN_BITS            params returns one value, the number of green
  6019.                            bitplanes in each color buffer.
  6020.  
  6021.   GL_GREEN_SCALE           params returns one value, the green scale factor
  6022.                            used during pixel transfers.  See glPixelTransfer.
  6023.  
  6024.   GL_INDEX_ARRAY_EXT       params returns a single boolean value, indicating
  6025.                            whether the color index array is enabled.  See
  6026.                            glIndexPointerEXT.
  6027.  
  6028.   GL_INDEX_ARRAY_COUNT_EXT params returns one value, the number of color
  6029.                            indexes in the color index array, counting from
  6030.                            the first, that are static.  See
  6031.                            glIndexPointerEXT.
  6032.  
  6033.   GL_INDEX_ARRAY_STRIDE_EXT
  6034.                            params returns one value, the byte offset between
  6035.                            consecutive color indexes in the color index
  6036.                            array.  See glIndexPointerEXT.
  6037.  
  6038.   GL_INDEX_ARRAY_TYPE_EXT  params returns one value, the data type of indexes
  6039.                            in the color index array.  See glIndexPointerEXT.
  6040.  
  6041.   GL_INDEX_BITS            params returns one value, the number of bitplanes
  6042.                            in each color index buffer.
  6043.  
  6044.   GL_INDEX_CLEAR_VALUE     params returns one value, the color index used to
  6045.                            clear the color index buffers.  See glClearIndex.
  6046.  
  6047.   GL_INDEX_MODE            params returns a single Boolean value indicating
  6048.                            whether the GL is in color index mode (true) or
  6049.                            RGBA mode (false).
  6050.  
  6051.   GL_INDEX_OFFSET          params returns one value, the offset added to
  6052.                            color and stencil indices during pixel transfers.
  6053.                            See glPixelTransfer.
  6054.  
  6055.   GL_INDEX_SHIFT           params returns one value, the amount that color
  6056.                            and stencil indices are shifted during pixel
  6057.                            transfers.  See glPixelTransfer.
  6058.  
  6059.   GL_INDEX_WRITEMASK       params returns one value, a mask indicating which
  6060.                            bitplanes of each color index buffer can be
  6061.                            written.  See glIndexMask.
  6062.  
  6063.   GL_LIGHTi                params returns a single Boolean value indicating
  6064.                            whether the specified light is enabled.  See
  6065.                            glLight and glLightModel.
  6066.  
  6067.   GL_LIGHTING              params returns a single Boolean value indicating
  6068.                            whether lighting is enabled.  See glLightModel.
  6069.  
  6070.   GL_LIGHT_MODEL_AMBIENT   params returns four values: the red, green, blue,
  6071.                            and alpha components of the ambient intensity of
  6072.                            the entire scene.  Integer values, if requested,
  6073.                            are linearly mapped from the internal floating-
  6074.                            point representation such that 1.0 returns the
  6075.                            most positive representable integer value, and
  6076.                            -1.0 returns the most negative representable
  6077.                            integer value.  See glLightModel.
  6078.  
  6079.   GL_LIGHT_MODEL_LOCAL_VIEWER
  6080.                            params returns a single Boolean value indicating
  6081.                            whether specular reflection calculations treat the
  6082.                            viewer as being local to the scene.  See
  6083.                            glLightModel.
  6084.  
  6085.   GL_LIGHT_MODEL_TWO_SIDE  params returns a single Boolean value indicating
  6086.                            whether separate materials are used to compute
  6087.                            lighting for front- and back-facing polygons.  See
  6088.                            glLightModel.
  6089.  
  6090.   GL_LINE_SMOOTH           params returns a single Boolean value indicating
  6091.                            whether antialiasing of lines is enabled.  See
  6092.                            glLineWidth.
  6093.  
  6094.   GL_LINE_SMOOTH_HINT      params returns one value, a symbolic constant
  6095.                            indicating the mode of the line antialiasing hint.
  6096.                            See glHint.
  6097.  
  6098.   GL_LINE_STIPPLE          params returns a single Boolean value indicating
  6099.                            whether stippling of lines is enabled.  See
  6100.                            glLineStipple.
  6101.  
  6102.   GL_LINE_STIPPLE_PATTERN  params returns one value, the 16-bit line stipple
  6103.                            pattern.  See glLineStipple.
  6104.  
  6105.   GL_LINE_STIPPLE_REPEAT   params returns one value, the line stipple repeat
  6106.                            factor.  See glLineStipple.
  6107.  
  6108.   GL_LINE_WIDTH            params returns one value, the line width as
  6109.                            specified with glLineWidth.
  6110.  
  6111.   GL_LINE_WIDTH_GRANULARITY
  6112.                            params returns one value, the width difference
  6113.                            between adjacent supported widths for antialiased
  6114.                            lines.  See glLineWidth.
  6115.  
  6116.   GL_LINE_WIDTH_RANGE      params returns two values: the smallest and
  6117.                            largest supported widths for antialiased lines.
  6118.                            See glLineWidth.
  6119.  
  6120.   GL_LIST_BASE             params returns one value, the base offset added to
  6121.                            all names in arrays presented to glCallLists.  See
  6122.                            glListBase.
  6123.  
  6124.   GL_LIST_INDEX            params returns one value, the name of the display
  6125.                            list currently under construction.  Zero is
  6126.                            returned if no display list is currently under
  6127.                            construction.  See glNewList.
  6128.  
  6129.   GL_LIST_MODE             params returns one value, a symbolic constant
  6130.                            indicating the construction mode of the display
  6131.                            list currently being constructed.  See glNewList.
  6132.  
  6133.   GL_LOGIC_OP              params returns a single Boolean value indicating
  6134.                            whether fragment indexes are merged into the
  6135.                            framebuffer using a logical operation.  See
  6136.                            glLogicOp.
  6137.  
  6138.   GL_LOGIC_OP_MODE         params returns one value, a symbolic constant
  6139.                            indicating the selected logic operational mode.
  6140.                            See glLogicOp.
  6141.  
  6142.   GL_MAP1_COLOR_4          params returns a single Boolean value indicating
  6143.                            whether 1D evaluation generates colors.  See
  6144.                            glMap1.
  6145.  
  6146.   GL_MAP1_GRID_DOMAIN      params returns two values: the endpoints of the
  6147.                            1-D map's grid domain.  See glMapGrid.
  6148.  
  6149.   GL_MAP1_GRID_SEGMENTS    params returns one value, the number of partitions
  6150.                            in the 1-D map's grid domain.  See glMapGrid.
  6151.  
  6152.   GL_MAP1_INDEX            params returns a single Boolean value indicating
  6153.                            whether 1D evaluation generates color indices.
  6154.                            See glMap1.
  6155.  
  6156.   GL_MAP1_NORMAL           params returns a single Boolean value indicating
  6157.                            whether 1D evaluation generates normals.  See
  6158.                            glMap1.
  6159.  
  6160.   GL_MAP1_TEXTURE_COORD_1  params returns a single Boolean value indicating
  6161.                            whether 1D evaluation generates 1D texture
  6162.                            coordinates.  See glMap1.
  6163.  
  6164.   GL_MAP1_TEXTURE_COORD_2  params returns a single Boolean value indicating
  6165.                            whether 1D evaluation generates 2D texture
  6166.                            coordinates.  See glMap1.
  6167.  
  6168.   GL_MAP1_TEXTURE_COORD_3  params returns a single Boolean value indicating
  6169.                            whether 1D evaluation generates 3D texture
  6170.                            coordinates.  See glMap1.
  6171.  
  6172.   GL_MAP1_TEXTURE_COORD_4  params returns a single Boolean value indicating
  6173.                            whether 1D evaluation generates 4D texture
  6174.                            coordinates.  See glMap1.
  6175.  
  6176.   GL_MAP1_VERTEX_3         params returns a single Boolean value indicating
  6177.                            whether 1D evaluation generates 3D vertex
  6178.                            coordinates.  See glMap1.
  6179.  
  6180.   GL_MAP1_VERTEX_4         params returns a single Boolean value indicating
  6181.                            whether 1D evaluation generates 4D vertex
  6182.                            coordinates.  See glMap1.
  6183.  
  6184.   GL_MAP2_COLOR_4          params returns a single Boolean value indicating
  6185.                            whether 2D evaluation generates colors.  See
  6186.                            glMap2.
  6187.  
  6188.   GL_MAP2_GRID_DOMAIN      params returns four values: the endpoints of the
  6189.                            2-D map's i and j grid domains.  See glMapGrid.
  6190.  
  6191.   GL_MAP2_GRID_SEGMENTS    params returns two values: the number of
  6192.                            partitions in the 2-D map's i and j grid domains.
  6193.                            See glMapGrid.
  6194.  
  6195.   GL_MAP2_INDEX            params returns a single Boolean value indicating
  6196.                            whether 2D evaluation generates color indices.
  6197.                            See glMap2.
  6198.  
  6199.   GL_MAP2_NORMAL           params returns a single Boolean value indicating
  6200.                            whether 2D evaluation generates normals.  See
  6201.                            glMap2.
  6202.  
  6203.   GL_MAP2_TEXTURE_COORD_1  params returns a single Boolean value indicating
  6204.                            whether 2D evaluation generates 1D texture
  6205.                            coordinates.  See glMap2.
  6206.  
  6207.   GL_MAP2_TEXTURE_COORD_2  params returns a single Boolean value indicating
  6208.                            whether 2D evaluation generates 2D texture
  6209.                            coordinates.  See glMap2.
  6210.  
  6211.   GL_MAP2_TEXTURE_COORD_3  params returns a single Boolean value indicating
  6212.                            whether 2D evaluation generates 3D texture
  6213.                            coordinates.  See glMap2.
  6214.  
  6215.   GL_MAP2_TEXTURE_COORD_4  params returns a single Boolean value indicating
  6216.                            whether 2D evaluation generates 4D texture
  6217.                            coordinates.  See glMap2.
  6218.  
  6219.   GL_MAP2_VERTEX_3         params returns a single Boolean value indicating
  6220.                            whether 2D evaluation generates 3D vertex
  6221.                            coordinates.  See glMap2.
  6222.  
  6223.   GL_MAP2_VERTEX_4         params returns a single Boolean value indicating
  6224.                            whether 2D evaluation generates 4D vertex
  6225.                            coordinates.  See glMap2.
  6226.  
  6227.   GL_MAP_COLOR             params returns a single Boolean value indicating
  6228.                            if colors and color indices are to be replaced by
  6229.                            table lookup during pixel transfers.  See
  6230.                            glPixelTransfer.
  6231.  
  6232.   GL_MAP_STENCIL           params returns a single Boolean value indicating
  6233.                            if stencil indices are to be replaced by table
  6234.                            lookup during pixel transfers.  See
  6235.                            glPixelTransfer.
  6236.  
  6237.   GL_MATRIX_MODE           params returns one value, a symbolic constant
  6238.                            indicating which matrix stack is currently the
  6239.                            target of all matrix operations.  See
  6240.                            glMatrixMode.
  6241.  
  6242.   GL_MAX_ATTRIB_STACK_DEPTH
  6243.                            params returns one value, the maximum supported
  6244.                            depth of the attribute stack.  See glPushAttrib.
  6245.  
  6246.   GL_MAX_CLIP_PLANES       params returns one value, the maximum number of
  6247.                            application-defined clipping planes.  See
  6248.                            glClipPlane.
  6249.  
  6250.   GL_MAX_EVAL_ORDER        params returns one value, the maximum equation
  6251.                            order supported by 1-D and 2-D evaluators.  See
  6252.                            glMap1 and glMap2.
  6253.  
  6254.   GL_MAX_LIGHTS            params returns one value, the maximum number of
  6255.                            lights.  See glLight.
  6256.  
  6257.   GL_MAX_LIST_NESTING      params returns one value, the maximum recursion
  6258.                            depth allowed during display-list traversal.  See
  6259.                            glCallList.
  6260.  
  6261.   GL_MAX_MODELVIEW_STACK_DEPTH
  6262.                            params returns one value, the maximum supported
  6263.                            depth of the modelview matrix stack.  See
  6264.                            glPushMatrix.
  6265.  
  6266.   GL_MAX_NAME_STACK_DEPTH  params returns one value, the maximum supported
  6267.                            depth of the selection name stack.  See
  6268.                            glPushName.
  6269.  
  6270.   GL_MAX_PIXEL_MAP_TABLE   params returns one value, the maximum supported
  6271.                            size of a glPixelMap lookup table.  See
  6272.                            glPixelMap.
  6273.  
  6274.   GL_MAX_PROJECTION_STACK_DEPTH
  6275.                            params returns one value, the maximum supported
  6276.                            depth of the projection matrix stack.  See
  6277.                            glPushMatrix.
  6278.  
  6279.   GL_MAX_TEXTURE_SIZE      params returns one value, the maximum width or
  6280.                            height of any texture image (without borders).
  6281.                            See glTexImage1D and glTexImage2D.
  6282.  
  6283.   GL_MAX_TEXTURE_STACK_DEPTH
  6284.                            params returns one value, the maximum supported
  6285.                            depth of the texture matrix stack.  See
  6286.                            glPushMatrix.
  6287.  
  6288.   GL_MAX_VIEWPORT_DIMS     params returns two values: the maximum supported
  6289.                            width and height of the viewport.  See glViewport.
  6290.  
  6291.   GL_MODELVIEW_MATRIX      params returns sixteen values: the modelview
  6292.                            matrix on the top of the modelview matrix stack.
  6293.                            See glPushMatrix.
  6294.  
  6295.   GL_MODELVIEW_STACK_DEPTH params returns one value, the number of matrices
  6296.                            on the modelview matrix stack.  See glPushMatrix.
  6297.  
  6298.   GL_NAME_STACK_DEPTH      params returns one value, the number of names on
  6299.                            the selection name stack.  See glPushMatrix.
  6300.  
  6301.   GL_NORMAL_ARRAY_EXT      params returns a single boolean value, indicating
  6302.                            whether the normal array is enabled.  See
  6303.                            glNormalPointerEXT.
  6304.  
  6305.   GL_NORMAL_ARRAY_COUNT_EXT
  6306.                            params returns one value, the number of normals in
  6307.                            the normal array, counting from the first, that
  6308.                            are static.  See glNormalPointerEXT.
  6309.  
  6310.   GL_NORMAL_ARRAY_STRIDE_EXT
  6311.                            params returns one value, the byte offset between
  6312.                            consecutive normals in the normal array.  See
  6313.                            glNormalPointerEXT.
  6314.  
  6315.   GL_NORMAL_ARRAY_TYPE_EXT params returns one value, the data type of each
  6316.                            coordinate in the normal array.  See
  6317.                            glNormalPointerEXT.
  6318.  
  6319.   GL_NORMALIZE             params returns a single Boolean value indicating
  6320.                            whether normals are automatically scaled to unit
  6321.                            length after they have been transformed to eye
  6322.                            coordinates.  See glNormal.
  6323.  
  6324.   GL_PACK_ALIGNMENT        params returns one value, the byte alignment used
  6325.                            for writing pixel data to memory.  See
  6326.                            glPixelStore.
  6327.  
  6328.   GL_PACK_LSB_FIRST        params returns a single Boolean value indicating
  6329.                            whether single-bit pixels being written to memory
  6330.                            are written first to the least significant bit of
  6331.                            each unsigned byte.  See glPixelStore.
  6332.  
  6333.   GL_PACK_ROW_LENGTH       params returns one value, the row length used for
  6334.                            writing pixel data to memory.  See glPixelStore.
  6335.  
  6336.   GL_PACK_SKIP_PIXELS      params returns one value, the number of pixel
  6337.                            locations skipped before the first pixel is
  6338.                            written into memory.  See glPixelStore.
  6339.  
  6340.   GL_PACK_SKIP_ROWS        params returns one value, the number of rows of
  6341.                            pixel locations skipped before the first pixel is
  6342.                            written into memory.  See glPixelStore.
  6343.  
  6344.   GL_PACK_SWAP_BYTES       params returns a single Boolean value indicating
  6345.                            whether the bytes of two-byte and four-byte pixel
  6346.                            indices and components are swapped before being
  6347.                            written to memory.  See glPixelStore.
  6348.  
  6349.   GL_PERSPECTIVE_CORRECTION_HINT
  6350.                            params returns one value, a symbolic constant
  6351.                            indicating the mode of the perspective correction
  6352.                            hint.  See glHint.
  6353.  
  6354.   GL_PIXEL_MAP_A_TO_A_SIZE params returns one value, the size of the alpha-
  6355.                            to-alpha pixel translation table.  See glPixelMap.
  6356.  
  6357.   GL_PIXEL_MAP_B_TO_B_SIZE params returns one value, the size of the blue-
  6358.                            to-blue pixel translation table.  See glPixelMap.
  6359.  
  6360.   GL_PIXEL_MAP_G_TO_G_SIZE params returns one value, the size of the green-
  6361.                            to-green pixel translation table.  See glPixelMap.
  6362.  
  6363.   GL_PIXEL_MAP_I_TO_A_SIZE params returns one value, the size of the index-
  6364.                            to-alpha pixel translation table.  See glPixelMap.
  6365.  
  6366.   GL_PIXEL_MAP_I_TO_B_SIZE params returns one value, the size of the index-
  6367.                            to-blue pixel translation table.  See glPixelMap.
  6368.  
  6369.   GL_PIXEL_MAP_I_TO_G_SIZE params returns one value, the size of the index-
  6370.                            to-green pixel translation table.  See glPixelMap.
  6371.  
  6372.   GL_PIXEL_MAP_I_TO_I_SIZE params returns one value, the size of the index-
  6373.                            to-index pixel translation table.  See glPixelMap.
  6374.  
  6375.   GL_PIXEL_MAP_I_TO_R_SIZE params returns one value, the size of the index-
  6376.                            to-red pixel translation table.  See glPixelMap.
  6377.  
  6378.   GL_PIXEL_MAP_R_TO_R_SIZE params returns one value, the size of the red-to-
  6379.                            red pixel translation table.  See glPixelMap.
  6380.  
  6381.   GL_PIXEL_MAP_S_TO_S_SIZE params returns one value, the size of the
  6382.                            stencil-to-stencil pixel translation table.  See
  6383.                            glPixelMap.
  6384.  
  6385.   GL_POINT_SIZE            params returns one value, the point size as
  6386.                            specified by glPointSize.
  6387.  
  6388.   GL_POINT_SIZE_GRANULARITY
  6389.                            params returns one value, the size difference
  6390.                            between adjacent supported sizes for antialiased
  6391.                            points.  See glPointSize.
  6392.  
  6393.   GL_POINT_SIZE_RANGE      params returns two values: the smallest and
  6394.                            largest supported sizes for antialiased points.
  6395.                            See glPointSize.
  6396.  
  6397.   GL_POINT_SMOOTH          params returns a single Boolean value indicating
  6398.                            whether antialiasing of points is enabled.  See
  6399.                            glPointSize.
  6400.  
  6401.   GL_POINT_SMOOTH_HINT     params returns one value, a symbolic constant
  6402.                            indicating the mode of the point antialiasing
  6403.                            hint.  See glHint.
  6404.  
  6405.   GL_POLYGON_MODE          params returns two values: symbolic constants
  6406.                            indicating whether front-facing and back-facing
  6407.                            polygons are rasterized as points, lines, or
  6408.                            filled polygons.  See glPolygonMode.
  6409.  
  6410.   GL_POLYGON_SMOOTH        params returns a single Boolean value indicating
  6411.                            whether antialiasing of polygons is enabled.  See
  6412.                            glPolygonMode.
  6413.  
  6414.   GL_POLYGON_SMOOTH_HINT   params returns one value, a symbolic constant
  6415.                            indicating the mode of the polygon antialiasing
  6416.                            hint.  See glHint.
  6417.  
  6418.   GL_POLYGON_STIPPLE       params returns a single Boolean value indicating
  6419.                            whether stippling of polygons is enabled.  See
  6420.                            glPolygonStipple.
  6421.  
  6422.   GL_PROJECTION_MATRIX     params returns sixteen values: the projection
  6423.                            matrix on the top of the projection matrix stack.
  6424.                            See glPushMatrix.
  6425.  
  6426.   GL_PROJECTION_STACK_DEPTH
  6427.                            params returns one value, the number of matrices
  6428.                            on the projection matrix stack.  See glPushMatrix.
  6429.  
  6430.   GL_READ_BUFFER           params returns one value, a symbolic constant
  6431.                            indicating which color buffer is selected for
  6432.                            reading.
  6433.                            See glReadPixels and glAccum.
  6434.  
  6435.   GL_RED_BIAS              params returns one value, the red bias factor used
  6436.                            during pixel transfers.
  6437.  
  6438.   GL_RED_BITS              params returns one value, the number of red
  6439.                            bitplanes in each color buffer.
  6440.  
  6441.   GL_RED_SCALE             params returns one value, the red scale factor
  6442.                            used during pixel transfers.  See glPixelTransfer.
  6443.  
  6444.   GL_RENDER_MODE           params returns one value, a symbolic constant
  6445.                            indicating whether the GL is in render, select, or
  6446.                            feedback mode.  See glRenderMode.
  6447.  
  6448.   GL_RGBA_MODE             params returns a single Boolean value indicating
  6449.                            whether the GL is in RGBA mode (true) or color
  6450.                            index mode (false).  See glColor.
  6451.  
  6452.   GL_SCISSOR_BOX           params returns four values: the x and y window
  6453.                            coordinates of the scissor box, followed by its
  6454.                            width and height.  See glScissor.
  6455.  
  6456.   GL_SCISSOR_TEST          params returns a single Boolean value indicating
  6457.                            whether scissoring is enabled.  See glScissor.
  6458.  
  6459.   GL_SHADE_MODEL           params returns one value, a symbolic constant
  6460.                            indicating whether the shading mode is flat or
  6461.                            smooth.  See glShadeModel.
  6462.  
  6463.   GL_STENCIL_BITS          params returns one value, the number of bitplanes
  6464.                            in the stencil buffer.
  6465.  
  6466.   GL_STENCIL_CLEAR_VALUE   params returns one value, the index to which the
  6467.                            stencil bitplanes are cleared.  See
  6468.                            glClearStencil.
  6469.  
  6470.   GL_STENCIL_FAIL          params returns one value, a symbolic constant
  6471.                            indicating what action is taken when the stencil
  6472.                            test fails.  See glStencilOp.
  6473.  
  6474.   GL_STENCIL_FUNC          params returns one value, a symbolic constant
  6475.                            indicating what function is used to compare the
  6476.                            stencil reference value with the stencil buffer
  6477.                            value.  See glStencilFunc.
  6478.  
  6479.   GL_STENCIL_PASS_DEPTH_FAIL
  6480.                            params returns one value, a symbolic constant
  6481.                            indicating what action is taken when the stencil
  6482.                            test passes, but the depth test fails.  See
  6483.                            glStencilOp.
  6484.  
  6485.   GL_STENCIL_PASS_DEPTH_PASS
  6486.                            params returns one value, a symbolic constant
  6487.                            indicating what action is taken when the stencil
  6488.                            test passes and the depth test passes.  See
  6489.                            glStencilOp.
  6490.  
  6491.   GL_STENCIL_REF           params returns one value, the reference value that
  6492.                            is compared with the contents of the stencil
  6493.                            buffer.  See glStencilFunc.
  6494.  
  6495.   GL_STENCIL_TEST          params returns a single Boolean value indicating
  6496.                            whether stencil testing of fragments is enabled.
  6497.                            See glStencilFunc and glStencilOp.
  6498.  
  6499.   GL_STENCIL_VALUE_MASK    params returns one value, the mask that is used to
  6500.                            mask both the stencil reference value and the
  6501.                            stencil buffer value before they are compared.
  6502.                            See glStencilFunc.
  6503.  
  6504.   GL_STENCIL_WRITEMASK     params returns one value, the mask that controls
  6505.                            writing of the stencil bitplanes.  glStencilMask.
  6506.  
  6507.   GL_STEREO                params returns a single Boolean value indicating
  6508.                            whether stereo buffers (left and right) are
  6509.                            supported.
  6510.  
  6511.   GL_SUBPIXEL_BITS         params returns one value, an estimate of the
  6512.                            number of bits of subpixel resolution that are
  6513.                            used to position rasterized geometry in window
  6514.                            coordinates.
  6515.  
  6516.   GL_TEXTURE_1D            params returns a single Boolean value indicating
  6517.                            whether 1D texture mapping is enabled.  See
  6518.                            glTexImage1D.
  6519.  
  6520.   GL_TEXTURE_2D            params returns a single Boolean value indicating
  6521.                            whether 2D texture mapping is enabled.  See
  6522.                            glTexImage2D.
  6523.  
  6524.   GL_TEXTURE_COORD_ARRAY_EXT
  6525.                            params returns a single boolean value, indicating
  6526.                            whether the texture coordinate array is enabled.
  6527.                            See glTexCoordPointerEXT.
  6528.  
  6529.   GL_TEXTURE_COORD_ARRAY_COUNT_EXT
  6530.                            params returns one value, the number of elements
  6531.                            in the texture coordinate array, counting from the
  6532.                            first, that are static.  See glTexCoordPointerEXT.
  6533.  
  6534.   GL_TEXTURE_COORD_ARRAY_SIZE_EXT
  6535.                            params returns one value, the number of
  6536.                            coordinates per element in the texture coordinate
  6537.                            array.  See glTexCoordPointerEXT.
  6538.  
  6539.   GL_TEXTURE_COORD_ARRAY_STRIDE_EXT
  6540.                            params returns one value, the byte offset between
  6541.                            consecutive elements in the texture coordinate
  6542.                            array.  See glTexCoordPointerEXT.
  6543.  
  6544.   GL_TEXTURE_COORD_ARRAY_TYPE_EXT
  6545.                            params returns one value, the data type of the
  6546.                            coordinates in the texture coordinate array.  See
  6547.                            glTexCoordPointerEXT.
  6548.  
  6549.   GL_TEXTURE_GEN_S         params returns a single Boolean value indicating
  6550.                            whether automatic generation of the S texture
  6551.                            coordinate is enabled.  See glTexGen.
  6552.  
  6553.   GL_TEXTURE_GEN_T         params returns a single Boolean value indicating
  6554.                            whether automatic generation of the T texture
  6555.                            coordinate is enabled.  See glTexGen.
  6556.  
  6557.   GL_TEXTURE_GEN_R         params returns a single Boolean value indicating
  6558.                            whether automatic generation of the R texture
  6559.                            coordinate is enabled.  See glTexGen.
  6560.  
  6561.   GL_TEXTURE_GEN_Q         params returns a single Boolean value indicating
  6562.                            whether automatic generation of the Q texture
  6563.                            coordinate is enabled.  See glTexGen.
  6564.  
  6565.   GL_TEXTURE_MATRIX        params returns sixteen values: the texture matrix
  6566.                            on the top of the texture matrix stack.  See
  6567.                            glPushMatrix.
  6568.  
  6569.   GL_TEXTURE_STACK_DEPTH   params returns one value, the number of matrices
  6570.                            on the texture matrix stack.  See glPushMatrix.
  6571.  
  6572.   GL_UNPACK_ALIGNMENT      params returns one value, the byte alignment used
  6573.                            for reading pixel data from memory.  See
  6574.                            glPixelStore.
  6575.  
  6576.   GL_UNPACK_LSB_FIRST      params returns a single Boolean value indicating
  6577.                            whether single-bit pixels being read from memory
  6578.                            are read first from the least significant bit of
  6579.                            each unsigned byte.  See glPixelStore.
  6580.  
  6581.   GL_UNPACK_ROW_LENGTH     params returns one value, the row length used for
  6582.                            reading pixel data from memory.  See glPixelStore.
  6583.  
  6584.   GL_UNPACK_SKIP_PIXELS    params returns one value, the number of pixel
  6585.                            locations skipped before the first pixel is read
  6586.                            from memory.  See glPixelStore.
  6587.  
  6588.   GL_UNPACK_SKIP_ROWS      params returns one value, the number of rows of
  6589.                            pixel locations skipped before the first pixel is
  6590.                            read from memory.  See glPixelStore.
  6591.  
  6592.   GL_UNPACK_SWAP_BYTES     params returns a single Boolean value indicating
  6593.                            whether the bytes of two-byte and four-byte pixel
  6594.                            indices and components are swapped after being
  6595.                            read from memory.  See glPixelStore.
  6596.  
  6597.   GL_VERTEX_ARRAY_EXT      params returns a single boolean value, indicating
  6598.                            whether the vertex array is enabled.  See
  6599.                            glVertexPointerEXT.
  6600.  
  6601.   GL_VERTEX_ARRAY_COUNT_EXT
  6602.                            params returns one value, the number of vertexes
  6603.                            in the vertex array, counting from the first, that
  6604.                            are static.  See glVertexPointerEXT.
  6605.  
  6606.   GL_VERTEX_ARRAY_SIZE_EXT params returns one value, the number of
  6607.                            coordinates per vertex in the vertex array.  See
  6608.                            glVertexPointerEXT.
  6609.  
  6610.   GL_VERTEX_ARRAY_STRIDE_EXT
  6611.                            params returns one value, the byte offset between
  6612.                            consecutive vertexes in the vertex array.  See
  6613.                            glVertexPointerEXT.
  6614.  
  6615.   GL_VERTEX_ARRAY_TYPE_EXT params returns one value, the data type of each
  6616.                            coordinate in the vertex array.  See
  6617.                            glVertexPointerEXT.
  6618.  
  6619.   GL_VIEWPORT              params returns four values: the x and y window
  6620.                            coordinates of the viewport, followed by its width
  6621.                            and height.  See glViewport.
  6622.  
  6623.   GL_ZOOM_X                params returns one value, the x pixel zoom factor.
  6624.                            See glPixelZoom.
  6625.  
  6626.   GL_ZOOM_Y                params returns one value, the y pixel zoom factor.
  6627.                            See glPixelZoom.
  6628.  
  6629.   Many of the Boolean parameters can also be queried more easily using
  6630.   glIsEnabled.
  6631.  
  6632.  
  6633.  
  6634. Errors 
  6635.  
  6636.   GL_INVALID_ENUM is generated if pname is not an accepted value.
  6637.  
  6638.   GL_INVALID_OPERATION is generated if glGet is executed between the
  6639.   execution of glBegin and the corresponding execution of glEnd.
  6640.  
  6641.  
  6642.  
  6643. See Also 
  6644.  
  6645.   glGetClipPlane, glGetError, glGetLight, glGetMap, glGetMaterial,
  6646.   glGetPixelMap, glGetPolygonStipple, glGetString, glGetTexEnv, glGetTexGen,
  6647.   glGetTexImage, glGetTexLevelParameter, glGetTexParameter, glIsEnabled
  6648.  
  6649.  
  6650.  
  6651. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  6652.  
  6653.  Introduction | Alphabetic | Specification 
  6654.  
  6655. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  6656. Look here for legal stuff:  Legal 
  6657.  
  6658.  
  6659. ΓòÉΓòÉΓòÉ 3.43. glGetClipPlane ΓòÉΓòÉΓòÉ
  6660.  
  6661.  OpenGL man pages 
  6662.  
  6663. glGetClipPlane 
  6664.  
  6665.  
  6666.  
  6667.  
  6668.  
  6669.  
  6670. Name 
  6671.  
  6672.   glGetClipPlane - return the coefficients of the specified clipping plane
  6673.  
  6674.  
  6675.  
  6676.  
  6677. C Specification 
  6678.  
  6679.   void glGetClipPlane( GLenum plane,
  6680.                        GLdouble *equation )
  6681.  
  6682.  
  6683.  
  6684.  
  6685. Parameters 
  6686.  
  6687.  
  6688.   plane     Specifies a clipping plane.  The number of clipping planes
  6689.             depends on the implementation, but at least six clipping planes
  6690.             are supported.  They are identified by symbolic names of the form
  6691.             GL_CLIP_PLANEi where 0 <= i < GL_MAX_CLIP_PLANES.
  6692.  
  6693.   equation  Returns four double-precision values that are the coefficients of
  6694.             the plane equation of plane in eye coordinates.
  6695.  
  6696.  
  6697.  
  6698.  
  6699. Description 
  6700.  
  6701.   glGetClipPlane returns in equation the four coefficients of the plane
  6702.   equation for plane.
  6703.  
  6704.  
  6705.  
  6706. Notes 
  6707.  
  6708.   It is always the case that GL_CLIP_PLANEi = GL_CLIP_PLANE0 + i.
  6709.  
  6710.   If an error is generated, no change is made to the contents of equation.
  6711.  
  6712.  
  6713.  
  6714. Errors 
  6715.  
  6716.   GL_INVALID_ENUM is generated if plane is not an accepted value.
  6717.  
  6718.   GL_INVALID_OPERATION is generated if glGetClipPlane is executed between the
  6719.   execution of glBegin and the corresponding execution of glEnd.
  6720.  
  6721.  
  6722.  
  6723. See Also 
  6724.  
  6725.   glClipPlane
  6726.  
  6727. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  6728.  
  6729.  Introduction | Alphabetic | Specification 
  6730.  
  6731. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  6732. Look here for legal stuff:  Legal 
  6733.  
  6734.  
  6735. ΓòÉΓòÉΓòÉ 3.44. glGetError ΓòÉΓòÉΓòÉ
  6736.  
  6737.  OpenGL man pages 
  6738.  
  6739. glGetError 
  6740.  
  6741.  
  6742.  
  6743.  
  6744.  
  6745.  
  6746. Name 
  6747.  
  6748.   glGetError - return error information
  6749.  
  6750.  
  6751.  
  6752.  
  6753. C Specification 
  6754.  
  6755.   GLenum glGetError( void )
  6756.  
  6757.  
  6758.  
  6759.  
  6760. Description 
  6761.  
  6762.   glGetError returns the value of the error flag.  Each detectable error is
  6763.   assigned a numeric code and symbolic name.  When an error occurs, the error
  6764.   flag is set to the appropriate error code value.  No other errors are
  6765.   recorded until glGetError is called, the error code is returned, and the
  6766.   flag is reset to GL_NO_ERROR.  If a call to glGetError returns GL_NO_ERROR,
  6767.   there has been no detectable error since the last call to glGetError, or
  6768.   since the GL was initialized.
  6769.  
  6770.   To allow for distributed implementations, there may be several error flags.
  6771.   If any single error flag has recorded an error, the value of that flag is
  6772.   returned and that flag is reset to GL_NO_ERROR when glGetError is called.
  6773.   If more than one flag has recorded an error, glGetError returns and clears
  6774.   an arbitrary error flag value.  Thus, glGetError should always be called in
  6775.   a loop, until it returns GL_NO_ERROR, if all error flags are to be reset.
  6776.  
  6777.   Initially, all error flags are set to GL_NO_ERROR.
  6778.  
  6779.   The currently defined errors are as follows:
  6780.  
  6781.   GL_NO_ERROR                   No error has been recorded.  The value of
  6782.                                 this symbolic constant is guaranteed to be
  6783.                                 zero.
  6784.  
  6785.   GL_INVALID_ENUM               An unacceptable value is specified for an
  6786.                                 enumerated argument.  The offending command
  6787.                                 is ignored, having no side effect other than
  6788.                                 to set the error flag.
  6789.  
  6790.   GL_INVALID_VALUE              A numeric argument is out of range.  The
  6791.                                 offending command is ignored, having no side
  6792.                                 effect other than to set the error flag.
  6793.  
  6794.   GL_INVALID_OPERATION          The specified operation is not allowed in the
  6795.                                 current state.  The offending command is
  6796.                                 ignored, having no side effect other than to
  6797.                                 set the error flag.
  6798.  
  6799.   GL_STACK_OVERFLOW             This command would cause a stack overflow.
  6800.                                 The offending command is ignored, having no
  6801.                                 side effect other than to set the error flag.
  6802.  
  6803.   GL_STACK_UNDERFLOW            This command would cause a stack underflow.
  6804.                                 The offending command is ignored, having no
  6805.                                 side effect other than to set the error flag.
  6806.  
  6807.   GL_OUT_OF_MEMORY              There is not enough memory left to execute
  6808.                                 the command.  The state of the GL is
  6809.                                 undefined, except for the state of the error
  6810.                                 flags, after this error is recorded.
  6811.  
  6812.   When an error flag is set, results of a GL operation are undefined only if
  6813.   GL_OUT_OF_MEMORY has occurred.  In all other cases, the command generating
  6814.   the error is ignored and has no effect on the GL state or frame buffer
  6815.   contents.  If the generating command returns a value, it returns zero. If
  6816.   glGetError itself generates an error it returns zero.
  6817.  
  6818.  
  6819.  
  6820. Errors 
  6821.  
  6822.   GL_INVALID_OPERATION is generated if glGetError is executed between the
  6823.   execution of glBegin and the corresponding execution of glEnd.  In this
  6824.   case glGetError returns zero.
  6825.  
  6826.  
  6827.  
  6828. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  6829.  
  6830.  Introduction | Alphabetic | Specification 
  6831.  
  6832. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  6833. Look here for legal stuff:  Legal 
  6834.  
  6835.  
  6836. ΓòÉΓòÉΓòÉ 3.45. glGetLight ΓòÉΓòÉΓòÉ
  6837.  
  6838.  OpenGL man pages 
  6839.  
  6840. glGetLight 
  6841.  
  6842.  
  6843.  
  6844.  
  6845.  
  6846.  
  6847. Name 
  6848.  
  6849.   glGetLightfv, glGetLightiv - return light source parameter values
  6850.  
  6851.  
  6852.  
  6853.  
  6854. C Specification 
  6855.  
  6856.   void glGetLightfv( GLenum light,
  6857.                      GLenum pname,
  6858.                      GLfloat *params )
  6859.   void glGetLightiv( GLenum light,
  6860.                      GLenum pname,
  6861.                      GLint *params )
  6862.  
  6863.  
  6864.  
  6865.  
  6866. Parameters 
  6867.  
  6868.  
  6869.   light   Specifies a light source.  The number of possible lights depends on
  6870.           the implementation, but at least eight lights are supported.  They
  6871.           are identified by symbolic names of the form GL_LIGHTi where 0 <= i
  6872.           < GL_MAX_LIGHTS.
  6873.  
  6874.   pname   Specifies a light source parameter for light.  Accepted symbolic
  6875.           names are GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR, GL_POSITION,
  6876.           GL_SPOT_DIRECTION, GL_SPOT_EXPONENT, GL_SPOT_CUTOFF,
  6877.           GL_CONSTANT_ATTENUATION, GL_LINEAR_ATTENUATION , and
  6878.           GL_QUADRATIC_ATTENUATION.
  6879.  
  6880.   params  Returns the requested data.
  6881.  
  6882.  
  6883.  
  6884.  
  6885. Description 
  6886.  
  6887.   glGetLight returns in params the value or values of a light source
  6888.   parameter.  light names the light and is a symbolic name of the form
  6889.   GL_LIGHTi for 0<=i<GL_MAX_LIGHTS, where GL_MAX_LIGHTS is an implementation
  6890.   dependent constant that is greater than or equal to eight.  pname specifies
  6891.   one of ten light source parameters, again by symbolic name.
  6892.  
  6893.   The parameters are as follows:
  6894.  
  6895.   GL_AMBIENT          params returns four integer or floating-point values
  6896.                       representing the ambient intensity of the light source.
  6897.                       Integer values, when requested, are linearly mapped
  6898.                       from the internal floating-point representation such
  6899.                       that 1.0 maps to the most positive representable
  6900.                       integer value, and -1.0 maps to the most negative
  6901.                       representable integer value.  If the internal value is
  6902.                       outside the range [-1,1], the corresponding integer
  6903.                       return value is undefined.
  6904.  
  6905.   GL_DIFFUSE          params returns four integer or floating-point values
  6906.                       representing the diffuse intensity of the light source.
  6907.                       Integer values, when requested, are linearly mapped
  6908.                       from the internal floating-point representation such
  6909.                       that 1.0 maps to the most positive representable
  6910.                       integer value, and -1.0 maps to the most negative
  6911.                       representable integer value.  If the internal value is
  6912.                       outside the range [-1,1], the corresponding integer
  6913.                       return value is undefined.
  6914.  
  6915.   GL_SPECULAR         params returns four integer or floating-point values
  6916.                       representing the specular intensity of the light
  6917.                       source.  Integer values, when requested, are linearly
  6918.                       mapped from the internal floating-point representation
  6919.                       such that 1.0 maps to the most positive representable
  6920.                       integer value, and -1.0 maps to the most negative
  6921.                       representable integer value.  If the internal value is
  6922.                       outside the range [-1,1], the corresponding integer
  6923.                       return value is undefined.
  6924.  
  6925.   GL_POSITION         params returns four integer or floating-point values
  6926.                       representing the position of the light source.  Integer
  6927.                       values, when requested, are computed by rounding the
  6928.                       internal floating-point values to the nearest integer
  6929.                       value.  The returned values are those maintained in eye
  6930.                       coordinates.  They will not be equal to the values
  6931.                       specified using glLight, unless the modelview matrix
  6932.                       was identity at the time glLight was called.
  6933.  
  6934.   GL_SPOT_DIRECTION   params returns three integer or floating-point values
  6935.                       representing the direction of the light source.
  6936.                       Integer values, when requested, are computed by
  6937.                       rounding the internal floating-point values to the
  6938.                       nearest integer value.  The returned values are those
  6939.                       maintained in eye coordinates.  They will not be equal
  6940.                       to the values specified using glLight, unless the
  6941.                       modelview matrix was identity at the time glLight was
  6942.                       called.  Although spot direction is normalized before
  6943.                       being used in the lighting equation, the returned
  6944.                       values are the transformed versions of the specified
  6945.                       values prior to normalization.
  6946.  
  6947.   GL_SPOT_EXPONENT    params returns a single integer or floating-point value
  6948.                       representing the spot exponent of the light.  An
  6949.                       integer value, when requested, is computed by rounding
  6950.                       the internal floating-point representation to the
  6951.                       nearest integer.
  6952.  
  6953.   GL_SPOT_CUTOFF      params returns a single integer or floating-point value
  6954.                       representing the spot cutoff angle of the light.  An
  6955.                       integer value, when requested, is computed by rounding
  6956.                       the internal floating-point representation to the
  6957.                       nearest integer.
  6958.  
  6959.   GL_CONSTANT_ATTENUATION
  6960.                       params returns a single integer or floating-point value
  6961.                       representing the constant (not distance related)
  6962.                       attenuation of the light.  An integer value, when
  6963.                       requested, is computed by rounding the internal
  6964.                       floating-point representation to the nearest integer.
  6965.  
  6966.   GL_LINEAR_ATTENUATION
  6967.                       params returns a single integer or floating-point value
  6968.                       representing the linear attenuation of the light.  An
  6969.                       integer value, when requested, is computed by rounding
  6970.                       the internal floating-point representation to the
  6971.                       nearest integer.
  6972.  
  6973.   GL_QUADRATIC_ATTENUATION
  6974.                       params returns a single integer or floating-point value
  6975.                       representing the quadratic attenuation of the light.
  6976.                       An integer value, when requested, is computed by
  6977.                       rounding the internal floating-point representation to
  6978.                       the nearest integer.
  6979.  
  6980.  
  6981.  
  6982.  
  6983.  
  6984. Notes 
  6985.  
  6986.   It is always the case that GL_LIGHTi = GL_LIGHT0 + i.
  6987.  
  6988.   If an error is generated, no change is made to the contents of params.
  6989.  
  6990.  
  6991.  
  6992. Errors 
  6993.  
  6994.   GL_INVALID_ENUM is generated if light or pname is not an accepted value.
  6995.  
  6996.   GL_INVALID_OPERATION is generated if glGetLight is called between a call to
  6997.   glBegin and the corresponding call to glEnd.
  6998.  
  6999.  
  7000.  
  7001. See Also 
  7002.  
  7003.   glLight
  7004.  
  7005.  
  7006. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  7007.  
  7008.  Introduction | Alphabetic | Specification 
  7009.  
  7010. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  7011. Look here for legal stuff:  Legal 
  7012.  
  7013.  
  7014. ΓòÉΓòÉΓòÉ 3.46. glGetMap ΓòÉΓòÉΓòÉ
  7015.  
  7016.  OpenGL man pages 
  7017.  
  7018. glGetMap 
  7019.  
  7020.  
  7021.  
  7022.  
  7023.  
  7024.  
  7025. Name 
  7026.  
  7027.   glGetMapdv, glGetMapfv, glGetMapiv - return evaluator parameters
  7028.  
  7029.  
  7030.  
  7031.  
  7032. C Specification 
  7033.  
  7034.   void glGetMapdv( GLenum target,
  7035.                    GLenum query,
  7036.                    GLdouble *v )
  7037.   void glGetMapfv( GLenum target,
  7038.                    GLenum query,
  7039.                    GLfloat *v )
  7040.   void glGetMapiv( GLenum target,
  7041.                    GLenum query,
  7042.                    GLint *v )
  7043.  
  7044.  
  7045.  
  7046.  
  7047. Parameters 
  7048.  
  7049.  
  7050.   target  Specifies the symbolic name of a map.  Accepted values are
  7051.           GL_MAP1_COLOR_4, GL_MAP1_INDEX, GL_MAP1_NORMAL,
  7052.           GL_MAP1_TEXTURE_COORD_1, GL_MAP1_TEXTURE_COORD_2,
  7053.           GL_MAP1_TEXTURE_COORD_3, GL_MAP1_TEXTURE_COORD_4, GL_MAP1_VERTEX_3,
  7054.           GL_MAP1_VERTEX_4, GL_MAP2_COLOR_4 , GL_MAP2_INDEX, GL_MAP2_NORMAL,
  7055.           GL_MAP2_TEXTURE_COORD_1, GL_MAP2_TEXTURE_COORD_2,
  7056.           GL_MAP2_TEXTURE_COORD_3, GL_MAP2_TEXTURE_COORD_4, GL_MAP2_VERTEX_3,
  7057.           and GL_MAP2_VERTEX_4.
  7058.  
  7059.   query   Specifies which parameter to return.  Symbolic names GL_COEFF,
  7060.           GL_ORDER, and GL_DOMAIN are accepted.
  7061.  
  7062.   v       Returns the requested data.
  7063.  
  7064.  
  7065.  
  7066.  
  7067. Description 
  7068.  
  7069.   glMap1 and glMap2 define evaluators.  glGetMap returns evaluator
  7070.   parameters.  target chooses a map, query selects a specific parameter, and
  7071.   v points to storage where the values will be returned.
  7072.  
  7073.   The acceptable values for the target parameter are described in the glMap1
  7074.   and  glMap2 reference pages.
  7075.  
  7076.   query can assume the following values:
  7077.  
  7078.   GL_COEFF          v returns the control points for the evaluator function.
  7079.                     One-dimensional evaluators return order control points,
  7080.                     and two-dimensional evaluators return uorderxvorder
  7081.                     control points.  Each control point consists of one, two,
  7082.                     three, or four integer, single-precision floating-point,
  7083.                     or double-precision floating-point values, depending on
  7084.                     the type of the evaluator.  Two-dimensional control
  7085.                     points are returned in row-major order, incrementing the
  7086.                     uorder index quickly, and the vorder index after each
  7087.                     row.  Integer values, when requested, are computed by
  7088.                     rounding the internal floating-point values to the
  7089.                     nearest integer values.
  7090.  
  7091.   GL_ORDER          v returns the order of the evaluator function.  One-
  7092.                     dimensional evaluators return a single value, order.
  7093.                     Two-dimensional evaluators return two values, uorder and
  7094.                     vorder.
  7095.  
  7096.   GL_DOMAIN         v returns the linear u and v mapping parameters.  One-
  7097.                     dimensional evaluators return two values, u1 and u2, as
  7098.                     specified by glMap1.  Two-dimensional evaluators return
  7099.                     four values (u1, u2, v1, and v2) as specified by glMap2.
  7100.                     Integer values, when requested, are computed by rounding
  7101.                     the internal floating-point values to the nearest integer
  7102.                     values.
  7103.  
  7104.  
  7105.  
  7106. Notes 
  7107.  
  7108.   If an error is generated, no change is made to the contents of v.
  7109.  
  7110.  
  7111.  
  7112. Errors 
  7113.  
  7114.   GL_INVALID_ENUM is generated if either target or query is not an accepted
  7115.   value.
  7116.  
  7117.   GL_INVALID_OPERATION is generated if glGetMap is called between a call to
  7118.   glBegin and the corresponding call to glEnd.
  7119.  
  7120.  
  7121.  
  7122. See Also 
  7123.  
  7124.   glEvalCoord, glMap1, glMap2
  7125.  
  7126.  
  7127.  
  7128. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  7129.  
  7130.  Introduction | Alphabetic | Specification 
  7131.  
  7132. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  7133. Look here for legal stuff:  Legal 
  7134.  
  7135.  
  7136. ΓòÉΓòÉΓòÉ 3.47. glGetMaterial ΓòÉΓòÉΓòÉ
  7137.  
  7138.  OpenGL man pages 
  7139.  
  7140. glGetMaterial 
  7141.  
  7142.  
  7143.  
  7144.  
  7145.  
  7146.  
  7147. Name 
  7148.  
  7149.   glGetMaterialfv, glGetMaterialiv - return material parameters
  7150.  
  7151.  
  7152.  
  7153.  
  7154. C Specification 
  7155.  
  7156.   void glGetMaterialfv( GLenum face,
  7157.                         GLenum pname,
  7158.                         GLfloat *params )
  7159.   void glGetMaterialiv( GLenum face,
  7160.                         GLenum pname,
  7161.                         GLint *params )
  7162.  
  7163.  
  7164.  
  7165.  
  7166. Parameters 
  7167.  
  7168.  
  7169.   face    Specifies which of the two materials is being queried.  GL_FRONT or
  7170.           GL_BACK are accepted, representing the front and back materials,
  7171.           respectively.
  7172.  
  7173.   pname   Specifies the material parameter to return.  GL_AMBIENT,
  7174.           GL_DIFFUSE, GL_SPECULAR, GL_EMISSION, GL_SHININESS, and
  7175.           GL_COLOR_INDEXES are accepted.
  7176.  
  7177.   params  Returns the requested data.
  7178.  
  7179.  
  7180.  
  7181. Description 
  7182.  
  7183.   glGetMaterial returns in params the value or values of parameter pname of
  7184.   material face.  Six parameters are defined:
  7185.  
  7186.   GL_AMBIENT          params returns four integer or floating-point values
  7187.                       representing the ambient reflectance of the material.
  7188.                       Integer values, when requested, are linearly mapped
  7189.                       from the internal floating-point representation such
  7190.                       that 1.0 maps to the most positive representable
  7191.                       integer value, and -1.0 maps to the most negative
  7192.                       representable integer value.  If the internal value is
  7193.                       outside the range [-1,1], the corresponding integer
  7194.                       return value is undefined.
  7195.  
  7196.   GL_DIFFUSE          params returns four integer or floating-point values
  7197.                       representing the diffuse reflectance of the material.
  7198.                       Integer values, when requested, are linearly mapped
  7199.                       from the internal floating-point representation such
  7200.                       that 1.0 maps to the most positive representable
  7201.                       integer value, and -1.0 maps to the most negative
  7202.                       representable integer value.  If the internal value is
  7203.                       outside the range [-1,1], the corresponding integer
  7204.                       return value is undefined.
  7205.  
  7206.   GL_SPECULAR         params returns four integer or floating-point values
  7207.                       representing the specular reflectance of the material.
  7208.                       Integer values, when requested, are linearly mapped
  7209.                       from the internal floating-point representation such
  7210.                       that 1.0 maps to the most positive representable
  7211.                       integer value, and -1.0 maps to the most negative
  7212.                       representable integer value.  If the internal value is
  7213.                       outside the range [-1,1], the corresponding integer
  7214.                       return value is undefined.
  7215.  
  7216.   GL_EMISSION         params returns four integer or floating-point values
  7217.                       representing the emitted light intensity of the
  7218.                       material.  Integer values, when requested, are linearly
  7219.                       mapped from the internal floating-point representation
  7220.                       such that 1.0 maps to the most positive representable
  7221.                       integer value, and -1.0 maps to the most negative
  7222.                       representable integer value.  If the internal value is
  7223.                       outside the range [-1,1], the corresponding integer
  7224.                       return value is undefined.
  7225.  
  7226.   GL_SHININESS        params returns one integer or floating-point value
  7227.                       representing the specular exponent of the material.
  7228.                       Integer values, when requested, are computed by
  7229.                       rounding the internal floating-point value to the
  7230.                       nearest integer value.
  7231.  
  7232.   GL_COLOR_INDEXES    params returns three integer or floating-point values
  7233.                       representing the ambient, diffuse, and specular indices
  7234.                       of the material.  These indices are used only for color
  7235.                       index lighting.  (The other parameters are all used
  7236.                       only for RGBA lighting.) Integer values, when
  7237.                       requested, are computed by rounding the internal
  7238.                       floating-point values to the nearest integer values.
  7239.  
  7240.  
  7241.  
  7242. Notes 
  7243.  
  7244.   If an error is generated, no change is made to the contents of params.
  7245.  
  7246.  
  7247.  
  7248. Errors 
  7249.  
  7250.   GL_INVALID_ENUM is generated if face or pname is not an accepted value.
  7251.  
  7252.   GL_INVALID_OPERATION is generated if glGetMaterial is called between a call
  7253.   to glBegin and the corresponding call to glEnd.
  7254.  
  7255.  
  7256.  
  7257. See Also 
  7258.  
  7259.   glMaterial
  7260.  
  7261.  
  7262.  
  7263. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  7264.  
  7265.  Introduction | Alphabetic | Specification 
  7266.  
  7267. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  7268. Look here for legal stuff:  Legal 
  7269.  
  7270.  
  7271. ΓòÉΓòÉΓòÉ 3.48. glGetPixelMap ΓòÉΓòÉΓòÉ
  7272.  
  7273.  OpenGL man pages 
  7274.  
  7275. glGetPixelMap 
  7276.  
  7277.  
  7278.  
  7279.  
  7280.  
  7281.  
  7282. Name 
  7283.  
  7284.   glGetPixelMapfv, glGetPixelMapuiv, glGetPixelMapusv - return the specified
  7285.   pixel map
  7286.  
  7287.  
  7288.  
  7289.  
  7290. C Specification 
  7291.  
  7292.   void glGetPixelMapfv( GLenum map,
  7293.                         GLfloat *values )
  7294.   void glGetPixelMapuiv( GLenum map,
  7295.                          GLuint *values )
  7296.   void glGetPixelMapusv( GLenum map,
  7297.                          GLushort *values )
  7298.  
  7299.  
  7300.  
  7301.  
  7302. Parameters 
  7303.  
  7304.  
  7305.   map     Specifies the name of the pixel map to return.  Accepted values are
  7306.           GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R,
  7307.           GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A,
  7308.           GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, and
  7309.           GL_PIXEL_MAP_A_TO_A.
  7310.  
  7311.   values  Returns the pixel map contents.
  7312.  
  7313.  
  7314.  
  7315.  
  7316. Description 
  7317.  
  7318.   Please see the glPixelMap reference page for a description of the
  7319.   acceptable values for the map parameter.  glGetPixelMap returns in values
  7320.   the contents of the pixel map specified in map.  Pixel maps are used during
  7321.   the execution of glReadPixels, glDrawPixels, glCopyPixels, glTexImage1D,
  7322.   and glTexImage2D to map color indices, stencil indices, color components,
  7323.   and depth components to other values.
  7324.  
  7325.   Unsigned integer values, if requested, are linearly mapped from the
  7326.   internal fixed or floating-point representation such that 1.0 maps to the
  7327.   largest representable integer value, and 0.0 maps to zero.  Return unsigned
  7328.   integer values are undefined if the map value was not in the range [0,1].
  7329.  
  7330.   To determine the required size of map, call glGet with the appropriate
  7331.   symbolic constant.
  7332.  
  7333.  
  7334.  
  7335. Notes 
  7336.  
  7337.   If an error is generated, no change is made to the contents of values.
  7338.  
  7339.  
  7340.  
  7341. Errors 
  7342.  
  7343.   GL_INVALID_ENUM is generated if map is not an accepted value.
  7344.  
  7345.   GL_INVALID_OPERATION is generated if glGetPixelMap is called between a call
  7346.   to glBegin and the corresponding call to glEnd.
  7347.  
  7348.  
  7349.  
  7350.  
  7351.  
  7352. Associated Gets 
  7353.  
  7354.   glGet with argument GL_PIXEL_MAP_I_TO_I_SIZE
  7355.   glGet with argument GL_PIXEL_MAP_S_TO_S_SIZE
  7356.   glGet with argument GL_PIXEL_MAP_I_TO_R_SIZE
  7357.   glGet with argument GL_PIXEL_MAP_I_TO_G_SIZE
  7358.   glGet with argument GL_PIXEL_MAP_I_TO_B_SIZE
  7359.   glGet with argument GL_PIXEL_MAP_I_TO_A_SIZE
  7360.   glGet with argument GL_PIXEL_MAP_R_TO_R_SIZE
  7361.   glGet with argument GL_PIXEL_MAP_G_TO_G_SIZE
  7362.   glGet with argument GL_PIXEL_MAP_B_TO_B_SIZE
  7363.   glGet with argument GL_PIXEL_MAP_A_TO_A_SIZE
  7364.   glGet with argument GL_MAX_PIXEL_MAP_TABLE
  7365.  
  7366.  
  7367.  
  7368. See Also 
  7369.  
  7370.   glCopyPixels, glDrawPixels, glPixelMap, glPixelTransfer, glReadPixels,
  7371.   glTexImage1D, glTexImage2D
  7372.  
  7373.  
  7374.  
  7375. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  7376.  
  7377.  Introduction | Alphabetic | Specification 
  7378.  
  7379. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  7380. Look here for legal stuff:  Legal 
  7381.  
  7382.  
  7383. ΓòÉΓòÉΓòÉ 3.49. glGetPointervEXT ΓòÉΓòÉΓòÉ
  7384.  
  7385.  OpenGL man pages 
  7386.  
  7387. glGetPointervEXT 
  7388.  
  7389.  
  7390.  
  7391.  
  7392.  
  7393.  
  7394. Name 
  7395.  
  7396.   glGetPointervEXT - return the address of a vertex data array
  7397.  
  7398.  
  7399.  
  7400.  
  7401. C Specification 
  7402.  
  7403.   void glGetPointervEXT( GLenum pname,
  7404.                          GLvoid* *params )
  7405.  
  7406.  
  7407.  
  7408.  
  7409. Parameters 
  7410.  
  7411.  
  7412.   pname   Specifies the array pointer to be returned.  Symbolic constants
  7413.           GL_VERTEX_ARRAY_POINTER_EXT, GL_NORMAL_ARRAY_POINTER_EXT,
  7414.           GL_COLOR_ARRAY_POINTER_EXT, GL_INDEX_ARRAY_POINTER_EXT,
  7415.           GL_TEXTURE_COORD_ARRAY_POINTER_EXT, GL_EDGE_FLAG_ARRAY_POINTER_EXT,
  7416.           are accepted.
  7417.  
  7418.   params  returns the array pointer value specified by pname.
  7419.  
  7420.  
  7421.  
  7422.  
  7423. Description 
  7424.  
  7425.   glGetPointervEXT returns array pointer information. pname is a symbolic
  7426.   constant indicating the array pointer to be returned, and params is a
  7427.   pointer to a location in which to place the returned data.
  7428.  
  7429.  
  7430.  
  7431. Notes 
  7432.  
  7433.   The array pointers are client side state.
  7434.  
  7435.   glGetPointervEXT is part of the EXT_vertex_array extension,   not
  7436.   part of the core GL command set. If "GL_EXT_vertex_array" is
  7437.   included in the string returned by glGetString, when called with argument
  7438.   GL_EXTENSIONS, extension EXT_vertex_array is supported.
  7439.  
  7440.  
  7441.  
  7442. Errors 
  7443.  
  7444.   GL_INVALID_ENUM is generated if pname is not an accepted value.
  7445.  
  7446.  
  7447.  
  7448. See Also 
  7449.  
  7450.   glArrayElementEXT, glColorPointerEXT, glDrawArraysEXT,
  7451.   glEdgeFlagPointerEXT, glIndexPointerEXT, glNormalPointerEXT,
  7452.   glTexCoordPointerEXT, glVertexPointerEXT
  7453.  
  7454.  
  7455.  
  7456. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  7457.  
  7458.  Introduction | Alphabetic | Specification 
  7459.  
  7460. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  7461. Look here for legal stuff:  Legal 
  7462.  
  7463.  
  7464. ΓòÉΓòÉΓòÉ 3.50. glGetPolygonStipple ΓòÉΓòÉΓòÉ
  7465.  
  7466.  OpenGL man pages 
  7467.  
  7468. glGetPolygonStipple 
  7469.  
  7470.  
  7471.  
  7472.  
  7473.  
  7474.  
  7475. Name 
  7476.  
  7477.   glGetPolygonStipple - return the polygon stipple pattern
  7478.  
  7479.  
  7480.  
  7481.  
  7482. C Specification 
  7483.  
  7484.   void glGetPolygonStipple( GLubyte *mask )
  7485.  
  7486.  
  7487.  
  7488.  
  7489. Parameters 
  7490.  
  7491.  
  7492.   mask  Returns the stipple pattern.
  7493.  
  7494.  
  7495.  
  7496. Description 
  7497.  
  7498.   glGetPolygonStipple returns to mask a 32x32 polygon stipple pattern.  The
  7499.   pattern is packed into memory as if glReadPixels with both height and width
  7500.   of 32, type of GL_BITMAP, and format of GL_COLOR_INDEX were called, and the
  7501.   stipple pattern were stored in an internal 32x32 color index buffer.
  7502.   Unlike glReadPixels, however, pixel transfer operations (shift, offset,
  7503.   pixel map) are not applied to the returned stipple image.
  7504.  
  7505.  
  7506.  
  7507. Notes 
  7508.  
  7509.   If an error is generated, no change is made to the contents of mask.
  7510.  
  7511.  
  7512.  
  7513. Errors 
  7514.  
  7515.   GL_INVALID_OPERATION is generated if glGetPolygonStipple is executed
  7516.   between the execution of glBegin and the corresponding execution of glEnd.
  7517.  
  7518.  
  7519.  
  7520. See Also 
  7521.  
  7522.   glPixelStore, glPixelTransfer, glPolygonStipple, glReadPixels
  7523.  
  7524.  
  7525.  
  7526. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  7527.  
  7528.  Introduction | Alphabetic | Specification 
  7529.  
  7530. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  7531. Look here for legal stuff:  Legal 
  7532.  
  7533.  
  7534. ΓòÉΓòÉΓòÉ 3.51. glGetString ΓòÉΓòÉΓòÉ
  7535.  
  7536.  OpenGL man pages 
  7537.  
  7538. glGetString 
  7539.  
  7540.  
  7541.  
  7542.  
  7543.  
  7544.  
  7545. Name 
  7546.  
  7547.   glGetString - returns a string describing the current GL connection
  7548.  
  7549.  
  7550.  
  7551.  
  7552. C Specification 
  7553.  
  7554.   const GLubyte * glGetString( GLenum name )
  7555.  
  7556.  
  7557.  
  7558.  
  7559. Parameters 
  7560.  
  7561.  
  7562.   name  Specifies a symbolic constant, one of GL_VENDOR, GL_RENDERER,
  7563.         GL_VERSION, or GL_EXTENSIONS.
  7564.  
  7565.  
  7566.  
  7567. Description 
  7568.  
  7569.   glGetString returns a pointer to a static string describing some aspect of
  7570.   the current GL connection.  name can be one of the following:
  7571.  
  7572.   GL_VENDOR           Returns the company responsible for this GL
  7573.                       implementation.  This name does not change from release
  7574.                       to release.
  7575.  
  7576.   GL_RENDERER         Returns the name of the renderer.  This name is
  7577.                       typically specific to a particular configuration of a
  7578.                       hardware platform.  It does not change from release to
  7579.                       release.
  7580.  
  7581.   GL_VERSION          Returns a version or release number.
  7582.  
  7583.   GL_EXTENSIONS       Returns a space-separated list of supported extensions
  7584.                       to GL.
  7585.  
  7586.   Because GL does not include queries for the performance characteristics of
  7587.   an implementation, it is expected that some applications will be written to
  7588.   recognize known platforms and will modify their GL usage based on known
  7589.   performance characteristics of these platforms.  Strings GL_VENDOR and
  7590.   GL_RENDERER together uniquely specify a platform, and will not change from
  7591.   release to release.  They should be used by such platform recognition
  7592.   algorithms.
  7593.  
  7594.   Some applications will want to make use of features which are not part of
  7595.   the standard GL.  These features may be implemented as extensions to the
  7596.   standard GL.  The GL_EXTENSIONS string is a space seperated list of
  7597.   supported GL extensions. (Extension names never contain a space character.)
  7598.  
  7599.   The GL_VERSION string begins with a version number.  The version number is
  7600.   of the form major_number.minor_number or
  7601.   major_number.minor_number.release_number. Vendor specific information may
  7602.   follow the version number. Its format depends on the implementation, but a
  7603.   space always seperates the version number and the vendor specific
  7604.   information.
  7605.  
  7606.   All strings are null-terminated.
  7607.  
  7608.  
  7609.  
  7610. Notes 
  7611.  
  7612.   If an error is generated, glGetString returns zero.
  7613.  
  7614.   The client and server may support different versions or extensions.
  7615.   glGetString always returns a compatible version number or list of
  7616.   extensions. The release number always describes the server.
  7617.  
  7618.  
  7619.  
  7620. Errors 
  7621.  
  7622.   GL_INVALID_ENUM is generated if name is not an accepted value.
  7623.  
  7624.   GL_INVALID_OPERATION is generated if glGetString is executed between the
  7625.   execution of glBegin and the corresponding execution of glEnd.
  7626.  
  7627.  
  7628.  
  7629. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  7630.  
  7631.  Introduction | Alphabetic | Specification 
  7632.  
  7633. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  7634. Look here for legal stuff:  Legal 
  7635.  
  7636.  
  7637. ΓòÉΓòÉΓòÉ 3.52. glGetTexEnv ΓòÉΓòÉΓòÉ
  7638.  
  7639.  OpenGL man pages 
  7640.  
  7641. glGetTexEnv 
  7642.  
  7643.  
  7644.  
  7645.  
  7646.  
  7647.  
  7648. Name 
  7649.  
  7650.   glGetTexEnvfv, glGetTexEnviv - return texture environment parameters
  7651.  
  7652.  
  7653.  
  7654.  
  7655. C Specification 
  7656.  
  7657.   void glGetTexEnvfv( GLenum target,
  7658.                       GLenum pname,
  7659.                       GLfloat *params )
  7660.   void glGetTexEnviv( GLenum target,
  7661.                       GLenum pname,
  7662.                       GLint *params )
  7663.  
  7664.  
  7665.  
  7666.  
  7667. Parameters 
  7668.  
  7669.  
  7670.   target  Specifies a texture environment.  Must be GL_TEXTURE_ENV.
  7671.  
  7672.   pname   Specifies the symbolic name of a texture environment parameter.
  7673.           Accepted values are GL_TEXTURE_ENV_MODE and GL_TEXTURE_ENV_COLOR.
  7674.  
  7675.   params  Returns the requested data.
  7676.  
  7677.  
  7678.  
  7679.  
  7680. Description 
  7681.  
  7682.   glGetTexEnv returns in params selected values of a texture environment that
  7683.   was specified with glTexEnv.  target specifies a texture environment.
  7684.   Currently, only one texture environment is defined and supported:
  7685.   GL_TEXTURE_ENV.
  7686.  
  7687.   pname names a specific texture environment parameter.  The two parameters
  7688.   are as follows:
  7689.  
  7690.   GL_TEXTURE_ENV_MODE
  7691.             params returns the single-valued texture environment mode, a
  7692.             symbolic constant.
  7693.  
  7694.   GL_TEXTURE_ENV_COLOR
  7695.             params returns four integer or floating-point values that are the
  7696.             texture environment color.  Integer values, when requested, are
  7697.             linearly mapped from the internal floating-point representation
  7698.             such that 1.0 maps to the most positive representable integer,
  7699.             and -1.0 maps to the most negative representable integer.
  7700.  
  7701.  
  7702.  
  7703. Notes 
  7704.  
  7705.   If an error is generated, no change is made to the contents of params.
  7706.  
  7707.  
  7708.  
  7709. Errors 
  7710.  
  7711.   GL_INVALID_ENUM is generated if target or pname is not an accepted value.
  7712.  
  7713.   GL_INVALID_OPERATION is generated if glGetTexEnv is called between a call
  7714.   to glBegin and the corresponding call to glEnd.
  7715.  
  7716.  
  7717.  
  7718.  
  7719. See Also 
  7720.  
  7721.   glTexEnv
  7722.  
  7723.  
  7724.  
  7725. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  7726.  
  7727.  Introduction | Alphabetic | Specification 
  7728.  
  7729. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  7730. Look here for legal stuff:  Legal 
  7731.  
  7732.  
  7733. ΓòÉΓòÉΓòÉ 3.53. glGetTexGen ΓòÉΓòÉΓòÉ
  7734.  
  7735.  OpenGL man pages 
  7736.  
  7737. glGetTexGen 
  7738.  
  7739.  
  7740.  
  7741.  
  7742.  
  7743.  
  7744. Name 
  7745.  
  7746.   glGetTexGendv, glGetTexGenfv, glGetTexGeniv - return texture coordinate
  7747.   generation parameters
  7748.  
  7749.  
  7750.  
  7751.  
  7752. C Specification 
  7753.  
  7754.   void glGetTexGendv( GLenum coord,
  7755.                       GLenum pname,
  7756.                       GLdouble *params )
  7757.   void glGetTexGenfv( GLenum coord,
  7758.                       GLenum pname,
  7759.                       GLfloat *params )
  7760.   void glGetTexGeniv( GLenum coord,
  7761.                       GLenum pname,
  7762.                       GLint *params )
  7763.  
  7764.  
  7765.  
  7766.  
  7767. Parameters 
  7768.  
  7769.  
  7770.   coord   Specifies a texture coordinate.  Must be GL_S, GL_T, GL_R, or GL_Q.
  7771.  
  7772.   pname   Specifies the symbolic name of the value(s) to be returned.  Must
  7773.           be either GL_TEXTURE_GEN_MODE or the name of one of the texture
  7774.           generation plane equations: GL_OBJECT_PLANE or GL_EYE_PLANE.
  7775.  
  7776.   params  Returns the requested data.
  7777.  
  7778.  
  7779.  
  7780.  
  7781. Description 
  7782.  
  7783.   glGetTexGen returns in params selected parameters of a texture coordinate
  7784.   generation function that was specified using glTexGen.  coord names one of
  7785.   the (s,t,r,q) texture coordinates, using the symbolic constant GL_S, GL_T,
  7786.   GL_R, or GL_Q.
  7787.  
  7788.   pname specifies one of three symbolic names:
  7789.  
  7790.   GL_TEXTURE_GEN_MODE           params returns the single-valued texture
  7791.                                 generation function, a symbolic constant.
  7792.  
  7793.   GL_OBJECT_PLANE               params returns the four plane equation
  7794.                                 coefficients that specify object linear-
  7795.                                 coordinate generation.  Integer values, when
  7796.                                 requested, are mapped directly from the
  7797.                                 internal floating-point representation.
  7798.  
  7799.   GL_EYE_PLANE                  params returns the four plane equation
  7800.                                 coefficients that specify eye linear-
  7801.                                 coordinate generation.  Integer values, when
  7802.                                 requested, are mapped directly from the
  7803.                                 internal floating-point representation.  The
  7804.                                 returned values are those maintained in eye
  7805.                                 coordinates.  They are not equal to the
  7806.                                 values specified using glTexGen, unless the
  7807.                                 modelview matrix was identity at the time
  7808.                                 glTexGen was called.
  7809.  
  7810.  
  7811.  
  7812.  
  7813.  
  7814. Notes 
  7815.  
  7816.   If an error is generated, no change is made to the contents of params.
  7817.  
  7818.  
  7819.  
  7820. Errors 
  7821.  
  7822.   GL_INVALID_ENUM is generated if coord or pname is not an accepted value.
  7823.  
  7824.   GL_INVALID_OPERATION is generated if glGetTexGen is called between a call
  7825.   to glBegin and the corresponding call to glEnd.
  7826.  
  7827.  
  7828.  
  7829. See Also 
  7830.  
  7831.   glTexGen
  7832.  
  7833.  
  7834.  
  7835. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  7836.  
  7837.  Introduction | Alphabetic | Specification 
  7838.  
  7839. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  7840. Look here for legal stuff:  Legal 
  7841.  
  7842.  
  7843. ΓòÉΓòÉΓòÉ 3.54. glGetTexImage ΓòÉΓòÉΓòÉ
  7844.  
  7845.  OpenGL man pages 
  7846.  
  7847. glGetTexImage 
  7848.  
  7849.  
  7850.  
  7851.  
  7852.  
  7853.  
  7854. Name 
  7855.  
  7856.   glGetTexImage - return a texture image
  7857.  
  7858.  
  7859.  
  7860.  
  7861. C Specification 
  7862.  
  7863.   void glGetTexImage( GLenum target,
  7864.                       GLint level,
  7865.                       GLenum format,
  7866.                       GLenum type,
  7867.                       GLvoid *pixels )
  7868.  
  7869.  
  7870.  
  7871.  
  7872. Parameters 
  7873.  
  7874.  
  7875.   target  Specifies which texture is to be obtained.  GL_TEXTURE_1D and
  7876.           GL_TEXTURE_2D are accepted.
  7877.  
  7878.   level   Specifies the level-of-detail number of the desired image.  Level 0
  7879.           is the base image level.  Level n is the nth mipmap reduction
  7880.           image.
  7881.  
  7882.   format  Specifies a pixel format for the returned data.  The supported
  7883.           formats are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_RGBA,
  7884.           GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
  7885.  
  7886.   type    Specifies a pixel type for the returned data.  The supported types
  7887.           are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT,
  7888.           GL_UNSIGNED_INT, GL_INT, and GL_FLOAT.
  7889.  
  7890.   pixels  Returns the texture image.  Should be a pointer to an array of the
  7891.           type specified by type.
  7892.  
  7893.  
  7894.  
  7895.  
  7896. Description 
  7897.  
  7898.   glGetTexImage returns a texture image into pixels.  target specifies
  7899.   whether the desired texture image is one specified by glTexImage1D
  7900.   (GL_TEXTURE_1D) or by glTexImage2D (GL_TEXTURE_2D).  level specifies the
  7901.   level-of-detail number of the desired image.  format and type specify the
  7902.   format and type of the desired image array.  Please see the reference pages
  7903.   glTexImage1D and glDrawPixels for a description of the acceptable values
  7904.   for the format and type parameters, respectively.
  7905.  
  7906.   Operation of glGetTexImage is best understood by considering the selected
  7907.   internal four-component texture image to be an RGBA color buffer the size
  7908.   of the image.  The semantics of glGetTexImage are then identical to those
  7909.   of glReadPixels called with the same format and type, with x and y set to
  7910.   zero, width set to the width of the texture image (including border if one
  7911.   was specified), and height set to one for 1-D images, or to the height of
  7912.   the texture image (including border if one was specified) for 2-D images.
  7913.   Because the internal texture image is an RGBA image, pixel formats
  7914.   GL_COLOR_INDEX, GL_STENCIL_INDEX, and GL_DEPTH_COMPONENT are not accepted,
  7915.   and pixel type GL_BITMAP is not accepted.
  7916.  
  7917.   If the selected texture image does not contain four components, the
  7918.   following mappings are applied.  Single-component textures are treated as
  7919.   RGBA buffers with red set to the single-component value, and green, blue,
  7920.   and alpha set to zero.  Two-component textures are treated as RGBA buffers
  7921.   with red set to the value of component zero, alpha set to the value of
  7922.   component one, and green and blue set to zero.  Finally, three-component
  7923.   textures are treated as RGBA buffers with red set to component zero, green
  7924.   set to component one, blue set to component two, and alpha set to zero.
  7925.  
  7926.   To determine the required size of pixels, use glGetTexLevelParameter to
  7927.   ascertain the dimensions of the internal texture image, then scale the
  7928.   required number of pixels by the storage required for each pixel, based on
  7929.   format and type.  Be sure to take the pixel storage parameters into
  7930.   account, especially GL_PACK_ALIGNMENT.
  7931.  
  7932.  
  7933.  
  7934. Notes 
  7935.  
  7936.   If an error is generated, no change is made to the contents of pixels.
  7937.  
  7938.  
  7939.  
  7940. Errors 
  7941.  
  7942.   GL_INVALID_ENUM is generated if target, format, or type is not an accepted
  7943.   value.
  7944.  
  7945.   GL_INVALID_VALUE is generated if level is less than zero or greater than
  7946.   log max, where max is the returned value of GL_MAX_TEXTURE_SIZE.
  7947.      2
  7948.   GL_INVALID_OPERATION is generated if glGetTexImage is executed between the
  7949.   execution of glBegin and the corresponding execution of glEnd.
  7950.  
  7951.  
  7952.  
  7953. Associated Gets 
  7954.  
  7955.   glGetTexLevelParameter with argument GL_TEXTURE_WIDTH
  7956.   glGetTexLevelParameter with argument GL_TEXTURE_HEIGHT
  7957.   glGetTexLevelParameter with argument GL_TEXTURE_BORDER
  7958.   glGetTexLevelParameter with argument GL_TEXTURE_COMPONENTS
  7959.   glGet with arguments GL_PACK_ALIGNMENT and others
  7960.  
  7961.  
  7962.  
  7963. See Also 
  7964.  
  7965.   glDrawPixels, glReadPixels, glTexImage1D, glTexImage2D
  7966.  
  7967.  
  7968.  
  7969. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  7970.  
  7971.  Introduction | Alphabetic | Specification 
  7972.  
  7973. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  7974. Look here for legal stuff:  Legal 
  7975.  
  7976.  
  7977. ΓòÉΓòÉΓòÉ 3.55. glGetTexLevelParameter ΓòÉΓòÉΓòÉ
  7978.  
  7979.  OpenGL man pages 
  7980.  
  7981. glGetTexLevelParameter 
  7982.  
  7983.  
  7984.  
  7985.  
  7986.  
  7987.  
  7988. Name 
  7989.  
  7990.   glGetTexLevelParameterfv, glGetTexLevelParameteriv - return texture
  7991.   parameter values for a specific level of detail
  7992.  
  7993.  
  7994.  
  7995.  
  7996. C Specification 
  7997.  
  7998.   void glGetTexLevelParameterfv( GLenum target,
  7999.                                  GLint level,
  8000.                                  GLenum pname,
  8001.                                  GLfloat *params )
  8002.   void glGetTexLevelParameteriv( GLenum target,
  8003.                                  GLint level,
  8004.                                  GLenum pname,
  8005.                                  GLint *params )
  8006.  
  8007.  
  8008.  
  8009.  
  8010. Parameters 
  8011.  
  8012.  
  8013.   target  Specifies the symbolic name of the target texture, either
  8014.           GL_TEXTURE_1D or GL_TEXTURE_2D.
  8015.  
  8016.   level   Specifies the level-of-detail number of the desired image.  Level 0
  8017.           is the base image level.  Level n is the nth mipmap reduction
  8018.           image.
  8019.  
  8020.   pname   Specifies the symbolic name of a texture parameter.
  8021.           GL_TEXTURE_WIDTH, GL_TEXTURE_HEIGHT, GL_TEXTURE_COMPONENTS, and
  8022.           GL_TEXTURE_BORDER are accepted.
  8023.  
  8024.   params  Returns the requested data.
  8025.  
  8026.  
  8027.  
  8028.  
  8029. Description 
  8030.  
  8031.   glGetTexLevelParameter returns in params texture parameter values for a
  8032.   specific level-of-detail value, specified as level.  target defines the
  8033.   target texture, either GL_TEXTURE_1D or GL_TEXTURE_2D, to specify one- or
  8034.   two-dimensional texturing.  pname specifies the texture parameter whose
  8035.   value or values will be returned.
  8036.  
  8037.   The accepted parameter names are as follows:
  8038.  
  8039.   GL_TEXTURE_WIDTH
  8040.             params returns a single value, the width of the texture image.
  8041.             This value includes the border of the texture image.
  8042.  
  8043.   GL_TEXTURE_HEIGHT
  8044.             params returns a single value, the height of the texture image.
  8045.             This value includes the border of the texture image.
  8046.  
  8047.   GL_TEXTURE_COMPONENTS
  8048.             params returns a single value, the number of components in the
  8049.             texture image.
  8050.  
  8051.   GL_TEXTURE_BORDER
  8052.             params returns a single value, the width in pixels of the border
  8053.             of the texture image.
  8054.  
  8055.  
  8056.  
  8057.  
  8058.  
  8059. Notes 
  8060.  
  8061.   If an error is generated, no change is made to the contents of params.
  8062.  
  8063.  
  8064.  
  8065. Errors 
  8066.  
  8067.   GL_INVALID_ENUM is generated if target or pname is not an accepted value.
  8068.  
  8069.   GL_INVALID_VALUE is generated if level is less than zero or greater than
  8070.   log max, where max is the returned value of GL_MAX_TEXTURE_SIZE.
  8071.      2
  8072.   GL_INVALID_OPERATION is generated if glGetTexLevelParameter is called
  8073.   between a call to glBegin and the corresponding call to glEnd.
  8074.  
  8075.  
  8076.  
  8077. See Also 
  8078.  
  8079.   glGetTexParameter, glTexImage1D, glTexImage2D, glTexParameter
  8080.  
  8081.  
  8082.  
  8083. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  8084.  
  8085.  Introduction | Alphabetic | Specification 
  8086.  
  8087. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  8088. Look here for legal stuff:  Legal 
  8089.  
  8090.  
  8091. ΓòÉΓòÉΓòÉ 3.56. glGetTexParameter ΓòÉΓòÉΓòÉ
  8092.  
  8093.  OpenGL man pages 
  8094.  
  8095. glGetTexParameter 
  8096.  
  8097.  
  8098.  
  8099.  
  8100.  
  8101.  
  8102. Name 
  8103.  
  8104.   glGetTexParameterfv, glGetTexParameteriv - return texture parameter values
  8105.  
  8106.  
  8107.  
  8108.  
  8109. C Specification 
  8110.  
  8111.   void glGetTexParameterfv( GLenum target,
  8112.                             GLenum pname,
  8113.                             GLfloat *params )
  8114.   void glGetTexParameteriv( GLenum target,
  8115.                             GLenum pname,
  8116.                             GLint *params )
  8117.  
  8118.  
  8119.  
  8120.  
  8121. Parameters 
  8122.  
  8123.  
  8124.   target  Specifies the symbolic name of the target texture.  GL_TEXTURE_1D
  8125.           and GL_TEXTURE_2D are accepted.
  8126.  
  8127.   pname   Specifies the symbolic name of a texture parameter.
  8128.           GL_TEXTURE_MAG_FILTER, GL_TEXTURE_MIN_FILTER, GL_TEXTURE_WRAP_S,
  8129.           GL_TEXTURE_WRAP_T, and GL_TEXTURE_BORDER_COLOR are accepted.
  8130.  
  8131.   params  Returns the texture parameters.
  8132.  
  8133.  
  8134.  
  8135.  
  8136. Description 
  8137.  
  8138.   glGetTexParameter returns in params the value or values of the texture
  8139.   parameter specified as pname.  target defines the target texture, either
  8140.   GL_TEXTURE_1D or GL_TEXTURE_2D, to specify one- or two-dimensional
  8141.   texturing.  pname accepts the same symbols as glTexParameter, with the same
  8142.   interpretations:
  8143.  
  8144.   GL_TEXTURE_MAG_FILTER              Returns the single-valued texture
  8145.                                      magnification filter, a symbolic
  8146.                                      constant.
  8147.  
  8148.   GL_TEXTURE_MIN_FILTER              Returns the single-valued texture
  8149.                                      minification filter, a symbolic
  8150.                                      constant.
  8151.  
  8152.   GL_TEXTURE_WRAP_S                  Returns the single-valued wrapping
  8153.                                      function for texture coordinate s, a
  8154.                                      symbolic constant.
  8155.  
  8156.   GL_TEXTURE_WRAP_T                  Returns the single-valued wrapping
  8157.                                      function for texture coordinate t, a
  8158.                                      symbolic constant.
  8159.  
  8160.   GL_TEXTURE_BORDER_COLOR            Returns four integer or floating-point
  8161.                                      numbers that comprise the RGBA color of
  8162.                                      the texture border.  Floating-point
  8163.                                      values are returned in the range [0,1].
  8164.                                      Integer values are returned as a linear
  8165.                                      mapping of the internal floating-point
  8166.                                      representation such that 1.0 maps to the
  8167.                                      most positive representable integer and
  8168.                                      -1.0 maps to the most negative
  8169.                                      representable integer.
  8170.  
  8171.  
  8172.  
  8173. Notes 
  8174.  
  8175.   If an error is generated, no change is made to the contents of params.
  8176.  
  8177.  
  8178.  
  8179. Errors 
  8180.  
  8181.   GL_INVALID_ENUM is generated if target or pname is not an accepted value.
  8182.  
  8183.   GL_INVALID_OPERATION is generated if glGetTexParameter is called between a
  8184.   call to glBegin and the corresponding call to glEnd.
  8185.  
  8186.  
  8187.  
  8188. See Also 
  8189.  
  8190.   glTexParameter
  8191.  
  8192.  
  8193.  
  8194. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  8195.  
  8196.  Introduction | Alphabetic | Specification 
  8197.  
  8198. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  8199. Look here for legal stuff:  Legal 
  8200.  
  8201.  
  8202. ΓòÉΓòÉΓòÉ 3.57. glHint ΓòÉΓòÉΓòÉ
  8203.  
  8204.  OpenGL man pages 
  8205.  
  8206. glHint 
  8207.  
  8208.  
  8209.  
  8210.  
  8211.  
  8212.  
  8213. Name 
  8214.  
  8215.   glHint - specify implementation-specific hints
  8216.  
  8217.  
  8218.  
  8219.  
  8220. C Specification 
  8221.  
  8222.   void glHint( GLenum target,
  8223.                GLenum mode )
  8224.  
  8225.  
  8226.  
  8227.  
  8228. Parameters 
  8229.  
  8230.  
  8231.   target  Specifies a symbolic constant indicating the behavior to be
  8232.           controlled.  GL_FOG_HINT,  GL_LINE_SMOOTH_HINT,
  8233.           GL_PERSPECTIVE_CORRECTION_HINT, GL_POINT_SMOOTH_HINT, and
  8234.           GL_POLYGON_SMOOTH_HINT are accepted.
  8235.  
  8236.   mode    Specifies a symbolic constant indicating the desired behavior.
  8237.           GL_FASTEST, GL_NICEST, and GL_DONT_CARE are accepted.
  8238.  
  8239.  
  8240.  
  8241. Description 
  8242.  
  8243.   Certain aspects of GL behavior, when there is room for interpretation, can
  8244.   be  controlled with hints.  A hint is specified with two arguments.  target
  8245.   is a symbolic constant indicating the behavior to be controlled, and mode
  8246.   is another symbolic constant indicating the desired behavior.  mode can be
  8247.   one of the following:
  8248.  
  8249.   GL_FASTEST          The most efficient option should be chosen.
  8250.  
  8251.   GL_NICEST           The most correct, or highest quality, option should be
  8252.                       chosen.
  8253.  
  8254.   GL_DONT_CARE        The client doesn't have a preference.
  8255.  
  8256.   Though the implementation aspects that can be hinted are well defined, the
  8257.   interpretation of the hints depends on the implementation.  The hint
  8258.   aspects that can be specified with target, along with suggested semantics,
  8259.   are as follows:
  8260.  
  8261.   GL_FOG_HINT         Indicates the accuracy of fog calculation.  If per-
  8262.                       pixel fog calculation is not efficiently supported by
  8263.                       the GL implementation, hinting GL_DONT_CARE or
  8264.                       GL_FASTEST can result in per-vertex calculation of fog
  8265.                       effects.
  8266.  
  8267.   GL_LINE_SMOOTH_HINT Indicates the sampling quality of antialiased lines.
  8268.                       Hinting GL_NICEST can result in more pixel fragments
  8269.                       being generated during rasterization, if a larger
  8270.                       filter function is applied.
  8271.  
  8272.   GL_PERSPECTIVE_CORRECTION_HINT
  8273.                       Indicates the quality of color and texture coordinate
  8274.                       interpolation.  If perspective-corrected parameter
  8275.                       interpolation is not efficiently supported by the GL
  8276.                       implementation, hinting GL_DONT_CARE or GL_FASTEST can
  8277.                       result in simple linear interpolation of colors and/or
  8278.                       texture coordinates.
  8279.  
  8280.   GL_POINT_SMOOTH_HINT
  8281.                       Indicates the sampling quality of antialiased points.
  8282.                       Hinting GL_NICEST can result in more pixel fragments
  8283.                       being generated during rasterization, if a larger
  8284.                       filter function is applied.
  8285.  
  8286.   GL_POLYGON_SMOOTH_HINT
  8287.                       Indicates the sampling quality of antialiased polygons.
  8288.                       Hinting GL_NICEST can result in more pixel fragments
  8289.                       being generated during rasterization, if a larger
  8290.                       filter function is applied.
  8291.  
  8292.  
  8293.  
  8294. Notes 
  8295.  
  8296.   The interpretation of hints depends on the implementation.  glHint can be
  8297.   ignored.
  8298.  
  8299.  
  8300.  
  8301. Errors 
  8302.  
  8303.   GL_INVALID_ENUM is generated if either target or mode is not an accepted
  8304.   value.
  8305.  
  8306.   GL_INVALID_OPERATION is generated if glHint is executed between the
  8307.   execution of glBegin and the corresponding execution of glEnd.
  8308.  
  8309.  
  8310.  
  8311. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  8312.  
  8313.  Introduction | Alphabetic | Specification 
  8314.  
  8315. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  8316. Look here for legal stuff:  Legal 
  8317.  
  8318.  
  8319. ΓòÉΓòÉΓòÉ 3.58. glIndex ΓòÉΓòÉΓòÉ
  8320.  
  8321.  OpenGL man pages 
  8322.  
  8323. glIndex 
  8324.  
  8325.  
  8326.  
  8327.  
  8328.  
  8329.  
  8330. Name 
  8331.  
  8332.   glIndexd, glIndexf, glIndexi, glIndexs, glIndexdv,
  8333. glIndexfv,      glIndexiv,
  8334.   glIndexsv - set the current color index
  8335.  
  8336.  
  8337.  
  8338.  
  8339.  
  8340. C Specification 
  8341.  
  8342.   void glIndexd( GLdouble c )
  8343.   void glIndexf( GLfloat c )
  8344.   void glIndexi( GLint c )
  8345.   void glIndexs( GLshort c )
  8346.  
  8347.  
  8348.  
  8349.  
  8350. Parameters 
  8351.  
  8352.  
  8353.   c  Specifies the new value for the current color index.
  8354.  
  8355.  
  8356.  
  8357.  
  8358. C Specification 
  8359.  
  8360.   void glIndexdv( const GLdouble *c )
  8361.   void glIndexfv( const GLfloat *c )
  8362.   void glIndexiv( const GLint *c )
  8363.   void glIndexsv( const GLshort *c )
  8364.  
  8365.  
  8366.  
  8367.  
  8368. Parameters 
  8369.  
  8370.  
  8371.   c    Specifies a pointer to a one-element array that contains the new value
  8372.        for the current color index.
  8373.  
  8374.  
  8375.  
  8376.  
  8377. Description 
  8378.  
  8379.   glIndex updates the current (single-valued) color index.  It takes one
  8380.   argument: the new value for the current color index.
  8381.  
  8382.   The current index is stored as a floating-point value.  Integer values are
  8383.   converted directly to floating-point values, with no special mapping.
  8384.  
  8385.   Index values outside the representable range of the color index buffer are
  8386.   not clamped.  However, before an index is dithered (if enabled) and written
  8387.   to the frame buffer, it is converted to fixed-point format.  Any bits in
  8388.   the integer portion of the resulting fixed-point value that do not
  8389.   correspond to bits in the frame buffer are masked out.
  8390.  
  8391.  
  8392.  
  8393. Notes 
  8394.  
  8395.   The current index can be updated at any time.  In particular, glIndex can
  8396.   be called between a call to glBegin and the corresponding call to glEnd.
  8397.  
  8398.  
  8399.  
  8400. Associated Gets 
  8401.  
  8402.   glGet with argument GL_CURRENT_INDEX
  8403.  
  8404.  
  8405.  
  8406.  
  8407.  
  8408. See Also 
  8409.  
  8410.   glColor
  8411.  
  8412.  
  8413.  
  8414. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  8415.  
  8416.  Introduction | Alphabetic | Specification 
  8417.  
  8418. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  8419. Look here for legal stuff:  Legal 
  8420.  
  8421.  
  8422. ΓòÉΓòÉΓòÉ 3.59. glIndexMask ΓòÉΓòÉΓòÉ
  8423.  
  8424.  OpenGL man pages 
  8425.  
  8426. glIndexMask 
  8427.  
  8428.  
  8429.  
  8430.  
  8431.  
  8432.  
  8433. Name 
  8434.  
  8435.   glIndexMask - control the writing of individual bits in the color index
  8436.   buffers
  8437.  
  8438.  
  8439.  
  8440.  
  8441. C Specification 
  8442.  
  8443.   void glIndexMask( GLuint mask )
  8444.  
  8445.  
  8446.  
  8447.  
  8448. Parameters 
  8449.  
  8450.  
  8451.   mask  Specifies a bit mask to enable and disable the writing of individual
  8452.         bits in the color index buffers.  Initially, the mask is all ones.
  8453.  
  8454.  
  8455.  
  8456.  
  8457. Description 
  8458.  
  8459.   glIndexMask controls the writing of individual bits in the color index
  8460.   buffers.  The least significant n bits of mask, where n is the number of
  8461.   bits in a color index buffer, specify a mask.  Wherever a one appears in
  8462.   the mask, the corresponding bit in the color index buffer (or buffers) is
  8463.   made writable.  Where a zero appears, the bit is write-protected.
  8464.  
  8465.   This mask is used only in color index mode, and it affects only the buffers
  8466.   currently selected for writing (see glDrawBuffer).  Initially, all bits are
  8467.   enabled for writing.
  8468.  
  8469.  
  8470.  
  8471. Errors 
  8472.  
  8473.   GL_INVALID_OPERATION is generated if glIndexMask is executed between the
  8474.   execution of glBegin and the corresponding execution of glEnd.
  8475.  
  8476.  
  8477.  
  8478. Associated Gets 
  8479.  
  8480.   glGet with argument GL_INDEX_WRITEMASK
  8481.  
  8482.  
  8483.  
  8484. See Also 
  8485.  
  8486.   glColorMask, glDepthMask, glDrawBuffer, glIndex, glStencilMask
  8487.  
  8488.  
  8489.  
  8490. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  8491.  
  8492.  Introduction | Alphabetic | Specification 
  8493.  
  8494. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  8495. Look here for legal stuff:  Legal 
  8496.  
  8497.  
  8498. ΓòÉΓòÉΓòÉ 3.60. glIndexPointerEXT ΓòÉΓòÉΓòÉ
  8499.  
  8500.  OpenGL man pages 
  8501.  
  8502. glIndexPointerEXT 
  8503.  
  8504.  
  8505.  
  8506.  
  8507.  
  8508.  
  8509. Name 
  8510.  
  8511.   glIndexPointerEXT - define an array of color indexes
  8512.  
  8513.  
  8514.  
  8515.  
  8516. C Specification 
  8517.  
  8518.   void glIndexPointerEXT( GLenum type,
  8519.                           GLsizei stride,
  8520.                           GLsizei count,
  8521.                           const GLvoid *pointer )
  8522.  
  8523.  
  8524.  
  8525.  
  8526. Parameters 
  8527.  
  8528.  
  8529.   type     Specifies the data type of each color index in the array.
  8530.            Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE_EXT,
  8531.            are accepted.
  8532.  
  8533.   stride   Specifies the byte offset between consecutive color indexes.  If
  8534.            stride is zero the color indexes are understood to be tightly
  8535.            packed in the array.
  8536.  
  8537.   count    Specifies the number of indexes, counting from the first, that are
  8538.            static.
  8539.  
  8540.   pointer  Specifies a pointer to the first index in the array.
  8541.  
  8542.  
  8543.  
  8544. Description 
  8545.  
  8546.   glIndexPointerEXT specifies the location and data format of an array of
  8547.   color indexes to use when rendering using the vertex array extension. type
  8548.   specifies the data type of each color index and stride gives the byte
  8549.   stride from one color index to the next allowing vertexes and attributes to
  8550.   be packed into a single array or stored in separate arrays. (Single-array
  8551.   storage may be more efficient on some implementations.) count indicates
  8552.   the number of array elements (counting from the first) that are static.
  8553.   Static elements may be modified by the application, but once they are
  8554.   modified, the application must explicitly respecify the array before using
  8555.   it for any rendering. When a color index array is specified, type, stride,
  8556.   count and pointer are saved as client-side state, and static array elements
  8557.   may be cached by the implementation.
  8558.  
  8559.   The color index array is enabled and disabled using glEnable and glDisable
  8560.   with the argument GL_INDEX_ARRAY_EXT. If enabled, the color index array is
  8561.   used when glDrawArraysEXT or glArrayElementEXT is called.
  8562.  
  8563.   Use glDrawArraysEXT to define a sequence of primitives (all of the same
  8564.   type) from pre-specified vertex and vertex attribute arrays.  Use
  8565.   glArrayElementEXT to specify primitives by indexing vertexes and vertex
  8566.   attributes.
  8567.  
  8568.  
  8569.  
  8570. Notes 
  8571.  
  8572.   Non-static array elements are not accessed until glArrayElementEXT or
  8573.   glDrawArraysEXT is executed.
  8574.  
  8575.   By default the color index array is disabled and it won't be accessed when
  8576.   glArrayElementEXT or glDrawArraysEXT is called.
  8577.  
  8578.  
  8579.   Although it is not an error to call glIndexPointerEXT between the
  8580.   execution of glBegin and the corresponding execution of glEnd, the results
  8581.   are undefined.
  8582.  
  8583.  
  8584.   glIndexPointerEXT will typically be implemented on the client side with no
  8585.   protocol.
  8586.  
  8587.  
  8588.   Since the color index array parameters are client side state, they are not
  8589.   saved or restored by glPushAttrib and glPopAttrib.
  8590.  
  8591.  
  8592.   glIndexPointerEXT commands are not entered into display lists.
  8593.  
  8594.  
  8595.   glIndexPointerEXT is part of the EXT_vertex_array extension, not
  8596.   part of the core GL command set. If "GL_EXT_vertex_array" is
  8597.   included in the string returned by glGetString, when called with argument
  8598.   GL_EXTENSIONS, extension EXT_vertex_array is supported.
  8599.  
  8600.  
  8601.  
  8602.  
  8603. Errors 
  8604.  
  8605.   GL_INVALID_ENUM is generated if type is not an accepted value.
  8606.  
  8607.   GL_INVALID_VALUE is generated if stride or count is negative.
  8608.  
  8609.  
  8610.  
  8611.  
  8612. Associated Gets 
  8613.  
  8614.   glIsEnabled with argument GL_INDEX_ARRAY_EXT
  8615.   glGet with argument GL_INDEX_ARRAY_SIZE_EXT
  8616.   glGet with argument GL_INDEX_ARRAY_TYPE_EXT
  8617.   glGet with argument GL_INDEX_ARRAY_STRIDE_EXT
  8618.   glGet with argument GL_INDEX_ARRAY_COUNT_EXT
  8619.   glGetPointervEXT with argument GL_INDEX_ARRAY_POINTER_EXT
  8620.  
  8621.  
  8622.  
  8623. See Also 
  8624.  
  8625.   glArrayElementEXT, glColorPointerEXT, glDrawArraysEXT,
  8626.   glEdgeFlagPointerEXT, glGetPointervEXT, glNormalPointerEXT,
  8627.   glTexCoordPointerEXT, glVertexPointerEXT, glEnable
  8628.  
  8629.  
  8630. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  8631.  
  8632.  Introduction | Alphabetic | Specification 
  8633.  
  8634. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  8635. Look here for legal stuff:  Legal 
  8636.  
  8637.  
  8638. ΓòÉΓòÉΓòÉ 3.61. glInitNames ΓòÉΓòÉΓòÉ
  8639.  
  8640.  OpenGL man pages 
  8641.  
  8642. glInitNames 
  8643.  
  8644.  
  8645.  
  8646.  
  8647.  
  8648.  
  8649. Name 
  8650.  
  8651.   glInitNames - initialize the name stack
  8652.  
  8653.  
  8654.  
  8655.  
  8656. C Specification 
  8657.  
  8658.   void glInitNames( void )
  8659.  
  8660.  
  8661.  
  8662.  
  8663. Description 
  8664.  
  8665.   The name stack is used during selection mode to allow sets of rendering
  8666.   commands to be uniquely identified.  It consists of an ordered set of
  8667.   unsigned integers.  glInitNames causes the name stack to be initialized to
  8668.   its default empty state.
  8669.  
  8670.   The name stack is always empty while the render mode is not GL_SELECT.
  8671.   Calls to glInitNames while the render mode is not GL_SELECT are ignored.
  8672.  
  8673.  
  8674.  
  8675. Errors 
  8676.  
  8677.   GL_INVALID_OPERATION is generated if glInitNames is executed between the
  8678.   execution of glBegin and the corresponding execution of glEnd.
  8679.  
  8680.  
  8681.  
  8682. Associated Gets 
  8683.  
  8684.   glGet with argument GL_NAME_STACK_DEPTH
  8685.   glGet with argument GL_MAX_NAME_STACK_DEPTH
  8686.  
  8687.  
  8688.  
  8689. See Also 
  8690.  
  8691.   glLoadName, glPushName, glRenderMode, glSelectBuffer
  8692.  
  8693.  
  8694.  
  8695. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  8696.  
  8697.  Introduction | Alphabetic | Specification 
  8698.  
  8699. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  8700. Look here for legal stuff:  Legal 
  8701.  
  8702.  
  8703. ΓòÉΓòÉΓòÉ 3.62. glIsEnabled ΓòÉΓòÉΓòÉ
  8704.  
  8705.  OpenGL man pages 
  8706.  
  8707. glIsEnabled 
  8708.  
  8709.  
  8710.  
  8711.  
  8712.  
  8713.  
  8714. Name 
  8715.  
  8716.   glIsEnabled - test whether a capability is enabled
  8717.  
  8718.  
  8719.  
  8720.  
  8721. C Specification 
  8722.  
  8723.   GLboolean glIsEnabled( GLenum cap )
  8724.  
  8725.  
  8726.  
  8727.  
  8728. Parameters 
  8729.  
  8730.  
  8731.   cap  Specifies a symbolic constant indicating a GL capability.
  8732.  
  8733.  
  8734.  
  8735. Description 
  8736.  
  8737.   glIsEnabled returns GL_TRUE if cap is an enabled capability and returns
  8738.   GL_FALSE otherwise.  The following capabilities are accepted for cap:
  8739.  
  8740.   GL_ALPHA_TEST                See glAlphaFunc.
  8741.   GL_AUTO_NORMAL               See glEvalCoord.
  8742.   GL_BLEND                     See glBlendFunc.
  8743.   GL_CLIP_PLANEi               See glClipPlane.
  8744.   GL_COLOR_ARRAY_EXT           See glColorPointerEXT.
  8745.   GL_COLOR_MATERIAL            See glColorMaterial.
  8746.   GL_CULL_FACE                 See glCullFace.
  8747.   GL_DEPTH_TEST                See glDepthFunc and  glDepthRange.
  8748.   GL_DITHER                    See glEnable.
  8749.   GL_EDGE_FLAG_ARRAY_EXT       See glEdgeFlagPointerEXT.
  8750.   GL_FOG                       See glFog.
  8751.   GL_INDEX_ARRAY_EXT           See glIndexPointerEXT.
  8752.   GL_LIGHTi                    See glLightModel and glLight.
  8753.   GL_LIGHTING                  See glMaterial, glLightModel, and glLight.
  8754.   GL_LINE_SMOOTH               See glLineWidth.
  8755.   GL_LINE_STIPPLE              See glLineStipple.
  8756.   GL_LOGIC_OP                  See glLogicOp.
  8757.   GL_MAP1_COLOR_4              See glMap1.
  8758.   GL_MAP1_INDEX                See glMap1.
  8759.   GL_MAP1_NORMAL               See glMap1.
  8760.   GL_MAP1_TEXTURE_COORD_1      See glMap1.
  8761.   GL_MAP1_TEXTURE_COORD_2      See glMap1.
  8762.   GL_MAP1_TEXTURE_COORD_3      See glMap1.
  8763.   GL_MAP1_TEXTURE_COORD_4      See glMap1.
  8764.   GL_MAP1_VERTEX_3             See glMap1.
  8765.   GL_MAP1_VERTEX_4             See glMap1.
  8766.   GL_MAP2_COLOR_4              See glMap2.
  8767.   GL_MAP2_INDEX                See glMap2.
  8768.   GL_MAP2_NORMAL               See glMap2.
  8769.   GL_MAP2_TEXTURE_COORD_1      See glMap2.
  8770.   GL_MAP2_TEXTURE_COORD_2      See glMap2.
  8771.   GL_MAP2_TEXTURE_COORD_3      See glMap2.
  8772.   GL_MAP2_TEXTURE_COORD_4      See glMap2.
  8773.   GL_MAP2_VERTEX_3             See glMap2.
  8774.   GL_MAP2_VERTEX_4             See glMap2.
  8775.   GL_NORMAL_ARRAY_EXT          See glNormalPointerEXT.
  8776.   GL_NORMALIZE                 See glNormal.
  8777.   GL_POINT_SMOOTH              See glPointSize.
  8778.   GL_POLYGON_SMOOTH            See glPolygonMode.
  8779.   GL_POLYGON_STIPPLE           See glPolygonStipple.
  8780.   GL_SCISSOR_TEST              See glScissor.
  8781.   GL_STENCIL_TEST              See glStencilFunc and glStencilOp.
  8782.   GL_TEXTURE_1D                See glTexImage1D.
  8783.   GL_TEXTURE_2D                See glTexImage2D.
  8784.   GL_TEXTURE_COORD_ARRAY_EXT   See glTexCoordPointerEXT.
  8785.   GL_TEXTURE_GEN_Q             See glTexGen.
  8786.   GL_TEXTURE_GEN_R             See glTexGen.
  8787.   GL_TEXTURE_GEN_S             See glTexGen.
  8788.   GL_TEXTURE_GEN_T             See glTexGen.
  8789.   GL_VERTEX_ARRAY_EXT          See glVertexPointerEXT.
  8790.  
  8791.  
  8792.  
  8793. Notes 
  8794.  
  8795.   If an error is generated, glIsEnabled returns zero.
  8796.  
  8797.  
  8798.  
  8799. Errors 
  8800.  
  8801.   GL_INVALID_ENUM is generated if cap is not an accepted value.
  8802.  
  8803.   GL_INVALID_OPERATION is generated if glIsEnabled is executed between the
  8804.   execution of glBegin and the corresponding execution of glEnd.
  8805.  
  8806.  
  8807.  
  8808. See Also 
  8809.  
  8810.   glEnable
  8811.  
  8812.  
  8813.  
  8814. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  8815.  
  8816.  Introduction | Alphabetic | Specification 
  8817.  
  8818. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  8819. Look here for legal stuff:  Legal 
  8820.  
  8821.  
  8822. ΓòÉΓòÉΓòÉ 3.63. glIsList ΓòÉΓòÉΓòÉ
  8823.  
  8824.  OpenGL man pages 
  8825.  
  8826. glIsList 
  8827.  
  8828.  
  8829.  
  8830.  
  8831.  
  8832.  
  8833. Name 
  8834.  
  8835.   glIsList - test for display-list existence
  8836.  
  8837.  
  8838.  
  8839.  
  8840. C Specification 
  8841.  
  8842.   GLboolean glIsList( GLuint list )
  8843.  
  8844.  
  8845.  
  8846.  
  8847. Parameters 
  8848.  
  8849.  
  8850.   list  Specifies a potential display-list name.
  8851.  
  8852.  
  8853.  
  8854.  
  8855. Description 
  8856.  
  8857.   glIsList returns GL_TRUE if list is the name of a display list and returns
  8858.   GL_FALSE otherwise.
  8859.  
  8860.  
  8861.  
  8862. Errors 
  8863.  
  8864.   GL_INVALID_OPERATION is generated if glIsList is executed between the
  8865.   execution of  glBegin and the corresponding execution of glEnd.
  8866.  
  8867.  
  8868.  
  8869. See Also 
  8870.  
  8871.   glCallList, glCallLists, glDeleteLists, glGenLists, glNewList
  8872.  
  8873.  
  8874.  
  8875. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  8876.  
  8877.  Introduction | Alphabetic | Specification 
  8878.  
  8879. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  8880. Look here for legal stuff:  Legal 
  8881.  
  8882.  
  8883. ΓòÉΓòÉΓòÉ 3.64. glLight ΓòÉΓòÉΓòÉ
  8884.  
  8885.  OpenGL man pages 
  8886.  
  8887. glLight 
  8888.  
  8889.  
  8890.  
  8891.  
  8892.  
  8893.  
  8894. Name 
  8895.  
  8896.   glLightf, glLighti, glLightfv, glLightiv - set light source parameters
  8897.  
  8898.  
  8899.  
  8900.  
  8901. C Specification 
  8902.  
  8903.   void glLightf( GLenum light,
  8904.                  GLenum pname,
  8905.                  GLfloat param )
  8906.   void glLighti( GLenum light,
  8907.                  GLenum pname,
  8908.                  GLint param )
  8909.  
  8910.  
  8911.  
  8912.  
  8913. Parameters 
  8914.  
  8915.  
  8916.   light   Specifies a light.  The number of lights is depends on the
  8917.           implementation, but at least eight lights are supported.  They are
  8918.           identified by symbolic names of the form GL_LIGHTi where 0 <= i <
  8919.           GL_MAX_LIGHTS.
  8920.  
  8921.   pname   Specifies a single-valued light source parameter for light.
  8922.           GL_SPOT_EXPONENT, GL_SPOT_CUTOFF, GL_CONSTANT_ATTENUATION,
  8923.           GL_LINEAR_ATTENUATION , and GL_QUADRATIC_ATTENUATION are accepted.
  8924.  
  8925.   param   Specifies the value that parameter pname of light source light will
  8926.           be set to.
  8927.  
  8928.  
  8929.  
  8930. C Specification 
  8931.  
  8932.   void glLightfv( GLenum light,
  8933.                   GLenum pname,
  8934.                   const GLfloat *params )
  8935.   void glLightiv( GLenum light,
  8936.                   GLenum pname,
  8937.                   const GLint *params )
  8938.  
  8939.  
  8940.  
  8941.  
  8942. Parameters 
  8943.  
  8944.  
  8945.   light
  8946.        Specifies a light.  The number of lights depends on the
  8947.        implementation, but at least eight lights are supported.  They are
  8948.        identified by symbolic names of the form GL_LIGHTi where 0 <= i <
  8949.        GL_MAX_LIGHTS.
  8950.  
  8951.   pname
  8952.        Specifies a light source parameter for light.  GL_AMBIENT, GL_DIFFUSE,
  8953.        GL_SPECULAR, GL_POSITION, GL_SPOT_DIRECTION, GL_SPOT_EXPONENT,
  8954.        GL_SPOT_CUTOFF, GL_CONSTANT_ATTENUATION, GL_LINEAR_ATTENUATION, and
  8955.        GL_QUADRATIC_ATTENUATION are accepted.
  8956.  
  8957.   params
  8958.        Specifies a pointer to the value or values that parameter pname of
  8959.        light source light will be set to.
  8960.  
  8961.  
  8962.  
  8963.  
  8964. Description 
  8965.  
  8966.   glLight sets the values of individual light source parameters.  light names
  8967.   the light and is a symbolic name of the form GL_LIGHTi, where 0 <= i <
  8968.   GL_MAX_LIGHTS.  pname specifies one of ten light source parameters, again
  8969.   by symbolic name.  params is either a single value or a pointer to an array
  8970.   that contains the new values.
  8971.  
  8972.   Lighting calculation is enabled and disabled using glEnable and glDisable
  8973.   with argument GL_LIGHTING.  When lighting is enabled, light sources that
  8974.   are enabled contribute to the lighting calculation.  Light source i is
  8975.   enabled and disabled using glEnable and glDisable with argument GL_LIGHTi.
  8976.  
  8977.   The ten light parameters are as follows:
  8978.  
  8979.   GL_AMBIENT          params contains four integer or floating-point values
  8980.                       that specify the ambient RGBA intensity of the light.
  8981.                       Integer values are mapped linearly such that the most
  8982.                       positive representable value maps to 1.0, and the most
  8983.                       negative representable value maps to -1.0.  Floating-
  8984.                       point values are mapped directly.  Neither integer nor
  8985.                       floating-point values are clamped.  The default ambient
  8986.                       light intensity is (0.0, 0.0, 0.0, 1.0).
  8987.  
  8988.   GL_DIFFUSE          params contains four integer or floating-point values
  8989.                       that specify the diffuse RGBA intensity of the light.
  8990.                       Integer values are mapped linearly such that the most
  8991.                       positive representable value maps to 1.0, and the most
  8992.                       negative representable value maps to -1.0.  Floating-
  8993.                       point values are mapped directly.  Neither integer nor
  8994.                       floating-point values are clamped.  The default diffuse
  8995.                       intensity is (0.0, 0.0, 0.0, 1.0) for all lights other
  8996.                       than light zero.  The default diffuse intensity of
  8997.                       light zero is (1.0, 1.0, 1.0, 1.0).
  8998.  
  8999.   GL_SPECULAR         params contains four integer or floating-point values
  9000.                       that specify the specular RGBA intensity of the light.
  9001.                       Integer values are mapped linearly such that the most
  9002.                       positive representable value maps to 1.0, and the most
  9003.                       negative representable value maps to -1.0.  Floating-
  9004.                       point values are mapped directly.  Neither integer nor
  9005.                       floating-point values are clamped.  The default
  9006.                       specular intensity is (0.0, 0.0, 0.0, 1.0) for all
  9007.                       lights other than light zero.  The default specular
  9008.                       intensity of light zero is (1.0, 1.0, 1.0, 1.0).
  9009.  
  9010.   GL_POSITION         params contains four integer or floating-point values
  9011.                       that specify the position of the light in homogeneous
  9012.                       object coordinates.  Both integer and floating-point
  9013.                       values are mapped directly.  Neither integer nor
  9014.                       floating-point values are clamped.
  9015.  
  9016.                       The position is transformed by the modelview matrix
  9017.                       when glLight is called (just as if it were a point),
  9018.                       and it is stored in eye coordinates.  If the w
  9019.                       component of the position is 0.0, the light is treated
  9020.                       as a directional source.  Diffuse and specular lighting
  9021.                       calculations take the light's direction, but not its
  9022.                       actual position, into account, and attenuation is
  9023.                       disabled.  Otherwise, diffuse and specular lighting
  9024.                       calculations are based on the actual location of the
  9025.                       light in eye coordinates, and attenuation is enabled.
  9026.                       The default position is (0,0,1,0); thus, the default
  9027.                       light source is directional, parallel to, and in the
  9028.                       direction of the -z axis.
  9029.  
  9030.   GL_SPOT_DIRECTION   params contains three integer or floating-point values
  9031.                       that specify the direction of the light in homogeneous
  9032.                       object coordinates.  Both integer and floating-point
  9033.                       values are mapped directly.  Neither integer nor
  9034.                       floating-point values are clamped.
  9035.  
  9036.                       The spot direction is transformed by the inverse of the
  9037.                       modelview matrix when glLight is called (just as it it
  9038.                       were a normal), and it is stored in eye coordinates.
  9039.                       It is significant only when GL_SPOT_CUTOFF is not 180,
  9040.                       which it is by default.  The default direction is
  9041.                       (0,0,-1).
  9042.  
  9043.   GL_SPOT_EXPONENT    params is a single integer or floating-point value that
  9044.                       specifies the intensity distribution of the light.
  9045.                       Integer and floating-point values are mapped directly.
  9046.                       Only values in the range [0,128] are accepted.
  9047.  
  9048.                       Effective light intensity is attenuated by the cosine
  9049.                       of the angle between the direction of the light and the
  9050.                       direction from the light to the vertex being lighted,
  9051.                       raised to the power of the spot exponent.  Thus, higher
  9052.                       spot exponents result in a more focused light source,
  9053.                       regardless of the spot cutoff angle (see next
  9054.                       paragraph).  The default spot exponent is 0, resulting
  9055.                       in uniform light distribution.
  9056.  
  9057.   GL_SPOT_CUTOFF      params is a single integer or floating-point value that
  9058.                       specifies the maximum spread angle of a light source.
  9059.                       Integer and floating-point values are mapped directly.
  9060.                       Only values in the range [0,90], and the special value
  9061.                       180, are accepted.  If the angle between the direction
  9062.                       of the light and the direction from the light to the
  9063.                       vertex being lighted is greater than the spot cutoff
  9064.                       angle, the light is completely masked.  Otherwise, its
  9065.                       intensity is controlled by the spot exponent and the
  9066.                       attenuation factors.  The default spot cutoff is 180,
  9067.                       resulting in uniform light distribution.
  9068.  
  9069.   GL_CONSTANT_ATTENUATION
  9070.  
  9071.   GL_LINEAR_ATTENUATION
  9072.  
  9073.   GL_QUADRATIC_ATTENUATION
  9074.                       params is a single integer or floating-point value that
  9075.                       specifies one of the three light attenuation factors.
  9076.                       Integer and floating-point values are mapped directly.
  9077.                       Only nonnegative values are accepted.  If the light is
  9078.                       positional, rather than directional, its intensity is
  9079.                       attenuated by the reciprocal of the sum of: the
  9080.                       constant factor, the linear factor times the distance
  9081.                       between the light and the vertex being lighted, and the
  9082.                        quadratic factor times the square of the same
  9083.                       distance.  The default attenuation factors are (1,0,0),
  9084.                       resulting in no attenuation.
  9085.  
  9086.  
  9087.  
  9088.  
  9089. Notes 
  9090.  
  9091.   It is always the case that GL_LIGHTi = GL_LIGHT0 + i.
  9092.  
  9093.  
  9094.  
  9095. Errors 
  9096.  
  9097.   GL_INVALID_ENUM is generated if either light or pname is not an accepted
  9098.   value.
  9099.  
  9100.  
  9101.   GL_INVALID_VALUE is generated if a spot exponent value is specified outside
  9102.   the range [0,128], or if spot cutoff is specified outside the range [0,90]
  9103.   (except for the special value 180), or if a negative attenuation factor is
  9104.   specified.
  9105.  
  9106.  
  9107.   GL_INVALID_OPERATION is generated if glLight is executed between the
  9108.   execution of  glBegin and the corresponding execution of glEnd.
  9109.  
  9110.  
  9111.  
  9112. Associated Gets 
  9113.  
  9114.   glGetLight
  9115.   glIsEnabled with argument GL_LIGHTING
  9116.  
  9117.  
  9118.  
  9119. See Also 
  9120.  
  9121.   glColorMaterial, glLightModel, glMaterial
  9122.  
  9123. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  9124.  
  9125.  Introduction | Alphabetic | Specification 
  9126.  
  9127. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  9128. Look here for legal stuff:  Legal 
  9129.  
  9130.  
  9131. ΓòÉΓòÉΓòÉ 3.65. glLightModel ΓòÉΓòÉΓòÉ
  9132.  
  9133.  OpenGL man pages 
  9134.  
  9135. glLightModel 
  9136.  
  9137.  
  9138.  
  9139.  
  9140.  
  9141.  
  9142. Name 
  9143.  
  9144.   glLightModelf, glLightModeli, glLightModelfv, glLightModeliv - set the
  9145.   lighting model parameters
  9146.  
  9147.  
  9148.  
  9149.  
  9150. C Specification 
  9151.  
  9152.   void glLightModelf( GLenum pname,
  9153.                       GLfloat param )
  9154.   void glLightModeli( GLenum pname,
  9155.                       GLint param )
  9156.  
  9157.  
  9158.  
  9159.  
  9160. Parameters 
  9161.  
  9162.  
  9163.   pname   Specifies a single-valued lighting model parameter.
  9164.           GL_LIGHT_MODEL_LOCAL_VIEWER and GL_LIGHT_MODEL_TWO_SIDE are
  9165.           accepted.
  9166.  
  9167.   param   Specifies the value that param will be set to.
  9168.  
  9169.  
  9170.  
  9171. C Specification 
  9172.  
  9173.   void glLightModelfv( GLenum pname,
  9174.                        const GLfloat *params )
  9175.   void glLightModeliv( GLenum pname,
  9176.                        const GLint *params )
  9177.  
  9178.  
  9179.  
  9180.  
  9181. Parameters 
  9182.  
  9183.  
  9184.   pname
  9185.        Specifies a lighting model parameter.  GL_LIGHT_MODEL_AMBIENT,
  9186.        GL_LIGHT_MODEL_LOCAL_VIEWER, and GL_LIGHT_MODEL_TWO_SIDE are accepted.
  9187.  
  9188.   params
  9189.        Specifies a pointer to the value or values that params will be set to.
  9190.  
  9191.  
  9192.  
  9193.  
  9194. Description 
  9195.  
  9196.   glLightModel sets the lighting model parameter.  pname names a parameter
  9197.   and params gives the new value.  There are three lighting model parameters:
  9198.  
  9199.   GL_LIGHT_MODEL_AMBIENT
  9200.             params contains four integer or floating-point values that
  9201.             specify the ambient RGBA intensity of the entire scene.  Integer
  9202.             values are mapped linearly such that the most positive
  9203.             representable value maps to 1.0, and the most negative
  9204.             representable value maps to -1.0.  Floating-point values are
  9205.             mapped directly.  Neither integer nor floating-point values are
  9206.             clamped.  The default ambient scene intensity is (0.2, 0.2, 0.2,
  9207.             1.0).
  9208.  
  9209.   GL_LIGHT_MODEL_LOCAL_VIEWER
  9210.             params is a single integer or floating-point value that specifies
  9211.             how specular reflection angles are computed.  If params is 0 (or
  9212.             0.0), specular reflection angles take the view direction to be
  9213.             parallel to and in the direction of the -z axis, regardless of
  9214.             the location of the vertex in eye coordinates.  Otherwise
  9215.             specular reflections are computed from the origin of the eye
  9216.             coordinate system.  The default is 0.
  9217.  
  9218.   GL_LIGHT_MODEL_TWO_SIDE
  9219.             params is a single integer or floating-point value that specifies
  9220.             whether one- or two-sided lighting calculations are done for
  9221.             polygons.  It has no effect on the lighting calculations for
  9222.             points, lines, or bitmaps.  If params is 0 (or 0.0), one-sided
  9223.             lighting is specified, and only the front material parameters are
  9224.             used in the lighting equation.  Otherwise, two-sided lighting is
  9225.             specified.  In this case, vertices of back-facing polygons are
  9226.             lighted using the back material parameters, and have their
  9227.             normals reversed before the lighting equation is evaluated.
  9228.             Vertices of front-facing polygons are always lighted using the
  9229.             front material parameters, with no change to their normals.  The
  9230.             default is 0.
  9231.  
  9232.   In RGBA mode, the lighted color of a vertex is the sum of the material
  9233.   emission intensity, the product of the material ambient reflectance and the
  9234.   lighting model full-scene ambient intensity, and the contribution of each
  9235.   enabled light source.  Each light source contributes the sum of three
  9236.   terms: ambient, diffuse, and specular.  The ambient light source
  9237.   contribution is the product of the material ambient reflectance and the
  9238.   light's ambient intensity.  The diffuse light source contribution is the
  9239.   product of the material diffuse reflectance, the light's diffuse intensity,
  9240.   and the dot product of the vertex's normal with the normalized vector from
  9241.   the vertex to the light source.  The specular light source contribution is
  9242.   the product of the material specular reflectance, the light's specular
  9243.   intensity, and the dot product of the normalized vertex-to-eye and vertex-
  9244.   to-light vectors, raised to the power of the shininess of the material.
  9245.   All three light source contributions are attenuated equally based on the
  9246.   distance from the vertex to the light source and on light source direction,
  9247.   spread exponent, and spread cutoff angle.  All dot products are replaced
  9248.   with zero if they evaluate to a negative value.
  9249.  
  9250.   The alpha component of the resulting lighted color is set to the alpha
  9251.   value of the material diffuse reflectance.
  9252.  
  9253.   In color index mode, the value of the lighted index of a vertex ranges from
  9254.   the ambient to the specular values passed to glMaterial using
  9255.   GL_COLOR_INDEXES.  Diffuse and specular coefficients, computed with a (.30,
  9256.   .59, .11) weighting of the lights' colors, the shininess of the material,
  9257.   and the same reflection and attenuation equations as in the RGBA case,
  9258.   determine how much above ambient the resulting index is.
  9259.  
  9260.  
  9261.  
  9262. Errors 
  9263.  
  9264.   GL_INVALID_ENUM is generated if pname is not an accepted value.
  9265.  
  9266.   GL_INVALID_OPERATION is generated if glLightModel is called between a call
  9267.   to glBegin and the corresponding call to glEnd.
  9268.  
  9269.  
  9270.  
  9271. Associated Gets 
  9272.  
  9273.   glGet with argument GL_LIGHT_MODEL_AMBIENT
  9274.   glGet with argument GL_LIGHT_MODEL_LOCAL_VIEWER
  9275.   glGet with argument GL_LIGHT_MODEL_TWO_SIDE
  9276.   glIsEnabled with argument GL_LIGHTING
  9277.  
  9278.  
  9279.  
  9280. See Also 
  9281.  
  9282.   glLight, glMaterial
  9283.  
  9284.  
  9285.  
  9286. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  9287.  
  9288.  Introduction | Alphabetic | Specification 
  9289.  
  9290. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  9291. Look here for legal stuff:  Legal 
  9292.  
  9293.  
  9294. ΓòÉΓòÉΓòÉ 3.66. glLineStipple ΓòÉΓòÉΓòÉ
  9295.  
  9296.  OpenGL man pages 
  9297.  
  9298. glLineStipple 
  9299.  
  9300.  
  9301.  
  9302.  
  9303.  
  9304.  
  9305. Name 
  9306.  
  9307.   glLineStipple - specify the line stipple pattern
  9308.  
  9309.  
  9310.  
  9311.  
  9312. C Specification 
  9313.  
  9314.   void glLineStipple( GLint factor,
  9315.                       GLushort pattern )
  9316.  
  9317.  
  9318.  
  9319.  
  9320. Parameters 
  9321.  
  9322.  
  9323.   factor   Specifies a multiplier for each bit in the line stipple pattern.
  9324.            If factor is 3, for example, each bit in the pattern will be used
  9325.            three times before the next bit in the pattern is used.  factor is
  9326.            clamped to the range [1, 256] and defaults to one.
  9327.  
  9328.   pattern  Specifies a 16-bit integer whose bit pattern determines which
  9329.            fragments of a line will be drawn when the line is rasterized.
  9330.            Bit zero is used first, and the default pattern is all ones.
  9331.  
  9332.  
  9333.  
  9334.  
  9335. Description 
  9336.  
  9337.   Line stippling masks out certain fragments produced by rasterization; those
  9338.   fragments will not be drawn.  The masking is achieved by using three
  9339.   parameters: the 16-bit line stipple pattern pattern, the repeat count
  9340.   factor, and an integer stipple counter s.
  9341.  
  9342.   Counter s is reset to zero whenever glBegin is called, and before each line
  9343.   segment of a glBegin(GL_LINES)/glEnd sequence is generated.  It is
  9344.   incremented after each fragment of a unit width aliased line segment is
  9345.   generated, or after each i fragments of an i width line segment are
  9346.   generated.  The i fragments associated with count s are masked out if
  9347.  
  9348.                        pattern bit (s / factor) mod 16
  9349.  
  9350.   is zero, otherwise these fragments are sent to the frame buffer.  Bit zero
  9351.   of pattern is the least significant bit.
  9352.  
  9353.   Antialiased lines are treated as a sequence of 1xwidth rectangles for
  9354.   purposes of stippling.  Rectangle s is rasterized or not based on the
  9355.   fragment rule described for aliased lines, counting rectangles rather than
  9356.   groups of fragments.
  9357.  
  9358.   Line stippling is enabled or disabled using glEnable and glDisable with
  9359.   argument GL_LINE_STIPPLE.  When enabled, the line stipple pattern is
  9360.   applied as described above.  When disabled, it is as if the pattern were
  9361.   all ones.  Initially, line stippling is disabled.
  9362.  
  9363.  
  9364.  
  9365. Errors 
  9366.  
  9367.   GL_INVALID_OPERATION is generated if glLineStipple is executed between the
  9368.   execution of glBegin and the corresponding execution of glEnd.
  9369.  
  9370.  
  9371.  
  9372.  
  9373. Associated Gets 
  9374.  
  9375.   glGet with argument GL_LINE_STIPPLE_PATTERN
  9376.   glGet with argument GL_LINE_STIPPLE_REPEAT
  9377.   glIsEnabled with argument GL_LINE_STIPPLE
  9378.  
  9379.  
  9380.  
  9381.  
  9382. See Also 
  9383.  
  9384.   glLineWidth, glPolygonStipple
  9385.  
  9386.  
  9387.  
  9388. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  9389.  
  9390.  Introduction | Alphabetic | Specification 
  9391.  
  9392. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  9393. Look here for legal stuff:  Legal 
  9394.  
  9395.  
  9396. ΓòÉΓòÉΓòÉ 3.67. glLineWidth ΓòÉΓòÉΓòÉ
  9397.  
  9398.  OpenGL man pages 
  9399.  
  9400. glLineWidth 
  9401.  
  9402.  
  9403.  
  9404.  
  9405.  
  9406.  
  9407. Name 
  9408.  
  9409.   glLineWidth - specify the width of rasterized lines
  9410.  
  9411.  
  9412.  
  9413.  
  9414. C Specification 
  9415.  
  9416.   void glLineWidth( GLfloat width )
  9417.  
  9418.  
  9419.  
  9420.  
  9421. Parameters 
  9422.  
  9423.  
  9424.   width  Specifies the width of rasterized lines.  The default is 1.0.
  9425.  
  9426.  
  9427.  
  9428.  
  9429. Description 
  9430.  
  9431.   glLineWidth specifies the rasterized width of both aliased and antialiased
  9432.   lines.  Using a line width other than 1.0 has different effects, depending
  9433.   on whether line antialiasing is enabled.  Line antialiasing is controlled
  9434.   by calling glEnable and glDisable with argument GL_LINE_SMOOTH.
  9435.  
  9436.   If line antialiasing is disabled, the actual width is determined by
  9437.   rounding the supplied width to the nearest integer.  (If the rounding
  9438.   results in the value 0, it is as if the line width were 1.) If |dx| >= |dy|,
  9439.   i pixels are filled in each column that is rasterized, where i is the
  9440.   rounded value of width.  Otherwise, i pixels are filled in each row that is
  9441.   rasterized.
  9442.  
  9443.   If antialiasing is enabled, line rasterization produces a fragment for each
  9444.   pixel square that intersects the region lying within the rectangle having
  9445.   width equal to the current line width, length equal to the actual length of
  9446.   the line, and centered on the mathematical line segment.  The coverage
  9447.   value for each fragment is the window coordinate area of the intersection
  9448.   of the rectangular region with the corresponding pixel square.  This value
  9449.   is saved and used in the final rasterization step.
  9450.  
  9451.   Not all widths can be supported when line antialiasing is enabled. If an
  9452.   unsupported width is requested, the nearest supported width is used.  Only
  9453.   width 1.0 is guaranteed to be supported; others depend on the
  9454.   implementation.  The range of supported widths and the size difference
  9455.   between supported widths within the range can be queried by calling glGet
  9456.   with arguments GL_LINE_WIDTH_RANGE and GL_LINE_WIDTH_GRANULARITY.
  9457.  
  9458.  
  9459.  
  9460. Notes 
  9461.  
  9462.   The line width specified by glLineWidth is always returned when
  9463.   GL_LINE_WIDTH is queried.  Clamping and rounding for aliased and
  9464.   antialiased lines have no effect on the specified value.
  9465.  
  9466.   Non-antialiased line width may be clamped to an implementation-dependent
  9467.   maximum.  Although this maximum cannot be queried, it must be no less than
  9468.   the maximum value for antialiased lines, rounded to the nearest integer
  9469.   value.
  9470.  
  9471.  
  9472.  
  9473.  
  9474.  
  9475. Errors 
  9476.  
  9477.   GL_INVALID_VALUE is generated if width is less than or equal to zero.
  9478.  
  9479.   GL_INVALID_OPERATION is generated if glLineWidth is executed between the
  9480.   execution of glBegin and the corresponding execution of glEnd.
  9481.  
  9482.  
  9483.  
  9484. Associated Gets 
  9485.  
  9486.   glGet with argument GL_LINE_WIDTH
  9487.   glGet with argument GL_LINE_WIDTH_RANGE
  9488.   glGet with argument GL_LINE_WIDTH_GRANULARITY
  9489.   glIsEnabled with argument GL_LINE_SMOOTH
  9490.  
  9491.  
  9492.  
  9493. See Also 
  9494.  
  9495.   glEnable, glLineSmooth
  9496.  
  9497.  
  9498. ΓòÉΓòÉΓòÉ 3.68. glListBase ΓòÉΓòÉΓòÉ
  9499.  
  9500.  OpenGL man pages 
  9501.  
  9502. glListBase 
  9503.  
  9504.  
  9505.  
  9506.  
  9507.  
  9508.  
  9509. Name 
  9510.  
  9511.   glListBase - set the display-list base for glCallLists
  9512.  
  9513.  
  9514.  
  9515.  
  9516. C Specification 
  9517.  
  9518.   void glListBase( GLuint base )
  9519.  
  9520.  
  9521.  
  9522.  
  9523. Parameters 
  9524.  
  9525.  
  9526.   base  Specifies an integer offset that will be added to glCallLists offsets
  9527.         to generate display-list names.  Initial value is zero.
  9528.  
  9529.  
  9530.  
  9531.  
  9532. Description 
  9533.  
  9534.   glCallLists specifies an array of offsets.  Display-list names are
  9535.   generated by adding base to each offset.  Names that reference valid
  9536.   display lists are executed; the others are ignored.
  9537.  
  9538.  
  9539.  
  9540. Errors 
  9541.  
  9542.   GL_INVALID_OPERATION is generated if glListBase is executed between the
  9543.   execution of glBegin and the corresponding execution of glEnd.
  9544.  
  9545.  
  9546.  
  9547. Associated Gets 
  9548.  
  9549.   glGet with argument GL_LIST_BASE
  9550.  
  9551.  
  9552.  
  9553. See Also 
  9554.  
  9555.   glCallLists
  9556.  
  9557.  
  9558.  
  9559. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  9560.  
  9561.  Introduction | Alphabetic | Specification 
  9562.  
  9563. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  9564. Look here for legal stuff:  Legal 
  9565.  
  9566.  
  9567. ΓòÉΓòÉΓòÉ 3.69. glLoadIdentity ΓòÉΓòÉΓòÉ
  9568.  
  9569.  OpenGL man pages 
  9570.  
  9571. glLoadIdentity 
  9572.  
  9573.  
  9574.  
  9575.  
  9576.  
  9577.  
  9578. Name 
  9579.  
  9580.   glLoadIdentity - replace the current matrix with the identity matrix
  9581.  
  9582.  
  9583.  
  9584.  
  9585. C Specification 
  9586.  
  9587.   void glLoadIdentity( void )
  9588.  
  9589.  
  9590.  
  9591.  
  9592.  
  9593. Description 
  9594.  
  9595.   glLoadIdentity replaces the current matrix with the identity matrix.  It is
  9596.   semantically equivalent to calling glLoadMatrix with the identity matrix
  9597.  
  9598.  
  9599.                               | 1   0   0   0  |
  9600.                               |                |
  9601.                               | 0   1   0   0  |
  9602.                               | 0   0   1   0  |
  9603.                               |                |
  9604.                               | 0   0   0   1  |
  9605.  
  9606.   but in some cases it is more efficient.
  9607.  
  9608.  
  9609.  
  9610. Errors 
  9611.  
  9612.   GL_INVALID_OPERATION is generated if glLoadIdentity is executed between the
  9613.   execution of glBegin and the corresponding execution of glEnd.
  9614.  
  9615.  
  9616.  
  9617. Associated Gets 
  9618.  
  9619.   glGet with argument GL_MATRIX_MODE
  9620.   glGet with argument GL_MODELVIEW_MATRIX
  9621.   glGet with argument GL_PROJECTION_MATRIX
  9622.   glGet with argument GL_TEXTURE_MATRIX
  9623.  
  9624.  
  9625.  
  9626. See Also 
  9627.  
  9628.   glLoadMatrix, glMatrixMode, glMultMatrix, glPushMatrix
  9629.  
  9630.  
  9631.  
  9632. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  9633.  
  9634.  Introduction | Alphabetic | Specification 
  9635.  
  9636. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  9637. Look here for legal stuff:  Legal 
  9638.  
  9639.  
  9640. ΓòÉΓòÉΓòÉ 3.70. glLoadMatrix ΓòÉΓòÉΓòÉ
  9641.  
  9642.  OpenGL man pages 
  9643.  
  9644. glLoadMatrix 
  9645.  
  9646.  
  9647.  
  9648.  
  9649.  
  9650.  
  9651. Name 
  9652.  
  9653.   glLoadMatrixd, glLoadMatrixf - replace the current matrix with an arbitrary
  9654.   matrix
  9655.  
  9656.  
  9657.  
  9658.  
  9659. C Specification 
  9660.  
  9661.   void glLoadMatrixd( const GLdouble *m )
  9662.   void glLoadMatrixf( const GLfloat *m )
  9663.  
  9664.  
  9665.  
  9666.  
  9667. Parameters 
  9668.  
  9669.  
  9670.   m  Specifies a pointer to a 4x4 matrix stored in column-major order as
  9671.      sixteen consecutive values.
  9672.  
  9673.  
  9674.  
  9675.  
  9676. Description 
  9677.  
  9678.   glLoadMatrix replaces the current matrix with the one specified in m.  The
  9679.   current matrix is the projection matrix, modelview matrix, or texture
  9680.   matrix, determined by the current matrix mode (see glMatrixMode).
  9681.  
  9682.   m points to a 4x4 matrix of single- or double-precision floating-point
  9683.   values stored in column-major order.  That is, the matrix is stored as
  9684.   follows:
  9685.  
  9686.                               |a0  a4  a8   a12|
  9687.                               |                |
  9688.                               |a1  a5  a9   a13|
  9689.                               |                |
  9690.                               |a2  a6  a10  a14|
  9691.                               |                |
  9692.                               |a3  a7  a11  a15|
  9693.                               |                |
  9694.  
  9695.  
  9696.  
  9697. Errors 
  9698.  
  9699.   GL_INVALID_OPERATION is generated if glLoadMatrix is called between a call
  9700.   to glBegin and the corresponding call to glEnd.
  9701.  
  9702.  
  9703.  
  9704. Associated Gets 
  9705.  
  9706.   glGet with argument GL_MATRIX_MODE
  9707.   glGet with argument GL_MODELVIEW_MATRIX
  9708.   glGet with argument GL_PROJECTION_MATRIX
  9709.   glGet with argument GL_TEXTURE_MATRIX
  9710.  
  9711.  
  9712.  
  9713. See Also 
  9714.  
  9715.   glLoadIdentity, glMatrixMode, glMultMatrix, glPushMatrix
  9716.  
  9717.  
  9718.  
  9719. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  9720.  
  9721.  Introduction | Alphabetic | Specification 
  9722.  
  9723. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  9724. Look here for legal stuff:  Legal 
  9725.  
  9726.  
  9727. ΓòÉΓòÉΓòÉ 3.71. glLoadName ΓòÉΓòÉΓòÉ
  9728.  
  9729.  OpenGL man pages 
  9730.  
  9731. glLoadName 
  9732.  
  9733.  
  9734.  
  9735.  
  9736.  
  9737.  
  9738. Name 
  9739.  
  9740.   glLoadName - load a name onto the name stack
  9741.  
  9742.  
  9743.  
  9744.  
  9745. C Specification 
  9746.  
  9747.   void glLoadName( GLuint name )
  9748.  
  9749.  
  9750.  
  9751.  
  9752. Parameters 
  9753.  
  9754.  
  9755.   name  Specifies a name that will replace the top value on the name stack.
  9756.  
  9757.  
  9758.  
  9759.  
  9760. Description 
  9761.  
  9762.   The name stack is used during selection mode to allow sets of rendering
  9763.   commands to be uniquely identified.  It consists of an ordered set of
  9764.   unsigned integers.  glLoadName causes name to replace the value on the top
  9765.   of the name stack, which is initially empty.
  9766.  
  9767.   The name stack is always empty while the render mode is not GL_SELECT.
  9768.   Calls to glLoadName while the render mode is not GL_SELECT are ignored.
  9769.  
  9770.  
  9771.  
  9772. Errors 
  9773.  
  9774.   GL_INVALID_OPERATION is generated if glLoadName is called while the name
  9775.   stack is empty.
  9776.  
  9777.   GL_INVALID_OPERATION is generated if glLoadName is executed between the
  9778.   execution of glBegin and the corresponding execution of glEnd.
  9779.  
  9780.  
  9781.  
  9782. Associated Gets 
  9783.  
  9784.   glGet with argument GL_NAME_STACK_DEPTH
  9785.   glGet with argument GL_MAX_NAME_STACK_DEPTH
  9786.  
  9787.  
  9788.  
  9789. See Also 
  9790.  
  9791.   glInitNames, glPushName, glRenderMode, glSelectBuffer
  9792.  
  9793.  
  9794.  
  9795. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  9796.  
  9797.  Introduction | Alphabetic | Specification 
  9798.  
  9799. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  9800. Look here for legal stuff:  Legal 
  9801.  
  9802.  
  9803. ΓòÉΓòÉΓòÉ 3.72. glLogicOp ΓòÉΓòÉΓòÉ
  9804.  
  9805.  OpenGL man pages 
  9806.  
  9807. glLogicOp 
  9808.  
  9809.  
  9810.  
  9811.  
  9812.  
  9813.  
  9814. Name 
  9815.  
  9816.   glLogicOp - specify a logical pixel operation for color index rendering
  9817.  
  9818.  
  9819.  
  9820.  
  9821. C Specification 
  9822.  
  9823.   void glLogicOp( GLenum opcode )
  9824.  
  9825.  
  9826.  
  9827.  
  9828. Parameters 
  9829.  
  9830.  
  9831.   opcode  Specifies a symbolic constant that selects a logical operation.
  9832.           The following symbols are accepted: GL_CLEAR, GL_SET, GL_COPY,
  9833.           GL_COPY_INVERTED, GL_NOOP, GL_INVERT, GL_AND, GL_NAND, GL_OR,
  9834.           GL_NOR, GL_XOR, GL_EQUIV, GL_AND_REVERSE, GL_AND_INVERTED,
  9835.           GL_OR_REVERSE, and GL_OR_INVERTED.
  9836.  
  9837.  
  9838.  
  9839. Description 
  9840.  
  9841.   glLogicOp specifies a logical operation that, when enabled, is applied
  9842.   between the incoming color index and the color index at the corresponding
  9843.   location in the frame buffer.  The logical operation is enabled or disabled
  9844.   with glEnable and glDisable using the symbolic constant GL_LOGIC_OP.
  9845.  
  9846.   opcode is a symbolic constant chosen from the list below.  In the
  9847.   explanation of the logical operations, s represents the incoming color
  9848.   index and d represents the index in the frame buffer.  Standard C-language
  9849.   operators are used.  As these bitwise operators suggest, the logical
  9850.   operation is applied independently to each bit pair of the source and
  9851.   destination indices.
  9852.                      ------------------------------------
  9853.                      |     opcode      | resulting value |
  9854.                      ------------------------------------
  9855.                      |    GL_CLEAR     |        0        |
  9856.                      |     GL_SET      |        1        |
  9857.                      |    GL_COPY      |        s        |
  9858.                      |GL_COPY_INVERTED |       !s        |
  9859.                      |    GL_NOOP      |        d        |
  9860.                      |   GL_INVERT     |       !d        |
  9861.                      |     GL_AND      |      s & d      |
  9862.                      |    GL_NAND      |    !(s & d)     |
  9863.                      |     GL_OR       |      s | d      |
  9864.                      |     GL_NOR      |    !(s | d)     |
  9865.                      |     GL_XOR      |      s ^ d      |
  9866.                      |    GL_EQUIV     |    !(s ^ d)     |
  9867.                      | GL_AND_REVERSE  |     s & !d      |
  9868.                      |GL_AND_INVERTED  |     !s & d      |
  9869.                      | GL_OR_REVERSE   |     s | !d      |
  9870.                      | GL_OR_INVERTED  |     !s | d      |
  9871.                      ------------------------------------
  9872.  
  9873.  
  9874.  
  9875. Notes 
  9876.  
  9877.   Logical pixel operations are not applied to RGBA color buffers.
  9878.  
  9879.   When more than one color index buffer is enabled for drawing, logical
  9880.   operations are done separately for each enabled buffer, using for the
  9881.   destination index the contents of that buffer (see glDrawBuffer).
  9882.  
  9883.   opcode must be one of the sixteen accepted values.  Other values result in
  9884.   an error.
  9885.  
  9886.  
  9887.  
  9888.  
  9889. Errors 
  9890.  
  9891.   GL_INVALID_ENUM is generated if opcode is not an accepted value.
  9892.  
  9893.   GL_INVALID_OPERATION is generated if glLogicOp is executed between the
  9894.   execution of glBegin and the corresponding execution of glEnd.
  9895.  
  9896.  
  9897.  
  9898. Associated Gets 
  9899.  
  9900.   glGet with argument GL_LOGIC_OP_MODE
  9901.   glIsEnabled with argument GL_LOGIC_OP
  9902.  
  9903.  
  9904.  
  9905. See Also 
  9906.  
  9907.   glAlphaFunc, glBlendFunc, glDrawBuffer, glEnable, glStencilOp
  9908.  
  9909.  
  9910.  
  9911. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  9912.  
  9913.  Introduction | Alphabetic | Specification 
  9914.  
  9915. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  9916. Look here for legal stuff:  Legal 
  9917.  
  9918.  
  9919. ΓòÉΓòÉΓòÉ 3.73. glMap1 ΓòÉΓòÉΓòÉ
  9920.  
  9921.  OpenGL man pages 
  9922.  
  9923. glMap1 
  9924.  
  9925.  
  9926.  
  9927.  
  9928.  
  9929.  
  9930. Name 
  9931.  
  9932.   glMap1d, glMap1f - define a one-dimensional evaluator
  9933.  
  9934.  
  9935.  
  9936.  
  9937. C Specification 
  9938.  
  9939.   void glMap1d( GLenum target,
  9940.                 GLdouble u1,
  9941.                 GLdouble u2,
  9942.                 GLint stride,
  9943.                 GLint order,
  9944.                 const GLdouble *points )
  9945.   void glMap1f( GLenum target,
  9946.                 GLfloat u1,
  9947.                 GLfloat u2,
  9948.                 GLint stride,
  9949.                 GLint order,
  9950.                 const GLfloat *points )
  9951.  
  9952.  
  9953.  
  9954.  
  9955. Parameters 
  9956.  
  9957.  
  9958.   target  Specifies the kind of values that are generated by the evaluator.
  9959.           Symbolic constants GL_MAP1_VERTEX_3, GL_MAP1_VERTEX_4,
  9960.           GL_MAP1_INDEX, GL_MAP1_COLOR_4, GL_MAP1_NORMAL,
  9961.           GL_MAP1_TEXTURE_COORD_1, GL_MAP1_TEXTURE_COORD_2,
  9962.           GL_MAP1_TEXTURE_COORD_3, and GL_MAP1_TEXTURE_COORD_4 are accepted.
  9963.  
  9964.   u1, u2  Specify a linear mapping of u, as presented to glEvalCoord1, to u,
  9965.           the variable that is evaluated by the equations specified by this
  9966.           command.
  9967.  
  9968.   stride  Specifies the number of floats or doubles between the beginning of
  9969.           one control point and the beginning of the next one in the data
  9970.           structure referenced in points.  This allows control points to be
  9971.           embedded in arbitrary data structures.  The only constraint is that
  9972.           the values for a particular control point must occupy contiguous
  9973.           memory locations.
  9974.  
  9975.   order   Specifies the number of control points.  Must be positive.
  9976.  
  9977.   points  Specifies a pointer to the array of control points.
  9978.  
  9979.  
  9980.  
  9981.  
  9982. Description 
  9983.  
  9984.   Evaluators provide a way to use polynomial or rational polynomial mapping
  9985.   to produce vertices, normals, texture coordinates, and colors.  The values
  9986.   produced by an evaluator are sent to further stages of GL processing just
  9987.   as if they had been presented using glVertex, glNormal, glTexCoord, and
  9988.   glColor commands, except that the generated values do not update the
  9989.   current normal, texture coordinates, or color.
  9990.  
  9991.   All polynomial or rational polynomial splines of any degree (up to the
  9992.   maximum degree supported by the GL implementation) can be described using
  9993.   evaluators.  These include almost all splines used in computer graphics,
  9994.   including B-splines, Bezier curves, Hermite splines, and so on.
  9995.  
  9996.   Evaluators define curves based on Bernstein polynomials.  Define p(u) as
  9997.  
  9998.                                  n
  9999.                                 ---
  10000.                                 \   n
  10001.                        p(u)  =   \ B (u)R
  10002.                                  /  i    i
  10003.                                 /
  10004.                                 ---
  10005.                                 i=0
  10006.  
  10007.  
  10008.                                    n
  10009.   where R  is a control point and B (u) is the ith Bernstein polynomial of
  10010.          i                         i
  10011.   degree n (order = n+1):
  10012.  
  10013.  
  10014.                             n        |n|  i      n-i
  10015.                            B (u)   = | | u  (1-u)
  10016.                             i        |i|
  10017.  
  10018.  
  10019.  
  10020.   Recall that
  10021.  
  10022.  
  10023.                              0         |n|
  10024.                             0  = 1 and | |  = 1
  10025.                                        |0|
  10026.  
  10027.   glMap1 is used to define the basis and to specify what kind of values are
  10028.   produced.  Once defined, a map can be enabled and disabled by calling
  10029.   glEnable and glDisable with the map name, one of the nine predefined values
  10030.   for target described below.  glEvalCoord1 evaluates the one-dimensional
  10031.   maps that are enabled.  When glEvalCoord1 presents a value u, the Bernstein
  10032.   functions are evaluated using u, where
  10033.  
  10034.                                        u - u1
  10035.                                   u =  -------
  10036.                                        u2 - u1
  10037.  
  10038.   target is a symbolic constant that indicates what kind of control points
  10039.   are provided in points, and what output is generated when the map is
  10040.   evaluated.  It can assume one of nine predefined values:
  10041.  
  10042.   GL_MAP1_VERTEX_3         Each control point is three floating-point values
  10043.                            representing x, y, and z.  Internal glVertex3
  10044.                            commands are generated when the map is evaluated.
  10045.  
  10046.   GL_MAP1_VERTEX_4         Each control point is four floating-point values
  10047.                            representing x, y, z, and w.  Internal glVertex4
  10048.                            commands are generated when the map is evaluated.
  10049.  
  10050.   GL_MAP1_INDEX            Each control point is a single floating-point
  10051.                            value representing a color index.  Internal
  10052.                            glIndex commands are generated when the map is
  10053.                            evaluated.  The current index is not updated with
  10054.                            the value of these glIndex commands, however.
  10055.  
  10056.   GL_MAP1_COLOR_4          Each control point is four floating-point values
  10057.                            representing red, green, blue, and alpha.
  10058.                            Internal glColor4 commands are generated when the
  10059.                            map is evaluated.  The current color is not
  10060.                            updated with the value of these glColor4 commands,
  10061.                            however.
  10062.  
  10063.   GL_MAP1_NORMAL           Each control point is three floating-point values
  10064.                            representing the x, y, and z components of a
  10065.                            normal vector.  Internal glNormal commands are
  10066.                            generated when the map is evaluated.  The current
  10067.                            normal is not updated with the value of these
  10068.                            glNormal commands, however.
  10069.  
  10070.   GL_MAP1_TEXTURE_COORD_1  Each control point is a single floating-point
  10071.                            value representing the s texture coordinate.
  10072.                            Internal glTexCoord1 commands are generated when
  10073.                            the map is evaluated.  The current texture
  10074.                            coordinates are not updated with the value of
  10075.                            these glTexCoord commands, however.
  10076.  
  10077.   GL_MAP1_TEXTURE_COORD_2  Each control point is two floating-point values
  10078.                            representing the s and t texture coordinates.
  10079.                            Internal glTexCoord2 commands are generated when
  10080.                            the map is evaluated.  The current texture
  10081.                            coordinates are not updated with the value of
  10082.                            these glTexCoord commands, however.
  10083.  
  10084.   GL_MAP1_TEXTURE_COORD_3  Each control point is three floating-point values
  10085.                            representing the s, t, and r texture coordinates.
  10086.                            Internal glTexCoord3 commands are generated when
  10087.                            the map is evaluated.  The current texture
  10088.                            coordinates are not updated with the value of
  10089.                            these glTexCoord commands, however.
  10090.  
  10091.   GL_MAP1_TEXTURE_COORD_4  Each control point is four floating-point values
  10092.                            representing the s, t, r, and q texture
  10093.                            coordinates.  Internal glTexCoord4 commands are
  10094.                            generated when the map is evaluated.  The current
  10095.                            texture coordinates are not updated with the value
  10096.                            of these glTexCoord commands, however.
  10097.  
  10098.   stride, order, and points define the array addressing for accessing the
  10099.   control points.  points is the location of the first control point, which
  10100.   occupies one, two, three, or four contiguous memory locations, depending on
  10101.   which map is being defined.  order is the number of control points in the
  10102.   array.  stride tells how many float or double locations to advance the
  10103.   internal memory pointer to reach the next control point.
  10104.  
  10105.  
  10106.  
  10107. Notes 
  10108.  
  10109.   As is the case with all GL commands that accept pointers to data, it is as
  10110.   if the contents of points were copied by glMap1 before it returned.
  10111.   Changes to the contents of points have no effect after glMap1 is called.
  10112.  
  10113.  
  10114.  
  10115. Errors 
  10116.  
  10117.   GL_INVALID_ENUM is generated if target is not an accepted value.
  10118.  
  10119.   GL_INVALID_VALUE is generated if u1 is equal to u2.
  10120.  
  10121.   GL_INVALID_VALUE is generated if stride is less than the number of values
  10122.   in a control point.
  10123.  
  10124.   GL_INVALID_VALUE is generated if order is less than one or greater than
  10125.   GL_MAX_EVAL_ORDER.
  10126.  
  10127.   GL_INVALID_OPERATION is generated if glMap1 is executed between the
  10128.   execution of glBegin and the corresponding execution of glEnd.
  10129.  
  10130.  
  10131.  
  10132. Associated Gets 
  10133.  
  10134.   glGetMap
  10135.   glGet with argument GL_MAX_EVAL_ORDER
  10136.   glIsEnabled with argument GL_MAP1_VERTEX_3
  10137.   glIsEnabled with argument GL_MAP1_VERTEX_4
  10138.   glIsEnabled with argument GL_MAP1_INDEX
  10139.   glIsEnabled with argument GL_MAP1_COLOR_4
  10140.   glIsEnabled with argument GL_MAP1_NORMAL
  10141.   glIsEnabled with argument GL_MAP1_TEXTURE_COORD_1
  10142.   glIsEnabled with argument GL_MAP1_TEXTURE_COORD_2
  10143.   glIsEnabled with argument GL_MAP1_TEXTURE_COORD_3
  10144.   glIsEnabled with argument GL_MAP1_TEXTURE_COORD_4
  10145.  
  10146.  
  10147.  
  10148.  
  10149.  
  10150. See Also 
  10151.  
  10152.   glBegin, glColor, glEnable, glEvalCoord, glEvalMesh, glEvalPoint, glMap2,
  10153.   glMapGrid, glNormal, glTexCoord, glVertex
  10154.  
  10155. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  10156.  
  10157.  Introduction | Alphabetic | Specification 
  10158.  
  10159. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  10160. Look here for legal stuff:  Legal 
  10161.  
  10162.  
  10163. ΓòÉΓòÉΓòÉ 3.74. glMap2 ΓòÉΓòÉΓòÉ
  10164.  
  10165.  OpenGL man pages 
  10166.  
  10167. glMap2 
  10168.  
  10169.  
  10170.  
  10171.  
  10172.  
  10173.  
  10174. Name 
  10175.  
  10176.   glMap2d, glMap2f - define a two-dimensional evaluator
  10177.  
  10178.  
  10179.  
  10180.  
  10181. C Specification 
  10182.  
  10183.   void glMap2d( GLenum target,
  10184.                 GLdouble u1,
  10185.                 GLdouble u2,
  10186.                 GLint ustride,
  10187.                 GLint uorder,
  10188.                 GLdouble v1,
  10189.                 GLdouble v2,
  10190.                 GLint vstride,
  10191.                 GLint vorder,
  10192.                 const GLdouble *points )
  10193.   void glMap2f( GLenum target,
  10194.                 GLfloat u1,
  10195.                 GLfloat u2,
  10196.                 GLint ustride,
  10197.                 GLint uorder,
  10198.                 GLfloat v1,
  10199.                 GLfloat v2,
  10200.                 GLint vstride,
  10201.                 GLint vorder,
  10202.                 const GLfloat *points )
  10203.  
  10204.  
  10205.  
  10206.  
  10207. Parameters 
  10208.  
  10209.  
  10210.   target   Specifies the kind of values that are generated by the evaluator.
  10211.            Symbolic constants GL_MAP2_VERTEX_3, GL_MAP2_VERTEX_4,
  10212.            GL_MAP2_INDEX, GL_MAP2_COLOR_4, GL_MAP2_NORMAL,
  10213.            GL_MAP2_TEXTURE_COORD_1, GL_MAP2_TEXTURE_COORD_2,
  10214.            GL_MAP2_TEXTURE_COORD_3, and GL_MAP2_TEXTURE_COORD_4 are accepted.
  10215.  
  10216.   u1, u2   Specify a linear mapping of u, as presented to glEvalCoord2, to u,
  10217.            one of the two variables that is evaluated by the equations
  10218.            specified by this command.
  10219.  
  10220.   ustride  Specifies the number of floats or doubles between the beginning of
  10221.            control point R   and the beginning of control point R        ,
  10222.                           ij                                     (i+1) j
  10223.            where i and j are the u and v control point indices, respectively.
  10224.            This allows control points to be embedded in arbitrary data
  10225.            structures.  The only constraint is that the values for a
  10226.            particular control point must occupy contiguous memory locations.
  10227.  
  10228.   uorder   Specifies the dimension of the control point array in the u axis.
  10229.            Must be positive.
  10230.  
  10231.   v1, v2   Specify a linear mapping of v, as presented to glEvalCoord2, to v,
  10232.            one of the two variables that is evaluated by the equations
  10233.            specified by this command.
  10234.  
  10235.   vstride  Specifies the number of floats or doubles between the beginning of
  10236.            control point R   and the beginning of control point R        ,
  10237.                           ij                                     (i+1) j
  10238.            where i and j are the u and v control point indices, respectively.
  10239.            This allows control points to be embedded in arbitrary data
  10240.            structures.  The only constraint is that the values for a
  10241.            particular control point must occupy contiguous memory locations.
  10242.  
  10243.   vorder   Specifies the dimension of the control point array in the v axis.
  10244.            Must be positive.
  10245.  
  10246.   points   Specifies a pointer to the array of control points.
  10247.  
  10248.  
  10249.  
  10250. Description 
  10251.  
  10252.   Evaluators provide a way to use polynomial or rational polynomial mapping
  10253.   to produce vertices, normals, texture coordinates, and colors.  The values
  10254.   produced by an evaluator are sent on to further stages of GL processing
  10255.   just as if they had been presented using glVertex, glNormal, glTexCoord,
  10256.   and glColor commands, except that the generated values do not update the
  10257.   current normal, texture coordinates, or color.
  10258.  
  10259.   All polynomial or rational polynomial splines of any degree (up to the
  10260.   maximum degree supported by the GL implementation) can be described using
  10261.   evaluators.  These include almost all surfaces used in computer graphics,
  10262.   including B-spline surfaces, NURBS surfaces, Bezier surfaces, and so on.
  10263.  
  10264.   Evaluators define surfaces based on bivariate Bernstein polynomials.
  10265.   Define p(u,v) as
  10266.  
  10267.  
  10268.                     n   m
  10269.                    --- ---
  10270.                    \   \   n    m
  10271.         p(u,v)  =   \   \ B (u)B (v) R
  10272.                     /   /  i    j     ij
  10273.                    /   /
  10274.                    --- ---
  10275.                    i=0 j=0
  10276.  
  10277.                                  n
  10278.   where R   is a control point, B (u) is the ith Bernstein polynomial of
  10279.          ij                      i
  10280.   degree n (uorder = n+1)
  10281.  
  10282.                             n        |n| i     n-i
  10283.                            B (u)  =  | |u (1-u)
  10284.                             i        |i|
  10285.  
  10286.        m
  10287.   and B (v') is the jth Bernstein polynomial of degree m (vorder = m+1)
  10288.        j
  10289.                             m        |m| j     m-j
  10290.                            B (v)  =  | |v (1-v)
  10291.                             j        |j|
  10292.  
  10293.   Recall that
  10294.  
  10295.                              0         |n|
  10296.                             0  = 1 and | | = 1
  10297.                                        |0|
  10298.  
  10299.   glMap2 is used to define the basis and to specify what kind of values are
  10300.   produced.  Once defined, a map can be enabled and disabled by calling
  10301.   glEnable and glDisable with the map name, one of the nine predefined values
  10302.   for target, described below.  When glEvalCoord2 presents values u and v,
  10303.   the bivariate Bernstein polynomials are evaluated using u and v, where
  10304.  
  10305.                                         u - u1
  10306.                                  u  =  -------
  10307.                                         u2 - u1
  10308.  
  10309.                                         v - v1
  10310.                                  v  =  -------
  10311.                                         v2 - v1
  10312.  
  10313.  
  10314.   target is a symbolic constant that indicates what kind of control points
  10315.   are provided in points, and what output is generated when the map is
  10316.   evaluated.  It can assume one of nine predefined values:
  10317.  
  10318.   GL_MAP2_VERTEX_3         Each control point is three floating-point values
  10319.                            representing x, y, and z.  Internal glVertex3
  10320.                            commands are generated when the map is evaluated.
  10321.  
  10322.   GL_MAP2_VERTEX_4         Each control point is four floating-point values
  10323.                            representing x, y, z, and w.  Internal glVertex4
  10324.                            commands are generated when the map is evaluated.
  10325.  
  10326.   GL_MAP2_INDEX            Each control point is a single floating-point
  10327.                            value representing a color index.  Internal
  10328.                            glIndex commands are generated when the map is
  10329.                            evaluated.  The current index is not updated with
  10330.                            the value of these glIndex commands, however.
  10331.  
  10332.   GL_MAP2_COLOR_4          Each control point is four floating-point values
  10333.                            representing red, green, blue, and alpha.
  10334.                            Internal glColor4 commands are generated when the
  10335.                            map is evaluated.  The current color is not
  10336.                            updated with the value of these glColor4 commands,
  10337.                            however.
  10338.  
  10339.   GL_MAP2_NORMAL           Each control point is three floating-point values
  10340.                            representing the x, y, and z components of a
  10341.                            normal vector.  Internal glNormal commands are
  10342.                            generated when the map is evaluated.  The current
  10343.                            normal is not updated with the value of these
  10344.                            glNormal commands, however.
  10345.  
  10346.   GL_MAP2_TEXTURE_COORD_1  Each control point is a single floating-point
  10347.                            value representing the s texture coordinate.
  10348.                            Internal glTexCoord1 commands are generated when
  10349.                            the map is evaluated.  The current texture
  10350.                            coordinates are not updated with the value of
  10351.                            these glTexCoord commands, however.
  10352.  
  10353.   GL_MAP2_TEXTURE_COORD_2  Each control point is two floating-point values
  10354.                            representing the s and t texture coordinates.
  10355.                            Internal glTexCoord2 commands are generated when
  10356.                            the map is evaluated.  The current texture
  10357.                            coordinates are not updated with the value of
  10358.                            these glTexCoord commands, however.
  10359.  
  10360.   GL_MAP2_TEXTURE_COORD_3  Each control point is three floating-point values
  10361.                            representing the s, t, and r texture coordinates.
  10362.                            Internal glTexCoord3 commands are generated when
  10363.                            the map is evaluated.  The current texture
  10364.                            coordinates are not updated with the value of
  10365.                            these glTexCoord commands, however.
  10366.  
  10367.   GL_MAP2_TEXTURE_COORD_4  Each control point is four floating-point values
  10368.                            representing the s, t, r, and q texture
  10369.                            coordinates.  Internal glTexCoord4 commands are
  10370.                            generated when the map is evaluated.  The current
  10371.                            texture coordinates are not updated with the value
  10372.                            of these glTexCoord commands, however.
  10373.  
  10374.   ustride, uorder, vstride, vorder, and points define the array addressing
  10375.   for accessing the control points.  points is the location of the first
  10376.   control point, which occupies one, two, three, or four contiguous memory
  10377.   locations, depending on which map is being defined.  There are
  10378.   uorderxvorder control points in the array.  ustride tells how many float or
  10379.   double locations are skipped to advance the internal memory pointer from
  10380.   control point R   to control point R      .  vstride tells how many float
  10381.                  ij                   (i+1)j
  10382.   or double locations are skipped to advance the internal memory pointer from
  10383.   control point R   to control point R      .
  10384.                  ij                   i(j+1)
  10385.  
  10386.  
  10387.  
  10388.  
  10389. Notes 
  10390.  
  10391.   As is the case with all GL commands that accept pointers to data, it is as
  10392.   if the contents of points were copied by glMap2 before it returned.
  10393.   Changes to the contents of points have no effect after glMap2 is called.
  10394.  
  10395.  
  10396.  
  10397. Errors 
  10398.  
  10399.   GL_INVALID_ENUM is generated if target is not an accepted value.
  10400.  
  10401.   GL_INVALID_VALUE is generated if u1 is equal to u2, or if v1 is equal to
  10402.   v2.
  10403.  
  10404.   GL_INVALID_VALUE is generated if either ustride or vstride is less than the
  10405.   number of values in a control point.
  10406.  
  10407.   GL_INVALID_VALUE is generated if either uorder or vorder is less than one
  10408.   or greater than GL_MAX_EVAL_ORDER.
  10409.  
  10410.   GL_INVALID_OPERATION is generated if glMap2 is executed between the
  10411.   execution of glBegin and the corresponding execution of glEnd.
  10412.  
  10413.  
  10414.  
  10415. Associated Gets 
  10416.  
  10417.   glGetMap
  10418.   glGet with argument GL_MAX_EVAL_ORDER
  10419.   glIsEnabled with argument GL_MAP2_VERTEX_3
  10420.   glIsEnabled with argument GL_MAP2_VERTEX_4
  10421.   glIsEnabled with argument GL_MAP2_INDEX
  10422.   glIsEnabled with argument GL_MAP2_COLOR_4
  10423.   glIsEnabled with argument GL_MAP2_NORMAL
  10424.   glIsEnabled with argument GL_MAP2_TEXTURE_COORD_1
  10425.   glIsEnabled with argument GL_MAP2_TEXTURE_COORD_2
  10426.   glIsEnabled with argument GL_MAP2_TEXTURE_COORD_3
  10427.   glIsEnabled with argument GL_MAP2_TEXTURE_COORD_4
  10428.  
  10429.  
  10430.  
  10431. See Also 
  10432.  
  10433.   glBegin, glColor, glEnable, glEvalCoord, glEvalMesh, glEvalPoint, glMap1,
  10434.   glMapGrid, glNormal, glTexCoord, glVertex
  10435.  
  10436.  
  10437. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  10438.  
  10439.  Introduction | Alphabetic | Specification 
  10440.  
  10441. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  10442. Look here for legal stuff:  Legal 
  10443.  
  10444.  
  10445. ΓòÉΓòÉΓòÉ 3.75. glMapGrid ΓòÉΓòÉΓòÉ
  10446.  
  10447.  OpenGL man pages 
  10448.  
  10449. glMapGrid 
  10450.  
  10451.  
  10452.  
  10453.  
  10454.  
  10455.  
  10456. Name 
  10457.  
  10458.   glMapGrid1d, glMapGrid1f, glMapGrid2d, glMapGrid2f - define a one- or two-
  10459.   dimensional mesh
  10460.  
  10461.  
  10462.  
  10463.  
  10464. C Specification 
  10465.  
  10466.   void glMapGrid1d( GLint un,
  10467.                     GLdouble u1,
  10468.                     GLdouble u2 )
  10469.   void glMapGrid1f( GLint un,
  10470.                     GLfloat u1,
  10471.                     GLfloat u2 )
  10472.   void glMapGrid2d( GLint un,
  10473.                     GLdouble u1,
  10474.                     GLdouble u2,
  10475.                     GLint vn,
  10476.                     GLdouble v1,
  10477.                     GLdouble v2 )
  10478.   void glMapGrid2f( GLint un,
  10479.                     GLfloat u1,
  10480.                     GLfloat u2,
  10481.                     GLint vn,
  10482.                     GLfloat v1,
  10483.                     GLfloat v2 )
  10484.  
  10485.  
  10486.  
  10487.  
  10488. Parameters 
  10489.  
  10490.  
  10491.   un  Specifies the number of partitions in the grid range interval [u1, u2].
  10492.       Must be positive.
  10493.  
  10494.   u1, u2
  10495.       Specify the mappings for integer grid domain values i=0 and i=un.
  10496.  
  10497.   vn  Specifies the number of partitions in the grid range interval [v1, v2]
  10498.       (glMapGrid2 only).
  10499.  
  10500.   v1, v2
  10501.       Specify the mappings for integer grid domain values j=0 and j=vn
  10502.       (glMapGrid2 only).
  10503.  
  10504.  
  10505.  
  10506.  
  10507. Description 
  10508.  
  10509.   glMapGrid and glEvalMesh are used in tandem to efficiently generate and
  10510.   evaluate a series of evenly spaced map domain values.  glEvalMesh steps
  10511.   through the integer domain of a one- or two-dimensional grid, whose range
  10512.   is the domain of the evaluation maps specified by glMap1 and glMap2.
  10513.  
  10514.   glMapGrid1 and glMapGrid2 specify the linear grid mappings between the i
  10515.   (or i and j) integer grid coordinates, to the u (or u and v) floating-point
  10516.   evaluation map coordinates.  See glMap1 and glMap2 for details of how u and
  10517.   v coordinates are evaluated.
  10518.  
  10519.   glMapGrid1 specifies a single linear mapping such that integer grid
  10520.   coordinate 0 maps exactly to u1, and integer grid coordinate un maps
  10521.   exactly to u2.  All other integer grid coordinates i are mapped such that
  10522.  
  10523.                              u = i(u2-u1)/un + u1
  10524.  
  10525.   glMapGrid2 specifies two such linear mappings.  One maps integer grid
  10526.   coordinate i=0 exactly to u1, and integer grid coordinate i=un exactly to
  10527.   u2.  The other maps integer grid coordinate j=0 exactly to v1, and integer
  10528.   grid coordinate j=vn exactly to v2.  Other integer grid coordinates i and j
  10529.   are mapped such that
  10530.  
  10531.                              u = i(u2-u1)/un + u1
  10532.  
  10533.                              v = j(v2-v1)/vn + v1
  10534.  
  10535.   The mappings specified by glMapGrid are used identically by glEvalMesh and
  10536.   glEvalPoint.
  10537.  
  10538.  
  10539.  
  10540. Errors 
  10541.  
  10542.   GL_INVALID_VALUE is generated if either un or vn is not positive.
  10543.  
  10544.   GL_INVALID_OPERATION is generated if glMapGrid is called between a call to
  10545.   glBegin and the corresponding call to glEnd.
  10546.  
  10547.  
  10548.  
  10549. Associated Gets 
  10550.  
  10551.   glGet with argument GL_MAP1_GRID_DOMAIN
  10552.   glGet with argument GL_MAP2_GRID_DOMAIN
  10553.   glGet with argument GL_MAP1_GRID_SEGMENTS
  10554.   glGet with argument GL_MAP2_GRID_SEGMENTS
  10555.  
  10556.  
  10557.  
  10558. See Also 
  10559.  
  10560.   glEvalCoord, glEvalMesh, glEvalPoint, glMap1, glMap2
  10561.  
  10562.  
  10563.  
  10564. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  10565.  
  10566.  Introduction | Alphabetic | Specification 
  10567.  
  10568. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  10569. Look here for legal stuff:  Legal 
  10570.  
  10571.  
  10572. ΓòÉΓòÉΓòÉ 3.76. glMaterial ΓòÉΓòÉΓòÉ
  10573.  
  10574.  OpenGL man pages 
  10575.  
  10576. glMaterial 
  10577.  
  10578.  
  10579.  
  10580.  
  10581.  
  10582.  
  10583. Name 
  10584.  
  10585.   glMaterialf, glMateriali, glMaterialfv, glMaterialiv - specify material
  10586.   parameters for the lighting model
  10587.  
  10588.  
  10589.  
  10590.  
  10591. C Specification 
  10592.  
  10593.   void glMaterialf( GLenum face,
  10594.                     GLenum pname,
  10595.                     GLfloat param )
  10596.   void glMateriali( GLenum face,
  10597.                     GLenum pname,
  10598.                     GLint param )
  10599.  
  10600.  
  10601.  
  10602.  
  10603. Parameters 
  10604.  
  10605.  
  10606.   face    Specifies which face or faces are being updated.  Must be one of
  10607.           GL_FRONT, GL_BACK, or GL_FRONT_AND_BACK.
  10608.  
  10609.   pname   Specifies the single-valued material parameter of the face or faces
  10610.           that is being updated.  Must be GL_SHININESS.
  10611.  
  10612.   param   Specifies the value that parameter GL_SHININESS will be set to.
  10613.  
  10614.  
  10615.  
  10616. C Specification 
  10617.  
  10618.   void glMaterialfv( GLenum face,
  10619.                      GLenum pname,
  10620.                      const GLfloat *params )
  10621.   void glMaterialiv( GLenum face,
  10622.                      GLenum pname,
  10623.                      const GLint *params )
  10624.  
  10625.  
  10626.  
  10627.  
  10628. Parameters 
  10629.  
  10630.  
  10631.   face Specifies which face or faces are being updated.  Must be one of
  10632.        GL_FRONT, GL_BACK, or GL_FRONT_AND_BACK.
  10633.  
  10634.   pname
  10635.        Specifies the material parameter of the face or faces that is being
  10636.        updated.  Must be one of GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR,
  10637.        GL_EMISSION, GL_SHININESS, GL_AMBIENT_AND_DIFFUSE,  or
  10638.        GL_COLOR_INDEXES.
  10639.  
  10640.   params
  10641.        Specifies a pointer to the value or values that pname will be set to.
  10642.  
  10643.  
  10644.  
  10645.  
  10646. Description 
  10647.  
  10648.   glMaterial assigns values to material parameters.  There are two matched
  10649.   sets of material parameters.  One, the front-facing set, is used to shade
  10650.   points, lines, bitmaps, and all polygons (when two-sided lighting is
  10651.   disabled), or just front-facing polygons (when two-sided lighting is
  10652.   enabled).  The other set, back-facing, is used to shade back-facing
  10653.   polygons only when two-sided lighting is enabled.  Refer to the
  10654.   glLightModel reference page for details concerning one- and two-sided
  10655.   lighting calculations.
  10656.  
  10657.  
  10658.   glMaterial takes three arguments.  The first, face, specifies whether the
  10659.   GL_FRONT materials, the GL_BACK materials, or both GL_FRONT_AND_BACK
  10660.   materials will be modified.  The second, pname, specifies which of several
  10661.   parameters in one or both sets will be modified.  The third, params,
  10662.   specifies what value or values will be assigned to the specified parameter.
  10663.  
  10664.   Material parameters are used in the lighting equation that is optionally
  10665.   applied to each vertex.  The equation is discussed in the glLightModel
  10666.   reference page.  The parameters that can be specified using glMaterial, and
  10667.   their interpretations by the lighting equation, are as follows:
  10668.  
  10669.   GL_AMBIENT          params contains four integer or floating-point values
  10670.                       that specify the ambient RGBA reflectance of the
  10671.                       material.  Integer values are mapped linearly such that
  10672.                       the most positive representable value maps to 1.0, and
  10673.                       the most negative representable value maps to -1.0.
  10674.                       Floating-point values are mapped directly.  Neither
  10675.                       integer nor floating-point values are clamped.  The
  10676.                       default ambient reflectance for both front- and back-
  10677.                       facing materials is (0.2, 0.2, 0.2, 1.0).
  10678.  
  10679.   GL_DIFFUSE          params contains four integer or floating-point values
  10680.                       that specify the diffuse RGBA reflectance of the
  10681.                       material.  Integer values are mapped linearly such that
  10682.                       the most positive representable value maps to 1.0, and
  10683.                       the most negative representable value maps to -1.0.
  10684.                       Floating-point values are mapped directly.  Neither
  10685.                       integer nor floating-point values are clamped.  The
  10686.                       default diffuse reflectance for both front- and back-
  10687.                       facing materials is (0.8, 0.8, 0.8, 1.0).
  10688.  
  10689.   GL_SPECULAR         params contains four integer or floating-point values
  10690.                       that specify the specular RGBA reflectance of the
  10691.                       material.  Integer values are mapped linearly such that
  10692.                       the most positive representable value maps to 1.0, and
  10693.                       the most negative representable value maps to -1.0.
  10694.                       Floating-point values are mapped directly.  Neither
  10695.                       integer nor floating-point values are clamped.  The
  10696.                       default specular reflectance for both front- and back-
  10697.                       facing materials is (0.0, 0.0, 0.0, 1.0).
  10698.  
  10699.   GL_EMISSION         params contains four integer or floating-point values
  10700.                       that specify the RGBA emitted light intensity of the
  10701.                       material.  Integer values are mapped linearly such that
  10702.                       the most positive representable value maps to 1.0, and
  10703.                       the most negative representable value maps to -1.0.
  10704.                       Floating-point values are mapped directly.  Neither
  10705.                       integer nor floating-point values are clamped.  The
  10706.                       default emission intensity for both front- and back-
  10707.                       facing materials is (0.0, 0.0, 0.0, 1.0).
  10708.  
  10709.   GL_SHININESS        params is a single integer or floating-point value that
  10710.                       specifies the RGBA specular exponent of the material.
  10711.                       Integer and floating-point values are mapped directly.
  10712.                       Only values in the range [0,128] are accepted.  The
  10713.                       default specular exponent for both front- and back-
  10714.                       facing materials is 0.
  10715.  
  10716.   GL_AMBIENT_AND_DIFFUSE
  10717.                       Equivalent to calling glMaterial twice with the same
  10718.                       parameter values, once with GL_AMBIENT and once with
  10719.                       GL_DIFFUSE.
  10720.  
  10721.   GL_COLOR_INDEXES    params contains three integer or floating-point values
  10722.                       specifying the color indices for ambient, diffuse, and
  10723.                       specular lighting.  These three values, and
  10724.                       GL_SHININESS, are the only material values used by the
  10725.                       color index mode lighting equation.  Refer to the
  10726.                       glLightModel reference page for a discussion of color
  10727.                       index lighting.
  10728.  
  10729.  
  10730.  
  10731. Notes 
  10732.  
  10733.   The material parameters can be updated at any time.  In particular,
  10734.   glMaterial can be called between a call to glBegin and the corresponding
  10735.   call to glEnd.  If only a single material parameter is to be changed per
  10736.   vertex, however, glColorMaterial is preferred over glMaterial (see
  10737.   glColorMaterial).
  10738.  
  10739.  
  10740.  
  10741. Errors 
  10742.  
  10743.   GL_INVALID_ENUM is generated if either face or pname is not an accepted
  10744.   value.
  10745.  
  10746.   GL_INVALID_VALUE is generated if a specular exponent outside the range
  10747.   [0,128] is specified.
  10748.  
  10749.  
  10750.  
  10751. Associated Gets 
  10752.  
  10753.   glGetMaterial
  10754.  
  10755.  
  10756.  
  10757. See Also 
  10758.  
  10759.   glColorMaterial, glLight, glLightModel
  10760.  
  10761.  
  10762.  
  10763. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  10764.  
  10765.  Introduction | Alphabetic | Specification 
  10766.  
  10767. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  10768. Look here for legal stuff:  Legal 
  10769.  
  10770.  
  10771. ΓòÉΓòÉΓòÉ 3.77. glMatrixMode ΓòÉΓòÉΓòÉ
  10772.  
  10773.  OpenGL man pages 
  10774.  
  10775. glMatrixMode 
  10776.  
  10777.  
  10778.  
  10779.  
  10780.  
  10781.  
  10782. Name 
  10783.  
  10784.   glMatrixMode - specify which matrix is the current matrix
  10785.  
  10786.  
  10787.  
  10788.  
  10789. C Specification 
  10790.  
  10791.   void glMatrixMode( GLenum mode )
  10792.  
  10793.  
  10794.  
  10795.  
  10796. Parameters 
  10797.  
  10798.  
  10799.   mode  Specifies which matrix stack is the target for subsequent matrix
  10800.         operations.  Three values are accepted: GL_MODELVIEW, GL_PROJECTION,
  10801.         and GL_TEXTURE.  The default value is GL_MODELVIEW.
  10802.  
  10803.  
  10804.  
  10805.  
  10806. Description 
  10807.  
  10808.   glMatrixMode sets the current matrix mode.  mode can assume one of three
  10809.   values:
  10810.  
  10811.   GL_MODELVIEW        Applies subsequent matrix operations to the modelview
  10812.                       matrix stack.
  10813.  
  10814.   GL_PROJECTION       Applies subsequent matrix operations to the projection
  10815.                       matrix stack.
  10816.  
  10817.   GL_TEXTURE          Applies subsequent matrix operations to the texture
  10818.                       matrix stack.
  10819.  
  10820.  
  10821.  
  10822. Errors 
  10823.  
  10824.   GL_INVALID_ENUM is generated if mode is not an accepted value.
  10825.  
  10826.   GL_INVALID_OPERATION is generated if glMatrixMode is executed between the
  10827.   execution of glBegin and the corresponding execution of glEnd.
  10828.  
  10829.  
  10830.  
  10831. Associated Gets 
  10832.  
  10833.   glGet with argument GL_MATRIX_MODE
  10834.  
  10835.  
  10836.  
  10837. See Also 
  10838.  
  10839.   glLoadMatrix, glPushMatrix
  10840.  
  10841.  
  10842.  
  10843. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  10844.  
  10845.  Introduction | Alphabetic | Specification 
  10846.  
  10847. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  10848. Look here for legal stuff:  Legal 
  10849.  
  10850.  
  10851. ΓòÉΓòÉΓòÉ 3.78. glMultMatrix ΓòÉΓòÉΓòÉ
  10852.  
  10853.  OpenGL man pages 
  10854.  
  10855. glMultMatrix 
  10856.  
  10857.  
  10858.  
  10859.  
  10860.  
  10861.  
  10862. Name 
  10863.  
  10864.   glMultMatrixd, glMultMatrixf - multiply the current matrix by an arbitrary
  10865.   matrix
  10866.  
  10867.  
  10868.  
  10869.  
  10870. C Specification 
  10871.  
  10872.   void glMultMatrixd( const GLdouble *m )
  10873.   void glMultMatrixf( const GLfloat *m )
  10874.  
  10875.  
  10876.  
  10877.  
  10878. Parameters 
  10879.  
  10880.  
  10881.   m  Specifies a pointer a to 4x4 matrix stored in column-major order as
  10882.      sixteen consecutive values.
  10883.  
  10884.  
  10885.  
  10886.  
  10887. Description 
  10888.  
  10889.   glMultMatrix multiplies the current matrix with the one specified in m.
  10890.   That is, if M is the current matrix and T is the matrix passed to
  10891.   glMultMatrix, then M is replaced with M Γòû T.
  10892.  
  10893.   The current matrix is the projection matrix, modelview matrix, or texture
  10894.   matrix, determined by the current matrix mode (see glMatrixMode).
  10895.  
  10896.   m points to a 4x4 matrix of single- or double-precision floating-point
  10897.   values stored in column-major order.  That is, the matrix is stored as
  10898.  
  10899.                               |a0  a4  a8   a12|
  10900.                               |                |
  10901.                               |a1  a5  a9   a13|
  10902.                               |                |
  10903.                               |a2  a6  a10  a14|
  10904.                               |                |
  10905.                               |a3  a7  a11  a15|
  10906.  
  10907.  
  10908.  
  10909. Errors 
  10910.  
  10911.   GL_INVALID_OPERATION is generated if glMultMatrix is executed between the
  10912.   execution of glBegin and the corresponding execution of glEnd.
  10913.  
  10914.  
  10915.  
  10916. Associated Gets 
  10917.  
  10918.   glGet with argument GL_MATRIX_MODE
  10919.   glGet with argument GL_MODELVIEW_MATRIX
  10920.   glGet with argument GL_PROJECTION_MATRIX
  10921.   glGet with argument GL_TEXTURE_MATRIX
  10922.  
  10923.  
  10924.  
  10925. See Also 
  10926.  
  10927.   glMatrixMode, glLoadIdentity, glLoadMatrix, glPushMatrix
  10928.  
  10929. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  10930.  
  10931.  Introduction | Alphabetic | Specification 
  10932.  
  10933. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  10934. Look here for legal stuff:  Legal 
  10935.  
  10936.  
  10937. ΓòÉΓòÉΓòÉ 3.79. glNewList ΓòÉΓòÉΓòÉ
  10938.  
  10939.  OpenGL man pages 
  10940.  
  10941. glNewList 
  10942.  
  10943.  
  10944.  
  10945.  
  10946.  
  10947.  
  10948. Name 
  10949.  
  10950.   glNewList, glEndList - create or replace a display list
  10951.  
  10952.  
  10953.  
  10954.  
  10955. C Specification 
  10956.  
  10957.   void glNewList( GLuint list,
  10958.                   GLenum mode )
  10959.  
  10960.  
  10961.  
  10962.  
  10963. Parameters 
  10964.  
  10965.  
  10966.   list  Specifies the display list name.
  10967.  
  10968.   mode  Specifies the compilation mode, which can be GL_COMPILE or
  10969.         GL_COMPILE_AND_EXECUTE.
  10970.  
  10971.  
  10972.  
  10973. C Specification 
  10974.  
  10975.   void glEndList( void )
  10976.  
  10977.  
  10978.  
  10979.  
  10980. Description 
  10981.  
  10982.   Display lists are groups of GL commands that have been stored for
  10983.   subsequent execution.  The display lists are created with glNewList.  All
  10984.   subsequent commands are placed in the display list, in the order issued,
  10985.   until glEndList is called.
  10986.  
  10987.   glNewList has two arguments.  The first argument, list, is a positive
  10988.   integer that becomes the unique name for the display list.  Names can be
  10989.   created and reserved with glGenLists and tested for uniqueness with
  10990.   glIsList.  The second argument, mode, is a symbolic constant that can
  10991.   assume one of two values:
  10992.  
  10993.   GL_COMPILE          Commands are merely compiled.
  10994.  
  10995.   GL_COMPILE_AND_EXECUTE
  10996.                       Commands are executed as they are compiled into the
  10997.                       display list.
  10998.  
  10999.   Certain commands are not compiled into the display list, but are executed
  11000.   immediately, regardless of the display-list mode.  These commands are
  11001.   glIsList, glGenLists, glDeleteLists, glFeedbackBuffer, glSelectBuffer,
  11002.   glRenderMode, glReadPixels, glPixelStore, glFlush, glFinish,
  11003. glIsEnabled,
  11004.   and all of the glGet routines.
  11005.  
  11006.   When glEndList is encountered, the display-list definition is completed by
  11007.   associating the list with the unique name list (specified in the glNewList
  11008.   command). If a display list with name list already exists, it is replaced
  11009.   only when glEndList is called.
  11010.  
  11011.  
  11012.  
  11013. Notes 
  11014.  
  11015.   glCallList and glCallLists can be entered into display lists.  The commands
  11016.   in the display list or lists executed by glCallList or glCallLists are not
  11017.   included in the display list being created, even if the list creation mode
  11018.   is GL_COMPILE_AND_EXECUTE.
  11019.  
  11020.   A display list is just a group of commands and arguments, so errors
  11021.   generated by commands in a display list must be generated when the list is
  11022.   executed. If the list is created in GL_COMPILE mode, errors are not
  11023.   generated until the list is executed.
  11024.  
  11025.  
  11026.  
  11027.  
  11028. Errors 
  11029.  
  11030.   GL_INVALID_VALUE is generated if list is zero.
  11031.  
  11032.   GL_INVALID_ENUM is generated if mode is not an accepted value.
  11033.  
  11034.   GL_INVALID_OPERATION is generated if glEndList is called without a
  11035.   preceding glNewList, or if glNewList is called while a display list is
  11036.   being defined.
  11037.  
  11038.   GL_INVALID_OPERATION is generated if glNewList or glEndList is executed
  11039.   between the execution of glBegin and the corresponding execution of glEnd.
  11040.  
  11041.   GL_OUT_OF_MEMORY is generated if there is insufficient memory to compile
  11042.   the display list.
  11043.  
  11044.  
  11045.  
  11046. Associated Gets 
  11047.  
  11048.   glIsList
  11049.  
  11050.  
  11051.  
  11052. See Also 
  11053.  
  11054.   glCallList, glCallLists, glDeleteLists, glGenLists
  11055.  
  11056.  
  11057.  
  11058. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  11059.  
  11060.  Introduction | Alphabetic | Specification 
  11061.  
  11062. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  11063. Look here for legal stuff:  Legal 
  11064.  
  11065.  
  11066. ΓòÉΓòÉΓòÉ 3.80. glNormal ΓòÉΓòÉΓòÉ
  11067.  
  11068.  OpenGL man pages 
  11069.  
  11070. glNormal 
  11071.  
  11072.  
  11073.  
  11074.  
  11075.  
  11076.  
  11077. Name 
  11078.  
  11079.   glNormal3b, glNormal3d, glNormal3f, glNormal3i, glNormal3s,
  11080. glNormal3bv,
  11081.   glNormal3dv, glNormal3fv, glNormal3iv, glNormal3sv - set the current normal
  11082.   vector
  11083.  
  11084.  
  11085.  
  11086.  
  11087.  
  11088. C Specification 
  11089.  
  11090.   void glNormal3b( GLbyte nx,
  11091.                    GLbyte ny,
  11092.                    GLbyte nz )
  11093.   void glNormal3d( GLdouble nx,
  11094.                    GLdouble ny,
  11095.                    GLdouble nz )
  11096.   void glNormal3f( GLfloat nx,
  11097.                    GLfloat ny,
  11098.                    GLfloat nz )
  11099.   void glNormal3i( GLint nx,
  11100.                    GLint ny,
  11101.                    GLint nz )
  11102.   void glNormal3s( GLshort nx,
  11103.                    GLshort ny,
  11104.                    GLshort nz )
  11105.  
  11106.  
  11107.  
  11108.  
  11109. Parameters 
  11110.  
  11111.  
  11112.   nx, ny, nz
  11113.             Specify the x, y, and z coordinates of the new current normal.
  11114.             The initial value of the current normal is (0,0,1).
  11115.  
  11116.  
  11117.  
  11118.  
  11119. C Specification 
  11120.  
  11121.   void glNormal3bv( const GLbyte *v )
  11122.   void glNormal3dv( const GLdouble *v )
  11123.   void glNormal3fv( const GLfloat *v )
  11124.   void glNormal3iv( const GLint *v )
  11125.   void glNormal3sv( const GLshort *v )
  11126.  
  11127.  
  11128.  
  11129.  
  11130. Parameters 
  11131.  
  11132.  
  11133.   v    Specifies a pointer to an array of three elements: the x, y, and z
  11134.        coordinates of the new current normal.
  11135.  
  11136.  
  11137.  
  11138.  
  11139. Description 
  11140.  
  11141.   The current normal is set to the given coordinates whenever glNormal is
  11142.   issued.  Byte, short, or integer arguments are converted to floating-point
  11143.   format with a linear mapping that maps the most positive representable
  11144.   integer value to 1.0, and the most negative representable integer value to
  11145.   -1.0.
  11146.  
  11147.   Normals specified with glNormal need not have unit length.  If
  11148.   normalization is enabled, then normals specified with glNormal are
  11149.   normalized after transformation.  Normalization is controlled using
  11150.   glEnable and glDisable with the argument GL_NORMALIZE.  By default,
  11151.   normalization is disabled.
  11152.  
  11153.  
  11154.  
  11155. Notes 
  11156.  
  11157.   The current normal can be updated at any time.  In particular, glNormal can
  11158.   be called between a call to glBegin and the corresponding call to glEnd.
  11159.  
  11160.  
  11161.  
  11162. Associated Gets 
  11163.  
  11164.   glGet with argument GL_CURRENT_NORMAL
  11165.   glIsEnable with argument GL_NORMALIZE
  11166.  
  11167.  
  11168.  
  11169. See Also 
  11170.  
  11171.   glBegin, glColor, glIndex, glTexCoord, glVertex
  11172.  
  11173.  
  11174.  
  11175. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  11176.  
  11177.  Introduction | Alphabetic | Specification 
  11178.  
  11179. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  11180. Look here for legal stuff:  Legal 
  11181.  
  11182.  
  11183. ΓòÉΓòÉΓòÉ 3.81. glNormalPointerEXT ΓòÉΓòÉΓòÉ
  11184.  
  11185.  OpenGL man pages 
  11186.  
  11187. glNormalPointerEXT 
  11188.  
  11189.  
  11190.  
  11191.  
  11192.  
  11193.  
  11194. Name 
  11195.  
  11196.   glNormalPointerEXT - define a array of normals
  11197.  
  11198.  
  11199.  
  11200.  
  11201. C Specification 
  11202.  
  11203.   void glNormalPointerEXT( GLenum type,
  11204.                            GLsizei stride,
  11205.                            GLsizei count,
  11206.                            const GLvoid *pointer )
  11207.  
  11208.  
  11209.  
  11210.  
  11211. Parameters 
  11212.  
  11213.  
  11214.   type     Specifies the the data type of each coordinate in the array.
  11215.            Symbolic constants GL_BYTE, GL_SHORT, GL_INT, GL_FLOAT, or
  11216.            GL_DOUBLE_EXT are accepted.
  11217.  
  11218.   stride   Specifies the byte offset between consecutive normals.
  11219.  
  11220.   count    Specifies the number of normals, counting from the first, that are
  11221.            static.
  11222.  
  11223.   pointer  Specifies a pointer to the first coordinate of the first normal in
  11224.            the array.
  11225.  
  11226.  
  11227.  
  11228.  
  11229. Description 
  11230.  
  11231.   glNormalPointerEXT specifies the location and data format of an array of
  11232.   normals to use when rendering using the vertex array extension. type specifies
  11233.   the data type of the normal coordinates and stride gives the byte stride
  11234.   from one normal to the next allowing vertexes and attributes to be packed
  11235.   into a single array or stored in separate arrays.  (Single-array storage may
  11236.   be more efficient on some implementations.) count indicates the number of
  11237.   array elements (counting from the first) that are static. Static elements
  11238.   may be modified by the application, but once they are modified, the
  11239.   application must explicitly respecify the array before using it for any
  11240.   rendering. When a normal array is specified, type, stride, count and pointer
  11241.   are saved as client-side state, and static array elements may be cached by
  11242.   the implementation.
  11243.  
  11244.   The normal array is enabled and disabled using glEnable and glDisable with
  11245.   the argument GL_NORMAL_ARRAY_EXT. If enabled, the normal array is used when
  11246.   glDrawArraysEXT or glArrayElementEXT is called.
  11247.  
  11248.   Use glDrawArraysEXT to define a sequence of primitives (all of the same
  11249.   type) from pre-specified vertex and vertex attribute arrays.  Use
  11250.   glArrayElementEXT to specify primitives by indexing vertexes and vertex
  11251.   attributes.
  11252.  
  11253.  
  11254.  
  11255. Notes 
  11256.  
  11257.   Non-static array elements are not accessed until glArrayElementEXT or
  11258.   glDrawArraysEXT is executed.
  11259.  
  11260.  
  11261.   By default the normal array is disabled and it won't be accessed when
  11262.   glArrayElementEXT or glDrawArraysEXT is called.
  11263.  
  11264.  
  11265.   Although it is not an error to call glNormalPointerEXT between the
  11266.   execution of glBegin and the corresponding execution of glEnd, the results
  11267.   are undefined.
  11268.  
  11269.  
  11270.   glNormalPointerEXT will typically be implemented on the client side with no
  11271.   protocol.
  11272.  
  11273.  
  11274.   Since the normal array parameters are client side state, they are not saved
  11275.   or restored by glPushAttrib and glPopAttrib.
  11276.  
  11277.  
  11278.   glNormalPointerEXT commands are not entered into display lists.
  11279.  
  11280.  
  11281.   glNormalPointerEXT is part of the EXT_vertex_array extension, not
  11282.   part of the core GL command set. If "GL_EXT_vertex_array" is
  11283.   included in the string returned by glGetString, when called with argument
  11284.   GL_EXTENSIONS, extension EXT_vertex_array is supported.
  11285.  
  11286.  
  11287.  
  11288. Errors 
  11289.  
  11290.   GL_INVALID_ENUM is generated if type is not an accepted value.
  11291.  
  11292.   GL_INVALID_VALUE is generated if stride or count is negative.
  11293.  
  11294.  
  11295.  
  11296.  
  11297. Associated Gets 
  11298.  
  11299.   glIsEnabled with argument GL_NORMAL_ARRAY_EXT
  11300.   glGet with argument GL_NORMAL_ARRAY_TYPE_EXT
  11301.   glGet with argument GL_NORMAL_ARRAY_STRIDE_EXT
  11302.   glGet with argument GL_NORMAL_ARRAY_COUNT_EXT
  11303.   glGetPointervEXT with argument GL_NORMAL_ARRAY_POINTER_EXT
  11304.  
  11305.  
  11306.  
  11307. See Also 
  11308.  
  11309.   glArrayElementEXT, glColorPointerEXT, glDrawArraysEXT,
  11310.   glEdgeFlagPointerEXT, glGetPointervEXT, glIndexPointerEXT,
  11311.   glTexCoordPointerEXT, glVertexPointerEXT, glEnable
  11312.  
  11313.  
  11314. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  11315.  
  11316.  Introduction | Alphabetic | Specification 
  11317.  
  11318. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  11319. Look here for legal stuff:  Legal 
  11320.  
  11321.  
  11322. ΓòÉΓòÉΓòÉ 3.82. glOrtho ΓòÉΓòÉΓòÉ
  11323.  
  11324.  OpenGL man pages 
  11325.  
  11326. glOrtho 
  11327.  
  11328.  
  11329.  
  11330.  
  11331.  
  11332.  
  11333. Name 
  11334.  
  11335.   glOrtho - multiply the current matrix by an orthographic matrix
  11336.  
  11337.  
  11338.  
  11339.  
  11340. C Specification 
  11341.  
  11342.   void glOrtho( GLdouble left,
  11343.                 GLdouble right,
  11344.                 GLdouble bottom,
  11345.                 GLdouble top,
  11346.                 GLdouble near,
  11347.                 GLdouble far )
  11348.  
  11349.  
  11350.  
  11351.  
  11352. Parameters 
  11353.  
  11354.  
  11355.   left, right Specify the coordinates for the left and right vertical
  11356.               clipping planes.
  11357.  
  11358.   bottom, top Specify the coordinates for the bottom and top horizontal
  11359.               clipping planes.
  11360.  
  11361.   near, far   Specify the distances to the nearer and farther depth clipping
  11362.               planes.  These distances are negative if the plane is to be
  11363.               behind the viewer.
  11364.  
  11365.  
  11366.  
  11367.  
  11368. Description 
  11369.  
  11370.   glOrtho describes a perspective matrix that produces a parallel projection.
  11371.   (left, bottom,  -near) and (right, top,  -near) specify the points on the
  11372.   near clipping plane that are mapped to the lower left and upper right
  11373.   corners of the window, respectively, assuming that the eye is located at
  11374.   (0, 0, 0).  -far specifies the location of the far clipping plane.  Both
  11375.   near and far can be either positive or negative.  The corresponding matrix
  11376.   is
  11377.  
  11378.                     |     2                               |
  11379.                     |----------      0          0      t  |
  11380.                     |right-left                         x |
  11381.                     |                                     |
  11382.                     |                 2                   |
  11383.                     |    0       ----------     0      t  |
  11384.                     |            top-bottom             y |
  11385.                     |                                     |
  11386.                     |                                     |
  11387.                     |    0           0          -2        |
  11388.                     |                        --------  t  |
  11389.                     |                        far-near   z |
  11390.                     |                                     |
  11391.                     |    0           0          0      1  |
  11392.  
  11393.   where
  11394.                                       right+left
  11395.                                t  = - ----------
  11396.                                 x     right-left
  11397.  
  11398.                                       top+bottom
  11399.                                t  = - ----------
  11400.                                 y     top-bottom
  11401.  
  11402.                                        far+near
  11403.                                 t  = - --------
  11404.                                  z     far-near
  11405.  
  11406.   The current matrix is multiplied by this matrix with the result replacing
  11407.   the current matrix.  That is, if M is the current matrix and O is the ortho
  11408.   matrix, then M is replaced with M Γòû O.
  11409.  
  11410.   Use glPushMatrix and glPopMatrix to save and restore the current matrix
  11411.   stack.
  11412.  
  11413.  
  11414.  
  11415. Errors 
  11416.  
  11417.   GL_INVALID_OPERATION is generated if glOrtho is executed between the
  11418.   execution of  glBegin and the corresponding execution of glEnd.
  11419.  
  11420.  
  11421.  
  11422. Associated Gets 
  11423.  
  11424.   glGet with argument GL_MATRIX_MODE
  11425.   glGet with argument GL_MODELVIEW_MATRIX
  11426.   glGet with argument GL_PROJECTION_MATRIX
  11427.   glGet with argument GL_TEXTURE_MATRIX
  11428.  
  11429.  
  11430.  
  11431. See Also 
  11432.  
  11433.   glFrustum, glMatrixMode, glMultMatrix, glPushMatrix, glViewport
  11434.  
  11435.  
  11436. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  11437.  
  11438.  Introduction | Alphabetic | Specification 
  11439.  
  11440. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  11441. Look here for legal stuff:  Legal 
  11442.  
  11443.  
  11444. ΓòÉΓòÉΓòÉ 3.83. glPassThrough ΓòÉΓòÉΓòÉ
  11445.  
  11446.  OpenGL man pages 
  11447.  
  11448. glPassThrough 
  11449.  
  11450.  
  11451.  
  11452.  
  11453.  
  11454.  
  11455. Name 
  11456.  
  11457.   glPassThrough - place a marker in the feedback buffer
  11458.  
  11459.  
  11460.  
  11461.  
  11462.  
  11463. C Specification 
  11464.  
  11465.   void glPassThrough( GLfloat token )
  11466.  
  11467.  
  11468.  
  11469.  
  11470. Parameters 
  11471.  
  11472.  
  11473.   token  Specifies a marker value to be placed in the feedback buffer
  11474.          following a GL_PASS_THROUGH_TOKEN.
  11475.  
  11476.  
  11477.  
  11478.  
  11479. Description 
  11480.  
  11481.  
  11482.   Feedback is a GL render mode.  The mode is selected by calling glRenderMode
  11483.   with GL_FEEDBACK.  When the GL is in feedback mode, no pixels are produced
  11484.   by rasterization.  Instead, information about primitives that would have
  11485.   been rasterized is fed back to the application using the GL.  See
  11486.   glFeedbackBuffer for a description of the feedback buffer and the values in
  11487.   it.
  11488.  
  11489.   glPassThrough inserts a user-defined marker in the feedback buffer when it
  11490.   is executed in feedback mode. token is returned as if it were a primitive;
  11491.   it is indicated with its own unique identifying value:
  11492.   GL_PASS_THROUGH_TOKEN.  The order of glPassThrough commands with respect to
  11493.   the specification of graphics primitives is maintained.
  11494.  
  11495.  
  11496.  
  11497. Notes 
  11498.  
  11499.   glPassThrough is ignored if the GL is not in feedback mode.
  11500.  
  11501.  
  11502.  
  11503. Errors 
  11504.  
  11505.   GL_INVALID_OPERATION is generated if glPassThrough is executed between the
  11506.   execution of glBegin and the corresponding execution of glEnd.
  11507.  
  11508.  
  11509.  
  11510. Associated Gets 
  11511.  
  11512.   glGet with argument GL_RENDER_MODE
  11513.  
  11514.  
  11515.  
  11516. See Also 
  11517.  
  11518.   glFeedbackBuffer, glRenderMode
  11519.  
  11520.  
  11521.  
  11522. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  11523.  
  11524.  Introduction | Alphabetic | Specification 
  11525.  
  11526. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  11527. Look here for legal stuff:  Legal 
  11528.  
  11529.  
  11530. ΓòÉΓòÉΓòÉ 3.84. glPixelMap ΓòÉΓòÉΓòÉ
  11531.  
  11532.  OpenGL man pages 
  11533.  
  11534. glPixelMap 
  11535.  
  11536.  
  11537.  
  11538.  
  11539.  
  11540.  
  11541. Name 
  11542.  
  11543.   glPixelMapfv, glPixelMapuiv, glPixelMapusv - set up pixel transfer maps
  11544.  
  11545.  
  11546.  
  11547.  
  11548. C Specification 
  11549.  
  11550.   void glPixelMapfv( GLenum map,
  11551.                      GLint mapsize,
  11552.                      const GLfloat *values )
  11553.   void glPixelMapuiv( GLenum map,
  11554.                       GLint mapsize,
  11555.                       const GLuint *values )
  11556.   void glPixelMapusv( GLenum map,
  11557.                       GLint mapsize,
  11558.                       const GLushort *values )
  11559.  
  11560.  
  11561.  
  11562.  
  11563. Parameters 
  11564.  
  11565.  
  11566.   map      Specifies a symbolic map name.  Must be one of the following:
  11567.            GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R,
  11568.            GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A,
  11569.            GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, or
  11570.            GL_PIXEL_MAP_A_TO_A.
  11571.  
  11572.   mapsize  Specifies the size of the map being defined.
  11573.  
  11574.   values   Specifies an array of mapsize values.
  11575.  
  11576.  
  11577.  
  11578.  
  11579. Description 
  11580.  
  11581.   glPixelMap sets up translation tables, or maps, used by glDrawPixels,
  11582.   glReadPixels, glCopyPixels, glTexImage1D, and glTexImage2D.  Use of these
  11583.   maps is described completely in the glPixelTransfer reference page, and
  11584.   partly in the reference pages for the pixel and texture image commands.
  11585.   Only the specification of the maps is described in this reference page.
  11586.  
  11587.   map is a symbolic map name, indicating one of ten maps to set.  mapsize
  11588.   specifies the number of entries in the map, and values is a pointer to an
  11589.   array of mapsize map values.
  11590.  
  11591.   The ten maps are as follows:
  11592.  
  11593.   GL_PIXEL_MAP_I_TO_I           Maps color indices to color indices.
  11594.  
  11595.   GL_PIXEL_MAP_S_TO_S           Maps stencil indices to stencil indices.
  11596.  
  11597.   GL_PIXEL_MAP_I_TO_R           Maps color indices to red components.
  11598.  
  11599.   GL_PIXEL_MAP_I_TO_G           Maps color indices to green components.
  11600.  
  11601.   GL_PIXEL_MAP_I_TO_B           Maps color indices to blue components.
  11602.  
  11603.   GL_PIXEL_MAP_I_TO_A           Maps color indices to alpha components.
  11604.  
  11605.   GL_PIXEL_MAP_R_TO_R           Maps red components to red components.
  11606.  
  11607.   GL_PIXEL_MAP_G_TO_G           Maps green components to green components.
  11608.  
  11609.   GL_PIXEL_MAP_B_TO_B           Maps blue components to blue components.
  11610.  
  11611.   GL_PIXEL_MAP_A_TO_A           Maps alpha components to alpha components.
  11612.  
  11613.   The entries in a map can be specified as single-precision floating-point
  11614.   numbers, unsigned short integers, or unsigned long integers.  Maps that
  11615.   store color component values (all but GL_PIXEL_MAP_I_TO_I and
  11616.   GL_PIXEL_MAP_S_TO_S) retain their values in floating-point format, with
  11617.   unspecified mantissa and exponent sizes.  Floating-point values specified
  11618.   by glPixelMapfv are converted directly to the internal floating-point
  11619.   format of these maps, then clamped to the range [0,1].  Unsigned integer
  11620.   values specified by glPixelMapusv and glPixelMapuiv are converted linearly
  11621.   such that the largest representable integer maps to 1.0, and zero maps to
  11622.   0.0.
  11623.  
  11624.   Maps that store indices, GL_PIXEL_MAP_I_TO_I and GL_PIXEL_MAP_S_TO_S,
  11625.   retain their values in fixed-point format, with an unspecified number of
  11626.   bits to the right of the binary point.  Floating-point values specified by
  11627.   glPixelMapfv are converted directly to the internal fixed-point format of
  11628.   these maps.  Unsigned integer values specified by glPixelMapusv and
  11629.   glPixelMapuiv specify integer values, with all zeros to the right of the
  11630.   binary point.
  11631.  
  11632.   The table below shows the initial sizes and values for each of the maps.
  11633.   Maps that are indexed by either color or stencil indices must have mapsize
  11634.   = 2n for some n or results are undefined.  The maximum allowable size for
  11635.   each map depends on the implementation and can be determined by calling
  11636.   glGet with argument GL_MAX_PIXEL_MAP_TABLE.  The single maximum applies to
  11637.   all maps, and it is at least 32.
  11638. --------------------------------------------------------------------------------------
  11639. |        map         |  lookup index  |  lookup value  | initial size | initial value |
  11640. --------------------------------------------------------------------------------------
  11641. |GL_PIXEL_MAP_I_TO_I |  color index   |  color index   |      1       |      0.0      |
  11642. |GL_PIXEL_MAP_S_TO_S | stencil index  | stencil index  |      1       |       0       |
  11643. |GL_PIXEL_MAP_I_TO_R |  color index   |       R        |      1       |      0.0      |
  11644. |GL_PIXEL_MAP_I_TO_G |  color index   |       G        |      1       |      0.0      |
  11645. |GL_PIXEL_MAP_I_TO_B |  color index   |       B        |      1       |      0.0      |
  11646. |GL_PIXEL_MAP_I_TO_A |  color index   |       A        |      1       |      0.0      |
  11647. |GL_PIXEL_MAP_R_TO_R |       R        |       R        |      1       |      0.0      |
  11648. |GL_PIXEL_MAP_G_TO_G |       G        |       G        |      1       |      0.0      |
  11649. |GL_PIXEL_MAP_B_TO_B |       B        |       B        |      1       |      0.0      |
  11650. |GL_PIXEL_MAP_A_TO_A |       A        |       A        |      1       |      0.0      |
  11651. --------------------------------------------------------------------------------------
  11652.  
  11653.  
  11654.  
  11655. Errors 
  11656.  
  11657.   GL_INVALID_ENUM is generated if map is not an accepted value.
  11658.  
  11659.   GL_INVALID_VALUE is generated if mapsize is negative or larger than
  11660.   GL_MAX_PIXEL_MAP_TABLE.
  11661.  
  11662.   GL_INVALID_VALUE is generated if map is GL_PIXEL_MAP_I_TO_I,
  11663.   GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G,
  11664.   GL_PIXEL_MAP_I_TO_B, or GL_PIXEL_MAP_I_TO_A, and mapsize is not a power of
  11665.   two.
  11666.  
  11667.   GL_INVALID_OPERATION is generated if glPixelMap is executed between the
  11668.   execution of glBegin and the corresponding execution of glEnd.
  11669.  
  11670.  
  11671.  
  11672. Associated Gets 
  11673.  
  11674.   glGetPixelMap
  11675.   glGet with argument GL_PIXEL_MAP_I_TO_I_SIZE
  11676.   glGet with argument GL_PIXEL_MAP_S_TO_S_SIZE
  11677.   glGet with argument GL_PIXEL_MAP_I_TO_R_SIZE
  11678.   glGet with argument GL_PIXEL_MAP_I_TO_G_SIZE
  11679.   glGet with argument GL_PIXEL_MAP_I_TO_B_SIZE
  11680.   glGet with argument GL_PIXEL_MAP_I_TO_A_SIZE
  11681.   glGet with argument GL_PIXEL_MAP_R_TO_R_SIZE
  11682.   glGet with argument GL_PIXEL_MAP_G_TO_G_SIZE
  11683.   glGet with argument GL_PIXEL_MAP_B_TO_B_SIZE
  11684.   glGet with argument GL_PIXEL_MAP_A_TO_A_SIZE
  11685.   glGet with argument GL_MAX_PIXEL_MAP_TABLE
  11686.  
  11687.  
  11688.  
  11689. See Also 
  11690.  
  11691.   glCopyPixels, glDrawPixels, glPixelStore, glPixelTransfer, glReadPixels,
  11692.   glTexImage1D, glTexImage2D
  11693.  
  11694.  
  11695.  
  11696. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  11697.  
  11698.  Introduction | Alphabetic | Specification 
  11699.  
  11700. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  11701. Look here for legal stuff:  Legal 
  11702.  
  11703.  
  11704. ΓòÉΓòÉΓòÉ 3.85. glPixelStore ΓòÉΓòÉΓòÉ
  11705.  
  11706.  OpenGL man pages 
  11707.  
  11708. glPixelStore 
  11709.  
  11710.  
  11711.  
  11712.  
  11713.  
  11714.  
  11715. Name 
  11716.  
  11717.   glPixelStoref, glPixelStorei - set pixel storage modes
  11718.  
  11719.  
  11720.  
  11721.  
  11722. C Specification 
  11723.  
  11724.   void glPixelStoref( GLenum pname,
  11725.                       GLfloat param )
  11726.   void glPixelStorei( GLenum pname,
  11727.                       GLint param )
  11728.  
  11729.  
  11730.  
  11731.  
  11732. Parameters 
  11733.  
  11734.  
  11735.   pname  Specifies the symbolic name of the parameter to be set.  Six values
  11736.          affect the packing of pixel data into memory: GL_PACK_SWAP_BYTES,
  11737.          GL_PACK_LSB_FIRST, GL_PACK_ROW_LENGTH, GL_PACK_SKIP_PIXELS,
  11738.          GL_PACK_SKIP_ROWS, and GL_PACK_ALIGNMENT.  Six more affect the
  11739.          unpacking of pixel data from memory: GL_UNPACK_SWAP_BYTES,
  11740.          GL_UNPACK_LSB_FIRST, GL_UNPACK_ROW_LENGTH, GL_UNPACK_SKIP_PIXELS,
  11741.          GL_UNPACK_SKIP_ROWS, and GL_UNPACK_ALIGNMENT.
  11742.  
  11743.   param  Specifies the value that pname is set to.
  11744.  
  11745.  
  11746.  
  11747.  
  11748. Description 
  11749.  
  11750.   glPixelStore sets pixel storage modes that affect the operation of
  11751.   subsequent glDrawPixels and glReadPixels as well as the unpacking of
  11752.   polygon stipple patterns (see glPolygonStipple), bitmaps (see glBitmap),
  11753.   and texture patterns (see glTexImage1D and glTexImage2D).
  11754.  
  11755.   pname is a symbolic constant indicating the parameter to be set, and param
  11756.   is the new value.  Six of the twelve storage parameters affect how pixel
  11757.   data is returned to client memory, and are therefore significant only for
  11758.   glReadPixels commands.  They are as follows:
  11759.  
  11760.   GL_PACK_SWAP_BYTES
  11761.             If true, byte ordering for multibyte color components, depth
  11762.             components, color indices, or stencil indices is reversed.  That
  11763.             is, if a four-byte component is made up of bytes b , b , b , b ,
  11764.                                                               0   1   2   3
  11765.             it is stored in memory as b , b , b , b  if GL_PACK_SWAP_BYTES is
  11766.                                        3   2   1   0
  11767.             true.  GL_PACK_SWAP_BYTES has no effect on the memory order of
  11768.             components within a pixel, only on the order of bytes within
  11769.             components or indices.  For example, the three components of a
  11770.             GL_RGB format pixel are always stored with red first, green
  11771.             second, and blue third, regardless of the value of
  11772.             GL_PACK_SWAP_BYTES.
  11773.  
  11774.   GL_PACK_LSB_FIRST
  11775.             If true, bits are ordered within a byte from least significant to
  11776.             most  significant; otherwise, the first bit in each byte is the
  11777.             most significant one.  This parameter is significant for bitmap
  11778.             data only.
  11779.  
  11780.   GL_PACK_ROW_LENGTH
  11781.             If greater than zero, GL_PACK_ROW_LENGTH defines the number of
  11782.             pixels in a row.  If the first pixel of a row is placed at
  11783.             location p in memory, then the location of the first pixel of the
  11784.             next row is obtained by skipping
  11785.  
  11786.                                  k = nl               if s >= a
  11787.  
  11788.                                                snl
  11789.                                  k = a/sΓòûceil( --- )  if s < a
  11790.                                                 a
  11791.  
  11792.             components or indices, where n is the number of components or
  11793.             indices in a pixel, l is the number of pixels in a row
  11794.             (GL_PACK_ROW_LENGTH if it is greater than zero, the width
  11795.             argument to the pixel routine otherwise), a is the value of
  11796.             GL_PACK_ALIGNMENT, and s is the size, in bytes, of a single
  11797.             component (if a<s, then it is as if a=s).  In the case of 1-bit
  11798.             values, the location of the next row is obtained by skipping
  11799.  
  11800.                                               nl
  11801.                                  k = 8aΓòûceil( -- )
  11802.                                               8a
  11803.  
  11804.             components or indices.
  11805.  
  11806.             The word component in this description refers to the nonindex
  11807.             values red, green, blue, alpha, and depth.  Storage format
  11808.             GL_RGB, for example, has three components per pixel: first red,
  11809.             then green, and finally blue.
  11810.  
  11811.   GL_PACK_SKIP_PIXELS and GL_PACK_SKIP_ROWS
  11812.             These values are provided as a convenience to the programmer;
  11813.             they provide no functionality that cannot be duplicated simply by
  11814.             incrementing the pointer passed to glReadPixels.  Setting
  11815.             GL_PACK_SKIP_PIXELS to i is equivalent to incrementing the
  11816.             pointer by in components or indices, where n is the number of
  11817.             components or indices in each pixel.  Setting GL_PACK_SKIP_ROWS
  11818.             to j is equivalent to incrementing the pointer by jk components
  11819.             or indices, where k is the number of components or indices per
  11820.             row, as computed above in the GL_PACK_ROW_LENGTH section.
  11821.  
  11822.   GL_PACK_ALIGNMENT
  11823.             Specifies the alignment requirements for the start of each pixel
  11824.             row in memory.  The allowable values are 1 (byte-alignment), 2
  11825.             (rows aligned to even-numbered bytes), 4 (word alignment), and 8
  11826.             (rows start on double-word boundaries).
  11827.  
  11828.   The other six of the twelve storage parameters affect how pixel data is
  11829.   read from client memory.  These values are significant for glDrawPixels,
  11830.   glTexImage1D, glTexImage2D, glBitmap, and glPolygonStipple.  They are as
  11831.   follows:
  11832.  
  11833.   GL_UNPACK_SWAP_BYTES
  11834.        If true, byte ordering for multibyte color components, depth
  11835.        components, color indices, or stencil indices is reversed.  That is,
  11836.        if a four-byte component is made up of bytes b , b , b , b , it is
  11837.                                                      0   1   2   3
  11838.        taken from memory as b , b , b , b  if GL_UNPACK_SWAP_BYTES is true.
  11839.                              3   2   1   0
  11840.        GL_UNPACK_SWAP_BYTES has no effect on the memory order of components
  11841.        within a pixel, only on the order of bytes within components or
  11842.        indices.  For example, the three components of a GL_RGB format pixel
  11843.        are always stored with red first, green second, and blue third,
  11844.        regardless of the value of GL_UNPACK_SWAP_BYTES.
  11845.  
  11846.   GL_UNPACK_LSB_FIRST
  11847.        If true, bits are ordered within a byte from least significant to most
  11848.        significant; otherwise, the first bit in each byte is the most
  11849.        significant one.  This is significant for bitmap data only.
  11850.  
  11851.   GL_UNPACK_ROW_LENGTH
  11852.        If greater than zero, GL_UNPACK_ROW_LENGTH defines the number of
  11853.        pixels in a row.  If the first pixel of a row is placed at location p
  11854.        in memory, then the location of the first pixel of the next row is
  11855.        obtained by skipping
  11856.  
  11857.                                  k = nl               if s >= a
  11858.  
  11859.                                                snl
  11860.                                  k = a/sΓòûceil( --- )  if s < a
  11861.                                                 a
  11862.  
  11863.        components or indices, where n is the number of components or indices
  11864.        in a pixel, l is the number of pixels in a row (GL_UNPACK_ROW_LENGTH
  11865.        if it is greater than zero, the width argument to the pixel routine
  11866.        otherwise), a is the value of GL_UNPACK_ALIGNMENT, and s is the size,
  11867.        in bytes, of a single component (if a<s, then it is as if a=s).  In
  11868.        the case of 1-bit values, the location of the next row is obtained by
  11869.        skipping
  11870.  
  11871.                                               nl
  11872.                                  k = 8aΓòûceil( -- )
  11873.                                               8a
  11874.  
  11875.        components or indices.
  11876.  
  11877.        The word component in this description refers to the nonindex values
  11878.        red, green, blue, alpha, and depth.  Storage format GL_RGB, for
  11879.        example, has three components per pixel: first red, then green, and
  11880.        finally blue.
  11881.  
  11882.   GL_UNPACK_SKIP_PIXELS and GL_UNPACK_SKIP_ROWS
  11883.        These values are provided as a convenience to the programmer; they
  11884.        provide no functionality that cannot be duplicated simply by
  11885.        incrementing the pointer passed to glDrawPixels, glTexImage1D,
  11886.        glTexImage2D, glBitmap, or glPolygonStipple.  Setting
  11887.        GL_UNPACK_SKIP_PIXELS to i is equivalent to incrementing the pointer
  11888.        by in components or indices, where n is the number of components or
  11889.        indices in each pixel.  Setting GL_UNPACK_SKIP_ROWS to j is equivalent
  11890.        to incrementing the pointer by jk components or indices, where k is
  11891.        the number of components or indices per row, as computed above in the
  11892.        GL_UNPACK_ROW_LENGTH section.
  11893.  
  11894.   GL_UNPACK_ALIGNMENT
  11895.        Specifies the alignment requirements for the start of each pixel row
  11896.        in memory.  The allowable values are 1 (byte-alignment), 2 (rows
  11897.        aligned to even-numbered bytes), 4 (word alignment), and 8 (rows start
  11898.        on double-word boundaries).
  11899.  
  11900.   The following table gives the type, initial value, and range of valid
  11901.   values for each of the storage parameters that can be set with
  11902.   glPixelStore.
  11903.  
  11904.        -----------------------------------------------------------------
  11905.        |   parameter name     |  type   | initial value |  valid range  |
  11906.        -----------------------------------------------------------------
  11907.        | GL_PACK_SWAP_BYTES   | Boolean |     false     | true or false |
  11908.        |  GL_PACK_LSB_FIRST   | Boolean |     false     | true or false |
  11909.        | GL_PACK_ROW_LENGTH   | integer |       0       |    [0,oo)     |
  11910.        |  GL_PACK_SKIP_ROWS   | integer |       0       |    [0,oo)     |
  11911.        | GL_PACK_SKIP_PIXELS  | integer |       0       |    [0,oo)     |
  11912.        |  GL_PACK_ALIGNMENT   | integer |       4       | 1, 2, 4, or 8 |
  11913.        |----------------------------------------------------------------|
  11914.        |GL_UNPACK_SWAP_BYTES  | Boolean |     false     | true or false |
  11915.        | GL_UNPACK_LSB_FIRST  | Boolean |     false     | true or false |
  11916.        |GL_UNPACK_ROW_LENGTH  | integer |       0       |    [0,oo)     |
  11917.        | GL_UNPACK_SKIP_ROWS  | integer |       0       |    [0,oo)     |
  11918.        |GL_UNPACK_SKIP_PIXELS | integer |       0       |    [0,oo)     |
  11919.        | GL_UNPACK_ALIGNMENT  | integer |       4       | 1, 2, 4, or 8 |
  11920.        -----------------------------------------------------------------
  11921.  
  11922.  
  11923.   glPixelStoref can be used to set any pixel store parameter.  If the
  11924.   parameter type is Boolean, then if param is 0.0, the parameter is false;
  11925.   otherwise it is set to true.  If pname is a integer type parameter, param
  11926.   is rounded to the nearest integer.
  11927.  
  11928.   Likewise, glPixelStorei can also be used to set any of the pixel store
  11929.   parameters.  Boolean parameters are set to false if param is 0 and true
  11930.   otherwise.  param is converted to floating point before being assigned to
  11931.   real-valued parameters.
  11932.  
  11933.  
  11934.  
  11935. Notes 
  11936.  
  11937.   The pixel storage modes in effect when glDrawPixels, glReadPixels,
  11938.   glTexImage1D, glTexImage2D, glBitmap, or glPolygonStipple is placed in a
  11939.   display list control the interpretation of memory data.  The pixel storage
  11940.   modes in effect when a display list is executed are not significant.
  11941.  
  11942.  
  11943.  
  11944. Errors 
  11945.  
  11946.   GL_INVALID_ENUM is generated if pname is not an accepted value.
  11947.  
  11948.   GL_INVALID_VALUE is generated if a negative row length, pixel skip, or row
  11949.   skip value is specified, or if alignment is specified as other than 1, 2,
  11950.   4, or 8.
  11951.  
  11952.   GL_INVALID_OPERATION is generated if glPixelStore is called between a call
  11953.   to glBegin and the corresponding call to glEnd.
  11954.  
  11955.  
  11956.  
  11957. Associated Gets 
  11958.  
  11959.   glGet with argument GL_PACK_SWAP_BYTES
  11960.   glGet with argument GL_PACK_LSB_FIRST
  11961.   glGet with argument GL_PACK_ROW_LENGTH
  11962.   glGet with argument GL_PACK_SKIP_ROWS
  11963.   glGet with argument GL_PACK_SKIP_PIXELS
  11964.   glGet with argument GL_PACK_ALIGNMENT
  11965.   glGet with argument GL_UNPACK_SWAP_BYTES
  11966.   glGet with argument GL_UNPACK_LSB_FIRST
  11967.   glGet with argument GL_UNPACK_ROW_LENGTH
  11968.   glGet with argument GL_UNPACK_SKIP_ROWS
  11969.   glGet with argument GL_UNPACK_SKIP_PIXELS
  11970.   glGet with argument GL_UNPACK_ALIGNMENT
  11971.  
  11972.  
  11973.  
  11974. See Also 
  11975.  
  11976.   glBitmap, glDrawPixels, glPixelMap, glPixelTransfer, glPixelZoom,
  11977.   glPolygonStipple, glReadPixels, glTexImage1D, glTexImage2D
  11978.  
  11979.  
  11980.  
  11981. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  11982.  
  11983.  Introduction | Alphabetic | Specification 
  11984.  
  11985. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  11986. Look here for legal stuff:  Legal 
  11987.  
  11988.  
  11989. ΓòÉΓòÉΓòÉ 3.86. glPixelTransfer ΓòÉΓòÉΓòÉ
  11990.  
  11991.  OpenGL man pages 
  11992.  
  11993. glPixelTransfer 
  11994.  
  11995.  
  11996.  
  11997.  
  11998.  
  11999.  
  12000. Name 
  12001.  
  12002.   glPixelTransferf, glPixelTransferi - set pixel transfer modes
  12003.  
  12004.  
  12005.  
  12006.  
  12007. C Specification 
  12008.  
  12009.   void glPixelTransferf( GLenum pname,
  12010.                          GLfloat param )
  12011.   void glPixelTransferi( GLenum pname,
  12012.                          GLint param )
  12013.  
  12014.  
  12015.  
  12016.  
  12017. Parameters 
  12018.  
  12019.  
  12020.   pname  Specifies the symbolic name of the pixel transfer parameter to be
  12021.          set.  Must be one of the following: GL_MAP_COLOR, GL_MAP_STENCIL,
  12022.          GL_INDEX_SHIFT, GL_INDEX_OFFSET, GL_RED_SCALE, GL_RED_BIAS,
  12023.          GL_GREEN_SCALE, GL_GREEN_BIAS, GL_BLUE_SCALE, GL_BLUE_BIAS,
  12024.          GL_ALPHA_SCALE, GL_ALPHA_BIAS, GL_DEPTH_SCALE, or GL_DEPTH_BIAS.
  12025.  
  12026.   param  Specifies the value that pname is set to.
  12027.  
  12028.  
  12029.  
  12030.  
  12031. Description 
  12032.  
  12033.   glPixelTransfer sets pixel transfer modes that affect the operation of
  12034.   subsequent glDrawPixels, glReadPixels, glCopyPixels, glTexImage1D, and
  12035.   glTexImage2D commands.  The algorithms that are specified by pixel transfer
  12036.   modes operate on pixels after they are read from the frame buffer
  12037.   (glReadPixels and glCopyPixels) or unpacked from client memory
  12038.   (glDrawPixels, glTexImage1D, and glTexImage2D).  Pixel transfer operations
  12039.   happen in the same order, and in the same manner, regardless of the command
  12040.   that resulted in the pixel operation.  Pixel storage modes (see
  12041.   glPixelStore) control the unpacking of pixels being read from client
  12042.   memory, and the packing of pixels being written back into client memory.
  12043.  
  12044.   Pixel transfer operations handle four fundamental pixel types: color, color
  12045.   index, depth, and stencil.  Color pixels are made up of four floating-point
  12046.   values with unspecified mantissa and exponent sizes, scaled such that 0.0
  12047.   represents zero intensity and 1.0 represents full intensity.  Color indices
  12048.   comprise a single fixed-point value, with unspecified precision to the
  12049.   right of the binary point.  Depth pixels comprise a single floating-point
  12050.   value, with unspecified mantissa and exponent sizes, scaled such that 0.0
  12051.   represents the minimum depth buffer value, and 1.0 represents the maximum
  12052.   depth buffer value.  Finally, stencil pixels comprise a single fixed-point
  12053.   value, with unspecified precision to the right of the binary point.
  12054.  
  12055.   The pixel transfer operations performed on the four basic pixel types are
  12056.   as follows:
  12057.  
  12058.   Color       Each of the four color components is multiplied by a scale
  12059.               factor, then added to a bias factor.  That is, the red
  12060.               component is multiplied by GL_RED_SCALE, then added to
  12061.               GL_RED_BIAS; the green component is multiplied by
  12062.               GL_GREEN_SCALE, then added to GL_GREEN_BIAS; the blue component
  12063.               is multiplied by GL_BLUE_SCALE, then added to GL_BLUE_BIAS; and
  12064.               the alpha component is multiplied by GL_ALPHA_SCALE, then added
  12065.               to GL_ALPHA_BIAS.  After all four color components are scaled
  12066.               and biased, each is clamped to the range [0,1].  All color
  12067.               scale and bias values are specified with glPixelTransfer.
  12068.  
  12069.               If GL_MAP_COLOR is true, each color component is scaled by the
  12070.               size of the corresponding color-to-color map, then replaced by
  12071.               the contents of that map indexed by the scaled component.  That
  12072.               is, the red component is scaled by GL_PIXEL_MAP_R_TO_R_SIZE,
  12073.               then replaced by the contents of GL_PIXEL_MAP_R_TO_R indexed by
  12074.               itself.  The green component is scaled by
  12075.               GL_PIXEL_MAP_G_TO_G_SIZE, then replaced by the contents of
  12076.               GL_PIXEL_MAP_G_TO_G indexed by itself.  The blue component is
  12077.               scaled by GL_PIXEL_MAP_B_TO_B_SIZE, then replaced by the
  12078.               contents of GL_PIXEL_MAP_B_TO_B indexed by itself.  And the
  12079.               alpha component is scaled by GL_PIXEL_MAP_A_TO_A_SIZE, then
  12080.               replaced by the contents of GL_PIXEL_MAP_A_TO_A indexed by
  12081.               itself.  All components taken from the maps are then clamped to
  12082.               the range [0,1].  GL_MAP_COLOR is specified with
  12083.               glPixelTransfer.  The contents of the various maps are
  12084.               specified with glPixelMap.
  12085.  
  12086.   Color index Each color index is shifted left by GL_INDEX_SHIFT bits,
  12087.               filling with zeros any bits beyond the number of fraction bits
  12088.               carried by the fixed-point index.  If GL_INDEX_SHIFT is
  12089.               negative, the shift is to the right, again zero filled.  Then
  12090.               GL_INDEX_OFFSET is added to the index.  GL_INDEX_SHIFT and
  12091.               GL_INDEX_OFFSET are specified with glPixelTransfer.
  12092.  
  12093.               From this point, operation diverges depending on the required
  12094.               format of the resulting pixels.  If the resulting pixels are to
  12095.               be written to a color index buffer, or if they are being read
  12096.               back to client memory in GL_COLOR_INDEX format, the pixels
  12097.               continue to be treated as indices.  If GL_MAP_COLOR is true,
  12098.               each index is masked by 2n - 1, where n is
  12099.               GL_PIXEL_MAP_I_TO_I_SIZE, then replaced by the contents of
  12100.               GL_PIXEL_MAP_I_TO_I indexed by the masked value.  GL_MAP_COLOR
  12101.               is specified with glPixelTransfer.  The contents of the index
  12102.               map are specified with glPixelMap.
  12103.  
  12104.               If the resulting pixels are to be written to an RGBA color
  12105.               buffer, or if they are being read back to client memory in a
  12106.               format other than GL_COLOR_INDEX, the pixels are converted from
  12107.               indices to colors by referencing the four maps
  12108.               GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B,
  12109.               and GL_PIXEL_MAP_I_TO_A.  Before being dereferenced, the index
  12110.               is masked by 2n - 1, where n is GL_PIXEL_MAP_I_TO_R_SIZE for
  12111.               the red map, GL_PIXEL_MAP_I_TO_G_SIZE for the green map,
  12112.               GL_PIXEL_MAP_I_TO_B_SIZE for the blue map, and
  12113.               GL_PIXEL_MAP_I_TO_A_SIZE for the alpha map.  All components
  12114.               taken from the maps are then clamped to the range [0,1].  The
  12115.               contents of the four maps are specified with glPixelMap.
  12116.  
  12117.   Depth       Each depth value is multiplied by GL_DEPTH_SCALE, added to
  12118.               GL_DEPTH_BIAS, then clamped to the range [0,1].
  12119.  
  12120.   Stencil     Each index is shifted GL_INDEX_SHIFT bits just as a color index
  12121.               is, then added to GL_INDEX_OFFSET.  If GL_MAP_STENCIL is true,
  12122.               each index is masked by 2n - 1, where n is
  12123.               GL_PIXEL_MAP_S_TO_S_SIZE, then replaced by the contents of
  12124.               GL_PIXEL_MAP_S_TO_S indexed by the masked value.
  12125.  
  12126.   The following table gives the type, initial value, and range of valid
  12127.   values for each of the pixel transfer parameters that are set with
  12128.   glPixelTransfer.
  12129.  
  12130.            ---------------------------------------------------------
  12131.            |    pname       |  type   | initial value | valid range |
  12132.            ---------------------------------------------------------
  12133.            | GL_MAP_COLOR   | Boolean |     false     | true/false  |
  12134.            |GL_MAP_STENCIL  | Boolean |     false     | true/false  |
  12135.            |GL_INDEX_SHIFT  | integer |       0       |  (-oo,oo)   |
  12136.            |GL_INDEX_OFFSET | integer |       0       |  (-oo,oo)   |
  12137.            | GL_RED_SCALE   |  float  |      1.0      |  (-oo,oo)   |
  12138.            |GL_GREEN_SCALE  |  float  |      1.0      |  (-oo,oo)   |
  12139.            | GL_BLUE_SCALE  |  float  |      1.0      |  (-oo,oo)   |
  12140.            |GL_ALPHA_SCALE  |  float  |      1.0      |  (-oo,oo)   |
  12141.            |GL_DEPTH_SCALE  |  float  |      1.0      |  (-oo,oo)   |
  12142.            |  GL_RED_BIAS   |  float  |      0.0      |  (-oo,oo)   |
  12143.            | GL_GREEN_BIAS  |  float  |      0.0      |  (-oo,oo)   |
  12144.            | GL_BLUE_BIAS   |  float  |      0.0      |  (-oo,oo)   |
  12145.            | GL_ALPHA_BIAS  |  float  |      0.0      |  (-oo,oo)   |
  12146.            | GL_DEPTH_BIAS  |  float  |      0.0      |  (-oo,oo)   |
  12147.            ---------------------------------------------------------
  12148.  
  12149.   glPixelTransferf can be used to set any pixel transfer parameter.  If the
  12150.   parameter type is Boolean, 0.0 implies false and any other value implies
  12151.   true.  If pname is an integer parameter, param is rounded to the nearest
  12152.   integer.
  12153.  
  12154.   Likewise, glPixelTransferi can also be used to set any of the pixel
  12155.   transfer parameters.  Boolean parameters are set to false if param is 0 and
  12156.   true otherwise.  param is converted to floating point before being assigned
  12157.   to real-valued parameters.
  12158.  
  12159.  
  12160.  
  12161. Notes 
  12162.  
  12163.   If a glDrawPixels, glReadPixels, glCopyPixels, glTexImage1D, or
  12164.   glTexImage2D command is placed in a display list (see glNewList and
  12165.   glCallList), the pixel transfer mode settings in effect when the display
  12166.   list is executed are the ones that are used.  They may be different from
  12167.   the settings when the command was compiled into the display list.
  12168.  
  12169.  
  12170.  
  12171. Errors 
  12172.  
  12173.   GL_INVALID_ENUM is generated if pname is not an accepted value.
  12174.  
  12175.   GL_INVALID_OPERATION is generated if glPixelTransfer is called between a
  12176.   call to glBegin and the corresponding call to glEnd.
  12177.  
  12178.  
  12179.  
  12180. Associated Gets 
  12181.  
  12182.   glGet with argument GL_MAP_COLOR
  12183.   glGet with argument GL_MAP_STENCIL
  12184.   glGet with argument GL_INDEX_SHIFT
  12185.   glGet with argument GL_INDEX_OFFSET
  12186.   glGet with argument GL_RED_SCALE
  12187.   glGet with argument GL_RED_BIAS
  12188.   glGet with argument GL_GREEN_SCALE
  12189.   glGet with argument GL_GREEN_BIAS
  12190.   glGet with argument GL_BLUE_SCALE
  12191.   glGet with argument GL_BLUE_BIAS
  12192.   glGet with argument GL_ALPHA_SCALE
  12193.   glGet with argument GL_ALPHA_BIAS
  12194.   glGet with argument GL_DEPTH_SCALE
  12195.   glGet with argument GL_DEPTH_BIAS
  12196.  
  12197.  
  12198.  
  12199.  
  12200.  
  12201. See Also 
  12202.  
  12203.   glCallList, glCopyPixels, glDrawPixels, glNewList, glPixelMap,
  12204.   glPixelStore, glPixelZoom, glReadPixels, glTexImage1D, glTexImage2D
  12205.  
  12206.  
  12207.  
  12208. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  12209.  
  12210.  Introduction | Alphabetic | Specification 
  12211.  
  12212. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  12213. Look here for legal stuff:  Legal 
  12214.  
  12215.  
  12216. ΓòÉΓòÉΓòÉ 3.87. glPixelZoom ΓòÉΓòÉΓòÉ
  12217.  
  12218.  OpenGL man pages 
  12219.  
  12220. glPixelZoom 
  12221.  
  12222.  
  12223.  
  12224.  
  12225.  
  12226.  
  12227. Name 
  12228.  
  12229.   glPixelZoom - specify the pixel zoom factors
  12230.  
  12231.  
  12232.  
  12233.  
  12234. C Specification 
  12235.  
  12236.   void glPixelZoom( GLfloat xfactor,
  12237.                     GLfloat yfactor )
  12238.  
  12239.  
  12240.  
  12241.  
  12242. Parameters 
  12243.  
  12244.  
  12245.   xfactor, yfactor Specify the x and y zoom factors for pixel write
  12246.                    operations.
  12247.  
  12248.  
  12249.  
  12250. Description 
  12251.  
  12252.   glPixelZoom specifies values for the x and y zoom factors.  During the
  12253.   execution of glDrawPixels or glCopyPixels, if (xr, yr) is the current
  12254.   raster position, and a given element is in the mth row and nth column of
  12255.   the pixel rectangle, then pixels whose centers are in the rectangle with
  12256.   corners at
  12257.  
  12258.                        (xr + nΓòûxfactor, yr + mΓòûyfactor)
  12259.  
  12260.  
  12261.                    (xr + (n+1)Γòûxfactor, yr + (m+1)Γòûyfactor)
  12262.  
  12263.   are candidates for replacement.  Any pixel whose center lies on the bottom
  12264.   or left edge of this rectangular region is also modified.
  12265.  
  12266.   Pixel zoom factors are not limited to positive values.  Negative zoom
  12267.   factors reflect the resulting image about the current raster position.
  12268.  
  12269.  
  12270.  
  12271. Errors 
  12272.  
  12273.   GL_INVALID_OPERATION is generated if glPixelZoom is executed between the
  12274.   execution of glBegin and the corresponding execution of glEnd.
  12275.  
  12276.  
  12277.  
  12278. Associated Gets 
  12279.  
  12280.   glGet with argument GL_ZOOM_X
  12281.   glGet with argument GL_ZOOM_Y
  12282.  
  12283.  
  12284.  
  12285. See Also 
  12286.  
  12287.   glCopyPixels, glDrawPixels
  12288.  
  12289.  
  12290.  
  12291. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  12292.  
  12293.  Introduction | Alphabetic | Specification 
  12294.  
  12295. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  12296. Look here for legal stuff:  Legal 
  12297.  
  12298.  
  12299. ΓòÉΓòÉΓòÉ 3.88. glPointSize ΓòÉΓòÉΓòÉ
  12300.  
  12301.  OpenGL man pages 
  12302.  
  12303. glPointSize 
  12304.  
  12305.  
  12306.  
  12307.  
  12308.  
  12309.  
  12310. Name 
  12311.  
  12312.   glPointSize - specify the diameter of rasterized points
  12313.  
  12314.  
  12315.  
  12316.  
  12317. C Specification 
  12318.  
  12319.   void glPointSize( GLfloat size )
  12320.  
  12321.  
  12322.  
  12323.  
  12324. Parameters 
  12325.  
  12326.  
  12327.   size  Specifies the diameter of rasterized points.  The default is 1.0.
  12328.  
  12329.  
  12330.  
  12331.  
  12332. Description 
  12333.  
  12334.   glPointSize specifies the rasterized diameter of both aliased and
  12335.   antialiased points.  Using a point size other than 1.0 has different
  12336.   effects, depending on whether point antialiasing is enabled.  Point
  12337.   antialiasing is controlled by calling glEnable and glDisable with argument
  12338.   GL_POINT_SMOOTH.
  12339.  
  12340.   If point antialiasing is disabled, the actual size is determined by
  12341.   rounding the supplied size to the nearest integer.  (If the rounding
  12342.   results in the value 0, it is as if the point size were 1.) If the rounded
  12343.   size is odd, then the center point (x, y) of the pixel fragment that
  12344.   represents the point is computed as
  12345.  
  12346.                     ( floor(x )+.5, floor(y )+.5 )
  12347.                              w             w
  12348.  
  12349.   where w subscripts indicate window coordinates.  All pixels that lie within
  12350.   the square grid of the rounded size centered at (x, y) make up the
  12351.   fragment.  If the size is even, the center point is
  12352.  
  12353.                     ( floor(x +.5), floor(y +.5) )
  12354.                              w             w
  12355.  
  12356.   and the rasterized fragment's centers are the half-integer window
  12357.   coordinates within the square of the rounded size centered at (x, y).  All
  12358.   pixel fragments produced in rasterizing a nonantialiased point are assigned
  12359.   the same associated data, that of the vertex corresponding to the point.
  12360.  
  12361.   If antialiasing is enabled, then point rasterization produces a fragment
  12362.   for each pixel square that intersects the region lying within the circle
  12363.   having diameter equal to the current point size and centered at the point's
  12364.   (x , y ).  The coverage value for each fragment is the window coordinate
  12365.     w   w
  12366.   area of the intersection of the circular region with the corresponding
  12367.   pixel square.  This value is saved and used in the final rasterization
  12368.   step. The data associated with each fragment is the data associated with
  12369.   the point being rasterized.
  12370.  
  12371.   Not all sizes are supported when point antialiasing is enabled. If an
  12372.   unsupported size is requested, the nearest supported size is used.  Only
  12373.   size 1.0 is guaranteed to be supported; others depend on the
  12374.   implementation.  The range of supported sizes and the size difference
  12375.   between supported sizes within the range can be queried by  calling glGet
  12376.   with arguments GL_POINT_SIZE_RANGE and GL_POINT_SIZE_GRANULARITY.
  12377.  
  12378.  
  12379.  
  12380. Notes 
  12381.  
  12382.   The point size specified by glPointSize is always returned when
  12383.   GL_POINT_SIZE is queried.  Clamping and rounding for aliased and
  12384.   antialiased points have no effect on the specified value.
  12385.  
  12386.   Non-antialiased point size may be clamped to an implementation-dependent
  12387.   maximum.  Although this maximum cannot be queried, it must be no less than
  12388.   the maximum value for antialiased points, rounded to the nearest integer
  12389.   value.
  12390.  
  12391.  
  12392.  
  12393. Errors 
  12394.  
  12395.   GL_INVALID_VALUE is generated if size is less than or equal to zero.
  12396.  
  12397.   GL_INVALID_OPERATION is generated if glPointSize is executed between the
  12398.   execution of glBegin and the corresponding execution of glEnd.
  12399.  
  12400.  
  12401.  
  12402. Associated Gets 
  12403.  
  12404.   glGet with argument GL_POINT_SIZE
  12405.   glGet with argument GL_POINT_SIZE_RANGE
  12406.   glGet with argument GL_POINT_SIZE_GRANULARITY
  12407.   glIsEnabled with argument GL_POINT_SMOOTH
  12408.  
  12409.  
  12410.  
  12411.  
  12412. See Also 
  12413.  
  12414.   glEnable, glPointSmooth
  12415.  
  12416. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  12417.  
  12418.  Introduction | Alphabetic | Specification 
  12419.  
  12420. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  12421. Look here for legal stuff:  Legal 
  12422.  
  12423.  
  12424. ΓòÉΓòÉΓòÉ 3.89. glPolygonMode ΓòÉΓòÉΓòÉ
  12425.  
  12426.  OpenGL man pages 
  12427.  
  12428. glPolygonMode 
  12429.  
  12430.  
  12431.  
  12432.  
  12433.  
  12434.  
  12435. Name 
  12436.  
  12437.   glPolygonMode - select a polygon rasterization mode
  12438.  
  12439.  
  12440.  
  12441.  
  12442. C Specification 
  12443.  
  12444.   void glPolygonMode( GLenum face,
  12445.                       GLenum mode )
  12446.  
  12447.  
  12448.  
  12449.  
  12450. Parameters 
  12451.  
  12452.  
  12453.   face  Specifies the polygons that mode applies to.  Must be GL_FRONT for
  12454.         front-facing polygons, GL_BACK for back-facing polygons, or
  12455.         GL_FRONT_AND_BACK for front- and back-facing polygons.
  12456.  
  12457.   mode  Specifies the way polygons will be rasterized.  Accepted values are
  12458.         GL_POINT, GL_LINE, and GL_FILL.  The default is GL_FILL for both
  12459.         front- and back-facing polygons.
  12460.  
  12461.  
  12462.  
  12463.  
  12464. Description 
  12465.  
  12466.   glPolygonMode controls the interpretation of polygons for rasterization.
  12467.   face describes which polygons mode applies to: front-facing polygons
  12468.   (GL_FRONT), back-facing polygons (GL_BACK), or both (GL_FRONT_AND_BACK).
  12469.   The polygon mode affects only the final rasterization of polygons.  In
  12470.   particular, a polygon's vertices are lit and the polygon is clipped and
  12471.   possibly culled before these modes are applied.
  12472.  
  12473.   Three modes are defined and can be specified in mode:
  12474.  
  12475.   GL_POINT      Polygon vertices that are marked as the start of a boundary
  12476.                 edge are drawn as points.  Point attributes such as
  12477.                 GL_POINT_SIZE and GL_POINT_SMOOTH control the rasterization
  12478.                 of the points.  Polygon rasterization attributes other than
  12479.                 GL_POLYGON_MODE have no effect.
  12480.  
  12481.   GL_LINE       Boundary edges of the polygon are drawn as line segments.
  12482.                 They are treated as connected line segments for line
  12483.                 stippling; the line stipple counter and pattern are not reset
  12484.                 between segments (see glLineStipple).  Line attributes such
  12485.                 as GL_LINE_WIDTH and GL_LINE_SMOOTH control the rasterization
  12486.                 of the lines.  Polygon rasterization attributes other than
  12487.                 GL_POLYGON_MODE have no effect.
  12488.  
  12489.   GL_FILL       The interior of the polygon is filled.  Polygon attributes
  12490.                 such as GL_POLYGON_STIPPLE and GL_POLYGON_SMOOTH control the
  12491.                 rasterization of the polygon.
  12492.  
  12493.  
  12494.  
  12495. Examples 
  12496.  
  12497.   To draw a surface with filled back-facing polygons and outlined front-
  12498.   facing polygons, call glPolygonMode(GL_FRONT, GL_LINE);
  12499.  
  12500.  
  12501.  
  12502.  
  12503. Notes 
  12504.  
  12505.   Vertices are marked as boundary or nonboundary with an edge flag.  Edge
  12506.   flags are generated internally by the GL when it decomposes polygons, and
  12507.   they can be set explicitly using glEdgeFlag.
  12508.  
  12509.  
  12510.  
  12511.  
  12512. Errors 
  12513.  
  12514.   GL_INVALID_ENUM is generated if either face or mode is not an accepted
  12515.   value.
  12516.  
  12517.   GL_INVALID_OPERATION is generated if glPolygonMode is executed between the
  12518.   execution of glBegin and the corresponding execution of glEnd.
  12519.  
  12520.  
  12521.  
  12522. Associated Gets 
  12523.  
  12524.   glGet with argument GL_POLYGON_MODE
  12525.  
  12526.  
  12527.  
  12528. See Also 
  12529.  
  12530.   glBegin, glEdgeFlag, glLineStipple, glLineWidth, glPointSize,
  12531.   glPolygonStipple
  12532.  
  12533.  
  12534.  
  12535. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  12536.  
  12537.  Introduction | Alphabetic | Specification 
  12538.  
  12539. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  12540. Look here for legal stuff:  Legal 
  12541.  
  12542.  
  12543. ΓòÉΓòÉΓòÉ 3.90. glPolygonStipple ΓòÉΓòÉΓòÉ
  12544.  
  12545.  OpenGL man pages 
  12546.  
  12547. glPolygonStipple 
  12548.  
  12549.  
  12550.  
  12551.  
  12552.  
  12553.  
  12554. Name 
  12555.  
  12556.   glPolygonStipple - set the polygon stippling pattern
  12557.  
  12558.  
  12559.  
  12560.  
  12561. C Specification 
  12562.  
  12563.   void glPolygonStipple( const GLubyte *mask )
  12564.  
  12565.  
  12566.  
  12567.  
  12568. Parameters 
  12569.  
  12570.  
  12571.   mask  Specifies a pointer to a 32x32 stipple pattern that will be unpacked
  12572.         from memory in the same way that glDrawPixels unpacks pixels.
  12573.  
  12574.  
  12575.  
  12576.  
  12577. Description 
  12578.  
  12579.   Polygon stippling, like line stippling (see glLineStipple), masks out
  12580.   certain fragments produced by rasterization, creating a pattern.  Stippling
  12581.   is independent of polygon antialiasing.
  12582.  
  12583.   mask is a pointer to a 32x32 stipple pattern that is stored in memory just
  12584.   like the pixel data supplied to a glDrawPixels with height and width both
  12585.   equal to 32, a pixel format of GL_COLOR_INDEX, and data type of GL_BITMAP.
  12586.   That is, the stipple pattern is represented as a 32x32 array of 1-bit color
  12587.   indices packed in unsigned bytes.  glPixelStore parameters like
  12588.   GL_UNPACK_SWAP_BYTES and GL_UNPACK_LSB_FIRST affect the assembling of the
  12589.   bits into a stipple pattern.  Pixel transfer operations (shift, offset,
  12590.   pixel map) are not applied to the stipple image, however.
  12591.  
  12592.   Polygon stippling is enabled and disabled with glEnable and glDisable,
  12593.   using argument GL_POLYGON_STIPPLE.  If enabled, a rasterized polygon
  12594.   fragment with window coordinates x  and y  is sent to the next stage of the
  12595.                                     w      w
  12596.   GL if and only if the (x  mod 32)th bit is the (y  mod 32)th row of the
  12597.                           w                        w
  12598.   stipple pattern is one.  When polygon stippling is disabled, it is as if
  12599.   the stipple pattern were all ones.
  12600.  
  12601.  
  12602.  
  12603. Errors 
  12604.  
  12605.   GL_INVALID_OPERATION is generated if glPolygonStipple is executed between
  12606.   the execution of glBegin and the corresponding execution of glEnd.
  12607.  
  12608.  
  12609.  
  12610. Associated Gets 
  12611.  
  12612.   glGetPolygonStipple
  12613.   glIsEnabled with argument GL_POLYGON_STIPPLE
  12614.  
  12615.  
  12616.  
  12617. See Also 
  12618.  
  12619.   glDrawPixels, glLineStipple, glPixelStore, glPixelTransfer
  12620.  
  12621. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  12622.  
  12623.  Introduction | Alphabetic | Specification 
  12624.  
  12625. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  12626. Look here for legal stuff:  Legal 
  12627.  
  12628.  
  12629. ΓòÉΓòÉΓòÉ 3.91. glPushAttrib ΓòÉΓòÉΓòÉ
  12630.  
  12631.  OpenGL man pages 
  12632.  
  12633. glPushAttrib 
  12634.  
  12635.  
  12636.  
  12637.  
  12638.  
  12639.  
  12640. Name 
  12641.  
  12642.   glPushAttrib, glPopAttrib - push and pop the attribute stack
  12643.  
  12644.  
  12645.  
  12646.  
  12647. C Specification 
  12648.  
  12649.   void glPushAttrib( GLbitfield mask )
  12650.  
  12651.  
  12652.  
  12653.  
  12654. Parameters 
  12655.  
  12656.  
  12657.   mask  Specifies a mask that indicates which attributes to save.  Values for
  12658.         mask are listed in the table below.
  12659.  
  12660.  
  12661.  
  12662. C Specification 
  12663.  
  12664.   void glPopAttrib( void )
  12665.  
  12666.  
  12667.  
  12668.  
  12669. Description 
  12670.  
  12671.   glPushAttrib takes one argument, a mask that indicates which groups of
  12672.   state variables to save on the attribute stack.  Symbolic constants are
  12673.   used to set bits in the mask.  mask is typically constructed by ORing
  12674.   several of these constants together.  The special mask GL_ALL_ATTRIB_BITS
  12675.   can be used to save all stackable states.
  12676.  
  12677.   The symbolic mask constants and their associated GL state are as follows
  12678.   (the second column lists which attributes are saved):
  12679.  
  12680.   GL_ACCUM_BUFFER_BIT      Accumulation buffer clear value
  12681.  
  12682.   GL_COLOR_BUFFER_BIT      GL_ALPHA_TEST enable bit
  12683.                            Alpha test function and reference value
  12684.                            GL_BLEND enable bit
  12685.                            Blending source and destination functions
  12686.                            GL_DITHER enable bit
  12687.                            GL_DRAW_BUFFER setting
  12688.                            GL_LOGIC_OP enable bit
  12689.                            Logic op function
  12690.                            Color mode and index mode clear values
  12691.                            Color mode and index mode writemasks
  12692.  
  12693.   GL_CURRENT_BIT           Current RGBA color
  12694.                            Current color index
  12695.                            Current normal vector
  12696.                            Current texture coordinates
  12697.                            Current raster position
  12698.                            GL_CURRENT_RASTER_POSITION_VALID flag
  12699.                            RGBA color associated with current raster position
  12700.                            Color index associated with current raster position
  12701.                            Texture coordinates associated with current raster position
  12702.                            GL_EDGE_FLAG flag
  12703.  
  12704.   GL_DEPTH_BUFFER_BIT      GL_DEPTH_TEST enable bit
  12705.                            Depth buffer test function
  12706.                            Depth buffer clear value
  12707.                            GL_DEPTH_WRITEMASK enable bit
  12708.  
  12709.   GL_ENABLE_BIT            GL_ALPHA_TEST flag
  12710.                            GL_AUTO_NORMAL flag
  12711.                            GL_BLEND flag
  12712.                            Enable bits for the user-definable clipping planes
  12713.                            GL_COLOR_MATERIAL
  12714.                            GL_CULL_FACE flag
  12715.                            GL_DEPTH_TEST flag
  12716.                            GL_DITHER flag
  12717.                            GL_FOG flag
  12718.                            GL_LIGHTi where 0 <= i<GL_MAX_LIGHTS
  12719.                            GL_LIGHTING flag
  12720.                            GL_LINE_SMOOTH flag
  12721.                            GL_LINE_STIPPLE flag
  12722.                            GL_LOGIC_OP flag
  12723.                            GL_MAP1_x where x is a map type
  12724.                            GL_MAP2_x where x is a map type
  12725.                            GL_NORMALIZE flag
  12726.                            GL_POINT_SMOOTH flag
  12727.                            GL_POLYGON_SMOOTH flag
  12728.                            GL_POLYGON_STIPPLE flag
  12729.                            GL_SCISSOR_TEST flag
  12730.                            GL_STENCIL_TEST flag
  12731.                            GL_TEXTURE_1D flag
  12732.                            GL_TEXTURE_2D flag
  12733.                            Flags GL_TEXTURE_GEN_x where x is S, T, R, or Q
  12734.  
  12735.   GL_EVAL_BIT              GL_MAP1_x enable bits, where x is a map type
  12736.                            GL_MAP2_x enable bits, where x is a map type
  12737.                            1-D grid endpoints and divisions
  12738.                            2-D grid endpoints and divisions
  12739.                            GL_AUTO_NORMAL enable bit
  12740.  
  12741.   GL_FOG_BIT               GL_FOG enable flag
  12742.                            Fog color
  12743.                            Fog density
  12744.                            Linear fog start
  12745.                            Linear fog end
  12746.                            Fog index
  12747.                            GL_FOG_MODE value
  12748.  
  12749.   GL_HINT_BIT              GL_PERSPECTIVE_CORRECTION_HINT setting
  12750.                            GL_POINT_SMOOTH_HINT setting
  12751.                            GL_LINE_SMOOTH_HINT setting
  12752.                            GL_POLYGON_SMOOTH_HINT setting
  12753.                            GL_FOG_HINT setting
  12754.  
  12755.   GL_LIGHTING_BIT          GL_COLOR_MATERIAL enable bit
  12756.                            GL_COLOR_MATERIAL_FACE value
  12757.                            Color material parameters that are tracking the current color
  12758.                            Ambient scene color
  12759.                            GL_LIGHT_MODEL_LOCAL_VIEWER value
  12760.                            GL_LIGHT_MODEL_TWO_SIDE setting
  12761.                            GL_LIGHTING enable bit
  12762.                            Enable bit for each light
  12763.                            Ambient, diffuse, and specular intensity for each light
  12764.                            Direction, position, exponent, and cutoff angle for each light
  12765.                            Constant, linear, and quadratic attenuation factors for each light
  12766.                            Ambient, diffuse, specular, and emissive color for each material
  12767.                            Ambient, diffuse, and specular color indices for each material
  12768.                            Specular exponent for each material
  12769.                            GL_SHADE_MODEL setting
  12770.  
  12771.   GL_LINE_BIT              GL_LINE_SMOOTH flag
  12772.                            GL_LINE_STIPPLE enable bit
  12773.                            Line stipple pattern and repeat counter
  12774.                            Line width
  12775.  
  12776.   GL_LIST_BIT              GL_LIST_BASE setting
  12777.  
  12778.   GL_PIXEL_MODE_BIT        GL_RED_BIAS and GL_RED_SCALE settings
  12779.                            GL_GREEN_BIAS and GL_GREEN_SCALE values
  12780.                            GL_BLUE_BIAS and GL_BLUE_SCALE
  12781.                            GL_ALPHA_BIAS and GL_ALPHA_SCALE
  12782.                            GL_DEPTH_BIAS and GL_DEPTH_SCALE
  12783.                            GL_INDEX_OFFSET and GL_INDEX_SHIFT values
  12784.                            GL_MAP_COLOR and GL_MAP_STENCIL flags
  12785.                            GL_ZOOM_X and GL_ZOOM_Y factors
  12786.                            GL_READ_BUFFER setting
  12787.  
  12788.   GL_POINT_BIT             GL_POINT_SMOOTH flag
  12789.                            Point size
  12790.  
  12791.   GL_POLYGON_BIT           GL_CULL_FACE enable bit
  12792.                            GL_CULL_FACE_MODE value
  12793.                            GL_FRONT_FACE indicator
  12794.                            GL_POLYGON_MODE setting
  12795.                            GL_POLYGON_SMOOTH flag
  12796.                            GL_POLYGON_STIPPLE enable bit
  12797.  
  12798.   GL_POLYGON_STIPPLE_BIT   Polygon stipple image
  12799.  
  12800.   GL_SCISSOR_BIT           GL_SCISSOR_TEST flag
  12801.                            Scissor box
  12802.  
  12803.   GL_STENCIL_BUFFER_BIT    GL_STENCIL_TEST enable bit
  12804.                            Stencil function and reference value
  12805.                            Stencil value mask
  12806.                            Stencil fail, pass, and depth buffer pass actions
  12807.                            Stencil buffer clear value
  12808.                            Stencil buffer writemask
  12809.  
  12810.   GL_TEXTURE_BIT           Enable bits for the four texture coordinates
  12811.                            Border color for each texture image
  12812.                            Minification function for each texture image
  12813.                            Magnification function for each texture image
  12814.                            Texture coordinates and wrap mode for each texture image
  12815.                            Color and mode for each texture environment
  12816.                            Enable bits GL_TEXTURE_GEN_x, x is S, T, R, and Q
  12817.                            GL_TEXTURE_GEN_MODE setting for S, T, R, and Q
  12818.                            glTexGen plane equations for S, T, R, and Q
  12819.  
  12820.   GL_TRANSFORM_BIT         Coefficients of the six clipping planes
  12821.                            Enable bits for the user-definable clipping planes
  12822.                            GL_MATRIX_MODE value
  12823.                            GL_NORMALIZE flag
  12824.  
  12825.   GL_VIEWPORT_BIT          Depth range (near and far)
  12826.                            Viewport origin and extent
  12827.  
  12828.   glPopAttrib restores the values of the state variables saved with the last
  12829.   glPushAttrib command.  Those not saved are left unchanged.
  12830.  
  12831.   It is an error to push attributes onto a full stack, or to pop attributes
  12832.   off an empty stack.  In either case, the error flag is set and no other
  12833.   change is made to GL state.
  12834.  
  12835.   Initially, the attribute stack is empty.
  12836.  
  12837.  
  12838.  
  12839.  
  12840. Notes 
  12841.  
  12842.   Not all values for GL state can be saved on the attribute stack.  For
  12843.   example, pixel pack and unpack state, render mode state, and select and
  12844.   feedback state cannot be saved.
  12845.  
  12846.  
  12847.   The depth of the attribute stack depends on the implementation, but it must
  12848.   be at least 16.
  12849.  
  12850.  
  12851.  
  12852. Errors 
  12853.  
  12854.   GL_STACK_OVERFLOW is generated if glPushAttrib is called while the
  12855.   attribute stack is full.
  12856.  
  12857.   GL_STACK_UNDERFLOW is generated if glPopAttrib is called while the
  12858.   attribute stack is empty.
  12859.  
  12860.   GL_INVALID_OPERATION is generated if glPushAttrib or glPopAttrib is
  12861.   executed between the execution of glBegin and the corresponding execution
  12862.   of glEnd.
  12863.  
  12864.  
  12865.  
  12866. Associated Gets 
  12867.  
  12868.   glGet with argument GL_ATTRIB_STACK_DEPTH.
  12869.   glGet with argument GL_MAX_ATTRIB_STACK_DEPTH.
  12870.  
  12871.  
  12872.  
  12873. See Also 
  12874.  
  12875.   glGet, glGetClipPlane, glGetError, glGetLight, glGetMap, glGetMaterial,
  12876.   glGetPixelMap, glGetPolygonStipple, glGetString, glGetTexEnv, glGetTexGen,
  12877.   glGetTexImage, glGetTexLevelParameter, glGetTexParameter, glIsEnabled
  12878.  
  12879.  
  12880.  
  12881. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  12882.  
  12883.  Introduction | Alphabetic | Specification 
  12884.  
  12885. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  12886. Look here for legal stuff:  Legal 
  12887.  
  12888.  
  12889. ΓòÉΓòÉΓòÉ 3.92. glPushMatrix ΓòÉΓòÉΓòÉ
  12890.  
  12891.  OpenGL man pages 
  12892.  
  12893. glPushMatrix 
  12894.  
  12895.  
  12896.  
  12897.  
  12898.  
  12899.  
  12900. Name 
  12901.  
  12902.   glPushMatrix, glPopMatrix - push and pop the current matrix stack
  12903.  
  12904.  
  12905.  
  12906.  
  12907. C Specification 
  12908.  
  12909.   void glPushMatrix( void )
  12910.  
  12911.  
  12912.  
  12913.  
  12914. C Specification 
  12915.  
  12916.   void glPopMatrix( void )
  12917.  
  12918.  
  12919.  
  12920.  
  12921. Description 
  12922.  
  12923.   There is a stack of matrices for each of the matrix modes.  In GL_MODELVIEW
  12924.   mode, the stack depth is at least 32.  In the other two modes,
  12925.   GL_PROJECTION and GL_TEXTURE, the depth is at least 2.  The current matrix
  12926.   in any mode is the matrix on the top of the stack for that mode.
  12927.  
  12928.   glPushMatrix pushes the current matrix stack down by one, duplicating the
  12929.   current matrix.  That is, after a glPushMatrix call, the matrix on the top
  12930.   of the stack is identical to the one below it.
  12931.  
  12932.   glPopMatrix pops the current matrix stack, replacing the current matrix
  12933.   with the one below it on the stack.
  12934.  
  12935.   Initially, each of the stacks contains one matrix, an identity matrix.
  12936.  
  12937.   It is an error to push a full matrix stack, or to pop a matrix stack that
  12938.   contains only a single matrix.  In either case, the error flag is set and
  12939.   no other change is made to GL state.
  12940.  
  12941.  
  12942.  
  12943. Errors 
  12944.  
  12945.   GL_STACK_OVERFLOW is generated if glPushMatrix is called while the current
  12946.   matrix stack is full.
  12947.  
  12948.   GL_STACK_UNDERFLOW is generated if glPopMatrix is called while the current
  12949.   matrix stack contains only a single matrix.
  12950.  
  12951.   GL_INVALID_OPERATION is generated if glPushMatrix or glPopMatrix is
  12952.   executed between the execution of glBegin and the corresponding execution
  12953.   of glEnd.
  12954.  
  12955.  
  12956.  
  12957. Associated Gets 
  12958.  
  12959.   glGet with argument GL_MATRIX_MODE
  12960.   glGet with argument GL_MODELVIEW_MATRIX
  12961.   glGet with argument GL_PROJECTION_MATRIX
  12962.   glGet with argument GL_TEXTURE_MATRIX
  12963.   glGet with argument GL_MODELVIEW_STACK_DEPTH
  12964.   glGet with argument GL_PROJECTION_STACK_DEPTH
  12965.   glGet with argument GL_TEXTURE_STACK_DEPTH
  12966.   glGet with argument GL_MAX_MODELVIEW_STACK_DEPTH
  12967.   glGet with argument GL_MAX_PROJECTION_STACK_DEPTH
  12968.   glGet with argument GL_MAX_TEXTURE_STACK_DEPTH
  12969.  
  12970.  
  12971.  
  12972. See Also 
  12973.  
  12974.   glFrustum, glLoadIdentity, glLoadMatrix, glMatrixMode, glMultMatrix,
  12975.   glOrtho, glRotate, glScale, glTranslate, glViewport
  12976.  
  12977.  
  12978. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  12979.  
  12980.  Introduction | Alphabetic | Specification 
  12981.  
  12982. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  12983. Look here for legal stuff:  Legal 
  12984.  
  12985.  
  12986. ΓòÉΓòÉΓòÉ 3.93. glPushName ΓòÉΓòÉΓòÉ
  12987.  
  12988.  OpenGL man pages 
  12989.  
  12990. glPushName 
  12991.  
  12992.  
  12993.  
  12994.  
  12995.  
  12996.  
  12997. Name 
  12998.  
  12999.   glPushName, glPopName - push and pop the name stack
  13000.  
  13001.  
  13002.  
  13003.  
  13004. C Specification 
  13005.  
  13006.   void glPushName( GLuint name )
  13007.  
  13008.  
  13009.  
  13010.  
  13011. Parameters 
  13012.  
  13013.  
  13014.   name  Specifies a name that will be pushed onto the name stack.
  13015.  
  13016.  
  13017.  
  13018. C Specification 
  13019.  
  13020.   void glPopName( void )
  13021.  
  13022.  
  13023.  
  13024.  
  13025. Description 
  13026.  
  13027.   The name stack is used during selection mode to allow sets of rendering
  13028.   commands to be uniquely identified.  It consists of an ordered set of
  13029.   unsigned integers.  glPushName causes name to be pushed onto the name
  13030.   stack, which is initially empty.  glPopName pops one name off the top of
  13031.   the stack.
  13032.  
  13033.   It is an error to push a name onto a full stack, or to pop a name off an
  13034.   empty stack.  It is also an error to manipulate the name stack between the
  13035.   execution of glBegin and the corresponding execution of glEnd.  In any of
  13036.   these cases, the error flag is set and no other change is made to GL state.
  13037.  
  13038.   The name stack is always empty while the render mode is not GL_SELECT.
  13039.   Calls to glPushName or glPopName while the render mode is not GL_SELECT are
  13040.   ignored.
  13041.  
  13042.  
  13043.  
  13044. Errors 
  13045.  
  13046.   GL_STACK_OVERFLOW is generated if glPushName is called while the name stack
  13047.   is full.
  13048.  
  13049.   GL_STACK_UNDERFLOW is generated if glPopName is called while the name stack
  13050.   is empty.
  13051.  
  13052.   GL_INVALID_OPERATION is generated if glPushName or glPopName is executed
  13053.   between a call to glBegin and the corresponding call to glEnd.
  13054.  
  13055.  
  13056.  
  13057. Associated Gets 
  13058.  
  13059.   glGet with argument GL_NAME_STACK_DEPTH
  13060.   glGet with argument GL_MAX_NAME_STACK_DEPTH
  13061.  
  13062.  
  13063.  
  13064. See Also 
  13065.  
  13066.   glInitNames, glLoadName, glRenderMode, glSelectBuffer
  13067.  
  13068.  
  13069.  
  13070. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  13071.  
  13072.  Introduction | Alphabetic | Specification 
  13073.  
  13074. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  13075. Look here for legal stuff:  Legal 
  13076.  
  13077.  
  13078. ΓòÉΓòÉΓòÉ 3.94. glRasterPos ΓòÉΓòÉΓòÉ
  13079.  
  13080.  OpenGL man pages 
  13081.  
  13082. glRasterPos 
  13083.  
  13084.  
  13085.  
  13086.  
  13087.  
  13088.  
  13089. Name 
  13090.  
  13091.   glRasterPos2d, glRasterPos2f, glRasterPos2i, glRasterPos2s, glRasterPos3d,
  13092.   glRasterPos3f, glRasterPos3i, glRasterPos3s, glRasterPos4d, glRasterPos4f,
  13093.   glRasterPos4i, glRasterPos4s, glRasterPos2dv, glRasterPos2fv,
  13094.   glRasterPos2iv, glRasterPos2sv, glRasterPos3dv, glRasterPos3fv,
  13095.   glRasterPos3iv, glRasterPos3sv, glRasterPos4dv, glRasterPos4fv,
  13096.   glRasterPos4iv, glRasterPos4sv - specify the raster position for pixel
  13097.   operations
  13098.  
  13099.  
  13100.  
  13101.  
  13102. C Specification 
  13103.  
  13104.   void glRasterPos2d( GLdouble x,
  13105.                       GLdouble y )
  13106.   void glRasterPos2f( GLfloat x,
  13107.                       GLfloat y )
  13108.   void glRasterPos2i( GLint x,
  13109.                       GLint y )
  13110.   void glRasterPos2s( GLshort x,
  13111.                       GLshort y )
  13112.   void glRasterPos3d( GLdouble x,
  13113.                       GLdouble y,
  13114.                       GLdouble z )
  13115.   void glRasterPos3f( GLfloat x,
  13116.                       GLfloat y,
  13117.                       GLfloat z )
  13118.   void glRasterPos3i( GLint x,
  13119.                       GLint y,
  13120.                       GLint z )
  13121.   void glRasterPos3s( GLshort x,
  13122.                       GLshort y,
  13123.                       GLshort z )
  13124.   void glRasterPos4d( GLdouble x,
  13125.                       GLdouble y,
  13126.                       GLdouble z,
  13127.                       GLdouble w )
  13128.   void glRasterPos4f( GLfloat x,
  13129.                       GLfloat y,
  13130.                       GLfloat z,
  13131.                       GLfloat w )
  13132.   void glRasterPos4i( GLint x,
  13133.                       GLint y,
  13134.                       GLint z,
  13135.                       GLint w )
  13136.   void glRasterPos4s( GLshort x,
  13137.                       GLshort y,
  13138.                       GLshort z,
  13139.                       GLshort w )
  13140.  
  13141.  
  13142.  
  13143.  
  13144. Parameters 
  13145.  
  13146.  
  13147.   x, y, z, w
  13148.            Specify the x, y, z, and w object coordinates (if present) for the
  13149.            raster position.
  13150.  
  13151.  
  13152.  
  13153. C Specification 
  13154.  
  13155.   void glRasterPos2dv( const GLdouble *v )
  13156.   void glRasterPos2fv( const GLfloat *v )
  13157.   void glRasterPos2iv( const GLint *v )
  13158.   void glRasterPos2sv( const GLshort *v )
  13159.   void glRasterPos3dv( const GLdouble *v )
  13160.   void glRasterPos3fv( const GLfloat *v )
  13161.   void glRasterPos3iv( const GLint *v )
  13162.   void glRasterPos3sv( const GLshort *v )
  13163.   void glRasterPos4dv( const GLdouble *v )
  13164.   void glRasterPos4fv( const GLfloat *v )
  13165.   void glRasterPos4iv( const GLint *v )
  13166.   void glRasterPos4sv( const GLshort *v )
  13167.  
  13168.  
  13169.   v    Specifies a pointer to an array of two, three, or four elements,
  13170.        specifying x, y, z, and w coordinates, respectively.
  13171.  
  13172.  
  13173.  
  13174.  
  13175. Description 
  13176.  
  13177.   The GL maintains a 3-D position in window coordinates.  This position,
  13178.   called the raster position, is maintained with subpixel accuracy.  It is
  13179.   used to position pixel and bitmap write operations.  See glBitmap,
  13180.   glDrawPixels, and glCopyPixels.
  13181.  
  13182.   The current raster position consists of three window coordinates (x, y, z),
  13183.   a clip coordinate w value, an eye coordinate distance, a valid bit, and
  13184.   associated color data and texture coordinates.  The w coordinate is a clip
  13185.   coordinate, because w is not projected to window coordinates.  glRasterPos4
  13186.   specifies object coordinates x, y, z, and w explicitly.  glRasterPos3
  13187.   specifies object coordinate x, y, and z explicitly, while w is implicitly
  13188.   set to one.  glRasterPos2 uses the argument values for x and y while
  13189.   implicitly setting z and w to zero and one.
  13190.  
  13191.   The object coordinates presented by glRasterPos are treated just like those
  13192.   of a glVertex command: They are transformed by the current modelview and
  13193.   projection matrices and passed to the clipping stage.  If the vertex is not
  13194.   culled, then it is projected and scaled to window coordinates, which become
  13195.   the new current raster position, and the GL_CURRENT_RASTER_POSITION_VALID
  13196.   flag is set.  If the vertex is culled, then the valid bit is cleared and
  13197.   the current raster position and associated color and texture coordinates
  13198.   are undefined.
  13199.  
  13200.   The current raster position also includes some associated color data and
  13201.   texture coordinates.  If lighting is enabled, then GL_CURRENT_RASTER_COLOR,
  13202.   in RGBA mode, or the GL_CURRENT_RASTER_INDEX, in color index mode, is set
  13203.   to the color produced by the lighting calculation (see glLight,
  13204.   glLightModel, and glShadeModel).  If lighting is disabled, current color
  13205.   (in RGBA mode, state variable GL_CURRENT_COLOR) or color index (in color
  13206.   index mode, state variable GL_CURRENT_INDEX) is used to update the current
  13207.   raster color.
  13208.  
  13209.   Likewise, GL_CURRENT_RASTER_TEXTURE_COORDS is updated as a function of
  13210.   GL_CURRENT_TEXTURE_COORDS, based on the texture matrix and the texture
  13211.   generation functions (see glTexGen).  Finally, the distance from the origin
  13212.   of the eye coordinate system to the vertex as transformed by only the
  13213.   modelview matrix replaces GL_CURRENT_RASTER_DISTANCE.
  13214.  
  13215.   Initially, the current raster position is (0,0,0,1), the current raster
  13216.   distance is 0, the valid bit is set, the associated RGBA color is
  13217.   (1,1,1,1), the associated color index is 1, and the associated texture
  13218.   coordinates are (0, 0, 0, 1).  In RGBA mode, GL_CURRENT_RASTER_INDEX is
  13219.   always 1; in color index mode, the current raster RGBA color always
  13220.   maintains its initial value.
  13221.  
  13222.  
  13223.  
  13224. Notes 
  13225.  
  13226.   The raster position is modified both by glRasterPos and by glBitmap.
  13227.  
  13228.   When the raster position coordinates are invalid, drawing commands that are
  13229.   based on the raster position are ignored (that is, they do not result in
  13230.   changes to GL state).
  13231.  
  13232.  
  13233.  
  13234. Errors 
  13235.  
  13236.   GL_INVALID_OPERATION is generated if glRasterPos is called between a call
  13237.   to glBegin and the corresponding call to glEnd.
  13238.  
  13239.  
  13240.  
  13241. Associated Gets 
  13242.  
  13243.   glGet with argument GL_CURRENT_RASTER_POSITION
  13244.   glGet with argument GL_CURRENT_RASTER_POSITION_VALID
  13245.   glGet with argument GL_CURRENT_RASTER_DISTANCE
  13246.   glGet with argument GL_CURRENT_RASTER_COLOR
  13247.   glGet with argument GL_CURRENT_RASTER_INDEX
  13248.   glGet with argument GL_CURRENT_RASTER_TEXTURE_COORDS
  13249.  
  13250.  
  13251.  
  13252. See Also 
  13253.  
  13254.   glBitmap, glCopyPixels, glDrawPixels, glLight, glLightModel, glShadeModel,
  13255.   glTexCoord, glTexGen, glVertex
  13256.  
  13257.  
  13258.  
  13259. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  13260.  
  13261.  Introduction | Alphabetic | Specification 
  13262.  
  13263. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  13264. Look here for legal stuff:  Legal 
  13265.  
  13266.  
  13267. ΓòÉΓòÉΓòÉ 3.95. glReadBuffer ΓòÉΓòÉΓòÉ
  13268.  
  13269.  OpenGL man pages 
  13270.  
  13271. glReadBuffer 
  13272.  
  13273.  
  13274.  
  13275.  
  13276.  
  13277.  
  13278. Name 
  13279.  
  13280.   glReadBuffer - select a color buffer source for pixels
  13281.  
  13282.  
  13283.  
  13284.  
  13285. C Specification 
  13286.  
  13287.   void glReadBuffer( GLenum mode )
  13288.  
  13289.  
  13290.  
  13291.  
  13292. Parameters 
  13293.  
  13294.  
  13295.   mode  Specifies a color buffer.  Accepted values are GL_FRONT_LEFT,
  13296.         GL_FRONT_RIGHT, GL_BACK_LEFT, GL_BACK_RIGHT, GL_FRONT, GL_BACK,
  13297.         GL_LEFT, GL_RIGHT, and GL_AUXi, where i is between 0 and
  13298.         GL_AUX_BUFFERS -1.
  13299.  
  13300.  
  13301.  
  13302.  
  13303. Description 
  13304.  
  13305.   glReadBuffer specifies a color buffer as the source for subsequent
  13306.   glReadPixels and glCopyPixels commands.  mode accepts one of twelve or more
  13307.   predefined values.  (GL_AUX0 through GL_AUX3 are always defined.) In a
  13308.   fully configured system, GL_FRONT, GL_LEFT, and GL_FRONT_LEFT all name the
  13309.   front left buffer, GL_FRONT_RIGHT and GL_RIGHT name the front right buffer,
  13310.   and GL_BACK_LEFT and GL_BACK name the back left buffer.
  13311.  
  13312.   Nonstereo double-buffered configurations have only a front left and a back
  13313.   left buffer.  Single-buffered configurations have a front left and a front
  13314.   right buffer if stereo, and only a front left buffer if nonstereo.  It is
  13315.   an error to specify a nonexistent buffer to glReadBuffer.
  13316.  
  13317.   By default, mode is GL_FRONT in single-buffered configurations, and GL_BACK
  13318.   in double-buffered configurations.
  13319.  
  13320.  
  13321.  
  13322. Errors 
  13323.  
  13324.   GL_INVALID_ENUM is generated if mode is not one of the twelve (or more)
  13325.   accepted values.
  13326.  
  13327.   GL_INVALID_OPERATION is generated if mode specifies a buffer that does not
  13328.   exist.
  13329.  
  13330.   GL_INVALID_OPERATION is generated if glReadBuffer is executed between the
  13331.   execution of glBegin and the corresponding execution of glEnd.
  13332.  
  13333.  
  13334.  
  13335. Associated Gets 
  13336.  
  13337.   glGet with argument GL_READ_BUFFER
  13338.  
  13339.  
  13340.  
  13341. See Also 
  13342.  
  13343.   glCopyPixels, glDrawBuffer, glReadPixels
  13344.  
  13345.  
  13346.  
  13347. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  13348.  
  13349.  Introduction | Alphabetic | Specification 
  13350.  
  13351. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  13352. Look here for legal stuff:  Legal 
  13353.  
  13354.  
  13355. ΓòÉΓòÉΓòÉ 3.96. glReadPixels ΓòÉΓòÉΓòÉ
  13356.  
  13357.  OpenGL man pages 
  13358.  
  13359. glReadPixels 
  13360.  
  13361.  
  13362.  
  13363.  
  13364.  
  13365.  
  13366. Name 
  13367.  
  13368.   glReadPixels - read a block of pixels from the frame buffer
  13369.  
  13370.  
  13371.  
  13372.  
  13373. C Specification 
  13374.  
  13375.   void glReadPixels( GLint x,
  13376.                      GLint y,
  13377.                      GLsizei width,
  13378.                      GLsizei height,
  13379.                      GLenum format,
  13380.                      GLenum type,
  13381.                      GLvoid *pixels )
  13382.  
  13383.  
  13384.  
  13385.  
  13386. Parameters 
  13387.  
  13388.  
  13389.   x, y Specify the window coordinates of the first pixel that is read from
  13390.        the frame buffer.  This location is the lower left corner of a
  13391.        rectangular block of pixels.
  13392.  
  13393.   width, height
  13394.        Specify the dimensions of the pixel rectangle.  width and height of
  13395.        one correspond to a single pixel.
  13396.  
  13397.   format
  13398.        Specifies the format of the pixel data.  The following symbolic values
  13399.        are accepted: GL_COLOR_INDEX, GL_STENCIL_INDEX, GL_DEPTH_COMPONENT,
  13400.        GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_RGBA, GL_LUMINANCE,
  13401.        and GL_LUMINANCE_ALPHA.
  13402.  
  13403.   type Specifies the data type of the pixel data.  Must be one of
  13404.        GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT,
  13405.        GL_UNSIGNED_INT, GL_INT, or GL_FLOAT.
  13406.  
  13407.   pixels
  13408.        Returns the pixel data.
  13409.  
  13410.  
  13411.  
  13412. Description 
  13413.  
  13414.   glReadPixels returns pixel data from the frame buffer, starting with the
  13415.   pixel whose lower left corner is at location (x, y), into client memory
  13416.   starting at location pixels.  Several parameters control the processing of
  13417.   the pixel data before it is placed into client memory.  These parameters
  13418.   are set with three commands: glPixelStore, glPixelTransfer, and glPixelMap.
  13419.   This reference page describes the effects on glReadPixels of most, but not
  13420.   all of the parameters specified by these three commands.
  13421.  
  13422.   glReadPixels returns values from each pixel with lower left-hand corner at
  13423.   (x + i, y + j) for 0<=i<width and 0<=j<height. This pixel is said to be the
  13424.   ith pixel in the jth row. Pixels are returned in row order from the lowest
  13425.   to the highest row, left to right in each row.
  13426.  
  13427.   format specifies the format for the returned pixel values.  Accepted values
  13428.   for format are as follows:
  13429.  
  13430.   GL_COLOR_INDEX
  13431.             Color indices are read from the color buffer selected by
  13432.             glReadBuffer.  Each index is converted to fixed point, shifted
  13433.             left or right depending on the value and sign of GL_INDEX_SHIFT,
  13434.             and added to GL_INDEX_OFFSET. If GL_MAP_COLOR is GL_TRUE, indices
  13435.             are replaced by their mappings in the table GL_PIXEL_MAP_I_TO_I.
  13436.  
  13437.   GL_STENCIL_INDEX
  13438.             Stencil values are read from the stencil buffer.  Each index is
  13439.             converted to fixed point, shifted left or right depending on the
  13440.             value and sign of GL_INDEX_SHIFT, and added to GL_INDEX_OFFSET.
  13441.             If GL_MAP_STENCIL is GL_TRUE, indices are replaced by their
  13442.             mappings in the table GL_PIXEL_MAP_S_TO_S.
  13443.  
  13444.   GL_DEPTH_COMPONENT
  13445.             Depth values are read from the depth buffer.  Each component is
  13446.             converted to floating point such that the minimum depth value
  13447.             maps to 0.0 and the maximum value maps to 1.0.  Each component is
  13448.             then multiplied by GL_DEPTH_SCALE, added to GL_DEPTH_BIAS, and
  13449.             finally clamped to the range [0,1].
  13450.  
  13451.   GL_RED
  13452.  
  13453.   GL_GREEN
  13454.  
  13455.   GL_BLUE
  13456.  
  13457.   GL_ALPHA
  13458.  
  13459.   GL_RGB
  13460.  
  13461.   GL_RGBA
  13462.  
  13463.   GL_LUMINANCE
  13464.  
  13465.   GL_LUMINANCE_ALPHA
  13466.             Processing differs depending on whether color buffers store color
  13467.             indices or RGBA color components.  If color indices are stored,
  13468.             they are read from the color buffer selected by glReadBuffer.
  13469.             Each index is converted to fixed point, shifted left or right
  13470.             depending on the value and sign of GL_INDEX_SHIFT, and added to
  13471.             GL_INDEX_OFFSET. Indices are then replaced by the red, green,
  13472.             blue, and alpha values obtained by indexing the
  13473.             GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B,
  13474.             and GL_PIXEL_MAP_I_TO_A tables.  Each of these tables must be of
  13475.                   n
  13476.             size 2 , but n may be different for different tables. Before an
  13477.                                                                  n
  13478.             index is used to look up a value in a table of size 2 it must
  13479.                                n
  13480.             be masked against 2 -1.
  13481.  
  13482.             If RGBA color components are stored in the color buffers, they
  13483.             are read from the color buffer selected by glReadBuffer.  Each
  13484.             color component is converted to floating point such that zero
  13485.             intensity maps to 0.0 and full intensity maps to 1.0.  Each
  13486.             component is then multiplied by GL_c_SCALE and added to
  13487.             GL_c_BIAS, where c is RED, GREEN, BLUE, or ALPHA.  Finally, if
  13488.             GL_MAP_COLOR is GL_TRUE, Each component is clamped to the range
  13489.             [0,1], scaled to the size of its corresponding table, and is then
  13490.             replaced by its mapping in the table GL_PIXEL_MAP_c_TO_c, where c
  13491.             is R, G, B, or A.
  13492.  
  13493.             Unneeded data is then discarded.  For example, GL_RED discards
  13494.             the green, blue, and alpha components, while GL_RGB discards only
  13495.             the alpha component.  GL_LUMINANCE computes a single component
  13496.             value as the sum of the red, green, and blue components, and
  13497.             GL_LUMINANCE_ALPHA does the same, while keeping alpha as a second
  13498.             value.  The final values are clamped to the range [0,1].
  13499.  
  13500.   The shift, scale, bias, and lookup factors described above are all
  13501.   specified by glPixelTransfer.  The lookup table contents themselves are
  13502.   specified by glPixelMap.
  13503.  
  13504.   The final step involves converting the indices or components to the proper
  13505.   format, as specified by type.  If format is GL_COLOR_INDEX or
  13506.   GL_STENCIL_INDEX and type is not GL_FLOAT, each index is masked with the
  13507.   mask value given in the following table.  If type is GL_FLOAT, then each
  13508.   integer index is converted to single-precision floating-point format.
  13509.  
  13510.   If format is GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_RGBA,
  13511.   GL_LUMINANCE, or GL_LUMINANCE_ALPHA and type is not GL_FLOAT, each
  13512.   component is multiplied by the multiplier shown in the following table.  If
  13513.   type is GL_FLOAT, then each component is passed as is (or converted to the
  13514.   client's single-precision floating-point format if it is different from the
  13515.   one used by the GL).
  13516.  
  13517.             -------------------------------------------------------
  13518.             |      type        | index mask | component conversion |
  13519.             -------------------------------------------------------
  13520.             |GL_UNSIGNED_BYTE  |   2^8-1    |       (2^8-1)c       |
  13521.             |     GL_BYTE      |   2^7-1    |    [(2^8-1)c-1]/2    |
  13522.             |    GL_BITMAP     |     1      |          1           |
  13523.             |GL_UNSIGNED_SHORT |   2^16-1   |      (2^16-1)c       |
  13524.             |    GL_SHORT      |   2^15-1   |   [(2^16-1)c-1]/2    |
  13525.             | GL_UNSIGNED_INT  |   2^32-1   |      (2^32-1)c       |
  13526.             |     GL_INT       |   2^31-1   |   [(2^32-1)c-1]/2    |
  13527.             |    GL_FLOAT      |    none    |          c           |
  13528.             -------------------------------------------------------
  13529.  
  13530.   Return values are placed in memory as follows.  If format is
  13531.   GL_COLOR_INDEX, GL_STENCIL_INDEX, GL_DEPTH_COMPONENT, GL_RED, GL_GREEN,
  13532.   GL_BLUE, GL_ALPHA, or GL_LUMINANCE, a single value is returned and the data
  13533.   for the ith pixel in the jth row is placed in location (j) width + i.
  13534.   GL_RGB returns three values, GL_RGBA returns four values, and
  13535.   GL_LUMINANCE_ALPHA returns two values for each pixel, with all values
  13536.   corresponding to a single pixel occupying contiguous space in pixels.
  13537.   Storage parameters set by glPixelStore, such as GL_PACK_SWAP_BYTES and
  13538.   GL_PACK_LSB_FIRST, affect the way that data is written into memory. See
  13539.   glPixelStore for a description.
  13540.  
  13541.  
  13542.  
  13543. Notes 
  13544.  
  13545.   Values for pixels that lie outside the window connected to the current GL
  13546.   context are undefined.
  13547.  
  13548.   If an error is generated, no change is made to the contents of pixels.
  13549.  
  13550.  
  13551.  
  13552. Errors 
  13553.  
  13554.   GL_INVALID_ENUM is generated if format or type is not an accepted value.
  13555.  
  13556.   GL_INVALID_VALUE is generated if either width or height is negative.
  13557.  
  13558.   GL_INVALID_OPERATION is generated if format is GL_COLOR_INDEX and the color
  13559.   buffers store RGBA color components.
  13560.  
  13561.   GL_INVALID_OPERATION is generated if format is GL_STENCIL_INDEX and there
  13562.   is no stencil buffer.
  13563.  
  13564.   GL_INVALID_OPERATION is generated if format is GL_DEPTH_COMPONENT and there
  13565.   is no depth buffer.
  13566.  
  13567.   GL_INVALID_OPERATION is generated if glReadPixels is executed between the
  13568.   execution of glBegin and the corresponding execution of glEnd.
  13569.  
  13570.  
  13571.  
  13572.  
  13573. Associated Gets 
  13574.  
  13575.   glGet with argument GL_INDEX_MODE
  13576.  
  13577.  
  13578.  
  13579.  
  13580.  
  13581. See Also 
  13582.  
  13583.   glCopyPixels, glDrawPixels, glPixelMap, glPixelStore, glPixelTransfer,
  13584.   glReadBuffer
  13585.  
  13586. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  13587.  
  13588.  Introduction | Alphabetic | Specification 
  13589.  
  13590. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  13591. Look here for legal stuff:  Legal 
  13592.  
  13593.  
  13594. ΓòÉΓòÉΓòÉ 3.97. glRect ΓòÉΓòÉΓòÉ
  13595.  
  13596.  OpenGL man pages 
  13597.  
  13598. glRect 
  13599.  
  13600.  
  13601.  
  13602.  
  13603.  
  13604.  
  13605. Name 
  13606.  
  13607.   glRectd, glRectf, glRecti, glRects, glRectdv,
  13608. glRectfv, glRectiv, glRectsv
  13609.   - draw a rectangle
  13610.  
  13611.  
  13612.  
  13613.  
  13614. C Specification 
  13615.  
  13616.   void glRectd( GLdouble x1,
  13617.                 GLdouble y1,
  13618.                 GLdouble x2,
  13619.                 GLdouble y2 )
  13620.   void glRectf( GLfloat x1,
  13621.                 GLfloat y1,
  13622.                 GLfloat x2,
  13623.                 GLfloat y2 )
  13624.   void glRecti( GLint x1,
  13625.                 GLint y1,
  13626.                 GLint x2,
  13627.                 GLint y2 )
  13628.   void glRects( GLshort x1,
  13629.                 GLshort y1,
  13630.                 GLshort x2,
  13631.                 GLshort y2 )
  13632.  
  13633.  
  13634.  
  13635.  
  13636. Parameters 
  13637.  
  13638.  
  13639.   x1, y1 Specify one vertex of a rectangle.
  13640.  
  13641.   x2, y2 Specify the opposite vertex of the rectangle.
  13642.  
  13643.  
  13644.  
  13645. C Specification 
  13646.  
  13647.   void glRectdv( const GLdouble *v1,
  13648.                  const GLdouble *v2 )
  13649.   void glRectfv( const GLfloat *v1,
  13650.                  const GLfloat *v2 )
  13651.   void glRectiv( const GLint *v1,
  13652.                  const GLint *v2 )
  13653.   void glRectsv( const GLshort *v1,
  13654.                  const GLshort *v2 )
  13655.  
  13656.  
  13657.  
  13658.  
  13659. Parameters 
  13660.  
  13661.  
  13662.   v1   Specifies a pointer to one vertex of a rectangle.
  13663.  
  13664.   v2   Specifies a pointer to the opposite vertex of the rectangle.
  13665.  
  13666.  
  13667.  
  13668. Description 
  13669.  
  13670.   glRect supports efficient specification of rectangles as two corner points.
  13671.   Each  rectangle command takes four arguments, organized either as two
  13672.   consecutive pairs of (x,y) coordinates, or as two pointers to arrays, each
  13673.   containing an (x,y) pair.  The resulting rectangle is defined in the z=0
  13674.   plane.
  13675.  
  13676.   glRect(x1, y1, x2, y2) is exactly equivalent to the following sequence:
  13677.   glBegin(GL_POLYGON); glVertex2(x1, y1); glVertex2(x2, y1); glVertex2(x2,
  13678.   y2); glVertex2(x1, y2); glEnd(); Note that if the second vertex is above
  13679.   and to the right of the first vertex, the  rectangle is constructed with a
  13680.   counterclockwise winding.
  13681.  
  13682.  
  13683.  
  13684. Errors 
  13685.  
  13686.   GL_INVALID_OPERATION is generated if glRect is called between a call to
  13687.   glBegin and the corresponding call to glEnd.
  13688.  
  13689.  
  13690.  
  13691. See Also 
  13692.  
  13693.   glBegin, glVertex
  13694.  
  13695.  
  13696.  
  13697. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  13698.  
  13699.  Introduction | Alphabetic | Specification 
  13700.  
  13701. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  13702. Look here for legal stuff:  Legal 
  13703.  
  13704.  
  13705. ΓòÉΓòÉΓòÉ 3.98. glRenderMode ΓòÉΓòÉΓòÉ
  13706.  
  13707.  OpenGL man pages 
  13708.  
  13709. glRenderMode 
  13710.  
  13711.  
  13712.  
  13713.  
  13714.  
  13715.  
  13716. Name 
  13717.  
  13718.   glRenderMode - set rasterization mode
  13719.  
  13720.  
  13721.  
  13722.  
  13723. C Specification 
  13724.  
  13725.   GLint glRenderMode( GLenum mode )
  13726.  
  13727.  
  13728.  
  13729.  
  13730. Parameters 
  13731.  
  13732.  
  13733.   mode  Specifies the rasterization mode.  Three values are accepted:
  13734.         GL_RENDER, GL_SELECT, and GL_FEEDBACK.  The default value is
  13735.         GL_RENDER.
  13736.  
  13737.  
  13738.  
  13739.  
  13740. Description 
  13741.  
  13742.   glRenderMode sets the rasterization mode.  It takes one argument, mode,
  13743.   which can assume one of three predefined values:
  13744.  
  13745.   GL_RENDER       Render mode. Primitives are rasterized, producing pixel
  13746.                   fragments, which are written into the frame buffer.  This
  13747.                   is the normal mode and also the default mode.
  13748.  
  13749.   GL_SELECT       Selection mode.  No pixel fragments are produced, and no
  13750.                   change to the frame buffer contents is made.  Instead, a
  13751.                   record of the names of primitives that would have been
  13752.                   drawn if the render mode was GL_RENDER is returned in a
  13753.                   select buffer, which must be created (see glSelectBuffer)
  13754.                   before selection mode is entered.
  13755.  
  13756.   GL_FEEDBACK     Feedback mode.  No pixel fragments are produced, and no
  13757.                   change to the frame buffer contents is made.  Instead, the
  13758.                   coordinates and attributes of vertices that would have been
  13759.                   drawn had the render mode been GL_RENDER is returned in a
  13760.                   feedback buffer, which must be created (see
  13761.                   glFeedbackBuffer) before feedback mode is entered.
  13762.  
  13763.   The return value of glRenderMode is determined by the render mode at the
  13764.   time glRenderMode is called, rather than by mode.  The values returned for
  13765.   the three render modes are as follows:
  13766.  
  13767.   GL_RENDER       Zero.
  13768.  
  13769.   GL_SELECT       The number of hit records transferred to the select buffer.
  13770.  
  13771.   GL_FEEDBACK     The number of values (not vertices) transferred to the
  13772.                   feedback buffer.
  13773.  
  13774.   Refer to the glSelectBuffer and glFeedbackBuffer reference pages for more
  13775.   details concerning selection and feedback operation.
  13776.  
  13777.  
  13778.  
  13779.  
  13780.  
  13781. Notes 
  13782.  
  13783.   If an error is generated, glRenderMode returns zero regardless of the
  13784.   current render mode.
  13785.  
  13786.  
  13787.  
  13788.  
  13789.  
  13790. Errors 
  13791.  
  13792.   GL_INVALID_ENUM is generated if mode is not one of the three accepted
  13793.   values.
  13794.  
  13795.   GL_INVALID_OPERATION is generated if glSelectBuffer is called while the
  13796.   render mode is GL_SELECT, or if glRenderMode is called with argument
  13797.   GL_SELECT before glSelectBuffer is called at least once.
  13798.  
  13799.   GL_INVALID_OPERATION is generated if glFeedbackBuffer is called while the
  13800.   render mode is GL_FEEDBACK, or if glRenderMode is called with argument
  13801.   GL_FEEDBACK before glFeedbackBuffer is called at least once.
  13802.  
  13803.   GL_INVALID_OPERATION is generated if glRenderMode is executed between the
  13804.   execution of glBegin and the corresponding execution of glEnd.
  13805.  
  13806.  
  13807.  
  13808. Associated Gets 
  13809.  
  13810.   glGet with argument GL_RENDER_MODE
  13811.  
  13812.  
  13813.  
  13814. See Also 
  13815.  
  13816.   glFeedbackBuffer, glInitNames, glLoadName, glPassThrough, glPushName,
  13817.   glSelectBuffer
  13818.  
  13819.  
  13820.  
  13821. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  13822.  
  13823.  Introduction | Alphabetic | Specification 
  13824.  
  13825. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  13826. Look here for legal stuff:  Legal 
  13827.  
  13828.  
  13829. ΓòÉΓòÉΓòÉ 3.99. glRotate ΓòÉΓòÉΓòÉ
  13830.  
  13831.  OpenGL man pages 
  13832.  
  13833. glRotate 
  13834.  
  13835.  
  13836.  
  13837.  
  13838.  
  13839.  
  13840. Name 
  13841.  
  13842.   glRotated, glRotatef - multiply the current matrix by a rotation matrix
  13843.  
  13844.  
  13845.  
  13846.  
  13847. C Specification 
  13848.  
  13849.   void glRotated( GLdouble angle,
  13850.                   GLdouble x,
  13851.                   GLdouble y,
  13852.                   GLdouble z )
  13853.   void glRotatef( GLfloat angle,
  13854.                   GLfloat x,
  13855.                   GLfloat y,
  13856.                   GLfloat z )
  13857.  
  13858.  
  13859.  
  13860.  
  13861. Parameters 
  13862.  
  13863.  
  13864.   angle  Specifies the angle of rotation, in degrees.
  13865.  
  13866.   x, y, z
  13867.          Specify the x, y, and z coordinates of a vector, respectively.
  13868.  
  13869.  
  13870.  
  13871. Description 
  13872.  
  13873.   glRotate computes a matrix that performs a counterclockwise rotation of
  13874.   angle degrees about the vector from the origin through the point (x, y, z).
  13875.  
  13876.   The current matrix (see glMatrixMode) is multiplied by this rotation
  13877.   matrix, with the product replacing the current matrix.  That is, if M is
  13878.   the current matrix and R is the translation matrix, then M is replaced with
  13879.   M Γòû R.
  13880.  
  13881.   If the matrix mode is either GL_MODELVIEW or GL_PROJECTION, all objects
  13882.   drawn after glRotate is called are rotated.  Use glPushMatrix and
  13883.   glPopMatrix to save and restore the unrotated coordinate system.
  13884.  
  13885.  
  13886.  
  13887. Errors 
  13888.  
  13889.   GL_INVALID_OPERATION is generated if glRotate is executed between
  13890.   the execution of glBegin and the corresponding execution of glEnd.
  13891.  
  13892.  
  13893.  
  13894. Associated Gets 
  13895.  
  13896.   glGet with argument GL_MATRIX_MODE
  13897.   glGet with argument GL_MODELVIEW_MATRIX
  13898.   glGet with argument GL_PROJECTION_MATRIX
  13899.   glGet with argument GL_TEXTURE_MATRIX
  13900.  
  13901.  
  13902.  
  13903. See Also 
  13904.  
  13905.   glMatrixMode, glMultMatrix, glPushMatrix, glScale, glTranslate
  13906.  
  13907. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  13908.  
  13909.  Introduction | Alphabetic | Specification 
  13910.  
  13911. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  13912. Look here for legal stuff:  Legal 
  13913.  
  13914.  
  13915. ΓòÉΓòÉΓòÉ 3.100. glScale ΓòÉΓòÉΓòÉ
  13916.  
  13917.  OpenGL man pages 
  13918.  
  13919. glScale 
  13920.  
  13921.  
  13922.  
  13923.  
  13924.  
  13925.  
  13926. Name 
  13927.  
  13928.   glScaled, glScalef - multiply the current matrix by a general scaling
  13929.   matrix
  13930.  
  13931.  
  13932.  
  13933.  
  13934. C Specification 
  13935.  
  13936.   void glScaled( GLdouble x,
  13937.                  GLdouble y,
  13938.                  GLdouble z )
  13939.   void glScalef( GLfloat x,
  13940.                  GLfloat y,
  13941.                  GLfloat z )
  13942.  
  13943.  
  13944.  
  13945.  
  13946. Parameters 
  13947.  
  13948.  
  13949.   x, y, z
  13950.          Specify scale factors along the x, y, and z axes, respectively.
  13951.  
  13952.  
  13953.  
  13954. Description 
  13955.  
  13956.   glScale produces a general scaling along the x, y, and z axes.  The three
  13957.   arguments indicate the desired scale factors along each of the three axes.
  13958.   The resulting matrix is
  13959.  
  13960.                               |  x   0   0   0  |
  13961.                               |                 |
  13962.                               |  0   y   0   0  |
  13963.                               |                 |
  13964.                               |  0   0   z   0  |
  13965.                               |                 |
  13966.                               |  0   0   0   1  |
  13967.  
  13968.   The current matrix (see glMatrixMode) is multiplied by this scale matrix,
  13969.   with the product replacing the current matrix.  That is, if M is the
  13970.   current matrix and S is the scale matrix, then M is replaced with M Γòû S.
  13971.  
  13972.   If the matrix mode is either GL_MODELVIEW or GL_PROJECTION, all objects
  13973.   drawn after glScale is called are scaled.  Use glPushMatrix and glPopMatrix
  13974.   to save and restore the unscaled coordinate system.
  13975.  
  13976.  
  13977.  
  13978. Notes 
  13979.  
  13980.   If scale factors other than 1.0 are applied to the modelview matrix and
  13981.   lighting is enabled, automatic normalization of normals should probably
  13982.   also be enabled (glEnable and glDisable with argument GL_NORMALIZE).
  13983.  
  13984.  
  13985.  
  13986. Errors 
  13987.  
  13988.   GL_INVALID_OPERATION is generated if glScale is executed between
  13989.   the execution of glBegin and the corresponding execution of glEnd.
  13990.  
  13991.  
  13992.  
  13993. Associated Gets 
  13994.  
  13995.   glGet with argument GL_MATRIX_MODE
  13996.   glGet with argument GL_MODELVIEW_MATRIX
  13997.   glGet with argument GL_PROJECTION_MATRIX
  13998.   glGet with argument GL_TEXTURE_MATRIX
  13999.  
  14000.  
  14001.  
  14002. See Also 
  14003.  
  14004.   glMatrixMode, glMultMatrix, glPushMatrix, glRotate, glTranslate
  14005.  
  14006.  
  14007. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  14008.  
  14009.  Introduction | Alphabetic | Specification 
  14010.  
  14011. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  14012. Look here for legal stuff:  Legal 
  14013.  
  14014.  
  14015. ΓòÉΓòÉΓòÉ 3.101. glScissor ΓòÉΓòÉΓòÉ
  14016.  
  14017.  OpenGL man pages 
  14018.  
  14019. glScissor 
  14020.  
  14021.  
  14022.  
  14023.  
  14024.  
  14025.  
  14026. Name 
  14027.  
  14028.   glScissor - define the scissor box
  14029.  
  14030.  
  14031.  
  14032.  
  14033. C Specification 
  14034.  
  14035.   void glScissor( GLint x,
  14036.                   GLint y,
  14037.                   GLsizei width,
  14038.                   GLsizei height )
  14039.  
  14040.  
  14041.  
  14042.  
  14043. Parameters 
  14044.  
  14045.  
  14046.   x, y Specify the lower left corner of the scissor box.  Initially (0,0).
  14047.  
  14048.   width, height
  14049.        Specify the width and height of the scissor box.  When a GL context is
  14050.        first attached to a window, width and height are set to the dimensions
  14051.        of that window.
  14052.  
  14053.  
  14054.  
  14055.  
  14056. Description 
  14057.  
  14058.   The glScissor routine defines a rectangle, called the scissor box, in
  14059.   window coordinates.  The first two arguments, x and y, specify the lower
  14060.   left corner of the box.  width and height specify the width and height of
  14061.   the box.
  14062.  
  14063.   The scissor test is enabled and disabled using glEnable and glDisable with
  14064.   argument GL_SCISSOR_TEST.  While the scissor test is enabled, only pixels
  14065.   that lie within the scissor box can be modified by drawing commands.
  14066.   Window coordinates have integer values at the shared corners of frame
  14067.   buffer pixels, so  glScissor(0,0,1,1) allows only the lower left pixel in
  14068.   the window to be modified,  and glScissor(0,0,0,0) disallows modification
  14069.   to all pixels in the window.
  14070.  
  14071.   When the scissor test is disabled, it is as though the scissor box includes
  14072.   the entire window.
  14073.  
  14074.  
  14075.  
  14076. Errors 
  14077.  
  14078.   GL_INVALID_VALUE is generated if either width or height is negative.
  14079.  
  14080.   GL_INVALID_OPERATION is generated if glScissor is executed between
  14081.   execution of glBegin and the corresponding execution ofglEnd.
  14082.  
  14083.  
  14084.  
  14085. Associated Gets 
  14086.  
  14087.   glGet with argument GL_SCISSOR_BOX
  14088.   glIsEnabled with argument GL_SCISSOR_TEST
  14089.  
  14090.  
  14091.  
  14092. See Also 
  14093.  
  14094.   glEnable, glViewport
  14095.  
  14096.  
  14097.  
  14098. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  14099.  
  14100.  Introduction | Alphabetic | Specification 
  14101.  
  14102. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  14103. Look here for legal stuff:  Legal 
  14104.  
  14105.  
  14106. ΓòÉΓòÉΓòÉ 3.102. glSelectBuffer ΓòÉΓòÉΓòÉ
  14107.  
  14108.  OpenGL man pages 
  14109.  
  14110. glSelectBuffer 
  14111.  
  14112.  
  14113.  
  14114.  
  14115.  
  14116.  
  14117. Name 
  14118.  
  14119.   glSelectBuffer - establish a buffer for selection mode values
  14120.  
  14121.  
  14122.  
  14123.  
  14124. C Specification 
  14125.  
  14126.   void glSelectBuffer( GLsizei size,
  14127.                        GLuint *buffer )
  14128.  
  14129.  
  14130.  
  14131.  
  14132. Parameters 
  14133.  
  14134.  
  14135.   size    Specifies the size of buffer.
  14136.  
  14137.   buffer  Returns the selection data.
  14138.  
  14139.  
  14140.  
  14141.  
  14142. Description 
  14143.  
  14144.   glSelectBuffer has two arguments: buffer is a pointer to an array of
  14145.   unsigned integers, and size indicates the size of the array.  buffer
  14146.   returns values from the name stack (see glInitNames, glLoadName,
  14147.   glPushName) when the rendering mode is GL_SELECT (see glRenderMode).
  14148.   glSelectBuffer must be issued before selection mode is enabled, and it must
  14149.   not be issued while the rendering mode is GL_SELECT.
  14150.  
  14151.   Selection is used by a programmer to determine which primitives are drawn
  14152.   into some region of a window.  The region is defined by the current
  14153.   modelview and perspective matrices.
  14154.  
  14155.   In selection mode, no pixel fragments are produced from rasterization.
  14156.   Instead, if a primitive intersects the clipping volume defined by the
  14157.   viewing frustum and the user-defined clipping planes, this primitive causes
  14158.   a selection hit.  (With polygons, no hit occurs if the polygon is culled.)
  14159.   When a change is made to the name stack, or when glRenderMode is called, a
  14160.   hit record is copied to buffer if any hits have occurred since the last
  14161.   such event (name stack change or glRenderMode call).  The hit record
  14162.   consists of the number of names in the name stack at the time of the event,
  14163.   followed by the minimum and maximum depth values of all vertices that hit
  14164.   since the previous event, followed by the name stack contents, bottom name
  14165.   first.
  14166.  
  14167.   Returned depth values are mapped such that the largest unsigned integer
  14168.   value corresponds to window coordinate depth 1.0, and zero corresponds to
  14169.   window coordinate depth 0.0.
  14170.  
  14171.   An internal index into buffer is reset to zero whenever selection mode is
  14172.   entered.  Each time a hit record is copied into buffer, the index is
  14173.   incremented to point to the cell just past the end of the block of names -
  14174.   that is, to the next available cell.  If the hit record is larger than the
  14175.   number of remaining locations in buffer, as much data as can fit is copied,
  14176.   and the overflow flag is set.  If the name stack is empty when a hit record
  14177.   is copied, that record consists of zero followed by the minimum and maximum
  14178.   depth values.
  14179.  
  14180.   Selection mode is exited by calling glRenderMode with an argument other
  14181.   than GL_SELECT.  Whenever glRenderMode is called while the render mode is
  14182.   GL_SELECT, it returns the number of hit records copied to buffer, resets
  14183.   the overflow flag and the selection buffer pointer, and initializes the
  14184.   name stack to be empty.  If the overflow bit was set when glRenderMode was
  14185.   called, a negative hit record count is returned.
  14186.  
  14187.  
  14188.  
  14189. Notes 
  14190.  
  14191.   The contents of buffer are undefined until glRenderMode is called with an
  14192.   argument other than GL_SELECT.
  14193.  
  14194.   glBegin/glEnd primitives and calls to glRasterPos can result in hits.
  14195.  
  14196.  
  14197.  
  14198. Errors 
  14199.  
  14200.   GL_INVALID_VALUE is generated if size is negative.
  14201.  
  14202.   GL_INVALID_OPERATION is generated if glSelectBuffer is called while the
  14203.   render mode is GL_SELECT, or if glRenderMode is called with argument
  14204.   GL_SELECT before glSelectBuffer is called at least once.
  14205.  
  14206.   GL_INVALID_OPERATION is generated if glSelectBuffer is executed between the
  14207.   execution of glBegin and the corresponding execution of glEnd.
  14208.  
  14209.  
  14210.  
  14211. Associated Gets 
  14212.  
  14213.   glGet with argument GL_NAME_STACK_DEPTH
  14214.  
  14215.  
  14216.  
  14217. See Also 
  14218.  
  14219.   glFeedbackBuffer, glInitNames, glLoadName, glPushName, glRenderMode
  14220.  
  14221.  
  14222.  
  14223. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  14224.  
  14225.  Introduction | Alphabetic | Specification 
  14226.  
  14227. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  14228. Look here for legal stuff:  Legal 
  14229.  
  14230.  
  14231. ΓòÉΓòÉΓòÉ 3.103. glShadeModel ΓòÉΓòÉΓòÉ
  14232.  
  14233.  OpenGL man pages 
  14234.  
  14235. glShadeModel 
  14236.  
  14237.  
  14238.  
  14239.  
  14240.  
  14241.  
  14242. Name 
  14243.  
  14244.   glShadeModel - select flat or smooth shading
  14245.  
  14246.  
  14247.  
  14248.  
  14249. C Specification 
  14250.  
  14251.   void glShadeModel( GLenum mode )
  14252.  
  14253.  
  14254.  
  14255.  
  14256. Parameters 
  14257.  
  14258.  
  14259.   mode  Specifies a symbolic value representing a shading technique.
  14260.         Accepted values are GL_FLAT and GL_SMOOTH.  The default is GL_SMOOTH.
  14261.  
  14262.  
  14263.  
  14264.  
  14265. Description 
  14266.  
  14267.   GL primitives can have either flat or smooth shading.  Smooth shading, the
  14268.   default, causes the computed colors of vertices to be interpolated as the
  14269.   primitive is rasterized, typically assigning different colors to each
  14270.   resulting pixel fragment.  Flat shading selects the computed color of just
  14271.   one vertex and assigns it to all the pixel fragments generated by
  14272.   rasterizing a single primitive.  In either case, the computed color of a
  14273.   vertex is the result of lighting, if lighting is enabled, or it is the
  14274.   current color at the time the vertex was specified, if lighting is
  14275.   disabled.
  14276.  
  14277.   Flat and smooth shading are indistinguishable for points.  Counting
  14278.   vertices and primitives from one starting when glBegin is issued, each
  14279.   flat-shaded line segment i is given the computed color of vertex i+1, its
  14280.   second vertex.  Counting similarly from one, each flat-shaded polygon is
  14281.   given the computed color of the vertex listed in the following table.  This
  14282.   is the last vertex to specify the polygon in all cases except single
  14283.   polygons, where the first vertex specifies the flat-shaded color.
  14284.  
  14285.                     ---------------------------------------
  14286.                     |primitive type of polygon   |   i    |
  14287.                     ---------------------------------------
  14288.                     |Single polygon (i=1)        |   1    |
  14289.                     |Triangle strip              |  i+2   |
  14290.                     |Triangle fan                |  i+2   |
  14291.                     |Independent triangle        |   3i   |
  14292.                     |Quad strip                  |  2i+2  |
  14293.                     |Independent quad            |   4i   |
  14294.                     ---------------------------------------
  14295.  
  14296.   Flat and smooth shading are specified by glShadeModel with mode set to
  14297.   GL_FLAT and GL_SMOOTH, respectively.
  14298.  
  14299.  
  14300.  
  14301. Errors 
  14302.  
  14303.   GL_INVALID_ENUM is generated if mode is any value other than GL_FLAT or
  14304.   GL_SMOOTH.
  14305.  
  14306.   GL_INVALID_OPERATION is generated if glShadeModel is executed between the
  14307.   execution of glBegin and the corresponding execution of glEnd.
  14308.  
  14309.  
  14310.  
  14311. Associated Gets 
  14312.  
  14313.   glGet with argument GL_SHADE_MODEL
  14314.  
  14315.  
  14316.  
  14317.  
  14318.  
  14319. See Also 
  14320.  
  14321.   glBegin, glColor, glLight, glLightModel
  14322.  
  14323.  
  14324. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  14325.  
  14326.  Introduction | Alphabetic | Specification 
  14327.  
  14328. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  14329. Look here for legal stuff:  Legal 
  14330.  
  14331.  
  14332. ΓòÉΓòÉΓòÉ 3.104. glStencilFunc ΓòÉΓòÉΓòÉ
  14333.  
  14334.  OpenGL man pages 
  14335.  
  14336. glStencilFunc 
  14337.  
  14338.  
  14339.  
  14340.  
  14341.  
  14342.  
  14343. Name 
  14344.  
  14345.   glStencilFunc - set function and reference value for stencil testing
  14346.  
  14347.  
  14348.  
  14349.  
  14350. C Specification 
  14351.  
  14352.   void glStencilFunc( GLenum func,
  14353.                       GLint ref,
  14354.                       GLuint mask )
  14355.  
  14356.  
  14357.  
  14358.  
  14359. Parameters 
  14360.  
  14361.  
  14362.   func  Specifies the test function.  Eight tokens are valid: GL_NEVER,
  14363.         GL_LESS, GL_LEQUAL, GL_GREATER, GL_GEQUAL, GL_EQUAL, GL_NOTEQUAL, and
  14364.         GL_ALWAYS.
  14365.  
  14366.   ref   Specifies the reference value for the stencil test.  ref is clamped
  14367.                          n
  14368.         to the range [0,2 -1], where n is the number of bitplanes in the
  14369.         stencil buffer.
  14370.  
  14371.   mask  Specifies a mask that is ANDed with both the reference value and the
  14372.         stored stencil value when the test is done.
  14373.  
  14374.  
  14375.  
  14376.  
  14377. Description 
  14378.  
  14379.   Stenciling, like z-buffering, enables and disables drawing on a per-pixel
  14380.   basis.  You draw into the stencil planes using GL drawing primitives, then
  14381.   render geometry and images, using the stencil planes to mask out portions
  14382.   of the screen.  Stenciling is typically used in multipass rendering
  14383.   algorithms to achieve special effects, such as decals, outlining, and
  14384.   constructive solid geometry rendering.
  14385.  
  14386.   The stencil test conditionally eliminates a pixel based on the outcome of a
  14387.   comparison between the reference value and the value in the stencil buffer.
  14388.   The test is enabled by glEnable and glDisable with argument
  14389.   GL_STENCIL_TEST.  Actions taken based on the outcome of the stencil test
  14390.   are specified with glStencilOp.
  14391.  
  14392.   func is a symbolic constant that determines the stencil comparison
  14393.   function.  It accepts one of eight values, shown below.  ref is an integer
  14394.   reference value that is used in the stencil comparison.  It is clamped to
  14395.   the range [0,2n-1], where n is the number of bitplanes in the stencil
  14396.   buffer.  mask is bitwise ANDed with both the reference value and the stored
  14397.   stencil value, with the ANDed values participating in the comparison.
  14398.  
  14399.   If stencil represents the value stored in the corresponding stencil buffer
  14400.   location, the following list shows the effect of each comparison function
  14401.   that can be specified by func.  Only if the comparison succeeds is the
  14402.   pixel passed through to the next stage in the rasterization process (see
  14403.   glStencilOp).  All tests treat stencil values as unsigned integers in the
  14404.   range [0,2n-1], where n is the number of bitplanes in the stencil buffer.
  14405.  
  14406.  
  14407.   Here are the values accepted by func:
  14408.  
  14409.   GL_NEVER          Always fails.
  14410.  
  14411.   GL_LESS           Passes if ( ref & mask ) < ( stencil & mask ).
  14412.  
  14413.   GL_LEQUAL         Passes if ( ref & mask ) <= ( stencil & mask ).
  14414.  
  14415.   GL_GREATER        Passes if ( ref & mask ) > ( stencil & mask ).
  14416.  
  14417.   GL_GEQUAL         Passes if ( ref & mask ) >= ( stencil & mask ).
  14418.  
  14419.   GL_EQUAL          Passes if ( ref & mask ) = ( stencil & mask ).
  14420.  
  14421.   GL_NOTEQUAL       Passes if ( ref & mask ) != ( stencil & mask ).
  14422.  
  14423.   GL_ALWAYS         Always passes.
  14424.  
  14425.  
  14426.  
  14427. Notes 
  14428.  
  14429.   Initially, the stencil test is disabled.  If there is no stencil buffer, no
  14430.   stencil modification can occur and it is as if the stencil test always
  14431.   passes.
  14432.  
  14433.  
  14434.  
  14435. Errors 
  14436.  
  14437.   GL_INVALID_ENUM is generated if func is not one of the eight accepted
  14438.   values.
  14439.  
  14440.   GL_INVALID_OPERATION is generated if glStencilFunc is executed between the
  14441.   execution of glBegin and the corresponding execution of glEnd.
  14442.  
  14443.  
  14444.  
  14445. Associated Gets 
  14446.  
  14447.   glGet with argument GL_STENCIL_FUNC
  14448.   glGet with argument GL_STENCIL_VALUE_MASK
  14449.   glGet with argument GL_STENCIL_REF
  14450.   glGet with argument GL_STENCIL_BITS
  14451.   glIsEnabled with argument GL_STENCIL_TEST
  14452.  
  14453.  
  14454.  
  14455. See Also 
  14456.  
  14457.   glAlphaFunc, glBlendFunc, glDepthFunc, glEnable, glIsEnabled, glLogicOp,
  14458.   glStencilOp
  14459.  
  14460. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  14461.  
  14462.  Introduction | Alphabetic | Specification 
  14463.  
  14464. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  14465. Look here for legal stuff:  Legal 
  14466.  
  14467.  
  14468. ΓòÉΓòÉΓòÉ 3.105. glStencilMask ΓòÉΓòÉΓòÉ
  14469.  
  14470.  OpenGL man pages 
  14471.  
  14472. glStencilMask 
  14473.  
  14474.  
  14475.  
  14476.  
  14477.  
  14478.  
  14479. Name 
  14480.  
  14481.   glStencilMask - control the writing of individual bits in the stencil
  14482.   planes
  14483.  
  14484.  
  14485.  
  14486.  
  14487. C Specification 
  14488.  
  14489.   void glStencilMask( GLuint mask )
  14490.  
  14491.  
  14492.  
  14493.  
  14494. Parameters 
  14495.  
  14496.  
  14497.   mask  Specifies a bit mask to enable and disable writing of individual bits
  14498.         in the stencil planes.  Initially, the mask is all ones.
  14499.  
  14500.  
  14501.  
  14502. Description 
  14503.  
  14504.   glStencilMask controls the writing of individual bits in the stencil
  14505.   planes.  The least significant n bits of mask, where n is the number of
  14506.   bits in the stencil buffer, specify a mask.  Wherever a one appears in the
  14507.   mask, the corresponding bit in the stencil buffer is made writable.  Where
  14508.   a zero appears, the bit is write-protected.  Initially, all bits are
  14509.   enabled for writing.
  14510.  
  14511.  
  14512.  
  14513. Errors 
  14514.  
  14515.   GL_INVALID_OPERATION is generated if glStencilMask is executed between the
  14516.   execution of glBegin and the corresponding execution of glEnd.
  14517.  
  14518.  
  14519.  
  14520. Associated Gets 
  14521.  
  14522.   glGet with argument GL_STENCIL_WRITEMASK
  14523.   glGet with argument GL_STENCIL_BITS
  14524.  
  14525.  
  14526.  
  14527. See Also 
  14528.  
  14529.   glColorMask, glDepthMask, glIndexMask, glStencilFunc, glStencilOp
  14530.  
  14531.  
  14532.  
  14533. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  14534.  
  14535.  Introduction | Alphabetic | Specification 
  14536.  
  14537. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  14538. Look here for legal stuff:  Legal 
  14539.  
  14540.  
  14541. ΓòÉΓòÉΓòÉ 3.106. glStencilOp ΓòÉΓòÉΓòÉ
  14542.  
  14543.  OpenGL man pages 
  14544.  
  14545. glStencilOp 
  14546.  
  14547.  
  14548.  
  14549.  
  14550.  
  14551.  
  14552. Name 
  14553.  
  14554.   glStencilOp - set stencil test actions
  14555.  
  14556.  
  14557.  
  14558.  
  14559. C Specification 
  14560.  
  14561.   void glStencilOp( GLenum fail,
  14562.                     GLenum zfail,
  14563.                     GLenum zpass )
  14564.  
  14565.  
  14566.  
  14567.  
  14568. Parameters 
  14569.  
  14570.  
  14571.   fail   Specifies the action to take when the stencil test fails.  Six
  14572.          symbolic constants are accepted: GL_KEEP, GL_ZERO, GL_REPLACE,
  14573.          GL_INCR, GL_DECR, and GL_INVERT.
  14574.  
  14575.   zfail  Specifies stencil action when the stencil test passes, but the depth
  14576.          test fails.  zfail accepts the same symbolic constants as fail.
  14577.  
  14578.   zpass  Specifies stencil action when both the stencil test and the depth
  14579.          test pass, or when the stencil test passes and either there is no
  14580.          depth buffer or depth testing is not enabled.  zpass accepts the
  14581.          same symbolic constants as fail.
  14582.  
  14583.  
  14584.  
  14585.  
  14586. Description 
  14587.  
  14588.   Stenciling, like z-buffering, enables and disables drawing on a per-pixel
  14589.   basis.  You draw into the stencil planes using GL drawing primitives, then
  14590.   render geometry and images, using the stencil planes to mask out portions
  14591.   of the screen.  Stenciling is typically used in multipass rendering
  14592.   algorithms to achieve special effects, such as decals, outlining, and
  14593.   constructive solid geometry rendering.
  14594.  
  14595.   The stencil test conditionally eliminates a pixel based on the outcome of a
  14596.   comparison between the value in the stencil buffer and a reference value.
  14597.   The test is enabled with glEnable and glDisable calls with argument
  14598.   GL_STENCIL_TEST, and controlled with glStencilFunc.
  14599.  
  14600.   glStencilOp takes three arguments that indicate what happens to the stored
  14601.   stencil value while stenciling is enabled.  If the stencil test fails, no
  14602.   change is made to the pixel's color or depth buffers, and fail specifies
  14603.   what happens to the stencil buffer contents.  The six possible actions are
  14604.   as follows:
  14605.  
  14606.   GL_KEEP         Keeps the current value.
  14607.  
  14608.   GL_ZERO         Sets the stencil buffer value to zero.
  14609.  
  14610.   GL_REPLACE      Sets the stencil buffer value to ref, as specified by
  14611.                   glStencilFunc.
  14612.  
  14613.   GL_INCR         Increments the current stencil buffer value.  Clamps to the
  14614.                   maximum representable unsigned value.
  14615.  
  14616.   GL_DECR         Decrements the current stencil buffer value.  Clamps to
  14617.                   zero.
  14618.  
  14619.   GL_INVERT       Bitwise inverts the current stencil buffer value.
  14620.  
  14621.   Stencil buffer values are treated as unsigned integers.  When incremented
  14622.   and decremented, values are clamped to 0 and 2n-1, where n is the value
  14623.   returned by querying GL_STENCIL_BITS.
  14624.  
  14625.   The other two arguments to glStencilOp specify stencil buffer actions
  14626.   should subsequent depth buffer tests succeed (zpass) or fail (zfail).  (See
  14627.   glDepthFunc.) They are specified using the same six symbolic constants as
  14628.   fail.  Note that zfail is ignored when there is no depth buffer, or when
  14629.   the depth buffer is not enabled.  In these cases, fail and zpass specify
  14630.   stencil action when the stencil test fails and passes, respectively.
  14631.  
  14632.  
  14633.  
  14634. Notes 
  14635.  
  14636.   Initially the stencil test is disabled.  If there is no stencil buffer, no
  14637.   stencil modification can occur and it is as if the stencil tests always
  14638.   pass, regardless of any call to glStencilOp.
  14639.  
  14640.  
  14641.  
  14642. Errors 
  14643.  
  14644.   GL_INVALID_ENUM is generated if fail, zfail, or zpass is any value other
  14645.   than the six defined constant values.
  14646.  
  14647.   GL_INVALID_OPERATION is generated if glStencilOp is executed between the
  14648.   execution of glBegin and the corresponding execution of glEnd.
  14649.  
  14650.  
  14651.  
  14652. Associated Gets 
  14653.  
  14654.   glGet with argument GL_STENCIL_FAIL
  14655.   glGet with argument GL_STENCIL_PASS_DEPTH_PASS
  14656.   glGet with argument GL_STENCIL_PASS_DEPTH_FAIL
  14657.   glGet with argument GL_STENCIL_BITS
  14658.   glIsEnabled with argument GL_STENCIL_TEST
  14659.  
  14660.  
  14661.  
  14662. See Also 
  14663.  
  14664.   glAlphaFunc, glBlendFunc, glDepthFunc, glEnable, glLogicOp, glStencilFunc
  14665.  
  14666.  
  14667.  
  14668. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  14669.  
  14670.  Introduction | Alphabetic | Specification 
  14671.  
  14672. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  14673. Look here for legal stuff:  Legal 
  14674.  
  14675.  
  14676. ΓòÉΓòÉΓòÉ 3.107. glTexCoord ΓòÉΓòÉΓòÉ
  14677.  
  14678.  OpenGL man pages 
  14679.  
  14680. glTexCoord 
  14681.  
  14682.  
  14683.  
  14684.  
  14685.  
  14686.  
  14687. Name 
  14688.  
  14689.   glTexCoord1d, glTexCoord1f, glTexCoord1i, glTexCoord1s, glTexCoord2d,
  14690.   glTexCoord2f, glTexCoord2i, glTexCoord2s, glTexCoord3d, glTexCoord3f,
  14691.   glTexCoord3i, glTexCoord3s, glTexCoord4d, glTexCoord4f, glTexCoord4i,
  14692.   glTexCoord4s, glTexCoord1dv, glTexCoord1fv, glTexCoord1iv, glTexCoord1sv,
  14693.   glTexCoord2dv, glTexCoord2fv, glTexCoord2iv, glTexCoord2sv, glTexCoord3dv,
  14694.   glTexCoord3fv, glTexCoord3iv, glTexCoord3sv, glTexCoord4dv, glTexCoord4fv,
  14695.   glTexCoord4iv, glTexCoord4sv - set the current texture coordinates
  14696.  
  14697.  
  14698.  
  14699.  
  14700. C Specification 
  14701.  
  14702.   void glTexCoord1d( GLdouble s )
  14703.   void glTexCoord1f( GLfloat s )
  14704.   void glTexCoord1i( GLint s )
  14705.   void glTexCoord1s( GLshort s )
  14706.   void glTexCoord2d( GLdouble s,
  14707.                      GLdouble t )
  14708.   void glTexCoord2f( GLfloat s,
  14709.                      GLfloat t )
  14710.   void glTexCoord2i( GLint s,
  14711.                      GLint t )
  14712.   void glTexCoord2s( GLshort s,
  14713.                      GLshort t )
  14714.   void glTexCoord3d( GLdouble s,
  14715.                      GLdouble t,
  14716.                      GLdouble r )
  14717.   void glTexCoord3f( GLfloat s,
  14718.                      GLfloat t,
  14719.                      GLfloat r )
  14720.   void glTexCoord3i( GLint s,
  14721.                      GLint t,
  14722.                      GLint r )
  14723.   void glTexCoord3s( GLshort s,
  14724.                      GLshort t,
  14725.                      GLshort r )
  14726.   void glTexCoord4d( GLdouble s,
  14727.                      GLdouble t,
  14728.                      GLdouble r,
  14729.                      GLdouble q )
  14730.   void glTexCoord4f( GLfloat s,
  14731.                      GLfloat t,
  14732.                      GLfloat r,
  14733.                      GLfloat q )
  14734.   void glTexCoord4i( GLint s,
  14735.                      GLint t,
  14736.                      GLint r,
  14737.                      GLint q )
  14738.   void glTexCoord4s( GLshort s,
  14739.                      GLshort t,
  14740.                      GLshort r,
  14741.                      GLshort q )
  14742.  
  14743.  
  14744.  
  14745.  
  14746. Parameters 
  14747.  
  14748.  
  14749.   s, t, r, q
  14750.            Specify s, t, r, and q  texture coordinates.  Not all parameters
  14751.            are present in all forms of the command.
  14752.  
  14753.  
  14754.  
  14755. C Specification 
  14756.  
  14757.   void glTexCoord1dv( const GLdouble *v )
  14758.   void glTexCoord1fv( const GLfloat *v )
  14759.   void glTexCoord1iv( const GLint *v )
  14760.   void glTexCoord1sv( const GLshort *v )
  14761.   void glTexCoord2dv( const GLdouble *v )
  14762.   void glTexCoord2fv( const GLfloat *v )
  14763.   void glTexCoord2iv( const GLint *v )
  14764.   void glTexCoord2sv( const GLshort *v )
  14765.   void glTexCoord3dv( const GLdouble *v )
  14766.   void glTexCoord3fv( const GLfloat *v )
  14767.   void glTexCoord3iv( const GLint *v )
  14768.   void glTexCoord3sv( const GLshort *v )
  14769.   void glTexCoord4dv( const GLdouble *v )
  14770.   void glTexCoord4fv( const GLfloat *v )
  14771.   void glTexCoord4iv( const GLint *v )
  14772.   void glTexCoord4sv( const GLshort *v )
  14773.  
  14774.  
  14775.  
  14776.  
  14777. Parameters 
  14778.  
  14779.  
  14780.   v    Specifies a pointer to an array of one, two, three, or four elements,
  14781.        which in turn specify the s, t, r, and q texture coordinates.
  14782.  
  14783.  
  14784.  
  14785. Description 
  14786.  
  14787.   The current texture coordinates are part of the data that is associated
  14788.   with each vertex and with the current raster position.  They are set with
  14789.   glTexCoord.
  14790.  
  14791.   glTexCoord specifies texture coordinates in one, two, three, or four
  14792.   dimensions. glTexCoord1 sets the current texture coordinates to (s, 0, 0,
  14793.   1); a call to glTexCoord2 sets them to (s, t, 0, 1).  Similarly,
  14794.   glTexCoord3 specifies the texture coordinates as (s, t, r, 1), and
  14795.   glTexCoord4 defines all four components explicitly as (s, t, r, q).
  14796.  
  14797.  
  14798.  
  14799. Notes 
  14800.  
  14801.   The current texture coordinates can be updated at any time.  In particular,
  14802.   glTexCoord can be called between a call to glBegin and the corresponding
  14803.   call to glEnd.
  14804.  
  14805.  
  14806.  
  14807. Associated Gets 
  14808.  
  14809.   glGet with argument GL_CURRENT_TEXTURE_COORDS
  14810.  
  14811.  
  14812.  
  14813. See Also 
  14814.  
  14815.   glVertex
  14816.  
  14817.  
  14818.  
  14819. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  14820.  
  14821.  Introduction | Alphabetic | Specification 
  14822.  
  14823. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  14824. Look here for legal stuff:  Legal 
  14825.  
  14826.  
  14827. ΓòÉΓòÉΓòÉ 3.108. glTexCoordPointerEXT ΓòÉΓòÉΓòÉ
  14828.  
  14829.  OpenGL man pages 
  14830.  
  14831. glTexCoordPointerEXT 
  14832.  
  14833.  
  14834.  
  14835.  
  14836.  
  14837.  
  14838. Name 
  14839.  
  14840.   glTexCoordPointerEXT - define an array of texture coordinates
  14841.  
  14842.  
  14843.  
  14844.  
  14845. C Specification 
  14846.  
  14847.   void glTexCoordPointerEXT( GLint size,
  14848.                              GLenum type,
  14849.                              GLsizei stride,
  14850.                              GLsizei count,
  14851.                              const GLvoid *pointer )
  14852.  
  14853.  
  14854.  
  14855.  
  14856. Parameters 
  14857.  
  14858.  
  14859.   size     Specifies the number of coordinates per array element. It must be
  14860.            1, 2, 3 or 4.
  14861.  
  14862.   type     Specifies the data type of each texture coordinate.  Symbolic
  14863.            constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE_EXT, are
  14864.            accepted.
  14865.  
  14866.   stride   Specifies the byte offset between consecutive array elements.  If
  14867.            stride is zero the array elements are understood to be tightly
  14868.            packed.
  14869.  
  14870.   count    Specifies the number of array elements, counting from the first,
  14871.            that are static.
  14872.  
  14873.   pointer  Specifies a pointer to the first coordinate of the first element
  14874.            in the array.
  14875.  
  14876.  
  14877.  
  14878.  
  14879. Description 
  14880.  
  14881.   glTexCoordPointerEXT specifies the location and data format of an array of
  14882.   texture coordinates to use when rendering using the vertex array extension.
  14883.   size specifies the number of coordinates per element, and must be 1, 2, 3,
  14884.   or 4.  type specifies the data type of each texture coordinate and stride
  14885.   gives the byte stride from one array element to the next allowing vertexes
  14886.   and attributes to be packed into a single array or stored in separate arrays.
  14887.   (Single-array storage may be more efficient on some implementations.) count
  14888.   indicates the number of array elements (counting from the first) that are
  14889.   static. Static elements may be modified by the application, but once they
  14890.   are modified, the application must explicitly respecify the array before
  14891.   using it for any rendering. When a texture coordinate array is specified,
  14892.   size, type, stride, count, and pointer are saved  as client-side state, and
  14893.   static array elements may be cached by the implementation.
  14894.  
  14895.   The texture coordinate array is enabled and disabled using glEnable and
  14896.   glDisable with the argument GL_TEXTURE_COORD_ARRAY_EXT. If enabled, the
  14897.   texture coordinate array is used when glDrawArraysEXT or glArrayElementEXT
  14898.   is called.
  14899.  
  14900.  
  14901.   Use glDrawArraysEXT to define a sequence of primitives (all of the same
  14902.   type) from pre-specified vertex and vertex attribute arrays.  Use
  14903.   glArrayElementEXT to specify primitives by indexing vertexes and vertex
  14904.   attributes.
  14905.  
  14906.  
  14907.  
  14908.  
  14909. Notes 
  14910.  
  14911.   Non-static array elements are not accessed until glArrayElementEXT or
  14912.   glDrawArraysEXT is executed.
  14913.  
  14914.   By default the texture coordinate array is disabled and it won't be
  14915.   accessed when glArrayElementEXT or glDrawArraysEXT is called.
  14916.  
  14917.  
  14918.   Although it is not an error to call glTexCoordPointerEXT between the
  14919.   execution of glBegin and the corresponding execution of glEnd, the results
  14920.   are undefined.
  14921.  
  14922.  
  14923.   glTexCoordPointerEXT will typically be implemented on the client side with
  14924.   no protocol.
  14925.  
  14926.  
  14927.   Since the texture coordinate array parameters are client side state, they
  14928.   are not saved or restored by glPushAttrib and glPopAttrib.
  14929.  
  14930.  
  14931.   glTexCoordPointerEXT commands are not entered into display lists.
  14932.  
  14933.  
  14934.   glTexCoordPointerEXT is part of the EXT_vertex_array extension,
  14935.   not part of the core GL command set. If "GL_EXT_vertex_array" is
  14936.   included in the string returned by glGetString, when called with argument
  14937.   GL_EXTENSIONS, extension EXT_vertex_array is supported.
  14938.  
  14939.  
  14940.  
  14941. Errors 
  14942.  
  14943.   GL_INVALID_VALUE is generated if size is not 1, 2, 3, or 4.
  14944.  
  14945.   GL_INVALID_ENUM is generated if type is not an accepted value.
  14946.  
  14947.   GL_INVALID_VALUE is generated if stride or count  is negative
  14948.  
  14949.  
  14950.  
  14951.  
  14952. Associated Gets 
  14953.  
  14954.   glIsEnabled with argument GL_TEXTURE_COORD_ARRAY_EXT
  14955.   glGet with argument GL_TEXTURE_COORD_ARRAY_SIZE_EXT
  14956.   glGet with argument GL_TEXTURE_COORD_ARRAY_TYPE_EXT
  14957.   glGet with argument GL_TEXTURE_COORD_ARRAY_STRIDE_EXT
  14958.   glGet with argument GL_TEXTURE_COORD_ARRAY_COUNT_EXT
  14959.   glGetPointervEXT with argument GL_TEXTURE_COORD_ARRAY_POINTER_EXT
  14960.  
  14961.  
  14962.  
  14963. See Also 
  14964.  
  14965.   glArrayElementEXT, glColorPointerEXT, glDrawArraysEXT,
  14966.   glEdgeFlagPointerEXT, glGetPointervEXT, glIndexPointerEXT,
  14967.   glNormalPointerEXT, glVertexPointerEXT, glEnable
  14968.  
  14969.  
  14970. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  14971.  
  14972.  Introduction | Alphabetic | Specification 
  14973.  
  14974. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  14975. Look here for legal stuff:  Legal 
  14976.  
  14977.  
  14978. ΓòÉΓòÉΓòÉ 3.109. glTexEnv ΓòÉΓòÉΓòÉ
  14979.  
  14980.  OpenGL man pages 
  14981.  
  14982. glTexEnv 
  14983.  
  14984.  
  14985.  
  14986.  
  14987.  
  14988.  
  14989. Name 
  14990.  
  14991.   glTexEnvf, glTexEnvi, glTexEnvfv, glTexEnviv - set texture environment
  14992.   parameters
  14993.  
  14994.  
  14995.  
  14996.  
  14997. C Specification 
  14998.  
  14999.   void glTexEnvf( GLenum target,
  15000.                   GLenum pname,
  15001.                   GLfloat param )
  15002.   void glTexEnvi( GLenum target,
  15003.                   GLenum pname,
  15004.                   GLint param )
  15005.  
  15006.  
  15007.  
  15008.  
  15009. Parameters 
  15010.  
  15011.  
  15012.   target  Specifies a texture environment.  Must be GL_TEXTURE_ENV.
  15013.  
  15014.   pname   Specifies the symbolic name of a single-valued texture environment
  15015.           parameter.  Must be GL_TEXTURE_ENV_MODE.
  15016.  
  15017.   param   Specifies a single symbolic constant, one of GL_MODULATE, GL_DECAL,
  15018.           or GL_BLEND.
  15019.  
  15020.  
  15021.  
  15022. C Specification 
  15023.  
  15024.   void glTexEnvfv( GLenum target,
  15025.                    GLenum pname,
  15026.                    const GLfloat *params )
  15027.   void glTexEnviv( GLenum target,
  15028.                    GLenum pname,
  15029.                    const GLint *params )
  15030.  
  15031.  
  15032.  
  15033.  
  15034. Parameters 
  15035.  
  15036.  
  15037.   target
  15038.        Specifies a texture environment.  Must be GL_TEXTURE_ENV.
  15039.  
  15040.   pname
  15041.        Specifies the symbolic name of a texture environment parameter.
  15042.        Accepted values are GL_TEXTURE_ENV_MODE and GL_TEXTURE_ENV_COLOR.
  15043.  
  15044.   params
  15045.        Specifies a pointer to an array of parameters: either a single
  15046.        symbolic constant or an RGBA color.
  15047.  
  15048.  
  15049.  
  15050.  
  15051. Description 
  15052.  
  15053.   A texture environment specifies how texture values are interpreted when a
  15054.   fragment is textured.  target must be GL_TEXTURE_ENV.  pname can be either
  15055.   GL_TEXTURE_ENV_MODE or GL_TEXTURE_ENV_COLOR.
  15056.  
  15057.  
  15058.   If pname is GL_TEXTURE_ENV_MODE, then params is (or points to) the symbolic
  15059.   name of a texture function.  Three texture functions are defined:
  15060.   GL_MODULATE, GL_DECAL, and GL_BLEND
  15061.  
  15062.   A texture function acts on the fragment to be textured using the texture
  15063.   image value that applies to the fragment (see glTexParameter) and produces
  15064.   an RGBA color for that fragment.  The following table shows how the RGBA
  15065.   color is produced for each of the three texture functions that can be
  15066.   chosen.  C is a triple of color values (RGB) and A is the associated alpha
  15067.   value.  RGBA values extracted from a texture image are in the range [0,1].
  15068.   The subscript f refers to the incoming fragment, the subscript t to the
  15069.   texture image, the subscript c to the texture environment color, and
  15070.   subscript v indicates a value produced by the texture function.
  15071.  
  15072.   A texture image can have up to four components per texture element (see
  15073.   glTexImage1D and glTexImage2D).  In a one-component image, L  indicates
  15074.                                                               t
  15075.   that single component.  A two-component image uses L  and A .  A three-
  15076.                                                       t      t
  15077.   component image has only a color value, C .  A four-component image has
  15078.                                            t
  15079.   both a color value C  and an alpha value A .
  15080.                       t                     t
  15081.  
  15082.        ----------------------------------------------------------------
  15083.        | number of ||            texture functions                     |
  15084.        |components || GL_MODULATE      GL_DECAL           GL_BLEND     |
  15085.        ----------------------------------------------------------------
  15086.        |           ||  C =L C    |                  | C =(1-L )C +L C  |
  15087.        |    1      ||   v  t f   |    undefined     |  v     t  f  t c |
  15088.        |           ||  A =A      |                  | A =A             |
  15089.        |           ||   v  f     |                  |  v  f            |
  15090.        |-----------||------------|------------------|------------------|
  15091.        |           ||  C =L C    |                  | C =(1-L )C +L C  |
  15092.        |    2      ||   v  t f   |    undefined     |  v     t  f  t c |
  15093.        |           ||  A =A A    |                  | A =A A           |
  15094.        |           ||   v  t f   |                  |  v  t f          |
  15095.        |-----------||------------|------------------|------------------|
  15096.        |           ||  C =C C    |      C =C        |                  |
  15097.        |    3      ||   v  t f   |       v  t       |    undefined     |
  15098.        |           ||  A =A      |      A =A        |                  |
  15099.        |           ||   v  f     |       v  f       |                  |
  15100.        |-----------||------------|------------------|------------------|
  15101.        |           ||  C =C C    | C =(1-A )C +A C  |                  |
  15102.        |    4      ||   v  t f   |  v     t  f  t t |    undefined     |
  15103.        |           ||  A =A A    |      A =A        |                  |
  15104.        |           ||   v  t f   |       v  f       |                  |
  15105.        ----------------------------------------------------------------
  15106.  
  15107.   If pname is GL_TEXTURE_ENV_COLOR, params is a pointer to an array that
  15108.   holds an RGBA color consisting of four values.  Integer color components
  15109.   are interpreted linearly such that the most positive integer maps to 1.0,
  15110.   and the most negative integer maps to -1.0.  The values are clamped to the
  15111.   range [0,1] when they are specified.  C  takes these four values.
  15112.                                          c
  15113.   GL_TEXTURE_ENV_MODE defaults to GL_MODULATE and GL_TEXTURE_ENV_COLOR
  15114.   defaults to (0,0,0,0).
  15115.  
  15116.  
  15117.  
  15118. Errors 
  15119.  
  15120.   GL_INVALID_ENUM is generated when target or pname is not one of the
  15121.   accepted defined values, or when params should have a defined constant
  15122.   value (based on the value of pname) and does not.
  15123.  
  15124.   GL_INVALID_OPERATION is generated if glTexEnv is executed between
  15125.   the execution of glBegin and the corresponding execution of glEnd.
  15126.  
  15127.  
  15128.  
  15129. Associated Gets 
  15130.  
  15131.   glGetTexEnv
  15132.  
  15133.  
  15134.  
  15135. See Also 
  15136.  
  15137.   glTexImage1D, glTexImage2D, glTexParameter
  15138.  
  15139. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  15140.  
  15141.  Introduction | Alphabetic | Specification 
  15142.  
  15143. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  15144. Look here for legal stuff:  Legal 
  15145.  
  15146.  
  15147. ΓòÉΓòÉΓòÉ 3.110. glTexGen ΓòÉΓòÉΓòÉ
  15148.  
  15149.  OpenGL man pages 
  15150.  
  15151. glTexGen 
  15152.  
  15153.  
  15154.  
  15155.  
  15156.  
  15157.  
  15158. Name 
  15159.  
  15160.   glTexGend, glTexGenf, glTexGeni, glTexGendv, glTexGenfv,
  15161. glTexGeniv -
  15162.   control the generation of texture coordinates
  15163.  
  15164.  
  15165.  
  15166.  
  15167. C Specification 
  15168.  
  15169.   void glTexGend( GLenum coord,
  15170.                   GLenum pname,
  15171.                   GLdouble param )
  15172.   void glTexGenf( GLenum coord,
  15173.                   GLenum pname,
  15174.                   GLfloat param )
  15175.   void glTexGeni( GLenum coord,
  15176.                   GLenum pname,
  15177.                   GLint param )
  15178.  
  15179.  
  15180.  
  15181.  
  15182. Parameters 
  15183.  
  15184.  
  15185.   coord   Specifies a texture coordinate.  Must be one of the following:
  15186.           GL_S, GL_T, GL_R, or GL_Q.
  15187.  
  15188.   pname   Specifies the symbolic name of the texture-coordinate generation
  15189.           function.  Must be GL_TEXTURE_GEN_MODE.
  15190.  
  15191.   param   Specifies a single-valued texture generation parameter, one of
  15192.           GL_OBJECT_LINEAR, GL_EYE_LINEAR, or GL_SPHERE_MAP.
  15193.  
  15194.  
  15195.  
  15196. C Specification 
  15197.  
  15198.   void glTexGendv( GLenum coord,
  15199.                    GLenum pname,
  15200.                    const GLdouble *params )
  15201.   void glTexGenfv( GLenum coord,
  15202.                    GLenum pname,
  15203.                    const GLfloat *params )
  15204.   void glTexGeniv( GLenum coord,
  15205.                    GLenum pname,
  15206.                    const GLint *params )
  15207.  
  15208.  
  15209.  
  15210.  
  15211. Parameters 
  15212.  
  15213.  
  15214.   coord
  15215.        Specifies a texture coordinate.  Must be one of the following: GL_S,
  15216.        GL_T, GL_R, or GL_Q.
  15217.  
  15218.   pname
  15219.        Specifies the symbolic name of the texture-coordinate generation
  15220.        function or function parameters.  Must be GL_TEXTURE_GEN_MODE,
  15221.        GL_OBJECT_PLANE, or GL_EYE_PLANE.
  15222.  
  15223.   params
  15224.        Specifies a pointer to an array of texture generation parameters.  If
  15225.        pname is GL_TEXTURE_GEN_MODE, then the array must contain a single
  15226.        symbolic constant, one of GL_OBJECT_LINEAR, GL_EYE_LINEAR, or
  15227.        GL_SPHERE_MAP. Otherwise, params holds the coefficients for the
  15228.        texture-coordinate generation function specified by pname.
  15229.  
  15230.  
  15231.  
  15232.  
  15233. Description 
  15234.  
  15235.   glTexGen selects a texture-coordinate generation function or supplies
  15236.   coefficients for one of the functions.  coord names one of the (s,t,r,q)
  15237.   texture coordinates, and it must be one of these symbols: GL_S, GL_T, GL_R,
  15238.   or GL_Q.  pname must be one of three symbolic constants:
  15239.   GL_TEXTURE_GEN_MODE, GL_OBJECT_PLANE, or GL_EYE_PLANE. If pname is
  15240.   GL_TEXTURE_GEN_MODE, then params chooses a mode, one of GL_OBJECT_LINEAR,
  15241.   GL_EYE_LINEAR, or GL_SPHERE_MAP. If pname is either GL_OBJECT_PLANE or
  15242.   GL_EYE_PLANE, params contains coefficients for the corresponding texture
  15243.   generation function.
  15244.  
  15245.   If the texture generation function is GL_OBJECT_LINEAR, the function
  15246.  
  15247.                              g=p x +p y +p z +p w
  15248.                                 1 o  2 o  3 o  4 o
  15249.  
  15250.   is used, where g is the value computed for the coordinate named in coord,
  15251.   p , p , p , and p  are the four values supplied in params, and x , y , z ,
  15252.    1   2   3       4                                              o   o   o
  15253.   and w  are the object coordinates of the vertex.  This function can be used
  15254.        o
  15255.   to texture-map terrain using sea level as a reference plane (defined by p ,
  15256.                                                                            1
  15257.   p , p , and p ). The altitude of a terrain vertex is computed by the
  15258.    2   3       4
  15259.   GL_OBJECT_LINEAR coordinate generation function as its distance from sea
  15260.   level; that altitude is used to index the texture image to map white snow
  15261.   onto peaks and green grass onto foothills, for example.
  15262.  
  15263.   If the texture generation function is GL_EYE_LINEAR, the function
  15264.  
  15265.                            g=p'x' + p'y  + p'z  + p'w
  15266.                               1 e    2 e    3 e    4 e
  15267.  
  15268.   is used, where
  15269.                                                         -1
  15270.                    (p'  p'  p'  p') = (p   p   p   p )ΓòûM
  15271.                      1   2   3   4      1   2   3   4
  15272.  
  15273.   and x , y , z , and w  are the eye coordinates of the vertex, p , p , p ,
  15274.        e   e   e       e                                         1   2   3
  15275.   and p  are the values supplied in params, and M is the modelview matrix
  15276.        4
  15277.   when glTexGen is invoked.  If M is poorly conditioned or singular, texture
  15278.   coordinates generated by the resulting function may be inaccurate or
  15279.   undefined.
  15280.  
  15281.   Note that the values in params define a reference plane in eye coordinates.
  15282.   The modelview matrix that is applied to them may not be the same one in
  15283.   effect when the polygon vertices are transformed. This function establishes
  15284.   a field of texture coordinates that can produce dynamic contour lines on
  15285.   moving objects.
  15286.  
  15287.   If pname is GL_SPHERE_MAP and coord is either GL_S or GL_T, s and t
  15288.   texture coordinates are generated as follows. Let u be the unit vector
  15289.   pointing from the origin to the polygon vertex (in eye coordinates). Let n'
  15290.   be the current normal, after transformation to eye coordinates. Let
  15291.                   T
  15292.   f = (f   f   f )  be the reflection vector such that
  15293.         x   y   z
  15294.  
  15295.                                              T
  15296.                                 f = u - 2n'n' u
  15297.  
  15298.                       _____________
  15299.                      | 2  2       2
  15300.   Finally, let m = 2\|f +f +(f +1) . Then the values assigned to the s and
  15301.                        x  y   z
  15302.   t texture coordinates are
  15303.  
  15304.                                        f
  15305.                                         x   1
  15306.                                   s = --- + -
  15307.                                        m    2
  15308.  
  15309.                                        f
  15310.                                         y   1
  15311.                                   t = --- + -
  15312.                                        m    2
  15313.  
  15314.   A texture-coordinate generation function is enabled or disabled using
  15315.   glEnable or glDisable with one of the symbolic texture-coordinate names
  15316.   (GL_TEXTURE_GEN_S, GL_TEXTURE_GEN_T, GL_TEXTURE_GEN_R, or GL_TEXTURE_GEN_Q)
  15317.   as the argument. When enabled, the specified texture coordinate is computed
  15318.   according to the generating function associated with that coordinate. When
  15319.   disabled, subsequent vertices take the specified texture coordinate from
  15320.   the current set of texture coordinates. Initially, all texture generation
  15321.   functions are set to GL_EYE_LINEAR and are disabled.  Both s plane
  15322.   equations are (1,0,0,0), both t plane equations are (0,1,0,0), and all r
  15323.   and q plane equations are (0,0,0,0).
  15324.  
  15325.  
  15326.  
  15327. Errors 
  15328.  
  15329.   GL_INVALID_ENUM is generated when coord or pname is not an accepted defined
  15330.   value, or when pname is GL_TEXTURE_GEN_MODE and params is not an accepted
  15331.   defined value.
  15332.  
  15333.   GL_INVALID_ENUM is generated when pname is GL_TEXTURE_GEN_MODE, params is
  15334.   GL_SPHERE_MAP, and coord is either GL_R or GL_Q.
  15335.  
  15336.   GL_INVALID_OPERATION is generated if glTexGen is executed between the
  15337.   execution of glBegin and the corresponding execution of glEnd.
  15338.  
  15339.  
  15340.  
  15341. Associated Gets 
  15342.  
  15343.   glGetTexGen
  15344.   glIsEnabled with argument GL_TEXTURE_GEN_S
  15345.   glIsEnabled with argument GL_TEXTURE_GEN_T
  15346.   glIsEnabled with argument GL_TEXTURE_GEN_R
  15347.   glIsEnabled with argument GL_TEXTURE_GEN_Q
  15348.  
  15349.  
  15350.  
  15351. See Also 
  15352.  
  15353.   glTexEnv, glTexImage1D, glTexImage2D, glTexParameter
  15354.  
  15355. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  15356.  
  15357.  Introduction | Alphabetic | Specification 
  15358.  
  15359. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  15360. Look here for legal stuff:  Legal 
  15361.  
  15362.  
  15363. ΓòÉΓòÉΓòÉ 3.111. glTexImage1D ΓòÉΓòÉΓòÉ
  15364.  
  15365.  OpenGL man pages 
  15366.  
  15367. glTexImage1D 
  15368.  
  15369.  
  15370.  
  15371.  
  15372.  
  15373.  
  15374. Name 
  15375.  
  15376.   glTexImage1D - specify a one-dimensional texture image
  15377.  
  15378.  
  15379.  
  15380.  
  15381. C Specification 
  15382.  
  15383.   void glTexImage1D( GLenum target,
  15384.                      GLint level,
  15385.                      GLint components,
  15386.                      GLsizei width,
  15387.                      GLint border,
  15388.                      GLenum format,
  15389.                      GLenum type,
  15390.                      const GLvoid *pixels )
  15391.  
  15392.  
  15393.  
  15394.  
  15395. Parameters 
  15396.  
  15397.  
  15398.   target      Specifies the target texture.  Must be GL_TEXTURE_1D.
  15399.  
  15400.   level       Specifies the level-of-detail number.  Level 0 is the base
  15401.               image level.  Level n is the nth mipmap reduction image.
  15402.  
  15403.   components  Specifies the number of color components in the texture.  Must
  15404.               be 1, 2, 3, or 4.
  15405.  
  15406.                                                                   n
  15407.   width       Specifies the width of the texture image.  Must be 2 +2(border)
  15408.               for some integer n.  The height of the texture image is 1.
  15409.  
  15410.   border      Specifies the width of the border.  Must be either 0 or 1.
  15411.  
  15412.   format      Specifies the format of the pixel data.  The following symbolic
  15413.               values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE,
  15414.               GL_ALPHA, GL_RGB, GL_RGBA, GL_LUMINANCE, and
  15415.               GL_LUMINANCE_ALPHA.
  15416.  
  15417.   type        Specifies the data type of the pixel data.  The following
  15418.               symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE,
  15419.               GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT,
  15420.               GL_INT, and GL_FLOAT.
  15421.  
  15422.   pixels      Specifies a pointer to the image data in memory.
  15423.  
  15424.  
  15425.  
  15426.  
  15427. Description 
  15428.  
  15429.   Texturing maps a portion of a specified texture image onto each graphical
  15430.   primitive for which texturing is enabled.  One-dimensional texturing is
  15431.   enabled and disabled using glEnable and glDisable with argument
  15432.   GL_TEXTURE_1D.
  15433.  
  15434.   Texture images are defined with glTexImage1D.  The arguments describe the
  15435.   parameters of the texture image, such as width, width of the border,
  15436.   level-of-detail number (see glTexParameter), and number of color components
  15437.   provided.  The last three arguments describe the way the image is
  15438.   represented in memory, and they are identical to the pixel formats used for
  15439.   glDrawPixels.
  15440.  
  15441.   Data is read from pixels as a sequence of signed or unsigned bytes, shorts,
  15442.   or longs, or single-precision floating-point values, depending on type.
  15443.   These values are grouped into sets of one, two, three, or four values,
  15444.   depending on format, to form elements. If type is GL_BITMAP, the data is
  15445.   considered as a string of unsigned bytes (and format must be
  15446.   GL_COLOR_INDEX). Each data byte is treated as eight 1-bit elements, with
  15447.   bit ordering determined by GL_UNPACK_LSB_FIRST (see glPixelStore).
  15448.  
  15449.   format determines the composition of each element in pixels.  It can assume
  15450.   one of nine symbolic values:
  15451.  
  15452.   GL_COLOR_INDEX
  15453.             Each element is a single value, a color index. It is converted to
  15454.             fixed point (with an unspecified number of zero bits to the right
  15455.             of the binary point), shifted left or right depending on the
  15456.             value and sign of GL_INDEX_SHIFT, and added to GL_INDEX_OFFSET
  15457.             (see glPixelTransfer). The resulting index is converted to a set
  15458.             of color components using the GL_PIXEL_MAP_I_TO_R,
  15459.             GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, and GL_PIXEL_MAP_I_TO_A
  15460.             tables, and clamped to the range [0,1].
  15461.  
  15462.   GL_RED    Each element is a single red component. It is converted to
  15463.             floating point and assembled into an RGBA element by attaching
  15464.             0.0 for green and blue, and 1.0 for alpha. Each component is then
  15465.             multiplied by the signed scale factor GL_c_SCALE, added to the
  15466.             signed bias GL_c_BIAS, and clamped to the range [0,1] (see
  15467.             glPixelTransfer).
  15468.  
  15469.   GL_GREEN  Each element is a single green component. It is converted to
  15470.             floating point and assembled into an RGBA element by attaching
  15471.             0.0 for red and blue, and 1.0 for alpha. Each component is then
  15472.             multiplied by the signed scale factor GL_c_SCALE, added to the
  15473.             signed bias GL_c_BIAS, and clamped to the range [0,1] (see
  15474.             glPixelTransfer).
  15475.  
  15476.   GL_BLUE   Each element is a single blue component. It is converted to
  15477.             floating point and assembled into an RGBA element by attaching
  15478.             0.0 for red and green, and 1.0 for alpha. Each component is then
  15479.             multiplied by the signed scale factor GL_c_SCALE, added to the
  15480.             signed bias GL_c_BIAS, and clamped to the range [0,1] (see
  15481.             glPixelTransfer).
  15482.  
  15483.   GL_ALPHA  Each element is a single alpha component. It is converted to
  15484.             floating point and assembled into an RGBA element by attaching
  15485.             0.0 for red, green, and blue.  Each component is then multiplied
  15486.             by the signed scale factor GL_c_SCALE, added to the signed bias
  15487.             GL_c_BIAS, and clamped to the range [0,1] (see glPixelTransfer).
  15488.  
  15489.   GL_RGB    Each element is an RGB triple.  It is converted to floating point
  15490.             and assembled into an RGBA element by attaching 1.0 for alpha.
  15491.             Each component is then multiplied by the signed scale factor
  15492.             GL_c_SCALE, added to the signed bias GL_c_BIAS, and clamped to
  15493.             the range [0,1] (see  glPixelTransfer).
  15494.  
  15495.   GL_RGBA   Each element is a complete RGBA element.  It is converted to
  15496.             floating point.  Each component is then multiplied by the signed
  15497.             scale factor GL_c_SCALE, added to the signed bias GL_c_BIAS, and
  15498.             clamped to the range [0,1] (see glPixelTransfer).
  15499.  
  15500.   GL_LUMINANCE
  15501.             Each element is a single luminance value.  It is converted to
  15502.             floating point, then assembled into an RGBA element by
  15503.             replicating the luminance value three times for red, green, and
  15504.             blue and attaching 1.0 for alpha. Each component is then
  15505.             multiplied by the signed scale factor GL_c_SCALE, added to the
  15506.             signed bias GL_c_BIAS, and clamped to the range [0,1] (see
  15507.             glPixelTransfer).
  15508.  
  15509.   GL_LUMINANCE_ALPHA
  15510.             Each element is a luminance/alpha pair.  It is converted to
  15511.             floating point, then assembled into an RGBA element by
  15512.             replicating the luminance value three times for red, green, and
  15513.             blue.  Each component is then multiplied by the signed scale
  15514.             factor GL_c_SCALE, added to the signed bias GL_c_BIAS, and
  15515.             clamped to the range [0,1] (see glPixelTransfer).
  15516.  
  15517.   A texture image can have up to four components per texture element,
  15518.   depending on components.  A one-component texture image uses only the red
  15519.   component of the RGBA color extracted from pixels. A two-component image
  15520.   uses the R and A values.  A three-component image uses the R, G, and B
  15521.   values.  A four-component image uses all of the RGBA components.
  15522.  
  15523.  
  15524.  
  15525. Notes 
  15526.  
  15527.   Texturing has no effect in color index mode.
  15528.  
  15529.   The texture image can be represented by the same data formats as the pixels
  15530.   in a glDrawPixels command, except that GL_STENCIL_INDEX and
  15531.   GL_DEPTH_COMPONENT cannot be used.  glPixelStore and glPixelTransfer modes
  15532.   affect texture images in exactly the way they affect glDrawPixels.
  15533.  
  15534.   A texture image with zero width indicates the null texture.  If the null
  15535.   texture is specified for level-of-detail 0, it is as if texturing were
  15536.   disabled.
  15537.  
  15538.  
  15539.  
  15540. Errors 
  15541.  
  15542.   GL_INVALID_ENUM is generated when target is not GL_TEXTURE_1D.
  15543.  
  15544.   GL_INVALID_ENUM is generated when format is not an accepted format
  15545.   constant.  Format constants other than GL_STENCIL_INDEX and
  15546.   GL_DEPTH_COMPONENT are accepted.
  15547.  
  15548.   GL_INVALID_ENUM is generated when type is not a type constant.
  15549.  
  15550.   GL_INVALID_ENUM is generated if type is GL_BITMAP and format is not
  15551.   GL_COLOR_INDEX.
  15552.  
  15553.   GL_INVALID_VALUE is generated if level is less than zero or greater than
  15554.   log max, where max is the returned value of GL_MAX_TEXTURE_SIZE.
  15555.      2
  15556.   GL_INVALID_VALUE is generated if components is not 1, 2, 3, or 4.
  15557.  
  15558.   GL_INVALID_VALUE is generated if width is less than zero or greater than
  15559.                                                               n
  15560.   2 + GL_MAX_TEXTURE_SIZE, or if it cannot be represented as 2 +2(border) for
  15561.   some integer value of n.
  15562.  
  15563.   GL_INVALID_VALUE is generated if border is not 0 or 1.
  15564.  
  15565.   GL_INVALID_OPERATION is generated if glTexImage1D is executed between the
  15566.   execution of glBegin and the corresponding execution of glEnd.
  15567.  
  15568.  
  15569.  
  15570. Associated Gets 
  15571.  
  15572.   glGetTexImage
  15573.   glIsEnabled with argument GL_TEXTURE_1D
  15574.  
  15575.  
  15576.  
  15577. See Also 
  15578.  
  15579.   glDrawPixels, glFog, glPixelStore, glPixelTransfer, glTexEnv, glTexGen,
  15580.   glTexImage2D, glTexParameter
  15581.  
  15582.  
  15583.  
  15584. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  15585.  
  15586.  Introduction | Alphabetic | Specification 
  15587.  
  15588. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  15589. Look here for legal stuff:  Legal 
  15590.  
  15591.  
  15592. ΓòÉΓòÉΓòÉ 3.112. glTexImage2D ΓòÉΓòÉΓòÉ
  15593.  
  15594.  OpenGL man pages 
  15595.  
  15596. glTexImage2D 
  15597.  
  15598.  
  15599.  
  15600.  
  15601.  
  15602.  
  15603. Name 
  15604.  
  15605.   glTexImage2D - specify a two-dimensional texture image
  15606.  
  15607.  
  15608.  
  15609.  
  15610. C Specification 
  15611.  
  15612.   void glTexImage2D( GLenum target,
  15613.                      GLint level,
  15614.                      GLint components,
  15615.                      GLsizei width,
  15616.                      GLsizei height,
  15617.                      GLint border,
  15618.                      GLenum format,
  15619.                      GLenum type,
  15620.                      const GLvoid *pixels )
  15621.  
  15622.  
  15623.  
  15624.  
  15625. Parameters 
  15626.  
  15627.  
  15628.   target      Specifies the target texture.  Must be GL_TEXTURE_2D.
  15629.  
  15630.   level       Specifies the level-of-detail number.  Level 0 is the base
  15631.               image level.  Level n is the nth mipmap reduction image.
  15632.  
  15633.   components  Specifies the number of color components in the texture.  Must
  15634.               be 1, 2, 3, or 4.
  15635.  
  15636. ╨░                                                                 n
  15637.   width       Specifies the width of the texture image.  Must be 2 +2(border)
  15638.               for some integer n.
  15639.  
  15640.   height      Specifies the height of the texture image.  Must be
  15641.                m
  15642.               2 +2(border) for some integer m.
  15643.  
  15644.   border      Specifies the width of the border.  Must be either 0 or 1.
  15645.  
  15646.   format      Specifies the format of the pixel data.  The following symbolic
  15647.               values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE,
  15648.               GL_ALPHA, GL_RGB, GL_RGBA, GL_LUMINANCE, and
  15649.               GL_LUMINANCE_ALPHA.
  15650.  
  15651.   type        Specifies the data type of the pixel data.  The following
  15652.               symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE,
  15653.               GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT,
  15654.               GL_INT, and GL_FLOAT.
  15655.  
  15656.   pixels      Specifies a pointer to the image data in memory.
  15657.  
  15658.  
  15659.  
  15660.  
  15661. Description 
  15662.  
  15663.   Texturing maps a portion of a specified texture image onto each graphical
  15664.   primitive for which texturing is enabled.  Two-dimensional texturing is
  15665.   enabled and disabled using glEnable and glDisable with argument
  15666.   GL_TEXTURE_2D.
  15667.  
  15668.   Texture images are defined with glTexImage2D. The arguments describe the
  15669.   parameters of the texture image, such as height, width, width of the
  15670.   border, level-of-detail number (see glTexParameter), and number of color
  15671.   components provided.  The last three arguments describe the way the image
  15672.   is represented in memory, and they are identical to the pixel formats used
  15673.   for glDrawPixels.
  15674.  
  15675.   Data is read from pixels as a sequence of signed or unsigned bytes, shorts,
  15676.   or longs, or single-precision floating-point values, depending on type.
  15677.   These values are grouped into sets of one, two, three, or four values,
  15678.   depending on format, to form elements. If type is GL_BITMAP, the data is
  15679.   considered as a string of unsigned bytes (and format must be
  15680.   GL_COLOR_INDEX). Each data byte is treated as eight 1-bit elements, with
  15681.   bit ordering determined by GL_UNPACK_LSB_FIRST (see glPixelStore).
  15682.  
  15683.   format determines the composition of each element in pixels.  It can assume
  15684.   one of nine symbolic values:
  15685.  
  15686.   GL_COLOR_INDEX
  15687.             Each element is a single value, a color index. It is converted to
  15688.             fixed point (with an unspecified number of zero bits to the right
  15689.             of the binary point), shifted left or right depending on the
  15690.             value and sign of GL_INDEX_SHIFT, and added to GL_INDEX_OFFSET
  15691.             (see glPixelTransfer). The resulting index is converted to a set
  15692.             of color components using the GL_PIXEL_MAP_I_TO_R,
  15693.             GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, and GL_PIXEL_MAP_I_TO_A
  15694.             tables, and clamped to the range [0,1].
  15695.  
  15696.   GL_RED    Each element is a single red component. It is converted to
  15697.             floating point and assembled into an RGBA element by attaching
  15698.             0.0 for green and blue, and 1.0 for alpha. Each component is then
  15699.             multiplied by the signed scale factor GL_c_SCALE, added to the
  15700.             signed bias GL_c_BIAS, and clamped to the range [0,1] (see
  15701.             glPixelTransfer).
  15702.  
  15703.   GL_GREEN  Each element is a single green component. It is converted to
  15704.             floating point and assembled into an RGBA element by attaching
  15705.             0.0 for red and blue, and 1.0 for alpha. Each component is then
  15706.             multiplied by the signed scale factor GL_c_SCALE, added to the
  15707.             signed bias GL_c_BIAS, and clamped to the range [0,1] (see
  15708.             glPixelTransfer).
  15709.  
  15710.   GL_BLUE   Each element is a single blue component. It is converted to
  15711.             floating point and assembled into an RGBA element by attaching
  15712.             0.0 for red and green, and 1.0 for alpha. Each component is then
  15713.             multiplied by the signed scale factor GL_c_SCALE, added to the
  15714.             signed bias GL_c_BIAS, and clamped to the range [0,1] (see
  15715.             glPixelTransfer).
  15716.  
  15717.   GL_ALPHA  Each element is a single alpha component. It is converted to
  15718.             floating point and assembled into an RGBA element by attaching
  15719.             0.0 for red, green, and blue.  Each component is then multiplied
  15720.             by the signed scale factor GL_c_SCALE, added to the signed bias
  15721.             GL_c_BIAS, and clamped to the range [0,1] (see glPixelTransfer).
  15722.  
  15723.   GL_RGB    Each element is an RGB triple.  It is converted to floating point
  15724.             and assembled into an RGBA element by attaching 1.0 for alpha.
  15725.             Each component is then multiplied by the signed scale factor
  15726.             GL_c_SCALE, added to the signed bias GL_c_BIAS, and clamped to
  15727.             the range [0,1] (see  glPixelTransfer).
  15728.  
  15729.   GL_RGBA   Each element is a complete RGBA element.  It is converted to
  15730.             floating point.  Each component is then multiplied by the signed
  15731.             scale factor GL_c_SCALE, added to the signed bias GL_c_BIAS, and
  15732.             clamped to the range [0,1] (see glPixelTransfer).
  15733.  
  15734.   GL_LUMINANCE
  15735.             Each element is a single luminance value.  It is converted to
  15736.             floating point, then assembled into an RGBA element by
  15737.             replicating the luminance value three times for red, green, and
  15738.             blue and attaching 1.0 for alpha. Each component is then
  15739.             multiplied by the signed scale factor GL_c_SCALE, added to the
  15740.             signed bias GL_c_BIAS, and clamped to the range [0,1] (see
  15741.             glPixelTransfer).
  15742.  
  15743.   GL_LUMINANCE_ALPHA
  15744.             Each element is a luminance/alpha pair.  It is converted to
  15745.             floating point, then assembled into an RGBA element by
  15746.             replicating the luminance value three times for red, green, and
  15747.             blue.  Each component is then multiplied by the signed scale
  15748.             factor GL_c_SCALE, added to the signed bias GL_c_BIAS, and
  15749.             clamped to the range [0,1] (see glPixelTransfer).
  15750.  
  15751.   Please refer to the glDrawPixels reference page for a description of the
  15752.   acceptable values for the type parameter.  A texture image can have up to
  15753.   four components per texture element, depending on components.  A one-
  15754.   component texture image uses only the red component of the RGBA color
  15755.   extracted from pixels. A two-component image uses the R and A values.  A
  15756.   three-component image uses the R, G, and B values.  A four-component image
  15757.   uses all of the RGBA components.
  15758.  
  15759.  
  15760.  
  15761. Notes 
  15762.  
  15763.   Texturing has no effect in color index mode.
  15764.  
  15765.   The texture image can be represented by the same data formats as the pixels
  15766.   in a glDrawPixels command, except that GL_STENCIL_INDEX and
  15767.   GL_DEPTH_COMPONENT cannot be used.  glPixelStore and glPixelTransfer modes
  15768.   affect texture images in exactly the way they affect glDrawPixels.
  15769.  
  15770.   A texture image with zero height or width indicates the null texture.  If
  15771.   the null texture is specified for level-of-detail 0, it is as if texturing
  15772.   were disabled.
  15773.  
  15774.  
  15775.  
  15776. Errors 
  15777.  
  15778.   GL_INVALID_ENUM is generated when target is not GL_TEXTURE_2D.
  15779.  
  15780.   GL_INVALID_ENUM is generated when format is not an accepted format
  15781.   constant.  Format constants other than GL_STENCIL_INDEX and
  15782.   GL_DEPTH_COMPONENT are accepted.
  15783.  
  15784.   GL_INVALID_ENUM is generated when type is not a type constant.
  15785.  
  15786.   GL_INVALID_ENUM is generated if type is GL_BITMAP and format is not
  15787.   GL_COLOR_INDEX.
  15788.  
  15789.   GL_INVALID_VALUE is generated if level is less than zero or greater than
  15790.   log max, where max is the returned value of GL_MAX_TEXTURE_SIZE.
  15791.      2
  15792.   GL_INVALID_VALUE is generated if components is not 1, 2, 3, or 4.
  15793.  
  15794.   GL_INVALID_VALUE is generated if width or height is less than zero or
  15795.   greater than 2 + GL_MAX_TEXTURE_SIZE, or if either cannot be represented as
  15796.    k
  15797.   2 +2(border) for some integer value of k.
  15798.  
  15799.   GL_INVALID_VALUE is generated if border is not 0 or 1.
  15800.  
  15801.   GL_INVALID_OPERATION is generated if glTexImage2D is executed between the
  15802.   execution of glBegin and the corresponding execution of glEnd.
  15803.  
  15804.  
  15805.  
  15806. Associated Gets 
  15807.  
  15808.   glGetTexImage
  15809.   glIsEnabled with argument GL_TEXTURE_2D
  15810.  
  15811.  
  15812.  
  15813. See Also 
  15814.  
  15815.   glDrawPixels, glFog, glPixelStore, glPixelTransfer, glTexEnv, glTexGen,
  15816.   glTexImage1D, glTexParameter
  15817.  
  15818. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  15819.  
  15820.  Introduction | Alphabetic | Specification 
  15821.  
  15822. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  15823. Look here for legal stuff:  Legal 
  15824.  
  15825.  
  15826. ΓòÉΓòÉΓòÉ 3.113. glTexParameter ΓòÉΓòÉΓòÉ
  15827.  
  15828.  OpenGL man pages 
  15829.  
  15830. glTexParameter 
  15831.  
  15832.  
  15833.  
  15834.  
  15835.  
  15836.  
  15837. Name 
  15838.  
  15839.   glTexParameterf, glTexParameteri, glTexParameterfv, glTexParameteriv - set
  15840.   texture parameters
  15841.  
  15842.  
  15843.  
  15844.  
  15845. C Specification 
  15846.  
  15847.   void glTexParameterf( GLenum target,
  15848.                         GLenum pname,
  15849.                         GLfloat param )
  15850.   void glTexParameteri( GLenum target,
  15851.                         GLenum pname,
  15852.                         GLint param )
  15853.  
  15854.  
  15855.  
  15856.  
  15857. Parameters 
  15858.  
  15859.  
  15860.   target  Specifies the target texture, which must be either GL_TEXTURE_1D or
  15861.           GL_TEXTURE_2D.
  15862.  
  15863.   pname   Specifies the symbolic name of a single-valued texture parameter.
  15864.           pname can be one of the following: GL_TEXTURE_MIN_FILTER,
  15865.           GL_TEXTURE_MAG_FILTER, GL_TEXTURE_WRAP_S, or GL_TEXTURE_WRAP_T.
  15866.  
  15867.   param   Specifies the value of pname.
  15868.  
  15869.  
  15870.  
  15871. C Specification 
  15872.  
  15873.   void glTexParameterfv( GLenum target,
  15874.                          GLenum pname,
  15875.                          const GLfloat *params )
  15876.   void glTexParameteriv( GLenum target,
  15877.                          GLenum pname,
  15878.                          const GLint *params )
  15879.  
  15880.  
  15881.  
  15882.  
  15883. Parameters 
  15884.  
  15885.  
  15886.   target
  15887.        Specifies the target texture, which must be either GL_TEXTURE_1D or
  15888.        GL_TEXTURE_2D.
  15889.  
  15890.   pname
  15891.        Specifies the symbolic name of a texture parameter.  pname can be one
  15892.        of the following: GL_TEXTURE_MIN_FILTER, GL_TEXTURE_MAG_FILTER,
  15893.        GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, or GL_TEXTURE_BORDER_COLOR.
  15894.  
  15895.   params
  15896.        Specifies a pointer to an array where the value or values of pname are
  15897.        stored.
  15898.  
  15899.  
  15900.  
  15901.  
  15902.  
  15903. Description 
  15904.  
  15905.   Texture mapping is a technique that applies an image onto an object's
  15906.   surface as if the image were a decal or cellophane shrink-wrap. The image
  15907.   is created in texture space, with an (s, t) coordinate system. A texture is
  15908.   a one- or two-dimensional image and a set of parameters that determine how
  15909.   samples are derived from the image.
  15910.  
  15911.   glTexParameter assigns the value or values in params to the texture
  15912.   parameter specified as pname. target defines the target texture, either
  15913.   GL_TEXTURE_1D or GL_TEXTURE_2D.  The following symbols are accepted in
  15914.   pname:
  15915.  
  15916.   GL_TEXTURE_MIN_FILTER
  15917.             The texture minifying function is used whenever the pixel being
  15918.             textured maps to an area greater than one texture element. There
  15919.             are six defined minifying functions.  Two of them use the nearest
  15920.             one or nearest four texture elements to compute the texture
  15921.             value. The other four use mipmaps.
  15922.  
  15923.             A mipmap is an ordered set of arrays representing the same image
  15924.             at progressively lower resolutions. If the texture has dimensions
  15925.             2nx2m there are max(n,m)+1 mipmaps. The first mipmap is the
  15926.             original texture, with dimensions 2nx2m. Each subsequent mipmap
  15927.             has dimensions 2k-1x2l-1 where 2kx2l are the dimensions of the
  15928.             previous mipmap, until either k=0 or l=0.  At that point,
  15929.             subsequent mipmaps have dimension 1x2l-1 or 2k-1x1 until the
  15930.             final mipmap, which has dimension 1x1. Mipmaps are defined using
  15931.             glTexImage1D or glTexImage2D with the level-of-detail argument
  15932.             indicating the order of the mipmaps.  Level 0 is the original
  15933.             texture; level max(n,m) is the final 1x1 mipmap.
  15934.  
  15935.             params supplies a function for minifying the texture as one of
  15936.             the following:
  15937.  
  15938.             GL_NEAREST
  15939.                       Returns the value of the texture element that is
  15940.                       nearest (in Manhattan distance) to the center of the
  15941.                       pixel being textured.
  15942.  
  15943.             GL_LINEAR Returns the weighted average of the four texture
  15944.                       elements that are closest to the center of the pixel
  15945.                       being textured.  These can include border texture
  15946.                       elements, depending on the values of GL_TEXTURE_WRAP_S
  15947.                       and GL_TEXTURE_WRAP_T, and on the exact mapping.
  15948.  
  15949.             GL_NEAREST_MIPMAP_NEAREST
  15950.                       Chooses the mipmap that most closely matches the size
  15951.                       of the pixel being textured and uses the GL_NEAREST
  15952.                       criterion (the texture element nearest to the center of
  15953.                       the pixel) to produce a texture value.
  15954.  
  15955.             GL_LINEAR_MIPMAP_NEAREST
  15956.                       Chooses the mipmap that most closely matches the size
  15957.                       of the pixel being textured and uses the GL_LINEAR
  15958.                       criterion (a weighted average of the four texture
  15959.                       elements that are closest to the center of the pixel)
  15960.                       to produce a texture value.
  15961.  
  15962.             GL_NEAREST_MIPMAP_LINEAR
  15963.                       Chooses the two mipmaps that most closely match the
  15964.                       size of the pixel being textured and uses the
  15965.                       GL_NEAREST criterion (the texture element nearest to
  15966.                       the center of the pixel) to produce a texture value
  15967.                       from each mipmap. The final texture value is a weighted
  15968.                       average of those two values.
  15969.  
  15970.             GL_LINEAR_MIPMAP_LINEAR
  15971.                       Chooses the two mipmaps that most closely match the
  15972.                       size of the pixel being textured and uses the GL_LINEAR
  15973.                       criterion (a weighted average of the four texture
  15974.                       elements that are closest to the center of the pixel)
  15975.                       to produce a texture value from each mipmap.  The final
  15976.                       texture value is a weighted average of those two
  15977.                       values.
  15978.  
  15979.  
  15980.             As more texture elements are sampled in the minification process,
  15981.             fewer aliasing artifacts will be apparent. While the GL_NEAREST
  15982.             and GL_LINEAR minification functions can be faster than the other
  15983.             four, they sample only one or four texture elements to determine
  15984.             the texture value of the pixel being rendered and can produce
  15985.             moire patterns or ragged transitions. The default value of
  15986.             GL_TEXTURE_MIN_FILTER is GL_NEAREST_MIPMAP_LINEAR.
  15987.  
  15988.   GL_TEXTURE_MAG_FILTER
  15989.             The texture magnification function is used when the pixel being
  15990.             textured maps to an area less than or equal to one texture
  15991.             element.  It sets the texture magnification function to either of
  15992.             the following:
  15993.  
  15994.             GL_NEAREST
  15995.                       Returns the value of the texture element that is
  15996.                       nearest (in Manhattan distance) to the center of the
  15997.                       pixel being textured.
  15998.  
  15999.                       GL_LINEAR Returns the weighted average of the four
  16000.                       texture elements that are closest to the center of the
  16001.                       pixel being textured.  These can include border texture
  16002.                       elements, depending on the values of GL_TEXTURE_WRAP_S
  16003.                       and GL_TEXTURE_WRAP_T, and on the exact mapping.
  16004.  
  16005.  
  16006.             GL_NEAREST is generally faster than GL_LINEAR, but it can produce
  16007.             textured images with sharper edges because the transition between
  16008.             texture elements is not as smooth. The default value of
  16009.             GL_TEXTURE_MAG_FILTER is GL_LINEAR.
  16010.  
  16011.  
  16012.   GL_TEXTURE_WRAP_S
  16013.             Sets the wrap parameter for texture coordinate s to either
  16014.             GL_CLAMP or GL_REPEAT.  GL_CLAMP causes s coordinates to be
  16015.             clamped to the range [0,1] and is useful for preventing wrapping
  16016.             artifacts when mapping a single image onto an object. GL_REPEAT
  16017.             causes the integer part of the s coordinate to be ignored; the GL
  16018.             uses only the fractional part, thereby creating a repeating
  16019.             pattern. Border texture elements are accessed only if wrapping is
  16020.             set to GL_CLAMP.  Initially, GL_TEXTURE_WRAP_S is set to
  16021.             GL_REPEAT.
  16022.  
  16023.  
  16024.   GL_TEXTURE_WRAP_T
  16025.             Sets the wrap parameter for texture coordinate t to either
  16026.             GL_CLAMP or GL_REPEAT.  See the discussion under
  16027.             GL_TEXTURE_WRAP_S. Initially, GL_TEXTURE_WRAP_T is set to
  16028.             GL_REPEAT.
  16029.  
  16030.   GL_TEXTURE_BORDER_COLOR
  16031.             Sets a border color.  params contains four values that comprise
  16032.             the RGBA color of the texture border. Integer color components
  16033.             are interpreted linearly such that the most positive integer maps
  16034.             to 1.0, and the most negative integer maps to -1.0.  The values
  16035.             are clamped to the range [0,1] when they are specified.
  16036.             Initially, the border color is (0, 0, 0, 0).
  16037.  
  16038.  
  16039.  
  16040. Notes 
  16041.  
  16042.   Suppose texturing is enabled (by calling glEnable with argument
  16043.   GL_TEXTURE_1D or GL_TEXTURE_2D) and GL_TEXTURE_MIN_FILTER is set to one of
  16044.   the functions that requires a mipmap.  If either the dimensions of the
  16045.   texture images currently defined (with previous calls to glTexImage1D or
  16046.   glTexImage2D) do not follow the proper sequence for mipmaps (described
  16047.   above), or there are fewer texture images defined than are needed, or the
  16048.   set of texture images have differing numbers of texture components, then it
  16049.   is as if texture mapping were disabled.
  16050.  
  16051.   Linear filtering accesses the four nearest texture elements only in 2-D
  16052.   textures.  In 1-D textures, linear filtering accesses the two nearest
  16053.   texture elements.
  16054.  
  16055.  
  16056.  
  16057. Errors 
  16058.  
  16059.   GL_INVALID_ENUM is generated when target or pname is not one of the
  16060.   accepted defined values, or when params should have a defined constant
  16061.   value (based on the value of pname) and does not.
  16062.  
  16063.   GL_INVALID_OPERATION is generated if glTexParameter is called between a
  16064.   call to glBegin and the corresponding call to glEnd.
  16065.  
  16066.  
  16067.  
  16068. Associated Gets 
  16069.  
  16070.   glGetTexParameter
  16071.   glGetTexLevelParameter
  16072.  
  16073.  
  16074.  
  16075. See Also 
  16076.  
  16077.   glTexEnv, glTexImage1D, glTexImage2D, glTexGen
  16078.  
  16079.  
  16080.  
  16081. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  16082.  
  16083.  Introduction | Alphabetic | Specification 
  16084.  
  16085. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  16086. Look here for legal stuff:  Legal 
  16087.  
  16088.  
  16089. ΓòÉΓòÉΓòÉ 3.114. glTranslate ΓòÉΓòÉΓòÉ
  16090.  
  16091.  OpenGL man pages 
  16092.  
  16093. glTranslate 
  16094.  
  16095.  
  16096.  
  16097.  
  16098.  
  16099.  
  16100. Name 
  16101.  
  16102.   glTranslated, glTranslatef - multiply the current matrix by a translation
  16103.   matrix
  16104.  
  16105.  
  16106.  
  16107.  
  16108. C Specification 
  16109.  
  16110.   void glTranslated( GLdouble x,
  16111.                      GLdouble y,
  16112.                      GLdouble z )
  16113.   void glTranslatef( GLfloat x,
  16114.                      GLfloat y,
  16115.                      GLfloat z )
  16116.  
  16117.  
  16118.  
  16119.  
  16120. Parameters 
  16121.  
  16122.  
  16123.   x, y, z
  16124.          Specify the x, y, and z coordinates of a translation vector.
  16125.  
  16126.  
  16127.  
  16128.  
  16129. Description 
  16130.  
  16131.   glTranslate moves the coordinate system origin to the point specified by
  16132.   (x,y,z).  The translation vector is used to compute a 4x4 translation
  16133.   matrix:
  16134.  
  16135.                             | 1    0    0    x   |
  16136.                             |                    |
  16137.                             | 0    1    0    y   |
  16138.                             |                    |
  16139.                             | 0    0    1    z   |
  16140.                             |                    |
  16141.                             | 0    0    0    1   |
  16142.  
  16143.   The current matrix (see glMatrixMode) is multiplied by this translation
  16144.   matrix, with the product replacing the current matrix.  That is, if M is
  16145.   the current matrix and T is the translation matrix, then M is replaced with
  16146.   M Γòû T.
  16147.  
  16148.   If the matrix mode is either GL_MODELVIEW or GL_PROJECTION, all objects
  16149.   drawn after glTranslate is called are translated.  Use glPushMatrix and
  16150.   glPopMatrix to save and restore the untranslated coordinate system.
  16151.  
  16152.  
  16153.  
  16154. Errors 
  16155.  
  16156.   GL_INVALID_OPERATION is generated if glTranslate is executed between the
  16157.   execution of glBegin and the corresponding execution of glEnd.
  16158.  
  16159.  
  16160.  
  16161. Associated Gets 
  16162.  
  16163.   glGet with argument GL_MATRIX_MODE
  16164.   glGet with argument GL_MODELVIEW_MATRIX
  16165.   glGet with argument GL_PROJECTION_MATRIX
  16166.   glGet with argument GL_TEXTURE_MATRIX
  16167.  
  16168.  
  16169.  
  16170.  
  16171.  
  16172. See Also 
  16173.  
  16174.   glMatrixMode, glMultMatrix, glPushMatrix, glRotate, glScale
  16175.  
  16176. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  16177.  
  16178.  Introduction | Alphabetic | Specification 
  16179.  
  16180. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  16181. Look here for legal stuff:  Legal 
  16182.  
  16183.  
  16184. ΓòÉΓòÉΓòÉ 3.115. glVertex ΓòÉΓòÉΓòÉ
  16185.  
  16186.  OpenGL man pages 
  16187.  
  16188. glVertex 
  16189.  
  16190.  
  16191.  
  16192.  
  16193.  
  16194.  
  16195. Name 
  16196.  
  16197.   glVertex2d, glVertex2f, glVertex2i, glVertex2s, glVertex3d,
  16198. glVertex3f,
  16199.   glVertex3i, glVertex3s, glVertex4d, glVertex4f, glVertex4i,
  16200. glVertex4s,
  16201.   glVertex2dv, glVertex2fv, glVertex2iv, glVertex2sv, glVertex3dv,
  16202.   glVertex3fv, glVertex3iv, glVertex3sv, glVertex4dv, glVertex4fv,
  16203.   glVertex4iv, glVertex4sv - specify a vertex
  16204.  
  16205.  
  16206.  
  16207.  
  16208. C Specification 
  16209.  
  16210.   void glVertex2d( GLdouble x,
  16211.                    GLdouble y )
  16212.   void glVertex2f( GLfloat x,
  16213.                    GLfloat y )
  16214.   void glVertex2i( GLint x,
  16215.                    GLint y )
  16216.   void glVertex2s( GLshort x,
  16217.                    GLshort y )
  16218.   void glVertex3d( GLdouble x,
  16219.                    GLdouble y,
  16220.                    GLdouble z )
  16221.   void glVertex3f( GLfloat x,
  16222.                    GLfloat y,
  16223.                    GLfloat z )
  16224.   void glVertex3i( GLint x,
  16225.                    GLint y,
  16226.                    GLint z )
  16227.   void glVertex3s( GLshort x,
  16228.                    GLshort y,
  16229.                    GLshort z )
  16230.   void glVertex4d( GLdouble x,
  16231.                    GLdouble y,
  16232.                    GLdouble z,
  16233.                    GLdouble w )
  16234.   void glVertex4f( GLfloat x,
  16235.                    GLfloat y,
  16236.                    GLfloat z,
  16237.                    GLfloat w )
  16238.   void glVertex4i( GLint x,
  16239.                    GLint y,
  16240.                    GLint z,
  16241.                    GLint w )
  16242.   void glVertex4s( GLshort x,
  16243.                    GLshort y,
  16244.                    GLshort z,
  16245.                    GLshort w )
  16246.  
  16247.  
  16248.  
  16249.  
  16250. Parameters 
  16251.  
  16252.  
  16253.   x, y, z, w
  16254.            Specify x, y, z, and w coordinates of a vertex.  Not all
  16255.            parameters are present in all forms of the command.
  16256.  
  16257.  
  16258.  
  16259. C Specification 
  16260.  
  16261.   void glVertex2dv( const GLdouble *v )
  16262.   void glVertex2fv( const GLfloat *v )
  16263.   void glVertex2iv( const GLint *v )
  16264.   void glVertex2sv( const GLshort *v )
  16265.   void glVertex3dv( const GLdouble *v )
  16266.   void glVertex3fv( const GLfloat *v )
  16267.   void glVertex3iv( const GLint *v )
  16268.   void glVertex3sv( const GLshort *v )
  16269.   void glVertex4dv( const GLdouble *v )
  16270.   void glVertex4fv( const GLfloat *v )
  16271.   void glVertex4iv( const GLint *v )
  16272.   void glVertex4sv( const GLshort *v )
  16273.  
  16274.  
  16275.  
  16276.  
  16277. Parameters 
  16278.  
  16279.  
  16280.   v    Specifies a pointer to an array of two, three, or four elements.  The
  16281.        elements of a two-element array are x and y; of a three-element array,
  16282.        x, y, and z; and of a four-element array, x, y, z, and w.
  16283.  
  16284.  
  16285.  
  16286. Description 
  16287.  
  16288.   glVertex commands are used within glBegin/glEnd pairs to specify point,
  16289.   line, and polygon vertices.  The current color, normal, and texture
  16290.   coordinates are associated with the vertex when glVertex is called.
  16291.  
  16292.   When only x and y are specified, z defaults to 0.0 and w defaults to 1.0.
  16293.   When x, y, and z are specified, w defaults to 1.0.
  16294.  
  16295.  
  16296.  
  16297. Notes 
  16298.  
  16299.   Invoking glVertex outside of a glBegin/glEnd pair results in undefined
  16300.   behavior.
  16301.  
  16302.  
  16303.  
  16304. See Also 
  16305.  
  16306.   glBegin, glCallList, glColor, glEdgeFlag, glEvalCoord, glIndex, glMaterial,
  16307.   glNormal, glRect, glTexCoord
  16308.  
  16309.  
  16310.  
  16311. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  16312.  
  16313.  Introduction | Alphabetic | Specification 
  16314.  
  16315. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  16316. Look here for legal stuff:  Legal 
  16317.  
  16318.  
  16319. ΓòÉΓòÉΓòÉ 3.116. glVertexPointerEXT ΓòÉΓòÉΓòÉ
  16320.  
  16321.  OpenGL man pages 
  16322.  
  16323. glVertexPointerEXT 
  16324.  
  16325.  
  16326.  
  16327.  
  16328.  
  16329.  
  16330. Name 
  16331.  
  16332.   glVertexPointerEXT - define an array of vertex data
  16333.  
  16334.  
  16335.  
  16336.  
  16337. C Specification 
  16338.  
  16339.   void glVertexPointerEXT( GLint size,
  16340.                            GLenum type,
  16341.                            GLsizei stride,
  16342.                            GLsizei count,
  16343.                            const GLvoid *pointer )
  16344.  
  16345.  
  16346.  
  16347.  
  16348. Parameters 
  16349.  
  16350.  
  16351.   size     Specifies the number of coordinates per vertex, must be 2,3, or 4.
  16352.  
  16353.   type     Specifies the data type of each coordinate in the array.  Symbolic
  16354.            constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE_EXT are
  16355.            accepted.
  16356.  
  16357.   stride   Specifies the byte offset between consecutive vertexes. If stride
  16358.            is 0 the vertexes are understood to be tightly packed in the
  16359.            array.
  16360.  
  16361.   count    Specifies the number of vertexes, counting from the first, that
  16362.            are static.
  16363.  
  16364.   pointer  Specifies a pointer to the first coordinate of the first vertex in
  16365.            the array.
  16366.  
  16367.  
  16368.  
  16369. Description 
  16370.  
  16371.   glVertexPointerEXT specifies the location and data format of an array of
  16372.   vertex coordinates to use when rendering using the vertex array extension.
  16373.   size specifies the number of coordinates per vertex and type the
  16374.   data type of the coordinates. stride gives the byte stride from one vertex
  16375.   to the next allowing vertexes and attributes to be packed into a single
  16376.   array or stored in separate arrays. (Single-array storage may be more
  16377.   efficient on some implementations.) count indicates the number of array
  16378.   elements (counting from the first) that are static. Static elements may be
  16379.   modified by the application, but once they are modified, the application
  16380.   must explicitly respecify the array before using it for any rendering. When
  16381.   a vertex array is specified, size, type, stride, count, and pointer are saved
  16382.   as client-side state, and static array elements may be cached by the
  16383.   implementation.
  16384.  
  16385.   The vertex array is enabled and disabled using glEnable and glDisable with
  16386.   the argument GL_VERTEX_ARRAY_EXT. If enabled, the vertex array is used when
  16387.   glDrawArraysEXT or glArrayElementEXT is called.
  16388.  
  16389.   Use glDrawArraysEXT to define a sequence of primitives (all of the same
  16390.   type) from pre-specified vertex and vertex attribute arrays.  Use
  16391.   glArrayElementEXT to specify primitives by indexing vertexes and vertex
  16392.   attributes.
  16393.  
  16394.  
  16395.  
  16396. Notes 
  16397.  
  16398.   Non-static array elements are not accessed until glArrayElementEXT or
  16399.   glDrawArraysEXT is executed.
  16400.  
  16401.   By default the vertex array is disabled and it won't be accessed when
  16402.   glArrayElementEXT or glDrawArraysEXT is called.
  16403.  
  16404.  
  16405.   Although it is not an error to call glVertexPointerEXT between the
  16406.   execution of glBegin and the corresponding execution of glEnd, the results
  16407.   are undefined.
  16408.  
  16409.  
  16410.   glVertexPointerEXT will typically be implemented on the client side with no
  16411.   protocol.
  16412.  
  16413.  
  16414.   Since the vertex array parameters are client side state, they are not saved
  16415.   or restored by glPushAttrib and glPopAttrib.
  16416.  
  16417.  
  16418.   glVertexPointerEXT commands are not entered into display lists.
  16419.  
  16420.  
  16421.   glVertexPointerEXT is part of the EXT_vertex_array extension, not
  16422.   part of the core GL command set. If "GL_EXT_vertex_array" is
  16423.   included in the string returned by glGetString, when called with argument
  16424.   GL_EXTENSIONS, extension EXT_vertex_array is supported.
  16425.  
  16426.  
  16427.  
  16428.  
  16429. Errors 
  16430.  
  16431.   GL_INVALID_VALUE is generated if size is not 2, 3, or 4.
  16432.  
  16433.   GL_INVALID_ENUM is generated if type is is not an accepted value.
  16434.  
  16435.   GL_INVALID_VALUE is generated if stride or count is negative.
  16436.  
  16437.  
  16438.  
  16439. Associated Gets 
  16440.  
  16441.   glIsEnabled with argument GL_VERTEX_ARRAY_EXT
  16442.   glGet with argument GL_VERTEX_ARRAY_SIZE_EXT
  16443.   glGet with argument GL_VERTEX_ARRAY_TYPE_EXT
  16444.   glGet with argument GL_VERTEX_ARRAY_STRIDE_EXT
  16445.   glGet with argument GL_VERTEX_ARRAY_COUNT_EXT
  16446.   glGetPointervEXT with argument GL_VERTEX_ARRAY_POINTER_EXT
  16447.  
  16448.  
  16449.  
  16450. See Also 
  16451.  
  16452.   glArrayElementEXT, glColorPointerEXT, glDrawArraysEXT,
  16453.   glEdgeFlagPointerEXT, glGetPointervEXT, glIndexPointerEXT,
  16454.   glNormalPointerEXT, glTexCoordPointerEXT, glEnable
  16455.  
  16456.  
  16457. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  16458.  
  16459.  Introduction | Alphabetic | Specification 
  16460.  
  16461. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  16462. Look here for legal stuff:  Legal 
  16463.  
  16464.  
  16465. ΓòÉΓòÉΓòÉ 3.117. glViewport ΓòÉΓòÉΓòÉ
  16466.  
  16467.  OpenGL man pages 
  16468.  
  16469. glViewport 
  16470.  
  16471.  
  16472.  
  16473.  
  16474.  
  16475.  
  16476. Name 
  16477.  
  16478.   glViewport - set the viewport
  16479.  
  16480.  
  16481.  
  16482.  
  16483. C Specification 
  16484.  
  16485.   void glViewport( GLint x,
  16486.                    GLint y,
  16487.                    GLsizei width,
  16488.                    GLsizei height )
  16489.  
  16490.  
  16491.  
  16492.  
  16493. Parameters 
  16494.  
  16495.  
  16496.   x, y Specify the lower left corner of the viewport rectangle, in pixels.
  16497.        The default is (0,0).
  16498.  
  16499.   width, height
  16500.        Specify the width and height, respectively, of the viewport.  When a
  16501.        GL context is first attached to a window, width and height are set to
  16502.        the dimensions of that window.
  16503.  
  16504.  
  16505.  
  16506. Description 
  16507.  
  16508.   glViewport specifies the affine transformation of x and y from normalized
  16509.   device coordinates to window coordinates.  Let (x  , y  ) be normalized
  16510.                                                    nd   nd
  16511.   device coordinates.  Then the window coordinates x , y ) are computed as
  16512.   follows:                                          w   w
  16513.  
  16514.                                         width
  16515.                             x  = (x  +1)----- + x
  16516.                              w     nd     2
  16517.  
  16518.                                         height
  16519.                             y  = (y  +1)------ + y
  16520.                              w     nd      2
  16521.  
  16522.   Viewport width and height are silently clamped to a range that depends on
  16523.   the implementation.  This range is queried by calling glGet with argument
  16524.   GL_MAX_VIEWPORT_DIMS.
  16525.  
  16526.  
  16527.  
  16528. Errors 
  16529.  
  16530.   GL_INVALID_VALUE is generated if either width or height is negative.
  16531.  
  16532.   GL_INVALID_OPERATION is generated if glViewport is executed between the
  16533.   execution of glBegin and the corresponding execution of glEnd.
  16534.  
  16535.  
  16536.  
  16537. Associated Gets 
  16538.  
  16539.   glGet with argument GL_VIEWPORT
  16540.   glGet with argument GL_MAX_VIEWPORT_DIMS
  16541.  
  16542.  
  16543.  
  16544. See Also 
  16545.  
  16546.   glDepthRange
  16547.  
  16548. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  16549.  
  16550.  Introduction | Alphabetic | Specification 
  16551.  
  16552. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  16553. Look here for legal stuff:  Legal 
  16554.  
  16555.  
  16556. ΓòÉΓòÉΓòÉ 3.118. glXChooseVisual ΓòÉΓòÉΓòÉ
  16557.  
  16558.  OpenGL man pages 
  16559.  
  16560. glXChooseVisual 
  16561.  
  16562.  
  16563.  
  16564.  
  16565.  
  16566.  
  16567. Name 
  16568.  
  16569.   glXChooseVisual - return a visual that matches specified attributes
  16570.  
  16571.  
  16572.  
  16573.  
  16574. C Specification 
  16575.  
  16576.   XVisualInfo* glXChooseVisual( Display *dpy,
  16577.                                 int screen,
  16578.                                 int *attribList )
  16579.  
  16580.  
  16581.  
  16582.  
  16583. Parameters 
  16584.  
  16585.  
  16586.   dpy         Specifies the connection to the X server.
  16587.  
  16588.  
  16589.   screen      Specifies the screen number.
  16590.  
  16591.  
  16592.   attribList  Specifies a list of Boolean attributes and integer
  16593.               attribute/value pairs.  The last attribute must be None.
  16594.  
  16595.  
  16596.  
  16597.  
  16598. Description 
  16599.  
  16600.   glXChooseVisual returns a pointer to an XVisualInfo structure describing
  16601.   the visual that best meets a minimum specification.  The Boolean GLX
  16602.   attributes of the visual that is returned will match the specified values,
  16603.   and the integer GLX attributes will meet or exceed the specified minimum
  16604.   values.  If all other attributes are equivalent, then TrueColor and
  16605.   PseudoColor visuals have priority over DirectColor and StaticColor visuals,
  16606.   respectively.  If no conforming visual exists, NULL is returned.  To free
  16607.   the data returned by this function, use XFree.
  16608.  
  16609.   All Boolean GLX attributes default to False except GLX_USE_GL, which
  16610.   defaults to True.  All integer GLX attributes default to zero.  Default
  16611.   specifications are superseded by attributes included in attribList.
  16612.   Boolean attributes included in attribList are understood to be True.
  16613.   Integer attributes are followed immediately by the corresponding desired or
  16614.   minimum value.  The list must be terminated with None.
  16615.  
  16616.   The interpretations of the various GLX visual attributes are as follows:
  16617.  
  16618.   GLX_USE_GL            Ignored.  Only visuals that can be rendered with GLX
  16619.                         are considered.
  16620.  
  16621.   GLX_BUFFER_SIZE       Must be followed by a nonnegative integer that
  16622.                         indicates the desired color index buffer size.  The
  16623.                         smallest index buffer of at least the specified size
  16624.                         is preferred.  Ignored if GLX_RGBA is asserted.
  16625.  
  16626.   GLX_LEVEL             Must be followed by an integer buffer-level
  16627.                         specification.  This specification is honored
  16628.                         exactly.  Buffer level zero corresponds to the
  16629.                         default frame buffer of the display.  Buffer level
  16630.                         one is the first overlay frame buffer, level two the
  16631.                         second overlay frame buffer, and so on.  Negative
  16632.                         buffer levels correspond to underlay frame buffers.
  16633.  
  16634.   GLX_RGBA              If present, only TrueColor and DirectColor visuals
  16635.                         are considered.  Otherwise, only PseudoColor and
  16636.                         StaticColor visuals are considered.
  16637.  
  16638.   GLX_DOUBLEBUFFER      If present, only double-buffered visuals are
  16639.                         considered.   Otherwise, only single-buffered visuals
  16640.                         are considered.
  16641.  
  16642.   GLX_STEREO            If present, only stereo visuals are considered.
  16643.                         Otherwise, only monoscopic visuals are considered.
  16644.  
  16645.   GLX_AUX_BUFFERS       Must be followed by a nonnegative integer that
  16646.                         indicates the desired number of auxiliary buffers.
  16647.                         Visuals with the  smallest number of auxiliary
  16648.                         buffers that meets or exceeds the specified number
  16649.                         are preferred.
  16650.  
  16651.   GLX_RED_SIZE          Must be followed by a nonnegative minimum size
  16652.                         specification.  If this value is zero, the smallest
  16653.                         available red buffer is preferred.  Otherwise, the
  16654.                         largest available red buffer of at least the minimum
  16655.                         size is preferred.
  16656.  
  16657.   GLX_GREEN_SIZE        Must be followed by a nonnegative minimum size
  16658.                         specification.  If this value is zero, the smallest
  16659.                         available green buffer is preferred.  Otherwise, the
  16660.                         largest available green buffer of at least the
  16661.                         minimum size is preferred.
  16662.  
  16663.   GLX_BLUE_SIZE         Must be followed by a nonnegative minimum size
  16664.                         specification.  If this value is zero, the smallest
  16665.                         available blue buffer is preferred.  Otherwise, the
  16666.                         largest available blue buffer of at least the minimum
  16667.                         size is preferred.
  16668.  
  16669.   GLX_ALPHA_SIZE        Must be followed by a nonnegative minimum size
  16670.                         specification.  If this value is zero, the smallest
  16671.                         available alpha buffer is preferred.  Otherwise, the
  16672.                         largest available alpha buffer of at least the
  16673.                         minimum size is preferred.
  16674.  
  16675.   GLX_DEPTH_SIZE        Must be followed by a nonnegative minimum size
  16676.                         specification.  If this value is zero, visuals with
  16677.                         no depth buffer are preferred.  Otherwise, the
  16678.                         largest available depth buffer of at least the
  16679.                         minimum size is preferred.
  16680.  
  16681.   GLX_STENCIL_SIZE      Must be followed by a nonnegative integer that
  16682.                         indicates the desired number of stencil bitplanes.
  16683.                         The smallest stencil buffer of at least the specified
  16684.                         size is preferred.  If the desired value is zero,
  16685.                         visuals with no stencil buffer are preferred.
  16686.  
  16687.   GLX_ACCUM_RED_SIZE    Must be followed by a nonnegative minimum size
  16688.                         specification.  If this value is zero, visuals with
  16689.                         no red accumulation buffer are preferred.  Otherwise,
  16690.                         the largest possible red accumulation buffer of at
  16691.                         least the minimum size is preferred.
  16692.  
  16693.   GLX_ACCUM_GREEN_SIZE  Must be followed by a nonnegative minimum size
  16694.                         specification.  If this value is zero, visuals with
  16695.                         no green accumulation buffer are preferred.
  16696.                         Otherwise, the largest possible green accumulation
  16697.                         buffer of at least the minimum size is preferred.
  16698.  
  16699.   GLX_ACCUM_BLUE_SIZE   Must be followed by a nonnegative minimum size
  16700.                         specification.  If this value is zero, visuals with
  16701.                         no blue accumulation buffer are preferred.
  16702.                         Otherwise, the largest possible blue accumulation
  16703.                         buffer of at least the minimum size is preferred.
  16704.  
  16705.   GLX_ACCUM_ALPHA_SIZE  Must be followed by a nonnegative minimum size
  16706.                         specification.  If this value is zero, visuals with
  16707.                         no alpha accumulation buffer are preferred.
  16708.                         Otherwise, the largest possible alpha accumulation
  16709.                         buffer of at least the minimum size is preferred.
  16710.  
  16711.  
  16712.  
  16713.  
  16714. Examples 
  16715.  
  16716.  
  16717.  
  16718.   attribList =
  16719.               {GLX_RGBA, GLX_RED_SIZE, 4, GLX_GREEN_SIZE, 4, GLX_BLUE_SIZE,
  16720.               4, None};
  16721.  
  16722.   Specifies a single-buffered RGB visual in the normal frame buffer, not an
  16723.   overlay or underlay buffer.  The returned visual supports at least four
  16724.   bits each of red, green, and blue, and possibly no bits of alpha.  It does
  16725.   not support color index mode, double-buffering, or stereo display.  It may
  16726.   or may not have one or more auxiliary color buffers, a depth buffer, a
  16727.   stencil buffer, or an accumulation buffer.
  16728.  
  16729.  
  16730.  
  16731.  
  16732.  
  16733. Notes 
  16734.  
  16735.   XVisualInfo is defined in Xutil.h.  It is a structure that includes visual,
  16736.   visualID, screen, and depth elements.
  16737.  
  16738.   glXChooseVisual is implemented as a client-side utility using only
  16739.   XGetVisualInfo and glXGetConfig.  Calls to these two routines can be used
  16740.   to implement selection algorithms other than the generic one implemented by
  16741.   glXChooseVisual.
  16742.  
  16743.   GLX implementers are strongly discouraged, but not proscribed, from
  16744.   changing the selection algorithm used by glXChooseVisual.  Therefore,
  16745.   selections may change from release to release of the client-side library.
  16746.  
  16747.   There is no direct filter for picking only visuals that support GLXPixmaps.
  16748.   GLXPixmaps are supported for visuals whose GLX_BUFFER_SIZE.  is one of the
  16749.   Pixmap depths supported by the X server.
  16750.  
  16751.  
  16752.  
  16753.  
  16754. Errors 
  16755.  
  16756.  
  16757.   NULL is returned if an undefined GLX attribute is encountered in
  16758.   attribList.
  16759.  
  16760.  
  16761.  
  16762.  
  16763. See Also 
  16764.  
  16765.   glXCreateContext, glXGetConfig
  16766.  
  16767.  
  16768.  
  16769. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  16770.  
  16771.  Introduction | Alphabetic | Specification 
  16772.  
  16773. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  16774. Look here for legal stuff:  Legal 
  16775.  
  16776.  
  16777. ΓòÉΓòÉΓòÉ 3.119. glXCopyContext ΓòÉΓòÉΓòÉ
  16778.  
  16779.  OpenGL man pages 
  16780.  
  16781. glXCopyContext 
  16782.  
  16783.  
  16784.  
  16785.  
  16786.  
  16787.  
  16788. Name 
  16789.  
  16790.   glXCopyContext - copy state from one rendering context to another
  16791.  
  16792.  
  16793.  
  16794.  
  16795. C Specification 
  16796.  
  16797.   void glXCopyContext( Display *dpy,
  16798.                        GLXContext src,
  16799.                        GLXContext dst,
  16800.                        GLuint mask )
  16801.  
  16802.  
  16803.  
  16804.  
  16805. Parameters 
  16806.  
  16807.  
  16808.   dpy   Specifies the connection to the X server.
  16809.  
  16810.  
  16811.   src   Specifies the source context.
  16812.  
  16813.  
  16814.   dst   Specifies the destination context.
  16815.  
  16816.  
  16817.   mask  Specifies which portions of src state are to be copied to dst.
  16818.  
  16819.  
  16820.  
  16821.  
  16822. Description 
  16823.  
  16824.   glXCopyContext copies selected groups of state variables from src to dst.
  16825.   mask indicates which groups of state variables are to be copied.  mask
  16826.   contains the bitwise OR of the same symbolic names that are passed to the
  16827.   OpenGL command glPushAttrib.  The single symbolic constant
  16828.   GL_ALL_ATTRIB_BITS can be used to copy the maximum possible portion of
  16829.   rendering state.
  16830.  
  16831.   The copy can be done only if the renderers named by src and dst share an
  16832.   address space.  Two rendering contexts share an address space if both are
  16833.   nondirect using the same server, or if both are direct and owned by a
  16834.   single process.  Note that in the nondirect case it is not necessary for
  16835.   the calling threads to share an address space, only for their related
  16836.   rendering contexts to share an address space.
  16837.  
  16838.   Not all values for OpenGL state can be copied.  For example, pixel pack and
  16839.   unpack state, render mode state, and select and feedback state are not
  16840.   copied.  The state that can be copied is exactly the state that is
  16841.   manipulated by OpenGL command  glPushAttrib.
  16842.  
  16843.   An implicit glFlush is done by glXCopyContext if src is the current context
  16844.   for the calling thread.
  16845.  
  16846.   If src is not the current context for the thread issuing the request, then
  16847.   the state of the src context is undefined.
  16848.  
  16849.  
  16850.  
  16851.  
  16852.  
  16853. Notes 
  16854.  
  16855.   Two rendering contexts share an address space if both are nondirect using
  16856.   the same server, or if both are direct and owned by a single process.
  16857.  
  16858.   A process is a single execution environment, implemented in a single
  16859.   address space, consisting of one or more threads.
  16860.  
  16861.   A thread is one of a set of subprocesses that share a single address space,
  16862.   but maintain separate program counters, stack spaces, and other related
  16863.   global data.  A thread that is the only member of its subprocess group is
  16864.   equivalent to a process.
  16865.  
  16866.  
  16867.  
  16868.  
  16869. Errors 
  16870.  
  16871.   BadMatch is generated if rendering contexts src and dst do not share an
  16872.   address space or were not created with respect to the same screen.
  16873.  
  16874.   BadAccess is generated if dst is current to any thread (including the
  16875.   calling thread) at the time glXCopyContext is called.
  16876.  
  16877.   GLXBadCurrentWindow is generated if src is the current context and the
  16878.   current drawable is a window that is no longer valid.
  16879.  
  16880.   GLXBadContext is generated if either src or dst is not a valid GLX context.
  16881.  
  16882.   BadValue is generated if undefined mask bits are specified.
  16883.  
  16884.  
  16885.  
  16886.  
  16887. See Also 
  16888.  
  16889.   glPushAttrib, glXCreateContext, glXIsDirect
  16890.  
  16891.  
  16892.  
  16893. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  16894.  
  16895.  Introduction | Alphabetic | Specification 
  16896.  
  16897. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  16898. Look here for legal stuff:  Legal 
  16899.  
  16900.  
  16901. ΓòÉΓòÉΓòÉ 3.120. glXCreateContext ΓòÉΓòÉΓòÉ
  16902.  
  16903.  OpenGL man pages 
  16904.  
  16905. glXCreateContext 
  16906.  
  16907.  
  16908.  
  16909.  
  16910.  
  16911.  
  16912. Name 
  16913.  
  16914.   glXCreateContext - create a new GLX rendering context
  16915.  
  16916.  
  16917.  
  16918.  
  16919. C Specification 
  16920.  
  16921.   GLXContext glXCreateContext( Display *dpy,
  16922.                                XVisualInfo *vis,
  16923.                                GLXContext shareList,
  16924.                                Bool direct )
  16925.  
  16926.  
  16927.  
  16928.  
  16929. Parameters 
  16930.  
  16931.  
  16932.   dpy        Specifies the connection to the X server.
  16933.  
  16934.  
  16935.   vis        Specifies the visual that defines the frame buffer resources
  16936.              available to the rendering context.  It is a pointer to an
  16937.              XVisualInfo structure, not a visual ID or a pointer to a Visual.
  16938.  
  16939.  
  16940.   shareList  Specifies the context with which to share display lists.  NULL
  16941.              indicates that no sharing is to take place.
  16942.  
  16943.  
  16944.   direct     Specifies whether rendering is to be done with a direct
  16945.              connection to the graphics system if possible (True) or through
  16946.              the X server (False).
  16947.  
  16948.  
  16949.  
  16950.  
  16951. Description 
  16952.  
  16953.   glXCreateContext creates a GLX rendering context and returns its handle.
  16954.   This context can be used to render into both windows and GLX pixmaps.  If
  16955.   glXCreateContext fails to create a rendering context, NULL is returned.
  16956.  
  16957.   If direct is True, then a direct rendering context is created if the
  16958.   implementation supports direct rendering and the connection is to an X
  16959.   server that is local.  If direct is False, then a rendering context that
  16960.   renders through the X server is always created.  Direct rendering provides
  16961.   a performance advantage in some implementations.  However, direct rendering
  16962.   contexts cannot be shared outside a single process, and they cannot be used
  16963.   to render to GLX pixmaps.
  16964.  
  16965.   If shareList is not NULL, then all display-list indexes and definitions are
  16966.   shared by context shareList and by the newly created context.  An arbitrary
  16967.   number of contexts can share a single display-list space.  However, all
  16968.   rendering contexts that share a single display-list space must themselves
  16969.   exist in the same address space.  Two rendering contexts share an address
  16970.   space if both are nondirect using the same server, or if both are direct
  16971.   and owned by a single process.  Note that in the nondirect case, it is not
  16972.   necessary for the calling threads to share an address space, only for their
  16973.   related rendering contexts to share an address space.
  16974.  
  16975.  
  16976.  
  16977.  
  16978. Notes 
  16979.  
  16980.   XVisualInfo is defined in Xutil.h.  It is a structure that includes visual,
  16981.   visualID, screen, and depth elements.
  16982.  
  16983.  
  16984.   A process is a single execution environment, implemented in a single
  16985.   address space, consisting of one or more threads.
  16986.  
  16987.   A thread is one of a set of subprocesses that share a single address space,
  16988.   but maintain separate program counters, stack spaces, and other related
  16989.   global data.  A thread that is the only member of its subprocess group is
  16990.   equivalent to a process.
  16991.  
  16992.  
  16993.  
  16994.  
  16995. Errors 
  16996.  
  16997.   NULL is returned if execution fails on the client side.
  16998.  
  16999.   BadMatch is generated if the context to be created would not share the
  17000.   address space or the screen of the context specified by shareList.
  17001.  
  17002.   BadValue is generated if vis is not a valid visual (e.g., if the GLX
  17003.   implementation does not support it).
  17004.  
  17005.   GLXBadContext is generated if shareList is not a GLX context and is not
  17006.   NULL.
  17007.  
  17008.   BadAlloc is generated if the server does not have enough resources to
  17009.   allocate the new context.
  17010.  
  17011.  
  17012.  
  17013.  
  17014. See Also 
  17015.  
  17016.   glXDestroyContext, glXGetConfig, glXIsDirect, glXMakeCurrent
  17017.  
  17018.  
  17019.  
  17020. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  17021.  
  17022.  Introduction | Alphabetic | Specification 
  17023.  
  17024. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  17025. Look here for legal stuff:  Legal 
  17026.  
  17027.  
  17028. ΓòÉΓòÉΓòÉ 3.121. glXCreateGLXPixmap ΓòÉΓòÉΓòÉ
  17029.  
  17030.  OpenGL man pages 
  17031.  
  17032. glXCreateGLXPixmap 
  17033.  
  17034.  
  17035.  
  17036.  
  17037.  
  17038.  
  17039. Name 
  17040.  
  17041.   glXCreateGLXPixmap - create an off-screen GLX rendering area
  17042.  
  17043.  
  17044.  
  17045.  
  17046. C Specification 
  17047.  
  17048.   GLXPixmap glXCreateGLXPixmap( Display *dpy,
  17049.                                 XVisualInfo *vis,
  17050.                                 Pixmap pixmap )
  17051.  
  17052.  
  17053.  
  17054.  
  17055. Parameters 
  17056.  
  17057.  
  17058.   dpy     Specifies the connection to the X server.
  17059.  
  17060.  
  17061.   vis     Specifies the visual that defines the structure of the rendering
  17062.           area.  It is a pointer to an XVisualInfo structure, not a visual ID
  17063.           or a pointer to a Visual.
  17064.  
  17065.  
  17066.   pixmap  Specifies the X pixmap that will be used as the front left color
  17067.           buffer of the off-screen rendering area.
  17068.  
  17069.  
  17070.  
  17071.  
  17072. Description 
  17073.  
  17074.   glXCreateGLXPixmap creates an off-screen rendering area and returns its
  17075.   XID.  Any GLX rendering context that was created with respect to vis can be
  17076.   used to render into this off-screen area.  Use glXMakeCurrent to associate
  17077.   the rendering area with a GLX rendering context.
  17078.  
  17079.   The X pixmap identified by pixmap is used as the front left buffer of the
  17080.   resulting off-screen rendering area.  All other buffers specified by vis,
  17081.   including color buffers other than the front left buffer, are created
  17082.   without externally visible names.  GLX pixmaps with double-buffering are
  17083.   supported.  However, glXSwapBuffers is ignored by these pixmaps.
  17084.  
  17085.   Direct rendering contexts cannot be used to render into GLX pixmaps.
  17086.  
  17087.  
  17088.  
  17089.  
  17090. Notes 
  17091.  
  17092.   XVisualInfo is defined in Xutil.h.  It is a structure that includes visual,
  17093.   visualID, screen, and depth elements.
  17094.  
  17095.  
  17096.  
  17097.  
  17098. Errors 
  17099.  
  17100.   BadMatch is generated if the depth of pixmap does not match the
  17101.   GLX_BUFFER_SIZE value of vis, or if pixmap was not created with respect to
  17102.   the same screen as vis.
  17103.  
  17104.   BadValue is generated if vis is not a valid XVisualInfo pointer (e.g., if
  17105.   the GLX implementation does not support this visual).
  17106.  
  17107.  
  17108.   BadPixmap is generated if pixmap is not a valid pixmap.
  17109.  
  17110.   BadAlloc is generated if the server cannot allocate the GLX pixmap.
  17111.  
  17112.  
  17113.  
  17114.  
  17115.  
  17116. See Also 
  17117.  
  17118.   glXCreateContext, glXIsDirect, glXMakeCurrent
  17119.  
  17120.  
  17121.  
  17122. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  17123.  
  17124.  Introduction | Alphabetic | Specification 
  17125.  
  17126. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  17127. Look here for legal stuff:  Legal 
  17128.  
  17129.  
  17130. ΓòÉΓòÉΓòÉ 3.122. glXDestroyContext ΓòÉΓòÉΓòÉ
  17131.  
  17132.  OpenGL man pages 
  17133.  
  17134. glXDestroyContext 
  17135.  
  17136.  
  17137.  
  17138.  
  17139.  
  17140.  
  17141. Name 
  17142.  
  17143.   glXDestroyContext - destroy a GLX context
  17144.  
  17145.  
  17146.  
  17147.  
  17148. C Specification 
  17149.  
  17150.   void glXDestroyContext( Display *dpy,
  17151.                           GLXContext ctx )
  17152.  
  17153.  
  17154.  
  17155.  
  17156. Parameters 
  17157.  
  17158.  
  17159.   dpy  Specifies the connection to the X server.
  17160.  
  17161.  
  17162.   ctx  Specifies the GLX context to be destroyed.
  17163.  
  17164.  
  17165.  
  17166.  
  17167. Description 
  17168.  
  17169.   If GLX rendering context ctx is not current to any thread,
  17170.   glXDestroyContext  destroys it immediately.  Otherwise, ctx is destroyed
  17171.   when it becomes not current to any thread.  In either case, the resource ID
  17172.   referenced by ctx is freed immediately.
  17173.  
  17174.  
  17175.  
  17176.  
  17177. Errors 
  17178.  
  17179.   GLXBadContext is generated if ctx is not a valid GLX context.
  17180.  
  17181.  
  17182.  
  17183.  
  17184. See Also 
  17185.  
  17186.   glXCreateContext, glXMakeCurrent
  17187.  
  17188.  
  17189.  
  17190. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  17191.  
  17192.  Introduction | Alphabetic | Specification 
  17193.  
  17194. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  17195. Look here for legal stuff:  Legal 
  17196.  
  17197.  
  17198. ΓòÉΓòÉΓòÉ 3.123. glXDestroyGLXPixmap ΓòÉΓòÉΓòÉ
  17199.  
  17200.  OpenGL man pages 
  17201.  
  17202. glXDestroyGLXPixmap 
  17203.  
  17204.  
  17205.  
  17206.  
  17207.  
  17208.  
  17209. Name 
  17210.  
  17211.   glXDestroyGLXPixmap - destroy a GLX pixmap
  17212.  
  17213.  
  17214.  
  17215.  
  17216. C Specification 
  17217.  
  17218.   void glXDestroyGLXPixmap( Display *dpy,
  17219.                             GLXPixmap pix )
  17220.  
  17221.  
  17222.  
  17223.  
  17224. Parameters 
  17225.  
  17226.  
  17227.   dpy  Specifies the connection to the X server.
  17228.  
  17229.  
  17230.   pix  Specifies the GLX pixmap to be destroyed.
  17231.  
  17232.  
  17233.  
  17234.  
  17235. Description 
  17236.  
  17237.   If GLX pixmap pix is not current to any client, glXDestroyGLXPixmap
  17238.   destroys it immediately.  Otherwise, pix is destroyed when it becomes not
  17239.   current to any client.  In either case, the resource ID is freed
  17240.   immediately.
  17241.  
  17242.  
  17243.  
  17244.  
  17245. Errors 
  17246.  
  17247.   GLXBadPixmap is generated if pix is not a valid GLX pixmap.
  17248.  
  17249.  
  17250.  
  17251.  
  17252. See Also 
  17253.  
  17254.   glXCreateGLXPixmap, glXMakeCurrent
  17255.  
  17256.  
  17257.  
  17258. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  17259.  
  17260.  Introduction | Alphabetic | Specification 
  17261.  
  17262. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  17263. Look here for legal stuff:  Legal 
  17264.  
  17265.  
  17266. ΓòÉΓòÉΓòÉ 3.124. glXGetConfig ΓòÉΓòÉΓòÉ
  17267.  
  17268.  OpenGL man pages 
  17269.  
  17270. glXGetConfig 
  17271.  
  17272.  
  17273.  
  17274.  
  17275.  
  17276.  
  17277. Name 
  17278.  
  17279.   glXGetConfig - return information about GLX visuals
  17280.  
  17281.  
  17282.  
  17283.  
  17284. C Specification 
  17285.  
  17286.   int glXGetConfig( Display *dpy,
  17287.                     XVisualInfo *vis,
  17288.                     int attrib,
  17289.                     int *value )
  17290.  
  17291.  
  17292.  
  17293.  
  17294. Parameters 
  17295.  
  17296.  
  17297.   dpy     Specifies the connection to the X server.
  17298.  
  17299.  
  17300.   vis     Specifies the visual to be queried.  It is a pointer to an
  17301.           XVisualInfo structure, not a visual ID or a pointer to a Visual.
  17302.  
  17303.  
  17304.   attrib  Specifies the visual attribute to be returned.
  17305.  
  17306.  
  17307.   value   Returns the requested value.
  17308.  
  17309.  
  17310.  
  17311.  
  17312. Description 
  17313.  
  17314.   glXGetConfig sets value to the attrib value of windows or GLX pixmaps
  17315.   created with respect to vis.  glXGetConfig returns an error code if it
  17316.   fails for any reason.  Otherwise, zero is returned.
  17317.  
  17318.   attrib is one of the following:
  17319.  
  17320.   GLX_USE_GL            True if OpenGL rendering is supported by this visual,
  17321.                         False otherwise.
  17322.  
  17323.   GLX_BUFFER_SIZE       Number of bits per color buffer.  For RGBA visuals,
  17324.                         GLX_BUFFER_SIZE is the sum of GLX_RED_SIZE,
  17325.                         GLX_GREEN_SIZE, GLX_BLUE_SIZE, and GLX_ALPHA_SIZE.
  17326.                         For color index visuals, GLX_BUFFER_SIZE is the size
  17327.                         of the color indexes.
  17328.  
  17329.   GLX_LEVEL             Frame buffer level of the visual.  Level zero is the
  17330.                         default frame buffer.  Positive levels correspond to
  17331.                         frame buffers that overlay the default buffer, and
  17332.                         negative levels correspond to frame buffers that
  17333.                         underlay the default buffer.
  17334.  
  17335.   GLX_RGBA              True if color buffers store red, green, blue, and
  17336.                         alpha values, False if they store color indexes.
  17337.  
  17338.   GLX_DOUBLEBUFFER      True if color buffers exist in front/back pairs that
  17339.                         can be swapped, False otherwise.
  17340.  
  17341.   GLX_STEREO            True if color buffers exist in left/right pairs,
  17342.                         False otherwise.
  17343.  
  17344.   GLX_AUX_BUFFERS       Number of auxiliary color buffers that are available.
  17345.                         Zero indicates that no auxiliary color buffers exist.
  17346.  
  17347.   GLX_RED_SIZE          Number of bits of red stored in each color buffer.
  17348.                         Undefined if GLX_RGBA is False.
  17349.  
  17350.   GLX_GREEN_SIZE        Number of bits of green stored in each color buffer.
  17351.                         Undefined if GLX_RGBA is False.
  17352.  
  17353.   GLX_BLUE_SIZE         Number of bits of blue stored in each color buffer.
  17354.                         Undefined if GLX_RGBA is False.
  17355.  
  17356.   GLX_ALPHA_SIZE        Number of bits of alpha stored in each color buffer.
  17357.                         Undefined if GLX_RGBA is False.
  17358.  
  17359.   GLX_DEPTH_SIZE        Number of bits in the depth buffer.
  17360.  
  17361.   GLX_STENCIL_SIZE      Number of bits in the stencil buffer.
  17362.  
  17363.   GLX_ACCUM_RED_SIZE    Number of bits of red stored in the accumulation
  17364.                         buffer.
  17365.  
  17366.   GLX_ACCUM_GREEN_SIZE  Number of bits of green stored in the accumulation
  17367.                         buffer.
  17368.  
  17369.   GLX_ACCUM_BLUE_SIZE   Number of bits of blue stored in the accumulation
  17370.                         buffer.
  17371.  
  17372.   GLX_ACCUM_ALPHA_SIZE  Number of bits of alpha stored in the accumulation
  17373.                         buffer.
  17374.  
  17375.   The X protocol allows a single visual ID to be instantiated with different
  17376.   numbers of bits per pixel.  Windows or GLX pixmaps that will be rendered
  17377.   with OpenGL, however, must be instantiated with a color buffer depth of
  17378.   GLX_BUFFER_SIZE.
  17379.  
  17380.   Although a GLX implementation can export many visuals that support OpenGL
  17381.   rendering, it must support at least two.  One is an RGBA visual with at
  17382.   least one color buffer, a stencil buffer of at least 1 bit, a depth buffer
  17383.   of at least 12 bits, and an accumulation buffer.  Alpha bitplanes are
  17384.   optional in this visual.  However, its color buffer size must be as great
  17385.   as that of the deepest TrueColor, DirectColor,  PseudoColor, or StaticColor
  17386.   visual supported on level zero, and it must itself be made available on
  17387.   level zero.
  17388.  
  17389.   The other required visual is a color index one with at least one color
  17390.   buffer, a stencil buffer of at least 1 bit, and a depth buffer of at least
  17391.   12 bits.  This visual must have as many color bitplanes as the deepest
  17392.   PseudoColor or StaticColor visual supported on level zero, and it must
  17393.   itself be made available on level zero.
  17394.  
  17395.   Applications are best written to select the visual that most closely meets
  17396.   their requirements.  Creating windows or GLX pixmaps with unnecessary
  17397.   buffers can result in reduced rendering performance as well as poor
  17398.   resource allocation.
  17399.  
  17400.  
  17401.  
  17402.  
  17403. Notes 
  17404.  
  17405.   XVisualInfo is defined in Xutil.h.  It is a structure that includes visual,
  17406.   visualID, screen, and depth elements.
  17407.  
  17408.  
  17409.  
  17410.  
  17411. Errors 
  17412.  
  17413.   GLX_NO_EXTENSION is returned if dpy does not support the GLX extension.
  17414.  
  17415.   GLX_BAD_SCREEN is returned if the screen of vis does not correspond to a
  17416.   screen.
  17417.  
  17418.   GLX_BAD_ATTRIB is returned if attrib is not a valid GLX attribute.
  17419.  
  17420.   GLX_BAD_VISUAL is returned if vis doesn't support GLX and an attribute
  17421.   other than GLX_USE_GL is requested.
  17422.  
  17423.  
  17424.  
  17425.  
  17426. See Also 
  17427.  
  17428.   glXChooseVisual, glXCreateContext
  17429.  
  17430.  
  17431.  
  17432. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  17433.  
  17434.  Introduction | Alphabetic | Specification 
  17435.  
  17436. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  17437. Look here for legal stuff:  Legal 
  17438.  
  17439.  
  17440. ΓòÉΓòÉΓòÉ 3.125. glXGetCurrentContext ΓòÉΓòÉΓòÉ
  17441.  
  17442.  OpenGL man pages 
  17443.  
  17444. glXGetCurrentContext 
  17445.  
  17446.  
  17447.  
  17448.  
  17449.  
  17450.  
  17451. Name 
  17452.  
  17453.   glXGetCurrentContext - return the current context
  17454.  
  17455.  
  17456.  
  17457.  
  17458. C Specification 
  17459.  
  17460.   GLXContext glXGetCurrentContext( void )
  17461.  
  17462.  
  17463.  
  17464.  
  17465.  
  17466. Description 
  17467.  
  17468.   glXGetCurrentContext returns the current context, as specified by
  17469.   glXMakeCurrent.  If there is no current context, NULL is returned.
  17470.  
  17471.   glXGetCurrentContext returns client-side information.  It does not make a
  17472.   round trip to the server.
  17473.  
  17474.  
  17475.  
  17476.  
  17477. See Also 
  17478.  
  17479.   glXCreateContext, glXMakeCurrent
  17480.  
  17481.  
  17482.  
  17483. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  17484.  
  17485.  Introduction | Alphabetic | Specification 
  17486.  
  17487. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  17488. Look here for legal stuff:  Legal 
  17489.  
  17490.  
  17491. ΓòÉΓòÉΓòÉ 3.126. glXGetCurrentDrawable ΓòÉΓòÉΓòÉ
  17492.  
  17493.  OpenGL man pages 
  17494.  
  17495. glXGetCurrentDrawable 
  17496.  
  17497.  
  17498.  
  17499.  
  17500.  
  17501.  
  17502. Name 
  17503.  
  17504.   glXGetCurrentDrawable - return the current drawable
  17505.  
  17506.  
  17507.  
  17508.  
  17509. C Specification 
  17510.  
  17511.   GLXDrawable glXGetCurrentDrawable( void )
  17512.  
  17513.  
  17514.  
  17515.  
  17516.  
  17517. Description 
  17518.  
  17519.   glXGetCurrentDrawable returns the current drawable, as specified by
  17520.   glXMakeCurrent.  If there is no current drawable, None is returned.
  17521.  
  17522.   glXGetCurrentDrawable returns client-side information.  It does not make a
  17523.   round trip to the server.
  17524.  
  17525.  
  17526.  
  17527.  
  17528. See Also 
  17529.  
  17530.   glXCreateGLXPixmap, glXMakeCurrent
  17531.  
  17532.  
  17533.  
  17534. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  17535.  
  17536.  Introduction | Alphabetic | Specification 
  17537.  
  17538. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  17539. Look here for legal stuff:  Legal 
  17540.  
  17541.  
  17542. ΓòÉΓòÉΓòÉ 3.127. glXIsDirect ΓòÉΓòÉΓòÉ
  17543.  
  17544.  OpenGL man pages 
  17545.  
  17546. glXIsDirect 
  17547.  
  17548.  
  17549.  
  17550.  
  17551.  
  17552.  
  17553. Name 
  17554.  
  17555.   glXIsDirect - indicate whether direct rendering is enabled
  17556.  
  17557.  
  17558.  
  17559.  
  17560. C Specification 
  17561.  
  17562.   Bool glXIsDirect( Display *dpy,
  17563.                     GLXContext ctx )
  17564.  
  17565.  
  17566.  
  17567.  
  17568. Parameters 
  17569.  
  17570.  
  17571.   dpy  Specifies the connection to the X server.
  17572.  
  17573.  
  17574.   ctx  Specifies the GLX context that is being queried.
  17575.  
  17576.  
  17577.  
  17578.  
  17579. Description 
  17580.  
  17581.   glXIsDirect returns True if ctx is a direct rendering context, False
  17582.   otherwise.  Direct rendering contexts pass rendering commands directly from
  17583.   the calling process's address space to the rendering system, bypassing the
  17584.   X server.  Nondirect rendering contexts pass all rendering commands to the
  17585.   X server.
  17586.  
  17587.  
  17588.  
  17589.  
  17590. Errors 
  17591.  
  17592.   GLXBadContext is generated if ctx is not a valid GLX context.
  17593.  
  17594.  
  17595.  
  17596.  
  17597. See Also 
  17598.  
  17599.   glXCreateContext
  17600.  
  17601.  
  17602.  
  17603. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  17604.  
  17605.  Introduction | Alphabetic | Specification 
  17606.  
  17607. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  17608. Look here for legal stuff:  Legal 
  17609.  
  17610.  
  17611. ΓòÉΓòÉΓòÉ 3.128. glXMakeCurrent ΓòÉΓòÉΓòÉ
  17612.  
  17613.  OpenGL man pages 
  17614.  
  17615. glXMakeCurrent 
  17616.  
  17617.  
  17618.  
  17619.  
  17620.  
  17621.  
  17622. Name 
  17623.  
  17624.   glXMakeCurrent - attach a GLX context to a window or a GLX pixmap
  17625.  
  17626.  
  17627.  
  17628.  
  17629. C Specification 
  17630.  
  17631.   Bool glXMakeCurrent( Display *dpy,
  17632.                        GLXDrawable drawable,
  17633.                        GLXContext ctx )
  17634.  
  17635.  
  17636.  
  17637.  
  17638. Parameters 
  17639.  
  17640.  
  17641.   dpy       Specifies the connection to the X server.
  17642.  
  17643.  
  17644.   drawable  Specifies a GLX drawable.  Must be either an X window ID or a GLX
  17645.             pixmap ID.
  17646.  
  17647.  
  17648.   ctx       Specifies a GLX rendering context that is to be attached to
  17649.             drawable.
  17650.  
  17651.  
  17652.  
  17653.  
  17654. Description 
  17655.  
  17656.   glXMakeCurrent does two things: It makes ctx the current GLX rendering
  17657.   context of the calling thread, replacing the previously current context if
  17658.   there was one, and it attaches ctx to a GLX drawable, either a window or a
  17659.   GLX pixmap.  As a result of these two actions, subsequent OpenGL rendering
  17660.   calls use rendering context ctx to modify GLX drawable drawable.  Because
  17661.   glXMakeCurrent always replaces the current rendering context with ctx,
  17662.   there can be only one current context per thread.
  17663.  
  17664.   Pending commands to the previous context, if any, are flushed before it is
  17665.   released.
  17666.  
  17667.   The first time ctx is made current to any thread, its viewport is set to
  17668.   the full size of drawable.  Subsequent calls by any thread to
  17669.   glXMakeCurrent with ctx have no effect on its viewport.
  17670.  
  17671.   To release the current context without assigning a new one, call
  17672.   glXMakeCurrent with drawable and ctx set to None and NULL respectively.
  17673.  
  17674.   glXMakeCurrent returns True if it is successful, False otherwise.  If False
  17675.   is returned, the previously current rendering context and drawable (if any)
  17676.   remain unchanged.
  17677.  
  17678.  
  17679.  
  17680.  
  17681.  
  17682. Notes 
  17683.  
  17684.   A process is a single-execution environment, implemented in a single
  17685.   address space, consisting of one or more threads.
  17686.  
  17687.  
  17688.   A thread is one of a set of subprocesses that share a single address space,
  17689.   but maintain separate program counters, stack spaces, and other related
  17690.   global data.  A thread that is the only member of its subprocess group is
  17691.   equivalent to a process.
  17692.  
  17693.  
  17694.  
  17695.  
  17696. Errors 
  17697.  
  17698.   BadMatch is generated if drawable was not created with the same X screen
  17699.   and visual as ctx.  It is also generated if drawable is None and ctx is not
  17700.   None.
  17701.  
  17702.   BadAccess is generated if ctx was current to another thread at the time
  17703.   glXMakeCurrent was called.
  17704.  
  17705.   GLXBadDrawable is generated if drawable is not a valid GLX drawable.
  17706.  
  17707.   GLXBadContext is generated if ctx is not a valid GLX context.
  17708.  
  17709.   GLXBadContextState is generated if glXMakeCurrent is called between a
  17710.   glBegin and the corresponding call to glEnd.
  17711.  
  17712.   GLXBadContextState is also generated if the rendering context current to
  17713.   the calling thread has OpenGL renderer state GL_FEEDBACK or GL_SELECT.
  17714.  
  17715.   GLXBadCurrentWindow is generated if there are pending OpenGL commands for
  17716.   the previous context and the current drawable is a window that is no longer
  17717.   valid.
  17718.  
  17719.   BadAlloc may be generated if the server has delayed allocation of ancillary
  17720.   buffers until glXMakeCurrent is called, only to find that it has
  17721.   insufficient resources to complete the allocation.
  17722.  
  17723.  
  17724.  
  17725.  
  17726. See Also 
  17727.  
  17728.   glXCreateContext, glXCreateGLXPixmap
  17729.  
  17730.  
  17731.  
  17732. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  17733.  
  17734.  Introduction | Alphabetic | Specification 
  17735.  
  17736. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  17737. Look here for legal stuff:  Legal 
  17738.  
  17739.  
  17740. ΓòÉΓòÉΓòÉ 3.129. glXQueryExtension ΓòÉΓòÉΓòÉ
  17741.  
  17742.  OpenGL man pages 
  17743.  
  17744. glXQueryExtension 
  17745.  
  17746.  
  17747.  
  17748.  
  17749.  
  17750.  
  17751. Name 
  17752.  
  17753.   glXQueryExtension - indicate whether the GLX extension is supported
  17754.  
  17755.  
  17756.  
  17757.  
  17758. C Specification 
  17759.  
  17760.   Bool glXQueryExtension( Display *dpy,
  17761.                           int *errorBase,
  17762.                           int *eventBase )
  17763.  
  17764.  
  17765.  
  17766.  
  17767. Parameters 
  17768.  
  17769.  
  17770.   dpy        Specifies the connection to the X server.
  17771.  
  17772.  
  17773.   errorBase  Returns the base error code of the GLX server extension.
  17774.  
  17775.  
  17776.   eventBase  Returns the base event code of the GLX server extension.
  17777.  
  17778.  
  17779.  
  17780.  
  17781. Description 
  17782.  
  17783.   glXQueryExtension returns True if the X server of connection dpy supports
  17784.   the GLX extension, False otherwise.  If True is returned, then errorBase
  17785.   and eventBase return the error base and event base of the GLX extension.
  17786.   Otherwise, errorBase and eventBase are unchanged.
  17787.  
  17788.   errorBase and eventBase do not return values if they are specified as NULL.
  17789.  
  17790.  
  17791.  
  17792.  
  17793. Notes 
  17794.  
  17795.   eventBase is included for future extensions.  GLX does not currently define
  17796.   any events.
  17797.  
  17798.  
  17799.  
  17800.  
  17801. See Also 
  17802.  
  17803.   glXQueryVersion
  17804.  
  17805.  
  17806.  
  17807. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  17808.  
  17809.  Introduction | Alphabetic | Specification 
  17810.  
  17811. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  17812. Look here for legal stuff:  Legal 
  17813.  
  17814.  
  17815. ΓòÉΓòÉΓòÉ 3.130. glXQueryVersion ΓòÉΓòÉΓòÉ
  17816.  
  17817.  OpenGL man pages 
  17818.  
  17819. glXQueryVersion 
  17820.  
  17821.  
  17822.  
  17823.  
  17824.  
  17825.  
  17826. Name 
  17827.  
  17828.   glXQueryVersion - return the version numbers of the GLX extension
  17829.  
  17830.  
  17831.  
  17832.  
  17833. C Specification 
  17834.  
  17835.   Bool glXQueryVersion( Display *dpy,
  17836.                         int *major,
  17837.                         int *minor )
  17838.  
  17839.  
  17840.  
  17841.  
  17842. Parameters 
  17843.  
  17844.  
  17845.   dpy    Specifies the connection to the X server.
  17846.  
  17847.  
  17848.   major  Returns the major version number of the GLX server extension.
  17849.  
  17850.  
  17851.   minor  Returns the minor version number of the GLX server extension.
  17852.  
  17853.  
  17854.  
  17855.  
  17856. Description 
  17857.  
  17858.   glXQueryVersion returns the major and minor version numbers of the GLX
  17859.   extension available on the connection dpy. The client library and the
  17860.   server implementations must have the same major version number or else
  17861.   glXQueryVersion will return False. The minor version that is returned is
  17862.   the minimum of the two minor version numbers.
  17863.  
  17864.   major and minor do not return values if they are specified as NULL.
  17865.  
  17866.  
  17867.  
  17868.  
  17869. Errors 
  17870.  
  17871.   glXQueryVersion returns False if it fails, True otherwise.  major and minor
  17872.   are not updated when False is returned.
  17873.  
  17874.  
  17875.  
  17876.  
  17877. See Also 
  17878.  
  17879.   glXQueryExtension
  17880.  
  17881.  
  17882.  
  17883. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  17884.  
  17885.  Introduction | Alphabetic | Specification 
  17886.  
  17887. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  17888. Look here for legal stuff:  Legal 
  17889.  
  17890.  
  17891. ΓòÉΓòÉΓòÉ 3.131. glXSwapBuffers ΓòÉΓòÉΓòÉ
  17892.  
  17893.  OpenGL man pages 
  17894.  
  17895. glXSwapBuffers 
  17896.  
  17897.  
  17898.  
  17899.  
  17900.  
  17901.  
  17902. Name 
  17903.  
  17904.   glXSwapBuffers - make back buffer visible
  17905.  
  17906.  
  17907.  
  17908.  
  17909. C Specification 
  17910.  
  17911.   void glXSwapBuffers( Display *dpy,
  17912.                        GLXDrawable drawable )
  17913.  
  17914.  
  17915.  
  17916.  
  17917. Parameters 
  17918.  
  17919.  
  17920.   dpy       Specifies the connection to the X server.
  17921.  
  17922.  
  17923.   drawable  Specifies the window whose buffers are to be swapped.
  17924.  
  17925.  
  17926.  
  17927.  
  17928. Description 
  17929.  
  17930.   glXSwapBuffers promotes the contents of the back buffer of drawable to
  17931.   become the contents of the front buffer of drawable.  The contents of the
  17932.   back buffer then become undefined.  The update typically takes place during
  17933.   the vertical retrace of the monitor, rather than immediately after
  17934.   glXSwapBuffers is called.  All GLX rendering contexts share the same notion
  17935.   of which are front buffers and which are back buffers.
  17936.  
  17937.   An implicit glFlush is done by glXSwapBuffers before it returns.
  17938.   Subsequent OpenGL commands can be issued immediately after calling
  17939.   glXSwapBuffers, but are not executed until the buffer exchange is
  17940.   completed.
  17941.  
  17942.   If drawable was not created with respect to a double-buffered visual,
  17943.   glXSwapBuffers has no effect, and no error is generated.
  17944.  
  17945.  
  17946.  
  17947.  
  17948. Notes 
  17949.  
  17950.   Synchronization of multiple GLX contexts rendering to the same double-
  17951.   buffered window is the responsibility of the clients.  The X
  17952.   Synchronization Extension can be used to facilitate such cooperation.
  17953.  
  17954.  
  17955.  
  17956.  
  17957. Errors 
  17958.  
  17959.   GLXBadDrawable is generated if drawable is not a valid GLX drawable.
  17960.  
  17961.   GLXBadCurrentWindow is generated if dpy and drawable are respectively the
  17962.   display and drawable associated with the current context of the calling
  17963.   thread, and drawable identifies a window that is no longer valid.
  17964.  
  17965.  
  17966.  
  17967.  
  17968. See Also 
  17969.  
  17970.   glFlush
  17971.  
  17972.  
  17973.  
  17974. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  17975.  
  17976.  Introduction | Alphabetic | Specification 
  17977.  
  17978. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  17979. Look here for legal stuff:  Legal 
  17980.  
  17981.  
  17982. ΓòÉΓòÉΓòÉ 3.132. glXUseXFont ΓòÉΓòÉΓòÉ
  17983.  
  17984.  OpenGL man pages 
  17985.  
  17986. glXUseXFont 
  17987.  
  17988.  
  17989.  
  17990.  
  17991.  
  17992.  
  17993. Name 
  17994.  
  17995.   glXUseXFont - create bitmap display lists from an X font
  17996.  
  17997.  
  17998.  
  17999.  
  18000. C Specification 
  18001.  
  18002.   void glXUseXFont( Font font,
  18003.                     int first,
  18004.                     int count,
  18005.                     int listBase )
  18006.  
  18007.  
  18008.  
  18009.  
  18010. Parameters 
  18011.  
  18012.  
  18013.   font      Specifies the font from which character glyphs are to be taken.
  18014.  
  18015.  
  18016.   first     Specifies the index of the first glyph to be taken.
  18017.  
  18018.  
  18019.   count     Specifies the number of glyphs to be taken.
  18020.  
  18021.  
  18022.   listBase  Specifies the index of the first display list to be generated.
  18023.  
  18024.  
  18025.  
  18026.  
  18027. Description 
  18028.  
  18029.   glXUseXFont generates count display lists, named listBase through
  18030.   listBase+count-1, each containing a single glBitmap command.  The
  18031.   parameters of the glBitmap command of display list listBase+i are derived
  18032.   from glyph first+i.  Bitmap parameters xorig, yorig, width, and height are
  18033.   computed from font metrics as descent-1, -lbearing, rbearing-lbearing, and
  18034.   ascent+descent, respectively.  xmove is taken from the glyph's width
  18035.   metric, and ymove is set to zero.  Finally, the glyph's image is converted
  18036.   to the appropriate format for glBitmap.
  18037.  
  18038.   Using glXUseXFont may be more efficient than accessing the X font and
  18039.   generating the display lists explicitly, both because the display lists are
  18040.   created on the server without requiring a round trip of the glyph data, and
  18041.   because the server may choose to delay the creation of each bitmap until it
  18042.   is accessed.
  18043.  
  18044.   Empty display lists are created for all glyphs that are requested and are
  18045.   not defined in font.  glXUseXFont is ignored if there is no current GLX
  18046.   context.
  18047.  
  18048.  
  18049.  
  18050.  
  18051. Errors 
  18052.  
  18053.   BadFont is generated if font is not a valid font.
  18054.  
  18055.   GLXBadContextState is generated if the current GLX context is in display-
  18056.   list construction mode.
  18057.  
  18058.  
  18059.   GLXBadCurrentWindow is generated if the drawable associated with the
  18060.   current context of the calling thread is a window, and that window is no
  18061.   longer valid.
  18062.  
  18063.  
  18064.  
  18065.  
  18066.  
  18067. See Also 
  18068.  
  18069.   glBitmap, glXMakeCurrent
  18070.  
  18071.  
  18072.  
  18073. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  18074.  
  18075.  Introduction | Alphabetic | Specification 
  18076.  
  18077. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  18078. Look here for legal stuff:  Legal 
  18079.  
  18080.  
  18081. ΓòÉΓòÉΓòÉ 3.133. glXWaitGL ΓòÉΓòÉΓòÉ
  18082.  
  18083.  OpenGL man pages 
  18084.  
  18085. glXWaitGL 
  18086.  
  18087.  
  18088.  
  18089.  
  18090.  
  18091.  
  18092. Name 
  18093.  
  18094.   glXWaitGL - complete GL execution prior to subsequent X calls
  18095.  
  18096.  
  18097.  
  18098.  
  18099. C Specification 
  18100.  
  18101.   void glXWaitGL( void )
  18102.  
  18103.  
  18104.  
  18105.  
  18106.  
  18107. Description 
  18108.  
  18109.   OpenGL rendering calls made prior to glXWaitGL are guaranteed to be
  18110.   executed before X rendering calls made after glXWaitGL.  Although this same
  18111.   result can be achieved using glFinish, glXWaitGL does not require a round
  18112.   trip to the server, and it is therefore more efficient in cases where
  18113.   client and server are on separate machines.
  18114.  
  18115.   glXWaitGL is ignored if there is no current GLX context.
  18116.  
  18117.  
  18118.  
  18119.  
  18120. Notes 
  18121.  
  18122.   glXWaitGL may or may not flush the X stream.
  18123.  
  18124.  
  18125.  
  18126.  
  18127. Errors 
  18128.  
  18129.   GLXBadCurrentWindow is generated if the drawable associated with the
  18130.   current context of the calling thread is a window, and that window is no
  18131.   longer valid.
  18132.  
  18133.  
  18134.  
  18135.  
  18136. See Also 
  18137.  
  18138.   glFinish, glFlush, glXWaitX, XSync
  18139.  
  18140.  
  18141.  
  18142. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  18143.  
  18144.  Introduction | Alphabetic | Specification 
  18145.  
  18146. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  18147. Look here for legal stuff:  Legal 
  18148.  
  18149.  
  18150. ΓòÉΓòÉΓòÉ 3.134. glXWaitX ΓòÉΓòÉΓòÉ
  18151.  
  18152.  OpenGL man pages 
  18153.  
  18154. glXWaitX 
  18155.  
  18156.  
  18157.  
  18158.  
  18159.  
  18160.  
  18161. Name 
  18162.  
  18163.   glXWaitX - complete X execution prior to subsequent OpenGL calls
  18164.  
  18165.  
  18166.  
  18167.  
  18168. C Specification 
  18169.  
  18170.   void glXWaitX( void )
  18171.  
  18172.  
  18173.  
  18174.  
  18175.  
  18176. Description 
  18177.  
  18178.   X rendering calls made prior to glXWaitX are guaranteed to be executed
  18179.   before OpenGL rendering calls made after glXWaitX.  Although this same
  18180.   result can be achieved using XSync, glXWaitX does not require a round trip
  18181.   to the server, and it is therefore more efficient in cases where client and
  18182.   server are on separate machines.
  18183.  
  18184.   glXWaitX is ignored if there is no current GLX context.
  18185.  
  18186.  
  18187.  
  18188.  
  18189. Notes 
  18190.  
  18191.   glXWaitX may or may not flush the OpenGL stream.
  18192.  
  18193.  
  18194.  
  18195.  
  18196. Errors 
  18197.  
  18198.   GLXBadCurrentWindow is generated if the drawable associated with the
  18199.   current context of the calling thread is a window, and that window is no
  18200.   longer valid.
  18201.  
  18202.  
  18203.  
  18204.  
  18205. See Also 
  18206.  
  18207.   glFinish, glFlush, glXWaitGL, XSync
  18208.  
  18209.  
  18210.  
  18211. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  18212.  
  18213.  Introduction | Alphabetic | Specification 
  18214.  
  18215. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  18216. Look here for legal stuff:  Legal 
  18217.  
  18218.  
  18219. ΓòÉΓòÉΓòÉ 3.135. gluBeginCurve ΓòÉΓòÉΓòÉ
  18220.  
  18221.  OpenGL man pages 
  18222.  
  18223. gluBeginCurve 
  18224.  
  18225.  
  18226.  
  18227.  
  18228.  
  18229.  
  18230. Name 
  18231.  
  18232.   gluBeginCurve, gluEndCurve - delimit a NURBS curve definition
  18233.  
  18234.  
  18235.  
  18236.  
  18237. C Specification 
  18238.  
  18239.   void gluBeginCurve( GLUnurbsObj *nobj )
  18240.  
  18241.   void gluEndCurve( GLUnurbsObj *nobj )
  18242.  
  18243.  
  18244.  
  18245.  
  18246. Parameters 
  18247.  
  18248.  
  18249.   nobj  Specifies the NURBS object (created with gluNewNurbsRenderer).
  18250.  
  18251.  
  18252.  
  18253.  
  18254. Description 
  18255.  
  18256.   Use gluBeginCurve to mark the beginning of a NURBS curve definition.  After
  18257.   calling gluBeginCurve, make one or more calls to gluNurbsCurve to define
  18258.   the attributes of the curve.  Exactly one of the calls to gluNurbsCurve
  18259.   must have a curve type of GL_MAP1_VERTEX_3 or GL_MAP1_VERTEX_4.  To mark
  18260.   the end of the NURBS curve definition, call gluEndCurve.
  18261.  
  18262.   OpenGL evaluators are used to render the NURBS curve as a series of line
  18263.   segments.  Evaluator state is preserved during rendering with
  18264.   glPushAttrib(GL_EVAL_BIT) and glPopAttrib(). See the glPushAttrib reference
  18265.   page for details on exactly what state these calls preserve.
  18266.  
  18267.  
  18268.  
  18269.  
  18270. Example 
  18271.  
  18272.   The following commands render a textured NURBS curve with normals; texture
  18273.   coordinates and normals are also specified as NURBS curves:
  18274.  
  18275.   gluBeginCurve(nobj);
  18276.      gluNurbsCurve(nobj, ..., GL_MAP1_TEXTURE_COORD_2);
  18277.      gluNurbsCurve(nobj, ..., GL_MAP1_NORMAL);
  18278.      gluNurbsCurve(nobj, ..., GL_MAP1_VERTEX_4); gluEndCurve(nobj);
  18279.  
  18280.  
  18281.  
  18282.  
  18283. See Also 
  18284.  
  18285.   gluBeginSurface, gluBeginTrim, gluNewNurbsRenderer, gluNurbsCurve,
  18286.   glPopAttrib, glPushAttrib
  18287.  
  18288.  
  18289.  
  18290. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  18291.  
  18292.  Introduction | Alphabetic | Specification 
  18293.  
  18294. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  18295. Look here for legal stuff:  Legal 
  18296.  
  18297.  
  18298. ΓòÉΓòÉΓòÉ 3.136. gluBeginPolygon ΓòÉΓòÉΓòÉ
  18299.  
  18300.  OpenGL man pages 
  18301.  
  18302. gluBeginPolygon (Obsolete in GLU version 1.2 and later) 
  18303.  
  18304.  
  18305.  
  18306.  
  18307.  
  18308.  
  18309. Name 
  18310.  
  18311.   gluBeginPolygon, gluEndPolygon - delimit a polygon description
  18312.  
  18313.  
  18314.  
  18315.  
  18316. C Specification 
  18317.  
  18318.   void gluBeginPolygon( GLUtesselator *tess )
  18319.  
  18320.   void gluEndPolygon( GLUtesselator *tess )
  18321.  
  18322.  
  18323.  
  18324.  
  18325. Parameters 
  18326.  
  18327.   tess  Specifies the tessellation object (created with gluNewTess).
  18328.  
  18329.  
  18330.  
  18331.  
  18332. Description 
  18333.  
  18334.   gluBeginPolygon and gluEndPolygon delimit the definition of a nonconvex
  18335.   polygon.  To define such a polygon, first call gluBeginPolygon.  Then
  18336.   define the contours of the polygon by calling gluTessVertex for each vertex
  18337.   and gluNextContour to start each new contour.  Finally, call gluEndPolygon
  18338.   to signal the end of the definition.  See the gluTessVertex and
  18339.   gluNextContour reference pages for more details.
  18340.  
  18341.   Once gluEndPolygon is called, the polygon is tessellated, and the resulting
  18342.   triangles are described through callbacks.  See gluTessCallback for
  18343.   descriptions of the callback functions.
  18344.  
  18345.  
  18346.  
  18347. Notes 
  18348.  
  18349.   As of GLU version 1.2, this command is obsolete and is provided for backwards
  18350.   compatibility only. GLU version 1.2 (and later) can be distinguished during
  18351.   compilation by checking if the pre-processor symbol GLU_VERSION_1_2 is defined.
  18352.  
  18353.   Calls to gluBeginPolygon are mapped to gluTessBeginPolygon followed by
  18354.   gluTessBeginContour. Calls to gluEndPolygon are mapped to gluTessEndContour
  18355.   followed by gluTessEndPolygon.
  18356.  
  18357.  
  18358.  
  18359. Example 
  18360.  
  18361.   A quadrilateral with a triangular hole in it can be described like this:
  18362.  
  18363.   gluBeginPolygon(tobj);
  18364.      gluTessVertex(tobj, v1, v1);
  18365.      gluTessVertex(tobj, v2, v2);
  18366.      gluTessVertex(tobj, v3, v3);
  18367.      gluTessVertex(tobj, v4, v4);
  18368.   gluNextContour(tobj, GLU_INTERIOR);
  18369.      gluTessVertex(tobj, v5, v5);
  18370.      gluTessVertex(tobj, v6, v6);
  18371.      gluTessVertex(tobj, v7, v7);
  18372.   gluEndPolygon(tobj);
  18373.  
  18374.  
  18375.  
  18376.  
  18377. See Also 
  18378.  
  18379.   gluNewTess, gluNextContour, gluTessCallback, gluTessVertex,
  18380.   gluTessBeginPolygon, gluTessBeginContour
  18381.  
  18382.  
  18383.  
  18384. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  18385.  
  18386.  Introduction | Alphabetic | Specification 
  18387.  
  18388. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  18389. Look here for legal stuff:  Legal 
  18390.  
  18391.  
  18392. ΓòÉΓòÉΓòÉ 3.137. gluBeginPolygon ΓòÉΓòÉΓòÉ
  18393.  
  18394.  OpenGL man pages 
  18395.  
  18396. gluBeginPolygon (GLU versions 1.0 and 1.1) 
  18397.  
  18398.  
  18399.  
  18400.  
  18401.  
  18402.  
  18403. Name 
  18404.  
  18405.   gluBeginPolygon, gluEndPolygon - delimit a polygon description
  18406.  
  18407.  
  18408.  
  18409.  
  18410. C Specification 
  18411.  
  18412.   void gluBeginPolygon( GLUtriangulatorObj *tobj )
  18413.  
  18414.   void gluEndPolygon( GLUtriangulatorObj *tobj )
  18415.  
  18416.  
  18417.  
  18418.  
  18419. Parameters 
  18420.  
  18421.  
  18422.   tobj  Specifies the tessellation object (created with gluNewTess).
  18423.  
  18424.  
  18425.  
  18426.  
  18427. Description 
  18428.  
  18429.   gluBeginPolygon and gluEndPolygon delimit the definition of a nonconvex
  18430.   polygon.  To define such a polygon, first call gluBeginPolygon.  Then
  18431.   define the contours of the polygon by calling gluTessVertex for each vertex
  18432.   and gluNextContour to start each new contour.  Finally, call gluEndPolygon
  18433.   to signal the end of the definition.  See the gluTessVertex and
  18434.   gluNextContour reference pages for more details.
  18435.  
  18436.   Once gluEndPolygon is called, the polygon is tessellated, and the resulting
  18437.   triangles are described through callbacks.  See gluTessCallback for
  18438.   descriptions of the callback functions.
  18439.  
  18440.  
  18441.  
  18442. Example 
  18443.  
  18444.   A quadrilateral with a triangular hole in it can be described like this:
  18445.  
  18446.   gluBeginPolygon(tobj);
  18447.      gluTessVertex(tobj, v1, v1);
  18448.      gluTessVertex(tobj, v2, v2);
  18449.      gluTessVertex(tobj, v3, v3);
  18450.      gluTessVertex(tobj, v4, v4);
  18451.   gluNextContour(tobj, GLU_INTERIOR);
  18452.      gluTessVertex(tobj, v5, v5);
  18453.      gluTessVertex(tobj, v6, v6);
  18454.      gluTessVertex(tobj, v7, v7);
  18455.   gluEndPolygon(tobj);
  18456.  
  18457.  
  18458.  
  18459.  
  18460. See Also 
  18461.  
  18462.   gluNewTess, gluNextContour, gluTessCallback, gluTessVertex
  18463.  
  18464.  
  18465.  
  18466. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  18467.  
  18468.  Introduction | Alphabetic | Specification 
  18469.  
  18470. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  18471. Look here for legal stuff:  Legal 
  18472.  
  18473.  
  18474. ΓòÉΓòÉΓòÉ 3.138. gluBeginSurface ΓòÉΓòÉΓòÉ
  18475.  
  18476.  OpenGL man pages 
  18477.  
  18478. gluBeginSurface 
  18479.  
  18480.  
  18481.  
  18482.  
  18483.  
  18484.  
  18485. Name 
  18486.  
  18487.   gluBeginSurface, gluEndSurface - delimit a NURBS surface definition
  18488.  
  18489.  
  18490.  
  18491.  
  18492. C Specification 
  18493.  
  18494.   void gluBeginSurface( GLUnurbsObj *nobj )
  18495.  
  18496.   void gluEndSurface( GLUnurbsObj *nobj )
  18497.  
  18498.  
  18499.  
  18500.  
  18501. Parameters 
  18502.  
  18503.  
  18504.   nobj  Specifies the NURBS object (created with gluNewNurbsRenderer).
  18505.  
  18506.  
  18507.  
  18508.  
  18509. Description 
  18510.  
  18511.   Use gluBeginSurface to mark the beginning of a NURBS surface definition.
  18512.   After calling gluBeginSurface, make one or more calls to gluNurbsSurface to
  18513.   define the attributes of the surface.  Exactly one of these calls to
  18514.   gluNurbsSurface must have a surface type of GL_MAP2_VERTEX_3 or
  18515.   GL_MAP2_VERTEX_4.  To mark the end of the NURBS surface definition, call
  18516.   gluEndSurface.
  18517.  
  18518.   Trimming of NURBS surfaces is supported with gluBeginTrim, gluPwlCurve,
  18519.   gluNurbsCurve, and gluEndTrim.  Refer to the gluBeginTrim reference page
  18520.   for details.
  18521.  
  18522.   OpenGL evaluators are used to render the NURBS surface as a set of
  18523.   polygons.  Evaluator state is preserved during rendering with
  18524.   glPushAttrib(GL_EVAL_BIT) and glPopAttrib(). See the glPushAttrib reference
  18525.   page for details on exactly what state these calls preserve.
  18526.  
  18527.  
  18528.  
  18529.  
  18530. Example 
  18531.  
  18532.   The following commands render a textured NURBS surface with normals; the
  18533.   texture coordinates and normals are also described as NURBS surfaces:
  18534.  
  18535.   gluBeginSurface(nobj);
  18536.      gluNurbsSurface(nobj, ..., GL_MAP2_TEXTURE_COORD_2);
  18537.      gluNurbsSurface(nobj, ..., GL_MAP2_NORMAL);
  18538.      gluNurbsSurface(nobj, ..., GL_MAP2_VERTEX_4); gluEndSurface(nobj);
  18539.  
  18540.  
  18541.  
  18542.  
  18543. See Also 
  18544.  
  18545.   gluBeginCurve, gluBeginTrim, gluNewNurbsRenderer, gluNurbsCurve,
  18546.   gluNurbsSurface, gluPwlCurve
  18547.  
  18548.  
  18549.  
  18550. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  18551.  
  18552.  Introduction | Alphabetic | Specification 
  18553.  
  18554. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  18555. Look here for legal stuff:  Legal 
  18556.  
  18557.  
  18558. ΓòÉΓòÉΓòÉ 3.139. gluBeginTrim ΓòÉΓòÉΓòÉ
  18559.  
  18560.  OpenGL man pages 
  18561.  
  18562. gluBeginTrim 
  18563.  
  18564.  
  18565.  
  18566.  
  18567.  
  18568.  
  18569. Name 
  18570.  
  18571.   gluBeginTrim, gluEndTrim - delimit a NURBS trimming loop definition
  18572.  
  18573.  
  18574.  
  18575.  
  18576. C Specification 
  18577.  
  18578.   void gluBeginTrim( GLUnurbsObj *nobj )
  18579.  
  18580.   void gluEndTrim( GLUnurbsObj *nobj )
  18581.  
  18582.  
  18583.  
  18584.  
  18585. Parameters 
  18586.  
  18587.  
  18588.   nobj  Specifies the NURBS object (created with gluNewNurbsRenderer).
  18589.  
  18590.  
  18591.  
  18592.  
  18593. Description 
  18594.  
  18595.   Use gluBeginTrim to mark the beginning of a trimming loop, and gluEndTrim
  18596.   to mark the end of a trimming loop.  A trimming loop is a set of oriented
  18597.   curve segments (forming a closed curve) that define boundaries of a NURBS
  18598.   surface.  You include these trimming loops in the definition of a NURBS
  18599.   surface, between calls to gluBeginSurface and gluEndSurface.
  18600.  
  18601.   The definition for a NURBS surface can contain many trimming loops.  For
  18602.   example, if you wrote a definition for a NURBS surface that resembled a
  18603.   rectangle with a hole punched out, the definition would contain two
  18604.   trimming loops.  One loop would define the outer edge of the rectangle;
  18605.   the other would define the hole punched out of the rectangle.  The
  18606.   definitions of each of these trimming loops would be bracketed by a
  18607.   gluBeginTrim/gluEndTrim pair.
  18608.  
  18609.   The definition of a single closed trimming loop can consist of multiple
  18610.   curve segments, each described as a piecewise linear curve (see
  18611.   gluPwlCurve) or as a single NURBS curve (see gluNurbsCurve), or as a
  18612.   combination of both in any order.  The only library calls that can appear
  18613.   in a trimming loop definition (between the calls to gluBeginTrim and
  18614.   gluEndTrim) are gluPwlCurve and gluNurbsCurve.
  18615.  
  18616.   The area of the NURBS surface that is displayed is the region in the domain
  18617.   to the left of the trimming curve as the curve parameter increases.  Thus,
  18618.   the retained region of the NURBS surface is inside a counterclockwise
  18619.   trimming loop and outside a clockwise trimming loop.  For the rectangle
  18620.   mentioned earlier, the trimming loop for the outer edge of the rectangle
  18621.   runs counterclockwise, while the trimming loop for the punched-out hole
  18622.   runs clockwise.
  18623.  
  18624.   If you use more than one curve to define a single trimming loop, the curve
  18625.   segments must form a closed loop (that is, the endpoint of each curve must
  18626.   be the starting point of the next curve, and the endpoint of the final
  18627.   curve must be the starting point of the first curve).  If the endpoints of
  18628.   the curve are sufficiently close together but not exactly coincident, they
  18629.   will be coerced to match.  If the endpoints are not sufficiently close, an
  18630.   error results (see gluNurbsCallback).
  18631.  
  18632.   If a trimming loop definition contains multiple curves, the direction of
  18633.   the curves must be consistent (that is, the inside must be to the left of
  18634.   all of the curves).  Nested trimming loops are legal as long as the curve
  18635.   orientations alternate correctly.  Trimming curves cannot be self-
  18636.   intersecting, nor can they intersect one another (or an error results).
  18637.  
  18638.   If no trimming information is given for a NURBS surface, the entire surface
  18639.   is drawn.
  18640.  
  18641.  
  18642.  
  18643.  
  18644. Example 
  18645.  
  18646.   This code fragment defines a trimming loop that consists of one piecewise
  18647.   linear curve, and two NURBS curves:
  18648.  
  18649.   gluBeginTrim(nobj);
  18650.      gluPwlCurve(..., GLU_MAP1_TRIM_2);
  18651.      gluNurbsCurve(..., GLU_MAP1_TRIM_2);
  18652.      gluNurbsCurve(..., GLU_MAP1_TRIM_3); gluEndTrim(nobj);
  18653.  
  18654.  
  18655.  
  18656.  
  18657. See Also 
  18658.  
  18659.   gluBeginSurface, gluNewNurbsRenderer, gluNurbsCallback, gluNurbsCurve,
  18660.   gluPwlCurve
  18661.  
  18662.  
  18663.  
  18664. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  18665.  
  18666.  Introduction | Alphabetic | Specification 
  18667.  
  18668. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  18669. Look here for legal stuff:  Legal 
  18670.  
  18671.  
  18672. ΓòÉΓòÉΓòÉ 3.140. gluBuild1DMipmaps ΓòÉΓòÉΓòÉ
  18673.  
  18674.  OpenGL man pages 
  18675.  
  18676. gluBuild1DMipmaps 
  18677.  
  18678.  
  18679.  
  18680.  
  18681.  
  18682.  
  18683. Name 
  18684.  
  18685.   gluBuild1DMipmaps - create 1-D mipmaps
  18686.  
  18687.  
  18688.  
  18689.  
  18690. C Specification 
  18691.  
  18692.   int gluBuild1DMipmaps( GLenum target,
  18693.                          GLint components,
  18694.                          GLint width,
  18695.                          GLenum format,
  18696.                          GLenum type,
  18697.                          const void *data )
  18698.  
  18699.  
  18700.  
  18701.  
  18702. Parameters 
  18703.  
  18704.  
  18705.   target      Specifies the target texture. Must be GL_TEXTURE_1D.
  18706.  
  18707.   components  Specifies the number of color components in the texture.  Must
  18708.               be 1, 2, 3, or 4.
  18709.  
  18710.   width       Specifies the width of the texture image.
  18711.  
  18712.   format      Specifies the format of the pixel data.  Must be one of
  18713.               GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB,
  18714.               GL_RGBA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
  18715.  
  18716.   type        Specifies the data type for data.  Must be one of
  18717.               GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT,
  18718.               GL_SHORT, GL_UNSIGNED_INT, GL_INT, or GL_FLOAT.
  18719.  
  18720.   data        Specifies a pointer to the image data in memory.
  18721.  
  18722.  
  18723.  
  18724.  
  18725.  
  18726. Description 
  18727.  
  18728.   gluBuild1DMipmaps obtains the input image and generates all mipmap images
  18729.   (using gluScaleImage) so that the input image can be used as a mipmapped
  18730.   texture image.  glTexImage1D is then called to load each of the images.  If
  18731.   the width of the input image is not a power of two, then the image is
  18732.   scaled to the nearest power of two before the mipmaps are generated.
  18733.  
  18734.   A return value of zero indicates success. Otherwise, a GLU error code is
  18735.   returned (see gluErrorString).
  18736.  
  18737.   Please refer to the glTexImage1D reference page for a description of the
  18738.   acceptable values for the format parameter. See the glDrawPixels reference
  18739.   page for a description of the acceptable values for the type parameter.
  18740.  
  18741.  
  18742.  
  18743. See Also 
  18744.  
  18745.   glTexImage1D, gluBuild2DMipmaps, gluErrorString, gluScaleImage
  18746.  
  18747.  
  18748.  
  18749. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  18750.  
  18751.  Introduction | Alphabetic | Specification 
  18752.  
  18753. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  18754. Look here for legal stuff:  Legal 
  18755.  
  18756.  
  18757. ΓòÉΓòÉΓòÉ 3.141. gluBuild2DMipmaps ΓòÉΓòÉΓòÉ
  18758.  
  18759.  OpenGL man pages 
  18760.  
  18761. gluBuild2DMipmaps 
  18762.  
  18763.  
  18764.  
  18765.  
  18766.  
  18767.  
  18768. Name 
  18769.  
  18770.   gluBuild2DMipmaps - create 2-D mipmaps
  18771.  
  18772.  
  18773.  
  18774.  
  18775. C Specification 
  18776.  
  18777.   int gluBuild2DMipmaps( GLenum target,
  18778.                          GLint components,
  18779.                          GLint width,
  18780.                          GLint height,
  18781.                          GLenum format,
  18782.                          GLenum type,
  18783.                          const void *data )
  18784.  
  18785.  
  18786.  
  18787.  
  18788. Parameters 
  18789.  
  18790.  
  18791.   target      Specifies the target texture.  Must be GL_TEXTURE_2D.
  18792.  
  18793.   components  Specifies the number of color components in the texture.  Must
  18794.               be 1, 2, 3, or 4.
  18795.  
  18796.   width, height
  18797.               Specifies the width and height, respectively, of the texture
  18798.               image.
  18799.  
  18800.   format      Specifies the format of the pixel data.  Must be one of:
  18801.               GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB,
  18802.               GL_RGBA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
  18803.  
  18804.   type        Specifies the data type for data.  Must be one of:
  18805.               GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT,
  18806.               GL_SHORT, GL_UNSIGNED_INT, GL_INT, or GL_FLOAT.
  18807.  
  18808.   data        Specifies a pointer to the image data in memory.
  18809.  
  18810.  
  18811.  
  18812.  
  18813.  
  18814. Description 
  18815.  
  18816.   gluBuild2DMipmaps obtains the input image and generates all mipmap images
  18817.   (using gluScaleImage) so that the input image can be used as a mipmapped
  18818.   texture image.  glTexImage2D is then called to load each of the images.  If
  18819.   the dimensions of the input image are not powers of two, then the image is
  18820.   scaled so that both the width and height are powers of two before the
  18821.   mipmaps are generated.
  18822.  
  18823.   A return value of 0 indicates success. Otherwise, a GLU error code is
  18824.   returned (see gluErrorString).
  18825.  
  18826.   Please refer to the glTexImage1D reference page for a description of the
  18827.   acceptable values for the format parameter. See the glDrawPixels reference
  18828.   page for a description of the acceptable values for the type parameter.
  18829.  
  18830.  
  18831.  
  18832.  
  18833. See Also 
  18834.  
  18835.   glDrawPixels, glTexImage1D, glTexImage2D, gluBuild1DMipmaps,
  18836.   gluErrorString, gluScaleImage
  18837.  
  18838.  
  18839.  
  18840. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  18841.  
  18842.  Introduction | Alphabetic | Specification 
  18843.  
  18844. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  18845. Look here for legal stuff:  Legal 
  18846.  
  18847.  
  18848. ΓòÉΓòÉΓòÉ 3.142. gluCylinder ΓòÉΓòÉΓòÉ
  18849.  
  18850.  OpenGL man pages 
  18851.  
  18852. gluCylinder 
  18853.  
  18854.  
  18855.  
  18856.  
  18857.  
  18858.  
  18859. Name 
  18860.  
  18861.   gluCylinder - draw a cylinder
  18862.  
  18863.  
  18864.  
  18865.  
  18866. C Specification 
  18867.  
  18868.   void gluCylinder( GLUquadricObj *qobj,
  18869.                     GLdouble baseRadius,
  18870.                     GLdouble topRadius,
  18871.                     GLdouble height,
  18872.                     GLint slices,
  18873.                     GLint stacks )
  18874.  
  18875.  
  18876.  
  18877.  
  18878. Parameters 
  18879.  
  18880.  
  18881.   qobj        Specifies the quadrics object (created with gluNewQuadric).
  18882.  
  18883.   baseRadius  Specifies the radius of the cylinder at z = 0.
  18884.  
  18885.   topRadius   Specifies the radius of the cylinder at z = height.
  18886.  
  18887.   height      Specifies the height of the cylinder.
  18888.  
  18889.   slices      Specifies the number of subdivisions around the z axis.
  18890.  
  18891.   stacks      Specifies the number of subdivisions along the z axis.
  18892.  
  18893.  
  18894.  
  18895.  
  18896. Description 
  18897.  
  18898.   gluCylinder draws a cylinder oriented along the z axis.  The base of the
  18899.   cylinder is placed at  z = 0, and the top at z=height.  Like a sphere, a
  18900.   cylinder is subdivided around the z axis into slices, and along the z axis
  18901.   into stacks.
  18902.  
  18903.   Note that if topRadius is set to zero, then this routine will generate a
  18904.   cone.
  18905.  
  18906.   If the orientation is set to GLU_OUTSIDE (with gluQuadricOrientation), then
  18907.   any generated normals point away from the z axis.  Otherwise, they point
  18908.   toward the z axis.
  18909.  
  18910.   If texturing is turned on (with gluQuadricTexture), then texture
  18911.   coordinates are generated so that t ranges linearly from 0.0 at z = 0 to
  18912.   1.0 at z = height, and s ranges from 0.0 at the +y axis, to 0.25 at the +x
  18913.   axis, to 0.5 at the -y axis, to 0.75 at the -x axis, and back to 1.0 at the
  18914.   +y axis.
  18915.  
  18916.  
  18917.  
  18918.  
  18919. See Also 
  18920.  
  18921.   gluDisk, gluNewQuadric, gluPartialDisk, gluQuadricTexture, gluSphere
  18922.  
  18923.  
  18924.  
  18925. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  18926.  
  18927.  Introduction | Alphabetic | Specification 
  18928.  
  18929. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  18930. Look here for legal stuff:  Legal 
  18931.  
  18932.  
  18933. ΓòÉΓòÉΓòÉ 3.143. gluDeleteNurbsRenderer ΓòÉΓòÉΓòÉ
  18934.  
  18935.  OpenGL man pages 
  18936.  
  18937. gluDeleteNurbsRenderer 
  18938.  
  18939.  
  18940.  
  18941.  
  18942.  
  18943.  
  18944. Name 
  18945.  
  18946.   gluDeleteNurbsRenderer - destroy a NURBS object
  18947.  
  18948.  
  18949.  
  18950.  
  18951. C Specification 
  18952.  
  18953.   void gluDeleteNurbsRenderer( GLUnurbsObj *nobj )
  18954.  
  18955.  
  18956.  
  18957.  
  18958. Parameters 
  18959.  
  18960.  
  18961.   nobj  Specifies the NURBS object to be destroyed (created with
  18962.         gluNewNurbsRenderer).
  18963.  
  18964.  
  18965.  
  18966.  
  18967. Description 
  18968.  
  18969.   gluDeleteNurbsRenderer destroys the NURBS object and frees any memory used
  18970.   by it.  Once gluDeleteNurbsRenderer has been called, nobj cannot be used
  18971.   again.
  18972.  
  18973.  
  18974.  
  18975.  
  18976. See Also 
  18977.  
  18978.   gluNewNurbsRenderer
  18979.  
  18980.  
  18981.  
  18982. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  18983.  
  18984.  Introduction | Alphabetic | Specification 
  18985.  
  18986. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  18987. Look here for legal stuff:  Legal 
  18988.  
  18989.  
  18990. ΓòÉΓòÉΓòÉ 3.144. gluDeleteQuadric ΓòÉΓòÉΓòÉ
  18991.  
  18992.  OpenGL man pages 
  18993.  
  18994. gluDeleteQuadric 
  18995.  
  18996.  
  18997.  
  18998.  
  18999.  
  19000.  
  19001. Name 
  19002.  
  19003.   gluDeleteQuadric - destroy a quadrics object
  19004.  
  19005.  
  19006.  
  19007.  
  19008. C Specification 
  19009.  
  19010.   void gluDeleteQuadric( GLUquadricObj *state )
  19011.  
  19012.  
  19013.  
  19014.  
  19015. Parameters 
  19016.  
  19017.  
  19018.   state  Specifies the quadrics object to be destroyed (created with
  19019.          gluNewQuadric).
  19020.  
  19021.  
  19022.  
  19023.  
  19024. Description 
  19025.  
  19026.   gluDeleteQuadric destroys the quadrics object and frees any memory used by
  19027.   it.  Once gluDeleteQuadric has been called, state cannot be used again.
  19028.  
  19029.  
  19030.  
  19031.  
  19032. See Also 
  19033.  
  19034.   gluNewQuadric
  19035.  
  19036.  
  19037.  
  19038. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  19039.  
  19040.  Introduction | Alphabetic | Specification 
  19041.  
  19042. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  19043. Look here for legal stuff:  Legal 
  19044.  
  19045.  
  19046. ΓòÉΓòÉΓòÉ 3.145. gluDeleteTess ΓòÉΓòÉΓòÉ
  19047.  
  19048.  OpenGL man pages 
  19049.  
  19050. gluDeleteTess (GLU version 1.2 and later) 
  19051.  
  19052.  
  19053.  
  19054.  
  19055.  
  19056.  
  19057. Name 
  19058.  
  19059.   gluDeleteTess - destroy a tessellation object
  19060.  
  19061.  
  19062.  
  19063.  
  19064. C Specification 
  19065.  
  19066.   void gluDeleteTess( GLUtesselator *tess )
  19067.  
  19068.  
  19069.  
  19070.  
  19071. Parameters 
  19072.  
  19073.  
  19074.   tess  Specifies the tessellation object to destroy (created with
  19075.         gluNewTess).
  19076.  
  19077.  
  19078.  
  19079.  
  19080. Description 
  19081.  
  19082.   gluDeleteTess destroys the indicated tessellation object and frees any
  19083.   memory that it used.
  19084.  
  19085.  
  19086.  
  19087.  
  19088. See Also 
  19089.  
  19090.   gluBeginPolygon, gluNewTess, gluTessCallback
  19091.  
  19092.  
  19093.  
  19094. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  19095.  
  19096.  Introduction | Alphabetic | Specification 
  19097.  
  19098. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  19099. Look here for legal stuff:  Legal 
  19100.  
  19101.  
  19102. ΓòÉΓòÉΓòÉ 3.146. gluDeleteTess ΓòÉΓòÉΓòÉ
  19103.  
  19104.  OpenGL man pages 
  19105.  
  19106. gluDeleteTess (GLU version 1.0 and 1.1) 
  19107.  
  19108.  
  19109.  
  19110.  
  19111.  
  19112.  
  19113. Name 
  19114.  
  19115.   gluDeleteTess - destroy a tessellation object
  19116.  
  19117.  
  19118.  
  19119.  
  19120. C Specification 
  19121.  
  19122.   void gluDeleteTess( GLUtriangulatorObj *tobj )
  19123.  
  19124.  
  19125.  
  19126.  
  19127. Parameters 
  19128.  
  19129.  
  19130.   tobj  Specifies the tessellation object to destroy (created with
  19131.         gluNewTess).
  19132.  
  19133.  
  19134.  
  19135.  
  19136. Description 
  19137.  
  19138.   gluDeleteTess destroys the indicated tessellation object and frees any
  19139.   memory that it used.
  19140.  
  19141.  
  19142.  
  19143.  
  19144. See Also 
  19145.  
  19146.   gluBeginPolygon, gluNewTess, gluTessCallback
  19147.  
  19148.  
  19149.  
  19150. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  19151.  
  19152.  Introduction | Alphabetic | Specification 
  19153.  
  19154. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  19155. Look here for legal stuff:  Legal 
  19156.  
  19157.  
  19158. ΓòÉΓòÉΓòÉ 3.147. gluDisk ΓòÉΓòÉΓòÉ
  19159.  
  19160.  OpenGL man pages 
  19161.  
  19162. gluDisk 
  19163.  
  19164.  
  19165.  
  19166.  
  19167.  
  19168.  
  19169. Name 
  19170.  
  19171.   gluDisk - draw a disk
  19172.  
  19173.  
  19174.  
  19175.  
  19176. C Specification 
  19177.  
  19178.   void gluDisk( GLUquadricObj *qobj,
  19179.                 GLdouble innerRadius,
  19180.                 GLdouble outerRadius,
  19181.                 GLint slices,
  19182.                 GLint loops )
  19183.  
  19184.  
  19185.  
  19186.  
  19187. Parameters 
  19188.  
  19189.  
  19190.   qobj         Specifies the quadrics object (created with gluNewQuadric).
  19191.  
  19192.   innerRadius  Specifies the inner radius of the disk (may be 0).
  19193.  
  19194.   outerRadius  Specifies the outer radius of the disk.
  19195.  
  19196.   slices       Specifies the number of subdivisions around the z axis.
  19197.  
  19198.   loops        Specifies the number of concentric rings about the origin into
  19199.                which the disk is subdivided.
  19200.  
  19201.  
  19202.  
  19203.  
  19204. Description 
  19205.  
  19206.   gluDisk renders a disk on the z = 0  plane.  The disk has a radius of
  19207.   outerRadius, and contains a concentric circular hole with a radius of
  19208.   innerRadius.  If innerRadius is 0, then no hole is generated.  The disk is
  19209.   subdivided around the z axis into slices (like pizza slices), and also
  19210.   about the z axis into rings (as specified by slices and loops,
  19211.   respectively).
  19212.  
  19213.   With respect to orientation, the +z side of the disk is considered to be
  19214.   "outside" (see gluQuadricOrientation).  This means that if the orientation
  19215.   is set to GLU_OUTSIDE, then any normals generated point along the +z axis.
  19216.   Otherwise, they point along the -z axis.
  19217.  
  19218.   If texturing is turned on (with gluQuadricTexture), texture coordinates are
  19219.   generated linearly such that where r=outerRadius, the value at (r, 0, 0) is
  19220.   (1, 0.5), at (0, r, 0) it is (0.5, 1), at (-r, 0, 0) it is (0, 0.5), and at
  19221.   (0, -r, 0) it is (0.5, 0).
  19222.  
  19223.  
  19224.  
  19225.  
  19226. See Also 
  19227.  
  19228.   gluCylinder, gluNewQuadric, gluPartialDisk, gluQuadricOrientation,
  19229.   gluQuadricTexture, gluSphere
  19230.  
  19231.  
  19232.  
  19233. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  19234.  
  19235.  Introduction | Alphabetic | Specification 
  19236.  
  19237. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  19238. Look here for legal stuff:  Legal 
  19239.  
  19240.  
  19241. ΓòÉΓòÉΓòÉ 3.148. gluErrorString ΓòÉΓòÉΓòÉ
  19242.  
  19243.  OpenGL man pages 
  19244.  
  19245. gluErrorString 
  19246.  
  19247.  
  19248.  
  19249.  
  19250.  
  19251.  
  19252. Name 
  19253.  
  19254.   gluErrorString - produce an error string from an OpenGL or GLU error code
  19255.  
  19256.  
  19257.  
  19258.  
  19259. C Specification 
  19260.  
  19261.   const GLubyte* gluErrorString( GLenum errorCode )
  19262.  
  19263.  
  19264.  
  19265.  
  19266. Parameters 
  19267.  
  19268.  
  19269.   errorCode  Specifies an OpenGL or GLU error code.
  19270.  
  19271.  
  19272.  
  19273.  
  19274. Description 
  19275.  
  19276.   gluErrorString produces an error string from an OpenGL or GLU error code.
  19277.   The string is in an ISO Latin 1 format. For example,
  19278.   gluErrorString(GL_OUT_OF_MEMORY) returns the string out of memory.
  19279.  
  19280.   The standard GLU error codes are GLU_INVALID_ENUM, GLU_INVALID_VALUE, and
  19281.   GLU_OUT_OF_MEMORY.  Certain other GLU functions can return specialized
  19282.   error codes through callbacks.  Refer to the glGetError reference page for
  19283.   the list of OpenGL error codes.
  19284.  
  19285.  
  19286.  
  19287.  
  19288. See Also 
  19289.  
  19290.   glGetError, gluNurbsCallback, gluQuadricCallback, gluTessCallback
  19291.  
  19292.  
  19293.  
  19294. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  19295.  
  19296.  Introduction | Alphabetic | Specification 
  19297.  
  19298. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  19299. Look here for legal stuff:  Legal 
  19300.  
  19301.  
  19302. ΓòÉΓòÉΓòÉ 3.149. gluGetNurbsProperty ΓòÉΓòÉΓòÉ
  19303.  
  19304.  OpenGL man pages 
  19305.  
  19306. gluGetNurbsProperty 
  19307.  
  19308.  
  19309.  
  19310.  
  19311.  
  19312.  
  19313. Name 
  19314.  
  19315.   gluGetNurbsProperty - get a NURBS property
  19316.  
  19317.  
  19318.  
  19319.  
  19320. C Specification 
  19321.  
  19322.   void gluGetNurbsProperty( GLUnurbsObj *nobj,
  19323.                             GLenum property,
  19324.                             GLfloat *value )
  19325.  
  19326.  
  19327.  
  19328.  
  19329. Parameters 
  19330.  
  19331.  
  19332.   nobj      Specifies the NURBS object (created with gluNewNurbsRenderer).
  19333.  
  19334.   property  Specifies the property whose value is to be fetched.  Valid
  19335.             values are GLU_CULLING, GLU_SAMPLING_TOLERANCE, GLU_DISPLAY_MODE,
  19336.             GLU_AUTO_LOAD_MATRIX, GLU_PARAMETRIC_TOLERANCE,
  19337.             GLU_SAMPLING_METHOD, GLU_U_STEP, and GLU_V_STEP.
  19338.  
  19339.   value     Specifies a pointer to the location into which the value of the
  19340.             named  property is written.
  19341.  
  19342.  
  19343.  
  19344.  
  19345. Description 
  19346.  
  19347.   gluGetNurbsProperty is used to retrieve properties stored in a NURBS
  19348.   object.  These properties affect the way that NURBS curves and surfaces are
  19349.   rendered.  Please refer to the gluNurbsProperty reference page for
  19350.   information about what the properties are and what they do.
  19351.  
  19352.  
  19353.  
  19354.  
  19355. See Also 
  19356.  
  19357.   gluNewNurbsRenderer, gluNurbsProperty
  19358.  
  19359.  
  19360.  
  19361. Notes 
  19362.  
  19363.   GLU_PARAMETRIC_TOLERANCE, GLU_SAMPLING_METHOD, GLU_U_STEP, and GLU_V_STEP are
  19364.   additions to GLU starting with GLU version 1.1. This version can be distinguished
  19365.   during compilation by checking if the pre-processor symbol GLU_VERSION_1_1 is
  19366.   defined.
  19367.  
  19368. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  19369.  
  19370.  Introduction | Alphabetic | Specification 
  19371.  
  19372. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  19373. Look here for legal stuff:  Legal 
  19374.  
  19375.  
  19376. ΓòÉΓòÉΓòÉ 3.150. gluGetTessProperty ΓòÉΓòÉΓòÉ
  19377.  
  19378.  OpenGL man pages 
  19379.  
  19380. gluGetTessProperty (GLU version 1.2 and later) 
  19381.  
  19382.  
  19383.  
  19384.  
  19385.  
  19386.  
  19387. Name 
  19388.  
  19389.   gluGetTessProperty - get a tessellation object property
  19390.  
  19391.  
  19392.  
  19393.  
  19394. C Specification 
  19395.  
  19396.   void gluGetTessProperty( GLUtesselator *tess,
  19397.                            GLenum which,
  19398.                            GLdouble *value )
  19399.  
  19400.  
  19401.  
  19402.  
  19403. Parameters 
  19404.  
  19405.  
  19406.   tess   Specifies the tessellation object (created with gluNewTess).
  19407.  
  19408.   which  Specifies the property whose value is to be fetched.  Valid values
  19409.          are GLU_TESS_WINDING_RULE, GLU_TESS_BOUNDARY_ONLY, and
  19410.          GLU_TESS_TOLERANCE.
  19411.  
  19412.   value  Specifies a pointer to the location into which the value of the
  19413.          named  property is written.
  19414.  
  19415.  
  19416.  
  19417.  
  19418. Description 
  19419.  
  19420.   gluGetTessProperty is used to retrieve properties stored in a tessellation
  19421.   object.  These properties affect the way that tessellation objects are
  19422.   interpreted and rendered.  Please refer to the gluTessProperty reference
  19423.   page for information about what the properties are and what they do.
  19424.  
  19425.  
  19426.  
  19427.  
  19428. See Also 
  19429.  
  19430.   gluNewTess, gluTessProperty
  19431.  
  19432.  
  19433.  
  19434. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  19435.  
  19436.  Introduction | Alphabetic | Specification 
  19437.  
  19438. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  19439. Look here for legal stuff:  Legal 
  19440.  
  19441.  
  19442. ΓòÉΓòÉΓòÉ 3.151. gluLoadSamplingMatrices ΓòÉΓòÉΓòÉ
  19443.  
  19444.  OpenGL man pages 
  19445.  
  19446. gluLoadSamplingMatrices 
  19447.  
  19448.  
  19449.  
  19450.  
  19451.  
  19452.  
  19453. Name 
  19454.  
  19455.   gluLoadSamplingMatrices - load NURBS sampling and culling matrices
  19456.  
  19457.  
  19458.  
  19459.  
  19460. C Specification 
  19461.  
  19462.   void gluLoadSamplingMatrices( GLUnurbsObj *nobj,
  19463.                                 const GLfloat modelMatrix[16],
  19464.                                 const GLfloat projMatrix[16],
  19465.                                 const GLint viewport[4]); )
  19466.  
  19467.  
  19468.  
  19469.  
  19470. Parameters 
  19471.  
  19472.  
  19473.   nobj         Specifies the NURBS object (created with gluNewNurbsRenderer).
  19474.  
  19475.   modelMatrix  Specifies a modelview matrix (as from a glGetFloatv call).
  19476.  
  19477.   projMatrix   Specifies a projection matrix (as from a glGetFloatv call).
  19478.  
  19479.   viewport;    Specifies a viewport (as from a glGetIntegerv call).
  19480.  
  19481.  
  19482.  
  19483.  
  19484. Description 
  19485.  
  19486.   gluLoadSamplingMatrices uses modelMatrix, projMatrix, and viewport; to
  19487.   recompute the sampling and culling matrices stored in nobj.  The sampling
  19488.   matrix determines how finely a NURBS curve or surface must be tessellated
  19489.   to satisfy the sampling tolerance (as determined by the
  19490.   GLU_SAMPLING_TOLERANCE property).  The  culling matrix is used in deciding
  19491.   if a NURBS curve or surface should be culled before rendering (when the
  19492.   GLU_CULLING property is turned on).
  19493.  
  19494.   gluLoadSamplingMatrices is necessary only if the GLU_AUTO_LOAD_MATRIX
  19495.   property is turned off (see gluNurbsProperty).  Although it can be
  19496.   convenient to leave the GLU_AUTO_LOAD_MATRIX property turned on, there can
  19497.   be a performance penalty for doing so.  (A round trip to the OpenGL server
  19498.   is needed to fetch the current values of the modelview matrix, projection
  19499.   matrix, and viewport.)
  19500.  
  19501.  
  19502.  
  19503.  
  19504. See Also 
  19505.  
  19506.   gluGetNurbsProperty, gluNewNurbsRenderer, gluNurbsProperty
  19507.  
  19508.  
  19509.  
  19510. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  19511.  
  19512.  Introduction | Alphabetic | Specification 
  19513.  
  19514. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  19515. Look here for legal stuff:  Legal 
  19516.  
  19517.  
  19518. ΓòÉΓòÉΓòÉ 3.152. gluLookAt ΓòÉΓòÉΓòÉ
  19519.  
  19520.  OpenGL man pages 
  19521.  
  19522. gluLookAt 
  19523.  
  19524.  
  19525.  
  19526.  
  19527.  
  19528.  
  19529. Name 
  19530.  
  19531.   gluLookAt - define a viewing transformation
  19532.  
  19533.  
  19534.  
  19535.  
  19536. C Specification 
  19537.  
  19538.   void gluLookAt( GLdouble eyex,
  19539.                   GLdouble eyey,
  19540.                   GLdouble eyez,
  19541.                   GLdouble centerx,
  19542.                   GLdouble centery,
  19543.                   GLdouble centerz,
  19544.                   GLdouble upx,
  19545.                   GLdouble upy,
  19546.                   GLdouble upz )
  19547.  
  19548.  
  19549.  
  19550.  
  19551. Parameters 
  19552.  
  19553.  
  19554.   eyex, eyey, eyez
  19555.                   Specifies the position of the eye point.
  19556.  
  19557.   centerx, centery, centerz
  19558.                   Specifies the position of the reference point.
  19559.  
  19560.   upx, upy, upz   Specifies the direction of the up vector.
  19561.  
  19562.  
  19563.  
  19564.  
  19565. Description 
  19566.  
  19567.   gluLookAt creates a viewing matrix derived from an eye point, a reference
  19568.   point indicating the center of the scene, and an up vector.  The matrix
  19569.   maps the reference point to the negative z axis and the eye point to the
  19570.   origin, so that, when a typical projection matrix is used, the center of
  19571.   the scene maps to the center of the viewport.  Similarly, the direction
  19572.   described by the up vector projected onto the viewing plane is mapped to
  19573.   the positive y axis so that it points upward in the viewport.  The up
  19574.   vector must not be parallel to the line of sight from the eye to the
  19575.   reference point.
  19576.  
  19577.   The matrix generated by gluLookAt postmultiplies the current matrix.
  19578.  
  19579.  
  19580.  
  19581.  
  19582. See Also 
  19583.  
  19584.   glFrustum, gluPerspective
  19585.  
  19586.  
  19587.  
  19588. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  19589.  
  19590.  Introduction | Alphabetic | Specification 
  19591.  
  19592. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  19593. Look here for legal stuff:  Legal 
  19594.  
  19595.  
  19596. ΓòÉΓòÉΓòÉ 3.153. gluNewNurbsRenderer ΓòÉΓòÉΓòÉ
  19597.  
  19598.  OpenGL man pages 
  19599.  
  19600. gluNewNurbsRenderer 
  19601.  
  19602.  
  19603.  
  19604.  
  19605.  
  19606.  
  19607. Name 
  19608.  
  19609.   gluNewNurbsRenderer - create a NURBS object
  19610.  
  19611.  
  19612.  
  19613.  
  19614. C Specification 
  19615.  
  19616.   GLUnurbsObj* gluNewNurbsRenderer( void )
  19617.  
  19618.  
  19619.  
  19620.  
  19621.  
  19622. Description 
  19623.  
  19624.   gluNewNurbsRenderer creates and returns a pointer to a new NURBS object.
  19625.   This object must be referred to when calling NURBS rendering and control
  19626.   functions.  A return value of zero means that there is not enough memory to
  19627.   allocate the object.
  19628.  
  19629.  
  19630.  
  19631.  
  19632. See Also 
  19633.  
  19634.   gluBeginCurve, gluBeginSurface, gluBeginTrim, gluDeleteNurbsRenderer,
  19635.   gluNurbsCallback, gluNurbsProperty
  19636.  
  19637.  
  19638.  
  19639. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  19640.  
  19641.  Introduction | Alphabetic | Specification 
  19642.  
  19643. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  19644. Look here for legal stuff:  Legal 
  19645.  
  19646.  
  19647. ΓòÉΓòÉΓòÉ 3.154. gluNewQuadric ΓòÉΓòÉΓòÉ
  19648.  
  19649.  OpenGL man pages 
  19650.  
  19651. gluNewQuadric 
  19652.  
  19653.  
  19654.  
  19655.  
  19656.  
  19657.  
  19658. Name 
  19659.  
  19660.   gluNewQuadric - create a quadrics object
  19661.  
  19662.  
  19663.  
  19664.  
  19665. C Specification 
  19666.  
  19667.   GLUquadricObj* gluNewQuadric( void )
  19668.  
  19669.  
  19670.  
  19671.  
  19672.  
  19673. Description 
  19674.  
  19675.   gluNewQuadric creates and returns a pointer to a new quadrics object.  This
  19676.   object must be referred to when calling quadrics rendering and control
  19677.   functions.  A return value of zero means that there is not enough memory to
  19678.   allocate the object.
  19679.  
  19680.  
  19681.  
  19682.  
  19683. See Also 
  19684.  
  19685.   gluCylinder, gluDeleteQuadric, gluDisk, gluPartialDisk, gluQuadricCallback,
  19686.   gluQuadricDrawStyle, gluQuadricNormals, gluQuadricOrientation,
  19687.   gluQuadricTexture, gluSphere
  19688.  
  19689.  
  19690.  
  19691. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  19692.  
  19693.  Introduction | Alphabetic | Specification 
  19694.  
  19695. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  19696. Look here for legal stuff:  Legal 
  19697.  
  19698.  
  19699. ΓòÉΓòÉΓòÉ 3.155. gluNewTess ΓòÉΓòÉΓòÉ
  19700.  
  19701.  OpenGL man pages 
  19702.  
  19703. gluNewTess (GLU version 1.2 and later) 
  19704.  
  19705.  
  19706.  
  19707.  
  19708.  
  19709.  
  19710. Name 
  19711.  
  19712.   gluNewTess - create a tessellation object
  19713.  
  19714.  
  19715.  
  19716.  
  19717. C Specification 
  19718.  
  19719.   GLUtesselator* gluNewTess( void )
  19720.  
  19721.  
  19722.  
  19723.  
  19724.  
  19725. Description 
  19726.  
  19727.   gluNewTess creates and returns a pointer to a new tessellation object.
  19728.   This object must be referred to when calling tessellation functions.  A
  19729.   return value of zero means that there is not enough memory to allocate the
  19730.   object.
  19731.  
  19732.  
  19733.  
  19734.  
  19735. See Also 
  19736.  
  19737.   gluTessBeginPolygon, gluDeleteTess, gluTessCallback
  19738.  
  19739.  
  19740.  
  19741. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  19742.  
  19743.  Introduction | Alphabetic | Specification 
  19744.  
  19745. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  19746. Look here for legal stuff:  Legal 
  19747.  
  19748.  
  19749. ΓòÉΓòÉΓòÉ 3.156. gluNewTess ΓòÉΓòÉΓòÉ
  19750.  
  19751.  OpenGL man pages 
  19752.  
  19753. gluNewTess (GLU versions 1.0 and 1.1) 
  19754.  
  19755.  
  19756.  
  19757.  
  19758.  
  19759.  
  19760. Name 
  19761.  
  19762.   gluNewTess - create a tessellation object
  19763.  
  19764.  
  19765.  
  19766.  
  19767. C Specification 
  19768.  
  19769.   GLUtriangulatorObj* gluNewTess( void )
  19770.  
  19771.  
  19772.  
  19773.  
  19774.  
  19775. Description 
  19776.  
  19777.   gluNewTess creates and returns a pointer to a new tessellation object.
  19778.   This object must be referred to when calling tessellation functions.  A
  19779.   return value of zero means that there is not enough memory to allocate the
  19780.   object.
  19781.  
  19782.  
  19783.  
  19784.  
  19785. See Also 
  19786.  
  19787.   gluBeginPolygon, gluDeleteTess, gluTessCallback
  19788.  
  19789.  
  19790.  
  19791. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  19792.  
  19793.  Introduction | Alphabetic | Specification 
  19794.  
  19795. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  19796. Look here for legal stuff:  Legal 
  19797.  
  19798.  
  19799. ΓòÉΓòÉΓòÉ 3.157. gluNextContour ΓòÉΓòÉΓòÉ
  19800.  
  19801.  OpenGL man pages 
  19802.  
  19803. gluNextContour (Obsolete in GLU version 1.2 and later) 
  19804.  
  19805.  
  19806.  
  19807.  
  19808.  
  19809.  
  19810. Name 
  19811.  
  19812.   gluNextContour - mark the beginning of another contour
  19813.  
  19814.  
  19815.  
  19816.  
  19817. C Specification 
  19818.  
  19819.   void gluNextContour( GLUtesselator *tess,
  19820.                        GLenum type )
  19821.  
  19822.  
  19823.  
  19824.  
  19825. Parameters 
  19826.  
  19827.  
  19828.   tess  Specifies the tessellation object (created with gluNewTess).
  19829.  
  19830.   type  Specifies the type of the contour being defined.  Valid values are
  19831.         GLU_EXTERIOR, GLU_INTERIOR, GLU_UNKNOWN, GLU_CCW, and GLU_CW.
  19832.  
  19833.  
  19834.  
  19835.  
  19836. Description 
  19837.  
  19838.   gluNextContour is used in describing polygons with multiple contours.
  19839.   After the first contour has been described through a series of
  19840.   gluTessVertex calls, a gluNextContour call indicates that the previous
  19841.   contour is complete and that the next contour is about to begin.  Another
  19842.   series of gluTessVertex calls is then used to describe the new contour.
  19843.   This process can be repeated until all contours have been described.
  19844.  
  19845.   type defines what type of contour follows.  The legal contour types are as
  19846.   follows:
  19847.  
  19848.   GLU_EXTERIOR   An exterior contour defines an exterior boundary of the
  19849.                  polygon.
  19850.  
  19851.   GLU_INTERIOR   An interior contour defines an interior boundary of the
  19852.                  polygon (such as a hole).
  19853.  
  19854.   GLU_UNKNOWN    An unknown contour is analyzed by the library to determine
  19855.                  if it is interior or exterior.
  19856.  
  19857.   GLU_CCW, GLU_CW
  19858.                  The first GLU_CCW or GLU_CW contour defined is considered to
  19859.                  be exterior.  All other contours are considered to be
  19860.                  exterior if they are oriented in the same direction
  19861.                  (clockwise or counterclockwise) as the first contour, and
  19862.                  interior if they are not.
  19863.  
  19864.                  If one contour is of type GLU_CCW or GLU_CW, then all
  19865.                  contours must be of the same type (if they are not, then all
  19866.                  GLU_CCW and GLU_CW contours will be changed to GLU_UNKNOWN).
  19867.  
  19868.                  Note that there is no real difference between the GLU_CCW
  19869.                  and GLU_CW contour types.
  19870.  
  19871.   gluNextContour can be called before the first contour is described to
  19872.   define the type of the first contour.  If gluNextContour is not called
  19873.   before the first contour, then the first contour is marked GLU_EXTERIOR.
  19874.  
  19875.  
  19876.  
  19877. Notes 
  19878.  
  19879.  
  19880.   As of GLU version 1.2, this command is obsolete and is provided for backwards
  19881.   compatibility only. GLU version 1.2 (and later) can be distinguished during
  19882.   compilation by checking if the pre-processor symbol GLU_VERSION_1_2 is defined.
  19883.  
  19884.   Calls to gluNextContour are mapped to gluTessEndContour followed by
  19885.   gluTessBeginContour.
  19886.  
  19887.  
  19888.  
  19889.  
  19890. Example 
  19891.  
  19892.   A quadrilateral with a triangular hole in it can be described as follows:
  19893.  
  19894.   gluBeginPolygon(tobj);
  19895.      gluTessVertex(tobj, v1, v1);
  19896.      gluTessVertex(tobj, v2, v2);
  19897.      gluTessVertex(tobj, v3, v3);
  19898.      gluTessVertex(tobj, v4, v4);
  19899.   gluNextContour(tobj, GLU_INTERIOR);
  19900.      gluTessVertex(tobj, v5, v5);
  19901.      gluTessVertex(tobj, v6, v6);
  19902.      gluTessVertex(tobj, v7, v7);
  19903.   gluEndPolygon(tobj);
  19904.  
  19905.  
  19906.  
  19907.  
  19908. See Also 
  19909.  
  19910.   gluBeginPolygon, gluNewTess, gluTessCallback, gluTessVertex,
  19911.   gluTessBeginContour
  19912.  
  19913.  
  19914.  
  19915. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  19916.  
  19917.  Introduction | Alphabetic | Specification 
  19918.  
  19919. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  19920. Look here for legal stuff:  Legal 
  19921.  
  19922.  
  19923. ΓòÉΓòÉΓòÉ 3.158. gluNextContour ΓòÉΓòÉΓòÉ
  19924.  
  19925.  OpenGL man pages 
  19926.  
  19927. gluNextContour (GLU versions 1.0 and 1.1) 
  19928.  
  19929.  
  19930.  
  19931.  
  19932.  
  19933.  
  19934. Name 
  19935.  
  19936.   gluNextContour - mark the beginning of another contour
  19937.  
  19938.  
  19939.  
  19940.  
  19941. C Specification 
  19942.  
  19943.   void gluNextContour( GLUtriangulatorObj *tobj,
  19944.                        GLenum type )
  19945.  
  19946.  
  19947.  
  19948.  
  19949. Parameters 
  19950.  
  19951.  
  19952.   tobj  Specifies the tessellation object (created with gluNewTess).
  19953.  
  19954.   type  Specifies the type of the contour being defined.  Valid values are
  19955.         GLU_EXTERIOR, GLU_INTERIOR, GLU_UNKNOWN, GLU_CCW, and GLU_CW.
  19956.  
  19957.  
  19958.  
  19959.  
  19960. Description 
  19961.  
  19962.   gluNextContour is used in describing polygons with multiple contours.
  19963.   After the first contour has been described through a series of
  19964.   gluTessVertex calls, a gluNextContour call indicates that the previous
  19965.   contour is complete and that the next contour is about to begin.  Another
  19966.   series of gluTessVertex calls is then used to describe the new contour.
  19967.   This process can be repeated until all contours have been described.
  19968.  
  19969.   type defines what type of contour follows.  The legal contour types are as
  19970.   follows:
  19971.  
  19972.   GLU_EXTERIOR   An exterior contour defines an exterior boundary of the
  19973.                  polygon.
  19974.  
  19975.   GLU_INTERIOR   An interior contour defines an interior boundary of the
  19976.                  polygon (such as a hole).
  19977.  
  19978.   GLU_UNKNOWN    An unknown contour is analyzed by the library to determine
  19979.                  if it is interior or exterior.
  19980.  
  19981.   GLU_CCW, GLU_CW
  19982.                  The first GLU_CCW or GLU_CW contour defined is considered to
  19983.                  be exterior.  All other contours are considered to be
  19984.                  exterior if they are oriented in the same direction
  19985.                  (clockwise or counterclockwise) as the first contour, and
  19986.                  interior if they are not.
  19987.  
  19988.                  If one contour is of type GLU_CCW or GLU_CW, then all
  19989.                  contours must be of the same type (if they are not, then all
  19990.                  GLU_CCW and GLU_CW contours will be changed to GLU_UNKNOWN).
  19991.  
  19992.                  Note that there is no real difference between the GLU_CCW
  19993.                  and GLU_CW contour types.
  19994.  
  19995.   gluNextContour can be called before the first contour is described to
  19996.   define the type of the first contour.  If gluNextContour is not called
  19997.   before the first contour, then the first contour is marked GLU_EXTERIOR.
  19998.  
  19999.  
  20000.  
  20001.  
  20002.  
  20003. Example 
  20004.  
  20005.   A quadrilateral with a triangular hole in it can be described as follows:
  20006.  
  20007.   gluBeginPolygon(tobj);
  20008.      gluTessVertex(tobj, v1, v1);
  20009.      gluTessVertex(tobj, v2, v2);
  20010.      gluTessVertex(tobj, v3, v3);
  20011.      gluTessVertex(tobj, v4, v4);
  20012.   gluNextContour(tobj, GLU_INTERIOR);
  20013.      gluTessVertex(tobj, v5, v5);
  20014.      gluTessVertex(tobj, v6, v6);
  20015.      gluTessVertex(tobj, v7, v7);
  20016.   gluEndPolygon(tobj);
  20017.  
  20018.  
  20019.  
  20020.  
  20021. See Also 
  20022.  
  20023.   gluBeginPolygon, gluNewTess, gluTessCallback, gluTessVertex
  20024.  
  20025.  
  20026.  
  20027. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  20028.  
  20029.  Introduction | Alphabetic | Specification 
  20030.  
  20031. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  20032. Look here for legal stuff:  Legal 
  20033.  
  20034.  
  20035. ΓòÉΓòÉΓòÉ 3.159. gluNurbsCallback ΓòÉΓòÉΓòÉ
  20036.  
  20037.  OpenGL man pages 
  20038.  
  20039. gluNurbsCallback 
  20040.  
  20041.  
  20042.  
  20043.  
  20044.  
  20045.  
  20046. Name 
  20047.  
  20048.   gluNurbsCallback - define a callback for a NURBS object
  20049.  
  20050.  
  20051.  
  20052.  
  20053. C Specification 
  20054.  
  20055.   void gluNurbsCallback( GLUnurbsObj *nobj,
  20056.                          GLenum which,
  20057.                          void (*fn)( )
  20058.  
  20059.  
  20060.  
  20061.  
  20062. Parameters 
  20063.  
  20064.  
  20065.   nobj   Specifies the NURBS object (created with gluNewNurbsRenderer).
  20066.  
  20067.   which  Specifies the callback being defined.  The only valid value is
  20068.          GLU_ERROR.
  20069.  
  20070.   fn     Specifies the function that the callback calls.
  20071.  
  20072.  
  20073.  
  20074.  
  20075. Description 
  20076.  
  20077.   gluNurbsCallback is used to define a callback to be used by a NURBS object.
  20078.   If the specified callback is already defined, then it is replaced.  If fn
  20079.   is NULL, then any existing callback is erased.
  20080.  
  20081.   The one legal callback is GLU_ERROR:
  20082.  
  20083.   GLU_ERROR      The error function is called when an error is encountered.
  20084.                  Its single argument is of type GLenum, and it indicates the
  20085.                  specific error that occurred.  There are 37 errors unique to
  20086.                  NURBS named GLU_NURBS_ERROR1 through GLU_NURBS_ERROR37.
  20087.                  Character strings describing these errors can be retrieved
  20088.                  with gluErrorString.
  20089.  
  20090.  
  20091.  
  20092.  
  20093. See Also 
  20094.  
  20095.   gluErrorString, gluNewNurbsRenderer
  20096.  
  20097.  
  20098.  
  20099. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  20100.  
  20101.  Introduction | Alphabetic | Specification 
  20102.  
  20103. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  20104. Look here for legal stuff:  Legal 
  20105.  
  20106.  
  20107. ΓòÉΓòÉΓòÉ 3.160. gluNurbsCurve ΓòÉΓòÉΓòÉ
  20108.  
  20109.  OpenGL man pages 
  20110.  
  20111. gluNurbsCurve 
  20112.  
  20113.  
  20114.  
  20115.  
  20116.  
  20117.  
  20118. Name 
  20119.  
  20120.   gluNurbsCurve - define the shape of a NURBS curve
  20121.  
  20122.  
  20123.  
  20124.  
  20125. C Specification 
  20126.  
  20127.   void gluNurbsCurve( GLUnurbsObj *nobj,
  20128.                       GLint nknots,
  20129.                       GLfloat *knot,
  20130.                       GLint stride,
  20131.                       GLfloat *ctlarray,
  20132.                       GLint order,
  20133.                       GLenum type )
  20134.  
  20135.  
  20136.  
  20137.  
  20138. Parameters 
  20139.  
  20140.  
  20141.   nobj      Specifies the NURBS object (created with gluNewNurbsRenderer).
  20142.  
  20143.   nknots    Specifies the number of knots in knot.  nknots equals the number
  20144.             of control points plus the order.
  20145.  
  20146.   knot      Specifies an array of nknots nondecreasing knot values.
  20147.  
  20148.   stride    Specifies the offset (as a number of single-precision floating-
  20149.             point values) between successive curve control points.
  20150.  
  20151.   ctlarray  Specifies a pointer to an array of control points.  The
  20152.             coordinates must agree with type, specified below.
  20153.  
  20154.   order     Specifies the order of the NURBS curve.  order equals degree + 1,
  20155.             hence a cubic curve has an order of 4.
  20156.  
  20157.   type      Specifies the type of the curve.  If this curve is defined within
  20158.             a gluBeginCurve/gluEndCurve pair, then the type can be any of the
  20159.             valid one-dimensional evaluator types (such as GL_MAP1_VERTEX_3
  20160.             or GL_MAP1_COLOR_4).  Between a gluBeginTrim/gluEndTrim pair, the
  20161.             only valid types are GLU_MAP1_TRIM_2 and GLU_MAP1_TRIM_3.
  20162.  
  20163.  
  20164.  
  20165.  
  20166. Description 
  20167.  
  20168.   Use gluNurbsCurve to describe a NURBS curve.
  20169.  
  20170.   When gluNurbsCurve appears between a gluBeginCurve/gluEndCurve pair, it is
  20171.   used to describe a curve to be rendered.  Positional, texture, and color
  20172.   coordinates are associated by presenting each as a separate gluNurbsCurve
  20173.   between a gluBeginCurve/gluEndCurve pair.  No more than one call to
  20174.   gluNurbsCurve for each of color, position, and texture data can be made
  20175.   within a single gluBeginCurve/gluEndCurve pair.  Exactly one call must be
  20176.   made to describe the position of the curve (a type of GL_MAP1_VERTEX_3 or
  20177.   GL_MAP1_VERTEX_4).
  20178.  
  20179.   When gluNurbsCurve appears between a gluBeginTrim/gluEndTrim pair, it is
  20180.   used to describe a trimming curve on a NURBS surface.  If type is
  20181.   GLU_MAP1_TRIM_2, then it describes a curve in two-dimensional (u and v)
  20182.   parameter space.  If it is GLU_MAP1_TRIM_3, then it describes a curve in
  20183.   two-dimensional homogeneous (u, v, and w) parameter space.  See the
  20184.   gluBeginTrim reference page for more discussion about trimming curves.
  20185.  
  20186.  
  20187.  
  20188.  
  20189. Example 
  20190.  
  20191.   The following commands render a textured NURBS curve with normals:
  20192.  
  20193.   gluBeginCurve(nobj);
  20194.      gluNurbsCurve(nobj, ..., GL_MAP1_TEXTURE_COORD_2);
  20195.      gluNurbsCurve(nobj, ..., GL_MAP1_NORMAL);
  20196.      gluNurbsCurve(nobj, ..., GL_MAP1_VERTEX_4); gluEndCurve(nobj);
  20197.  
  20198.  
  20199.  
  20200.  
  20201. Notes 
  20202.  
  20203.   To define trim curves which stitch well use gluPwlCurve.
  20204.  
  20205.  
  20206.  
  20207.  
  20208.  
  20209. See Also 
  20210.  
  20211.   gluBeginCurve, gluBeginTrim, gluNewNurbsRenderer, gluPwlCurve
  20212.  
  20213.  
  20214.  
  20215. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  20216.  
  20217.  Introduction | Alphabetic | Specification 
  20218.  
  20219. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  20220. Look here for legal stuff:  Legal 
  20221.  
  20222.  
  20223. ΓòÉΓòÉΓòÉ 3.161. gluNurbsProperty ΓòÉΓòÉΓòÉ
  20224.  
  20225.  OpenGL man pages 
  20226.  
  20227. gluNurbsProperty 
  20228.  
  20229.  
  20230.  
  20231.  
  20232.  
  20233.  
  20234. Name 
  20235.  
  20236.   gluNurbsProperty - set a NURBS property
  20237.  
  20238.  
  20239.  
  20240.  
  20241. C Specification 
  20242.  
  20243.   void gluNurbsProperty( GLUnurbsObj *nobj,
  20244.                          GLenum property,
  20245.                          GLfloat value )
  20246.  
  20247.  
  20248.  
  20249.  
  20250. Parameters 
  20251.  
  20252.  
  20253.   nobj      Specifies the NURBS object (created with gluNewNurbsRenderer).
  20254.  
  20255.   property  Specifies the property to be set.  Valid values are
  20256.             GLU_SAMPLING_TOLERANCE, GLU_DISPLAY_MODE, GLU_CULLING,
  20257.             GLU_AUTO_LOAD_MATRIX, GLU_PARAMETRIC_TOLERANCE,
  20258.             GLU_SAMPLING_METHOD, GLU_U_STEP, or GLU_V_STEP.
  20259.  
  20260.   value     Specifies the value of the indicated property.  It may be a
  20261.             numeric value, or one of GLU_PATH_LENGTH, GLU_PARAMETRIC_ERROR,
  20262.             or GLU_DOMAIN_DISTANCE.
  20263.  
  20264.  
  20265.  
  20266.  
  20267.  
  20268. Description 
  20269.  
  20270.   gluNurbsProperty is used to control properties stored in a NURBS object.
  20271.   These properties affect the way that a NURBS curve is rendered.  The legal
  20272.   values for property are as follows:
  20273.  
  20274.  
  20275.   GLU_SAMPLING_METHOD      specifies how a NURBS surface should be
  20276.                            tessellated. value may be set to one of
  20277.                            GLU_PATH_LENGTH, GLU_PARAMETRIC_ERROR, or
  20278.                            GLU_DOMAIN_DISTANCE. When set to GLU_PATH_LENGTH,
  20279.                            the surface is rendered so that the maximum
  20280.                            length, in pixels, of the edges of the
  20281.                            tessellation polygons is no greater than what is
  20282.                            specified by GLU_SAMPLING_TOLERANCE.
  20283.  
  20284.                            GLU_PARAMETRIC_ERROR specifies that the surface is
  20285.                            rendered in such a way that the value specified by
  20286.                            GLU_PARAMETRIC_TOLERANCE describes the maximum
  20287.                            distance, in pixels, between the tessellation
  20288.                            polygons and the surfaces they approximate.
  20289.  
  20290.                            GLU_DOMAIN_DISTANCE allows users to specify, in
  20291.                            parametric coordinates, how many sample points per
  20292.                            unit length are taken in u, v direction. The
  20293.                            default value of GLU_SAMPLING_METHOD is
  20294.                            GLU_PATH_LENGTH.
  20295.  
  20296.  
  20297.   GLU_SAMPLING_TOLERANCE   specifies the maximum length, in pixels to use
  20298.                            when the sampling method is set to
  20299.                            GLU_PATH_LENGTH. The NURBS code is conservative
  20300.                            when rendering a curve or surface, so the actual
  20301.                            length can be somewhat shorter. The default value
  20302.                            is 50.0 pixels.
  20303.  
  20304.  
  20305.   GLU_PARAMETRIC_TOLERANCE specifies the maximum distance, in pixels, to use
  20306.                            when the sampling method is set to
  20307.                            GLU_PARAMETRIC_ERROR.  The default value for
  20308.                            GLU_PARAMETRIC_TOLERANCE is 0.5.
  20309.  
  20310.  
  20311.   GLU_U_STEP               specifies the number of sample points per unit
  20312.                            length taken along the u axis in parametric
  20313.                            coordinates. It is needed when GLU_SAMPLING_METHOD
  20314.                            is set to GLU_DOMAIN_DISTANCE. The default value
  20315.                            is 100.
  20316.  
  20317.  
  20318.   GLU_V_STEP               specifies the number of sample points per unit
  20319.                            length taken along the v axis in parametric
  20320.                            coordinate. It is needed when GLU_SAMPLING_METHOD
  20321.                            is set to GLU_DOMAIN_DISTANCE.  The default value
  20322.                            is 100.
  20323.  
  20324.  
  20325.   GLU_DISPLAY_MODE         value defines how a NURBS surface should be
  20326.                            rendered.  value can be set to GLU_FILL,
  20327.                            GLU_OUTLINE_POLYGON, or GLU_OUTLINE_PATCH.  When
  20328.                            set to GLU_FILL, the surface is rendered as a set
  20329.                            of polygons.  GLU_OUTLINE_POLYGON instructs the
  20330.                            NURBS library to draw only the outlines of the
  20331.                            polygons created by tessellation.
  20332.                            GLU_OUTLINE_PATCH causes just the outlines of
  20333.                            patches and trim curves defined by the user to be
  20334.                            drawn.  The default value is GLU_FILL.
  20335.  
  20336.  
  20337.   GLU_CULLING              value is a Boolean value that, when set to
  20338.                            GL_TRUE, indicates that a NURBS curve should be
  20339.                            discarded prior to tessellation if its control
  20340.                            points lie outside the current viewport.  The
  20341.                            default is GL_FALSE (because a NURBS curve cannot
  20342.                            fall entirely within the convex hull of its
  20343.                            control points).
  20344.  
  20345.  
  20346.   GLU_AUTO_LOAD_MATRIX     value is a Boolean value.  When set to GL_TRUE,
  20347.                            the NURBS code downloads the projection matrix,
  20348.                            the modelview matrix, and the viewport from the
  20349.                            OpenGL server to compute sampling and culling
  20350.                            matrices for each NURBS curve that is rendered.
  20351.                            Sampling and culling matrices are required to
  20352.                            determine the tesselation of a NURBS surface into
  20353.                            line segments or polygons and to cull a NURBS
  20354.                            surface if it lies outside of the viewport.  If
  20355.                            this mode is set to GL_FALSE, then the user needs
  20356.                            to provide a projection matrix, a modelview
  20357.                            matrix, and a viewport for the NURBS renderer to
  20358.                            use to construct sampling and culling matrices.
  20359.                            This can be done with the gluLoadSamplingMatrices
  20360.                            function.  The default for this mode is GL_TRUE.
  20361.                            Changing this mode from GL_TRUE to GL_FALSE does
  20362.                            not affect the sampling and culling matrices until
  20363.                            gluLoadSamplingMatrices is called.
  20364.  
  20365.  
  20366.  
  20367. Notes 
  20368.  
  20369.   A property of GLU_PARAMETRIC_TOLERANCE, GLU_SAMPLING_METHOD, GLU_U_STEP, or
  20370.   GLU_V_STEP, or a value of GLU_PATH_LENGTH, GLU_PARAMETRIC_ERROR,
  20371.   GLU_DOMAIN_DISTANCE will only be supported in GLU version number 1.1. They
  20372.   are not valid parameters in GLU 1.0.
  20373.  
  20374.   gluGetString can be used to determine the GLU version.
  20375.  
  20376.  
  20377.  
  20378.  
  20379. See Also 
  20380.  
  20381.   gluGetNurbsProperty, gluLoadSamplingMatrices, gluNewNurbsRenderer, gluGetString.
  20382.  
  20383.  
  20384. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  20385.  
  20386.  Introduction | Alphabetic | Specification 
  20387.  
  20388. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  20389. Look here for legal stuff:  Legal 
  20390.  
  20391.  
  20392. ΓòÉΓòÉΓòÉ 3.162. gluNurbsSurface ΓòÉΓòÉΓòÉ
  20393.  
  20394.  OpenGL man pages 
  20395.  
  20396. gluNurbsSurface 
  20397.  
  20398.  
  20399.  
  20400.  
  20401.  
  20402.  
  20403. Name 
  20404.  
  20405.   gluNurbsSurface - define the shape of a NURBS surface
  20406.  
  20407.  
  20408.  
  20409.  
  20410. C Specification 
  20411.  
  20412.   void gluNurbsSurface( GLUnurbsObj *nobj,
  20413.                         GLint uknot_count,
  20414.                         GLfloat *uknot,
  20415.                         GLint vknot_count,
  20416.                         GLfloat *vknot,
  20417.                         GLint u_stride,
  20418.                         GLint v_stride,
  20419.                         GLfloat *ctlarray,
  20420.                         GLint uorder,
  20421.                         GLint vorder,
  20422.                         GLenum type )
  20423.  
  20424.  
  20425.  
  20426.  
  20427. Parameters 
  20428.  
  20429.  
  20430.   nobj         Specifies the NURBS object (created with gluNewNurbsRenderer).
  20431.  
  20432.   uknot_count  Specifies the number of knots in the parametric u direction.
  20433.  
  20434.   uknot        Specifies an array of uknot_count nondecreasing knot values in
  20435.                the parametric u direction.
  20436.  
  20437.   vknot_count  Specifies the number of knots in the parametric v direction.
  20438.  
  20439.   vknot        Specifies an array of vknot_count nondecreasing knot values in
  20440.                the parametric v direction.
  20441.  
  20442.   u_stride     Specifies the offset (as a number of  single-precision
  20443.                floating point values) between successive control points in
  20444.                the parametric u direction in ctlarray.
  20445.  
  20446.   v_stride     Specifies the offset (in single-precision floating-point
  20447.                values) between successive control points in the parametric v
  20448.                direction in ctlarray.
  20449.  
  20450.   ctlarray     Specifies an array containing control points for the NURBS
  20451.                surface.  The offsets between successive control points in the
  20452.                parametric u and v directions are given by u_stride and
  20453.                v_stride.
  20454.  
  20455.   uorder       Specifies the order of the NURBS surface in the parametric u
  20456.                direction.  The order is one more than the degree, hence a
  20457.                surface that is cubic in u has a u order of 4.
  20458.  
  20459.   vorder       Specifies the order of the NURBS surface in the parametric v
  20460.                direction.  The order is one more than the degree, hence a
  20461.                surface that is cubic in v has a v order of 4.
  20462.  
  20463.   type         Specifies type of the surface. type can be any of the valid
  20464.                two-dimensional evaluator types (such as GL_MAP2_VERTEX_3 or
  20465.                GL_MAP2_COLOR_4).
  20466.  
  20467.  
  20468.  
  20469.  
  20470.  
  20471. Description 
  20472.  
  20473.   Use gluNurbsSurface within a NURBS (Non-Uniform Rational B-Spline) surface
  20474.   definition to describe the shape of a NURBS surface (before any trimming).
  20475.   To mark the beginning of a NURBS surface definition, use the
  20476.   gluBeginSurface command.  To mark the end of a NURBS surface definition,
  20477.   use the gluEndSurface command.  Call gluNurbsSurface within a NURBS surface
  20478.   definition only.
  20479.  
  20480.   Positional, texture, and color coordinates are associated with a surface by
  20481.   presenting each as a separate gluNurbsSurface between a
  20482.   gluBeginSurface/gluEndSurface pair.  No more than one call to
  20483.   gluNurbsSurface for each of color, position, and texture data can be made
  20484.   within a single gluBeginSurface/gluEndSurface pair.  Exactly one call must
  20485.   be made to describe the position of the surface (a type of GL_MAP2_VERTEX_3
  20486.   or GL_MAP2_VERTEX_4).
  20487.  
  20488.   A NURBS surface can be trimmed by using the commands gluNurbsCurve and
  20489.   gluPwlCurve between calls to gluBeginTrim and gluEndTrim.
  20490.  
  20491.   Note that a gluNurbsSurface with uknot_count knots in the u direction and
  20492.   vknot_count knots in the v direction with orders uorder and vorder must
  20493.   have (uknot_count - uorder) x (vknot_count - vorder) control points.
  20494.  
  20495.  
  20496.  
  20497.  
  20498. Example 
  20499.  
  20500.   The following commands render a textured NURBS surface with normals; the
  20501.   texture coordinates and normals are also NURBS surfaces:
  20502.  
  20503.   gluBeginSurface(nobj);
  20504.      gluNurbsSurface(nobj, ..., GL_MAP2_TEXTURE_COORD_2);
  20505.      gluNurbsSurface(nobj, ..., GL_MAP2_NORMAL);
  20506.      gluNurbsSurface(nobj, ..., GL_MAP2_VERTEX_4); gluEndSurface(nobj);
  20507.  
  20508.  
  20509.  
  20510.  
  20511. See Also 
  20512.  
  20513.   gluBeginSurface, gluBeginTrim, gluNewNurbsRenderer, gluNurbsCurve,
  20514.   gluPwlCurve
  20515.  
  20516.  
  20517.  
  20518. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  20519.  
  20520.  Introduction | Alphabetic | Specification 
  20521.  
  20522. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  20523. Look here for legal stuff:  Legal 
  20524.  
  20525.  
  20526. ΓòÉΓòÉΓòÉ 3.163. gluOrtho2D ΓòÉΓòÉΓòÉ
  20527.  
  20528.  OpenGL man pages 
  20529.  
  20530. gluOrtho2D 
  20531.  
  20532.  
  20533.  
  20534.  
  20535.  
  20536.  
  20537. Name 
  20538.  
  20539.   gluOrtho2D - define a 2-D orthographic projection matrix
  20540.  
  20541.  
  20542.  
  20543.  
  20544. C Specification 
  20545.  
  20546.   void gluOrtho2D( GLdouble left,
  20547.                    GLdouble right,
  20548.                    GLdouble bottom,
  20549.                    GLdouble top )
  20550.  
  20551.  
  20552.  
  20553.  
  20554. Parameters 
  20555.  
  20556.  
  20557.   left, right Specify the coordinates for the left and right vertical
  20558.               clipping planes.
  20559.  
  20560.   bottom, top Specify the coordinates for the bottom and top horizontal
  20561.               clipping planes.
  20562.  
  20563.  
  20564.  
  20565.  
  20566. Description 
  20567.  
  20568.   gluOrtho2D sets up a two-dimensional orthographic viewing region. This is
  20569.   equivalent to calling glOrtho with near=-1 and far=1.
  20570.  
  20571.  
  20572.  
  20573.  
  20574. See Also 
  20575.  
  20576.   glOrtho, gluPerspective
  20577.  
  20578.  
  20579.  
  20580. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  20581.  
  20582.  Introduction | Alphabetic | Specification 
  20583.  
  20584. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  20585. Look here for legal stuff:  Legal 
  20586.  
  20587.  
  20588. ΓòÉΓòÉΓòÉ 3.164. gluPartialDisk ΓòÉΓòÉΓòÉ
  20589.  
  20590.  OpenGL man pages 
  20591.  
  20592. gluPartialDisk 
  20593.  
  20594.  
  20595.  
  20596.  
  20597.  
  20598.  
  20599. Name 
  20600.  
  20601.   gluPartialDisk - draw an arc of a disk
  20602.  
  20603.  
  20604.  
  20605.  
  20606. C Specification 
  20607.  
  20608.   void gluPartialDisk( GLUquadricObj *qobj,
  20609.                        GLdouble innerRadius,
  20610.                        GLdouble outerRadius,
  20611.                        GLint slices,
  20612.                        GLint loops,
  20613.                        GLdouble startAngle,
  20614.                        GLdouble sweepAngle )
  20615.  
  20616.  
  20617.  
  20618.  
  20619. Parameters 
  20620.  
  20621.  
  20622.   qobj         Specifies a quadrics object (created with gluNewQuadric).
  20623.  
  20624.   innerRadius  Specifies the inner radius of the partial disk (can be zero).
  20625.  
  20626.   outerRadius  Specifies the outer radius of the partial disk.
  20627.  
  20628.   slices       Specfies the number of subdivisions around the z axis.
  20629.  
  20630.   loops        Specifies the number of concentric rings about the origin into
  20631.                which the partial disk is subdivided.
  20632.  
  20633.   startAngle   Specifies the starting angle, in degrees, of the disk portion.
  20634.  
  20635.   sweepAngle   Specifies the sweep angle, in degrees, of the disk portion.
  20636.  
  20637.  
  20638.  
  20639.  
  20640. Description 
  20641.  
  20642.   gluPartialDisk renders a partial disk on the z=0 plane.  A partial disk is
  20643.   similar to a full disk, except that only the subset of the disk from
  20644.   startAngle through startAngle + sweepAngle is included (where 0 degrees is
  20645.   along the +y axis, 90 degrees along the +x axis, 180 along the -y axis, and
  20646.   270 along the -x axis).
  20647.  
  20648.   The partial disk has a radius of outerRadius, and contains a concentric
  20649.   circular hole with a radius of innerRadius.  If innerRadius is zero, then
  20650.   no hole is generated.  The partial disk is subdivided around the z axis
  20651.   into slices (like pizza slices), and also about the z axis into rings (as
  20652.   specified by slices and loops, respectively).
  20653.  
  20654.   With respect to orientation, the +z side of the partial disk is considered
  20655.   to be outside (see gluQuadricOrientation). This means that if the
  20656.   orientation is set to GLU_OUTSIDE, then any normals generated point along
  20657.   the +z axis.  Otherwise, they point along the -z axis.
  20658.  
  20659.   If texturing is turned on (with gluQuadricTexture), texture coordinates are
  20660.   generated linearly such that where r=outerRadius, the value at (r, 0, 0) is
  20661.   (1, 0.5), at (0, r, 0) it is (0.5, 1), at (-r, 0, 0) it is (0, 0.5), and at
  20662.   (0, -r, 0) it is (0.5, 0).
  20663.  
  20664.  
  20665.  
  20666.  
  20667.  
  20668. See Also 
  20669.  
  20670.   gluCylinder, gluDisk, gluNewQuadric, gluQuadricOrientation,
  20671.   gluQuadricTexture, gluSphere
  20672.  
  20673.  
  20674.  
  20675. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  20676.  
  20677.  Introduction | Alphabetic | Specification 
  20678.  
  20679. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  20680. Look here for legal stuff:  Legal 
  20681.  
  20682.  
  20683. ΓòÉΓòÉΓòÉ 3.165. gluPerspective ΓòÉΓòÉΓòÉ
  20684.  
  20685.  OpenGL man pages 
  20686.  
  20687. gluPerspective 
  20688.  
  20689.  
  20690.  
  20691.  
  20692.  
  20693.  
  20694. Name 
  20695.  
  20696.   gluPerspective - set up a perspective projection matrix
  20697.  
  20698.  
  20699.  
  20700.  
  20701. C Specification 
  20702.  
  20703.   void gluPerspective( GLdouble fovy,
  20704.                        GLdouble aspect,
  20705.                        GLdouble zNear,
  20706.                        GLdouble zFar )
  20707.  
  20708.  
  20709.  
  20710.  
  20711. Parameters 
  20712.  
  20713.  
  20714.   fovy    Specifies the field of view angle, in degrees, in the y direction.
  20715.  
  20716.   aspect  Specifies the aspect ratio that determines the field of view in the
  20717.           x direction.  The aspect ratio is the ratio of x (width) to y
  20718.           (height).
  20719.  
  20720.   zNear   Specifies the distance from the viewer to the near clipping plane
  20721.           (always positive).
  20722.  
  20723.   zFar    Specifies the distance from the viewer to the far clipping plane
  20724.           (always positive).
  20725.  
  20726.  
  20727.  
  20728.  
  20729. Description 
  20730.  
  20731.   gluPerspective specifies a viewing frustum into the world coordinate
  20732.   system.  In general, the aspect ratio in gluPerspective should match the
  20733.   aspect ratio of the associated viewport.  For example, aspect=2.0 means the
  20734.   viewer's angle of view is twice as wide in x as it is in y. If the viewport
  20735.   is twice as wide as it is tall, it displays the image without distortion.
  20736.  
  20737.   The matrix generated by gluPerspective is multipled by the current matrix,
  20738.   just as if glMultMatrix were called with the generated matrix.  To load the
  20739.   perspective matrix onto the current matrix stack instead, precede the call
  20740.   to gluPerspective with a call to glLoadIdentity.
  20741.  
  20742.   Given f defined as follows:
  20743.                                             fovy
  20744.                               f = cotangent(----)
  20745.                                               2
  20746.   The generated matrix is
  20747.  
  20748.                   |    f                                   |
  20749.                   |  ------  0      0            0         |
  20750.                   |  aspect                                |
  20751.                   |                                        |
  20752.                   |    0     f      0            0         |
  20753.                   |                                        |
  20754.                   |             zFar+zNear  2*zFar*zNear   |
  20755.                   |    0     0  ----------  ------------   |
  20756.                   |             zNear-zFar   zNear-zFar    |
  20757.                   |                                        |
  20758.                   |    0     0      -1           0         |
  20759.  
  20760.  
  20761.  
  20762. Notes 
  20763.  
  20764.   Depth buffer precision is affected by the values specified for zNear and
  20765.   zFar.  The greater the ratio of zFar to zNear is, the less effective the
  20766.   depth buffer will be at distinguishing between surfaces that are near each
  20767.   other.  If
  20768.                                        zFar
  20769.                                    r = -----
  20770.                                        zNear
  20771.  
  20772.   roughly log r bits of depth buffer precision are lost.  Because r
  20773.              2
  20774.   approaches infinity as zNear approaches zero, zNear must never be set to
  20775.   zero.
  20776.  
  20777.  
  20778.  
  20779.  
  20780. See Also 
  20781.  
  20782.   glFrustum, glLoadIdentity, glMultMatrix, gluOrtho2D
  20783.  
  20784. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  20785.  
  20786.  Introduction | Alphabetic | Specification 
  20787.  
  20788. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  20789. Look here for legal stuff:  Legal 
  20790.  
  20791.  
  20792. ΓòÉΓòÉΓòÉ 3.166. gluPickMatrix ΓòÉΓòÉΓòÉ
  20793.  
  20794.  OpenGL man pages 
  20795.  
  20796. gluPickMatrix 
  20797.  
  20798.  
  20799.  
  20800.  
  20801.  
  20802.  
  20803. Name 
  20804.  
  20805.   gluPickMatrix - define a picking region
  20806.  
  20807.  
  20808.  
  20809.  
  20810. C Specification 
  20811.  
  20812.   void gluPickMatrix( GLdouble x,
  20813.                       GLdouble y,
  20814.                       GLdouble width,
  20815.                       GLdouble height,
  20816.                       GLint viewport[4] )
  20817.  
  20818.  
  20819.  
  20820.  
  20821. Parameters 
  20822.  
  20823.  
  20824.   x, y Specify the center of a picking region in window coordinates.
  20825.  
  20826.   width, height
  20827.        Specify the width and height, respectively, of the picking region in
  20828.        window coordinates.
  20829.  
  20830.   viewport
  20831.        Specifies the current viewport (as from a glGetIntegerv call).
  20832.  
  20833.  
  20834.  
  20835.  
  20836. Description 
  20837.  
  20838.   gluPickMatrix creates a projection matrix that can be used to restrict
  20839.   drawing to a small region of the viewport.  This is typically useful to
  20840.   determine what objects are being drawn near the cursor.  Use gluPickMatrix
  20841.   to restrict drawing to a small region around the cursor.  Then, enter
  20842.   selection mode (with glRenderMode and rerender the scene.  All primitives
  20843.   that would have been drawn near the cursor are identified and stored in the
  20844.   selection buffer.
  20845.  
  20846.   The matrix created by gluPickMatrix is multiplied by the current matrix
  20847.   just as if glMultMatrix is called with the generated matrix.  To
  20848.   effectively use the generated pick matrix for picking, first call
  20849.   glLoadIdentity to load an identity matrix onto the perspective matrix
  20850.   stack.  Then call gluPickMatrix, and finally, call a command (such as
  20851.   gluPerspective) to multiply the perspective matrix by the pick matrix.
  20852.  
  20853.   When using gluPickMatrix to pick NURBS, be careful to turn off the NURBS
  20854.   property GLU_AUTO_LOAD_MATRIX.  If GLU_AUTO_LOAD_MATRIX is not turned off,
  20855.   then any NURBS surface rendered is subdivided differently with the pick
  20856.   matrix than the way it was subdivided without the pick matrix.
  20857.  
  20858.  
  20859.  
  20860.  
  20861. Example 
  20862.  
  20863.   When rendering a scene as follows:
  20864.  
  20865.   glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluPerspective(...);
  20866.   glMatrixMode(GL_MODELVIEW); /* Draw the scene */
  20867.  
  20868.   a portion of the viewport can be selected as a pick region like this:
  20869.  
  20870.   glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluPickMatrix(x, y, width,
  20871.   height, viewport); gluPerspective(...); glMatrixMode(GL_MODELVIEW); /* Draw
  20872.   the scene */
  20873.  
  20874.  
  20875.  
  20876.  
  20877. See Also 
  20878.  
  20879.   glGet, glLoadIndentity, glMultMatrix, glRenderMode, gluPerspective
  20880.  
  20881.  
  20882.  
  20883. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  20884.  
  20885.  Introduction | Alphabetic | Specification 
  20886.  
  20887. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  20888. Look here for legal stuff:  Legal 
  20889.  
  20890.  
  20891. ΓòÉΓòÉΓòÉ 3.167. gluProject ΓòÉΓòÉΓòÉ
  20892.  
  20893.  OpenGL man pages 
  20894.  
  20895. gluProject 
  20896.  
  20897.  
  20898.  
  20899.  
  20900.  
  20901.  
  20902. Name 
  20903.  
  20904.   gluProject - map object coordinates to window coordinates
  20905.  
  20906.  
  20907.  
  20908.  
  20909. C Specification 
  20910.  
  20911.   int gluProject( GLdouble objx,
  20912.                   GLdouble objy,
  20913.                   GLdouble objz,
  20914.                   const GLdouble modelMatrix[16],
  20915.                   const GLdouble projMatrix[16],
  20916.                   const GLint viewport[4],
  20917.                   GLdouble *winx,
  20918.                   GLdouble *winy,
  20919.                   GLdouble *winz )
  20920.  
  20921.  
  20922.  
  20923.  
  20924. Parameters 
  20925.  
  20926.  
  20927.   objx, objy, objz
  20928.                   Specify the object coordinates.
  20929.  
  20930.   modelMatrix     Specifies the current modelview matrix (as from a
  20931.                   glGetDoublev call).
  20932.  
  20933.   projMatrix      Specifies the current projection matrix (as from a
  20934.                   glGetDoublev call).
  20935.  
  20936.   viewport        Specifies the current viewport (as from a glGetIntegerv
  20937.                   call).
  20938.  
  20939.   winx, winy, winz
  20940.                   Return the computed window coordinates.
  20941.  
  20942.  
  20943.  
  20944.  
  20945. Description 
  20946.  
  20947.   gluProject transforms the specified object coordinates into window
  20948.   coordinates using modelMatrix, projMatrix, and viewport.  The result is
  20949.   stored in winx, winy, and winz.  A return value of GL_TRUE indicates
  20950.   success, and GL_FALSE indicates failure.
  20951.  
  20952.  
  20953.  
  20954.  
  20955. See Also 
  20956.  
  20957.   glGet, gluUnProject
  20958.  
  20959.  
  20960.  
  20961. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  20962.  
  20963.  Introduction | Alphabetic | Specification 
  20964.  
  20965. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  20966. Look here for legal stuff:  Legal 
  20967.  
  20968.  
  20969. ΓòÉΓòÉΓòÉ 3.168. gluPwlCurve ΓòÉΓòÉΓòÉ
  20970.  
  20971.  OpenGL man pages 
  20972.  
  20973. gluPwlCurve 
  20974.  
  20975.  
  20976.  
  20977.  
  20978.  
  20979.  
  20980. Name 
  20981.  
  20982.   gluPwlCurve - describe a piecewise linear NURBS trimming curve
  20983.  
  20984.  
  20985.  
  20986.  
  20987. C Specification 
  20988.  
  20989.   void gluPwlCurve( GLUnurbsObj *nobj,
  20990.                     GLint count,
  20991.                     GLfloat *array,
  20992.                     GLint stride,
  20993.                     GLenum type )
  20994.  
  20995.  
  20996.  
  20997.  
  20998. Parameters 
  20999.  
  21000.  
  21001.   nobj    Specifies the NURBS object (created with gluNewNurbsRenderer).
  21002.  
  21003.   count   Specifies the number of points on the curve.
  21004.  
  21005.   array   Specifies an array containing the curve points.
  21006.  
  21007.   stride  Specifies the offset (a number of single-precision floating-point
  21008.           values) between points on the curve.
  21009.  
  21010.   type    Specifies the type of curve.  Must be either GLU_MAP1_TRIM_2 or
  21011.           GLU_MAP1_TRIM_3.
  21012.  
  21013.  
  21014.  
  21015.  
  21016. Description 
  21017.  
  21018.   gluPwlCurve describes a piecewise linear trimming curve for a NURBS
  21019.   surface.  A piecewise linear curve consists of a list of coordinates of
  21020.   points in the parameter space for the NURBS surface to be trimmed.  These
  21021.   points are connected with line segments to form a curve.  If the curve is
  21022.   an approximation to a real curve, the points should be close enough that
  21023.   the resulting path appears curved at the resolution used in the
  21024.   application.
  21025.  
  21026.   If type is GLU_MAP1_TRIM_2, then it describes a curve in two-dimensional (u
  21027.   and v) parameter space.  If it is GLU_MAP1_TRIM_3, then it describes a
  21028.   curve in two-dimensional homogeneous (u, v, and w) parameter space.  Please
  21029.   refer to the  gluBeginTrim reference page for more information about
  21030.   trimming curves.
  21031.  
  21032.  
  21033.  
  21034.  
  21035. Notes 
  21036.  
  21037.   To describe a trim curve which closely follows the contours of a Nurbs
  21038.   surface use gluNurbsCurve.
  21039.  
  21040.  
  21041.  
  21042.  
  21043. See Also 
  21044.  
  21045.   gluBeginCurve, gluBeginTrim, gluNewNurbsRenderer, gluNurbsCurve
  21046.  
  21047.  
  21048.  
  21049. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  21050.  
  21051.  Introduction | Alphabetic | Specification 
  21052.  
  21053. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  21054. Look here for legal stuff:  Legal 
  21055.  
  21056.  
  21057. ΓòÉΓòÉΓòÉ 3.169. gluQuadricCallback ΓòÉΓòÉΓòÉ
  21058.  
  21059.  OpenGL man pages 
  21060.  
  21061. gluQuadricCallback 
  21062.  
  21063.  
  21064.  
  21065.  
  21066.  
  21067.  
  21068. Name 
  21069.  
  21070.   gluQuadricCallback - define a callback for a quadrics object
  21071.  
  21072.  
  21073.  
  21074.  
  21075. C Specification 
  21076.  
  21077.   void gluQuadricCallback( GLUquadricObj *qobj,
  21078.                            GLenum which,
  21079.                            void (*fn)( )
  21080.  
  21081.  
  21082.  
  21083.  
  21084. Parameters 
  21085.  
  21086.  
  21087.   qobj   Specifies the quadrics object (created with gluNewQuadric).
  21088.  
  21089.   which  Specifies the callback being defined.  The only valid value is
  21090.          GLU_ERROR.
  21091.  
  21092.   fn     Specifies the function to be called.
  21093.  
  21094.  
  21095.  
  21096.  
  21097. Description 
  21098.  
  21099.   gluQuadricCallback is used to define a new callback to be used by a
  21100.   quadrics object.  If the specified callback is already defined, then it is
  21101.   replaced.  If fn is NULL, then any existing callback is erased.
  21102.  
  21103.   The one legal callback is GLU_ERROR:
  21104.  
  21105.   GLU_ERROR      The function is called when an error is encountered.  Its
  21106.                  single argument is of type GLenum, and it indicates the
  21107.                  specific error that occurred.  Character strings describing
  21108.                  these errors can be retrieved with the gluErrorString call.
  21109.  
  21110.  
  21111.  
  21112.  
  21113. See Also 
  21114.  
  21115.   gluErrorString, gluNewQuadric
  21116.  
  21117.  
  21118.  
  21119. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  21120.  
  21121.  Introduction | Alphabetic | Specification 
  21122.  
  21123. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  21124. Look here for legal stuff:  Legal 
  21125.  
  21126.  
  21127. ΓòÉΓòÉΓòÉ 3.170. gluQuadricDrawStyle ΓòÉΓòÉΓòÉ
  21128.  
  21129.  OpenGL man pages 
  21130.  
  21131. gluQuadricDrawStyle 
  21132.  
  21133.  
  21134.  
  21135.  
  21136.  
  21137.  
  21138. Name 
  21139.  
  21140.   gluQuadricDrawStyle - specify the draw style desired for quadrics
  21141.  
  21142.  
  21143.  
  21144.  
  21145. C Specification 
  21146.  
  21147.   void gluQuadricDrawStyle( GLUquadricObj *qobj,
  21148.                             GLenum drawStyle )
  21149.  
  21150.  
  21151.  
  21152.  
  21153. Parameters 
  21154.  
  21155.  
  21156.   qobj       Specifies the quadrics object (created with gluNewQuadric).
  21157.  
  21158.   drawStyle  Specifies the desired draw style.  Valid values are GLU_FILL,
  21159.              GLU_LINE, GLU_SILHOUETTE, and GLU_POINT.
  21160.  
  21161.  
  21162.  
  21163.  
  21164. Description 
  21165.  
  21166.   gluQuadricDrawStyle specifies the draw style for quadrics rendered with
  21167.   qobj.  The legal values are as follows:
  21168.  
  21169.   GLU_FILL       Quadrics are rendered with polygon primitives.  The polygons
  21170.                  are drawn in a counterclockwise fashion with respect to
  21171.                  their normals (as defined with gluQuadricOrientation).
  21172.  
  21173.   GLU_LINE       Quadrics are rendered as a set of lines.
  21174.  
  21175.   GLU_SILHOUETTE Quadrics are rendered as a set of lines, except that edges
  21176.                  separating coplanar faces will not be drawn.
  21177.  
  21178.   GLU_POINT      Quadrics are rendered as a set of points.
  21179.  
  21180.  
  21181.  
  21182.  
  21183. See Also 
  21184.  
  21185.   gluNewQuadric, gluQuadricNormals, gluQuadricOrientation,  gluQuadricTexture
  21186.  
  21187.  
  21188.  
  21189. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  21190.  
  21191.  Introduction | Alphabetic | Specification 
  21192.  
  21193. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  21194. Look here for legal stuff:  Legal 
  21195.  
  21196.  
  21197. ΓòÉΓòÉΓòÉ 3.171. gluQuadricNormals ΓòÉΓòÉΓòÉ
  21198.  
  21199.  OpenGL man pages 
  21200.  
  21201. gluQuadricNormals 
  21202.  
  21203.  
  21204.  
  21205.  
  21206.  
  21207.  
  21208. Name 
  21209.  
  21210.   gluQuadricNormals - specify what kind of normals are desired for quadrics
  21211.  
  21212.  
  21213.  
  21214.  
  21215. C Specification 
  21216.  
  21217.   void gluQuadricNormals( GLUquadricObj *qobj,
  21218.                           GLenum normals )
  21219.  
  21220.  
  21221.  
  21222.  
  21223. Parameters 
  21224.  
  21225.  
  21226.   qobj     Specifes the quadrics object (created with gluNewQuadric).
  21227.  
  21228.   normals  Specifies the desired type of normals.  Valid values are GLU_NONE,
  21229.            GLU_FLAT, and GLU_SMOOTH.
  21230.  
  21231.  
  21232.  
  21233.  
  21234. Description 
  21235.  
  21236.   gluQuadricNormals specifies what kind of normals are desired for quadrics
  21237.   rendered with qobj.  The legal values are as follows:
  21238.  
  21239.   GLU_NONE     No normals are generated.
  21240.  
  21241.   GLU_FLAT     One normal is generated for every facet of a quadric.
  21242.  
  21243.   GLU_SMOOTH   One normal is generated for every vertex of a quadric.  This
  21244.                is the default.
  21245.  
  21246.  
  21247.  
  21248.  
  21249. See Also 
  21250.  
  21251.   gluNewQuadric, gluQuadricDrawStyle, gluQuadricOrientation,
  21252.   gluQuadricTexture
  21253.  
  21254.  
  21255.  
  21256. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  21257.  
  21258.  Introduction | Alphabetic | Specification 
  21259.  
  21260. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  21261. Look here for legal stuff:  Legal 
  21262.  
  21263.  
  21264. ΓòÉΓòÉΓòÉ 3.172. gluQuadricOrientation ΓòÉΓòÉΓòÉ
  21265.  
  21266.  OpenGL man pages 
  21267.  
  21268. gluQuadricOrientation 
  21269.  
  21270.  
  21271.  
  21272.  
  21273.  
  21274.  
  21275. Name 
  21276.  
  21277.   gluQuadricOrientation - specify inside/outside orientation for quadrics
  21278.  
  21279.  
  21280.  
  21281.  
  21282. C Specification 
  21283.  
  21284.   void gluQuadricOrientation( GLUquadricObj *qobj,
  21285.                               GLenum orientation )
  21286.  
  21287.  
  21288.  
  21289.  
  21290. Parameters 
  21291.  
  21292.  
  21293.   qobj         Specifies the quadrics object (created with gluNewQuadric).
  21294.  
  21295.   orientation  Specifies the desired orientation.  Valid values are
  21296.                GLU_OUTSIDE and GLU_INSIDE.
  21297.  
  21298.  
  21299.  
  21300.  
  21301. Description 
  21302.  
  21303.   gluQuadricOrientation specifies what kind of orientation is desired for
  21304.   quadrics rendered with qobj.  The orientation values are as follows:
  21305.  
  21306.   GLU_OUTSIDE    Quadrics are drawn with normals pointing outward.
  21307.  
  21308.   GLU_INSIDE     Normals point inward.  The default is GLU_OUTSIDE.
  21309.  
  21310.   Note that the interpretation of outward and inward depends on the quadric
  21311.   being drawn.
  21312.  
  21313.  
  21314.  
  21315.  
  21316. See Also 
  21317.  
  21318.   gluNewQuadric, gluQuadricDrawStyle, gluQuadricNormals, gluQuadricTexture
  21319.  
  21320.  
  21321.  
  21322. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  21323.  
  21324.  Introduction | Alphabetic | Specification 
  21325.  
  21326. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  21327. Look here for legal stuff:  Legal 
  21328.  
  21329.  
  21330. ΓòÉΓòÉΓòÉ 3.173. gluQuadricTexture ΓòÉΓòÉΓòÉ
  21331.  
  21332.  OpenGL man pages 
  21333.  
  21334. gluQuadricTexture 
  21335.  
  21336.  
  21337.  
  21338.  
  21339.  
  21340.  
  21341. Name 
  21342.  
  21343.   gluQuadricTexture - specify if texturing is desired for quadrics
  21344.  
  21345.  
  21346.  
  21347.  
  21348. C Specification 
  21349.  
  21350.   void gluQuadricTexture( GLUquadricObj *qobj,
  21351.                           GLboolean textureCoords )
  21352.  
  21353.  
  21354.  
  21355.  
  21356. Parameters 
  21357.  
  21358.  
  21359.   qobj           Specifies the quadrics object (created with gluNewQuadric).
  21360.  
  21361.   textureCoords  Specifies a flag indicating if texture coordinates should be
  21362.                  generated.
  21363.  
  21364.  
  21365.  
  21366.  
  21367. Description 
  21368.  
  21369.   gluQuadricTexture specifies if texture coordinates should be generated for
  21370.   quadrics rendered with qobj.  If the value of textureCoords is GL_TRUE,
  21371.   then texture coordinates are generated, and if textureCoords is GL_FALSE,
  21372.   they are not.  The default is GL_FALSE.
  21373.  
  21374.   The manner in which texture coordinates are generated depends upon the
  21375.   specific quadric rendered.
  21376.  
  21377.  
  21378.  
  21379.  
  21380. See Also 
  21381.  
  21382.   gluNewQuadric, gluQuadricDrawStyle, gluQuadricNormals,
  21383.   gluQuadricOrientation
  21384.  
  21385.  
  21386.  
  21387. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  21388.  
  21389.  Introduction | Alphabetic | Specification 
  21390.  
  21391. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  21392. Look here for legal stuff:  Legal 
  21393.  
  21394.  
  21395. ΓòÉΓòÉΓòÉ 3.174. gluScaleImage ΓòÉΓòÉΓòÉ
  21396.  
  21397.  OpenGL man pages 
  21398.  
  21399. gluScaleImage 
  21400.  
  21401.  
  21402.  
  21403.  
  21404.  
  21405.  
  21406. Name 
  21407.  
  21408.   gluScaleImage - scale an image to an arbitrary size
  21409.  
  21410.  
  21411.  
  21412.  
  21413. C Specification 
  21414.  
  21415.   int gluScaleImage( GLenum format,
  21416.                      GLint widthin,
  21417.                      GLint heightin,
  21418.                      GLenum typein,
  21419.                      const void *datain,
  21420.                      GLint widthout,
  21421.                      GLint heightout,
  21422.                      GLenum typeout,
  21423.                      void *dataout )
  21424.  
  21425.  
  21426.  
  21427.  
  21428. Parameters 
  21429.  
  21430.  
  21431.   format     Specifies the format of the pixel data.  The following symbolic
  21432.              values are valid: GL_COLOR_INDEX, GL_STENCIL_INDEX,
  21433.              GL_DEPTH_COMPONENT, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB,
  21434.              GL_RGBA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
  21435.  
  21436.   widthin, heightin
  21437.              Specify the width and height, respectively, of the source image
  21438.              that is scaled.
  21439.  
  21440.   typein     Specifies the data type for datain. Must be one of
  21441.              GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT,
  21442.              GL_SHORT, GL_UNSIGNED_INT, GL_INT, or GL_FLOAT.
  21443.  
  21444.   datain     Specifies a pointer to the source image.
  21445.  
  21446.   widthout, heightout
  21447.              Specify the width and height, respectively, of the destination
  21448.              image.
  21449.  
  21450.   typeout    Specifies the data type for dataout. Must be one of
  21451.              GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT,
  21452.              GL_SHORT, GL_UNSIGNED_INT, GL_INT, or GL_FLOAT.
  21453.  
  21454.   dataout    Specifies a pointer to the destination image.
  21455.  
  21456.  
  21457.  
  21458.  
  21459. Description 
  21460.  
  21461.   gluScaleImage scales a pixel image using the appropriate pixel store modes
  21462.   to unpack data from the source image and pack data into the destination
  21463.   image.
  21464.  
  21465.   When shrinking an image, gluScaleImage uses a box filter to sample the
  21466.   source image and create pixels for the destination image.  When magnifying
  21467.   an image, the pixels from the source image are linearly interpolated to
  21468.   create the destination image.
  21469.  
  21470.   A return value of zero indicates success, otherwise a GLU error code is
  21471.   returned indicating what the problem was (see gluErrorString).
  21472.  
  21473.   Please refer to the glReadPixels reference page for a description of the
  21474.   acceptable values for the format, typein, and typeout parameters.
  21475.  
  21476.  
  21477.  
  21478.  
  21479. See Also 
  21480.  
  21481.   glDrawPixels, glReadPixels, gluBuild1DMipmaps, gluBuild2DMipmaps,
  21482.   gluErrorString
  21483.  
  21484.  
  21485.  
  21486. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  21487.  
  21488.  Introduction | Alphabetic | Specification 
  21489.  
  21490. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  21491. Look here for legal stuff:  Legal 
  21492.  
  21493.  
  21494. ΓòÉΓòÉΓòÉ 3.175. gluSphere ΓòÉΓòÉΓòÉ
  21495.  
  21496.  OpenGL man pages 
  21497.  
  21498. gluSphere 
  21499.  
  21500.  
  21501.  
  21502.  
  21503.  
  21504.  
  21505. Name 
  21506.  
  21507.   gluSphere - draw a sphere
  21508.  
  21509.  
  21510.  
  21511.  
  21512. C Specification 
  21513.  
  21514.   void gluSphere( GLUquadricObj *qobj,
  21515.                   GLdouble radius,
  21516.                   GLint slices,
  21517.                   GLint stacks )
  21518.  
  21519.  
  21520.  
  21521.  
  21522. Parameters 
  21523.  
  21524.  
  21525.   qobj    Specifies the quadrics object (created with gluNewQuadric).
  21526.  
  21527.   radius  Specifies the radius of the sphere.
  21528.  
  21529.   slices  Specifies the number of subdivisions around the z axis (similar to
  21530.           lines of longitude).
  21531.  
  21532.   stacks  Specifies the number of subdivisions along the z axis (similar to
  21533.           lines of latitude).
  21534.  
  21535.  
  21536.  
  21537.  
  21538. Description 
  21539.  
  21540.   gluSphere draws a sphere of the given radius centered around the origin.
  21541.   The sphere is subdivided around the z axis into slices and along the z axis
  21542.   into stacks (similar to lines of longitude and latitude).
  21543.  
  21544.   If the orientation is set to GLU_OUTSIDE (with gluQuadricOrientation), then
  21545.   any normals generated point away from the center of the sphere. Otherwise,
  21546.   they point toward the center of the sphere.
  21547.  
  21548.   If texturing is turned on (with gluQuadricTexture), then texture
  21549.   coordinates are generated so that t ranges from 0.0 at z=-radius to 1.0 at
  21550.   z=radius (t increases linearly along longitudinal lines), and s ranges from
  21551.   0.0 at the +y axis, to 0.25 at the +x axis, to 0.5 at the -y axis, to 0.75
  21552.   at the -x axis, and back to 1.0 at the +y axis.
  21553.  
  21554.  
  21555.  
  21556.  
  21557. See Also 
  21558.  
  21559.   gluCylinder, gluDisk, gluNewQuadric, gluPartialDisk, gluQuadricOrientation
  21560.   gluQuadricTexture
  21561.  
  21562.  
  21563.  
  21564. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  21565.  
  21566.  Introduction | Alphabetic | Specification 
  21567.  
  21568. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  21569. Look here for legal stuff:  Legal 
  21570.  
  21571.  
  21572. ΓòÉΓòÉΓòÉ 3.176. gluTessBeginContour ΓòÉΓòÉΓòÉ
  21573.  
  21574.  OpenGL man pages 
  21575.  
  21576. gluTessBeginContour (GLU version 1.2 and later) 
  21577.  
  21578.  
  21579.  
  21580.  
  21581.  
  21582.  
  21583. Name 
  21584.  
  21585.   gluTessBeginContour, gluTessEndContour - delimit a contour description
  21586.  
  21587.  
  21588.  
  21589.  
  21590. C Specification 
  21591.  
  21592.   void gluTessBeginContour( GLUtesselator *tess )
  21593.  
  21594.   void gluTessEndContour( GLUtesselator *tess )
  21595.  
  21596.  
  21597.  
  21598.  
  21599. Parameters 
  21600.  
  21601.  
  21602.   tess  Specifies the tessellation object (created with gluNewTess).
  21603.  
  21604.  
  21605.  
  21606.  
  21607. Description 
  21608.  
  21609.   gluTessBeginContour and gluTessEndContour delimit the definition of a
  21610.   polygon contour. Within each gluTessBeginContour/gluTessEndContour pair,
  21611.   there can be zero or more calls to gluTessVertex. The vertices specify a
  21612.   closed contour (the last vertex of each contour is automatically linked to
  21613.   the first).  See the gluTessVertex reference page for more details.
  21614.   gluTessBeginContour can only be called between gluTessBeginPolygon and
  21615.   gluTessEndPolygon.
  21616.  
  21617.  
  21618.  
  21619.  
  21620. See Also 
  21621.  
  21622.   gluNewTess, gluTessBeginPolygon, gluTessVertex, gluTessCallback,
  21623.   gluTessProperty, gluTessNormal, gluTessEndPolygon
  21624.  
  21625.  
  21626.  
  21627. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  21628.  
  21629.  Introduction | Alphabetic | Specification 
  21630.  
  21631. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  21632. Look here for legal stuff:  Legal 
  21633.  
  21634.  
  21635. ΓòÉΓòÉΓòÉ 3.177. gluTessBeginPolygon ΓòÉΓòÉΓòÉ
  21636.  
  21637.  OpenGL man pages 
  21638.  
  21639. gluTessBeginPolygon (GLU version 1.2 and later) 
  21640.  
  21641.  
  21642.  
  21643.  
  21644.  
  21645.  
  21646. Name 
  21647.  
  21648.   gluTessBeginPolygon - delimit a polygon description
  21649.  
  21650.  
  21651.  
  21652.  
  21653. C Specification 
  21654.  
  21655.   void gluTessBeginPolygon( GLUtesselator *tess,
  21656.                             void *polygon_data )
  21657.  
  21658.  
  21659.  
  21660.  
  21661. Parameters 
  21662.  
  21663.  
  21664.   tess          Specifies the tessellation object (created with gluNewTess).
  21665.  
  21666.   polygon_data  Specifies a pointer to user polygon data.
  21667.  
  21668.  
  21669.  
  21670.  
  21671. Description 
  21672.  
  21673.   gluTessBeginPolygon and gluTessEndPolygon delimit the definition of a
  21674.   nonconvex polygon. Within each gluTessBeginPolygon/gluTessEndPolygon pair,
  21675.   there must be one or more calls to gluTessBeginContour/gluTessEndContour.
  21676.   Within each contour, there are zero or more calls to gluTessVertex. The
  21677.   vertices specify a closed contour (the last vertex of each contour is
  21678.   automatically linked to the first).  See the gluTessVertex,
  21679.   gluTessBeginContour and gluTessEndContour reference pages for more details.
  21680.  
  21681.   polygon_data is a pointer to a user-defined data structure. If the
  21682.   appropriate callback(s) are specified (see gluTessCallback), then this
  21683.   pointer is returned to the callback function(s). Thus, it is a convenient
  21684.   way to store per-polygon information.
  21685.  
  21686.   Once gluTessEndPolygon is called, the polygon is tessellated, and the
  21687.   resulting triangles are described through callbacks.  See gluTessCallback
  21688.   for descriptions of the callback functions.
  21689.  
  21690.  
  21691.  
  21692.  
  21693. Example 
  21694.  
  21695.   A quadrilateral with a triangular hole in it can be described like this:
  21696.  
  21697.   gluTessBeginPolygon(tobj, NULL);
  21698.    gluTessBeginContour(tobj);
  21699.      gluTessVertex(tobj, v1, v1);
  21700.      gluTessVertex(tobj, v2, v2);
  21701.      gluTessVertex(tobj, v3, v3);
  21702.      gluTessVertex(tobj, v4, v4);
  21703.    gluTessEndContour(tobj);
  21704.    gluTessBeginContour(tobj);
  21705.      gluTessVertex(tobj, v5, v5);
  21706.      gluTessVertex(tobj, v6, v6);
  21707.      gluTessVertex(tobj, v7, v7);
  21708.    gluTessEndContour(tobj);
  21709.   gluTessEndPolygon(tobj);
  21710.  
  21711.  
  21712.  
  21713.  
  21714.  
  21715. See Also 
  21716.  
  21717.   gluNewTess, gluTessBeginContour, gluTessVertex, gluTessCallback,
  21718.   gluTessProperty, gluTessNormal gluTessEndPolygon
  21719.  
  21720.  
  21721.  
  21722. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  21723.  
  21724.  Introduction | Alphabetic | Specification 
  21725.  
  21726. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  21727. Look here for legal stuff:  Legal 
  21728.  
  21729.  
  21730. ΓòÉΓòÉΓòÉ 3.178. gluTessCallback ΓòÉΓòÉΓòÉ
  21731.  
  21732.  OpenGL man pages 
  21733.  
  21734. gluTessCallback (GLU version 1.2 and later) 
  21735.  
  21736.  
  21737.  
  21738.  
  21739.  
  21740.  
  21741. Name 
  21742.  
  21743.   gluTessCallback - define a callback for a tessellation object
  21744.  
  21745.  
  21746.  
  21747.  
  21748. C Specification 
  21749.  
  21750.   void gluTessCallback( GLUtesselator *tess,
  21751.                         GLenum which,
  21752.                         void (*fn)() )
  21753.  
  21754.  
  21755.  
  21756.  
  21757. Parameters 
  21758.  
  21759.  
  21760.   tess   Specifies the tessellation object (created with gluNewTess).
  21761.  
  21762.   which  Specifies the callback being defined.  The following values are
  21763.          valid: GLU_TESS_BEGIN, GLU_TESS_BEGIN_DATA, GLU_TESS_EDGE_FLAG,
  21764.          GLU_TESS_EDGE_FLAG_DATA, GLU_TESS_VERTEX, GLU_TESS_VERTEX_DATA,
  21765.          GLU_TESS_END, GLU_TESS_END_DATA, GLU_TESS_COMBINE,
  21766.          GLU_TESS_COMBINE_DATA, GLU_TESS_ERROR, and GLU_TESS_ERROR_DATA.
  21767.  
  21768.   fn     Specifies the function to be called.
  21769.  
  21770.  
  21771.  
  21772. Description 
  21773.  
  21774.   gluTessCallback is used to indicate a callback to be used by a tessellation
  21775.   object.  If the specified callback is already defined, then it is replaced.
  21776.   If fn is NULL, then the existing callback becomes undefined.
  21777.  
  21778.   These callbacks are used by the tessellation object to describe how a
  21779.   polygon specified by the user is broken into triangles. Note that there are
  21780.   two versions of each callback: one with user-specified polygon data and one
  21781.   without. If both versions of a particular callback are specified then the
  21782.   callback with user-specified polygon data will be used. Note that
  21783.   "polygon_data" is a copy of the pointer that was specified when
  21784.   gluTessBeginPolygon was called.
  21785.  
  21786.   The legal callbacks are as follows:
  21787.  
  21788.   GLU_TESS_BEGIN
  21789.             The begin callback is invoked like glBegin to indicate the start
  21790.             of a (triangle) primitive. The function takes a single argument
  21791.             of type GLenum.  If the GLU_TESS_BOUNDARY_ONLY property is set to
  21792.             GL_FALSE then the argument is set to either GL_TRIANGLE_FAN,
  21793.             GL_TRIANGLE_STRIP, or GL_TRIANGLES. If the GLU_TESS_BOUNDARY_ONLY
  21794.             property is set to GL_TRUE then the argument will be set to
  21795.             GL_LINE_LOOP. The function prototype for this callback looks
  21796.             like:
  21797.  
  21798.             void begin ( GLenum type );
  21799.  
  21800.   GLU_TESS_BEGIN_DATA
  21801.             The same as the GLU_TESS_BEGIN callback except that it takes an
  21802.             additional pointer argument. This pointer is identical to the
  21803.             opaque pointer provided when gluTessBeginPolygon was called. The
  21804.             function prototype for this callback looks like:
  21805.  
  21806.             void beginData ( GLenum type, void *polygon_data );
  21807.  
  21808.   GLU_TESS_EDGE_FLAG
  21809.             The edge flag callback is similar to glEdgeFlag.  The function
  21810.             takes a single Boolean flag that indicates which edges lie on the
  21811.             polygon boundary. If the flag is GL_TRUE, then each vertex that
  21812.             follows begins an edge which lies on the polygon boundary -- that
  21813.             is, an edge which separates an interior region from an exterior
  21814.             one.  If the flag is GL_FALSE, then each vertex that follows
  21815.             begins an edge which lies in the polygon interior. The edge flag
  21816.             callback (if defined) is invoked before the first vertex callback
  21817.             is made.
  21818.  
  21819.             Since triangle fans and triangle strips do not support edge
  21820.             flags, the begin callback is not called with GL_TRIANGLE_FAN or
  21821.             GL_TRIANGLE_STRIP if an edge flag callback is provided.  Instead,
  21822.             the fans and strips are converted to independent triangles. The
  21823.             function prototype for this callback looks like:
  21824.  
  21825.             void edgeFlag ( GLboolean flag );
  21826.  
  21827.   GLU_TESS_EDGE_FLAG_DATA
  21828.             The same as the GLU_TESS_EDGE_FLAG callback except that it takes
  21829.             an additional pointer argument. This pointer is identical to the
  21830.             opaque pointer provided when gluTessBeginPolygon was called. The
  21831.             function prototype for this callback looks like:
  21832.  
  21833.             void edgeFlagData ( GLboolean flag, void *polygon_data );
  21834.  
  21835.   GLU_TESS_VERTEX
  21836.             The vertex callback is invoked between the begin and end
  21837.             callbacks.  It is similar to glVertex, and it defines the
  21838.             vertices of the triangles created by the tessellation process.
  21839.             The function takes a pointer as its only argument.  This pointer
  21840.             is identical to the opaque pointer provided by the user when the
  21841.             vertex was described (see gluTessVertex). The function prototype
  21842.             for this callback looks like:
  21843.  
  21844.             void vertex ( void *vertex_data );
  21845.  
  21846.   GLU_TESS_VERTEX_DATA
  21847.             The same as the GLU_TESS_VERTEX callback except that it takes an
  21848.             additional pointer argument. This pointer is identical to the
  21849.             opaque pointer provided when gluTessBeginPolygon was called. The
  21850.             function prototype for this callback looks like:
  21851.  
  21852.             void vertexData ( void *vertex_data, void *polygon_data );
  21853.  
  21854.   GLU_TESS_END
  21855.             The end callback serves the same purpose as glEnd. It indicates
  21856.             the end of a primitive and it takes no arguments. The function
  21857.             prototype for this callback looks like:
  21858.  
  21859.             void end ( void );
  21860.  
  21861.   GLU_TESS_END_DATA
  21862.             The same as the GLU_TESS_END callback except that it takes an
  21863.             additional pointer argument. This pointer is identical to the
  21864.             opaque pointer provided when gluTessBeginPolygon was called. The
  21865.             function prototype for this callback looks like:
  21866.             void endData ( void *polygon_data);
  21867.  
  21868.   GLU_TESS_COMBINE
  21869.             The combine callback is called to create a new vertex when the
  21870.             tessellation detects an intersection, or wishes to merge
  21871.             features. The function takes four arguments: an array of three
  21872.             elements each of type GLdouble, an array of four pointers, an
  21873.             array of four elements each of type GLfloat, and a pointer to a
  21874.             pointer. The prototype looks like:
  21875.             void combine( GLdouble coords[3], void *vertex_data[4],
  21876.                           GLfloat weight[4], void **outData );
  21877.  
  21878.             The vertex is defined as a linear combination of up to 4 existing
  21879.             vertices, stored in vertex_data. The coefficients of the linear
  21880.             combination are given by weight; these weights always sum to 1.0.
  21881.             All vertex pointers are valid even when some of the weights are
  21882.             zero.  coords gives the location of the new vertex.
  21883.  
  21884.             The user must allocate another vertex, interpolate parameters
  21885.             using vertex_data and weight, and return the new vertex pointer
  21886.             in outData.  This handle is supplied during rendering callbacks.
  21887.             The user is responsible for freeing the memory sometime after
  21888.             gluTessEndPolygon is called.
  21889.  
  21890.             For example, if the polygon lies in an arbitrary plane in 3-space,
  21891.             and we associate a color with each vertex, the GLU_TESS_COMBINE
  21892.             callback might look like this:
  21893.  
  21894.             void myCombine( GLdouble coords[3], VERTEX *d[4],
  21895.                             GLfloat w[4], VERTEX **dataOut )
  21896.             {
  21897.                VERTEX *new = new_vertex();
  21898.  
  21899.                new->x = coords[0];
  21900.                new->y = coords[1];
  21901.                new->z = coords[2];
  21902.                new->r = w[0]*d[0]->r + w[1]*d[1]->r + w[2]*d[2]->r + w[3]*d[3]->r;
  21903.                new->g = w[0]*d[0]->g + w[1]*d[1]->g + w[2]*d[2]->g + w[3]*d[3]->g;
  21904.                new->b = w[0]*d[0]->b + w[1]*d[1]->b + w[2]*d[2]->b + w[3]*d[3]->b;
  21905.                new->a = w[0]*d[0]->a + w[1]*d[1]->a + w[2]*d[2]->a + w[3]*d[3]->a;
  21906.                *dataOut = new;
  21907.             }
  21908.  
  21909.             If the tessellation detects an intersection, then the
  21910.             GLU_TESS_COMBINE or GLU_TESS_COMBINE_DATA callback (see below)
  21911.             must be defined, and it must write a non-NULL pointer into
  21912.             dataOut. Otherwise the GLU_TESS_NEED_COMBINE_CALLBACK error
  21913.             occurs, and no output is generated.  (This is the only error that
  21914.             can occur during tessellation and rendering.)
  21915.  
  21916.   GLU_TESS_COMBINE_DATA
  21917.             The same as the GLU_TESS_COMBINE callback except that it takes an
  21918.             additional pointer argument. This pointer is identical to the
  21919.             opaque pointer provided when gluTessBeginPolygon was called. The
  21920.             function prototype for this callback looks like:
  21921.  
  21922.             void combineData ( GLdouble coords[3], void *vertex_data[4],
  21923.                                GLfloat weight[4], void **outData,
  21924.                                void *polygon_data );
  21925.  
  21926.   GLU_TESS_ERROR
  21927.             The error callback is called when an error is encountered.  The
  21928.             one argument is of type GLenum; it indicates the specific error
  21929.             that occurred and will be set to one of
  21930.             GLU_TESS_MISSING_BEGIN_POLYGON, GLU_TESS_MISSING_END_POLYGON,
  21931.             GLU_TESS_MISSING_BEGIN_CONTOUR, GLU_TESS_MISSING_END_CONTOUR,
  21932.             GLU_TESS_COORD_TOO_LARGE, GLU_TESS_NEED_COMBINE_CALLBACK.
  21933.             Character strings describing these errors can be retrieved with
  21934.             the gluErrorString call. The function prototype for this callback
  21935.             looks like:
  21936.  
  21937.             void error ( GLenum errno );
  21938.  
  21939.             The GLU library will recover from the first four errors by
  21940.             inserting the missing call(s).  GLU_TESS_COORD_TOO_LARGE says
  21941.             that some vertex coordinate exceeded the predefined constant
  21942.             GLU_TESS_MAX_COORD in absolute value, and that the value has been
  21943.             clamped.  (Coordinate values must be small enough so that two can
  21944.             be multiplied together without overflow.)
  21945.             GLU_TESS_NEED_COMBINE_CALLBACK says that the tessellation
  21946.             detected an intersection between two edges in the input data, and
  21947.             the GLU_TESS_COMBINE or GLU_TESS_COMBINE_DATA callback was not
  21948.             provided.  No output will be generated.
  21949.  
  21950.   GLU_TESS_ERROR_DATA
  21951.             The same as the GLU_TESS_ERROR callback except that it takes an
  21952.             additional pointer argument. This pointer is identical to the
  21953.             opaque pointer provided when gluTessBeginPolygon was called. The
  21954.             function prototype for this callback looks like:
  21955.  
  21956.             void errorData ( GLenum errno, void *polygon_data );
  21957.  
  21958.  
  21959.  
  21960. Example 
  21961.  
  21962.   Polygons tessellated can be rendered directly like this:
  21963.  
  21964.   gluTessCallback(tobj, GLU_TESS_BEGIN, glBegin);
  21965.   gluTessCallback(tobj, GLU_TESS_VERTEX, glVertex3dv);
  21966.   gluTessCallback(tobj, GLU_TESS_END, glEnd);
  21967.   gluTessCallback(tobj, GLU_TESS_COMBINE, myCombine);
  21968.   gluTessBeginPolygon(tobj, NULL);
  21969.     gluTessBeginContour(tobj);
  21970.       gluTessVertex(tobj, v, v);
  21971.       ...
  21972.     gluTessEndContour(tobj);
  21973.   gluTessEndPolygon(tobj);
  21974.  
  21975.   Typically, the tessellated polygon should be stored in a display list so
  21976.   that it does not need to be retessellated every time it is rendered.
  21977.  
  21978.  
  21979.  
  21980.  
  21981. See Also 
  21982.  
  21983.   glBegin, glEdgeFlag, glVertex, gluNewTess, gluErrorString, gluTessVertex,
  21984.   gluTessBeginPolygon, gluTessBeginContour, gluTessProperty, gluTessNormal
  21985.  
  21986.  
  21987.  
  21988. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  21989.  
  21990.  Introduction | Alphabetic | Specification 
  21991.  
  21992. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  21993. Look here for legal stuff:  Legal 
  21994.  
  21995.  
  21996. ΓòÉΓòÉΓòÉ 3.179. gluTessCallback ΓòÉΓòÉΓòÉ
  21997.  
  21998.  OpenGL man pages 
  21999.  
  22000. gluTessCallback (GLU versions 1.0 and 1.1) 
  22001.  
  22002.  
  22003.  
  22004.  
  22005.  
  22006.  
  22007. Name 
  22008.  
  22009.   gluTessCallback - define a callback for a tessellation object
  22010.  
  22011.  
  22012.  
  22013.  
  22014. C Specification 
  22015.  
  22016.   void gluTessCallback( GLUtriangulatorObj *tobj,
  22017.                         GLenum which,
  22018.                         void (*fn)( )
  22019.  
  22020.  
  22021.  
  22022.  
  22023. Parameters 
  22024.  
  22025.  
  22026.   tobj   Specifies the tessellation object (created with gluNewTess).
  22027.  
  22028.   which  Specifies the callback being defined.  The following values are
  22029.          valid: GLU_BEGIN, GLU_EDGE_FLAG, GLU_VERTEX, GLU_END, and GLU_ERROR.
  22030.  
  22031.   fn     Specifies the function to be called.
  22032.  
  22033.  
  22034.  
  22035.  
  22036. Description 
  22037.  
  22038.   gluTessCallback is used to indicate a callback to be used by a tessellation
  22039.   object.  If the specified callback is already defined, then it is replaced.
  22040.   If fn is NULL, then the existing callback is erased.
  22041.  
  22042.   These callbacks are used by the tessellation object to describe how a
  22043.   polygon specified by the user is broken into triangles.
  22044.  
  22045.   The legal callbacks are as follows:
  22046.  
  22047.   GLU_BEGIN The begin callback is invoked like glBegin to indicate the start
  22048.             of a (triangle) primitive.  The function takes a single argument
  22049.             of type GLenum that is either GL_TRIANGLE_FAN, GL_TRIANGLE_STRIP,
  22050.             or GL_TRIANGLES.
  22051.  
  22052.   GLU_EDGE_FLAG
  22053.             The edge flag callback is similar to glEdgeFlag.  The function
  22054.             takes a single Boolean flag that indicates which edges of the
  22055.             created triangles were part of the original polygon defined by
  22056.             the user, and which were created by the tessellation process.  If
  22057.             the flag is GL_TRUE, then each vertex that follows begins an edge
  22058.             that was part of the original polygon.  If the flag is GL_FALSE,
  22059.             then each vertex that follows begins an edge that was generated
  22060.             by the tessellator.  The edge flag callback (if defined) is
  22061.             invoked before the first vertex callback is made.
  22062.  
  22063.             Since triangle fans and triangle strips do not support edge
  22064.             flags, the begin callback is not called with GL_TRIANGLE_FAN or
  22065.             GL_TRIANGLE_STRIP if an edge flag callback is provided.  Instead,
  22066.             the fans and strips are converted to independent triangles.
  22067.  
  22068.   GLU_VERTEX
  22069.             The vertex callback is invoked between the begin and end
  22070.             callbacks.  It is similar to glVertex, and it defines the
  22071.             vertices of the triangles created by the tessellation process.
  22072.             The function takes a pointer as its only argument.  This pointer
  22073.             is identical to the opaque pointer provided by the user when the
  22074.             vertex was described (see gluTessVertex).
  22075.  
  22076.   GLU_END   The end callback serves the same purpose as glEnd. It indicates
  22077.             the end of a primitive and it takes no arguments.
  22078.  
  22079.   GLU_ERROR The error callback is called when an error is encountered.  The
  22080.             one argument is of type GLenum, and it indicates the specific
  22081.             error that occurred.  There are eight errors unique to polygon
  22082.             tessellation, named GLU_TESS_ERROR1 through GLU_TESS_ERROR8.
  22083.             Character strings describing these errors can be retrieved with
  22084.             the gluErrorString call.
  22085.  
  22086.  
  22087.  
  22088.  
  22089. Example 
  22090.  
  22091.   Polygons tessellated can be rendered directly like this:
  22092.  
  22093.   gluTessCallback(tobj, GLU_BEGIN, glBegin);
  22094.   gluTessCallback(tobj, GLU_VERTEX, glVertex3dv);
  22095.   gluTessCallback(tobj, GLU_END, glEnd);
  22096.  
  22097.   gluBeginPolygon(tobj);
  22098.      gluTessVertex(tobj, v, v);
  22099.      ...
  22100.   gluEndPolygon(tobj);
  22101.  
  22102.   Typically, the tessellated polygon should be stored in a display list so
  22103.   that it does not need to be retessellated every time it is rendered.
  22104.  
  22105.  
  22106.  
  22107.  
  22108. See Also 
  22109.  
  22110.   glBegin, glEdgeFlag, glVertex, gluDeleteTess, gluErrorString, gluNewTess,
  22111.   gluTessVertex
  22112.  
  22113.  
  22114.  
  22115. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  22116.  
  22117.  Introduction | Alphabetic | Specification 
  22118.  
  22119. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  22120. Look here for legal stuff:  Legal 
  22121.  
  22122.  
  22123. ΓòÉΓòÉΓòÉ 3.180. gluTessEndPolygon ΓòÉΓòÉΓòÉ
  22124.  
  22125.  OpenGL man pages 
  22126.  
  22127. gluTessEndPolygon (GLU version 1.2 and later) 
  22128.  
  22129.  
  22130.  
  22131.  
  22132.  
  22133.  
  22134. Name 
  22135.  
  22136.   gluTessEndPolygon - delimit a polygon description
  22137.  
  22138.  
  22139.  
  22140.  
  22141. C Specification 
  22142.  
  22143.   void gluTessEndPolygon( GLUtesselator *tess )
  22144.  
  22145.  
  22146.  
  22147.  
  22148. Parameters 
  22149.  
  22150.  
  22151.   tess  Specifies the tessellation object (created with gluNewTess).
  22152.  
  22153.  
  22154.  
  22155.  
  22156. Description 
  22157.  
  22158.   gluTessBeginPolygon and gluTessEndPolygon delimit the definition of a
  22159.   nonconvex polygon. Within each gluTessBeginPolygon/gluTessEndPolygon pair,
  22160.   there must be one or more calls to gluTessBeginContour/gluTessEndContour.
  22161.   Within each contour, there are zero or more calls to gluTessVertex. The
  22162.   vertices specify a closed contour (the last vertex of each contour is
  22163.   automatically linked to the first).  See the gluTessVertex,
  22164.   gluTessBeginContour and gluTessEndContour reference pages for more details.
  22165.  
  22166.   Once gluTessEndPolygon is called, the polygon is tessellated, and the
  22167.   resulting triangles are described through callbacks.  See gluTessCallback
  22168.   for descriptions of the callback functions.
  22169.  
  22170.  
  22171.  
  22172.  
  22173. Example 
  22174.  
  22175.   A quadrilateral with a triangular hole in it can be described like this:
  22176.  
  22177.   gluTessBeginPolygon(tobj, NULL);
  22178.    gluTessBeginContour(tobj);
  22179.      gluTessVertex(tobj, v1, v1);
  22180.      gluTessVertex(tobj, v2, v2);
  22181.      gluTessVertex(tobj, v3, v3);
  22182.      gluTessVertex(tobj, v4, v4);
  22183.    gluTessEndContour(tobj);
  22184.    gluTessBeginContour(tobj);
  22185.      gluTessVertex(tobj, v5, v5);
  22186.      gluTessVertex(tobj, v6, v6);
  22187.      gluTessVertex(tobj, v7, v7);
  22188.    gluTessEndContour(tobj);
  22189.   gluTessEndPolygon(tobj);
  22190.  
  22191.  
  22192.  
  22193.  
  22194. See Also 
  22195.  
  22196.   gluNewTess, gluTessBeginContour, gluTessVertex, gluTessCallback,
  22197.   gluTessProperty, gluTessNormal, gluTessBeginPolygon
  22198.  
  22199.  
  22200.  
  22201. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  22202.  
  22203.  Introduction | Alphabetic | Specification 
  22204.  
  22205. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  22206. Look here for legal stuff:  Legal 
  22207.  
  22208.  
  22209. ΓòÉΓòÉΓòÉ 3.181. gluTessNormal ΓòÉΓòÉΓòÉ
  22210.  
  22211.  OpenGL man pages 
  22212.  
  22213. gluTessNormal (GLU version 1.2 and later) 
  22214.  
  22215.  
  22216.  
  22217.  
  22218.  
  22219.  
  22220. Name 
  22221.  
  22222.   gluTessNormal - specify a normal for a polygon
  22223.  
  22224.  
  22225.  
  22226.  
  22227. C Specification 
  22228.  
  22229.   void gluTessNormal( GLUtesselator *tess,
  22230.                       GLdouble x,
  22231.                       GLdouble y,
  22232.                       GLdouble z )
  22233.  
  22234.  
  22235.  
  22236.  
  22237. Parameters 
  22238.  
  22239.  
  22240.   tess  Specifies the tessellation object (created with gluNewTess).
  22241.  
  22242.   x     Specifies the first component of the normal.
  22243.  
  22244.   y     Specifies the second component of the normal.
  22245.  
  22246.   z     Specifies the third component of the normal.
  22247.  
  22248.  
  22249.  
  22250.  
  22251. Description 
  22252.  
  22253.   gluTessNormal describes a normal for a polygon that the user is defining.
  22254.   All input data will be projected onto a plane perpendicular to one of the
  22255.   three coordinate axes before tessellation and all output triangles will be
  22256.   oriented CCW with respect to the normal (CW orientation can be obtained by
  22257.   reversing the sign of the supplied normal). For example, if you know that
  22258.   all polygons lie in the x-y plane, call gluTessNormal(tess, 0.0, 0.0, 1.0)
  22259.   before rendering any polygons.
  22260.  
  22261.   If the supplied normal is (0,0,0) (the default value), the normal is
  22262.   determined as follows. The direction of the normal, up to its sign, is
  22263.   found by fitting a plane to the vertices, without regard to how the
  22264.   vertices are connected. It is expected that the input data lies
  22265.   approximately in the plane; otherwise projection perpendicular to one of
  22266.   the three coordinate axes may substantially change the geometry. The sign
  22267.   of the normal is chosen so that the sum of the signed areas of all input
  22268.   contours is non-negative (where a CCW contour has positive area).
  22269.  
  22270.   The supplied normal persists until it is changed by another call to
  22271.   gluTessNormal.
  22272.  
  22273.  
  22274.  
  22275.  
  22276. See Also 
  22277.  
  22278.   gluTessBeginPolygon, gluTessEndPolygon
  22279.  
  22280.  
  22281.  
  22282. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  22283.  
  22284.  Introduction | Alphabetic | Specification 
  22285.  
  22286. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  22287. Look here for legal stuff:  Legal 
  22288.  
  22289.  
  22290. ΓòÉΓòÉΓòÉ 3.182. gluTessProperty ΓòÉΓòÉΓòÉ
  22291.  
  22292.  OpenGL man pages 
  22293.  
  22294. gluTessProperty (GLU version 1.2 and later) 
  22295.  
  22296.  
  22297.  
  22298.  
  22299.  
  22300.  
  22301. Name 
  22302.  
  22303.   gluTessProperty - set a tessellation object property
  22304.  
  22305.  
  22306.  
  22307.  
  22308. C Specification 
  22309.  
  22310.   void gluTessProperty( GLUtesselator *tess,
  22311.                         GLenum which,
  22312.                         GLdouble value )
  22313.  
  22314.  
  22315.  
  22316.  
  22317. Parameters 
  22318.  
  22319.  
  22320.   tess   Specifies the tessellation object (created with gluNewTess).
  22321.  
  22322.   which  Specifies the property to be set.  Valid values are
  22323.          GLU_TESS_WINDING_RULE, GLU_TESS_BOUNDARY_ONLY, GLU_TESS_TOLERANCE.
  22324.  
  22325.   value  Specifies the value of the indicated property.
  22326.  
  22327.  
  22328.  
  22329.  
  22330. Description 
  22331.  
  22332.   gluTessProperty is used to control properties stored in a tessellation
  22333.   object.  These properties affect the way that the polygons are interpreted
  22334.   and rendered. The legal values for which are as follows:
  22335.  
  22336.  
  22337.   GLU_TESS_WINDING_RULE    determines which parts of the polygon are on the
  22338.                            "interior". value may be set to one of
  22339.                            GLU_TESS_WINDING_ODD, GLU_TESS_WINDING_NONZERO,
  22340.                            GLU_TESS_WINDING_POSITIVE, or
  22341.                            GLU_TESS_WINDING_NEGATIVE, or
  22342.                            GLU_TESS_WINDING_ABS_GEQ_TWO.
  22343.  
  22344.                            To understand how the winding rule works first
  22345.                            consider that the input contours partition the
  22346.                            plane into regions. The winding rule determines
  22347.                            which of these regions are inside the polygon.
  22348.  
  22349.                            For a single contour C, the winding number of a
  22350.                            point x is simply the signed number of revolutions
  22351.                            we make around x as we travel once around C (where
  22352.                            CCW is positive). When there are several contours,
  22353.                            the individual winding numbers are summed. This
  22354.                            procedure associates a signed integer value with
  22355.                            each point x in the plane. Note that the winding
  22356.                            number is the same for all points in a single
  22357.                            region.
  22358.  
  22359.                            The winding rule classifies a region as "inside"
  22360.                            if its winding number belongs to the chosen
  22361.                            category (odd, nonzero, positive, negative, or
  22362.                            absolute value of at least two). The previous GLU
  22363.                            tessellator (prior to GLU 1.2) used the "odd"
  22364.                            rule. The "nonzero" rule is another common way to
  22365.                            define the interior. The other three rules are
  22366.                            useful for polygon CSG operations.
  22367.  
  22368.  
  22369.   GLU_TESS_BOUNDARY_ONLY   is a boolean value ("value" should be set to
  22370.                            GL_TRUE or GL_FALSE). When set to GL_TRUE, a set
  22371.                            of closed contours separating the polygon interior
  22372.                            and exterior are returned instead of a
  22373.                            tessellation. Exterior contours are oriented CCW
  22374.                            with respect to the normal, interior contours are
  22375.                            oriented CW. The GLU_TESS_BEGIN and
  22376.                            GLU_TESS_BEGIN_DATA callbacks use the type
  22377.                            GL_LINE_LOOP for each contour.
  22378.  
  22379.  
  22380.   GLU_TESS_TOLERANCE       specifies a tolerance for merging features to
  22381.                            reduce the size of the output.  For example, two
  22382.                            vertices which are very close to each other might
  22383.                            be replaced by a single vertex. The tolerance is
  22384.                            multiplied by the largest coordinate magnitude of
  22385.                            any input vertex; this specifies the maximum
  22386.                            distance that any feature can move as the result
  22387.                            of a single merge operation. If a single feature
  22388.                            takes part in several merge operations, the total
  22389.                            distance moved could be larger.
  22390.  
  22391.                            Feature merging is completely optional; the
  22392.                            tolerance is only a hint.  The implementation is
  22393.                            free to merge in some cases and not in others, or
  22394.                            to never merge features at all. The default
  22395.                            tolerance is zero.
  22396.  
  22397.                            The current implementation merges vertices only if
  22398.                            they are exactly coincident, regardless of the
  22399.                            current tolerance. A vertex is spliced into an
  22400.                            edge only if the implementation is unable to
  22401.                            distinguish which side of the edge the vertex lies
  22402.                            on. Two edges are merged only when both endpoints
  22403.                            are identical.
  22404.  
  22405.  
  22406.  
  22407.  
  22408. See Also 
  22409.  
  22410.   gluGetTessProperty
  22411.  
  22412.  
  22413.  
  22414. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  22415.  
  22416.  Introduction | Alphabetic | Specification 
  22417.  
  22418. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  22419. Look here for legal stuff:  Legal 
  22420.  
  22421.  
  22422. ΓòÉΓòÉΓòÉ 3.183. gluTessVertex ΓòÉΓòÉΓòÉ
  22423.  
  22424.  OpenGL man pages 
  22425.  
  22426. gluTessVertex (GLU version 1.2 and later) 
  22427.  
  22428.  
  22429.  
  22430.  
  22431.  
  22432.  
  22433. Name 
  22434.  
  22435.   gluTessVertex - specify a vertex on a polygon
  22436.  
  22437.  
  22438.  
  22439.  
  22440. C Specification 
  22441.  
  22442.   void gluTessVertex( GLUtesselator *tess,
  22443.                       GLdouble coords[3],
  22444.                       void *data )
  22445.  
  22446.  
  22447.  
  22448.  
  22449. Parameters 
  22450.  
  22451.  
  22452.   tess    Specifies the tessellation object (created with gluNewTess).
  22453.  
  22454.   coords  Specifies the location of the vertex.
  22455.  
  22456.   data    Specifies an opaque pointer passed back to the user with the vertex
  22457.           callback (as specified by gluTessCallback).
  22458.  
  22459.  
  22460.  
  22461.  
  22462. Description 
  22463.  
  22464.   gluTessVertex describes a vertex on a polygon that the user is defining.
  22465.   Successive gluTessVertex calls describe a closed contour.  For example, if
  22466.   the user wants to describe a quadrilateral, then gluTessVertex should be
  22467.   called four times.  gluTessVertex can only be called between
  22468.   gluTessBeginContour and gluTessEndContour.
  22469.  
  22470.   data normally points to a structure containing the vertex location, as well
  22471.   as other per-vertex attributes such as color and normal.  This pointer is
  22472.   passed back to the user through the GLU_TESS_VERTEX or GLU_TESS_VERTEX_DATA
  22473.   callback after tessellation (see the gluTessCallback reference page).
  22474.  
  22475.  
  22476.  
  22477.  
  22478.  
  22479. Example 
  22480.  
  22481.   A quadrilateral with a triangular hole in it can be described as follows:
  22482.  
  22483.   gluTessBeginPolygon(tobj, NULL);
  22484.    gluTessBeginContour(tobj);
  22485.      gluTessVertex(tobj, v1, v1);
  22486.      gluTessVertex(tobj, v2, v2);
  22487.      gluTessVertex(tobj, v3, v3);
  22488.      gluTessVertex(tobj, v4, v4);
  22489.    gluTessEndContour(tobj);
  22490.    gluTessBeginContour(tobj);
  22491.      gluTessVertex(tobj, v5, v5);
  22492.      gluTessVertex(tobj, v6, v6);
  22493.      gluTessVertex(tobj, v7, v7);
  22494.    gluTessEndContour(tobj); gluTessEndPolygon(tobj);
  22495.  
  22496.  
  22497.  
  22498.  
  22499.  
  22500. See Also 
  22501.  
  22502.   gluTessBeginPolygon, gluNewTess, gluTessBeginContour, gluTessCallback,
  22503.   gluTessProperty, gluTessNormal, gluTessEndPolygon
  22504.  
  22505.  
  22506.  
  22507. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  22508.  
  22509.  Introduction | Alphabetic | Specification 
  22510.  
  22511. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  22512. Look here for legal stuff:  Legal 
  22513.  
  22514.  
  22515. ΓòÉΓòÉΓòÉ 3.184. gluTessVertex ΓòÉΓòÉΓòÉ
  22516.  
  22517.  OpenGL man pages 
  22518.  
  22519. gluTessVertex (GLU versions 1.0 and 1.1) 
  22520.  
  22521.  
  22522.  
  22523.  
  22524.  
  22525.  
  22526. Name 
  22527.  
  22528.   gluTessVertex - specify a vertex on a polygon
  22529.  
  22530.  
  22531.  
  22532.  
  22533. C Specification 
  22534.  
  22535.   void gluTessVertex( GLUtriangulatorObj *tobj,
  22536.                       GLdouble v[3],
  22537.                       void *data )
  22538.  
  22539.  
  22540.  
  22541.  
  22542. Parameters 
  22543.  
  22544.  
  22545.   tobj  Specifies the tessellation object (created with gluNewTess).
  22546.  
  22547.   v     Specifies the location of the vertex.
  22548.  
  22549.   data  Specifies an opaque pointer passed back to the user with the vertex
  22550.         callback (as specified by gluTessCallback).
  22551.  
  22552.  
  22553.  
  22554.  
  22555. Description 
  22556.  
  22557.   gluTessVertex describes a vertex on a polygon that the user is defining.
  22558.   Successive gluTessVertex calls describe a closed contour.  For example, if
  22559.   the user wants to describe a quadrilateral, then gluTessVertex should be
  22560.   called four times.  gluTessVertex can only be called between
  22561.   gluBeginPolygon and gluEndPolygon.
  22562.  
  22563.   data normally points to a structure containing the vertex location, as well
  22564.   as other per-vertex attributes such as color and normal.  This pointer is
  22565.   passed back to the user through the GLU_VERTEX callback after tessellation
  22566.   (see the gluTessCallback reference page).
  22567.  
  22568.  
  22569.  
  22570.  
  22571.  
  22572. Example 
  22573.  
  22574.   A quadrilateral with a triangular hole in it can be described as follows:
  22575.  
  22576.   gluBeginPolygon(tobj);
  22577.      gluTessVertex(tobj, v1, v1);
  22578.      gluTessVertex(tobj, v2, v2);
  22579.      gluTessVertex(tobj, v3, v3);
  22580.      gluTessVertex(tobj, v4, v4);
  22581.   gluNextContour(tobj, GLU_INTERIOR);
  22582.      gluTessVertex(tobj, v5, v5);
  22583.      gluTessVertex(tobj, v6, v6);
  22584.      gluTessVertex(tobj, v7, v7);
  22585.   gluEndPolygon(tobj);
  22586.  
  22587.  
  22588.  
  22589.  
  22590. See Also 
  22591.  
  22592.   gluBeginPolygon, gluNewTess, gluNextContour, gluTessCallback
  22593.  
  22594.  
  22595.  
  22596. ΓòÉΓòÉΓòÉ 3.185. gluUnProject ΓòÉΓòÉΓòÉ
  22597.  
  22598.  OpenGL man pages 
  22599.  
  22600. gluUnProject 
  22601.  
  22602.  
  22603.  
  22604.  
  22605.  
  22606.  
  22607. Name 
  22608.  
  22609.   gluUnProject - map window coordinates to object coordinates
  22610.  
  22611.  
  22612.  
  22613.  
  22614. C Specification 
  22615.  
  22616.   int gluUnProject( GLdouble winx,
  22617.                     GLdouble winy,
  22618.                     GLdouble winz,
  22619.                     const GLdouble modelMatrix[16],
  22620.                     const GLdouble projMatrix[16],
  22621.                     const GLint viewport[4],
  22622.                     GLdouble *objx,
  22623.                     GLdouble *objy,
  22624.                     GLdouble *objz )
  22625.  
  22626.  
  22627.  
  22628.  
  22629. Parameters 
  22630.  
  22631.  
  22632.   winx, winy, winz
  22633.                   Specify the window coordinates to be mapped.
  22634.  
  22635.   modelMatrix     Specifies the modelview matrix (as from a glGetDoublev
  22636.                   call).
  22637.  
  22638.   projMatrix      Specifies the projection matrix (as from a glGetDoublev
  22639.                   call).
  22640.  
  22641.   viewport        Specifies the viewport (as from a glGetIntegerv call).
  22642.  
  22643.   objx, objy, objz
  22644.                   Returns the computed object coordinates.
  22645.  
  22646.  
  22647.  
  22648.  
  22649. Description 
  22650.  
  22651.   gluUnProject maps the specified window coordinates into object coordinates
  22652.   using modelMatrix, projMatrix, and viewport.  The result is stored in objx,
  22653.   objy, and objz.  A return value of GL_TRUE indicates success, and GL_FALSE
  22654.   indicates failure.
  22655.  
  22656.  
  22657.  
  22658.  
  22659. See Also 
  22660.  
  22661.   glGet, gluProject
  22662.  
  22663.  
  22664.  
  22665. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  22666.  
  22667.  Introduction | Alphabetic | Specification 
  22668.  
  22669. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  22670. Look here for legal stuff:  Legal 
  22671.  
  22672.  
  22673. ΓòÉΓòÉΓòÉ 4. OpenGL Index of routines in Specification Order ΓòÉΓòÉΓòÉ
  22674.  
  22675.  OpenGL man pages 
  22676.  
  22677.  Table of Contents 
  22678.  
  22679. Chapter 1. Fundamentals 
  22680.  
  22681. Chapter 2. Rasterization 
  22682.  
  22683. Chapter 3. Per-Fragment Operations and the Framebuffer 
  22684.  
  22685. Chapter 4. Special Functions 
  22686.  
  22687. Chapter 5. State and State Requests 
  22688.  
  22689. OpenGL on the X Window System(tm) 
  22690.  
  22691. The OpenGL Utility Library 
  22692.  
  22693. The Vertex Array Extension 
  22694.  
  22695. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  22696.  
  22697.  Chapter 1. Fundamentals 
  22698.  
  22699.  glGetError 
  22700.            glGetError 
  22701.  glBegin 
  22702.            glBegin, glEnd 
  22703.  glVertex 
  22704.            glVertex2d, glVertex2dv, glVertex2f, glVertex2fv, glVertex2i, 
  22705.            glVertex2iv, glVertex2s, glVertex2sv, glVertex3d, glVertex3dv, 
  22706.            glVertex3f, glVertex3fv, glVertex3i, glVertex3iv, glVertex3s, 
  22707.            glVertex3sv, glVertex4d, glVertex4dv, glVertex4f, glVertex4fv, 
  22708.            glVertex4i, glVertex4iv, glVertex4s, glVertex4sv 
  22709.  glNormal 
  22710.            glNormal3b, glNormal3bv, glNormal3d, glNormal3dv, glNormal3f, 
  22711.            glNormal3fv, glNormal3i, glNormal3iv, glNormal3s, glNormal3sv 
  22712.  glColor 
  22713.            glColor3b,  glColor3bv, glColor3d, glColor3dv, glColor3f, 
  22714.            glColor3fv, glColor3i, glColor3iv, glColor3s, glColor3sv, 
  22715.            glColor3ub, glColor3ubv, glColor3ui, glColor3uiv, glColor3us, 
  22716.            glColor3usv, glColor4b, glColor4bv, glColor4d, glColor4dv, 
  22717.            glColor4f, glColor4fv, glColor4i, glColor4iv, glColor4s, glColor4sv, 
  22718.            glColor4ub, glColor4ubv, glColor4ui, glColor4uiv, glColor4us, 
  22719.            glColor4usv 
  22720.  glIndex 
  22721.            glIndexd, glIndexdv, glIndexf, glIndexfv, glIndexi, glIndexiv, 
  22722.            glIndexs, glIndexsv 
  22723.  glTexCoord 
  22724.            glTexCoord1d, glTexCoord1dv, glTexCoord1f, glTexCoord1fv, 
  22725.            glTexCoord1i, glTexCoord1iv, glTexCoord1s, glTexCoord1sv, 
  22726.            glTexCoord2d, glTexCoord2dv, glTexCoord2f, glTexCoord2fv, 
  22727.            glTexCoord2i, glTexCoord2iv, glTexCoord2s, glTexCoord2sv, 
  22728.            glTexCoord3d, glTexCoord3dv, glTexCoord3f, glTexCoord3fv, 
  22729.            glTexCoord3i, glTexCoord3iv, glTexCoord3s, glTexCoord3sv, 
  22730.            glTexCoord4d, glTexCoord4dv, glTexCoord4f, glTexCoord4fv, 
  22731.            glTexCoord4i, glTexCoord4iv, glTexCoord4s, glTexCoord4sv 
  22732.  glEdgeFlag 
  22733.            glEdgeFlag, glEdgeFlagv 
  22734.  glRect 
  22735.            glRectd, glRectdv, glRectf, glRectfv, glRecti, glRectiv, glRects, 
  22736.            glRectsv 
  22737.  glViewport 
  22738.            glViewport 
  22739.  glDepthRange 
  22740.            glDepthRange 
  22741.  glMatrixMode 
  22742.            glMatrixMode 
  22743.  glLoadMatrix 
  22744.            glLoadMatrixd, glLoadMatrixf 
  22745.  glMultMatrix 
  22746.            glMultMatrixd, glMultMatrixf 
  22747.  glLoadIdentity 
  22748.            glLoadIdentity 
  22749.  glRotate 
  22750.            glRotated, glRotatef 
  22751.  glTranslate 
  22752.            glTranslated, glTranslatef 
  22753.  glScale 
  22754.            glScaled, glScalef 
  22755.  glFrustum 
  22756.            glFrustum 
  22757.  glOrtho 
  22758.            glOrtho 
  22759.  glPushMatrix 
  22760.            glPushMatrix, glPopMatrix 
  22761.  glEnable 
  22762.            glEnable, glDisable 
  22763.  glTexGen 
  22764.            glTexGend, glTexGendv, glTexGenf, glTexGenfv, glTexGeni, glTexGeniv 
  22765.  glClipPlane 
  22766.            glClipPlane 
  22767.  glRasterPos 
  22768.            glRasterPos2d, glRasterPos2dv, glRasterPos2f, glRasterPos2fv, 
  22769.            glRasterPos2i, glRasterPos2iv, glRasterPos2s, glRasterPos2sv, 
  22770.            glRasterPos3d, glRasterPos3dv, glRasterPos3f, glRasterPos3fv, 
  22771.            glRasterPos3i, glRasterPos3iv, glRasterPos3s, glRasterPos3sv, 
  22772.            glRasterPos4d, glRasterPos4dv, glRasterPos4f, glRasterPos4fv, 
  22773.            glRasterPos4i, glRasterPos4iv, glRasterPos4s, glRasterPos4sv 
  22774.  glFrontFace 
  22775.            glFrontFace 
  22776.  glMaterial 
  22777.            glMaterialf, glMaterialfv, glMateriali, glMaterialiv 
  22778.  glLight 
  22779.            glLightf, glLightfv, glLighti, glLightiv 
  22780.  glLightModel 
  22781.            glLightModelf, glLightModelfv, glLightModeli, glLightModeliv 
  22782.  glColorMaterial 
  22783.            glColorMaterial 
  22784.  glShadeModel 
  22785.            glShadeModel 
  22786.  
  22787.   ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  22788.  
  22789.   Chapter 2. Rasterization 
  22790.  
  22791.  glPointSize 
  22792.            glPointSize 
  22793.  glLineWidth 
  22794.            glLineWidth 
  22795.  glLineStipple 
  22796.            glLineStipple 
  22797.  glCullFace 
  22798.            glCullFace 
  22799.  glPolygonStipple 
  22800.            glPolygonStipple 
  22801.  glPolygonMode 
  22802.            glPolygonMode 
  22803.  glPixelStore 
  22804.            glPixelStoref, glPixelStorei 
  22805.  glPixelTransfer 
  22806.            glPixelTransferf, glPixelTransferi 
  22807.  glPixelMap 
  22808.            glPixelMapfv, glPixelMapuiv, glPixelMapusv 
  22809.  glDrawPixels 
  22810.            glDrawPixels 
  22811.  glPixelZoom 
  22812.            glPixelZoom 
  22813.  glBitmap 
  22814.            glBitmap 
  22815.  glTexImage2D 
  22816.            glTexImage2D 
  22817.  glTexImage1D 
  22818.            glTexImage1D 
  22819.  glTexParameter 
  22820.            glTexParameterf, glTexParameterfv, glTexParameteri, glTexParameteriv 
  22821.  glTexEnv 
  22822.            glTexEnvf, glTexEnvfv, glTexEnvi, glTexEnviv 
  22823.  glFog 
  22824.            glFogf, glFogfv, glFogi, glFogiv 
  22825.  
  22826.   ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  22827.  
  22828.   Chapter 3. Per-Fragment Operations and the Framebuffer 
  22829.  
  22830.  glScissor 
  22831.            glScissor 
  22832.  glAlphaFunc 
  22833.            glAlphaFunc 
  22834.  glStencilFunc 
  22835.            glStencilFunc 
  22836.  glStencilOp 
  22837.            glStencilOp 
  22838.  glDepthFunc 
  22839.            glDepthFunc 
  22840.  glBlendFunc 
  22841.            glBlendFunc 
  22842.  glLogicOp 
  22843.            glLogicOp 
  22844.  glDrawBuffer 
  22845.            glDrawBuffer 
  22846.  glIndexMask 
  22847.            glIndexMask 
  22848.  glColorMask 
  22849.            glColorMask 
  22850.  glDepthMask 
  22851.            glDepthMask 
  22852.  glStencilMask 
  22853.            glStencilMask 
  22854.  glClear 
  22855.            glClear 
  22856.  glClearColor 
  22857.            glClearColor 
  22858.  glClearIndex 
  22859.            glClearIndex 
  22860.  glClearDepth 
  22861.            glClearDepth 
  22862.  glClearStencil 
  22863.            glClearStencil 
  22864.  glClearAccum 
  22865.            glClearAccum 
  22866.  glAccum 
  22867.            glAccum 
  22868.  glReadPixels 
  22869.            glReadPixels 
  22870.  glReadBuffer 
  22871.            glReadBuffer 
  22872.  glCopyPixels 
  22873.            glCopyPixels 
  22874.  
  22875.   ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  22876.  
  22877.   Chapter 4. Special Functions 
  22878.  
  22879.  glMap1 
  22880.            glMap1d, glMap1f 
  22881.  glMap2 
  22882.            glMap2d, glMap2f 
  22883.  glEvalCoord 
  22884.            glEvalCoord1d, glEvalCoord1dv, glEvalCoord1f, glEvalCoord1fv, 
  22885.            glEvalCoord2d, glEvalCoord2dv, glEvalCoord2f, glEvalCoord2fv 
  22886.  glMapGrid 
  22887.            glMapGrid1d, glMapGrid1f, glMapGrid2d, glMapGrid2f 
  22888.  glEvalMesh 
  22889.            glEvalMesh1, glEvalMesh2 
  22890.  glEvalPoint 
  22891.            glEvalPoint1, glEvalPoint2 
  22892.  glInitNames 
  22893.            glInitNames 
  22894.  glPushName 
  22895.            glPushName, glPopName 
  22896.  glLoadName 
  22897.            glLoadName 
  22898.  glRenderMode 
  22899.            glRenderMode 
  22900.  glSelectBuffer 
  22901.            glSelectBuffer 
  22902.  glFeedbackBuffer 
  22903.            glFeedbackBuffer 
  22904.  glPassThrough 
  22905.            glPassThrough 
  22906.  glNewList 
  22907.            glNewList, glEndList 
  22908.  glCallList 
  22909.            glCallList 
  22910.  glCallLists 
  22911.            glCallLists 
  22912.  glListBase 
  22913.            glListBase 
  22914.  glGenLists 
  22915.            glGenLists 
  22916.  glIsList 
  22917.            glIsList 
  22918.  glDeleteLists 
  22919.            glDeleteLists 
  22920.  glFlush 
  22921.            glFlush 
  22922.  glFinish 
  22923.            glFinish 
  22924.  glHint 
  22925.            glHint 
  22926.  
  22927.   ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  22928.  
  22929.   Chapter 5. State and State Requests 
  22930.  
  22931.  glGet 
  22932.            glGetBooleanv, glGetDoublev, glGetFloatv, glGetIntegerv 
  22933.  glIsEnabled 
  22934.            glIsEnabled 
  22935.  glGetClipPlane 
  22936.            glGetClipPlane 
  22937.  glGetLight 
  22938.            glGetLightfv, glGetLightiv 
  22939.  glGetMaterial 
  22940.            glGetMaterialfv, glGetMaterialiv 
  22941.  glGetTexEnv 
  22942.            glGetTexEnvfv, glGetTexEnviv 
  22943.  glGetTexGen 
  22944.            glGetTexGendv, glGetTexGenfv, glGetTexGeniv 
  22945.  glGetTexParameter 
  22946.            glGetTexParameterfv, glGetTexParameteriv 
  22947.  glGetTexLevelParameter 
  22948.            glGetTexLevelParameterfv, glGetTexLevelParameteriv 
  22949.  glGetPixelMap 
  22950.            glGetPixelMapfv, glGetPixelMapuiv, glGetPixelMapusv 
  22951.  glGetMap 
  22952.            glGetMapdv, glGetMapfv, glGetMapiv 
  22953.  glGetTexImage 
  22954.            glGetTexImage 
  22955.  glGetPolygonStipple 
  22956.            glGetPolygonStipple 
  22957.  glGetString 
  22958.            glGetString 
  22959.  glPushAttrib 
  22960.            glPushAttrib, glPopAttrib 
  22961.  
  22962.   ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  22963.  
  22964.   OpenGL on the X Window System(tm) 
  22965.  
  22966.  glXIntro 
  22967.            Introduction 
  22968.  glXQueryExtension 
  22969.            glXQueryExtension 
  22970.  glXQueryVersion 
  22971.            glXQueryVersion 
  22972.  glXGetConfig 
  22973.            glXGetConfig 
  22974.  glXChooseVisual 
  22975.            glXChooseVisual 
  22976.  glXCreateGLXPixmap 
  22977.            glXCreateGLXPixmap 
  22978.  glXDestroyGLXPixmap 
  22979.            glXDestroyGLXPixmap 
  22980.  glXCreateContext 
  22981.            glXCreateContext 
  22982.  glXIsDirect 
  22983.            glXIsDirect 
  22984.  glXDestroyContext 
  22985.            glXDestroyContext 
  22986.  glXCopyContext 
  22987.            glXCopyContext 
  22988.  glXMakeCurrent 
  22989.            glXMakeCurrent 
  22990.  glXGetCurrentContext 
  22991.            glXGetCurrentContext 
  22992.  glXGetCurrentDrawable 
  22993.            glXGetCurrentDrawable 
  22994.  glXWaitGL 
  22995.            glXWaitGL 
  22996.  glXWaitX 
  22997.            glXWaitX 
  22998.  glXSwapBuffers 
  22999.            glXSwapBuffers 
  23000.  glXUseXFont 
  23001.            glXUseXFont 
  23002.  
  23003.   ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  23004.  
  23005.   The OpenGL Utility Library 
  23006.  
  23007.  See notes on the new GLU tesselator 
  23008.  
  23009.  gluScaleImage 
  23010.            gluScaleImage 
  23011.  gluBuild1DMipmaps 
  23012.            gluBuild1DMipmaps 
  23013.  gluBuild2DMipmaps 
  23014.            gluBuild2DMipmaps 
  23015.  gluOrtho2D 
  23016.            gluOrtho2D 
  23017.  gluPerspective 
  23018.            gluPerspective 
  23019.  gluLookAt 
  23020.            gluLookAt 
  23021.  gluPickMatrix 
  23022.            gluPickMatrix 
  23023.  gluProject 
  23024.            gluProject 
  23025.  gluUnProject 
  23026.            gluUnProject 
  23027.  gluNewQuadric 
  23028.            gluNewQuadric 
  23029.  gluDeleteQuadric 
  23030.            gluDeleteQuadric 
  23031.  gluQuadricCallback 
  23032.            gluQuadricCallback 
  23033.  gluQuadricNormals 
  23034.            gluQuadricNormals 
  23035.  gluQuadricTexture 
  23036.            gluQuadricTexture 
  23037.  gluQuadricOrientation 
  23038.            gluQuadricOrientation 
  23039.  gluQuadricDrawStyle 
  23040.            gluQuadricDrawStyle 
  23041.  gluSphere 
  23042.            gluSphere 
  23043.  gluCylinder 
  23044.            gluCylinder 
  23045.  gluDisk 
  23046.            gluDisk 
  23047.  gluPartialDisk 
  23048.            gluPartialDisk 
  23049.  gluNewNurbsRenderer 
  23050.            gluNewNurbsRenderer 
  23051.  gluDeleteNurbsRenderer 
  23052.            gluDeleteNurbsRenderer 
  23053.  gluNurbsCallback 
  23054.            gluNurbsCallback 
  23055.  gluBeginCurve 
  23056.            gluBeginCurve, gluEndCurve 
  23057.  gluNurbsCurve 
  23058.            gluNurbsCurve 
  23059.  gluBeginSurface 
  23060.            gluBeginSurface, gluEndSurface 
  23061.  gluNurbsSurface 
  23062.            gluNurbsSurface 
  23063.  gluBeginTrim 
  23064.            gluBeginTrim, gluEndTrim 
  23065.  gluPwlCurve 
  23066.            gluPwlCurve 
  23067.  gluNurbsProperty 
  23068.            gluNurbsProperty 
  23069.  gluLoadSamplingMatrices 
  23070.            gluLoadSamplingMatrices 
  23071.  gluGetNurbsProperty 
  23072.            gluGetNurbsProperty 
  23073.  gluErrorString 
  23074.            gluErrorString 
  23075.  
  23076.  The GLU tesselator for GLU versions 1.0 and 1.1: 
  23077.  
  23078.  gluNewTess 
  23079.            gluNewTess 
  23080.  gluDeleteTess 
  23081.            gluDeleteTess 
  23082.  gluTessCallback 
  23083.            gluTessCallback 
  23084.  gluBeginPolygon 
  23085.            gluBeginPolygon, gluEndPolygon 
  23086.  gluTessVertex 
  23087.            gluTessVertex 
  23088.  gluNextContour 
  23089.            gluNextContour 
  23090.  
  23091.  The GLU tesselator for GLU version 1.2 and later: 
  23092.  
  23093.  gluNewTess 
  23094.            gluNewTess 
  23095.  gluDeleteTess 
  23096.            gluDeleteTess 
  23097.  gluTessCallback 
  23098.            gluTessCallback 
  23099.  gluTessBeginPolygon 
  23100.            gluTessBeginPolygon 
  23101.  gluTessEndPolygon 
  23102.            gluTessEndPolygon 
  23103.  gluTessVertex 
  23104.            gluTessVertex 
  23105.  gluTessBeginContour 
  23106.            gluBeginContour, gluEndContour 
  23107.  gluTessProperty 
  23108.            gluTessProperty 
  23109.  gluGetTessProperty 
  23110.            gluGetTessProperty 
  23111.  gluTessNormal 
  23112.            gluTessNormal 
  23113.  gluBeginPolygon 
  23114.            gluBeginPolygon, gluEndPolygon (Obsolete) 
  23115.  gluNextContour 
  23116.            gluNextContour (Obsolete) 
  23117.  
  23118.   ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  23119.  
  23120.   The Vertex Array Extension 
  23121.  
  23122.  glArrayElementEXT 
  23123.            glArrayElementEXT 
  23124.  glColorPointerEXT 
  23125.            glColorPointerEXT 
  23126.  glDrawArraysEXT 
  23127.            glDrawArraysEXT 
  23128.  glEdgeFlagPointerEXT 
  23129.            glEdgeFlagPointerEXT 
  23130.  glGetPointervEXT 
  23131.            glGetPointervEXT 
  23132.  glIndexPointerEXT 
  23133.            glIndexPointerEXT 
  23134.  glNormalPointerEXT 
  23135.            glNormalPointerEXT 
  23136.  glTexCoordPointerEXT 
  23137.            glTexCoordPointerEXT 
  23138.  glVertexPointerEXT 
  23139.            glVertexPointerEXT 
  23140.  
  23141.  
  23142. ΓòÉΓòÉΓòÉ 5. GLU Version 1.2 Polygon Tessellator Notes ΓòÉΓòÉΓòÉ
  23143.  
  23144.  OpenGL man pages 
  23145.  
  23146.  Some notes on the new polygon tessellator in GLU version 1.2 
  23147.  
  23148. GLU version 1.2 introduces a new polygon tessellator. The following routines 
  23149. have become obsolete and should not be used for new development based on GLU 
  23150. version 1.2 and later. 
  23151.  
  23152.         Obsolete Routine        Replace with
  23153.  
  23154.         gluBeginPolygon         gluTessBeginPolygon; gluTessBeginContour
  23155.         gluEndPolygon           gluTessEndContour; gluTessEndPolygon
  23156.         gluNextContour          gluTessEndContour; gluTessBeginContour
  23157.  
  23158. The following routines are new in GLU version 1.2: 
  23159.  
  23160.         gluGetTessProperty
  23161.         gluTessBeginContour
  23162.         gluTessBeginPolygon
  23163.         gluTessEndContour
  23164.         gluTessEndPolygon
  23165.         gluTessNormal
  23166.         gluTessProperty
  23167.  
  23168. Some routines have had an argument or return-value changed from 
  23169. ``GLUtriangulatorObj *'' to ``GLUtesselator *''. Since the GLU header file for 
  23170. version 1.2 has a typedef from GLUtriangulatorObj to GLUtesselator, source code 
  23171. should not need any immediate changes. However, at some time the source code 
  23172. should be moved to the GLU version 1.2 name. 
  23173.  
  23174.         gluBeginPolygon
  23175.         gluDeleteTess
  23176.         gluEndPolygon
  23177.         gluNewTess
  23178.         gluNextContour
  23179.         gluTessCallback
  23180.         gluTessVertex
  23181.  
  23182. One routine has been expanded to support more valid values for the which 
  23183. argument: 
  23184.  
  23185.         gluTessCallback
  23186.  
  23187. To distinguish what version of the GLU library you are using at compile time, 
  23188. check for the following pre-processor symbols: 
  23189.  
  23190.         none defined                    version 1.0
  23191.         GLU_VERSION_1_1                 version 1.1 or later
  23192.         GLU_VERSION_1_2                 version 1.2 or later
  23193.  
  23194. Digital Open3D supports the following versions of the GLU library: 
  23195.  
  23196.         Digital Open3D Version          GLU Version Supported
  23197.  
  23198.         Before Version 2.6              version 1.0
  23199.         Version 2.6                     version 1.1
  23200.         Version 3.0 and later           version 1.2
  23201.  
  23202. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  23203.  
  23204.  Introduction | Alphabetic | Specification 
  23205.  
  23206. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  23207. Look here for legal stuff:  Legal 
  23208.  
  23209.  
  23210. ΓòÉΓòÉΓòÉ 6. OpenGL on X-Windows ΓòÉΓòÉΓòÉ
  23211.  
  23212.  OpenGL man pages 
  23213.  
  23214. glXIntro 
  23215.  
  23216.  
  23217.  
  23218.  
  23219.  
  23220.  
  23221. Name 
  23222.  
  23223.   glXIntro - Introduction to OpenGL in the X window system
  23224.  
  23225.  
  23226.  
  23227. OVERVIEW
  23228.   OpenGL is a high-performance 3-D-oriented renderer.  It is available in the
  23229.   X window system through the GLX extension.  Use glXQueryExtension and
  23230.   glXQueryVersion to establish whether the GLX extension is supported by an X
  23231.   server, and if so, what version is supported.
  23232.  
  23233.   GLX extended servers make a subset of their visuals available for OpenGL
  23234.   rendering.  Drawables created with these visuals can also be rendered using
  23235.   the core X renderer and with the renderer of any other X extension that is
  23236.   compatible with all core X visuals.
  23237.  
  23238.   GLX extends drawables with several buffers other than the standard color
  23239.   buffer.  These buffers include back and auxiliary color buffers, a depth
  23240.   buffer, a stencil buffer, and a color accumulation buffer.  Some or all are
  23241.   included in each X visual that supports OpenGL.
  23242.  
  23243.   To render using OpenGL into an X drawable, you must first choose a visual
  23244.   that defines the required OpenGL buffers.  glXChooseVisual can be used to
  23245.   simplify selecting a compatible visual.  If more control of the selection
  23246.   process is required, use XGetVisualInfo and glXGetConfig to select among
  23247.   all the available visuals.
  23248.  
  23249.   Use the selected visual to create both a GLX context and an X drawable.
  23250.   GLX contexts are created with glXCreateContext, and drawables are created
  23251.   with either XCreateWindow or glXCreateGLXPixmap.  Finally, bind the context
  23252.   and the drawable together using glXMakeCurrent.  This context/drawable pair
  23253.   becomes the current context and current drawable, and it is used by all
  23254.   OpenGL commands until glXMakeCurrent is called with different arguments.
  23255.  
  23256.   Both core X and OpenGL commands can be used to operate on the current
  23257.   drawable.  The X and OpenGL command streams are not synchronized, however,
  23258.   except at explicitly created boundaries generated by calling glXWaitGL,
  23259.   glXWaitX, XSync, and glFlush.
  23260.  
  23261.  
  23262.  
  23263.  
  23264. Examples 
  23265.  
  23266.   Below is the minimum code required to create an RGBA-format, OpenGL-
  23267.   compatible X window and clear it to yellow.  The code is correct, but it
  23268.   does not include any error checking.  Return values dpy, vi, cx, cmap, and
  23269.   win should all be tested.
  23270.  
  23271.   #include <GL/glx.h> #include <GL/gl.h> #include <unistd.h>
  23272.  
  23273.   static int attributeList[] = { GLX_RGBA, None };
  23274.  
  23275.   static Bool WaitForNotify(Display *d, XEvent *e, char *arg) {
  23276.       return (e->type == MapNotify) && (e->xmap.window == (Window)arg); }
  23277.  
  23278.   int main(int argc, char **argv) {
  23279.       Display *dpy;
  23280.       XVisualInfo *vi;
  23281.       Colormap cmap;
  23282.       XSetWindowAttributes swa;
  23283.       Window win;
  23284.       GLXContext cx;
  23285.       XEvent event;
  23286.  
  23287.       /* get a connection */
  23288.       dpy = XOpenDisplay(0);
  23289.  
  23290.       /* get an appropriate visual */
  23291.       vi = glXChooseVisual(dpy, DefaultScreen(dpy), attributeList);
  23292.  
  23293.       /* create a GLX context */
  23294.       cx = glXCreateContext(dpy, vi, 0, GL_TRUE);
  23295.  
  23296.       /* create a color map */
  23297.       cmap = XCreateColormap(dpy, RootWindow(dpy, vi->screen),
  23298.                              vi->visual, AllocNone);
  23299.  
  23300.       /* create a window */
  23301.       swa.colormap = cmap;
  23302.       swa.border_pixel = 0;
  23303.       swa.event_mask = StructureNotifyMask;
  23304.       win = XCreateWindow(dpy, RootWindow(dpy, vi->screen), 0, 0, 100, 100,
  23305.                           0, vi->depth, InputOutput, vi->visual,
  23306.                           CWBorderPixel|CWColormap|CWEventMask, &swa);
  23307.       XMapWindow(dpy, win);
  23308.       XIfEvent(dpy, &event, WaitForNotify, (char*)win);
  23309.  
  23310.       /* connect the context to the window */
  23311.       glXMakeCurrent(dpy, win, cx);
  23312.  
  23313.       /* clear the buffer */
  23314.       glClearColor(1,1,0,1);
  23315.       glClear(GL_COLOR_BUFFER_BIT);
  23316.       glFlush();
  23317.  
  23318.       /* wait a while */
  23319.       sleep(10); }
  23320.  
  23321.  
  23322.  
  23323.  
  23324.  
  23325. Notes 
  23326.  
  23327.   A color map must be created and passed to XCreateWindow.  See the example
  23328.   code above.
  23329.  
  23330.   A GLX context must be created and attached to an X drawable before OpenGL
  23331.   commands can be executed.  OpenGL commands issued while no context/drawable
  23332.   pair is current are ignored.
  23333.  
  23334.   Exposure events indicate that all buffers associated with the specified
  23335.   window may be damaged and should be repainted.  Although certain buffers of
  23336.   some visuals on some systems may never require repainting (the depth
  23337.   buffer, for example), it is incorrect to code assuming that these buffers
  23338.   will not be damaged.
  23339.  
  23340.   GLX commands manipulate XVisualInfo structures rather than pointers to
  23341.   visuals or visual IDs.  XVisualInfo structures contain visual, visualID,
  23342.   screen, and depth elements, as well as other X-specific information.
  23343.  
  23344.  
  23345.  
  23346.  
  23347.  
  23348. See Also 
  23349.  
  23350.   glFinish, glFlush, glXChooseVisual, glXCopyContext, glXCreateContext,
  23351.   glXCreateGLXPixmap, glXDestroyContext, glXGetConfig, glXIsDirect,
  23352.   glXMakeCurrent, glXQueryExtension, glXQueryVersion, glXSwapBuffers,
  23353.   glXUseXFont, glXWaitGL, glXWaitX, XCreateColormap, XCreateWindow, XSync
  23354.  
  23355. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  23356.  
  23357.  Introduction | Alphabetic | Specification 
  23358.  
  23359. Last Edited:   Fri Dec 6 11:18:03 EST 1996 by AFV 
  23360. Look here for legal stuff:  Legal 
  23361.  
  23362.  
  23363. ΓòÉΓòÉΓòÉ 7. External links ΓòÉΓòÉΓòÉ
  23364.  
  23365. This chapter contains all URLs referenced in this book. Each page from this 
  23366. chapter contain a link which will launch IBM Web Explorer on a specific URL. 
  23367.  
  23368.  
  23369. ΓòÉΓòÉΓòÉ 7.1. http://www.digital.com/ ΓòÉΓòÉΓòÉ
  23370.  
  23371.              The link you selected points to Digital Corp. WWW site.
  23372.                  Click the URL below to launch IBM Web Explorer
  23373.  
  23374.                              http://www.digital.com/
  23375.  
  23376.  
  23377. ΓòÉΓòÉΓòÉ 7.2. http://www.digital.com/info/tm.html ΓòÉΓòÉΓòÉ
  23378.  
  23379.     The link you selected points to Digital Corp. WWW site, legal info page.
  23380.                  Click the URL below to launch IBM Web Explorer
  23381.  
  23382.                        http://www.digital.com/info/tm.html
  23383.  
  23384.  
  23385. ΓòÉΓòÉΓòÉ 7.3. http://www.sgi.com/Technology/openGL/ ΓòÉΓòÉΓòÉ
  23386.  
  23387.       This link points to OpenGL homepage on the Silicon Graphics web site.
  23388.                  Click the URL below to launch IBM Web Explorer
  23389.  
  23390.                       http://www.sgi.com/Technology/openGL/
  23391.  
  23392.  
  23393. ΓòÉΓòÉΓòÉ 7.4. http://www.sgi.com/Technology/openGL/glspec1.1/glspec.html ΓòÉΓòÉΓòÉ
  23394.  
  23395.          This link points to the header page of OpenGL 1.1 specification
  23396.                     located in the Silicon Graphics web site.
  23397.                  Click the URL below to launch IBM Web Explorer
  23398.  
  23399.            http://www.sgi.com/Technology/openGL/glspec1.1/glspec.html
  23400.  
  23401.  
  23402. ΓòÉΓòÉΓòÉ 7.5. mailto:andy.vesper@eng.pko.dec.com ΓòÉΓòÉΓòÉ
  23403.  
  23404.                This page contains the Andy Vesper`s e-mail address
  23405.                  Click the URL below to launch IBM Web Explorer
  23406.  
  23407.                        mailto:andy.vesper@eng.pko.dec.com
  23408.                        mailto:andy.vesper@pko.mts.dec.com
  23409.