summaryrefslogtreecommitdiff
path: root/xc/extras/ogl-sample/main/doc
diff options
context:
space:
mode:
Diffstat (limited to 'xc/extras/ogl-sample/main/doc')
-rwxr-xr-xxc/extras/ogl-sample/main/doc/man/macros/GNUmakefile48
-rwxr-xr-xxc/extras/ogl-sample/main/doc/man/macros/mkhead.awk290
-rwxr-xr-xxc/extras/ogl-sample/main/doc/man/macros/mkhead.ftn.awk339
-rwxr-xr-xxc/extras/ogl-sample/main/doc/man/macros/setup36
-rwxr-xr-xxc/extras/ogl-sample/main/doc/man/macros/setup.ftn31
-rwxr-xr-xxc/extras/ogl-sample/main/doc/man/mandefs183
-rwxr-xr-xxc/extras/ogl-sample/main/doc/man/manglu/GNUmakefile55
-rwxr-xr-xxc/extras/ogl-sample/main/doc/man/manglu/ftn/Distfile64
-rwxr-xr-xxc/extras/ogl-sample/main/doc/man/manglu/ftn/GNUmakefile102
-rwxr-xr-xxc/extras/ogl-sample/main/doc/man/manglu/ftn/Imakefile216
-rwxr-xr-xxc/extras/ogl-sample/main/doc/man/manglu/ftn/f1
-rwxr-xr-xxc/extras/ogl-sample/main/doc/man/manglu/html/Distfile63
-rwxr-xr-xxc/extras/ogl-sample/main/doc/man/manglu/html/GNUmakefile68
-rwxr-xr-xxc/extras/ogl-sample/main/doc/man/manglu/html_ftn/Distfile63
-rwxr-xr-xxc/extras/ogl-sample/main/doc/man/manglu/html_ftn/GNUmakefile69
-rwxr-xr-xxc/extras/ogl-sample/main/doc/man/manglu/standard/Distfile64
-rwxr-xr-xxc/extras/ogl-sample/main/doc/man/manglu/standard/GNUmakefile93
-rwxr-xr-xxc/extras/ogl-sample/main/doc/man/manglu/standard/Imakefile216
-rwxr-xr-xxc/extras/ogl-sample/main/doc/man/manglu/standard/begincurve.gl79
-rwxr-xr-xxc/extras/ogl-sample/main/doc/man/manglu/standard/beginpolygon.gl90
-rwxr-xr-xxc/extras/ogl-sample/main/doc/man/manglu/standard/beginsurface.gl84
-rwxr-xr-xxc/extras/ogl-sample/main/doc/man/manglu/standard/begintrim.gl120
-rwxr-xr-xxc/extras/ogl-sample/main/doc/man/manglu/standard/build1dmipmaplevels.gl229
-rwxr-xr-xxc/extras/ogl-sample/main/doc/man/manglu/standard/build1dmipmaps.gl235
-rwxr-xr-xxc/extras/ogl-sample/main/doc/man/manglu/standard/build2dmipmaplevels.gl234
-rwxr-xr-xxc/extras/ogl-sample/main/doc/man/manglu/standard/build2dmipmaps.gl242
-rwxr-xr-xxc/extras/ogl-sample/main/doc/man/manglu/standard/build3dmipmaplevels.gl236
-rwxr-xr-xxc/extras/ogl-sample/main/doc/man/manglu/standard/build3dmipmaps.gl243
-rwxr-xr-xxc/extras/ogl-sample/main/doc/man/manglu/standard/c2
-rwxr-xr-xxc/extras/ogl-sample/main/doc/man/manglu/standard/checkextension.gl68
-rwxr-xr-xxc/extras/ogl-sample/main/doc/man/manglu/standard/cylinder.gl77
-rwxr-xr-xxc/extras/ogl-sample/main/doc/man/manglu/standard/deletenurbsrenderer.gl52
-rwxr-xr-xxc/extras/ogl-sample/main/doc/man/manglu/standard/deletequadric.gl52
-rwxr-xr-xxc/extras/ogl-sample/main/doc/man/manglu/standard/deletetess.gl51
-rwxr-xr-xxc/extras/ogl-sample/main/doc/man/manglu/standard/disk.gl79
-rwxr-xr-xxc/extras/ogl-sample/main/doc/man/manglu/standard/errorstring.gl65
-rwxr-xr-xxc/extras/ogl-sample/main/doc/man/manglu/standard/getnurbsproperty.gl68
-rwxr-xr-xxc/extras/ogl-sample/main/doc/man/manglu/standard/getstring.gl85
-rwxr-xr-xxc/extras/ogl-sample/main/doc/man/manglu/standard/gettessproperty.gl63
-rwxr-xr-xxc/extras/ogl-sample/main/doc/man/manglu/standard/loadsamplingmatrices.gl71
-rwxr-xr-xxc/extras/ogl-sample/main/doc/man/manglu/standard/lookat.gl108
-rwxr-xr-xxc/extras/ogl-sample/main/doc/man/manglu/standard/newnurbsrenderer.gl51
-rwxr-xr-xxc/extras/ogl-sample/main/doc/man/manglu/standard/newquadric.gl53
-rwxr-xr-xxc/extras/ogl-sample/main/doc/man/manglu/standard/newtess.gl50
-rwxr-xr-xxc/extras/ogl-sample/main/doc/man/manglu/standard/nextcontour.gl117
-rwxr-xr-xxc/extras/ogl-sample/main/doc/man/manglu/standard/nurbscallback.gl241
-rwxr-xr-xxc/extras/ogl-sample/main/doc/man/manglu/standard/nurbscallbackdata.gl56
-rwxr-xr-xxc/extras/ogl-sample/main/doc/man/manglu/standard/nurbscallbackdataext.gl53
-rwxr-xr-xxc/extras/ogl-sample/main/doc/man/manglu/standard/nurbscurve.gl104
-rwxr-xr-xxc/extras/ogl-sample/main/doc/man/manglu/standard/nurbsproperty.gl215
-rwxr-xr-xxc/extras/ogl-sample/main/doc/man/manglu/standard/nurbssurface.gl121
-rwxr-xr-xxc/extras/ogl-sample/main/doc/man/manglu/standard/ortho2d.gl54
-rwxr-xr-xxc/extras/ogl-sample/main/doc/man/manglu/standard/partialdisk.gl92
-rwxr-xr-xxc/extras/ogl-sample/main/doc/man/manglu/standard/perspective.gl106
-rwxr-xr-xxc/extras/ogl-sample/main/doc/man/manglu/standard/pickmatrix.gl105
-rwxr-xr-xxc/extras/ogl-sample/main/doc/man/manglu/standard/project.gl91
-rwxr-xr-xxc/extras/ogl-sample/main/doc/man/manglu/standard/pwlcurve.gl78
-rwxr-xr-xxc/extras/ogl-sample/main/doc/man/manglu/standard/quadriccallback.gl64
-rwxr-xr-xxc/extras/ogl-sample/main/doc/man/manglu/standard/quadricdrawstyle.gl72
-rwxr-xr-xxc/extras/ogl-sample/main/doc/man/manglu/standard/quadricnormals.gl66
-rwxr-xr-xxc/extras/ogl-sample/main/doc/man/manglu/standard/quadricorientation.gl64
-rwxr-xr-xxc/extras/ogl-sample/main/doc/man/manglu/standard/quadrictexture.gl60
-rwxr-xr-xxc/extras/ogl-sample/main/doc/man/manglu/standard/scaleimage.gl175
-rwxr-xr-xxc/extras/ogl-sample/main/doc/man/manglu/standard/sphere.gl77
-rwxr-xr-xxc/extras/ogl-sample/main/doc/man/manglu/standard/tessbegincontour.gl58
-rwxr-xr-xxc/extras/ogl-sample/main/doc/man/manglu/standard/tessbeginpolygon.gl88
-rwxr-xr-xxc/extras/ogl-sample/main/doc/man/manglu/standard/tesscallback.gl307
-rwxr-xr-xxc/extras/ogl-sample/main/doc/man/manglu/standard/tessendpolygon.gl86
-rwxr-xr-xxc/extras/ogl-sample/main/doc/man/manglu/standard/tessnormal.gl78
-rwxr-xr-xxc/extras/ogl-sample/main/doc/man/manglu/standard/tessproperty.gl112
-rwxr-xr-xxc/extras/ogl-sample/main/doc/man/manglu/standard/tessvertex.gl112
-rwxr-xr-xxc/extras/ogl-sample/main/doc/man/manglu/standard/unproject.gl83
-rwxr-xr-xxc/extras/ogl-sample/main/doc/man/manglu/standard/unproject4.gl102
-rwxr-xr-xxc/extras/ogl-sample/main/doc/man/manrules181
-rwxr-xr-xxc/extras/ogl-sample/main/doc/man/tools/GNUmakefile49
-rwxr-xr-xxc/extras/ogl-sample/main/doc/man/tools/constCheck.pl160
-rwxr-xr-xxc/extras/ogl-sample/main/doc/man/tools/glman57
-rwxr-xr-xxc/extras/ogl-sample/main/doc/man/tools/man2html608
-rwxr-xr-xxc/extras/ogl-sample/main/doc/man/tools/mdate.pl50
-rwxr-xr-xxc/extras/ogl-sample/main/doc/man/tools/mmdoc220
80 files changed, 9150 insertions, 0 deletions
diff --git a/xc/extras/ogl-sample/main/doc/man/macros/GNUmakefile b/xc/extras/ogl-sample/main/doc/man/macros/GNUmakefile
new file mode 100755
index 000000000..e50d42bce
--- /dev/null
+++ b/xc/extras/ogl-sample/main/doc/man/macros/GNUmakefile
@@ -0,0 +1,48 @@
+#!gmake
+#
+# License Applicability. Except to the extent portions of this file are
+# made subject to an alternative license as permitted in the SGI Free
+# Software License B, Version 1.1 (the "License"), the contents of this
+# file are subject only to the provisions of the License. You may not use
+# this file except in compliance with the License. You may obtain a copy
+# of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
+# Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
+#
+# http://oss.sgi.com/projects/FreeB
+#
+# Note that, as provided in the License, the Software is distributed on an
+# "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
+# DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
+# CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
+# PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
+#
+# Original Code. The Original Code is: OpenGL Sample Implementation,
+# Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
+# Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
+# Copyright in any portions created by third parties is as indicated
+# elsewhere herein. All Rights Reserved.
+#
+# Additional Notice Provisions: The application programming interfaces
+# established by SGI in conjunction with the Original Code are The
+# OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
+# April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
+# 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
+# Window System(R) (Version 1.3), released October 19, 1998. This software
+# was created using the OpenGL(R) version 1.2.1 Sample Implementation
+# published by SGI, but has not been independently verified as being
+# compliant with the OpenGL(R) version 1.2.1 Specification.
+#
+# $Date: 2001/03/19 17:45:28 $ $Revision: 1.1.1.1 $
+# $Header: /home/ajax/dri-backup/xc/xc/extras/ogl-sample/main/doc/man/macros/Attic/GNUmakefile,v 1.1.1.1 2001/03/19 17:45:28 dawes Exp $
+
+COMMONPREF = standard
+include $(ROOT)/usr/include/make/commondefs
+
+default headers headers_install libs libs_install install apps:
+
+distsi distoss:
+ $(MAKE) $(COMMONPREF)$@
+
+$(COMMONTARGS): % : $(COMMONPREF)%
+
+include $(COMMONRULES)
diff --git a/xc/extras/ogl-sample/main/doc/man/macros/mkhead.awk b/xc/extras/ogl-sample/main/doc/man/macros/mkhead.awk
new file mode 100755
index 000000000..07f6ce39b
--- /dev/null
+++ b/xc/extras/ogl-sample/main/doc/man/macros/mkhead.awk
@@ -0,0 +1,290 @@
+# basename is set on the command line
+# The regexp below is replaced by an expression to do case insensitive
+# searching on the name of a GL function before running this program.
+#
+# Runs on 'gl.h' ('glu.h', 'glx.h') and locates the lines for the specified
+# GL (glu, glx) function, then generates M4 definitions for man page
+#
+BEGIN {
+ found = 0
+ numargs = 0
+ newargs[0] = ""
+ stderr = "cat 1>&2"
+ vee = 0
+ getnames(basename)
+
+ for (j=0; j<numNames; j++)
+ {
+ rexpNames[j] = names[j] regExps[j]
+ head[j] = ""
+ numFound[j] = 0
+ nargs[0] = 0
+ }
+}
+
+/extern/ {
+ cmdfield = 0;
+ # search for the command string
+ for (i = 3; i <= NF; i++)
+ {
+ name = $i;
+ if (index(name,"gl") == 1)
+ {
+ cmdfield = i;
+ # strip the gl, glu, or glX prefix
+ # note that the X of glX is not stripped!
+ if (index(name,"glu") == 1)
+ name = substr(name,4);
+ else
+ name = substr(name,3);
+ truename = name;
+ break;
+ }
+ }
+ if (cmdfield != 0) {
+ for (i=0; i<numNames; i++)
+ {
+ if (name ~ rexpNames[i])
+ { # Found one - $cmdfield is the name, $2 through $(cmdfield-1) is
+ # the return type. The rest is the argument list.
+ match(name,names[i])
+ if ((RLENGTH != length(names[i])) || (match(name,rexpNames[i]) != 1))
+ continue
+ if (RLENGTH != length(name))
+ continue
+ cname = name
+ names[i,numFound[i]] = truename
+ p = index($0,"(")
+ addargs(substr($0,p,length($0)-p-1),i) # Strips trailing semicolon
+ typestr = $2
+ for (j = 3; j < cmdfield; j++)
+ {
+ typestr = typestr " " $j
+ }
+ head[i] = head[i] makeHead(truename,typestr,i)
+ numFound[i]++
+ found++
+ }
+ }
+ }
+}
+
+END {
+ if (found == 0) {
+ if (basename == "xintro") {
+ numNames = 1;
+ numFound[0] = 1;
+ names[0,0] = "XIntro";
+ }
+ else if (basename == "intro") {
+ numNames = 1;
+ numFound[0] = 1;
+ names[0,0] = "Intro";
+ }
+ else {
+ printf "No GL call found that matches '%s'.\n", basename | stderr
+ printf "Edit macros/mkhead.awk to add a special name.\n" | stderr
+ }
+ }
+ printf "_define(_samething,@<.PP\n"
+ printf "The above subroutines are functionally equivalent;\n"
+ printf "they differ only in the specification of their parameters.\n"
+ printf ">@)dnl\n"
+
+ printf "_define(_header,@<dnl\n"
+ printf "_setup()dnl\n"
+ printf "_define(_cname,$1)dnl\n"
+ printf ".TH %s$1 3G\n", prefix
+ printf ".SH NAME\n"
+ printf ".B \""
+ for (i=0; i<numNames; i++)
+ for (j=0; j<numFound[i]; j++)
+ if ((i == (numNames-1)) && (j == (numFound[i]-1)))
+ printf "%s%s\n", prefix, names[i,j]
+ else
+ printf "%s%s, ", prefix, names[i,j]
+ printf "\\- $2\n"
+ printf ">@)dnl\n"
+
+ printf "_define(_names,@<dnl\n"
+ printf "_ifelse($3,@<>@,.SH C SPECIFICATION\n)"
+ printf "_ifelse("
+ for (i=0; i<numNames; i++)
+ {
+ printf "_namenum,@<%d>@,@<%s>@,dnl\n",i,head[i]
+ }
+ printf "ERROR)dnl\n"
+ printf "_define(@<_namenum>@,_incr(_namenum))>@)dnl\n"
+
+# if (found > 1)
+# {
+# printf "_samething()\n"
+# }
+ maxArgs = 0
+ for (i=0; i<numNames; i++)
+ if (maxArgs < nargs[i])
+ maxArgs = nargs[i]
+ long = ""
+ for (j=1; j<=maxArgs; j++)
+ {
+ printf "_define(_param%d,@<",j
+ printf "_define(@<_tmpnum>@,_ifelse($#,0,_namenum,$1))dnl\n"
+ printf "_ifelse("
+ for (i=0; i<numNames; i++)
+ {
+ printf "_tmpnum,@<%d>@,\\f2%s\\fP,dnl\n",i+1,args[j,i]
+ if (length(args[j,i]) > length(long))
+ long = args[j,i]
+ }
+ printf "???)>@)dnl\n"
+ }
+# next loop same as above, except does not italicize
+# resulting definitions can be used in equations
+ for (j=1; j<=maxArgs; j++)
+ {
+ printf "_define(_eqnparam%d,@<",j
+ printf "_define(@<_tmpnum>@,_ifelse($#,0,_namenum,$1))dnl\n"
+ printf "_ifelse("
+ for (i=0; i<numNames; i++)
+ {
+ printf "_tmpnum,@<%d>@,\"%s\",dnl\n",i+1,args[j,i]
+ if (length(args[j,i]) > length(long))
+ long = args[j,i]
+ }
+ printf "???)>@)dnl\n"
+ }
+# The following stuff is designed to find the longest argument so that
+# the '.TP' indentation can be set in the first instaciation of _phead
+# (thus the use of the '_first' macro as a flag). Things are complicated
+# by the possibility of multiple arguments in the call to _phead.
+# This is what _makelist is for: to turn a space separted multiple
+# argument list into a comma separated one (commas can't be used in
+# the original list because they have special meaning to m4).
+# Unfortunately, this means that (currently) if the longest string is
+# a multiple argument, the indentation will only be right if it occurs
+# in the first _phead. This is because only the API file is scanned
+# for arguments, and not the man page file, so this script can't know
+# which instance of phead has the longest (multiple) argument.
+
+ long = "\\fI" long "\\fP"
+ printf "_define(_phead,@<dnl\n"
+ printf "_ifdef(@<_first>@,@<.TP>@,@<.TP \\w'"
+ printf "_ifelse(_eval(_len(%s)>_len(_makelist($1))),1,",long
+ printf "%s,translit(_makelist($1),@<+>@,@<\\>@))\\ \\ 'u dnl\n", long
+ printf "_define(_first,first)>@)\n"
+ printf "translit(_makelist($1),@<+>@,@<,>@)>@)dnl\n"
+ printf "_define(_cmnd,@<\\%%_ifelse($1,@<>@,\\f3" prefix "@<>@_cname\\fP,dnl\n"
+ printf "\\f3" prefix "$1\\fP)>@)dnl\n"
+ printf "_define(_glcmnd,@<_ifelse($1,@<>@,\\f3gl@<>@_cname\\fP,dnl\n"
+ printf "\\f3gl$1\\fP)>@)dnl\n"
+ printf "_define(_glucmnd,@<_ifelse($1,@<>@,\\f3glu@<>@_cname\\fP,dnl\n"
+ printf "\\f3glu$1\\fP)>@)dnl\n"
+ printf "_define(_xcmnd,@<_ifelse($1,@<>@,\\f3X@<>@_cname\\fP,dnl\n"
+ printf "\\f3X$1\\fP)>@)dnl\n"
+# printf "syscmd(@<${maCdIr}/mkname.awk>@ ${maCdIr}/pglspec >_tmpnam)dnl\n"
+# printf "_include(_tmpnam)syscmd(rm -f _tmpnam)>@))dnl\n"
+}
+
+
+
+#
+# function to make the troff to typeset the function header
+#
+function makeHead(fname,type,i)
+{
+ fname = prefix fname
+ headString = sprintf("%s \\f3%s\\fP(",type,fname)
+ if (numargs > 0)
+ {
+ headString = headString "\n"
+ if (numargs > 1)
+ {
+ headString = headString sprintf("%s,\n",targs[1,i])
+ headString = headString ".nf\n"
+ headString = headString sprintf(".ta \\w'\\f3%s \\fP%s( 'u\n",type,fname)
+ for (j=2; j<=numargs-1; j++)
+ headString = headString sprintf("\t%s,\n",targs[j,i])
+ headString = headString sprintf("\t%s )\n",targs[numargs,i])
+ headString = headString ".fi\n"
+ }
+ else
+ headString = headString sprintf("%s )\n.nf\n.fi\n",targs[numargs,i])
+ }
+ else
+ headString = headString " void )\n.nf\n.fi\n"
+ return headString
+}
+
+# Generates 'args' of untyped argument names
+# Also generates 'targs' of typed argument names and 'nargs', the number
+# of arguments.
+
+function addargs(arglist,i)
+{
+#
+# First strip leading '(' and trailing ')'
+#
+ if (substr(arglist,1,1) == "(")
+ arglist = substr(arglist,2,length(arglist))
+ while (substr(arglist,1,1) == " ")
+ arglist = substr(arglist,2,length(arglist))
+
+ if (substr(arglist,length(arglist),1) == ")")
+ arglist = substr(arglist,1,length(arglist)-1)
+ while (substr(arglist,length(arglist),1) == " ")
+ arglist = substr(arglist,1,length(arglist)-1)
+
+ numargs = split(arglist,newargs, ",[ \t]")
+ if (newargs[1] == "void")
+ {
+ numargs = 0;
+ targs[1,i] = newargs[1];
+ args[1,i] = newargs[1];
+ }
+ if (nargs[i] < numargs)
+ nargs[i] = numargs;
+
+ for (j=1; j<=numargs; j++)
+ {
+# targs[j,i] italicizes the argument but not the type
+ targs[j,i] = newargs[j]
+ numWords = split(targs[j,i],words,"[ \t]")
+ args[j,i] = words[numWords]
+ targs[j,i] = words[1]
+ for (k=2; k<=numWords-1; k++)
+ targs[j,i] = targs[j,i] " " words[k]
+ targs[j,i] = targs[j,i] " \\fI" words[numWords] "\\fP"
+ sub(/\[.*\]/,"",args[j,i])
+ gsub("[*()]","",args[j,i])
+ }
+}
+
+#
+# Parse and save away the _names(name,regexp) declarations in the file
+# for later use in matching the entries in the API file.
+#
+
+function getnames(file)
+{
+ numNames = 0
+ fname = file ".gl"
+ while (getline < fname)
+ {
+ if (index($0,"_names(") != 0)
+ {
+ start = index($0,"_names(") + 7
+ stuff = substr($0,start,length($0)-start)
+ split(stuff,things,",")
+ names[numNames] = things[1]
+ regExps[numNames] = things[2]
+ numNames++
+ }
+ }
+ close(fname)
+ if (numNames == 0)
+ {
+ names[0] = file
+ regExps[0] = "[1-9]*u*[lbsifd]*v*"
+ numNames++
+ }
+}
diff --git a/xc/extras/ogl-sample/main/doc/man/macros/mkhead.ftn.awk b/xc/extras/ogl-sample/main/doc/man/macros/mkhead.ftn.awk
new file mode 100755
index 000000000..669a41d8f
--- /dev/null
+++ b/xc/extras/ogl-sample/main/doc/man/macros/mkhead.ftn.awk
@@ -0,0 +1,339 @@
+# FORTRAN version
+#
+# Scans the source text for a manual page and locates "_names" macro
+# invocations. Looks up the names in gl.h (or glu.h or glx.h) and generates
+# definitions for the OpenGL m4 man page macros (_cmnd, _param1, etc.)
+# Extracts machine dependencies for the names and stores them in a file
+# for later inclusion in the man page. (See glman shell script.)
+#
+# basename, prefix, machdeps, and machdepsout are set on the command line.
+# The regexp below is replaced by an expression to do case insensitive
+# searching on the name of a GL function before running this program.
+#
+BEGIN {
+ FS = " |\t|\\("
+ basename = substr(basename,2,length(basename)-1) # strip leading 'f'
+ prefix = "f" prefix
+ found = 0
+ numargs = 0
+ newargs[0] = ""
+ stderr = "cat 1>&2"
+ vee = 0
+ getnames("f" basename)
+
+ for (j=0; j<numNames; j++)
+ {
+ rexpNames[j] = names[j] regExps[j]
+ head[j] = ""
+ numFound[j] = 0
+ nargs[0] = 0
+ }
+}
+
+/extern/ {
+ cmdfield = 0;
+ # search for the command string
+ for (i = 3; i <= NF; i++)
+ {
+ name = $i;
+ if (index(name,"gl") == 1)
+ {
+ cmdfield = i;
+ # strip the gl, glu, or glX prefix
+ if (index(name,"glu") == 1 || index(name,"glX") == 1)
+ name = substr(name,4);
+ else
+ name = substr(name,3);
+ truename = name;
+ break;
+ }
+ }
+ if (cmdfield != 0) {
+ for (i=0; i<numNames; i++)
+ {
+ if (name ~ rexpNames[i])
+ { # Found one - $cmdfield is the name, $2 through $(cmdfield-1) is
+ # the return type. The rest is the argument list.
+ match(name,names[i])
+ if ((RLENGTH != length(names[i])) || (match(name,rexpNames[i]) != 1))
+ continue
+ if (RLENGTH != length(name))
+ continue
+ cname = name
+ names[i,numFound[i]] = truename
+ p = index($0,"(")
+ addargs(substr($0,p,length($0)-p-1),i) # Strips trailing semicolon
+ typestr = $2
+ for (j = 3; j < cmdfield; j++)
+ {
+ typestr = typestr " " $j
+ }
+ head[i] = head[i] makeHead(truename,typestr,i)
+ numFound[i]++
+ found++
+ }
+ }
+ }
+}
+
+END {
+ if (found == 0) {
+ if (basename == "glxintro") {
+ numNames = 1;
+ numFound[0] = 1;
+ names[0,0] = "Intro";
+ }
+ else if (basename == "intro") {
+ numNames = 1;
+ numFound[0] = 1;
+ names[0,0] = "Intro";
+ }
+ else {
+ printf "No GL call found that matches '%s'.\n", basename | stderr
+ printf "Edit macros/mkhead.awk to add a special name.\n" | stderr
+ }
+ }
+ printf "_define(_samething,@<.PP\n"
+ printf "The above subroutines are functionally equivalent;\n"
+ printf "they differ only in the specification of their parameters.\n"
+ printf ">@)dnl\n"
+
+ printf "_define(_header,@<dnl\n"
+ printf "_setup()dnl\n"
+ printf "_define(_cname,$1)dnl\n"
+ printf ".TH %s$1 \n", prefix
+ printf ".SH NAME\n"
+ printf ".B \""
+ for (i=0; i<numNames; i++)
+ for (j=0; j<numFound[i]; j++)
+ if ((i == (numNames-1)) && (j == (numFound[i]-1)))
+ printf "%s%s\n", prefix, names[i,j]
+ else
+ printf "%s%s, ", prefix, names[i,j]
+ printf "\\- $2\n"
+ printf ">@)dnl\n"
+
+ printf "_define(_names,@<dnl\n"
+ printf "_ifelse($3,@<>@,.SH FORTRAN SPECIFICATION\n)"
+ printf "_ifelse("
+ for (i=0; i<numNames; i++)
+ {
+ printf "_namenum,@<%d>@,@<%s>@,dnl\n",i,head[i]
+ }
+ printf "ERROR)dnl\n"
+ printf "_define(@<_namenum>@,_incr(_namenum))>@)dnl\n"
+
+# Define the _machdeps macro to include the machine dependencies
+# extracted earlier:
+
+ printf "_define(@<_machdeps>@,@<_sinclude(@<%s>@)>@)dnl\n", machdepsout
+
+# if (found > 1)
+# {
+# printf "_samething()\n"
+# }
+ maxArgs = 0
+ for (i=0; i<numNames; i++)
+ if (maxArgs < nargs[i])
+ maxArgs = nargs[i]
+ long = ""
+ for (j=1; j<=maxArgs; j++)
+ {
+ printf "_define(_param%d,@<",j
+ printf "_define(@<_tmpnum>@,_ifelse($#,0,_namenum,$1))dnl\n"
+ printf "_ifelse("
+ for (i=0; i<numNames; i++)
+ {
+ printf "_tmpnum,@<%d>@,\\f2%s\\fP,dnl\n",i+1,args[j,i]
+ if (length(args[j,i]) > length(long))
+ long = args[j,i]
+ }
+ printf "???)>@)dnl\n"
+ }
+# next loop same as above, except does not italicize
+# resulting definitions can be used in equations
+ for (j=1; j<=maxArgs; j++)
+ {
+ printf "_define(_eqnparam%d,@<",j
+ printf "_define(@<_tmpnum>@,_ifelse($#,0,_namenum,$1))dnl\n"
+ printf "_ifelse("
+ for (i=0; i<numNames; i++)
+ {
+ printf "_tmpnum,@<%d>@,\"%s\",dnl\n",i+1,args[j,i]
+ if (length(args[j,i]) > length(long))
+ long = args[j,i]
+ }
+ printf "???)>@)dnl\n"
+ }
+# The following stuff is designed to find the longest argument so that
+# the '.TP' indentation can be set in the first instaciation of _phead
+# (thus the use of the '_first' macro as a flag). Things are complicated
+# by the possibility of multiple arguments in the call to _phead.
+# This is what _makelist is for: to turn a space separted multiple
+# argument list into a comma separated one (commas can't be used in
+# the original list because they have special meaning to m4).
+# Unfortunately, this means that (currently) if the longest string is
+# a multiple argument, the indentation will only be right if it occurs
+# in the first _phead. This is because only the API file is scanned
+# for arguments, and not the man page file, so this script can't know
+# which instance of phead has the longest (multiple) argument.
+
+ long = "\\fI" long "\\fP"
+ printf "_define(_phead,@<dnl\n"
+ printf "_ifdef(@<_first>@,@<.TP>@,@<.TP \\w'"
+ printf "_ifelse(_eval(_len(%s)>_len(_makelist($1))),1,",long
+ printf "%s,translit(_makelist($1),@<+>@,@<\\>@))\\ \\ 'u dnl\n", long
+ printf "_define(_first,first)>@)\n"
+ printf "translit(_makelist($1),@<+>@,@<,>@)>@)dnl\n"
+ printf "_define(_cmnd,@<_ifelse($1,@<>@,\\f3" prefix "@<>@_cname\\fP,dnl\n"
+ printf "\\f3" prefix "$1\\fP)>@)dnl\n"
+ printf "_define(_glcmnd,@<_ifelse($1,@<>@,\\f3gl@<>@_cname\\fP,dnl\n"
+ printf "\\f3gl$1\\fP)>@)dnl\n"
+ printf "_define(_glucmnd,@<_ifelse($1,@<>@,\\f3glu@<>@_cname\\fP,dnl\n"
+ printf "\\f3glu$1\\fP)>@)dnl\n"
+ printf "_define(_xcmnd,@<_ifelse($1,@<>@,\\f3X@<>@_cname\\fP,dnl\n"
+ printf "\\f3X$1\\fP)>@)dnl\n"
+# printf "syscmd(@<${maCdIr}/mkname.awk>@ ${maCdIr}/pglspec >_tmpnam)dnl\n"
+# printf "_include(_tmpnam)syscmd(rm -f _tmpnam)>@))dnl\n"
+}
+
+
+
+#
+# function to make the troff to typeset the function header
+#
+function makeHead(fname,type,i)
+{
+ fname = prefix fname
+ headString = sprintf("%s \\f3%s\\fP(",fortranize(type,0),fname)
+ if (numargs > 0)
+ {
+ headString = headString "\n"
+ if (numargs > 1)
+ {
+ headString = headString sprintf("%s,\n",fortranize(targs[1,i],1))
+ headString = headString ".nf\n"
+ headString = headString sprintf(".ta \\w'\\f3%s \\fP%s( 'u\n",fortranize(type,0),fname)
+ for (j=2; j<=numargs-1; j++)
+ headString = headString sprintf("\t%s,\n",fortranize(targs[j,i],1))
+ headString = headString sprintf("\t%s )\n",fortranize(targs[numargs,i],1))
+ headString = headString ".fi\n"
+ }
+ else
+ headString = headString sprintf("%s )\n.nf\n.fi\n",fortranize(targs[numargs,i],1))
+ }
+ else
+ headString = headString " )\n.nf\n.fi\n"
+ return headString
+}
+
+
+# Convert a gl C type to the FORTRAN equivalent
+# If flag = 1, then convert a function argument;
+# else, convert a function return type.
+
+function fortranize(typedArg,flag)
+{
+ item = typedArg;
+ if (flag == 0) { # return type
+ sub(/void/,"SUBROUTINE",item)
+ }
+ # function argument or return type
+ if (item ~ /\*/) {
+ sub(/\*/,"",item);
+ sub(/const /,"",item)
+ if (item ~ /GLubyte/)
+ sub(/GLubyte/,"CHARACTER*256",item)
+ else
+ sub(/GL[^ ]*/,"CHARACTER*8",item)
+ }
+ else {
+ sub(/GLu*byte/,"INTEGER*1",item)
+ sub(/GLu*short/,"INTEGER*2",item)
+ sub(/GLu*int/,"INTEGER*4",item)
+ sub(/GLsizei/,"INTEGER*4",item)
+ sub(/GLfloat/,"REAL*4",item)
+ sub(/GLclampf/,"REAL*4",item)
+ sub(/GLdouble/,"REAL*8",item)
+ sub(/GLclampd/,"REAL*4",item)
+ sub(/GLboolean/,"LOGICAL*1",item)
+ sub(/GLenum/,"INTEGER*4",item)
+ sub(/GLbitfield/,"INTEGER*4",item)
+ }
+ return item
+}
+
+
+# Generates 'args' of untyped argument names
+# Also generates 'targs' of typed argument names and 'nargs', the number
+# of arguments.
+
+function addargs(arglist,i)
+{
+#
+# First strip leading '(' and trailing ')'
+#
+ if (substr(arglist,1,1) == "(")
+ arglist = substr(arglist,2,length(arglist))
+ while (substr(arglist,1,1) == " ")
+ arglist = substr(arglist,2,length(arglist))
+
+ if (substr(arglist,length(arglist),1) == ")")
+ arglist = substr(arglist,1,length(arglist)-1)
+ while (substr(arglist,length(arglist),1) == " ")
+ arglist = substr(arglist,1,length(arglist)-1)
+
+ numargs = split(arglist,newargs, ",[ \t]")
+ if (newargs[1] == "void")
+ {
+ numargs = 0;
+ targs[1,i] = newargs[1];
+ args[1,i] = newargs[1];
+ }
+ if (nargs[i] < numargs)
+ nargs[i] = numargs;
+
+ for (j=1; j<=numargs; j++)
+ {
+# targs[j,i] italicizes the argument but not the type
+ targs[j,i] = newargs[j]
+ numWords = split(targs[j,i],words,"[ \t]")
+ args[j,i] = words[numWords]
+ targs[j,i] = words[1]
+ for (k=2; k<=numWords-1; k++)
+ targs[j,i] = targs[j,i] " " words[k]
+ targs[j,i] = targs[j,i] " \\fI" words[numWords] "\\fP"
+ sub(/\[.*\]/,"",args[j,i])
+ gsub("[*()]","",args[j,i])
+ }
+}
+
+#
+# Parse and save away the _names(name,regexp) declarations in the file
+# for later use in matching the entries in the API file.
+#
+
+function getnames(file)
+{
+ numNames = 0
+ fname = file ".gl"
+ while (getline < fname)
+ {
+ if (index($0,"_names(") != 0)
+ {
+ start = index($0,"_names(") + 7
+ stuff = substr($0,start,length($0)-start)
+ split(stuff,things,",")
+ names[numNames] = things[1]
+ regExps[numNames] = things[2]
+ numNames++
+ }
+ }
+ close(fname)
+ if (numNames == 0)
+ {
+ names[0] = file
+ regExps[0] = "[1-9]*u*[lbsifd]*v*"
+ numNames++
+ }
+}
diff --git a/xc/extras/ogl-sample/main/doc/man/macros/setup b/xc/extras/ogl-sample/main/doc/man/macros/setup
new file mode 100755
index 000000000..74a69369c
--- /dev/null
+++ b/xc/extras/ogl-sample/main/doc/man/macros/setup
@@ -0,0 +1,36 @@
+define(`_define',defn(`define'))dnl
+define(`_ifdef',defn(`ifdef'))dnl
+define(`_ifelse',defn(`ifelse'))dnl
+define(`_eval',defn(`eval'))dnl
+define(`_len',defn(`len'))dnl
+define(`_incr',defn(`incr'))dnl
+changecom()dnl
+define(`_C_',defn(`dnl'))dnl
+undefine(`define')undefine(`ifdef')dnl
+undefine(`shift')undefine(`divert')undefine(`incr')dnl
+undefine(`decr')undefine(`eval')undefine(`len')undefine(`index')dnl
+undefine(`substr')undefine(`include')dnl
+changequote(@<,>@)dnl
+_define(_makelist,@<_dolist(translit($1,@< >@,@<,>@))>@)dnl
+_define(_dolist,@<dnl
+_ifelse($#,1,$1,$#,2,$1@<+ >@$2,$#,3,$1@<+ >@$2@<+ >@$3,$#,dnl
+4,$1@<+ >@$2@<+ >@$3@<+ >@$4)>@)dnl
+_define(_namenum,@<0>@)dnl
+_define(_tmpnam,maketemp)dnl
+_define(_const,@<\%\f3GL_$1\fP>@)dnl
+_define(_arbconst,@<\%\f3GL_$1_ARB\fP>@)dnl
+_define(_arbconstidx,@<\%\f3GL_$1\fP$i$\f3_ARB\fP>@)dnl
+_define(_xconst,@<\%\f3$1\fP>@)dnl
+_define(_extname,@<\%\f3$1\fP>@)dnl
+_define(_arbstring,@<\%\f3GL_ARB_$1\fP>@)dnl
+_define(_extstring,@<\%\f3GL_$1\fP>@)dnl
+_define(_glxextstring,@<\%\f3GLX_$1\fP>@)dnl
+_define(_glxconst,@<\%\f3GLX_$1\fP>@)dnl
+_define(_glxerror,@<\%\f3GLX$1\fP>@)dnl
+_define(_gluconst,@<\%\f3GLU_$1\fP>@)dnl
+_define(_econst,@<bold \%GL_$1>@)dnl
+_define(_hex,@<\%0x$1>@)dnl
+_define(_setup,@<_ifdef(@<_filters>@,@<'\"! _filters() | mmdoc
+>@)dnl
+'\"macro stdmacro
+>@)dnl
diff --git a/xc/extras/ogl-sample/main/doc/man/macros/setup.ftn b/xc/extras/ogl-sample/main/doc/man/macros/setup.ftn
new file mode 100755
index 000000000..b7ed065e9
--- /dev/null
+++ b/xc/extras/ogl-sample/main/doc/man/macros/setup.ftn
@@ -0,0 +1,31 @@
+define(`_define',defn(`define'))dnl
+define(`_ifdef',defn(`ifdef'))dnl
+define(`_ifelse',defn(`ifelse'))dnl
+define(`_eval',defn(`eval'))dnl
+define(`_len',defn(`len'))dnl
+define(`_incr',defn(`incr'))dnl
+define(`_sinclude',defn(`sinclude'))dnl
+changecom()dnl
+define(`_C_',defn(`dnl'))dnl
+undefine(`define')undefine(`ifdef')dnl
+undefine(`shift')undefine(`divert')undefine(`incr')dnl
+undefine(`decr')undefine(`eval')undefine(`len')undefine(`index')dnl
+undefine(`substr')undefine(`include')undefine(`sinclude')dnl
+changequote(@<,>@)dnl
+_define(_makelist,@<_dolist(translit($1,@< >@,@<,>@))>@)dnl
+_define(_dolist,@<dnl
+_ifelse($#,1,$1,$#,2,$1@<+ >@$2,$#,3,$1@<+ >@$2@<+ >@$3,$#,dnl
+4,$1@<+ >@$2@<+ >@$3@<+ >@$4)>@)dnl
+_define(_namenum,@<0>@)dnl
+_define(_tmpnam,maketemp)dnl
+_define(_const,@<\f3GL_$1\fP>@)dnl
+_define(_xconst,@<\f3$1\fP>@)dnl
+_define(_glxconst,@<\f3GLX_$1\fP>@)dnl
+_define(_glxerror,@<\f3GLX$1\fP>@)dnl
+_define(_gluconst,@<\f3GLU_$1\fP>@)dnl
+_define(_econst,@<bold GL_$1>@)dnl
+_define(_hex,@<@<$>@$1>@)dnl
+_define(_setup,@<_ifdef(@<_filters>@,@<'\"! _filters() | mmdoc
+>@)dnl
+'\"macro stdmacro
+>@)dnl
diff --git a/xc/extras/ogl-sample/main/doc/man/mandefs b/xc/extras/ogl-sample/main/doc/man/mandefs
new file mode 100755
index 000000000..667de92e1
--- /dev/null
+++ b/xc/extras/ogl-sample/main/doc/man/mandefs
@@ -0,0 +1,183 @@
+# License Applicability. Except to the extent portions of this file are
+# made subject to an alternative license as permitted in the SGI Free
+# Software License B, Version 1.1 (the "License"), the contents of this
+# file are subject only to the provisions of the License. You may not use
+# this file except in compliance with the License. You may obtain a copy
+# of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
+# Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
+#
+# http://oss.sgi.com/projects/FreeB
+#
+# Note that, as provided in the License, the Software is distributed on an
+# "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
+# DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
+# CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
+# PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
+#
+# Original Code. The Original Code is: OpenGL Sample Implementation,
+# Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
+# Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
+# Copyright in any portions created by third parties is as indicated
+# elsewhere herein. All Rights Reserved.
+#
+# Additional Notice Provisions: The application programming interfaces
+# established by SGI in conjunction with the Original Code are The
+# OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
+# April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
+# 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
+# Window System(R) (Version 1.3), released October 19, 1998. This software
+# was created using the OpenGL(R) version 1.2.1 Sample Implementation
+# published by SGI, but has not been independently verified as being
+# compliant with the OpenGL(R) version 1.2.1 Specification.
+#
+# $Date: 2001/03/19 17:45:27 $ $Revision: 1.1.1.1 $
+# $Header: /home/ajax/dri-backup/xc/xc/extras/ogl-sample/main/doc/man/Attic/mandefs,v 1.1.1.1 2001/03/19 17:45:27 dawes Exp $
+
+# Common definitions for man page Makefiles
+
+MMDOC = sh -x $(DEPTH)/tools/mmdoc
+MPATH = $(DEPTH)/macros
+GETNAMES = awk -f $(DEPTH)/tools/getnames
+ADDINST = awk -f $(DEPTH)/tools/addinst
+MAN2HTML = $(DEPTH)/tools/man2html
+
+# Global version and (published) date values for man page footers. Can override
+# for a particular directory by reassigning after the inclusion of mandefs.
+VERSION = Version 1.0
+DATE = June 1991
+
+#
+# directories - these may exist under some or all of the man sections
+# and correspond to option man pages
+# we list them all here once
+
+OPTIONS = standard nfs dwb trans ftn emacs pascal pl1 5080 ada t3270 pfa diags \
+ x11 xt noship sna sna_3770 sna_3270 sna_server sna_lu6.2 spaceball \
+ x25 netvis netman softpc c++ sna_lu0-3 bsdlpr 4DDN dgl gpib slip \
+ nonstandard libil pca t3270dft vc nqs seiko5500 vfr bvo tcp3270 \
+ smt sqa fddi fddivis cc cmplrs dbx edge ld efast cdrom gltools \
+ moregltools imagetools gldebug libsphere
+
+# Change /pubs/tools symbolic name to $(MPATH) in .so's
+FIXPUBS = sed 's:^\.so[ ]*/pubs/tools/:.so $(MPATH)/:'
+
+# script to translate the first line of the manpage
+# from '\"! tbl | eqn | mmdoc
+# to '\" t e
+# which is what the linux man command needs.
+
+ifeq ($(OS),Linux)
+FIXROFF = awk '/\\\"!/ { gsub(/!/, ""); \
+ gsub(/eqn/, "e"); \
+ gsub(/tbl/, "t"); \
+ gsub(/mmdoc/, ""); \
+ gsub(/\|/, ""); print $0; next; } { print $0; }'
+else
+FIXROFF = cat
+endif
+
+# Convert .TH lines to all uppercase when making online pages (mostly
+# for GL man pages). If line is .TH \*(}x, don't uppercase it.
+THTOUPPER = \
+ sed '/^\.TH[^}]*$$/y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'
+
+# Add string definitions containing VERSION, DATE, and RELEASE (only
+# the portion after the "-", if it exists) to man page input. Also
+# define strings with print date (i.e. "now"), last modified date of
+# input file, and result of "sum <input file>".
+ADDSTRINGS = awk 'BEGIN { \
+ first = 1; \
+ if (split("$(RELEASE)", r, "-") > 1) \
+ release = r[2]; \
+ else \
+ release="$(RELEASE)"; \
+ } \
+ first == 1 && $$0 !~ /^'"'"'\\"/ { \
+ print ".ds Vn $(VERSION)"; \
+ print ".ds Dt $(DATE)"; \
+ print ".ds Re Release", release; \
+ print ".ds Dp '"`date '+%b %d %H:%M'`"'"; \
+ print ".ds Dm '"`ls -l $< | cut -c42-53`"'"; \
+ print ".ds Xs '"`sum $<`"'"; \
+ first = 0; \
+ } \
+ { print }'
+
+# If page doesn't start with a magic '\", add a default one.
+ADDMAGIC = ( case `head -1 $<` in \
+ "'\\\""*) cat $< ;; \
+ _*) $(DEPTH)/tools/glman $(PREFIX) $(DEPTH) $< $(APIFILE) $(M4OPTS) ;; \
+ *) echo "'\\\"macro stdmacro" ; cat $< ;; \
+ esac ) | $(FIXPUBS) | $(ADDSTRINGS) | $(FIXROFF)
+
+# If GL page starts '\"!, second line is assumed to contain '\"macro stdmacro,
+# and it is changed to '\"macro mn; if page doesn't start with '\",
+# '\"macro mn is added (if it's not there already). Only use the "mn"
+# macros for hardcopy; online man pages use stdmacro like all other man pages.
+ADDGLMAGIC = ( case `head -1 $<` in \
+ "'\\\"macro mn") cat $< ;; \
+ "'\\\""!*) sed '2 s/stdmacro/mn/' $< ;; \
+ _*) $(DEPTH)/tools/glman $(PREFIX) $(DEPTH) $< $(APIFILE) $(M4OPTS) ;; \
+ *) echo "'\\\"macro mn" ; cat $< ;; \
+ esac ) | $(FIXPUBS) | $(ADDSTRINGS)
+
+RUNMMDOC = TMMACRO=$(MPATH) PATH=$(DEPTH)/tools:$$PATH \
+ OTHERFILES="$(MPATH)/Op $(LANGOPT) $(MPATH)/localmacs" \
+ $(MMDOC) $(MMFLAGS)
+
+
+LEGALBASE = [0-z+,%-]*#
+LEGALSUF1 = [1-7]#
+LEGALSUF2 = [1-7][a-z]#
+LEGALSUF3 = [1-7]X11#
+LEGALSUF4 = [1-7]Xt#
+LEGALNAME1 = $(LEGALBASE).$(LEGALSUF1)#
+LEGALNAME2 = $(LEGALBASE).$(LEGALSUF2)#
+LEGALNAME3 = $(LEGALBASE).$(LEGALSUF3)#
+LEGALNAME4 = $(LEGALBASE).$(LEGALSUF4)#
+LISTLEGAL = find . \( -name '$(LEGALNAME1)' -o -name '$(LEGALNAME2)' \
+ -o -name '$(LEGALNAME3)' -o -name '$(LEGALNAME4)' \) -print | \
+ sed -e 's/^..//' -e '/\//d'
+
+#
+# The following defintions are release-note specific.
+#
+
+# File that should be included before each chapter is formatted
+CHAPHEAD = Templates/cFront
+
+# Files that should be included before each appendix is formatted
+APPDXHEAD = Templates/cFront Templates/aFront
+
+# Between start and end put file names for generating
+# the TC files in the right order.
+
+BASE = ch*#
+CHAPSUF = cmm#
+APPSUF = amm#
+
+LEGALCHAP = $(BASE).$(CHAPSUF)
+LEGALAPP = $(BASE).$(APPSUF)
+RELNOTES = find . \( -name '$(LEGALCHAP)' -o -name '$(LEGALAPP)' \) -print | \
+ sed -e 's/^..//' -e '/\//d' | sort
+
+TCFILES = ToC/TC.start ToC/ch*.TC ToC/TC.end
+
+MMFILES = `$(RELNOTES)`
+
+IXFILES = Index/ch*.IX
+
+CHAP_PP = pic $(CHAPHEAD) $? | tbl
+APP_PP = pic $(APPDXHEAD) $? | tbl
+
+# these should to be macros, so they can be overridden
+PSVIEWOPTS = -F1.2 -0,2-6,11
+PSVIEW = psview
+# this scale and geom works to show 6x9 pages on a 1280x1024
+# display.
+XPSVIEWOPTS = -wp -skipc -sc 1.1 -geom 660x1020 -
+XPSVIEW = xpsview
+
+# this can be used under X for previewing
+DITVIEW = xditview -geom 640x950 -
+
diff --git a/xc/extras/ogl-sample/main/doc/man/manglu/GNUmakefile b/xc/extras/ogl-sample/main/doc/man/manglu/GNUmakefile
new file mode 100755
index 000000000..a1d590ceb
--- /dev/null
+++ b/xc/extras/ogl-sample/main/doc/man/manglu/GNUmakefile
@@ -0,0 +1,55 @@
+#!gmake
+#
+# License Applicability. Except to the extent portions of this file are
+# made subject to an alternative license as permitted in the SGI Free
+# Software License B, Version 1.1 (the "License"), the contents of this
+# file are subject only to the provisions of the License. You may not use
+# this file except in compliance with the License. You may obtain a copy
+# of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
+# Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
+#
+# http://oss.sgi.com/projects/FreeB
+#
+# Note that, as provided in the License, the Software is distributed on an
+# "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
+# DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
+# CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
+# PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
+#
+# Original Code. The Original Code is: OpenGL Sample Implementation,
+# Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
+# Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
+# Copyright in any portions created by third parties is as indicated
+# elsewhere herein. All Rights Reserved.
+#
+# Additional Notice Provisions: The application programming interfaces
+# established by SGI in conjunction with the Original Code are The
+# OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
+# April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
+# 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
+# Window System(R) (Version 1.3), released October 19, 1998. This software
+# was created using the OpenGL(R) version 1.2.1 Sample Implementation
+# published by SGI, but has not been independently verified as being
+# compliant with the OpenGL(R) version 1.2.1 Specification.
+#
+# $Date: 2001/03/19 17:45:27 $ $Revision: 1.1.1.1 $
+# $Header: /home/ajax/dri-backup/xc/xc/extras/ogl-sample/main/doc/man/manglu/Attic/GNUmakefile,v 1.1.1.1 2001/03/19 17:45:27 dawes Exp $
+
+COMMONPREF = standard
+include $(ROOT)/usr/include/make/commondefs
+
+SUBDIRS = \
+ standard \
+ ftn \
+ html \
+ html_ftn \
+ $(NULL)
+
+default $(ALLTARGS): $(_FORCE)
+ $(SUBDIRS_MAKERULE)
+
+distoss:
+ $(MAKE) $(COMMONPREF)$@
+ $(SUBDIRS_MAKERULE)
+
+include $(COMMONRULES)
diff --git a/xc/extras/ogl-sample/main/doc/man/manglu/ftn/Distfile b/xc/extras/ogl-sample/main/doc/man/manglu/ftn/Distfile
new file mode 100755
index 000000000..d26feabc5
--- /dev/null
+++ b/xc/extras/ogl-sample/main/doc/man/manglu/ftn/Distfile
@@ -0,0 +1,64 @@
+#
+# $Date: 2001/03/19 17:45:27 $ $Revision: 1.1.1.1 $
+# $Header: /home/ajax/dri-backup/xc/xc/extras/ogl-sample/main/doc/man/manglu/ftn/Attic/Distfile,v 1.1.1.1 2001/03/19 17:45:27 dawes Exp $
+#
+
+DISTDIR_SI = /xc/doc/man/GL/glu_ftn
+
+DISTFILES_SI = \
+ Imakefile \
+ fglubegincurve.3gl \
+ fglubeginpolygon.3gl \
+ fglubeginsurface.3gl \
+ fglubegintrim.3gl \
+ fglubuild1dmipmaplevels.3gl \
+ fglubuild1dmipmaps.3gl \
+ fglubuild2dmipmaplevels.3gl \
+ fglubuild2dmipmaps.3gl \
+ fglubuild3dmipmaplevels.3gl \
+ fglubuild3dmipmaps.3gl \
+ fglucheckextension.3gl \
+ fglucylinder.3gl \
+ fgludeletenurbsrenderer.3gl \
+ fgludeletequadric.3gl \
+ fgludeletetess.3gl \
+ fgludisk.3gl \
+ fgluerrorstring.3gl \
+ fglugetnurbsproperty.3gl \
+ fglugetstring.3gl \
+ fglugettessproperty.3gl \
+ fgluloadsamplingmatrices.3gl \
+ fglulookat.3gl \
+ fglunewnurbsrenderer.3gl \
+ fglunewquadric.3gl \
+ fglunewtess.3gl \
+ fglunextcontour.3gl \
+ fglunurbscallback.3gl \
+ fglunurbscallbackdata.3gl \
+ fglunurbscallbackdataext.3gl \
+ fglunurbscurve.3gl \
+ fglunurbsproperty.3gl \
+ fglunurbssurface.3gl \
+ fgluortho2d.3gl \
+ fglupartialdisk.3gl \
+ fgluperspective.3gl \
+ fglupickmatrix.3gl \
+ fgluproject.3gl \
+ fglupwlcurve.3gl \
+ fgluquadriccallback.3gl \
+ fgluquadricdrawstyle.3gl \
+ fgluquadricnormals.3gl \
+ fgluquadricorientation.3gl \
+ fgluquadrictexture.3gl \
+ fgluscaleimage.3gl \
+ fglusphere.3gl \
+ fglutessbegincontour.3gl \
+ fglutessbeginpolygon.3gl \
+ fglutesscallback.3gl \
+ fglutessendpolygon.3gl \
+ fglutessnormal.3gl \
+ fglutessproperty.3gl \
+ fglutessvertex.3gl \
+ fgluunproject.3gl \
+ fgluunproject4.3gl \
+ $(NULL)
diff --git a/xc/extras/ogl-sample/main/doc/man/manglu/ftn/GNUmakefile b/xc/extras/ogl-sample/main/doc/man/manglu/ftn/GNUmakefile
new file mode 100755
index 000000000..e35750a47
--- /dev/null
+++ b/xc/extras/ogl-sample/main/doc/man/manglu/ftn/GNUmakefile
@@ -0,0 +1,102 @@
+#!gmake
+#
+# License Applicability. Except to the extent portions of this file are
+# made subject to an alternative license as permitted in the SGI Free
+# Software License B, Version 1.1 (the "License"), the contents of this
+# file are subject only to the provisions of the License. You may not use
+# this file except in compliance with the License. You may obtain a copy
+# of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
+# Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
+#
+# http://oss.sgi.com/projects/FreeB
+#
+# Note that, as provided in the License, the Software is distributed on an
+# "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
+# DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
+# CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
+# PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
+#
+# Original Code. The Original Code is: OpenGL Sample Implementation,
+# Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
+# Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
+# Copyright in any portions created by third parties is as indicated
+# elsewhere herein. All Rights Reserved.
+#
+# Additional Notice Provisions: The application programming interfaces
+# established by SGI in conjunction with the Original Code are The
+# OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
+# April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
+# 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
+# Window System(R) (Version 1.3), released October 19, 1998. This software
+# was created using the OpenGL(R) version 1.2.1 Sample Implementation
+# published by SGI, but has not been independently verified as being
+# compliant with the OpenGL(R) version 1.2.1 Specification.
+#
+# $Date: 2001/03/19 17:45:27 $ $Revision: 1.1.1.1 $
+# $Header: /home/ajax/dri-backup/xc/xc/extras/ogl-sample/main/doc/man/manglu/ftn/Attic/GNUmakefile,v 1.1.1.1 2001/03/19 17:45:27 dawes Exp $
+
+# NOTES:
+# - The file "lor-c.mn" contains the source for the List of Routines section
+# of the C edition of the GL Reference Guide. The usual targets
+# lor-c.p, lor-c.ps, and lor-c.psv exist for it; however, it does not have
+# a .3g suffix because we don't want to include it as a on-line man page.
+# The file should be generated!!!
+
+COMMONPREF = standard
+include $(ROOT)/usr/include/make/commondefs
+
+DEPTH = ../..
+LANGOPT = f
+PREFIX = glu
+IDB_PATH = /usr/catman/g_man/cat3/standard
+
+MANPREF = man
+include $(DEPTH)/mandefs
+
+APIFILE = $(ROOT)/usr/include/GL/glu.h
+
+VERSION = Version 1.2
+DATE = 10 Nov 1998
+RELEASE = 1.0
+MMFLAGS = -rs2
+
+LEGALSUF1 = gl#
+LEGALSUF2 = gl#
+LEGALSUF3 = gl#
+LEGALSUF4 = gl#
+
+LOCALPRINTLISTFILTER = | sed -e '/^intro\.p$$/d' | (echo intro.p ; cat )
+
+default:
+ $(MAKE) links
+ $(MAKE) manpages
+
+headers headers_install libs libs_install install apps:
+
+distsi: default
+ $(MAKE) $(COMMONPREF)$@
+
+distoss:
+ $(MAKE) $(COMMONPREF)$@
+
+links:
+ cd ../standard ; \
+ for i in *.gl ; do \
+ ( cd ../ftn ; if test ! -L fglu$$i ; then \
+ /bin/ln -s ../standard/$$i fglu$$i; fi ) ; \
+ done
+
+manpages: $(patsubst %.gl,%.3gl,$(wildcard *.gl))
+
+const.diff: const.awk *.gl $(ROOT)/usr/include/GL/gl.h
+ awk -f const.awk $(ROOT)/usr/include/GL/gl.h *.gl | \
+ sort | uniq > const.diff
+
+clean:
+ rm -f *.gl
+
+clobber: clean
+ rm -f *.3gl
+
+include $(DEPTH)/manrules
+include $(COMMONRULES)
diff --git a/xc/extras/ogl-sample/main/doc/man/manglu/ftn/Imakefile b/xc/extras/ogl-sample/main/doc/man/manglu/ftn/Imakefile
new file mode 100755
index 000000000..f321c491f
--- /dev/null
+++ b/xc/extras/ogl-sample/main/doc/man/manglu/ftn/Imakefile
@@ -0,0 +1,216 @@
+XCOMM License Applicability. Except to the extent portions of this file are
+XCOMM made subject to an alternative license as permitted in the SGI Free
+XCOMM Software License B, Version 1.1 (the "License"), the contents of this
+XCOMM file are subject only to the provisions of the License. You may not use
+XCOMM this file except in compliance with the License. You may obtain a copy
+XCOMM of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
+XCOMM Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
+XCOMM
+XCOMM http://oss.sgi.com/projects/FreeB
+XCOMM
+XCOMM Note that, as provided in the License, the Software is distributed on an
+XCOMM "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
+XCOMM DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
+XCOMM CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
+XCOMM PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
+XCOMM
+XCOMM Original Code. The Original Code is: OpenGL Sample Implementation,
+XCOMM Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
+XCOMM Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
+XCOMM Copyright in any portions created by third parties is as indicated
+XCOMM elsewhere herein. All Rights Reserved.
+XCOMM
+XCOMM Additional Notice Provisions: The application programming interfaces
+XCOMM established by SGI in conjunction with the Original Code are The
+XCOMM OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
+XCOMM April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
+XCOMM 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
+XCOMM Window System(R) (Version 1.3), released October 19, 1998. This software
+XCOMM was created using the OpenGL(R) version 1.2.1 Sample Implementation
+XCOMM published by SGI, but has not been independently verified as being
+XCOMM compliant with the OpenGL(R) version 1.2.1 Specification.
+XCOMM
+
+#ifdef ManPageAlias
+#undef ManPageAlias
+#endif
+#define ManPageAlias(file,destdir,alias) @@\
+alias.$(MANSUFFIX): file.$(MANSUFFIX) @@\
+ echo .so `basename destdir`/file.$(MANSUFFIX) > alias.$(MANSUFFIX) @@\
+
+MANSUFFIX = 3gl
+
+MAN_PAGES = \
+fgluBeginCurve.$(MANSUFFIX) fgluBeginPolygon.$(MANSUFFIX) \
+fgluBeginSurface.$(MANSUFFIX) fgluBeginTrim.$(MANSUFFIX) \
+fgluBuild1DMipmaps.$(MANSUFFIX) fgluBuild2DMipmaps.$(MANSUFFIX) \
+fgluCylinder.$(MANSUFFIX) fgluDeleteNurbsRenderer.$(MANSUFFIX) \
+fgluDeleteQuadric.$(MANSUFFIX) fgluDeleteTess.$(MANSUFFIX) \
+fgluDisk.$(MANSUFFIX) fgluEndCurve.$(MANSUFFIX) \
+fgluEndPolygon.$(MANSUFFIX) fgluEndSurface.$(MANSUFFIX) \
+fgluEndTrim.$(MANSUFFIX) fgluErrorString.$(MANSUFFIX) \
+fgluGetNurbsProperty.$(MANSUFFIX) fgluGetString.$(MANSUFFIX) \
+fgluGetTessProperty.$(MANSUFFIX) fgluLoadSamplingMatrices.$(MANSUFFIX) \
+fgluLookAt.$(MANSUFFIX) fgluNewNurbsRenderer.$(MANSUFFIX) \
+fgluNewQuadric.$(MANSUFFIX) fgluNewTess.$(MANSUFFIX) \
+fgluNextContour.$(MANSUFFIX) fgluNurbsCallback.$(MANSUFFIX) \
+fgluNurbsCallbackDataEXT.$(MANSUFFIX) fgluNurbsCurve.$(MANSUFFIX) \
+fgluNurbsProperty.$(MANSUFFIX) fgluNurbsSurface.$(MANSUFFIX) \
+fgluOrtho2D.$(MANSUFFIX) fgluPartialDisk.$(MANSUFFIX) \
+fgluPerspective.$(MANSUFFIX) fgluPickMatrix.$(MANSUFFIX) \
+fgluProject.$(MANSUFFIX) fgluPwlCurve.$(MANSUFFIX) \
+fgluQuadricCallback.$(MANSUFFIX) fgluQuadricDrawStyle.$(MANSUFFIX) \
+fgluQuadricNormals.$(MANSUFFIX) fgluQuadricOrientation.$(MANSUFFIX) \
+fgluQuadricTexture.$(MANSUFFIX) fgluScaleImage.$(MANSUFFIX) \
+fgluSphere.$(MANSUFFIX) fgluTessBeginContour.$(MANSUFFIX) \
+fgluTessBeginPolygon.$(MANSUFFIX) fgluTessCallback.$(MANSUFFIX) \
+fgluTessEndContour.$(MANSUFFIX) fgluTessEndPolygon.$(MANSUFFIX) \
+fgluTessNormal.$(MANSUFFIX) fgluTessProperty.$(MANSUFFIX) \
+fgluTessVertex.$(MANSUFFIX) fgluUnProject.$(MANSUFFIX)
+
+LINK_NAMES = \
+fgluBeginCurve.$(MANSUFFIX) fgluBeginPolygon.$(MANSUFFIX) \
+fgluBeginSurface.$(MANSUFFIX) fgluBeginTrim.$(MANSUFFIX) \
+fgluBuild1DMipmaps.$(MANSUFFIX) fgluBuild2DMipmaps.$(MANSUFFIX) \
+fgluCylinder.$(MANSUFFIX) fgluDeleteNurbsRenderer.$(MANSUFFIX) \
+fgluDeleteQuadric.$(MANSUFFIX) fgluDeleteTess.$(MANSUFFIX) \
+fgluDisk.$(MANSUFFIX) fgluErrorString.$(MANSUFFIX) \
+fgluGetNurbsProperty.$(MANSUFFIX) fgluGetString.$(MANSUFFIX) \
+fgluGetTessProperty.$(MANSUFFIX) fgluLoadSamplingMatrices.$(MANSUFFIX) \
+fgluLookAt.$(MANSUFFIX) fgluNewNurbsRenderer.$(MANSUFFIX) \
+fgluNewQuadric.$(MANSUFFIX) fgluNewTess.$(MANSUFFIX) \
+fgluNextContour.$(MANSUFFIX) fgluNurbsCallback.$(MANSUFFIX) \
+fgluNurbsCallbackDataEXT.$(MANSUFFIX) fgluNurbsCurve.$(MANSUFFIX) \
+fgluNurbsProperty.$(MANSUFFIX) fgluNurbsSurface.$(MANSUFFIX) \
+fgluOrtho2D.$(MANSUFFIX) fgluPartialDisk.$(MANSUFFIX) \
+fgluPerspective.$(MANSUFFIX) fgluPickMatrix.$(MANSUFFIX) \
+fgluProject.$(MANSUFFIX) fgluPwlCurve.$(MANSUFFIX) \
+fgluQuadricCallback.$(MANSUFFIX) fgluQuadricDrawStyle.$(MANSUFFIX) \
+fgluQuadricNormals.$(MANSUFFIX) fgluQuadricOrientation.$(MANSUFFIX) \
+fgluQuadricTexture.$(MANSUFFIX) fgluScaleImage.$(MANSUFFIX) \
+fgluSphere.$(MANSUFFIX) fgluTessBeginContour.$(MANSUFFIX) \
+fgluTessBeginPolygon.$(MANSUFFIX) fgluTessCallback.$(MANSUFFIX) \
+fgluTessEndPolygon.$(MANSUFFIX) fgluTessNormal.$(MANSUFFIX) \
+fgluTessProperty.$(MANSUFFIX) fgluTessVertex.$(MANSUFFIX) \
+fgluUnProject.$(MANSUFFIX)
+
+ALIAS_NAMES = \
+fgluEndCurve.$(MANSUFFIX) fgluEndPolygon.$(MANSUFFIX) \
+fgluEndSurface.$(MANSUFFIX) fgluEndTrim.$(MANSUFFIX) \
+fgluTessEndContour.$(MANSUFFIX)
+
+
+AllTarget($(MAN_PAGES))
+
+list:
+ @for i in $(MAN_PAGES); do echo $$i; done;
+
+install_list:
+ @for i in $(MAN_PAGES); do echo $(LIBMANDIR)/$$i; done;
+
+install:: install.man
+
+clean::
+ $(RM) $(LINK_NAMES) $(ALIAS_NAMES)
+
+InstallMultipleMan($(MAN_PAGES),$(LIBMANDIR))
+
+LinkFile(fgluBeginCurve.$(MANSUFFIX), fglubegincurve.3gl)
+ManPageAlias(fgluBeginCurve, $(LIBMANDIR), fgluEndCurve)
+
+LinkFile(fgluBeginPolygon.$(MANSUFFIX), fglubeginpolygon.3gl)
+ManPageAlias(fgluBeginPolygon, $(LIBMANDIR), fgluEndPolygon)
+
+LinkFile(fgluBeginSurface.$(MANSUFFIX), fglubeginsurface.3gl)
+ManPageAlias(fgluBeginSurface, $(LIBMANDIR), fgluEndSurface)
+
+LinkFile(fgluBeginTrim.$(MANSUFFIX), fglubegintrim.3gl)
+ManPageAlias(fgluBeginTrim, $(LIBMANDIR), fgluEndTrim)
+
+LinkFile(fgluBuild1DMipmaps.$(MANSUFFIX), fglubuild1dmipmaps.3gl)
+
+LinkFile(fgluBuild2DMipmaps.$(MANSUFFIX), fglubuild2dmipmaps.3gl)
+
+LinkFile(fgluCylinder.$(MANSUFFIX), fglucylinder.3gl)
+
+LinkFile(fgluDeleteNurbsRenderer.$(MANSUFFIX), fgludeletenurbsrenderer.3gl)
+
+LinkFile(fgluDeleteQuadric.$(MANSUFFIX), fgludeletequadric.3gl)
+
+LinkFile(fgluDeleteTess.$(MANSUFFIX), fgludeletetess.3gl)
+
+LinkFile(fgluDisk.$(MANSUFFIX), fgludisk.3gl)
+
+LinkFile(fgluErrorString.$(MANSUFFIX), fgluerrorstring.3gl)
+
+LinkFile(fgluGetNurbsProperty.$(MANSUFFIX), fglugetnurbsproperty.3gl)
+
+LinkFile(fgluGetString.$(MANSUFFIX), fglugetstring.3gl)
+
+LinkFile(fgluGetTessProperty.$(MANSUFFIX), fglugettessproperty.3gl)
+
+LinkFile(fgluLoadSamplingMatrices.$(MANSUFFIX), fgluloadsamplingmatrices.3gl)
+
+LinkFile(fgluLookAt.$(MANSUFFIX), fglulookat.3gl)
+
+LinkFile(fgluNewNurbsRenderer.$(MANSUFFIX), fglunewnurbsrenderer.3gl)
+
+LinkFile(fgluNewQuadric.$(MANSUFFIX), fglunewquadric.3gl)
+
+LinkFile(fgluNewTess.$(MANSUFFIX), fglunewtess.3gl)
+
+LinkFile(fgluNextContour.$(MANSUFFIX), fglunextcontour.3gl)
+
+LinkFile(fgluNurbsCallback.$(MANSUFFIX), fglunurbscallback.3gl)
+
+LinkFile(fgluNurbsCallbackDataEXT.$(MANSUFFIX), fglunurbscallbackdataext.3gl)
+
+LinkFile(fgluNurbsCurve.$(MANSUFFIX), fglunurbscurve.3gl)
+
+LinkFile(fgluNurbsProperty.$(MANSUFFIX), fglunurbsproperty.3gl)
+
+LinkFile(fgluNurbsSurface.$(MANSUFFIX), fglunurbssurface.3gl)
+
+LinkFile(fgluOrtho2D.$(MANSUFFIX), fgluortho2d.3gl)
+
+LinkFile(fgluPartialDisk.$(MANSUFFIX), fglupartialdisk.3gl)
+
+LinkFile(fgluPerspective.$(MANSUFFIX), fgluperspective.3gl)
+
+LinkFile(fgluPickMatrix.$(MANSUFFIX), fglupickmatrix.3gl)
+
+LinkFile(fgluProject.$(MANSUFFIX), fgluproject.3gl)
+
+LinkFile(fgluPwlCurve.$(MANSUFFIX), fglupwlcurve.3gl)
+
+LinkFile(fgluQuadricCallback.$(MANSUFFIX), fgluquadriccallback.3gl)
+
+LinkFile(fgluQuadricDrawStyle.$(MANSUFFIX), fgluquadricdrawstyle.3gl)
+
+LinkFile(fgluQuadricNormals.$(MANSUFFIX), fgluquadricnormals.3gl)
+
+LinkFile(fgluQuadricOrientation.$(MANSUFFIX), fgluquadricorientation.3gl)
+
+LinkFile(fgluQuadricTexture.$(MANSUFFIX), fgluquadrictexture.3gl)
+
+LinkFile(fgluScaleImage.$(MANSUFFIX), fgluscaleimage.3gl)
+
+LinkFile(fgluSphere.$(MANSUFFIX), fglusphere.3gl)
+
+LinkFile(fgluTessBeginContour.$(MANSUFFIX), fglutessbegincontour.3gl)
+ManPageAlias(fgluTessBeginContour, $(LIBMANDIR), fgluTessEndContour)
+
+LinkFile(fgluTessBeginPolygon.$(MANSUFFIX), fglutessbeginpolygon.3gl)
+
+LinkFile(fgluTessCallback.$(MANSUFFIX), fglutesscallback.3gl)
+
+LinkFile(fgluTessEndPolygon.$(MANSUFFIX), fglutessendpolygon.3gl)
+
+LinkFile(fgluTessNormal.$(MANSUFFIX), fglutessnormal.3gl)
+
+LinkFile(fgluTessProperty.$(MANSUFFIX), fglutessproperty.3gl)
+
+LinkFile(fgluTessVertex.$(MANSUFFIX), fglutessvertex.3gl)
+
+LinkFile(fgluUnProject.$(MANSUFFIX), fgluunproject.3gl)
+
diff --git a/xc/extras/ogl-sample/main/doc/man/manglu/ftn/f b/xc/extras/ogl-sample/main/doc/man/manglu/ftn/f
new file mode 100755
index 000000000..c4b555609
--- /dev/null
+++ b/xc/extras/ogl-sample/main/doc/man/manglu/ftn/f
@@ -0,0 +1 @@
+.Op + f
diff --git a/xc/extras/ogl-sample/main/doc/man/manglu/html/Distfile b/xc/extras/ogl-sample/main/doc/man/manglu/html/Distfile
new file mode 100755
index 000000000..f7c90c1be
--- /dev/null
+++ b/xc/extras/ogl-sample/main/doc/man/manglu/html/Distfile
@@ -0,0 +1,63 @@
+#
+# $Date: 2001/03/19 17:45:27 $ $Revision: 1.1.1.1 $
+# $Header: /home/ajax/dri-backup/xc/xc/extras/ogl-sample/main/doc/man/manglu/html/Attic/Distfile,v 1.1.1.1 2001/03/19 17:45:27 dawes Exp $
+#
+
+DISTDIR_SI = /xc/doc/hardcopy/GL/html/glu
+
+DISTFILES_SI = \
+ begincurve.html \
+ beginpolygon.html \
+ beginsurface.html \
+ begintrim.html \
+ build1dmipmaplevels.html \
+ build1dmipmaps.html \
+ build2dmipmaplevels.html \
+ build2dmipmaps.html \
+ build3dmipmaplevels.html \
+ build3dmipmaps.html \
+ checkextension.html \
+ cylinder.html \
+ deletenurbsrenderer.html \
+ deletequadric.html \
+ deletetess.html \
+ disk.html \
+ errorstring.html \
+ getnurbsproperty.html \
+ getstring.html \
+ gettessproperty.html \
+ loadsamplingmatrices.html \
+ lookat.html \
+ newnurbsrenderer.html \
+ newquadric.html \
+ newtess.html \
+ nextcontour.html \
+ nurbscallback.html \
+ nurbscallbackdata.html \
+ nurbscallbackdataext.html \
+ nurbscurve.html \
+ nurbsproperty.html \
+ nurbssurface.html \
+ ortho2d.html \
+ partialdisk.html \
+ perspective.html \
+ pickmatrix.html \
+ project.html \
+ pwlcurve.html \
+ quadriccallback.html \
+ quadricdrawstyle.html \
+ quadricnormals.html \
+ quadricorientation.html \
+ quadrictexture.html \
+ scaleimage.html \
+ sphere.html \
+ tessbegincontour.html \
+ tessbeginpolygon.html \
+ tesscallback.html \
+ tessendpolygon.html \
+ tessnormal.html \
+ tessproperty.html \
+ tessvertex.html \
+ unproject.html \
+ unproject4.html \
+ $(NULL)
diff --git a/xc/extras/ogl-sample/main/doc/man/manglu/html/GNUmakefile b/xc/extras/ogl-sample/main/doc/man/manglu/html/GNUmakefile
new file mode 100755
index 000000000..ad2697798
--- /dev/null
+++ b/xc/extras/ogl-sample/main/doc/man/manglu/html/GNUmakefile
@@ -0,0 +1,68 @@
+#!gmake
+#
+# License Applicability. Except to the extent portions of this file are
+# made subject to an alternative license as permitted in the SGI Free
+# Software License B, Version 1.1 (the "License"), the contents of this
+# file are subject only to the provisions of the License. You may not use
+# this file except in compliance with the License. You may obtain a copy
+# of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
+# Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
+#
+# http://oss.sgi.com/projects/FreeB
+#
+# Note that, as provided in the License, the Software is distributed on an
+# "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
+# DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
+# CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
+# PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
+#
+# Original Code. The Original Code is: OpenGL Sample Implementation,
+# Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
+# Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
+# Copyright in any portions created by third parties is as indicated
+# elsewhere herein. All Rights Reserved.
+#
+# Additional Notice Provisions: The application programming interfaces
+# established by SGI in conjunction with the Original Code are The
+# OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
+# April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
+# 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
+# Window System(R) (Version 1.3), released October 19, 1998. This software
+# was created using the OpenGL(R) version 1.2.1 Sample Implementation
+# published by SGI, but has not been independently verified as being
+# compliant with the OpenGL(R) version 1.2.1 Specification.
+#
+# $Date: 2001/03/19 17:45:27 $ $Revision: 1.1.1.1 $
+# $Header: /home/ajax/dri-backup/xc/xc/extras/ogl-sample/main/doc/man/manglu/html/Attic/GNUmakefile,v 1.1.1.1 2001/03/19 17:45:27 dawes Exp $
+
+COMMONPREF = standard
+include $(ROOT)/usr/include/make/commondefs
+
+DEPTH = ../..
+LANGOPT = c
+PREFIX = gl
+MANSRC = ../standard
+
+MANPREF = man
+include $(DEPTH)/mandefs
+
+VPATH = $(shell cd $(MANSRC) ; pwd)
+
+default:
+ $(MAKE) html
+
+headers headers_install libs libs_install install apps:
+
+distsi: default
+ $(MAKE) $(COMMONPREF)$@
+
+distoss:
+ $(MAKE) $(COMMONPREF)$@
+
+html: $(patsubst %.3gl,%.html,$(notdir $(wildcard $(MANSRC)/*.3gl)))
+
+clobber:
+ rm -rf *.html
+
+include $(DEPTH)/manrules
+include $(COMMONRULES)
diff --git a/xc/extras/ogl-sample/main/doc/man/manglu/html_ftn/Distfile b/xc/extras/ogl-sample/main/doc/man/manglu/html_ftn/Distfile
new file mode 100755
index 000000000..129251b86
--- /dev/null
+++ b/xc/extras/ogl-sample/main/doc/man/manglu/html_ftn/Distfile
@@ -0,0 +1,63 @@
+#
+# $Date: 2001/03/19 17:45:27 $ $Revision: 1.1.1.1 $
+# $Header: /home/ajax/dri-backup/xc/xc/extras/ogl-sample/main/doc/man/manglu/html_ftn/Attic/Distfile,v 1.1.1.1 2001/03/19 17:45:27 dawes Exp $
+#
+
+DISTDIR_SI = /xc/doc/hardcopy/GL/html/glu_ftn
+
+DISTFILES_SI = \
+ fglubegincurve.html \
+ fglubeginpolygon.html \
+ fglubeginsurface.html \
+ fglubegintrim.html \
+ fglubuild1dmipmaplevels.html \
+ fglubuild1dmipmaps.html \
+ fglubuild2dmipmaplevels.html \
+ fglubuild2dmipmaps.html \
+ fglubuild3dmipmaplevels.html \
+ fglubuild3dmipmaps.html \
+ fglucheckextension.html \
+ fglucylinder.html \
+ fgludeletenurbsrenderer.html \
+ fgludeletequadric.html \
+ fgludeletetess.html \
+ fgludisk.html \
+ fgluerrorstring.html \
+ fglugetnurbsproperty.html \
+ fglugetstring.html \
+ fglugettessproperty.html \
+ fgluloadsamplingmatrices.html \
+ fglulookat.html \
+ fglunewnurbsrenderer.html \
+ fglunewquadric.html \
+ fglunewtess.html \
+ fglunextcontour.html \
+ fglunurbscallback.html \
+ fglunurbscallbackdata.html \
+ fglunurbscallbackdataext.html \
+ fglunurbscurve.html \
+ fglunurbsproperty.html \
+ fglunurbssurface.html \
+ fgluortho2d.html \
+ fglupartialdisk.html \
+ fgluperspective.html \
+ fglupickmatrix.html \
+ fgluproject.html \
+ fglupwlcurve.html \
+ fgluquadriccallback.html \
+ fgluquadricdrawstyle.html \
+ fgluquadricnormals.html \
+ fgluquadricorientation.html \
+ fgluquadrictexture.html \
+ fgluscaleimage.html \
+ fglusphere.html \
+ fglutessbegincontour.html \
+ fglutessbeginpolygon.html \
+ fglutesscallback.html \
+ fglutessendpolygon.html \
+ fglutessnormal.html \
+ fglutessproperty.html \
+ fglutessvertex.html \
+ fgluunproject.html \
+ fgluunproject4.html \
+ $(NULL)
diff --git a/xc/extras/ogl-sample/main/doc/man/manglu/html_ftn/GNUmakefile b/xc/extras/ogl-sample/main/doc/man/manglu/html_ftn/GNUmakefile
new file mode 100755
index 000000000..8caca69a6
--- /dev/null
+++ b/xc/extras/ogl-sample/main/doc/man/manglu/html_ftn/GNUmakefile
@@ -0,0 +1,69 @@
+#!gmake
+#
+# License Applicability. Except to the extent portions of this file are
+# made subject to an alternative license as permitted in the SGI Free
+# Software License B, Version 1.1 (the "License"), the contents of this
+# file are subject only to the provisions of the License. You may not use
+# this file except in compliance with the License. You may obtain a copy
+# of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
+# Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
+#
+# http://oss.sgi.com/projects/FreeB
+#
+# Note that, as provided in the License, the Software is distributed on an
+# "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
+# DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
+# CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
+# PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
+#
+# Original Code. The Original Code is: OpenGL Sample Implementation,
+# Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
+# Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
+# Copyright in any portions created by third parties is as indicated
+# elsewhere herein. All Rights Reserved.
+#
+# Additional Notice Provisions: The application programming interfaces
+# established by SGI in conjunction with the Original Code are The
+# OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
+# April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
+# 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
+# Window System(R) (Version 1.3), released October 19, 1998. This software
+# was created using the OpenGL(R) version 1.2.1 Sample Implementation
+# published by SGI, but has not been independently verified as being
+# compliant with the OpenGL(R) version 1.2.1 Specification.
+#
+# $Date: 2001/03/19 17:45:27 $ $Revision: 1.1.1.1 $
+# $Header: /home/ajax/dri-backup/xc/xc/extras/ogl-sample/main/doc/man/manglu/html_ftn/Attic/GNUmakefile,v 1.1.1.1 2001/03/19 17:45:27 dawes Exp $
+
+COMMONPREF = standard
+include $(ROOT)/usr/include/make/commondefs
+
+DEPTH = ../..
+LANGOPT = c
+PREFIX = gl
+MANSRC = ../ftn
+
+MANPREF = man
+include $(DEPTH)/mandefs
+
+# Dependencies are in the man page source directory
+VPATH = $(shell cd $(MANSRC) ; pwd)
+
+default:
+ $(MAKE) html
+
+headers headers_install libs libs_install install apps:
+
+distsi: default
+ $(MAKE) $(COMMONPREF)$@
+
+distoss:
+ $(MAKE) $(COMMONPREF)$@
+
+html: $(patsubst %.3gl,%.html,$(notdir $(wildcard $(MANSRC)/*.3gl)))
+
+clobber:
+ rm -rf *.html
+
+include $(DEPTH)/manrules
+include $(COMMONRULES)
diff --git a/xc/extras/ogl-sample/main/doc/man/manglu/standard/Distfile b/xc/extras/ogl-sample/main/doc/man/manglu/standard/Distfile
new file mode 100755
index 000000000..8538de894
--- /dev/null
+++ b/xc/extras/ogl-sample/main/doc/man/manglu/standard/Distfile
@@ -0,0 +1,64 @@
+#
+# $Date: 2001/03/19 17:45:27 $ $Revision: 1.1.1.1 $
+# $Header: /home/ajax/dri-backup/xc/xc/extras/ogl-sample/main/doc/man/manglu/standard/Attic/Distfile,v 1.1.1.1 2001/03/19 17:45:27 dawes Exp $
+#
+
+DISTDIR_SI = /xc/doc/man/GL/glu
+
+DISTFILES_SI = \
+ Imakefile \
+ begincurve.3gl \
+ beginpolygon.3gl \
+ beginsurface.3gl \
+ begintrim.3gl \
+ build1dmipmaplevels.3gl \
+ build1dmipmaps.3gl \
+ build2dmipmaplevels.3gl \
+ build2dmipmaps.3gl \
+ build3dmipmaplevels.3gl \
+ build3dmipmaps.3gl \
+ checkextension.3gl \
+ cylinder.3gl \
+ deletenurbsrenderer.3gl \
+ deletequadric.3gl \
+ deletetess.3gl \
+ disk.3gl \
+ errorstring.3gl \
+ getnurbsproperty.3gl \
+ getstring.3gl \
+ gettessproperty.3gl \
+ loadsamplingmatrices.3gl \
+ lookat.3gl \
+ newnurbsrenderer.3gl \
+ newquadric.3gl \
+ newtess.3gl \
+ nextcontour.3gl \
+ nurbscallback.3gl \
+ nurbscallbackdata.3gl \
+ nurbscallbackdataext.3gl \
+ nurbscurve.3gl \
+ nurbsproperty.3gl \
+ nurbssurface.3gl \
+ ortho2d.3gl \
+ partialdisk.3gl \
+ perspective.3gl \
+ pickmatrix.3gl \
+ project.3gl \
+ pwlcurve.3gl \
+ quadriccallback.3gl \
+ quadricdrawstyle.3gl \
+ quadricnormals.3gl \
+ quadricorientation.3gl \
+ quadrictexture.3gl \
+ scaleimage.3gl \
+ sphere.3gl \
+ tessbegincontour.3gl \
+ tessbeginpolygon.3gl \
+ tesscallback.3gl \
+ tessendpolygon.3gl \
+ tessnormal.3gl \
+ tessproperty.3gl \
+ tessvertex.3gl \
+ unproject.3gl \
+ unproject4.3gl \
+ $(NULL)
diff --git a/xc/extras/ogl-sample/main/doc/man/manglu/standard/GNUmakefile b/xc/extras/ogl-sample/main/doc/man/manglu/standard/GNUmakefile
new file mode 100755
index 000000000..685e8255d
--- /dev/null
+++ b/xc/extras/ogl-sample/main/doc/man/manglu/standard/GNUmakefile
@@ -0,0 +1,93 @@
+#!gmake
+#
+# License Applicability. Except to the extent portions of this file are
+# made subject to an alternative license as permitted in the SGI Free
+# Software License B, Version 1.1 (the "License"), the contents of this
+# file are subject only to the provisions of the License. You may not use
+# this file except in compliance with the License. You may obtain a copy
+# of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
+# Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
+#
+# http://oss.sgi.com/projects/FreeB
+#
+# Note that, as provided in the License, the Software is distributed on an
+# "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
+# DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
+# CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
+# PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
+#
+# Original Code. The Original Code is: OpenGL Sample Implementation,
+# Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
+# Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
+# Copyright in any portions created by third parties is as indicated
+# elsewhere herein. All Rights Reserved.
+#
+# Additional Notice Provisions: The application programming interfaces
+# established by SGI in conjunction with the Original Code are The
+# OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
+# April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
+# 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
+# Window System(R) (Version 1.3), released October 19, 1998. This software
+# was created using the OpenGL(R) version 1.2.1 Sample Implementation
+# published by SGI, but has not been independently verified as being
+# compliant with the OpenGL(R) version 1.2.1 Specification.
+#
+# $Date: 2001/03/19 17:45:27 $ $Revision: 1.1.1.1 $
+# $Header: /home/ajax/dri-backup/xc/xc/extras/ogl-sample/main/doc/man/manglu/standard/Attic/GNUmakefile,v 1.1.1.1 2001/03/19 17:45:27 dawes Exp $
+
+# NOTES:
+# - The file "lor-c.mn" contains the source for the List of Routines section
+# of the C edition of the GL Reference Guide. The usual targets
+# lor-c.p, lor-c.ps, and lor-c.psv exist for it; however, it does not have
+# a .3g suffix because we don't want to include it as a on-line man page.
+# The file should be generated!!!
+
+COMMONPREF = standard
+include $(ROOT)/usr/include/make/commondefs
+
+DEPTH = ../..
+LANGOPT = c
+PREFIX = glu
+IDB_PATH = /usr/catman/g_man/cat3/standard
+
+MANPREF = man
+include $(DEPTH)/mandefs
+
+APIFILE = $(ROOT)/usr/include/GL/glu.h
+
+VERSION = Version 1.2
+DATE = 6 March 1997
+RELEASE = 1.2.0
+MMFLAGS = -rs2
+
+LEGALSUF1 = 3g#
+LEGALSUF2 = 3g#
+LEGALSUF3 = 3g#
+LEGALSUF4 = 3g#
+
+LOCALPRINTLISTFILTER = | sed -e '/^intro\.p$$/d' | (echo intro.p ; cat )
+
+default:
+ $(MAKE) manpages
+
+headers headers_install libs libs_install apps:
+
+distsi: default
+ $(MAKE) $(COMMONPREF)$@
+
+distoss:
+ $(MAKE) $(COMMONPREF)$@
+
+manpages: $(patsubst %.gl,%.3gl,$(wildcard *.gl))
+
+install: manpages
+ for file in *.3gl; do \
+ install -D -m 644 $$file ${ROOT}/usr/man/man3/glu`basename $$file .3gl`.3gl ; \
+ done
+
+
+clobber:
+ rm -f *.3gl
+
+include $(DEPTH)/manrules
+include $(COMMONRULES)
diff --git a/xc/extras/ogl-sample/main/doc/man/manglu/standard/Imakefile b/xc/extras/ogl-sample/main/doc/man/manglu/standard/Imakefile
new file mode 100755
index 000000000..fa72cb85a
--- /dev/null
+++ b/xc/extras/ogl-sample/main/doc/man/manglu/standard/Imakefile
@@ -0,0 +1,216 @@
+XCOMM License Applicability. Except to the extent portions of this file are
+XCOMM made subject to an alternative license as permitted in the SGI Free
+XCOMM Software License B, Version 1.1 (the "License"), the contents of this
+XCOMM file are subject only to the provisions of the License. You may not use
+XCOMM this file except in compliance with the License. You may obtain a copy
+XCOMM of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
+XCOMM Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
+XCOMM
+XCOMM http://oss.sgi.com/projects/FreeB
+XCOMM
+XCOMM Note that, as provided in the License, the Software is distributed on an
+XCOMM "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
+XCOMM DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
+XCOMM CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
+XCOMM PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
+XCOMM
+XCOMM Original Code. The Original Code is: OpenGL Sample Implementation,
+XCOMM Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
+XCOMM Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
+XCOMM Copyright in any portions created by third parties is as indicated
+XCOMM elsewhere herein. All Rights Reserved.
+XCOMM
+XCOMM Additional Notice Provisions: The application programming interfaces
+XCOMM established by SGI in conjunction with the Original Code are The
+XCOMM OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
+XCOMM April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
+XCOMM 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
+XCOMM Window System(R) (Version 1.3), released October 19, 1998. This software
+XCOMM was created using the OpenGL(R) version 1.2.1 Sample Implementation
+XCOMM published by SGI, but has not been independently verified as being
+XCOMM compliant with the OpenGL(R) version 1.2.1 Specification.
+XCOMM
+
+#ifdef ManPageAlias
+#undef ManPageAlias
+#endif
+#define ManPageAlias(file,destdir,alias) @@\
+alias.$(MANSUFFIX): file.$(MANSUFFIX) @@\
+ echo .so `basename destdir`/file.$(MANSUFFIX) > alias.$(MANSUFFIX) @@\
+
+MANSUFFIX = 3gl
+
+MAN_PAGES = \
+gluBeginCurve.$(MANSUFFIX) gluBeginPolygon.$(MANSUFFIX) \
+gluBeginSurface.$(MANSUFFIX) gluBeginTrim.$(MANSUFFIX) \
+gluBuild1DMipmaps.$(MANSUFFIX) gluBuild2DMipmaps.$(MANSUFFIX) \
+gluCylinder.$(MANSUFFIX) gluDeleteNurbsRenderer.$(MANSUFFIX) \
+gluDeleteQuadric.$(MANSUFFIX) gluDeleteTess.$(MANSUFFIX) \
+gluDisk.$(MANSUFFIX) gluEndCurve.$(MANSUFFIX) \
+gluEndPolygon.$(MANSUFFIX) gluEndSurface.$(MANSUFFIX) \
+gluEndTrim.$(MANSUFFIX) gluErrorString.$(MANSUFFIX) \
+gluGetNurbsProperty.$(MANSUFFIX) gluGetString.$(MANSUFFIX) \
+gluGetTessProperty.$(MANSUFFIX) gluLoadSamplingMatrices.$(MANSUFFIX) \
+gluLookAt.$(MANSUFFIX) gluNewNurbsRenderer.$(MANSUFFIX) \
+gluNewQuadric.$(MANSUFFIX) gluNewTess.$(MANSUFFIX) \
+gluNextContour.$(MANSUFFIX) gluNurbsCallback.$(MANSUFFIX) \
+gluNurbsCallbackDataEXT.$(MANSUFFIX) gluNurbsCurve.$(MANSUFFIX) \
+gluNurbsProperty.$(MANSUFFIX) gluNurbsSurface.$(MANSUFFIX) \
+gluOrtho2D.$(MANSUFFIX) gluPartialDisk.$(MANSUFFIX) \
+gluPerspective.$(MANSUFFIX) gluPickMatrix.$(MANSUFFIX) \
+gluProject.$(MANSUFFIX) gluPwlCurve.$(MANSUFFIX) \
+gluQuadricCallback.$(MANSUFFIX) gluQuadricDrawStyle.$(MANSUFFIX) \
+gluQuadricNormals.$(MANSUFFIX) gluQuadricOrientation.$(MANSUFFIX) \
+gluQuadricTexture.$(MANSUFFIX) gluScaleImage.$(MANSUFFIX) \
+gluSphere.$(MANSUFFIX) gluTessBeginContour.$(MANSUFFIX) \
+gluTessBeginPolygon.$(MANSUFFIX) gluTessCallback.$(MANSUFFIX) \
+gluTessEndContour.$(MANSUFFIX) gluTessEndPolygon.$(MANSUFFIX) \
+gluTessNormal.$(MANSUFFIX) gluTessProperty.$(MANSUFFIX) \
+gluTessVertex.$(MANSUFFIX) gluUnProject.$(MANSUFFIX)
+
+LINK_NAMES = \
+gluBeginCurve.$(MANSUFFIX) gluBeginPolygon.$(MANSUFFIX) \
+gluBeginSurface.$(MANSUFFIX) gluBeginTrim.$(MANSUFFIX) \
+gluBuild1DMipmaps.$(MANSUFFIX) gluBuild2DMipmaps.$(MANSUFFIX) \
+gluCylinder.$(MANSUFFIX) gluDeleteNurbsRenderer.$(MANSUFFIX) \
+gluDeleteQuadric.$(MANSUFFIX) gluDeleteTess.$(MANSUFFIX) \
+gluDisk.$(MANSUFFIX) gluErrorString.$(MANSUFFIX) \
+gluGetNurbsProperty.$(MANSUFFIX) gluGetString.$(MANSUFFIX) \
+gluGetTessProperty.$(MANSUFFIX) gluLoadSamplingMatrices.$(MANSUFFIX) \
+gluLookAt.$(MANSUFFIX) gluNewNurbsRenderer.$(MANSUFFIX) \
+gluNewQuadric.$(MANSUFFIX) gluNewTess.$(MANSUFFIX) \
+gluNextContour.$(MANSUFFIX) gluNurbsCallback.$(MANSUFFIX) \
+gluNurbsCallbackDataEXT.$(MANSUFFIX) gluNurbsCurve.$(MANSUFFIX) \
+gluNurbsProperty.$(MANSUFFIX) gluNurbsSurface.$(MANSUFFIX) \
+gluOrtho2D.$(MANSUFFIX) gluPartialDisk.$(MANSUFFIX) \
+gluPerspective.$(MANSUFFIX) gluPickMatrix.$(MANSUFFIX) \
+gluProject.$(MANSUFFIX) gluPwlCurve.$(MANSUFFIX) \
+gluQuadricCallback.$(MANSUFFIX) gluQuadricDrawStyle.$(MANSUFFIX) \
+gluQuadricNormals.$(MANSUFFIX) gluQuadricOrientation.$(MANSUFFIX) \
+gluQuadricTexture.$(MANSUFFIX) gluScaleImage.$(MANSUFFIX) \
+gluSphere.$(MANSUFFIX) gluTessBeginContour.$(MANSUFFIX) \
+gluTessBeginPolygon.$(MANSUFFIX) gluTessCallback.$(MANSUFFIX) \
+gluTessEndPolygon.$(MANSUFFIX) gluTessNormal.$(MANSUFFIX) \
+gluTessProperty.$(MANSUFFIX) gluTessVertex.$(MANSUFFIX) \
+gluUnProject.$(MANSUFFIX)
+
+ALIAS_NAMES = \
+gluEndCurve.$(MANSUFFIX) gluEndPolygon.$(MANSUFFIX) \
+gluEndSurface.$(MANSUFFIX) gluEndTrim.$(MANSUFFIX) \
+gluTessEndContour.$(MANSUFFIX)
+
+
+AllTarget($(MAN_PAGES))
+
+list:
+ @for i in $(MAN_PAGES); do echo $$i; done;
+
+install_list:
+ @for i in $(MAN_PAGES); do echo $(LIBMANDIR)/$$i; done;
+
+install:: install.man
+
+clean::
+ $(RM) $(LINK_NAMES) $(ALIAS_NAMES)
+
+InstallMultipleMan($(MAN_PAGES),$(LIBMANDIR))
+
+LinkFile(gluBeginCurve.$(MANSUFFIX), begincurve.3gl)
+ManPageAlias(gluBeginCurve, $(LIBMANDIR), gluEndCurve)
+
+LinkFile(gluBeginPolygon.$(MANSUFFIX), beginpolygon.3gl)
+ManPageAlias(gluBeginPolygon, $(LIBMANDIR), gluEndPolygon)
+
+LinkFile(gluBeginSurface.$(MANSUFFIX), beginsurface.3gl)
+ManPageAlias(gluBeginSurface, $(LIBMANDIR), gluEndSurface)
+
+LinkFile(gluBeginTrim.$(MANSUFFIX), begintrim.3gl)
+ManPageAlias(gluBeginTrim, $(LIBMANDIR), gluEndTrim)
+
+LinkFile(gluBuild1DMipmaps.$(MANSUFFIX), build1dmipmaps.3gl)
+
+LinkFile(gluBuild2DMipmaps.$(MANSUFFIX), build2dmipmaps.3gl)
+
+LinkFile(gluCylinder.$(MANSUFFIX), cylinder.3gl)
+
+LinkFile(gluDeleteNurbsRenderer.$(MANSUFFIX), deletenurbsrenderer.3gl)
+
+LinkFile(gluDeleteQuadric.$(MANSUFFIX), deletequadric.3gl)
+
+LinkFile(gluDeleteTess.$(MANSUFFIX), deletetess.3gl)
+
+LinkFile(gluDisk.$(MANSUFFIX), disk.3gl)
+
+LinkFile(gluErrorString.$(MANSUFFIX), errorstring.3gl)
+
+LinkFile(gluGetNurbsProperty.$(MANSUFFIX), getnurbsproperty.3gl)
+
+LinkFile(gluGetString.$(MANSUFFIX), getstring.3gl)
+
+LinkFile(gluGetTessProperty.$(MANSUFFIX), gettessproperty.3gl)
+
+LinkFile(gluLoadSamplingMatrices.$(MANSUFFIX), loadsamplingmatrices.3gl)
+
+LinkFile(gluLookAt.$(MANSUFFIX), lookat.3gl)
+
+LinkFile(gluNewNurbsRenderer.$(MANSUFFIX), newnurbsrenderer.3gl)
+
+LinkFile(gluNewQuadric.$(MANSUFFIX), newquadric.3gl)
+
+LinkFile(gluNewTess.$(MANSUFFIX), newtess.3gl)
+
+LinkFile(gluNextContour.$(MANSUFFIX), nextcontour.3gl)
+
+LinkFile(gluNurbsCallback.$(MANSUFFIX), nurbscallback.3gl)
+
+LinkFile(gluNurbsCallbackDataEXT.$(MANSUFFIX), nurbscallbackdataext.3gl)
+
+LinkFile(gluNurbsCurve.$(MANSUFFIX), nurbscurve.3gl)
+
+LinkFile(gluNurbsProperty.$(MANSUFFIX), nurbsproperty.3gl)
+
+LinkFile(gluNurbsSurface.$(MANSUFFIX), nurbssurface.3gl)
+
+LinkFile(gluOrtho2D.$(MANSUFFIX), ortho2d.3gl)
+
+LinkFile(gluPartialDisk.$(MANSUFFIX), partialdisk.3gl)
+
+LinkFile(gluPerspective.$(MANSUFFIX), perspective.3gl)
+
+LinkFile(gluPickMatrix.$(MANSUFFIX), pickmatrix.3gl)
+
+LinkFile(gluProject.$(MANSUFFIX), project.3gl)
+
+LinkFile(gluPwlCurve.$(MANSUFFIX), pwlcurve.3gl)
+
+LinkFile(gluQuadricCallback.$(MANSUFFIX), quadriccallback.3gl)
+
+LinkFile(gluQuadricDrawStyle.$(MANSUFFIX), quadricdrawstyle.3gl)
+
+LinkFile(gluQuadricNormals.$(MANSUFFIX), quadricnormals.3gl)
+
+LinkFile(gluQuadricOrientation.$(MANSUFFIX), quadricorientation.3gl)
+
+LinkFile(gluQuadricTexture.$(MANSUFFIX), quadrictexture.3gl)
+
+LinkFile(gluScaleImage.$(MANSUFFIX), scaleimage.3gl)
+
+LinkFile(gluSphere.$(MANSUFFIX), sphere.3gl)
+
+LinkFile(gluTessBeginContour.$(MANSUFFIX), tessbegincontour.3gl)
+ManPageAlias(gluTessBeginContour, $(LIBMANDIR), gluTessEndContour)
+
+LinkFile(gluTessBeginPolygon.$(MANSUFFIX), tessbeginpolygon.3gl)
+
+LinkFile(gluTessCallback.$(MANSUFFIX), tesscallback.3gl)
+
+LinkFile(gluTessEndPolygon.$(MANSUFFIX), tessendpolygon.3gl)
+
+LinkFile(gluTessNormal.$(MANSUFFIX), tessnormal.3gl)
+
+LinkFile(gluTessProperty.$(MANSUFFIX), tessproperty.3gl)
+
+LinkFile(gluTessVertex.$(MANSUFFIX), tessvertex.3gl)
+
+LinkFile(gluUnProject.$(MANSUFFIX), unproject.3gl)
+
diff --git a/xc/extras/ogl-sample/main/doc/man/manglu/standard/begincurve.gl b/xc/extras/ogl-sample/main/doc/man/manglu/standard/begincurve.gl
new file mode 100755
index 000000000..df5202ee4
--- /dev/null
+++ b/xc/extras/ogl-sample/main/doc/man/manglu/standard/begincurve.gl
@@ -0,0 +1,79 @@
+_C_ License Applicability. Except to the extent portions of this file are
+_C_ made subject to an alternative license as permitted in the SGI Free
+_C_ Software License B, Version 1.1 (the "License"), the contents of this
+_C_ file are subject only to the provisions of the License. You may not use
+_C_ this file except in compliance with the License. You may obtain a copy
+_C_ of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
+_C_ Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
+_C_
+_C_ http://oss.sgi.com/projects/FreeB
+_C_
+_C_ Note that, as provided in the License, the Software is distributed on an
+_C_ "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
+_C_ DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
+_C_ CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
+_C_ PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
+_C_
+_C_ Original Code. The Original Code is: OpenGL Sample Implementation,
+_C_ Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
+_C_ Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
+_C_ Copyright in any portions created by third parties is as indicated
+_C_ elsewhere herein. All Rights Reserved.
+_C_
+_C_ Additional Notice Provisions: The application programming interfaces
+_C_ established by SGI in conjunction with the Original Code are The
+_C_ OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
+_C_ April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
+_C_ 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
+_C_ Window System(R) (Version 1.3), released October 19, 1998. This software
+_C_ was created using the OpenGL(R) version 1.2.1 Sample Implementation
+_C_ published by SGI, but has not been independently verified as being
+_C_ compliant with the OpenGL(R) version 1.2.1 Specification.
+_C_
+_C_ $Date: 2001/03/19 17:45:27 $ $Revision: 1.1.1.1 $
+_C_ The first character in this file must be an '_'!
+_C_ Anything on a line after _C_ is ignored
+_define(_filters,eqn)_C_
+_C_ eqn is automatically replaced with neqn for nroff
+_header(BeginCurve, delimit a NURBS curve definition)
+_names(BeginCurve)
+_names(EndCurve,,noheader)
+.EQ
+delim $$
+.EN
+.SH PARAMETERS
+_phead(_param1)
+Specifies the NURBS object (created with _cmnd(NewNurbsRenderer)).
+.SH DESCRIPTION
+Use _cmnd(BeginCurve) to mark the beginning of a NURBS
+curve definition.
+After
+calling _cmnd(BeginCurve), make one or more calls to
+_cmnd(NurbsCurve) to define the attributes of the curve.
+Exactly one of the calls to _cmnd(NurbsCurve) must have
+a curve type of _const(MAP1_VERTEX_3) or _const(MAP1_VERTEX_4).
+To mark the end of the NURBS curve definition, call _cmnd(EndCurve).
+.P
+GL evaluators are used to render the NURBS curve as a series of line
+segments.
+Evaluator state is preserved during rendering
+with _glcmnd(PushAttrib)(_const(EVAL_BIT)) and
+_glcmnd(PopAttrib)().
+See the _glcmnd(PushAttrib) reference page for details on exactly what state
+these calls preserve.
+.SH EXAMPLE
+The following commands render a textured NURBS curve with normals;
+texture coordinates and normals are also specified as NURBS curves:
+.sp
+.Ex
+gluBeginCurve(nobj);
+ gluNurbsCurve(nobj, ..., GL_MAP1_TEXTURE_COORD_2);
+ gluNurbsCurve(nobj, ..., GL_MAP1_NORMAL);
+ gluNurbsCurve(nobj, ..., GL_MAP1_VERTEX_4);
+gluEndCurve(nobj);
+.Ee
+.SH SEE ALSO
+_cmnd(BeginSurface), _cmnd(BeginTrim), _cmnd(NewNurbsRenderer),
+_cmnd(NurbsCurve),
+_glcmnd(PopAttrib), _glcmnd(PushAttrib)
+
diff --git a/xc/extras/ogl-sample/main/doc/man/manglu/standard/beginpolygon.gl b/xc/extras/ogl-sample/main/doc/man/manglu/standard/beginpolygon.gl
new file mode 100755
index 000000000..9d2288826
--- /dev/null
+++ b/xc/extras/ogl-sample/main/doc/man/manglu/standard/beginpolygon.gl
@@ -0,0 +1,90 @@
+_C_ License Applicability. Except to the extent portions of this file are
+_C_ made subject to an alternative license as permitted in the SGI Free
+_C_ Software License B, Version 1.1 (the "License"), the contents of this
+_C_ file are subject only to the provisions of the License. You may not use
+_C_ this file except in compliance with the License. You may obtain a copy
+_C_ of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
+_C_ Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
+_C_
+_C_ http://oss.sgi.com/projects/FreeB
+_C_
+_C_ Note that, as provided in the License, the Software is distributed on an
+_C_ "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
+_C_ DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
+_C_ CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
+_C_ PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
+_C_
+_C_ Original Code. The Original Code is: OpenGL Sample Implementation,
+_C_ Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
+_C_ Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
+_C_ Copyright in any portions created by third parties is as indicated
+_C_ elsewhere herein. All Rights Reserved.
+_C_
+_C_ Additional Notice Provisions: The application programming interfaces
+_C_ established by SGI in conjunction with the Original Code are The
+_C_ OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
+_C_ April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
+_C_ 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
+_C_ Window System(R) (Version 1.3), released October 19, 1998. This software
+_C_ was created using the OpenGL(R) version 1.2.1 Sample Implementation
+_C_ published by SGI, but has not been independently verified as being
+_C_ compliant with the OpenGL(R) version 1.2.1 Specification.
+_C_
+_C_ $Date: 2001/03/19 17:45:27 $ $Revision: 1.1.1.1 $
+_C_ The first character in this file must be an '_'!
+_C_ Anything on a line after _C_ is ignored
+_define(_filters,eqn)_C_
+_C_ eqn is automatically replaced with neqn for nroff
+_header(BeginPolygon, delimit a polygon description)
+_names(BeginPolygon)
+_names(EndPolygon,,noheader)
+.EQ
+delim $$
+.EN
+.SH PARAMETERS
+_phead(_param1)
+Specifies the tessellation object (created with _cmnd(NewTess)).
+.SH DESCRIPTION
+_cmnd(BeginPolygon) and _cmnd(EndPolygon) delimit the definition of a
+nonconvex polygon.
+To define such a polygon, first call _cmnd(BeginPolygon).
+Then define the contours of the polygon
+by calling
+_cmnd(TessVertex) for each vertex
+and _cmnd(NextContour) to start each new contour.
+Finally, call _cmnd(EndPolygon)
+to signal the end of the definition.
+See the _cmnd(TessVertex) and
+_cmnd(NextContour) reference pages for more details.
+.P
+Once _cmnd(EndPolygon) is called, the polygon is tessellated, and the
+resulting triangles are described through callbacks.
+See _cmnd(TessCallback) for descriptions of the callback functions.
+.SH NOTES
+This command is obsolete and is provided for backward compatibility
+only. Calls to _cmnd(BeginPolygon) are mapped to
+_cmnd(TessBeginPolygon)
+followed by
+_cmnd(TessBeginContour). Calls to _cmnd(EndPolygon) are mapped
+to _cmnd(TessEndContour) followed by _cmnd(TessEndPolygon).
+.SH EXAMPLE
+A quadrilateral with a triangular hole in it can be described like this:
+.sp
+.Ex
+gluBeginPolygon(tobj);
+ gluTessVertex(tobj, v1, v1);
+ gluTessVertex(tobj, v2, v2);
+ gluTessVertex(tobj, v3, v3);
+ gluTessVertex(tobj, v4, v4);
+gluNextContour(tobj, GLU_INTERIOR);
+ gluTessVertex(tobj, v5, v5);
+ gluTessVertex(tobj, v6, v6);
+ gluTessVertex(tobj, v7, v7);
+gluEndPolygon(tobj);
+.Ee
+.SH SEE ALSO
+_cmnd(NewTess), _cmnd(NextContour), _cmnd(TessCallback), _cmnd(TessVertex),
+_cmnd(TessBeginPolygon), _cmnd(TessBeginContour)
+
+
+
diff --git a/xc/extras/ogl-sample/main/doc/man/manglu/standard/beginsurface.gl b/xc/extras/ogl-sample/main/doc/man/manglu/standard/beginsurface.gl
new file mode 100755
index 000000000..c5107c219
--- /dev/null
+++ b/xc/extras/ogl-sample/main/doc/man/manglu/standard/beginsurface.gl
@@ -0,0 +1,84 @@
+_C_ License Applicability. Except to the extent portions of this file are
+_C_ made subject to an alternative license as permitted in the SGI Free
+_C_ Software License B, Version 1.1 (the "License"), the contents of this
+_C_ file are subject only to the provisions of the License. You may not use
+_C_ this file except in compliance with the License. You may obtain a copy
+_C_ of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
+_C_ Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
+_C_
+_C_ http://oss.sgi.com/projects/FreeB
+_C_
+_C_ Note that, as provided in the License, the Software is distributed on an
+_C_ "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
+_C_ DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
+_C_ CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
+_C_ PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
+_C_
+_C_ Original Code. The Original Code is: OpenGL Sample Implementation,
+_C_ Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
+_C_ Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
+_C_ Copyright in any portions created by third parties is as indicated
+_C_ elsewhere herein. All Rights Reserved.
+_C_
+_C_ Additional Notice Provisions: The application programming interfaces
+_C_ established by SGI in conjunction with the Original Code are The
+_C_ OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
+_C_ April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
+_C_ 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
+_C_ Window System(R) (Version 1.3), released October 19, 1998. This software
+_C_ was created using the OpenGL(R) version 1.2.1 Sample Implementation
+_C_ published by SGI, but has not been independently verified as being
+_C_ compliant with the OpenGL(R) version 1.2.1 Specification.
+_C_
+_C_ $Date: 2001/03/19 17:45:27 $ $Revision: 1.1.1.1 $
+_C_ The first character in this file must be an '_'!
+_C_ Anything on a line after _C_ is ignored
+_define(_filters,eqn)_C_
+_C_ eqn is automatically replaced with neqn for nroff
+_header(BeginSurface, delimit a NURBS surface definition)
+_names(BeginSurface)
+_names(EndSurface,,noheader)
+.EQ
+delim $$
+.EN
+.SH PARAMETERS
+_phead(_param1)
+Specifies the NURBS object (created with _cmnd(NewNurbsRenderer)).
+.SH DESCRIPTION
+Use _cmnd(BeginSurface) to mark the beginning of a NURBS
+surface definition. After
+calling _cmnd(BeginSurface), make one or more calls to
+_cmnd(NurbsSurface) to define the attributes of the surface.
+Exactly one of these calls to _cmnd(NurbsSurface) must have a
+surface type of _const(MAP2_VERTEX_3) or _const(MAP2_VERTEX_4).
+To mark the end of the NURBS surface definition, call
+_cmnd(EndSurface).
+.P
+Trimming of NURBS surfaces is supported with _cmnd(BeginTrim),
+_cmnd(PwlCurve), _cmnd(NurbsCurve), and _cmnd(EndTrim). See the
+_cmnd(BeginTrim) reference page for details.
+.P
+GL evaluators are used to render the NURBS surface as a set of polygons.
+Evaluator state is preserved during rendering
+with _glcmnd(PushAttrib)(_const(EVAL_BIT)) and
+_glcmnd(PopAttrib)().
+See the _glcmnd(PushAttrib) reference page for details on exactly what state
+these calls preserve.
+.SH EXAMPLE
+The following commands render a textured NURBS surface with normals;
+the texture coordinates and normals are also described as NURBS surfaces:
+.sp
+.Ex
+gluBeginSurface(nobj);
+ gluNurbsSurface(nobj, ..., GL_MAP2_TEXTURE_COORD_2);
+ gluNurbsSurface(nobj, ..., GL_MAP2_NORMAL);
+ gluNurbsSurface(nobj, ..., GL_MAP2_VERTEX_4);
+gluEndSurface(nobj);
+.Ee
+.sp
+.SH SEE ALSO
+_cmnd(BeginCurve), _cmnd(BeginTrim), _cmnd(NewNurbsRenderer),
+_cmnd(NurbsCurve), _cmnd(NurbsSurface), _cmnd(PwlCurve)
+
+
+
diff --git a/xc/extras/ogl-sample/main/doc/man/manglu/standard/begintrim.gl b/xc/extras/ogl-sample/main/doc/man/manglu/standard/begintrim.gl
new file mode 100755
index 000000000..f8ae1b453
--- /dev/null
+++ b/xc/extras/ogl-sample/main/doc/man/manglu/standard/begintrim.gl
@@ -0,0 +1,120 @@
+_C_ License Applicability. Except to the extent portions of this file are
+_C_ made subject to an alternative license as permitted in the SGI Free
+_C_ Software License B, Version 1.1 (the "License"), the contents of this
+_C_ file are subject only to the provisions of the License. You may not use
+_C_ this file except in compliance with the License. You may obtain a copy
+_C_ of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
+_C_ Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
+_C_
+_C_ http://oss.sgi.com/projects/FreeB
+_C_
+_C_ Note that, as provided in the License, the Software is distributed on an
+_C_ "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
+_C_ DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
+_C_ CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
+_C_ PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
+_C_
+_C_ Original Code. The Original Code is: OpenGL Sample Implementation,
+_C_ Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
+_C_ Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
+_C_ Copyright in any portions created by third parties is as indicated
+_C_ elsewhere herein. All Rights Reserved.
+_C_
+_C_ Additional Notice Provisions: The application programming interfaces
+_C_ established by SGI in conjunction with the Original Code are The
+_C_ OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
+_C_ April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
+_C_ 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
+_C_ Window System(R) (Version 1.3), released October 19, 1998. This software
+_C_ was created using the OpenGL(R) version 1.2.1 Sample Implementation
+_C_ published by SGI, but has not been independently verified as being
+_C_ compliant with the OpenGL(R) version 1.2.1 Specification.
+_C_
+_C_ $Date: 2001/03/19 17:45:27 $ $Revision: 1.1.1.1 $
+_C_ The first character in this file must be an '_'!
+_C_ Anything on a line after _C_ is ignored
+_define(_filters,eqn)_C_
+_C_ eqn is automatically replaced with neqn for nroff
+_header(BeginTrim, delimit a NURBS trimming loop definition)
+_names(BeginTrim)
+_names(EndTrim,,noheader)
+.EQ
+delim $$
+.EN
+.SH PARAMETERS
+_phead(_param1)
+Specifies the NURBS object (created with _cmnd(NewNurbsRenderer)).
+.SH DESCRIPTION
+Use _cmnd(BeginTrim) to mark the beginning of a
+trimming loop, and _cmnd(EndTrim) to mark the end
+of a trimming loop. A trimming loop is
+a set of oriented curve segments (forming a closed curve) that
+define boundaries of a NURBS surface. You include these
+trimming loops in the definition of a NURBS
+surface, between calls to _cmnd(BeginSurface) and _cmnd(EndSurface).
+.P
+The definition for a NURBS surface can contain many
+trimming loops. For example, if you wrote a definition
+for a NURBS surface that resembled a rectangle with
+a hole punched out, the definition would contain two
+trimming loops. One loop would define the outer edge
+of the rectangle; the other would define
+the hole punched out of the rectangle. The definitions
+of each of these trimming loops would be bracketed by a
+_cmnd(BeginTrim)/_cmnd(EndTrim) pair.
+.P
+The definition of a single closed trimming loop can consist
+of multiple curve segments, each described as a piecewise
+linear curve (see _cmnd(PwlCurve)) or as a single NURBS
+curve (see _cmnd(NurbsCurve)), or as a combination of
+both in any order. The only library calls that can
+appear in a trimming loop definition (between the calls
+to _cmnd(BeginTrim) and _cmnd(EndTrim)) are
+_cmnd(PwlCurve) and _cmnd(NurbsCurve).
+.P
+The area of the NURBS surface that is displayed is the
+region in the domain to the left of the trimming curve
+as the curve parameter increases. Thus, the retained
+region of the NURBS surface is inside a
+counterclockwise trimming loop and outside a clockwise
+trimming loop. For the rectangle mentioned earlier,
+the trimming loop for the outer edge of the rectangle runs
+counterclockwise, while the trimming loop for the punched-out hole
+runs clockwise.
+.P
+If you use more than one curve to define a single trimming
+loop, the curve segments must form a closed loop (that is,
+the endpoint of each curve must be the starting point of the
+next curve, and the endpoint of the final curve must
+be the starting point of the first curve). If the
+endpoints of the curve are sufficiently close together
+but not exactly coincident, they will be coerced to match.
+If the endpoints are not sufficiently close, an error results
+(see _cmnd(NurbsCallback)).
+.P
+If a trimming loop definition contains multiple curves,
+the direction of the curves must be consistent (that is, the
+inside must be to the left of all of the curves). Nested
+trimming loops are legal as long as the curve orientations
+alternate correctly.
+If trimming curves are self-intersecting,
+or intersect one another, an error results.
+.P
+If no trimming information is given
+for a NURBS surface, the entire surface is drawn.
+.SH EXAMPLE
+This code fragment defines a trimming loop that consists of one
+piecewise linear curve, and two NURBS curves:
+.sp
+.Ex
+gluBeginTrim(nobj);
+ gluPwlCurve(..., GLU_MAP1_TRIM_2);
+ gluNurbsCurve(..., GLU_MAP1_TRIM_2);
+ gluNurbsCurve(..., GLU_MAP1_TRIM_3);
+gluEndTrim(nobj);
+.Ee
+.SH SEE ALSO
+_cmnd(BeginSurface), _cmnd(NewNurbsRenderer), _cmnd(NurbsCallback),
+_cmnd(NurbsCurve), _cmnd(PwlCurve)
+
+
diff --git a/xc/extras/ogl-sample/main/doc/man/manglu/standard/build1dmipmaplevels.gl b/xc/extras/ogl-sample/main/doc/man/manglu/standard/build1dmipmaplevels.gl
new file mode 100755
index 000000000..5e156557d
--- /dev/null
+++ b/xc/extras/ogl-sample/main/doc/man/manglu/standard/build1dmipmaplevels.gl
@@ -0,0 +1,229 @@
+_C_ License Applicability. Except to the extent portions of this file are
+_C_ made subject to an alternative license as permitted in the SGI Free
+_C_ Software License B, Version 1.1 (the "License"), the contents of this
+_C_ file are subject only to the provisions of the License. You may not use
+_C_ this file except in compliance with the License. You may obtain a copy
+_C_ of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
+_C_ Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
+_C_
+_C_ http://oss.sgi.com/projects/FreeB
+_C_
+_C_ Note that, as provided in the License, the Software is distributed on an
+_C_ "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
+_C_ DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
+_C_ CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
+_C_ PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
+_C_
+_C_ Original Code. The Original Code is: OpenGL Sample Implementation,
+_C_ Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
+_C_ Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
+_C_ Copyright in any portions created by third parties is as indicated
+_C_ elsewhere herein. All Rights Reserved.
+_C_
+_C_ Additional Notice Provisions: The application programming interfaces
+_C_ established by SGI in conjunction with the Original Code are The
+_C_ OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
+_C_ April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
+_C_ 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
+_C_ Window System(R) (Version 1.3), released October 19, 1998. This software
+_C_ was created using the OpenGL(R) version 1.2.1 Sample Implementation
+_C_ published by SGI, but has not been independently verified as being
+_C_ compliant with the OpenGL(R) version 1.2.1 Specification.
+_C_
+_C_ $Date: 2001/03/19 17:45:27 $ $Revision: 1.1.1.1 $
+_C_ The first character in this file must be an '_'!
+_C_ Anything on a line after _C_ is ignored
+_define(_filters,eqn)_C_
+_C_ eqn is automatically replaced with neqn for nroff
+_header(Build1DMipmapLevels, builds a subset of one-dimensional mipmap levels)
+_names(Build1DMipmapLevels)
+.EQ
+delim $$
+.EN
+.SH PARAMETERS
+_phead(_param1)
+Specifies the target texture. Must be _const(TEXTURE_1D).
+_phead(_param2)
+Requests the internal storage format of the texture image. The most
+current version of the SGI implementation of GLU does not check this
+value for validity before passing it on to the underlying OpenGL
+implementation. A value that is not accepted by the OpenGL
+implementation will lead to an OpenGL error. The benefit of not
+checking this value at the GLU level is that OpenGL extensions can add
+new internal texture formats without requiring a revision of the GLU
+implementation. Older implementations of GLU check this value and
+raise a GLU error if it is not 1, 2, 3, or 4 or one of the following
+symbolic constants:
+_const(ALPHA),
+_const(ALPHA4),
+_const(ALPHA8),
+_const(ALPHA12),
+_const(ALPHA16),
+_const(LUMINANCE),
+_const(LUMINANCE4),
+_const(LUMINANCE8),
+_const(LUMINANCE12),
+_const(LUMINANCE16),
+_const(LUMINANCE_ALPHA),
+_const(LUMINANCE4_ALPHA4),
+_const(LUMINANCE6_ALPHA2),
+_const(LUMINANCE8_ALPHA8),
+_const(LUMINANCE12_ALPHA4),
+_const(LUMINANCE12_ALPHA12),
+_const(LUMINANCE16_ALPHA16),
+_const(INTENSITY),
+_const(INTENSITY4),
+_const(INTENSITY8),
+_const(INTENSITY12),
+_const(INTENSITY16),
+_const(RGB),
+_const(R3_G3_B2),
+_const(RGB4),
+_const(RGB5),
+_const(RGB8),
+_const(RGB10),
+_const(RGB12),
+_const(RGB16),
+_const(RGBA),
+_const(RGBA2),
+_const(RGBA4),
+_const(RGB5_A1),
+_const(RGBA8),
+_const(RGB10_A2),
+_const(RGBA12) or
+_const(RGBA16).
+_phead(_param3)
+Specifies the width in pixels of the texture image.
+This should be a power of 2.
+_phead(_param4)
+Specifies the format of the pixel data.
+Must be one of:
+_const(COLOR_INDEX),
+_const(DEPTH_COMPONENT),
+_const(RED),
+_const(GREEN),
+_const(BLUE),
+_const(ALPHA),
+_const(RGB),
+_const(RGBA),
+_const(BGR),
+_const(BGRA),
+_const(LUMINANCE), or
+_const(LUMINANCE_ALPHA).
+_phead(_param5)
+Specifies the data type for _param9.
+Must be one of: _const(UNSIGNED_BYTE),
+_const(BYTE),
+_const(BITMAP),
+_const(UNSIGNED_SHORT),
+_const(SHORT),
+_const(UNSIGNED_INT),
+_const(INT),
+_const(FLOAT),
+_const(UNSIGNED_BYTE_3_3_2),
+_const(UNSIGNED_BYTE_2_3_3_REV),
+_const(UNSIGNED_SHORT_5_6_5),
+_const(UNSIGNED_SHORT_5_6_5_REV),
+_const(UNSIGNED_SHORT_4_4_4_4),
+_const(UNSIGNED_SHORT_4_4_4_4_REV),
+_const(UNSIGNED_SHORT_5_5_5_1),
+_const(UNSIGNED_SHORT_1_5_5_5_REV),
+_const(UNSIGNED_INT_8_8_8_8),
+_const(UNSIGNED_INT_8_8_8_8_REV),
+_const(UNSIGNED_INT_10_10_10_2), or
+_const(UNSIGNED_INT_2_10_10_10_REV).
+_phead(_param6)
+Specifies the mipmap level of the image data.
+_phead(_param7)
+Specifies the minimum mipmap level to pass to _glcmnd(TexImage1D).
+_phead(_param8)
+Specifies the maximum mipmap level to pass to _glcmnd(TexImage1D).
+_phead(_param9)
+Specifies a pointer to the image data in memory.
+.SH DESCRIPTION
+_cmnd builds a subset of prefiltered one-dimensional texture maps of decreasing
+resolutions called a mipmap. This is used for the antialiasing of
+texture mapped primitives.
+.P
+A return value of zero indicates success, otherwise a GLU error code is
+returned (see _cmnd(ErrorString)).
+.P
+A series of mipmap levels from _param7 to _param8 is built by decimating
+_param9 in half
+until size $1 ~times~ 1$ is reached. At each level, each texel in the
+halved mipmap level is an average of the corresponding two texels in the larger
+mipmap level.
+_glcmnd(TexImage1D) is called to load these mipmap levels from _param7
+to _param8. If _param8 is larger than the highest mipmap level for the
+texture of the specified size, then a GLU error code is returned (see
+_cmnd(ErrorString)) and nothing is loaded.
+.P
+For example, if _param6 is 2 and _param3 is 16, the
+following levels are possible: $16 ~times~ 1$, $8 ~times~ 1$, $4 ~times~ 1$,
+$2 ~times~ 1$, $1 ~times~ 1$. These correspond
+to levels 2 through 6 respectively.
+If _param7 is 3 and _param8 is 5, then only mipmap levels $8 ~times~ 1$,
+$4 ~times~ 1$ and $2 ~times~ 1$ are
+loaded. However, if _param8 is 7 then an error is returned and nothing is
+loaded since _param8 is larger than the highest mipmap level which is, in
+this case, 6.
+.P
+The highest mipmap level can be derived from the formula
+${log sub 2} (_param3^{2 sup _param6})$.
+.P
+See the _glcmnd(TexImage1D) reference page for a description of the
+acceptable values for _param5 parameter. See the _glcmnd(DrawPixels)
+reference page for a description of the acceptable values
+for _param6 parameter.
+.bp
+.SH NOTES
+_cmnd is only available if the GLU version is 1.3 or greater.
+.P
+Formats _const(BGR), and _const(BGRA), and types
+_const(UNSIGNED_BYTE_3_3_2),
+_const(UNSIGNED_BYTE_2_3_3_REV),
+_const(UNSIGNED_SHORT_5_6_5),
+_const(UNSIGNED_SHORT_5_6_5_REV),
+_const(UNSIGNED_SHORT_4_4_4_4),
+_const(UNSIGNED_SHORT_4_4_4_4_REV),
+_const(UNSIGNED_SHORT_5_5_5_1),
+_const(UNSIGNED_SHORT_1_5_5_5_REV),
+_const(UNSIGNED_INT_8_8_8_8),
+_const(UNSIGNED_INT_8_8_8_8_REV),
+_const(UNSIGNED_INT_10_10_10_2), and
+_const(UNSIGNED_INT_2_10_10_10_REV) are only available if the GL version
+is 1.2 or greater.
+.SH ERRORS
+_gluconst(INVALID_VALUE) is returned if _param6 > _param7, _param7 < 0,
+_param8 < _param7 or _param8 is > the highest mipmap level for _param9.
+.P
+_gluconst(INVALID_VALUE) is returned if _param3 is < 1.
+.P
+_gluconst(INVALID_ENUM) is returned if _param2, _param4, or _param5 are not
+legal.
+.P
+_gluconst(INVALID_OPERATION) is returned if _param5 is _const(UNSIGNED_BYTE_3_3_2) or _const(UNSIGNED_BYTE_2_3_3_REV)
+and _param4 is not _const(RGB).
+.P
+_gluconst(INVALID_OPERATION) is returned if _param5 is _const(UNSIGNED_SHORT_5_6_5) or _const(UNSIGNED_SHORT_5_6_5_REV)
+and _param4 is not _const(RGB).
+.P
+_gluconst(INVALID_OPERATION) is returned if _param5 is _const(UNSIGNED_SHORT_4_4_4_4) or _const(UNSIGNED_SHORT_4_4_4_4_REV)
+and _param4 is neither _const(RGBA) nor _const(BGRA).
+.P
+_gluconst(INVALID_OPERATION) is returned if _param5 is _const(UNSIGNED_SHORT_5_5_5_1) or _const(UNSIGNED_SHORT_1_5_5_5_REV)
+and _param4 is neither _const(RGBA) nor _const(BGRA).
+.P
+_gluconst(INVALID_OPERATION) is returned if _param5 is _const(UNSIGNED_INT_8_8_8_8) or _const(UNSIGNED_INT_8_8_8_8_REV)
+and _param4 is neither _const(RGBA) nor _const(BGRA).
+.P
+_gluconst(INVALID_OPERATION) is returned if _param5 is _const(UNSIGNED_INT_10_10_10_2) or _const(UNSIGNED_INT_2_10_10_10_REV)
+and _param4 is neither _const(RGBA) nor _const(BGRA).
+.SH SEE ALSO
+_glcmnd(DrawPixels), _glcmnd(TexImage1D), _glcmnd(TexImage2D),
+_glcmnd(TexImage3D),
+_cmnd(Build1DMipmaps), _cmnd(Build2DMipmaps), _cmnd(Build3DMipmaps),
+_cmnd(ErrorString),
+_glcmnd(GetTexImage),
+_glcmnd(GetTexLevelParameter),
+_cmnd(Build2DMipmapLevels), _cmnd(Build3DMipmapLevels)
diff --git a/xc/extras/ogl-sample/main/doc/man/manglu/standard/build1dmipmaps.gl b/xc/extras/ogl-sample/main/doc/man/manglu/standard/build1dmipmaps.gl
new file mode 100755
index 000000000..1e81656de
--- /dev/null
+++ b/xc/extras/ogl-sample/main/doc/man/manglu/standard/build1dmipmaps.gl
@@ -0,0 +1,235 @@
+_C_ License Applicability. Except to the extent portions of this file are
+_C_ made subject to an alternative license as permitted in the SGI Free
+_C_ Software License B, Version 1.1 (the "License"), the contents of this
+_C_ file are subject only to the provisions of the License. You may not use
+_C_ this file except in compliance with the License. You may obtain a copy
+_C_ of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
+_C_ Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
+_C_
+_C_ http://oss.sgi.com/projects/FreeB
+_C_
+_C_ Note that, as provided in the License, the Software is distributed on an
+_C_ "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
+_C_ DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
+_C_ CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
+_C_ PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
+_C_
+_C_ Original Code. The Original Code is: OpenGL Sample Implementation,
+_C_ Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
+_C_ Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
+_C_ Copyright in any portions created by third parties is as indicated
+_C_ elsewhere herein. All Rights Reserved.
+_C_
+_C_ Additional Notice Provisions: The application programming interfaces
+_C_ established by SGI in conjunction with the Original Code are The
+_C_ OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
+_C_ April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
+_C_ 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
+_C_ Window System(R) (Version 1.3), released October 19, 1998. This software
+_C_ was created using the OpenGL(R) version 1.2.1 Sample Implementation
+_C_ published by SGI, but has not been independently verified as being
+_C_ compliant with the OpenGL(R) version 1.2.1 Specification.
+_C_
+_C_ $Date: 2001/03/19 17:45:27 $ $Revision: 1.1.1.1 $
+_C_ The first character in this file must be an '_'!
+_C_ Anything on a line after _C_ is ignored
+_define(_filters,eqn)_C_
+_C_ eqn is automatically replaced with neqn for nroff
+_header(Build1DMipmaps, builds a one-dimensional mipmap)
+_names(Build1DMipmaps)
+.EQ
+delim $$
+.EN
+.SH PARAMETERS
+_phead(_param1)
+Specifies the target texture. Must be _const(TEXTURE_1D).
+_phead(_param2)
+Requests the internal storage format of the texture image. The most
+current version of the SGI implementation of GLU does not check this
+value for validity before passing it on to the underlying OpenGL
+implementation. A value that is not accepted by the OpenGL
+implementation will lead to an OpenGL error. The benefit of not
+checking this value at the GLU level is that OpenGL extensions can add
+new internal texture formats without requiring a revision of the GLU
+implementation. Older implementations of GLU check this value and
+raise a GLU error if it is not 1, 2, 3, or 4 or one of the following
+symbolic constants:
+_const(ALPHA),
+_const(ALPHA4),
+_const(ALPHA8),
+_const(ALPHA12),
+_const(ALPHA16),
+_const(LUMINANCE),
+_const(LUMINANCE4),
+_const(LUMINANCE8),
+_const(LUMINANCE12),
+_const(LUMINANCE16),
+_const(LUMINANCE_ALPHA),
+_const(LUMINANCE4_ALPHA4),
+_const(LUMINANCE6_ALPHA2),
+_const(LUMINANCE8_ALPHA8),
+_const(LUMINANCE12_ALPHA4),
+_const(LUMINANCE12_ALPHA12),
+_const(LUMINANCE16_ALPHA16),
+_const(INTENSITY),
+_const(INTENSITY4),
+_const(INTENSITY8),
+_const(INTENSITY12),
+_const(INTENSITY16),
+_const(RGB),
+_const(R3_G3_B2),
+_const(RGB4),
+_const(RGB5),
+_const(RGB8),
+_const(RGB10),
+_const(RGB12),
+_const(RGB16),
+_const(RGBA),
+_const(RGBA2),
+_const(RGBA4),
+_const(RGB5_A1),
+_const(RGBA8),
+_const(RGB10_A2),
+_const(RGBA12), or
+_const(RGBA16).
+_phead(_param3)
+Specifies the width, in pixels, of the texture image.
+_phead(_param4)
+Specifies the format of the pixel data.
+Must be one of
+_const(COLOR_INDEX),
+_const(DEPTH_COMPONENT),
+_const(RED),
+_const(GREEN),
+_const(BLUE),
+_const(ALPHA),
+_const(RGB),
+_const(RGBA),
+_const(BGR),
+_const(BGRA),
+_const(LUMINANCE),
+_const(LUMINANCE_ALPHA).
+_phead(_param5)
+Specifies the data type for _param6.
+Must be one of
+_const(UNSIGNED_BYTE),
+_const(BYTE),
+_const(BITMAP),
+_const(UNSIGNED_SHORT),
+_const(SHORT),
+_const(UNSIGNED_INT),
+_const(INT),
+_const(FLOAT),
+_const(UNSIGNED_BYTE_3_3_2),
+_const(UNSIGNED_BYTE_2_3_3_REV),
+_const(UNSIGNED_SHORT_5_6_5),
+_const(UNSIGNED_SHORT_5_6_5_REV),
+_const(UNSIGNED_SHORT_4_4_4_4),
+_const(UNSIGNED_SHORT_4_4_4_4_REV),
+_const(UNSIGNED_SHORT_5_5_5_1),
+_const(UNSIGNED_SHORT_1_5_5_5_REV),
+_const(UNSIGNED_INT_8_8_8_8),
+_const(UNSIGNED_INT_8_8_8_8_REV),
+_const(UNSIGNED_INT_10_10_10_2), or
+_const(UNSIGNED_INT_2_10_10_10_REV).
+_phead(_param6)
+Specifies a pointer to the image data in memory.
+.SH DESCRIPTION
+_cmnd builds a series of prefiltered one-dimensional texture maps of decreasing
+resolutions called a mipmap. This is used for the antialiasing of
+texture mapped primitives.
+.P
+A return value of zero indicates success, otherwise a GLU error code is
+returned (see _cmnd(ErrorString)).
+.P
+Initially, the _param3 of _param6 is checked to see if it is
+a power of 2. If not, a copy of _param6 is scaled up or down to the
+nearest power of 2. (If _param3 is exactly between powers of 2, then
+the copy of _param6 will scale upwards.) This copy will be used for
+subsequent mipmapping operations described below.
+For example, if _param3 is 57 then a copy of _param6
+will scale up to 64 before mipmapping
+takes place.
+.P
+Then, proxy textures (see _glcmnd(TexImage1D)) are used to determine if
+the implementation can fit the requested texture. If not, _param3 is
+continually halved until it fits.
+.P
+Next, a series of mipmap levels is built by decimating a copy of
+_param6 in half
+until size $1 ~times~ 1$ is reached. At each level, each texel in the
+halved mipmap level is an average of the corresponding two texels in the larger
+mipmap level.
+.P
+_glcmnd(TexImage1D) is called to load each of these mipmap levels.
+Level 0 is a copy of _param6.
+The highest level is ${log sub 2}(_param3)$.
+For example, if _param3 is 64 and the implementation can store a texture of
+this size, the following mipmap levels are
+built: $64 ~times~ 1$, $32 ~times~ 1$, $16 ~times~ 1$, $8 ~times~ 1$,
+$4 ~times~ 1$, $2 ~times~ 1$ and $1 ~times~ 1$. These correspond to
+levels 0 through 6, respectively.
+.P
+See the _glcmnd(TexImage1D) reference page for a description of the
+acceptable values for the _param5 parameter. See the _glcmnd(DrawPixels)
+reference page for a description of the acceptable values
+for the _param6 parameter.
+.SH NOTES
+Note that there is no direct way of querying the maximum level. This can
+be derived indirectly via _glcmnd(GetTexLevelParameter). First, query
+for the
+width actually used at level 0.
+(The width may not be equal to _param3 since
+proxy textures might have scaled it to fit the implementation.)
+Then the maximum
+level can be derived from the formula ${log sub 2}(_param3)$.
+.P
+Formats _const(BGR), and _const(BGRA), and types
+_const(UNSIGNED_BYTE_3_3_2),
+_const(UNSIGNED_BYTE_2_3_3_REV),
+_const(UNSIGNED_SHORT_5_6_5),
+_const(UNSIGNED_SHORT_5_6_5_REV),
+_const(UNSIGNED_SHORT_4_4_4_4),
+_const(UNSIGNED_SHORT_4_4_4_4_REV),
+_const(UNSIGNED_SHORT_5_5_5_1),
+_const(UNSIGNED_SHORT_1_5_5_5_REV),
+_const(UNSIGNED_INT_8_8_8_8),
+_const(UNSIGNED_INT_8_8_8_8_REV),
+_const(UNSIGNED_INT_10_10_10_2), and
+_const(UNSIGNED_INT_2_10_10_10_REV) are only available if the GL version
+is 1.2 or greater, and if the GLU version is 1.3 or greater.
+.SH ERRORS
+_gluconst(INVALID_VALUE) is returned if _param3 is < 1.
+.P
+_gluconst(INVALID_ENUM) is returned if _param4 or _param5 are not legal.
+.P
+_gluconst(INVALID_OPERATION) is returned if _param5 is _const(UNSIGNED_BYTE_3_3_2) or _const(UNSIGNED_BYTE_2_3_3_REV)
+and _param4 is not _const(RGB).
+.P
+_gluconst(INVALID_OPERATION) is returned if _param5 is _const(UNSIGNED_SHORT_5_6_5) or _const(UNSIGNED_SHORT_5_6_5_REV)
+and _param4 is not _const(RGB).
+.P
+_gluconst(INVALID_OPERATION) is returned if _param5 is _const(UNSIGNED_SHORT_4_4_4_4) or _const(UNSIGNED_SHORT_4_4_4_4_REV)
+and _param4 is neither _const(RGBA) nor _const(BGRA).
+.P
+_gluconst(INVALID_OPERATION) is returned if _param5 is _const(UNSIGNED_SHORT_5_5_5_1) or _const(UNSIGNED_SHORT_1_5_5_5_REV)
+and _param4 is neither _const(RGBA) nor _const(BGRA).
+.P
+_gluconst(INVALID_OPERATION) is returned if _param5 is _const(UNSIGNED_INT_8_8_8_8) or _const(UNSIGNED_INT_8_8_8_8_REV)
+and _param4 is neither _const(RGBA) nor _const(BGRA).
+.P
+_gluconst(INVALID_OPERATION) is returned if _param5 is _const(UNSIGNED_INT_10_10_10_2) or _const(UNSIGNED_INT_2_10_10_10_REV)
+and _param4 is neither _const(RGBA) nor _const(BGRA).
+.SH SEE ALSO
+_glcmnd(DrawPixels),
+_glcmnd(TexImage1D),
+_glcmnd(TexImage2D),
+_glcmnd(TexImage3D),
+_cmnd(Build2DMipmaps),
+_cmnd(Build3DMipmaps),
+_cmnd(ErrorString),
+_glcmnd(GetTexImage),
+_glcmnd(GetTexLevelParameter),
+_cmnd(Build1DMipmapLevels),
+_cmnd(Build2DMipmapLevels),
+_cmnd(Build3DMipmapLevels)
diff --git a/xc/extras/ogl-sample/main/doc/man/manglu/standard/build2dmipmaplevels.gl b/xc/extras/ogl-sample/main/doc/man/manglu/standard/build2dmipmaplevels.gl
new file mode 100755
index 000000000..7d06061b6
--- /dev/null
+++ b/xc/extras/ogl-sample/main/doc/man/manglu/standard/build2dmipmaplevels.gl
@@ -0,0 +1,234 @@
+_C_ License Applicability. Except to the extent portions of this file are
+_C_ made subject to an alternative license as permitted in the SGI Free
+_C_ Software License B, Version 1.1 (the "License"), the contents of this
+_C_ file are subject only to the provisions of the License. You may not use
+_C_ this file except in compliance with the License. You may obtain a copy
+_C_ of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
+_C_ Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
+_C_
+_C_ http://oss.sgi.com/projects/FreeB
+_C_
+_C_ Note that, as provided in the License, the Software is distributed on an
+_C_ "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
+_C_ DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
+_C_ CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
+_C_ PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
+_C_
+_C_ Original Code. The Original Code is: OpenGL Sample Implementation,
+_C_ Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
+_C_ Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
+_C_ Copyright in any portions created by third parties is as indicated
+_C_ elsewhere herein. All Rights Reserved.
+_C_
+_C_ Additional Notice Provisions: The application programming interfaces
+_C_ established by SGI in conjunction with the Original Code are The
+_C_ OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
+_C_ April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
+_C_ 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
+_C_ Window System(R) (Version 1.3), released October 19, 1998. This software
+_C_ was created using the OpenGL(R) version 1.2.1 Sample Implementation
+_C_ published by SGI, but has not been independently verified as being
+_C_ compliant with the OpenGL(R) version 1.2.1 Specification.
+_C_
+_C_ $Date: 2001/03/19 17:45:27 $ $Revision: 1.1.1.1 $
+_C_ The first character in this file must be an '_'!
+_C_ Anything on a line after _C_ is ignored
+_define(_filters,eqn)_C_
+_C_ eqn is automatically replaced with neqn for nroff
+_header(Build2DMipmapLevels, builds a subset of two-dimensional mipmap levels)
+_names(Build2DMipmapLevels)
+.EQ
+delim $$
+.EN
+.SH PARAMETERS
+_phead(_param1)
+Specifies the target texture. Must be _const(TEXTURE_2D).
+_phead(_param2)
+Requests the internal storage format of the texture image. The most
+current version of the SGI implementation of GLU does not check this
+value for validity before passing it on to the underlying OpenGL
+implementation. A value that is not accepted by the OpenGL
+implementation will lead to an OpenGL error. The benefit of not
+checking this value at the GLU level is that OpenGL extensions can add
+new internal texture formats without requiring a revision of the GLU
+implementation. Older implementations of GLU check this value and
+raise a GLU error if it is not 1, 2, 3, or 4 or one of the following
+symbolic constants:
+_const(ALPHA),
+_const(ALPHA4),
+_const(ALPHA8),
+_const(ALPHA12),
+_const(ALPHA16),
+_const(LUMINANCE),
+_const(LUMINANCE4),
+_const(LUMINANCE8),
+_const(LUMINANCE12),
+_const(LUMINANCE16),
+_const(LUMINANCE_ALPHA),
+_const(LUMINANCE4_ALPHA4),
+_const(LUMINANCE6_ALPHA2),
+_const(LUMINANCE8_ALPHA8),
+_const(LUMINANCE12_ALPHA4),
+_const(LUMINANCE12_ALPHA12),
+_const(LUMINANCE16_ALPHA16),
+_const(INTENSITY),
+_const(INTENSITY4),
+_const(INTENSITY8),
+_const(INTENSITY12),
+_const(INTENSITY16),
+_const(RGB),
+_const(R3_G3_B2),
+_const(RGB4),
+_const(RGB5),
+_const(RGB8),
+_const(RGB10),
+_const(RGB12),
+_const(RGB16),
+_const(RGBA),
+_const(RGBA2),
+_const(RGBA4),
+_const(RGB5_A1),
+_const(RGBA8),
+_const(RGB10_A2),
+_const(RGBA12) or
+_const(RGBA16).
+_phead(_param3 _param4)
+Specifies the width and height, respectively, in pixels of the texture image.
+These should be a power of 2.
+_phead(_param5)
+Specifies the format of the pixel data.
+Must be one of
+_const(COLOR_INDEX),
+_const(DEPTH_COMPONENT),
+_const(RED),
+_const(GREEN),
+_const(BLUE),
+_const(ALPHA),
+_const(RGB),
+_const(RGBA),
+_const(BGR),
+_const(BGRA),
+_const(LUMINANCE), or
+_const(LUMINANCE_ALPHA).
+_phead(_param6)
+Specifies the data type for _param10.
+Must be one of
+_const(UNSIGNED_BYTE),
+_const(BYTE),
+_const(BITMAP),
+_const(UNSIGNED_SHORT),
+_const(SHORT),
+_const(UNSIGNED_INT),
+_const(INT),
+_const(FLOAT),
+_const(UNSIGNED_BYTE_3_3_2),
+_const(UNSIGNED_BYTE_2_3_3_REV),
+_const(UNSIGNED_SHORT_5_6_5),
+_const(UNSIGNED_SHORT_5_6_5_REV),
+_const(UNSIGNED_SHORT_4_4_4_4),
+_const(UNSIGNED_SHORT_4_4_4_4_REV),
+_const(UNSIGNED_SHORT_5_5_5_1),
+_const(UNSIGNED_SHORT_1_5_5_5_REV),
+_const(UNSIGNED_INT_8_8_8_8),
+_const(UNSIGNED_INT_8_8_8_8_REV),
+_const(UNSIGNED_INT_10_10_10_2) or
+_const(UNSIGNED_INT_2_10_10_10_REV).
+_phead(_param7)
+Specifies the mipmap level of the image data.
+_phead(_param8)
+Specifies the minimum mipmap level to pass to _glcmnd(TexImage2D).
+_phead(_param9)
+Specifies the maximum mipmap level to pass to _glcmnd(TexImage2D).
+_phead(_param10)
+Specifies a pointer to the image data in memory.
+.SH DESCRIPTION
+_cmnd builds a subset of prefiltered two-dimensional texture maps of decreasing
+resolutions called a mipmap. This is used for the antialiasing of
+texture mapped primitives.
+.P
+A return value of zero indicates success, otherwise a GLU error code is
+returned (see _cmnd(ErrorString)).
+.P
+A series of mipmap levels from _param8 to _param9 is built by decimating
+_param10 in half along
+both dimensions until size $1 ~times~ 1$ is reached. At each level, each texel in the
+halved mipmap level is an average of the corresponding four texels in the larger
+mipmap level. (In the case of rectangular images, the decimation will ultimately
+reach an $N ~times~ 1$ or $1 ~times~ N$ configuration. Here, two texels are
+averaged instead.)
+_glcmnd(TexImage2D) is called to load these mipmap levels from _param8
+to _param9. If _param9 is larger than the highest mipmap level for the
+texture of the specified size, then a GLU error code is returned (see
+_cmnd(ErrorString)) and nothing is loaded.
+.P
+For example, if _param7 is 2 and _param3 is 16 and _param4 is 8, the
+following levels are possible: $16 ~times~ 8$, $8 ~times~ 4$, $4 ~times~ 2$,
+$2 ~times~ 1$, $1 ~times~ 1$. These correspond to levels 2 through 6
+respectively. If _param8 is 3 and _param9 is 5, then only mipmap levels
+$8 ~times~ 4$, $4 ~times~ 2$ and $2 ~times~ 1$ are loaded. However, if _param9
+is 7 then an error is returned and nothing is loaded since _param9 is
+larger than the highest mipmap level which is, in this case, 6.
+.P
+The highest mipmap level can be derived from the formula
+log2(max(_param3,_param4)*(2^_param7)).
+.P
+See the _glcmnd(TexImage1D) reference page for a description of the
+acceptable values for _param5 parameter. See the _glcmnd(DrawPixels)
+reference page for a description of the acceptable values
+for _param6 parameter.
+.SH NOTES
+_cmnd is only available if the GLU version is 1.3 or greater.
+.P
+Formats _const(BGR), and _const(BGRA), and types
+_const(UNSIGNED_BYTE_3_3_2),
+_const(UNSIGNED_BYTE_2_3_3_REV),
+_const(UNSIGNED_SHORT_5_6_5),
+_const(UNSIGNED_SHORT_5_6_5_REV),
+_const(UNSIGNED_SHORT_4_4_4_4),
+_const(UNSIGNED_SHORT_4_4_4_4_REV),
+_const(UNSIGNED_SHORT_5_5_5_1),
+_const(UNSIGNED_SHORT_1_5_5_5_REV),
+_const(UNSIGNED_INT_8_8_8_8),
+_const(UNSIGNED_INT_8_8_8_8_REV),
+_const(UNSIGNED_INT_10_10_10_2), and
+_const(UNSIGNED_INT_2_10_10_10_REV) are only available if the GL version
+is 1.2 or greater.
+.SH ERRORS
+_gluconst(INVALID_VALUE) is returned if _param7 > _param8, _param8 < 0,
+_param9 < _param8 or _param9 is > the highest mipmap level for _param10.
+.P
+_gluconst(INVALID_VALUE) is returned if _param3 or _param4 is < 1.
+.P
+_gluconst(INVALID_ENUM) is returned if _param2, _param5, or _param6 is not
+legal.
+.P
+_gluconst(INVALID_OPERATION) is returned if _param6 is _const(UNSIGNED_BYTE_3_3_2) or _const(UNSIGNED_BYTE_2_3_3_REV)
+and _param5 is not _const(RGB).
+.P
+_gluconst(INVALID_OPERATION) is returned if _param6 is _const(UNSIGNED_SHORT_5_6_5) or _const(UNSIGNED_SHORT_5_6_5_REV)
+and _param5 is not _const(RGB).
+.P
+_gluconst(INVALID_OPERATION) is returned if _param6 is _const(UNSIGNED_SHORT_4_4_4_4) or _const(UNSIGNED_SHORT_4_4_4_4_REV)
+and _param5 is neither _const(RGBA) nor _const(BGRA).
+.P
+_gluconst(INVALID_OPERATION) is returned if _param6 is _const(UNSIGNED_SHORT_5_5_5_1) or _const(UNSIGNED_SHORT_1_5_5_5_REV)
+and _param5 is neither _const(RGBA) nor _const(BGRA).
+.P
+_gluconst(INVALID_OPERATION) is returned if _param6 is _const(UNSIGNED_INT_8_8_8_8) or _const(UNSIGNED_INT_8_8_8_8_REV)
+and _param5 is neither _const(RGBA) nor _const(BGRA).
+.P
+_gluconst(INVALID_OPERATION) is returned if _param6 is _const(UNSIGNED_INT_10_10_10_2) or _const(UNSIGNED_INT_2_10_10_10_REV)
+and _param5 is neither _const(RGBA) nor _const(BGRA).
+.SH SEE ALSO
+_glcmnd(DrawPixels),
+_glcmnd(TexImage1D),
+_glcmnd(TexImage2D),
+_glcmnd(TexImage3D),
+_cmnd(Build1DMipmaps),
+_cmnd(Build2DMipmaps),
+_cmnd(Build3DMipmaps),
+_cmnd(ErrorString),
+_glcmnd(GetTexImage),
+_glcmnd(GetTexLevelParameter),
+_cmnd(Build1DMipmapLevels),
+_cmnd(Build3DMipmapLevels)
diff --git a/xc/extras/ogl-sample/main/doc/man/manglu/standard/build2dmipmaps.gl b/xc/extras/ogl-sample/main/doc/man/manglu/standard/build2dmipmaps.gl
new file mode 100755
index 000000000..73c2494bc
--- /dev/null
+++ b/xc/extras/ogl-sample/main/doc/man/manglu/standard/build2dmipmaps.gl
@@ -0,0 +1,242 @@
+_C_ License Applicability. Except to the extent portions of this file are
+_C_ made subject to an alternative license as permitted in the SGI Free
+_C_ Software License B, Version 1.1 (the "License"), the contents of this
+_C_ file are subject only to the provisions of the License. You may not use
+_C_ this file except in compliance with the License. You may obtain a copy
+_C_ of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
+_C_ Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
+_C_
+_C_ http://oss.sgi.com/projects/FreeB
+_C_
+_C_ Note that, as provided in the License, the Software is distributed on an
+_C_ "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
+_C_ DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
+_C_ CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
+_C_ PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
+_C_
+_C_ Original Code. The Original Code is: OpenGL Sample Implementation,
+_C_ Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
+_C_ Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
+_C_ Copyright in any portions created by third parties is as indicated
+_C_ elsewhere herein. All Rights Reserved.
+_C_
+_C_ Additional Notice Provisions: The application programming interfaces
+_C_ established by SGI in conjunction with the Original Code are The
+_C_ OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
+_C_ April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
+_C_ 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
+_C_ Window System(R) (Version 1.3), released October 19, 1998. This software
+_C_ was created using the OpenGL(R) version 1.2.1 Sample Implementation
+_C_ published by SGI, but has not been independently verified as being
+_C_ compliant with the OpenGL(R) version 1.2.1 Specification.
+_C_
+_C_ $Date: 2001/03/19 17:45:27 $ $Revision: 1.1.1.1 $
+_C_ The first character in this file must be an '_'!
+_C_ Anything on a line after _C_ is ignored
+_define(_filters,eqn)_C_
+_C_ eqn is automatically replaced with neqn for nroff
+_header(Build2DMipmaps, builds a two-dimensional mipmap)
+_names(Build2DMipmaps)
+.EQ
+delim $$
+.EN
+.SH PARAMETERS
+_phead(_param1)
+Specifies the target texture. Must be _const(TEXTURE_2D).
+_phead(_param2)
+Requests the internal storage format of the texture image. The most
+current version of the SGI implementation of GLU does not check this
+value for validity before passing it on to the underlying OpenGL
+implementation. A value that is not accepted by the OpenGL
+implementation will lead to an OpenGL error. The benefit of not
+checking this value at the GLU level is that OpenGL extensions can add
+new internal texture formats without requiring a revision of the GLU
+implementation. Older implementations of GLU check this value and
+raise a GLU error if it is not 1, 2, 3, or 4 or one of the following
+symbolic constants:
+_const(ALPHA),
+_const(ALPHA4),
+_const(ALPHA8),
+_const(ALPHA12),
+_const(ALPHA16),
+_const(LUMINANCE),
+_const(LUMINANCE4),
+_const(LUMINANCE8),
+_const(LUMINANCE12),
+_const(LUMINANCE16),
+_const(LUMINANCE_ALPHA),
+_const(LUMINANCE4_ALPHA4),
+_const(LUMINANCE6_ALPHA2),
+_const(LUMINANCE8_ALPHA8),
+_const(LUMINANCE12_ALPHA4),
+_const(LUMINANCE12_ALPHA12),
+_const(LUMINANCE16_ALPHA16),
+_const(INTENSITY),
+_const(INTENSITY4),
+_const(INTENSITY8),
+_const(INTENSITY12),
+_const(INTENSITY16),
+_const(RGB),
+_const(R3_G3_B2),
+_const(RGB4),
+_const(RGB5),
+_const(RGB8),
+_const(RGB10),
+_const(RGB12),
+_const(RGB16),
+_const(RGBA),
+_const(RGBA2),
+_const(RGBA4),
+_const(RGB5_A1),
+_const(RGBA8),
+_const(RGB10_A2),
+_const(RGBA12) or
+_const(RGBA16).
+_phead(_param3 _param4)
+Specifies in pixels the width and height, respectively, of the texture image.
+_phead(_param5)
+Specifies the format of the pixel data.
+Must be one of
+_const(COLOR_INDEX),
+_const(DEPTH_COMPONENT),
+_const(RED),
+_const(GREEN),
+_const(BLUE),
+_const(ALPHA),
+_const(RGB),
+_const(RGBA),
+_const(BGR),
+_const(BGRA),
+_const(LUMINANCE), or
+_const(LUMINANCE_ALPHA).
+_phead(_param6)
+Specifies the data type for _param7.
+Must be one of
+_const(UNSIGNED_BYTE),
+_const(BYTE),
+_const(BITMAP),
+_const(UNSIGNED_SHORT),
+_const(SHORT),
+_const(UNSIGNED_INT),
+_const(INT),
+_const(FLOAT),
+_const(UNSIGNED_BYTE_3_3_2),
+_const(UNSIGNED_BYTE_2_3_3_REV),
+_const(UNSIGNED_SHORT_5_6_5),
+_const(UNSIGNED_SHORT_5_6_5_REV),
+_const(UNSIGNED_SHORT_4_4_4_4),
+_const(UNSIGNED_SHORT_4_4_4_4_REV),
+_const(UNSIGNED_SHORT_5_5_5_1),
+_const(UNSIGNED_SHORT_1_5_5_5_REV),
+_const(UNSIGNED_INT_8_8_8_8),
+_const(UNSIGNED_INT_8_8_8_8_REV),
+_const(UNSIGNED_INT_10_10_10_2), or
+_const(UNSIGNED_INT_2_10_10_10_REV).
+_phead(_param7)
+Specifies a pointer to the image data in memory.
+
+
+.SH DESCRIPTION
+_cmnd builds a series of prefiltered two-dimensional texture maps of decreasing
+resolutions called a mipmap. This is used for the antialiasing of
+texture-mapped primitives.
+.P
+A return value of zero indicates success, otherwise a GLU error code is
+returned (see _cmnd(ErrorString)).
+.P
+Initially, the _param3 and _param4 of _param7 are checked to see if they
+are a power of 2. If not, a copy of _param7 (not _param7), is scaled up
+or down to the nearest power of 2. This copy will be used for subsequent
+mipmapping operations described below. (If _param3 or _param4 is exactly
+between powers of 2, then the copy of _param7 will scale upwards.) For
+example, if _param3 is 57 and _param4 is 23 then a copy of _param7 will
+scale up to 64 in _param3 and down to 16 in depth, before mipmapping takes
+place.
+.P
+Then, proxy textures (see _glcmnd(TexImage2D)) are used to determine if
+the implementation can fit the requested texture. If not, both dimensions
+are continually halved until it fits. (If the OpenGL version is \(<= 1.0,
+both maximum texture dimensions are clamped to the value returned
+by _glcmnd(GetIntegerv) with the argument _const(MAX_TEXTURE_SIZE).)
+.P
+Next, a series of mipmap levels is built by decimating a copy of _param7
+in half along both dimensions until size $1 ~times~ 1$ is reached. At
+each level,
+each texel in the halved mipmap level is an average of the corresponding
+four texels in the larger mipmap level. (In the case of rectangular
+images, the decimation will ultimately reach an $N ~times~ 1$ or
+$1 ~times~ N$ configuration. Here, two texels are averaged instead.)
+.P
+_glcmnd(TexImage2D) is called to load each of these mipmap levels.
+Level 0 is a copy of _param7. The highest level is
+${log sub 2} ( max (_eqnparam3,_eqnparam4))$. For example,
+if _param3 is 64 and _param4 is 16
+and the implementation can store a texture of this size, the following
+mipmap levels are built: $64 ~times~ 16$, $32 ~times~ 8$, $16 ~times~ 4$,
+$8 ~times~ 2$, $4 ~times~ 1$, $2 ~times~ 1$ and $1 ~times~ 1$. These correspond to
+levels 0 through 6, respectively.
+.P
+See the _glcmnd(TexImage1D) reference page for a description of the
+acceptable values for _param5 parameter. See the _glcmnd(DrawPixels)
+reference page for a description of the acceptable values
+for _param6 parameter.
+.SH NOTES
+
+Note that there is no direct way of querying the maximum level. This can
+be derived indirectly via _glcmnd(GetTexLevelParameter). First, query
+for the width and height actually used at level 0. (The width and
+height may not be equal to _param3 and _param4 respectively since proxy
+textures might have scaled them to fit the implementation.) Then the
+maximum level can be derived from the formula
+${log sub 2}( max (_param3,_param4))$.
+.SH NOTES
+Formats _const(BGR), and _const(BGRA), and types
+_const(UNSIGNED_BYTE_3_3_2),
+_const(UNSIGNED_BYTE_2_3_3_REV),
+_const(UNSIGNED_SHORT_5_6_5),
+_const(UNSIGNED_SHORT_5_6_5_REV),
+_const(UNSIGNED_SHORT_4_4_4_4),
+_const(UNSIGNED_SHORT_4_4_4_4_REV),
+_const(UNSIGNED_SHORT_5_5_5_1),
+_const(UNSIGNED_SHORT_1_5_5_5_REV),
+_const(UNSIGNED_INT_8_8_8_8),
+_const(UNSIGNED_INT_8_8_8_8_REV),
+_const(UNSIGNED_INT_10_10_10_2), and
+_const(UNSIGNED_INT_2_10_10_10_REV) are only available if the GL version
+is 1.2 or greater and if the GLU version is 1.3 or greater.
+.SH ERRORS
+_gluconst(INVALID_VALUE) is returned if _param3, or _param4 is < 1.
+.P
+_gluconst(INVALID_ENUM) is returned if _param2, _param5, or _param6 is not
+legal.
+.P
+_gluconst(INVALID_OPERATION) is returned if _param6 is _const(UNSIGNED_BYTE_3_3_2) or _const(UNSIGNED_BYTE_2_3_3_REV)
+and _param5 is not _const(RGB).
+.P
+_gluconst(INVALID_OPERATION) is returned if _param6 is _const(UNSIGNED_SHORT_5_6_5) or _const(UNSIGNED_SHORT_5_6_5_REV)
+and _param5 is not _const(RGB).
+.P
+_gluconst(INVALID_OPERATION) is returned if _param6 is _const(UNSIGNED_SHORT_4_4_4_4) or _const(UNSIGNED_SHORT_4_4_4_4_REV)
+and _param5 is neither _const(RGBA) nor _const(BGRA).
+.P
+_gluconst(INVALID_OPERATION) is returned if _param6 is _const(UNSIGNED_SHORT_5_5_5_1) or _const(UNSIGNED_SHORT_1_5_5_5_REV)
+and _param5 is neither _const(RGBA) nor _const(BGRA).
+.P
+_gluconst(INVALID_OPERATION) is returned if _param6 is _const(UNSIGNED_INT_8_8_8_8) or _const(UNSIGNED_INT_8_8_8_8_REV)
+and _param5 is neither _const(RGBA) nor _const(BGRA).
+.P
+_gluconst(INVALID_OPERATION) is returned if _param6 is _const(UNSIGNED_INT_10_10_10_2) or _const(UNSIGNED_INT_2_10_10_10_REV)
+and _param5 is neither _const(RGBA) nor _const(BGRA).
+.SH SEE ALSO
+_glcmnd(DrawPixels),
+_glcmnd(TexImage1D),
+_glcmnd(TexImage2D),
+_glcmnd(TexImage3D),
+_cmnd(Build1DMipmaps),
+_cmnd(Build3DMipmaps),
+_cmnd(ErrorString),
+_glcmnd(GetTexImage),
+_glcmnd(GetTexLevelParameter),
+_cmnd(Build1DMipmapLevels),
+_cmnd(Build2DMipmapLevels),
+_cmnd(Build3DMipmapLevels)
diff --git a/xc/extras/ogl-sample/main/doc/man/manglu/standard/build3dmipmaplevels.gl b/xc/extras/ogl-sample/main/doc/man/manglu/standard/build3dmipmaplevels.gl
new file mode 100755
index 000000000..94bc0899d
--- /dev/null
+++ b/xc/extras/ogl-sample/main/doc/man/manglu/standard/build3dmipmaplevels.gl
@@ -0,0 +1,236 @@
+_C_ License Applicability. Except to the extent portions of this file are
+_C_ made subject to an alternative license as permitted in the SGI Free
+_C_ Software License B, Version 1.1 (the "License"), the contents of this
+_C_ file are subject only to the provisions of the License. You may not use
+_C_ this file except in compliance with the License. You may obtain a copy
+_C_ of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
+_C_ Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
+_C_
+_C_ http://oss.sgi.com/projects/FreeB
+_C_
+_C_ Note that, as provided in the License, the Software is distributed on an
+_C_ "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
+_C_ DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
+_C_ CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
+_C_ PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
+_C_
+_C_ Original Code. The Original Code is: OpenGL Sample Implementation,
+_C_ Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
+_C_ Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
+_C_ Copyright in any portions created by third parties is as indicated
+_C_ elsewhere herein. All Rights Reserved.
+_C_
+_C_ Additional Notice Provisions: The application programming interfaces
+_C_ established by SGI in conjunction with the Original Code are The
+_C_ OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
+_C_ April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
+_C_ 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
+_C_ Window System(R) (Version 1.3), released October 19, 1998. This software
+_C_ was created using the OpenGL(R) version 1.2.1 Sample Implementation
+_C_ published by SGI, but has not been independently verified as being
+_C_ compliant with the OpenGL(R) version 1.2.1 Specification.
+_C_
+_C_ $Date: 2001/03/19 17:45:27 $ $Revision: 1.1.1.1 $
+_C_ The first character in this file must be an '_'!
+_C_ Anything on a line after _C_ is ignored
+_define(_filters,eqn)_C_
+_C_ eqn is automatically replaced with neqn for nroff
+_header(Build3DMipmapLevels, builds a subset of three-dimensional mipmap levels)
+_names(Build3DMipmapLevels)
+.EQ
+delim $$
+.EN
+.SH PARAMETERS
+_phead(_param1)
+Specifies the target texture. Must be _const(TEXTURE_3D).
+_phead(_param2)
+Requests the internal storage format of the texture image. The most
+current version of the SGI implementation of GLU does not check this
+value for validity before passing it on to the underlying OpenGL
+implementation. A value that is not accepted by the OpenGL
+implementation will lead to an OpenGL error. The benefit of not
+checking this value at the GLU level is that OpenGL extensions can add
+new internal texture formats without requiring a revision of the GLU
+implementation. Older implementations of GLU check this value and
+raise a GLU error if it is not 1, 2, 3, or 4 or one of the following
+symbolic constants:
+_const(ALPHA),
+_const(ALPHA4),
+_const(ALPHA8),
+_const(ALPHA12),
+_const(ALPHA16),
+_const(LUMINANCE),
+_const(LUMINANCE4),
+_const(LUMINANCE8),
+_const(LUMINANCE12),
+_const(LUMINANCE16),
+_const(LUMINANCE_ALPHA),
+_const(LUMINANCE4_ALPHA4),
+_const(LUMINANCE6_ALPHA2),
+_const(LUMINANCE8_ALPHA8),
+_const(LUMINANCE12_ALPHA4),
+_const(LUMINANCE12_ALPHA12),
+_const(LUMINANCE16_ALPHA16),
+_const(INTENSITY),
+_const(INTENSITY4),
+_const(INTENSITY8),
+_const(INTENSITY12),
+_const(INTENSITY16),
+_const(RGB),
+_const(R3_G3_B2),
+_const(RGB4),
+_const(RGB5),
+_const(RGB8),
+_const(RGB10),
+_const(RGB12),
+_const(RGB16),
+_const(RGBA),
+_const(RGBA2),
+_const(RGBA4),
+_const(RGB5_A1),
+_const(RGBA8),
+_const(RGB10_A2),
+_const(RGBA12), or
+_const(RGBA16).
+_phead(_param3 _param4 _param5)
+Specifies in pixels the width, height and depth respectively, of the texture
+image. These should be a power of 2.
+_phead(_param6)
+Specifies the format of the pixel data.
+Must be one of
+_const(COLOR_INDEX),
+_const(DEPTH_COMPONENT),
+_const(RED),
+_const(GREEN),
+_const(BLUE),
+_const(ALPHA),
+_const(RGB),
+_const(RGBA),
+_const(BGR),
+_const(BGRA),
+_const(LUMINANCE), or
+_const(LUMINANCE_ALPHA).
+_phead(_param7)
+Specifies the data type for _param11.
+Must be one of
+_const(UNSIGNED_BYTE),
+_const(BYTE),
+_const(BITMAP),
+_const(UNSIGNED_SHORT),
+_const(SHORT),
+_const(UNSIGNED_INT),
+_const(INT),
+_const(FLOAT),
+_const(UNSIGNED_BYTE_3_3_2),
+_const(UNSIGNED_BYTE_2_3_3_REV),
+_const(UNSIGNED_SHORT_5_6_5),
+_const(UNSIGNED_SHORT_5_6_5_REV),
+_const(UNSIGNED_SHORT_4_4_4_4),
+_const(UNSIGNED_SHORT_4_4_4_4_REV),
+_const(UNSIGNED_SHORT_5_5_5_1),
+_const(UNSIGNED_SHORT_1_5_5_5_REV),
+_const(UNSIGNED_INT_8_8_8_8),
+_const(UNSIGNED_INT_8_8_8_8_REV),
+_const(UNSIGNED_INT_10_10_10_2), or
+_const(UNSIGNED_INT_2_10_10_10_REV).
+_phead(_param8)
+Specifies the mipmap level of the image data.
+_phead(_param9)
+Specifies the minimum mipmap level to pass to _glcmnd(TexImage3D).
+_phead(_param10)
+Specifies the maximum mipmap level to pass to _glcmnd(TexImage3D).
+_phead(_param11)
+Specifies a pointer to the image data in memory.
+.SH DESCRIPTION
+_cmnd builds a subset of prefiltered three-dimensional texture maps of
+decreasing resolutions called a mipmap. This is used for the antialiasing of
+texture mapped primitives.
+.P
+A return value of zero indicates success, otherwise a GLU error code is
+returned (see _cmnd(ErrorString)).
+.P
+A series of mipmap levels from _param9 to _param10 is built by
+decimating _param11 in half along both dimensions until size $1 ~times~ 1
+~times~ 1$ is reached. At each level, each texel in the halved mipmap
+level is an average of the corresponding eight texels in the larger
+mipmap level. (If exactly one of the dimensions is 1, four texels are
+averaged. If exactly two of the dimensions are 1, two texels are
+averaged.) _glcmnd(TexImage3D) is called to load these mipmap levels
+from _param9 to _param10. If _param10 is larger than the highest mipmap
+level for the texture of the specified size, then a GLU error code is
+returned (see _cmnd(ErrorString)) and nothing is loaded.
+.P
+For example, if _param8 is 2 and _param3 is 16, _param4 is 8 and _param5
+is 4, the following levels are possible: $16 ~times~ 8 ~times~ 4$, $8 ~times~
+4 ~times~ 2$, $4 ~times~ 2 ~times~ 1$, $2 ~times~ 1 ~times~ 1$,
+$1 ~times~ 1 ~times~ 1$.
+These correspond to levels 2 through 6 respectively. If _param9 is
+3 and _param10 is 5, then only mipmap levels $8 ~times~ 4 ~times~ 2$, $4
+~times~ 2 ~times~ 1$ and $2 ~times~ 1 ~times~ 1$ are loaded. However, if
+_param10 is 7 then an error is returned and nothing is loaded, since
+_param10 is larger than the highest mipmap level which is, in this case,
+6.
+.P
+The highest mipmap level can be derived from the formula
+${log sub 2} ( max (_eqnparam3,_eqnparam4,_eqnparam5)^{2 sup _eqnparam8})$.
+.P
+See the _glcmnd(TexImage1D) reference page for a description of the
+acceptable values for _param6 parameter. See the _glcmnd(DrawPixels)
+reference page for a description of the acceptable values
+for _param7 parameter.
+.SH NOTES
+_cmnd is only available if the GLU version is 1.3 or greater.
+.P
+Formats _const(BGR), and _const(BGRA), and types
+_const(UNSIGNED_BYTE_3_3_2),
+_const(UNSIGNED_BYTE_2_3_3_REV),
+_const(UNSIGNED_SHORT_5_6_5),
+_const(UNSIGNED_SHORT_5_6_5_REV),
+_const(UNSIGNED_SHORT_4_4_4_4),
+_const(UNSIGNED_SHORT_4_4_4_4_REV),
+_const(UNSIGNED_SHORT_5_5_5_1),
+_const(UNSIGNED_SHORT_1_5_5_5_REV),
+_const(UNSIGNED_INT_8_8_8_8),
+_const(UNSIGNED_INT_8_8_8_8_REV),
+_const(UNSIGNED_INT_10_10_10_2), and
+_const(UNSIGNED_INT_2_10_10_10_REV) are only available if the GL version
+is 1.2 or greater.
+.SH ERRORS
+_gluconst(INVALID_VALUE) is returned if _param8 > _param9, _param9 < 0,
+_param10 < _param9 or _param10 is > the highest mipmap level for _param11.
+.P
+_gluconst(INVALID_VALUE) is returned if _param3, _param4, or _param5 is < 1.
+.P
+_gluconst(INVALID_ENUM) is returned if _param2, _param6, or _param7 is not
+legal.
+.P
+_gluconst(INVALID_OPERATION) is returned if _param7 is _const(UNSIGNED_BYTE_3_3_2) or _const(UNSIGNED_BYTE_2_3_3_REV)
+and _param6 is not _const(RGB).
+.P
+_gluconst(INVALID_OPERATION) is returned if _param7 is _const(UNSIGNED_SHORT_5_6_5) or _const(UNSIGNED_SHORT_5_6_5_REV)
+and _param6 is not _const(RGB).
+.P
+_gluconst(INVALID_OPERATION) is returned if _param7 is _const(UNSIGNED_SHORT_4_4_4_4) or _const(UNSIGNED_SHORT_4_4_4_4_REV)
+and _param6 is neither _const(RGBA) nor _const(BGRA).
+.P
+_gluconst(INVALID_OPERATION) is returned if _param7 is _const(UNSIGNED_SHORT_5_5_5_1) or _const(UNSIGNED_SHORT_1_5_5_5_REV)
+and _param6 is neither _const(RGBA) nor _const(BGRA).
+.P
+_gluconst(INVALID_OPERATION) is returned if _param7 is _const(UNSIGNED_INT_8_8_8_8) or _const(UNSIGNED_INT_8_8_8_8_REV)
+and _param6 is neither _const(RGBA) nor _const(BGRA).
+.P
+_gluconst(INVALID_OPERATION) is returned if _param7 is _const(UNSIGNED_INT_10_10_10_2) or _const(UNSIGNED_INT_2_10_10_10_REV)
+and _param6 is neither _const(RGBA) nor _const(BGRA).
+.SH SEE ALSO
+_glcmnd(DrawPixels),
+_glcmnd(TexImage1D),
+_glcmnd(TexImage2D),
+_glcmnd(TexImage3D),
+_cmnd(Build1DMipmaps),
+_cmnd(Build2DMipmaps),
+_cmnd(Build3DMipmaps),
+_cmnd(ErrorString),
+_glcmnd(GetTexImage),
+_glcmnd(GetTexLevelParameter),
+_cmnd(Build1DMipmapLevels),
+_cmnd(Build2DMipmapLevels)
diff --git a/xc/extras/ogl-sample/main/doc/man/manglu/standard/build3dmipmaps.gl b/xc/extras/ogl-sample/main/doc/man/manglu/standard/build3dmipmaps.gl
new file mode 100755
index 000000000..7799f073a
--- /dev/null
+++ b/xc/extras/ogl-sample/main/doc/man/manglu/standard/build3dmipmaps.gl
@@ -0,0 +1,243 @@
+_C_ License Applicability. Except to the extent portions of this file are
+_C_ made subject to an alternative license as permitted in the SGI Free
+_C_ Software License B, Version 1.1 (the "License"), the contents of this
+_C_ file are subject only to the provisions of the License. You may not use
+_C_ this file except in compliance with the License. You may obtain a copy
+_C_ of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
+_C_ Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
+_C_
+_C_ http://oss.sgi.com/projects/FreeB
+_C_
+_C_ Note that, as provided in the License, the Software is distributed on an
+_C_ "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
+_C_ DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
+_C_ CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
+_C_ PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
+_C_
+_C_ Original Code. The Original Code is: OpenGL Sample Implementation,
+_C_ Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
+_C_ Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
+_C_ Copyright in any portions created by third parties is as indicated
+_C_ elsewhere herein. All Rights Reserved.
+_C_
+_C_ Additional Notice Provisions: The application programming interfaces
+_C_ established by SGI in conjunction with the Original Code are The
+_C_ OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
+_C_ April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
+_C_ 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
+_C_ Window System(R) (Version 1.3), released October 19, 1998. This software
+_C_ was created using the OpenGL(R) version 1.2.1 Sample Implementation
+_C_ published by SGI, but has not been independently verified as being
+_C_ compliant with the OpenGL(R) version 1.2.1 Specification.
+_C_
+_C_ $Date: 2001/03/19 17:45:27 $ $Revision: 1.1.1.1 $
+_C_ The first character in this file must be an '_'!
+_C_ Anything on a line after _C_ is ignored
+_define(_filters,eqn)_C_
+_C_ eqn is automatically replaced with neqn for nroff
+_header(Build3DMipmaps, builds a three-dimensional mipmap)
+_names(Build3DMipmaps)
+.EQ
+delim $$
+.EN
+.SH PARAMETERS
+_phead(_param1)
+Specifies the target texture. Must be _const(TEXTURE_3D).
+_phead(_param2)
+Requests the internal storage format of the texture image. The most
+current version of the SGI implementation of GLU does not check this
+value for validity before passing it on to the underlying OpenGL
+implementation. A value that is not accepted by the OpenGL
+implementation will lead to an OpenGL error. The benefit of not
+checking this value at the GLU level is that OpenGL extensions can add
+new internal texture formats without requiring a revision of the GLU
+implementation. Older implementations of GLU check this value and
+raise a GLU error if it is not 1, 2, 3, or 4 or one of the following
+symbolic constants:
+_const(ALPHA),
+_const(ALPHA4),
+_const(ALPHA8),
+_const(ALPHA12),
+_const(ALPHA16),
+_const(LUMINANCE),
+_const(LUMINANCE4),
+_const(LUMINANCE8),
+_const(LUMINANCE12),
+_const(LUMINANCE16),
+_const(LUMINANCE_ALPHA),
+_const(LUMINANCE4_ALPHA4),
+_const(LUMINANCE6_ALPHA2),
+_const(LUMINANCE8_ALPHA8),
+_const(LUMINANCE12_ALPHA4),
+_const(LUMINANCE12_ALPHA12),
+_const(LUMINANCE16_ALPHA16),
+_const(INTENSITY),
+_const(INTENSITY4),
+_const(INTENSITY8),
+_const(INTENSITY12),
+_const(INTENSITY16),
+_const(RGB),
+_const(R3_G3_B2),
+_const(RGB4),
+_const(RGB5),
+_const(RGB8),
+_const(RGB10),
+_const(RGB12),
+_const(RGB16),
+_const(RGBA),
+_const(RGBA2),
+_const(RGBA4),
+_const(RGB5_A1),
+_const(RGBA8),
+_const(RGB10_A2),
+_const(RGBA12), or
+_const(RGBA16).
+_phead(_param3 _param4 _param5)
+Specifies in pixels the width, height and depth respectively, in pixels
+of the texture image.
+_phead(_param6)
+Specifies the format of the pixel data.
+Must be one of
+_const(COLOR_INDEX),
+_const(DEPTH_COMPONENT),
+_const(RED),
+_const(GREEN),
+_const(BLUE),
+_const(ALPHA),
+_const(RGB),
+_const(RGBA),
+_const(BGR),
+_const(BGRA),
+_const(LUMINANCE), or
+_const(LUMINANCE_ALPHA).
+_phead(_param7)
+Specifies the data type for _param8.
+Must be one of:
+_const(UNSIGNED_BYTE),
+_const(BYTE),
+_const(BITMAP),
+_const(UNSIGNED_SHORT),
+_const(SHORT),
+_const(UNSIGNED_INT),
+_const(INT),
+_const(FLOAT),
+_const(UNSIGNED_BYTE_3_3_2),
+_const(UNSIGNED_BYTE_2_3_3_REV),
+_const(UNSIGNED_SHORT_5_6_5),
+_const(UNSIGNED_SHORT_5_6_5_REV),
+_const(UNSIGNED_SHORT_4_4_4_4),
+_const(UNSIGNED_SHORT_4_4_4_4_REV),
+_const(UNSIGNED_SHORT_5_5_5_1),
+_const(UNSIGNED_SHORT_1_5_5_5_REV),
+_const(UNSIGNED_INT_8_8_8_8),
+_const(UNSIGNED_INT_8_8_8_8_REV),
+_const(UNSIGNED_INT_10_10_10_2), or
+_const(UNSIGNED_INT_2_10_10_10_REV).
+_phead(_param8)
+Specifies a pointer to the image data in memory.
+.SH DESCRIPTION
+_cmnd builds a series of prefiltered three-dimensional texture maps of
+decreasing resolutions called a mipmap. This is used for the antialiasing of
+texture-mapped primitives.
+.P
+A return value of zero indicates success, otherwise a GLU error code is
+returned (see _cmnd(ErrorString)).
+.P
+Initially, the _param3, _param4 and _param5 of _param8 are checked to
+see if they are a power of 2. If not, a copy of _param8 (not _param8),
+is scaled up or down to the nearest power of 2. (If _param3, _param4 or
+_param5 is exactly between powers of 2, then the copy of _param8 will
+scale upwards.) This copy will be used for subsequent mipmapping
+operations described below. For example, if _param3 is 57, _param4 is
+23 and _param5 is 24 then a copy of _param8 will scale up to 64 in
+width, down to 16 in height and up to 32 in depth, before mipmapping
+takes place.
+.P
+Then, proxy textures (see _glcmnd(TexImage3D)) are used to determine if
+the implementation can fit the requested texture. If not, all three dimensions
+are continually halved until it fits.
+.P
+Next, a series of mipmap levels is built by decimating a copy of _param8
+in half along all three dimensions until size $1 ~times~ 1 ~times~ 1$ is
+reached. At each level, each texel in the halved mipmap level is an
+average of the corresponding eight texels in the larger mipmap
+level. (If exactly one of the dimensions is 1, four texels are averaged.
+If exactly two of the dimensions are 1, two texels are averaged.)
+.P
+_glcmnd(TexImage3D) is called to load each of these mipmap levels.
+Level 0 is a copy of _param8. The highest level is
+${log sub 2} ( max (_eqnparam3,_eqnparam4,_eqnparam5))$.
+For example, if _param3 is 64, _param4 is
+16 and _param5 is 32, and the implementation can store a texture of this
+size, the following mipmap levels are built: $64 ~times~ 16 ~times~ 32$,
+$32 ~times~ 8 ~times~ 16$, $16 ~times~ 4 ~times~ 8$,
+$8 ~times~ 2 ~times~ 4$, $4 ~times~ 1 ~times~ 2$,
+$2 ~times~ 1 ~times~ 1$
+and $1 ~times~ 1 ~times~ 1$. These correspond
+to levels 0 through 6, respectively.
+.P
+See the _glcmnd(TexImage1D) reference page for a description of the
+acceptable values for _param6 parameter. See the _glcmnd(DrawPixels)
+reference page for a description of the acceptable values
+for _param7 parameter.
+.SH NOTES
+Note that there is no direct way of querying the maximum level. This can
+be derived indirectly via _glcmnd(GetTexLevelParameter). First, query
+for the width, height and depth actually used at level 0. (The width,
+height and depth may not be equal to _param3, _param4 and _param5
+respectively since proxy textures might have scaled them to fit the
+implementation.) Then the maximum level can be derived from the formula
+${log sub 2} ( max (_eqnparam3,_eqnparam4,_eqnparam5))$.
+.P
+_cmnd is only available if the GLU version is 1.3 or greater.
+.P
+Formats _const(BGR), and _const(BGRA), and types
+_const(UNSIGNED_BYTE_3_3_2),
+_const(UNSIGNED_BYTE_2_3_3_REV),
+_const(UNSIGNED_SHORT_5_6_5),
+_const(UNSIGNED_SHORT_5_6_5_REV),
+_const(UNSIGNED_SHORT_4_4_4_4),
+_const(UNSIGNED_SHORT_4_4_4_4_REV),
+_const(UNSIGNED_SHORT_5_5_5_1),
+_const(UNSIGNED_SHORT_1_5_5_5_REV),
+_const(UNSIGNED_INT_8_8_8_8),
+_const(UNSIGNED_INT_8_8_8_8_REV),
+_const(UNSIGNED_INT_10_10_10_2), and
+_const(UNSIGNED_INT_2_10_10_10_REV) are only available if the GL version
+is 1.2 or greater.
+.SH ERRORS
+_gluconst(INVALID_VALUE) is returned if _param3, _param4, or _param5 is < 1.
+.P
+_gluconst(INVALID_ENUM) is returned if _param2, _param6, or _param7 is not
+legal.
+.P
+_gluconst(INVALID_OPERATION) is returned if _param7 is _const(UNSIGNED_BYTE_3_3_2) or _const(UNSIGNED_BYTE_2_3_3_REV)
+and _param6 is not _const(RGB).
+.P
+_gluconst(INVALID_OPERATION) is returned if _param7 is _const(UNSIGNED_SHORT_5_6_5) or _const(UNSIGNED_SHORT_5_6_5_REV)
+and _param6 is not _const(RGB).
+.P
+_gluconst(INVALID_OPERATION) is returned if _param7 is _const(UNSIGNED_SHORT_4_4_4_4) or _const(UNSIGNED_SHORT_4_4_4_4_REV)
+and _param6 is neither _const(RGBA) nor _const(BGRA).
+.P
+_gluconst(INVALID_OPERATION) is returned if _param7 is _const(UNSIGNED_SHORT_5_5_5_1) or _const(UNSIGNED_SHORT_1_5_5_5_REV)
+and _param6 is neither _const(RGBA) nor _const(BGRA).
+.P
+_gluconst(INVALID_OPERATION) is returned if _param7 is _const(UNSIGNED_INT_8_8_8_8) or _const(UNSIGNED_INT_8_8_8_8_REV)
+and _param6 is neither _const(RGBA) nor _const(BGRA).
+.P
+_gluconst(INVALID_OPERATION) is returned if _param7 is _const(UNSIGNED_INT_10_10_10_2) or _const(UNSIGNED_INT_2_10_10_10_REV)
+and _param6 is neither _const(RGBA) nor _const(BGRA).
+.SH SEE ALSO
+_glcmnd(DrawPixels),
+_glcmnd(TexImage1D),
+_glcmnd(TexImage2D),
+_glcmnd(TexImage3D),
+_cmnd(Build1DMipmaps),
+_cmnd(Build3DMipmaps),
+_cmnd(ErrorString),
+_glcmnd(GetTexImage),
+_glcmnd(GetTexLevelParameter),
+_cmnd(Build1DMipmapLevels),
+_cmnd(Build2DMipmapLevels),
+_cmnd(Build3DMipmapLevels)
diff --git a/xc/extras/ogl-sample/main/doc/man/manglu/standard/c b/xc/extras/ogl-sample/main/doc/man/manglu/standard/c
new file mode 100755
index 000000000..8cbb4d3ad
--- /dev/null
+++ b/xc/extras/ogl-sample/main/doc/man/manglu/standard/c
@@ -0,0 +1,2 @@
+.Op + c
+.ds BN \f6Graphics Reference, C Edition\f1
diff --git a/xc/extras/ogl-sample/main/doc/man/manglu/standard/checkextension.gl b/xc/extras/ogl-sample/main/doc/man/manglu/standard/checkextension.gl
new file mode 100755
index 000000000..43f30c0d3
--- /dev/null
+++ b/xc/extras/ogl-sample/main/doc/man/manglu/standard/checkextension.gl
@@ -0,0 +1,68 @@
+_C_ License Applicability. Except to the extent portions of this file are
+_C_ made subject to an alternative license as permitted in the SGI Free
+_C_ Software License B, Version 1.1 (the "License"), the contents of this
+_C_ file are subject only to the provisions of the License. You may not use
+_C_ this file except in compliance with the License. You may obtain a copy
+_C_ of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
+_C_ Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
+_C_
+_C_ http://oss.sgi.com/projects/FreeB
+_C_
+_C_ Note that, as provided in the License, the Software is distributed on an
+_C_ "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
+_C_ DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
+_C_ CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
+_C_ PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
+_C_
+_C_ Original Code. The Original Code is: OpenGL Sample Implementation,
+_C_ Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
+_C_ Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
+_C_ Copyright in any portions created by third parties is as indicated
+_C_ elsewhere herein. All Rights Reserved.
+_C_
+_C_ Additional Notice Provisions: The application programming interfaces
+_C_ established by SGI in conjunction with the Original Code are The
+_C_ OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
+_C_ April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
+_C_ 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
+_C_ Window System(R) (Version 1.3), released October 19, 1998. This software
+_C_ was created using the OpenGL(R) version 1.2.1 Sample Implementation
+_C_ published by SGI, but has not been independently verified as being
+_C_ compliant with the OpenGL(R) version 1.2.1 Specification.
+_C_
+_C_ $Date: 2001/03/19 17:45:27 $ $Revision: 1.1.1.1 $
+_C_ The first character in this file must be an '_'!
+_C_ Anything on a line after _C_ is ignored
+_define(_filters,eqn)_C_
+_C_ eqn is automatically replaced with neqn for nroff
+_header(CheckExtension, determines if an extension name is supported)
+_names(CheckExtension)
+.SH PARAMETERS
+_phead(_param1)
+Specifies an extension name.
+_phead(_param2)
+Specifies a space-separated list of extension names supported.
+.SH DESCRIPTION
+_cmnd returns _const(TRUE) if _param1 is supported otherwise
+_const(FALSE) is returned.
+.P
+This is used to check for the presence for OpenGL, GLU or GLX extension names
+by passing the extension strings returned by _glcmnd(GetString),
+_cmnd(GetString), _glcmnd(XGetClientString),
+_glcmnd(XQueryExtensionsString), or _glcmnd(XQueryServerString),
+respectively, as _param2.
+.SH NOTES
+Cases where one extension name is a substring of another are
+correctly handled.
+.P
+There may or may not be leading or trailing blanks in _param2.
+.P
+Extension names should not contain embedded spaces.
+.P
+All strings are null-terminated.
+.SH SEE ALSO
+_glcmnd(GetString),
+_cmnd(GetString),
+_glcmnd(XGetClientString),
+_glcmnd(XQueryExtensionsString),
+_glcmnd(XQueryServerString)
diff --git a/xc/extras/ogl-sample/main/doc/man/manglu/standard/cylinder.gl b/xc/extras/ogl-sample/main/doc/man/manglu/standard/cylinder.gl
new file mode 100755
index 000000000..42605f762
--- /dev/null
+++ b/xc/extras/ogl-sample/main/doc/man/manglu/standard/cylinder.gl
@@ -0,0 +1,77 @@
+_C_ License Applicability. Except to the extent portions of this file are
+_C_ made subject to an alternative license as permitted in the SGI Free
+_C_ Software License B, Version 1.1 (the "License"), the contents of this
+_C_ file are subject only to the provisions of the License. You may not use
+_C_ this file except in compliance with the License. You may obtain a copy
+_C_ of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
+_C_ Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
+_C_
+_C_ http://oss.sgi.com/projects/FreeB
+_C_
+_C_ Note that, as provided in the License, the Software is distributed on an
+_C_ "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
+_C_ DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
+_C_ CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
+_C_ PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
+_C_
+_C_ Original Code. The Original Code is: OpenGL Sample Implementation,
+_C_ Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
+_C_ Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
+_C_ Copyright in any portions created by third parties is as indicated
+_C_ elsewhere herein. All Rights Reserved.
+_C_
+_C_ Additional Notice Provisions: The application programming interfaces
+_C_ established by SGI in conjunction with the Original Code are The
+_C_ OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
+_C_ April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
+_C_ 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
+_C_ Window System(R) (Version 1.3), released October 19, 1998. This software
+_C_ was created using the OpenGL(R) version 1.2.1 Sample Implementation
+_C_ published by SGI, but has not been independently verified as being
+_C_ compliant with the OpenGL(R) version 1.2.1 Specification.
+_C_
+_C_ $Date: 2001/03/19 17:45:27 $ $Revision: 1.1.1.1 $
+_C_ The first character in this file must be an '_'!
+_C_ Anything on a line after _C_ is ignored
+_define(_filters,eqn)_C_
+_C_ eqn is automatically replaced with neqn for nroff
+_header(Cylinder, draw a cylinder)
+_names(Cylinder)
+.EQ
+delim $$
+.EN
+.SH PARAMETERS
+_phead(_param1)
+Specifies the quadrics object (created with _cmnd(NewQuadric)).
+_phead(_param2)
+Specifies the radius of the cylinder at \f2z\fP = 0.
+_phead(_param3)
+Specifies the radius of the cylinder at \f2z\fP = _param4.
+_phead(_param4)
+Specifies the height of the cylinder.
+_phead(_param5)
+Specifies the number of subdivisions around the \f2z\fP axis.
+_phead(_param6)
+Specifies the number of subdivisions along the \f2z\fP axis.
+.SH DESCRIPTION
+_cmnd draws a cylinder oriented along the \f2z\fP axis. The base of the cylinder
+is placed at \f2z\fP = 0, and the top at $ z ~=~ _eqnparam4 $. Like a sphere,
+a cylinder is subdivided around the \f2z\fP axis into slices, and along the
+\f2z\fP axis into stacks.
+.P
+Note that if _param3 is set to 0.0, this routine generates a cone.
+.P
+If the orientation is set to _gluconst(OUTSIDE)
+(with _cmnd(QuadricOrientation)), then any generated normals
+point away from the \f2z\fP axis. Otherwise, they point toward the
+\f2z\fP axis.
+.P
+If texturing is turned on (with _cmnd(QuadricTexture)), then texture
+coordinates are generated so that \f2t\fP ranges linearly from 0.0
+at \f2z\fP = 0 to 1.0 at \f2z\fP = _param4, and \f2s\fP
+ranges from 0.0 at the +\f2y\fP axis, to 0.25 at the +\f2x\fP axis,
+to 0.5 at the -\f2y\fP axis, to 0.75 at the \-\f2x\fP axis,
+and back to 1.0 at the +\f2y\fP axis.
+.SH SEE ALSO
+_cmnd(Disk), _cmnd(NewQuadric), _cmnd(PartialDisk), _cmnd(QuadricTexture),
+_cmnd(Sphere)
diff --git a/xc/extras/ogl-sample/main/doc/man/manglu/standard/deletenurbsrenderer.gl b/xc/extras/ogl-sample/main/doc/man/manglu/standard/deletenurbsrenderer.gl
new file mode 100755
index 000000000..54d8312ae
--- /dev/null
+++ b/xc/extras/ogl-sample/main/doc/man/manglu/standard/deletenurbsrenderer.gl
@@ -0,0 +1,52 @@
+_C_ License Applicability. Except to the extent portions of this file are
+_C_ made subject to an alternative license as permitted in the SGI Free
+_C_ Software License B, Version 1.1 (the "License"), the contents of this
+_C_ file are subject only to the provisions of the License. You may not use
+_C_ this file except in compliance with the License. You may obtain a copy
+_C_ of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
+_C_ Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
+_C_
+_C_ http://oss.sgi.com/projects/FreeB
+_C_
+_C_ Note that, as provided in the License, the Software is distributed on an
+_C_ "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
+_C_ DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
+_C_ CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
+_C_ PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
+_C_
+_C_ Original Code. The Original Code is: OpenGL Sample Implementation,
+_C_ Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
+_C_ Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
+_C_ Copyright in any portions created by third parties is as indicated
+_C_ elsewhere herein. All Rights Reserved.
+_C_
+_C_ Additional Notice Provisions: The application programming interfaces
+_C_ established by SGI in conjunction with the Original Code are The
+_C_ OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
+_C_ April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
+_C_ 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
+_C_ Window System(R) (Version 1.3), released October 19, 1998. This software
+_C_ was created using the OpenGL(R) version 1.2.1 Sample Implementation
+_C_ published by SGI, but has not been independently verified as being
+_C_ compliant with the OpenGL(R) version 1.2.1 Specification.
+_C_
+_C_ $Date: 2001/03/19 17:45:27 $ $Revision: 1.1.1.1 $
+_C_ The first character in this file must be an '_'!
+_C_ Anything on a line after _C_ is ignored
+_define(_filters,eqn)_C_
+_C_ eqn is automatically replaced with neqn for nroff
+_header(DeleteNurbsRenderer, destroy a NURBS object)
+_names(DeleteNurbsRenderer)
+.EQ
+delim $$
+.EN
+.SH PARAMETERS
+_phead(_param1)
+Specifies the NURBS object to be destroyed.
+.SH DESCRIPTION
+_cmnd destroys the NURBS object (which was created with
+_cmnd(NewNurbsRenderer)) and frees any memory it uses.
+Once
+_cmnd has been called, _param1 cannot be used again.
+.SH SEE ALSO
+_cmnd(NewNurbsRenderer)
diff --git a/xc/extras/ogl-sample/main/doc/man/manglu/standard/deletequadric.gl b/xc/extras/ogl-sample/main/doc/man/manglu/standard/deletequadric.gl
new file mode 100755
index 000000000..e0794766a
--- /dev/null
+++ b/xc/extras/ogl-sample/main/doc/man/manglu/standard/deletequadric.gl
@@ -0,0 +1,52 @@
+_C_ License Applicability. Except to the extent portions of this file are
+_C_ made subject to an alternative license as permitted in the SGI Free
+_C_ Software License B, Version 1.1 (the "License"), the contents of this
+_C_ file are subject only to the provisions of the License. You may not use
+_C_ this file except in compliance with the License. You may obtain a copy
+_C_ of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
+_C_ Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
+_C_
+_C_ http://oss.sgi.com/projects/FreeB
+_C_
+_C_ Note that, as provided in the License, the Software is distributed on an
+_C_ "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
+_C_ DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
+_C_ CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
+_C_ PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
+_C_
+_C_ Original Code. The Original Code is: OpenGL Sample Implementation,
+_C_ Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
+_C_ Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
+_C_ Copyright in any portions created by third parties is as indicated
+_C_ elsewhere herein. All Rights Reserved.
+_C_
+_C_ Additional Notice Provisions: The application programming interfaces
+_C_ established by SGI in conjunction with the Original Code are The
+_C_ OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
+_C_ April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
+_C_ 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
+_C_ Window System(R) (Version 1.3), released October 19, 1998. This software
+_C_ was created using the OpenGL(R) version 1.2.1 Sample Implementation
+_C_ published by SGI, but has not been independently verified as being
+_C_ compliant with the OpenGL(R) version 1.2.1 Specification.
+_C_
+_C_ $Date: 2001/03/19 17:45:27 $ $Revision: 1.1.1.1 $
+_C_ The first character in this file must be an '_'!
+_C_ Anything on a line after _C_ is ignored
+_define(_filters,eqn)_C_
+_C_ eqn is automatically replaced with neqn for nroff
+_header(DeleteQuadric, destroy a quadrics object)
+_names(DeleteQuadric)
+.EQ
+delim $$
+.EN
+.SH PARAMETERS
+_phead(_param1)
+Specifies the quadrics object to be destroyed.
+.SH DESCRIPTION
+_cmnd destroys the quadrics object (created with _cmnd(NewQuadric))
+and frees any memory it uses.
+Once _cmnd has been called, _param1 cannot be used again.
+.SH SEE ALSO
+_cmnd(NewQuadric)
+
diff --git a/xc/extras/ogl-sample/main/doc/man/manglu/standard/deletetess.gl b/xc/extras/ogl-sample/main/doc/man/manglu/standard/deletetess.gl
new file mode 100755
index 000000000..e7f946347
--- /dev/null
+++ b/xc/extras/ogl-sample/main/doc/man/manglu/standard/deletetess.gl
@@ -0,0 +1,51 @@
+_C_ License Applicability. Except to the extent portions of this file are
+_C_ made subject to an alternative license as permitted in the SGI Free
+_C_ Software License B, Version 1.1 (the "License"), the contents of this
+_C_ file are subject only to the provisions of the License. You may not use
+_C_ this file except in compliance with the License. You may obtain a copy
+_C_ of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
+_C_ Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
+_C_
+_C_ http://oss.sgi.com/projects/FreeB
+_C_
+_C_ Note that, as provided in the License, the Software is distributed on an
+_C_ "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
+_C_ DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
+_C_ CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
+_C_ PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
+_C_
+_C_ Original Code. The Original Code is: OpenGL Sample Implementation,
+_C_ Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
+_C_ Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
+_C_ Copyright in any portions created by third parties is as indicated
+_C_ elsewhere herein. All Rights Reserved.
+_C_
+_C_ Additional Notice Provisions: The application programming interfaces
+_C_ established by SGI in conjunction with the Original Code are The
+_C_ OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
+_C_ April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
+_C_ 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
+_C_ Window System(R) (Version 1.3), released October 19, 1998. This software
+_C_ was created using the OpenGL(R) version 1.2.1 Sample Implementation
+_C_ published by SGI, but has not been independently verified as being
+_C_ compliant with the OpenGL(R) version 1.2.1 Specification.
+_C_
+_C_ $Date: 2001/03/19 17:45:27 $ $Revision: 1.1.1.1 $
+_C_ The first character in this file must be an '_'!
+_C_ Anything on a line after _C_ is ignored
+_define(_filters,eqn)_C_
+_C_ eqn is automatically replaced with neqn for nroff
+_header(DeleteTess, destroy a tessellation object)
+_names(DeleteTess)
+.EQ
+delim $$
+.EN
+.SH PARAMETERS
+_phead(_param1)
+Specifies the tessellation object to destroy.
+.SH DESCRIPTION
+_cmnd destroys the indicated tessellation object (which was created
+with _cmnd(NewTess)) and frees any memory that it used.
+.SH SEE ALSO
+_cmnd(BeginPolygon), _cmnd(NewTess), _cmnd(TessCallback)
+
diff --git a/xc/extras/ogl-sample/main/doc/man/manglu/standard/disk.gl b/xc/extras/ogl-sample/main/doc/man/manglu/standard/disk.gl
new file mode 100755
index 000000000..5b0e907fd
--- /dev/null
+++ b/xc/extras/ogl-sample/main/doc/man/manglu/standard/disk.gl
@@ -0,0 +1,79 @@
+_C_ License Applicability. Except to the extent portions of this file are
+_C_ made subject to an alternative license as permitted in the SGI Free
+_C_ Software License B, Version 1.1 (the "License"), the contents of this
+_C_ file are subject only to the provisions of the License. You may not use
+_C_ this file except in compliance with the License. You may obtain a copy
+_C_ of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
+_C_ Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
+_C_
+_C_ http://oss.sgi.com/projects/FreeB
+_C_
+_C_ Note that, as provided in the License, the Software is distributed on an
+_C_ "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
+_C_ DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
+_C_ CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
+_C_ PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
+_C_
+_C_ Original Code. The Original Code is: OpenGL Sample Implementation,
+_C_ Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
+_C_ Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
+_C_ Copyright in any portions created by third parties is as indicated
+_C_ elsewhere herein. All Rights Reserved.
+_C_
+_C_ Additional Notice Provisions: The application programming interfaces
+_C_ established by SGI in conjunction with the Original Code are The
+_C_ OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
+_C_ April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
+_C_ 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
+_C_ Window System(R) (Version 1.3), released October 19, 1998. This software
+_C_ was created using the OpenGL(R) version 1.2.1 Sample Implementation
+_C_ published by SGI, but has not been independently verified as being
+_C_ compliant with the OpenGL(R) version 1.2.1 Specification.
+_C_
+_C_ $Date: 2001/03/19 17:45:27 $ $Revision: 1.1.1.1 $
+_C_ The first character in this file must be an '_'!
+_C_ Anything on a line after _C_ is ignored
+_define(_filters,eqn)_C_
+_C_ eqn is automatically replaced with neqn for nroff
+_header(Disk, draw a disk)
+_names(Disk)
+.EQ
+delim $$
+.EN
+.SH PARAMETERS
+_phead(_param1)
+Specifies the quadrics object (created with _cmnd(NewQuadric)).
+_phead(_param2)
+Specifies the inner radius of the disk (may be 0).
+_phead(_param3)
+Specifies the outer radius of the disk.
+_phead(_param4)
+Specifies the number of subdivisions around the \f2z\fP axis.
+_phead(_param5)
+Specifies the number of concentric rings about the origin into which
+the disk is subdivided.
+.SH DESCRIPTION
+_cmnd renders a disk on the \f2z\fP = 0 plane. The disk has a radius of
+_param3, and contains a concentric circular hole with a radius
+of _param2. If _param2 is 0, then no hole is generated. The disk is
+subdivided around the \f2z\fP axis into slices (like pizza slices), and also
+about the \f2z\fP axis into rings
+(as specified by _param4 and _param5, respectively).
+.P
+With respect to orientation, the +\f2z\fP side of the disk is considered to be
+"outside" (see _cmnd(QuadricOrientation)).
+This means that if the
+orientation is set to _gluconst(OUTSIDE), then any normals generated
+point along the +\f2z\fP axis. Otherwise, they point along the \-\f2z\fP
+axis.
+.P
+If texturing has been turned on (with _cmnd(QuadricTexture)),
+texture coordinates are generated
+linearly such that where $ r ~=~ _eqnparam3 $, the value at (\f2r\fP, 0, 0) is
+(1, 0.5), at (0, \f2r\fP, 0) it is (0.5, 1), at (\-\f2r\fP, 0, 0)
+it is (0, 0.5), and
+at (0, \-\f2r\fP, 0) it is (0.5, 0).
+.SH SEE ALSO
+_cmnd(Cylinder), _cmnd(NewQuadric), _cmnd(PartialDisk),
+_cmnd(QuadricOrientation),
+_cmnd(QuadricTexture), _cmnd(Sphere)
diff --git a/xc/extras/ogl-sample/main/doc/man/manglu/standard/errorstring.gl b/xc/extras/ogl-sample/main/doc/man/manglu/standard/errorstring.gl
new file mode 100755
index 000000000..f3b0baea7
--- /dev/null
+++ b/xc/extras/ogl-sample/main/doc/man/manglu/standard/errorstring.gl
@@ -0,0 +1,65 @@
+_C_ License Applicability. Except to the extent portions of this file are
+_C_ made subject to an alternative license as permitted in the SGI Free
+_C_ Software License B, Version 1.1 (the "License"), the contents of this
+_C_ file are subject only to the provisions of the License. You may not use
+_C_ this file except in compliance with the License. You may obtain a copy
+_C_ of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
+_C_ Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
+_C_
+_C_ http://oss.sgi.com/projects/FreeB
+_C_
+_C_ Note that, as provided in the License, the Software is distributed on an
+_C_ "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
+_C_ DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
+_C_ CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
+_C_ PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
+_C_
+_C_ Original Code. The Original Code is: OpenGL Sample Implementation,
+_C_ Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
+_C_ Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
+_C_ Copyright in any portions created by third parties is as indicated
+_C_ elsewhere herein. All Rights Reserved.
+_C_
+_C_ Additional Notice Provisions: The application programming interfaces
+_C_ established by SGI in conjunction with the Original Code are The
+_C_ OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
+_C_ April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
+_C_ 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
+_C_ Window System(R) (Version 1.3), released October 19, 1998. This software
+_C_ was created using the OpenGL(R) version 1.2.1 Sample Implementation
+_C_ published by SGI, but has not been independently verified as being
+_C_ compliant with the OpenGL(R) version 1.2.1 Specification.
+_C_
+_C_ $Date: 2001/03/19 17:45:27 $ $Revision: 1.1.1.1 $
+_C_ The first character in this file must be an '_'!
+_C_ Anything on a line after _C_ is ignored
+_define(_filters,eqn)_C_
+_C_ eqn is automatically replaced with neqn for nroff
+_header(ErrorString, produce an error string from a GL or GLU error code)
+_names(ErrorString)
+.EQ
+delim $$
+.EN
+.SH PARAMETERS
+_phead(_param1)
+Specifies a GL or GLU error code.
+.SH DESCRIPTION
+_cmnd produces an error string from a GL or GLU error code. The string
+is in ISO Latin 1 format. For example,
+_cmnd(ErrorString)(_const(OUT_OF_MEMORY)) returns the string
+\f2out of memory\fP.
+.P
+The standard GLU error codes are _gluconst(INVALID_ENUM),
+_gluconst(INVALID_VALUE),
+and _gluconst(OUT_OF_MEMORY).
+Certain other GLU functions can return specialized error codes
+through callbacks.
+See the _glcmnd(GetError) reference page for the list of
+GL error codes.
+.SH ERRORS
+_xconst(NULL) is returned if _param1 is not a valid GL or GLU error code.
+.SH SEE ALSO
+_glcmnd(GetError),
+_cmnd(NurbsCallback),
+_cmnd(QuadricCallback),
+_cmnd(TessCallback)
diff --git a/xc/extras/ogl-sample/main/doc/man/manglu/standard/getnurbsproperty.gl b/xc/extras/ogl-sample/main/doc/man/manglu/standard/getnurbsproperty.gl
new file mode 100755
index 000000000..fda630f8c
--- /dev/null
+++ b/xc/extras/ogl-sample/main/doc/man/manglu/standard/getnurbsproperty.gl
@@ -0,0 +1,68 @@
+_C_ License Applicability. Except to the extent portions of this file are
+_C_ made subject to an alternative license as permitted in the SGI Free
+_C_ Software License B, Version 1.1 (the "License"), the contents of this
+_C_ file are subject only to the provisions of the License. You may not use
+_C_ this file except in compliance with the License. You may obtain a copy
+_C_ of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
+_C_ Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
+_C_
+_C_ http://oss.sgi.com/projects/FreeB
+_C_
+_C_ Note that, as provided in the License, the Software is distributed on an
+_C_ "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
+_C_ DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
+_C_ CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
+_C_ PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
+_C_
+_C_ Original Code. The Original Code is: OpenGL Sample Implementation,
+_C_ Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
+_C_ Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
+_C_ Copyright in any portions created by third parties is as indicated
+_C_ elsewhere herein. All Rights Reserved.
+_C_
+_C_ Additional Notice Provisions: The application programming interfaces
+_C_ established by SGI in conjunction with the Original Code are The
+_C_ OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
+_C_ April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
+_C_ 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
+_C_ Window System(R) (Version 1.3), released October 19, 1998. This software
+_C_ was created using the OpenGL(R) version 1.2.1 Sample Implementation
+_C_ published by SGI, but has not been independently verified as being
+_C_ compliant with the OpenGL(R) version 1.2.1 Specification.
+_C_
+_C_ $Date: 2001/03/19 17:45:27 $ $Revision: 1.1.1.1 $
+_C_ The first character in this file must be an '_'!
+_C_ Anything on a line after _C_ is ignored
+_define(_filters,eqn)_C_
+_C_ eqn is automatically replaced with neqn for nroff
+_header(GetNurbsProperty, get a NURBS property)
+_names(GetNurbsProperty)
+.EQ
+delim $$
+.EN
+.SH PARAMETERS
+_phead(_param1)
+Specifies the NURBS object (created with _cmnd(NewNurbsRenderer)).
+_phead(_param2)
+Specifies the property whose value is to be fetched. Valid values are
+_gluconst(CULLING),
+_gluconst(SAMPLING_TOLERANCE),
+_gluconst(DISPLAY_MODE),
+_gluconst(AUTO_LOAD_MATRIX),
+_gluconst(PARAMETRIC_TOLERANCE),
+_gluconst(SAMPLING_METHOD),
+_gluconst(U_STEP),
+_gluconst(V_STEP) and
+_gluconst(NURBS_MODE).
+_phead(_param3)
+Specifies a pointer to the location into which the value of the
+named property is written.
+.SH DESCRIPTION
+_cmnd retrieves properties stored in a NURBS object. These
+properties affect the way that NURBS curves and surfaces
+are rendered. See the
+_cmnd(NurbsProperty) reference page for information about what the
+properties are and what they do.
+.SH SEE ALSO
+_cmnd(NewNurbsRenderer),
+_cmnd(NurbsProperty)
diff --git a/xc/extras/ogl-sample/main/doc/man/manglu/standard/getstring.gl b/xc/extras/ogl-sample/main/doc/man/manglu/standard/getstring.gl
new file mode 100755
index 000000000..a7cf5b037
--- /dev/null
+++ b/xc/extras/ogl-sample/main/doc/man/manglu/standard/getstring.gl
@@ -0,0 +1,85 @@
+_C_ License Applicability. Except to the extent portions of this file are
+_C_ made subject to an alternative license as permitted in the SGI Free
+_C_ Software License B, Version 1.1 (the "License"), the contents of this
+_C_ file are subject only to the provisions of the License. You may not use
+_C_ this file except in compliance with the License. You may obtain a copy
+_C_ of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
+_C_ Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
+_C_
+_C_ http://oss.sgi.com/projects/FreeB
+_C_
+_C_ Note that, as provided in the License, the Software is distributed on an
+_C_ "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
+_C_ DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
+_C_ CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
+_C_ PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
+_C_
+_C_ Original Code. The Original Code is: OpenGL Sample Implementation,
+_C_ Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
+_C_ Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
+_C_ Copyright in any portions created by third parties is as indicated
+_C_ elsewhere herein. All Rights Reserved.
+_C_
+_C_ Additional Notice Provisions: The application programming interfaces
+_C_ established by SGI in conjunction with the Original Code are The
+_C_ OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
+_C_ April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
+_C_ 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
+_C_ Window System(R) (Version 1.3), released October 19, 1998. This software
+_C_ was created using the OpenGL(R) version 1.2.1 Sample Implementation
+_C_ published by SGI, but has not been independently verified as being
+_C_ compliant with the OpenGL(R) version 1.2.1 Specification.
+_C_
+_C_ $Date: 2001/03/19 17:45:27 $ $Revision: 1.1.1.1 $
+_C_ The first character in this file must be an '_'!
+_C_ Anything on a line after _C_ is ignored
+_define(_filters,eqn)_C_
+_C_ eqn is automatically replaced with neqn for nroff
+_header(GetString, return a string describing the GLU version or GLU extensions )
+_names(GetString)
+.SH PARAMETERS
+_phead(_param1)
+Specifies a symbolic constant, one of
+_gluconst(VERSION), or _gluconst(EXTENSIONS).
+.SH DESCRIPTION
+_cmnd returns a pointer to a static string describing the
+GLU version or the GLU extensions that are supported.
+.P
+The version number is one of the following
+forms:
+.P
+\f2major_number.minor_number\fP
+.br
+\f2major_number.minor_number.release_number\fP.
+.P
+The version string is of the following form:
+.P
+\f2version number<space>vendor-specific information\fP
+.P
+Vendor-specific information is optional.
+Its format and contents depend on the implementation.
+.P
+The standard GLU contains a basic set of features and capabilities.
+If a company or group of companies wish to support other features,
+these may be included as extensions to the GLU.
+If _param1 is
+_gluconst(EXTENSIONS), then _cmnd
+returns a space-separated list of names of supported GLU extensions.
+(Extension names never contain spaces.)
+.P
+All strings are null-terminated.
+.SH NOTES
+_cmnd only returns information about GLU extensions. Call
+@<\f3glGetString\fP>@dnl
+ to get a list of GL extensions.
+.P
+_cmnd is an initialization routine. Calling it after
+a _glcmnd(NewList) results in undefined behavior.
+.SH ERRORS
+NULL is returned if _param1 is not
+_gluconst(VERSION) or _gluconst(EXTENSIONS).
+.P
+.SH SEE ALSO
+@<\f3glGetString\fP>@dnl
+
+
diff --git a/xc/extras/ogl-sample/main/doc/man/manglu/standard/gettessproperty.gl b/xc/extras/ogl-sample/main/doc/man/manglu/standard/gettessproperty.gl
new file mode 100755
index 000000000..678fc8f18
--- /dev/null
+++ b/xc/extras/ogl-sample/main/doc/man/manglu/standard/gettessproperty.gl
@@ -0,0 +1,63 @@
+_C_ License Applicability. Except to the extent portions of this file are
+_C_ made subject to an alternative license as permitted in the SGI Free
+_C_ Software License B, Version 1.1 (the "License"), the contents of this
+_C_ file are subject only to the provisions of the License. You may not use
+_C_ this file except in compliance with the License. You may obtain a copy
+_C_ of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
+_C_ Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
+_C_
+_C_ http://oss.sgi.com/projects/FreeB
+_C_
+_C_ Note that, as provided in the License, the Software is distributed on an
+_C_ "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
+_C_ DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
+_C_ CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
+_C_ PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
+_C_
+_C_ Original Code. The Original Code is: OpenGL Sample Implementation,
+_C_ Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
+_C_ Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
+_C_ Copyright in any portions created by third parties is as indicated
+_C_ elsewhere herein. All Rights Reserved.
+_C_
+_C_ Additional Notice Provisions: The application programming interfaces
+_C_ established by SGI in conjunction with the Original Code are The
+_C_ OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
+_C_ April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
+_C_ 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
+_C_ Window System(R) (Version 1.3), released October 19, 1998. This software
+_C_ was created using the OpenGL(R) version 1.2.1 Sample Implementation
+_C_ published by SGI, but has not been independently verified as being
+_C_ compliant with the OpenGL(R) version 1.2.1 Specification.
+_C_
+_C_ $Date: 2001/03/19 17:45:27 $ $Revision: 1.1.1.1 $
+_C_ The first character in this file must be an '_'!
+_C_ Anything on a line after _C_ is ignored
+_define(_filters,eqn)_C_
+_C_ eqn is automatically replaced with neqn for nroff
+_header(GetTessProperty, get a tessellation object property)
+_names(GetTessProperty)
+.EQ
+delim $$
+.EN
+.SH PARAMETERS
+_phead(_param1)
+Specifies the tessellation object (created with _cmnd(NewTess)).
+_phead(_param2)
+Specifies the property whose value is to be fetched. Valid values are
+_gluconst(TESS_WINDING_RULE),
+_gluconst(TESS_BOUNDARY_ONLY), and
+_gluconst(TESS_TOLERANCE).
+_phead(_param3)
+Specifies a pointer to the location into which the value of the
+named property is written.
+.SH DESCRIPTION
+_cmnd retrieves properties stored in a tessellation object. These
+properties affect the way that tessellation objects
+are interpreted and rendered. See the
+_cmnd(TessProperty) reference page for information about the
+properties and what they do.
+.SH SEE ALSO
+_cmnd(NewTess),
+_cmnd(TessProperty)
+
diff --git a/xc/extras/ogl-sample/main/doc/man/manglu/standard/loadsamplingmatrices.gl b/xc/extras/ogl-sample/main/doc/man/manglu/standard/loadsamplingmatrices.gl
new file mode 100755
index 000000000..8701435b1
--- /dev/null
+++ b/xc/extras/ogl-sample/main/doc/man/manglu/standard/loadsamplingmatrices.gl
@@ -0,0 +1,71 @@
+_C_ License Applicability. Except to the extent portions of this file are
+_C_ made subject to an alternative license as permitted in the SGI Free
+_C_ Software License B, Version 1.1 (the "License"), the contents of this
+_C_ file are subject only to the provisions of the License. You may not use
+_C_ this file except in compliance with the License. You may obtain a copy
+_C_ of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
+_C_ Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
+_C_
+_C_ http://oss.sgi.com/projects/FreeB
+_C_
+_C_ Note that, as provided in the License, the Software is distributed on an
+_C_ "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
+_C_ DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
+_C_ CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
+_C_ PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
+_C_
+_C_ Original Code. The Original Code is: OpenGL Sample Implementation,
+_C_ Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
+_C_ Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
+_C_ Copyright in any portions created by third parties is as indicated
+_C_ elsewhere herein. All Rights Reserved.
+_C_
+_C_ Additional Notice Provisions: The application programming interfaces
+_C_ established by SGI in conjunction with the Original Code are The
+_C_ OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
+_C_ April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
+_C_ 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
+_C_ Window System(R) (Version 1.3), released October 19, 1998. This software
+_C_ was created using the OpenGL(R) version 1.2.1 Sample Implementation
+_C_ published by SGI, but has not been independently verified as being
+_C_ compliant with the OpenGL(R) version 1.2.1 Specification.
+_C_
+_C_ $Date: 2001/03/19 17:45:27 $ $Revision: 1.1.1.1 $
+_C_ The first character in this file must be an '_'!
+_C_ Anything on a line after _C_ is ignored
+_define(_filters,eqn)_C_
+_C_ eqn is automatically replaced with neqn for nroff
+_header(LoadSamplingMatrices, load NURBS sampling and culling matrices)
+_names(LoadSamplingMatrices)
+.EQ
+delim $$
+.EN
+.SH PARAMETERS
+_phead(_param1)
+Specifies the NURBS object (created with _cmnd(NewNurbsRenderer)).
+_phead(_param2)
+Specifies a modelview matrix (as from a _glcmnd(GetFloatv) call).
+_phead(_param3)
+Specifies a projection matrix (as from a _glcmnd(GetFloatv) call).
+_phead(_param4)
+Specifies a viewport (as from a _glcmnd(GetIntegerv) call).
+.SH DESCRIPTION
+_cmnd uses _param2, _param3, and _param4 to recompute the sampling and culling
+matrices stored in _param1.
+The sampling matrix determines how finely a NURBS curve or surface
+must be tessellated to satisfy the sampling tolerance (as determined by the
+_gluconst(SAMPLING_TOLERANCE) property).
+The culling matrix is used in deciding if a NURBS curve or surface
+should be culled before
+rendering (when the _gluconst(CULLING) property is turned on).
+.P
+_cmnd is necessary only if the _gluconst(AUTO_LOAD_MATRIX) property is turned
+off (see _cmnd(NurbsProperty)).
+Although it can be convenient to leave the _gluconst(AUTO_LOAD_MATRIX)
+property turned on, there can be a performance penalty for doing so.
+(A round trip to the GL server is needed to fetch the current values
+of the modelview matrix, projection matrix, and viewport.)
+.SH SEE ALSO
+_cmnd(GetNurbsProperty),
+_cmnd(NewNurbsRenderer),
+_cmnd(NurbsProperty)
diff --git a/xc/extras/ogl-sample/main/doc/man/manglu/standard/lookat.gl b/xc/extras/ogl-sample/main/doc/man/manglu/standard/lookat.gl
new file mode 100755
index 000000000..a3a9b220c
--- /dev/null
+++ b/xc/extras/ogl-sample/main/doc/man/manglu/standard/lookat.gl
@@ -0,0 +1,108 @@
+_C_ License Applicability. Except to the extent portions of this file are
+_C_ made subject to an alternative license as permitted in the SGI Free
+_C_ Software License B, Version 1.1 (the "License"), the contents of this
+_C_ file are subject only to the provisions of the License. You may not use
+_C_ this file except in compliance with the License. You may obtain a copy
+_C_ of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
+_C_ Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
+_C_
+_C_ http://oss.sgi.com/projects/FreeB
+_C_
+_C_ Note that, as provided in the License, the Software is distributed on an
+_C_ "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
+_C_ DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
+_C_ CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
+_C_ PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
+_C_
+_C_ Original Code. The Original Code is: OpenGL Sample Implementation,
+_C_ Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
+_C_ Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
+_C_ Copyright in any portions created by third parties is as indicated
+_C_ elsewhere herein. All Rights Reserved.
+_C_
+_C_ Additional Notice Provisions: The application programming interfaces
+_C_ established by SGI in conjunction with the Original Code are The
+_C_ OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
+_C_ April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
+_C_ 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
+_C_ Window System(R) (Version 1.3), released October 19, 1998. This software
+_C_ was created using the OpenGL(R) version 1.2.1 Sample Implementation
+_C_ published by SGI, but has not been independently verified as being
+_C_ compliant with the OpenGL(R) version 1.2.1 Specification.
+_C_
+_C_ $Date: 2001/03/19 17:45:27 $ $Revision: 1.1.1.1 $
+_C_ The first character in this file must be an '_'!
+_C_ Anything on a line after _C_ is ignored
+_define(_filters,eqn)_C_
+_C_ eqn is automatically replaced with neqn for nroff
+_header(LookAt, define a viewing transformation)
+_names(LookAt)
+.EQ
+delim $$
+.EN
+.SH PARAMETERS
+_phead(_param1 _param2 _param3)
+Specifies the position of the eye point.
+_phead(_param4 _param5 _param6)
+Specifies the position of the reference point.
+_phead(_param7 _param8 _param9)
+Specifies the direction of the \f2up\fP vector.
+.SH DESCRIPTION
+_cmnd creates a viewing matrix derived from an eye point, a reference
+point indicating the center of the scene, and an \f2UP\fP vector.
+.P
+The matrix
+maps the reference point to the negative \f2z\fP axis and the
+eye point to the origin.
+When a typical projection matrix is used,
+the center of the scene therefore maps to the center of the viewport.
+Similarly, the direction described by the \f2UP\fP
+vector projected onto the viewing plane is mapped to the positive \f2y\fP
+axis so that it points upward in the viewport.
+The \f2UP\fP vector must not be parallel to the line of sight from the
+eye point to the reference point.
+.P
+Let
+.sp
+.EQ
+F ~=~ left ( down 20 { ~ matrix {
+ ccol {_eqnparam4 above _eqnparam5 above _eqnparam6}
+ ccol { ~-~ above ~-~ above ~-~}
+ ccol {_eqnparam1 above _eqnparam2 above _eqnparam3}
+} } ~~ right )
+
+.EN
+
+.sp
+Let \f2UP\fP be the vector $(_eqnparam7, _eqnparam8, _eqnparam9)$.
+.P
+Then normalize as follows:
+.EQ
+f ~=~ F over {|| F ||}
+.EN
+.P
+.EQ
+UP sup prime ~=~ UP over {|| UP ||}
+.EN
+.sp
+.P
+Finally, let $s ~=~ f ~times~ UP sup prime$, and $u ~=~ s ~times~ f$.
+.P
+.sp
+M is then constructed as follows:
+.EQ
+M ~=~ left ( matrix {
+ ccol { ~s[0] above ~u[0] above -f[0] above 0 }
+ ccol { ~s[1] above ~u[1] above -f[1] above 0 }
+ ccol { ~s[2] above ~u[2] above -f[2] above 0 }
+ ccol { 0 above 0 above 0 above 1 }
+} ~~right )
+.EN
+.P
+and _cmnd is equivalent to
+.Ex
+glMultMatrixf(M);
+glTranslated (-eyex, -eyey, -eyez);
+.Ee
+.SH SEE ALSO
+_glcmnd(Frustum), _cmnd(Perspective)
diff --git a/xc/extras/ogl-sample/main/doc/man/manglu/standard/newnurbsrenderer.gl b/xc/extras/ogl-sample/main/doc/man/manglu/standard/newnurbsrenderer.gl
new file mode 100755
index 000000000..1b2ce71e5
--- /dev/null
+++ b/xc/extras/ogl-sample/main/doc/man/manglu/standard/newnurbsrenderer.gl
@@ -0,0 +1,51 @@
+_C_ License Applicability. Except to the extent portions of this file are
+_C_ made subject to an alternative license as permitted in the SGI Free
+_C_ Software License B, Version 1.1 (the "License"), the contents of this
+_C_ file are subject only to the provisions of the License. You may not use
+_C_ this file except in compliance with the License. You may obtain a copy
+_C_ of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
+_C_ Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
+_C_
+_C_ http://oss.sgi.com/projects/FreeB
+_C_
+_C_ Note that, as provided in the License, the Software is distributed on an
+_C_ "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
+_C_ DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
+_C_ CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
+_C_ PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
+_C_
+_C_ Original Code. The Original Code is: OpenGL Sample Implementation,
+_C_ Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
+_C_ Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
+_C_ Copyright in any portions created by third parties is as indicated
+_C_ elsewhere herein. All Rights Reserved.
+_C_
+_C_ Additional Notice Provisions: The application programming interfaces
+_C_ established by SGI in conjunction with the Original Code are The
+_C_ OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
+_C_ April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
+_C_ 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
+_C_ Window System(R) (Version 1.3), released October 19, 1998. This software
+_C_ was created using the OpenGL(R) version 1.2.1 Sample Implementation
+_C_ published by SGI, but has not been independently verified as being
+_C_ compliant with the OpenGL(R) version 1.2.1 Specification.
+_C_
+_C_ $Date: 2001/03/19 17:45:27 $ $Revision: 1.1.1.1 $
+_C_ The first character in this file must be an '_'!
+_C_ Anything on a line after _C_ is ignored
+_define(_filters,eqn)_C_
+_C_ eqn is automatically replaced with neqn for nroff
+_header(NewNurbsRenderer, create a NURBS object)
+_names(NewNurbsRenderer)
+.EQ
+delim $$
+.EN
+.SH DESCRIPTION
+_cmnd creates and returns a pointer to
+a new NURBS object.
+This object must be referred to when calling
+NURBS rendering and control functions. A return value of
+0 means that there is not enough memory to allocate the object.
+.SH SEE ALSO
+_cmnd(BeginCurve), _cmnd(BeginSurface), _cmnd(BeginTrim), _cmnd(DeleteNurbsRenderer), _cmnd(NurbsCallback), _cmnd(NurbsProperty)
+
diff --git a/xc/extras/ogl-sample/main/doc/man/manglu/standard/newquadric.gl b/xc/extras/ogl-sample/main/doc/man/manglu/standard/newquadric.gl
new file mode 100755
index 000000000..96b09a7e7
--- /dev/null
+++ b/xc/extras/ogl-sample/main/doc/man/manglu/standard/newquadric.gl
@@ -0,0 +1,53 @@
+_C_ License Applicability. Except to the extent portions of this file are
+_C_ made subject to an alternative license as permitted in the SGI Free
+_C_ Software License B, Version 1.1 (the "License"), the contents of this
+_C_ file are subject only to the provisions of the License. You may not use
+_C_ this file except in compliance with the License. You may obtain a copy
+_C_ of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
+_C_ Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
+_C_
+_C_ http://oss.sgi.com/projects/FreeB
+_C_
+_C_ Note that, as provided in the License, the Software is distributed on an
+_C_ "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
+_C_ DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
+_C_ CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
+_C_ PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
+_C_
+_C_ Original Code. The Original Code is: OpenGL Sample Implementation,
+_C_ Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
+_C_ Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
+_C_ Copyright in any portions created by third parties is as indicated
+_C_ elsewhere herein. All Rights Reserved.
+_C_
+_C_ Additional Notice Provisions: The application programming interfaces
+_C_ established by SGI in conjunction with the Original Code are The
+_C_ OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
+_C_ April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
+_C_ 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
+_C_ Window System(R) (Version 1.3), released October 19, 1998. This software
+_C_ was created using the OpenGL(R) version 1.2.1 Sample Implementation
+_C_ published by SGI, but has not been independently verified as being
+_C_ compliant with the OpenGL(R) version 1.2.1 Specification.
+_C_
+_C_ $Date: 2001/03/19 17:45:27 $ $Revision: 1.1.1.1 $
+_C_ The first character in this file must be an '_'!
+_C_ Anything on a line after _C_ is ignored
+_define(_filters,eqn)_C_
+_C_ eqn is automatically replaced with neqn for nroff
+_header(NewQuadric, create a quadrics object)
+_names(NewQuadric)
+.EQ
+delim $$
+.EN
+.SH DESCRIPTION
+_cmnd creates and returns a pointer to
+a new quadrics object. This object must be referred to when
+calling quadrics rendering and control functions. A return value of
+0 means that there is not enough memory to allocate the object.
+.SH SEE ALSO
+_cmnd(Cylinder), _cmnd(DeleteQuadric), _cmnd(Disk),
+_cmnd(PartialDisk), _cmnd(QuadricCallback), _cmnd(QuadricDrawStyle),
+_cmnd(QuadricNormals), _cmnd(QuadricOrientation),
+_cmnd(QuadricTexture),
+_cmnd(Sphere)
diff --git a/xc/extras/ogl-sample/main/doc/man/manglu/standard/newtess.gl b/xc/extras/ogl-sample/main/doc/man/manglu/standard/newtess.gl
new file mode 100755
index 000000000..ffa2e0c81
--- /dev/null
+++ b/xc/extras/ogl-sample/main/doc/man/manglu/standard/newtess.gl
@@ -0,0 +1,50 @@
+_C_ License Applicability. Except to the extent portions of this file are
+_C_ made subject to an alternative license as permitted in the SGI Free
+_C_ Software License B, Version 1.1 (the "License"), the contents of this
+_C_ file are subject only to the provisions of the License. You may not use
+_C_ this file except in compliance with the License. You may obtain a copy
+_C_ of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
+_C_ Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
+_C_
+_C_ http://oss.sgi.com/projects/FreeB
+_C_
+_C_ Note that, as provided in the License, the Software is distributed on an
+_C_ "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
+_C_ DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
+_C_ CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
+_C_ PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
+_C_
+_C_ Original Code. The Original Code is: OpenGL Sample Implementation,
+_C_ Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
+_C_ Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
+_C_ Copyright in any portions created by third parties is as indicated
+_C_ elsewhere herein. All Rights Reserved.
+_C_
+_C_ Additional Notice Provisions: The application programming interfaces
+_C_ established by SGI in conjunction with the Original Code are The
+_C_ OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
+_C_ April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
+_C_ 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
+_C_ Window System(R) (Version 1.3), released October 19, 1998. This software
+_C_ was created using the OpenGL(R) version 1.2.1 Sample Implementation
+_C_ published by SGI, but has not been independently verified as being
+_C_ compliant with the OpenGL(R) version 1.2.1 Specification.
+_C_
+_C_ $Date: 2001/03/19 17:45:27 $ $Revision: 1.1.1.1 $
+_C_ The first character in this file must be an '_'!
+_C_ Anything on a line after _C_ is ignored
+_define(_filters,eqn)_C_
+_C_ eqn is automatically replaced with neqn for nroff
+_header(NewTess, create a tessellation object)
+_names(NewTess)
+.EQ
+delim $$
+.EN
+.SH DESCRIPTION
+_cmnd creates and returns a pointer to a new tessellation object.
+This object must be referred to when calling
+tessellation functions. A return value of
+0 means that there is not enough memory to allocate the object.
+.SH SEE ALSO
+_cmnd(TessBeginPolygon), _cmnd(DeleteTess), _cmnd(TessCallback)
+
diff --git a/xc/extras/ogl-sample/main/doc/man/manglu/standard/nextcontour.gl b/xc/extras/ogl-sample/main/doc/man/manglu/standard/nextcontour.gl
new file mode 100755
index 000000000..9194b35d3
--- /dev/null
+++ b/xc/extras/ogl-sample/main/doc/man/manglu/standard/nextcontour.gl
@@ -0,0 +1,117 @@
+_C_ License Applicability. Except to the extent portions of this file are
+_C_ made subject to an alternative license as permitted in the SGI Free
+_C_ Software License B, Version 1.1 (the "License"), the contents of this
+_C_ file are subject only to the provisions of the License. You may not use
+_C_ this file except in compliance with the License. You may obtain a copy
+_C_ of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
+_C_ Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
+_C_
+_C_ http://oss.sgi.com/projects/FreeB
+_C_
+_C_ Note that, as provided in the License, the Software is distributed on an
+_C_ "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
+_C_ DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
+_C_ CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
+_C_ PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
+_C_
+_C_ Original Code. The Original Code is: OpenGL Sample Implementation,
+_C_ Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
+_C_ Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
+_C_ Copyright in any portions created by third parties is as indicated
+_C_ elsewhere herein. All Rights Reserved.
+_C_
+_C_ Additional Notice Provisions: The application programming interfaces
+_C_ established by SGI in conjunction with the Original Code are The
+_C_ OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
+_C_ April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
+_C_ 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
+_C_ Window System(R) (Version 1.3), released October 19, 1998. This software
+_C_ was created using the OpenGL(R) version 1.2.1 Sample Implementation
+_C_ published by SGI, but has not been independently verified as being
+_C_ compliant with the OpenGL(R) version 1.2.1 Specification.
+_C_
+_C_ $Date: 2001/03/19 17:45:27 $ $Revision: 1.1.1.1 $
+_C_ The first character in this file must be an '_'!
+_C_ Anything on a line after _C_ is ignored
+_define(_filters,eqn)_C_
+_C_ eqn is automatically replaced with neqn for nroff
+_header(NextContour, mark the beginning of another contour)
+_names(NextContour)
+.EQ
+delim $$
+.EN
+.SH PARAMETERS
+_phead(_param1)
+Specifies the tessellation object (created with _cmnd(NewTess)).
+_phead(_param2)
+Specifies the type of the contour being defined. Valid values are
+_gluconst(EXTERIOR),
+_gluconst(INTERIOR),
+_gluconst(UNKNOWN),
+_gluconst(CCW), and
+_gluconst(CW).
+.SH DESCRIPTION
+_cmnd is used in describing polygons with multiple contours. After the first
+contour has been described through a series of _cmnd(TessVertex) calls,
+a _cmnd call indicates that the previous contour is complete and that the
+next contour is about to begin.
+Another series of _cmnd(TessVertex) calls is then used to describe the new
+contour. This process can be repeated until all contours have been described.
+.P
+_param2 defines what type of contour follows.
+The legal contour types are as follows:
+.TP 18
+_gluconst(EXTERIOR)
+An exterior contour defines an exterior boundary of the polygon.
+.TP
+_gluconst(INTERIOR)
+An interior contour defines an interior boundary of the polygon (such as
+a hole).
+.TP
+_gluconst(UNKNOWN)
+An unknown contour is analyzed by the library to determine if it is interior
+or exterior.
+.TP
+_gluconst(CCW),
+.TP
+_gluconst(CW)
+The first _gluconst(CCW) or _gluconst(CW) contour defined is considered to
+be exterior. All other contours are considered to be exterior if they
+are oriented in the same direction (clockwise or counterclockwise) as
+the first contour, and interior if they are not.
+.P
+If one contour is of type _gluconst(CCW) or _gluconst(CW), then all
+contours must be of the same type (if they are not, then all _gluconst(CCW)
+and _gluconst(CW) contours will be changed to _gluconst(UNKNOWN)).
+.P
+Note that there is no real difference between the _gluconst(CCW) and
+_gluconst(CW) contour types.
+.P
+Before the first contour is described, _cmnd can be called to
+define the type of the first contour.
+If _cmnd is not called before the first contour, then the first contour is
+marked _gluconst(EXTERIOR).
+.P
+This command is obsolete and is provided for backward compatibility
+only. Calls to _cmnd are mapped to _cmnd(TessEndContour)
+followed by
+_cmnd(TessBeginContour).
+.SH EXAMPLE
+A quadrilateral with a triangular hole in it can be described as follows:
+.sp
+.Ex
+gluBeginPolygon(tobj);
+ gluTessVertex(tobj, v1, v1);
+ gluTessVertex(tobj, v2, v2);
+ gluTessVertex(tobj, v3, v3);
+ gluTessVertex(tobj, v4, v4);
+gluNextContour(tobj, GLU_INTERIOR);
+ gluTessVertex(tobj, v5, v5);
+ gluTessVertex(tobj, v6, v6);
+ gluTessVertex(tobj, v7, v7);
+gluEndPolygon(tobj);
+.Ee
+.SH SEE ALSO
+_cmnd(BeginPolygon), _cmnd(NewTess), _cmnd(TessCallback), _cmnd(TessVertex),
+_cmnd(TessBeginContour)
+
diff --git a/xc/extras/ogl-sample/main/doc/man/manglu/standard/nurbscallback.gl b/xc/extras/ogl-sample/main/doc/man/manglu/standard/nurbscallback.gl
new file mode 100755
index 000000000..91f89e367
--- /dev/null
+++ b/xc/extras/ogl-sample/main/doc/man/manglu/standard/nurbscallback.gl
@@ -0,0 +1,241 @@
+_C_ License Applicability. Except to the extent portions of this file are
+_C_ made subject to an alternative license as permitted in the SGI Free
+_C_ Software License B, Version 1.1 (the "License"), the contents of this
+_C_ file are subject only to the provisions of the License. You may not use
+_C_ this file except in compliance with the License. You may obtain a copy
+_C_ of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
+_C_ Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
+_C_
+_C_ http://oss.sgi.com/projects/FreeB
+_C_
+_C_ Note that, as provided in the License, the Software is distributed on an
+_C_ "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
+_C_ DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
+_C_ CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
+_C_ PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
+_C_
+_C_ Original Code. The Original Code is: OpenGL Sample Implementation,
+_C_ Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
+_C_ Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
+_C_ Copyright in any portions created by third parties is as indicated
+_C_ elsewhere herein. All Rights Reserved.
+_C_
+_C_ Additional Notice Provisions: The application programming interfaces
+_C_ established by SGI in conjunction with the Original Code are The
+_C_ OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
+_C_ April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
+_C_ 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
+_C_ Window System(R) (Version 1.3), released October 19, 1998. This software
+_C_ was created using the OpenGL(R) version 1.2.1 Sample Implementation
+_C_ published by SGI, but has not been independently verified as being
+_C_ compliant with the OpenGL(R) version 1.2.1 Specification.
+_C_
+_C_ $Date: 2001/03/19 17:45:27 $ $Revision: 1.1.1.1 $
+_C_ The first character in this file must be an '_'!
+_C_ Anything on a line after _C_ is ignored
+_define(_filters,eqn)_C_
+_C_ eqn is automatically replaced with neqn for nroff
+_header(NurbsCallback, define a callback for a NURBS object)
+_names(NurbsCallback)
+.EQ
+delim $$
+.EN
+.SH PARAMETERS
+_phead(_param1)
+Specifies the NURBS object (created with _cmnd(NewNurbsRenderer)).
+_phead(_param2)
+Specifies the callback being defined.
+Valid values are _gluconst(NURBS_BEGIN), _gluconst(NURBS_VERTEX), _gluconst(NURBS_NORMAL), _gluconst(NURBS_COLOR), _gluconst(NURBS_TEXTURE_COORD), _gluconst(NURBS_END), _gluconst(NURBS_BEGIN_DATA), _gluconst(NURBS_VERTEX_DATA), _gluconst(NURBS_NORMAL_DATA), _gluconst(NURBS_COLOR_DATA), _gluconst(NURBS_TEXTURE_COORD_DATA), _gluconst(NURBS_END_DATA), and _gluconst(NURBS_ERROR).
+_phead(_param3)
+Specifies the function that the callback calls.
+.SH DESCRIPTION
+_cmnd is used to define a callback to be used by a NURBS
+object.
+If the specified callback is already defined, then it is replaced. If
+_param3 is NULL, then this callback will not get
+invoked and the related data, if any, will be lost.
+.P
+Except the error callback, these callbacks are used by NURBS tessellator (when _gluconst(NURBS_MODE) is set to be _gluconst(NURBS_TESSELLATOR)) to return back the OpenGL
+polygon primitives resulting from the tessellation. Note that there are two
+versions of each callback: one with a user data pointer and one without. If both versions for a particular callback are specified then the callback with
+the user data pointer will be used. Note that ``userData'' is a copy of the pointer that was specified at the last call to _cmnd(NurbsCallbackData).
+.P
+The error callback function is effective no matter which value that
+_gluconst(NURBS_MODE) is set to.
+All other callback functions are effective only when _gluconst(NURBS_MODE)
+is set to _gluconst(NURBS_TESSELLATOR).
+.P
+The legal callbacks are as follows:
+.TP 10
+_gluconst(NURBS_BEGIN)
+The begin callback indicates the start of a primitive. The function
+takes a single argument of type GLenum, which can be one of
+_const(LINES), _const(LINE_STRIP), _const(TRIANGLE_FAN), _const(TRIANGLE_STRIP), _const(TRIANGLES), or _const(QUAD_STRIP). The
+default begin callback function is NULL. The function prototype
+for this callback looks like:
+.RS
+.Ex
+void begin ( GLenum type );
+.Ee
+.RE
+.TP
+_gluconst(NURBS_BEGIN_DATA)
+The same as the _gluconst(NURBS_BEGIN) callback except that it takes an
+additional pointer argument. This pointer is a copy of the pointer that
+was specified at the last call to _cmnd(NurbsCallbackData). The
+default callback function is NULL. The function prototype for this
+callback function looks like:
+.RS
+.Ex
+void beginData (GLenum type, void *userData);
+.Ee
+.RE
+.TP
+_gluconst(NURBS_VERTEX)
+The vertex callback indicates a vertex of the primitive. The
+coordinates of the vertex are stored in the parameter ``vertex''. All
+the generated vertices have dimension 3, that is, homogeneous
+coordinates have been transformed into affine coordinates. The default
+vertex callback function is NULL. The function prototype for this
+callback function looks like:
+.RS
+.Ex
+void vertex ( GLfloat *vertex );
+.Ee
+.RE
+.TP
+_gluconst(NURBS_VERTEX_DATA)
+This is the same as the _gluconst(NURBS_VERTEX) callback, except that
+it takes an additional pointer argument. This pointer is a copy of the
+pointer that was specified at the last call to
+_cmnd(NurbsCallbackData). The default callback function is NULL. The
+function prototype for this callback function looks like:
+.RS
+.Ex
+void vertexData ( GLfloat *vertex, void *userData );
+.Ee
+.RE
+.TP
+_gluconst(NURBS_NORMAL)
+The normal callback is invoked as the vertex normal is generated.
+The components of the normal are stored in the parameter ``normal''.
+In the case of a NURBS curve, the callback function is effective only when
+the user provides a normal map (_const(MAP1_NORMAL)).
+In the case of a NURBS surface, if a normal map (_const(MAP2_NORMAL)) is provided, then the generated normal is computed from the normal map.
+If a normal map is not provided then a surface normal is computed in
+a manner similar to that described for evaluators when _const(AUTO_NORMAL)
+is enabled.
+.bp
+The default normal callback function is NULL. The function
+prototype for this callback function looks like:
+.RS
+.Ex
+void normal ( GLfloat *normal );
+.Ee
+.RE
+.TP
+_gluconst(NURBS_NORMAL_DATA)
+The same as the _gluconst(NURBS_NORMAL) callback except that it
+takes an additional pointer argument. This pointer is a copy of the pointer
+that was specified at the last call to _cmnd(NurbsCallbackData). The default callback function is NULL. The function prototype for this callback function looks like:
+.RS
+.Ex
+void normalData ( GLfloat *normal, void *userData );
+.Ee
+.RE
+.TP
+_gluconst(NURBS_COLOR)
+The color callback is invoked as the color of a vertex is generated.
+The components of the color are stored in the parameter ``color''.
+This callback is effective only when the user provides a color map
+(_const(MAP1_COLOR_4) or _const(MAP2_COLOR_4)). ``color'' contains four components: R,G,B,A. The default color callback function is NULL. The prototype for
+this callback function looks like:
+.RS
+.Ex
+void color ( GLfloat *color );
+.Ee
+.RE
+.TP
+_gluconst(NURBS_COLOR_DATA)
+The same as the _gluconst(NURBS_COLOR) callback except that it
+takes an additional pointer argument. This pointer is a copy of the pointer
+that was specified at the last call to _cmnd(NurbsCallbackData). The default callback function is NULL. The function prototype for this callback function looks like:
+.RS
+.Ex
+void colorData ( GLfloat *color, void *userData );
+.Ee
+.RE
+.TP
+_gluconst(NURBS_TEXTURE_COORD)
+The texture callback is invoked as the texture coordinates
+of a vertex are generated. These coordinates are stored in the parameter
+``texCoord''. The number of texture coordinates can be 1, 2, 3, or 4 depending
+on which type of texture map is specified
+(_const(MAP1_TEXTURE_COORD_1),
+_const(MAP1_TEXTURE_COORD_2),
+_const(MAP1_TEXTURE_COORD_3),
+_const(MAP1_TEXTURE_COORD_4),
+_const(MAP2_TEXTURE_COORD_1),
+_const(MAP2_TEXTURE_COORD_2),
+_const(MAP2_TEXTURE_COORD_3),
+_const(MAP2_TEXTURE_COORD_4)).
+If no texture map is specified, this callback function will not be called.
+.bp
+The default texture callback function is NULL. The function prototype
+for this callback function looks like:
+.RS
+.Ex
+void texCoord ( GLfloat *texCoord );
+.Ee
+.RE
+.TP
+ _gluconst(NURBS_TEXTURE_COORD_DATA)
+This is the same as the _gluconst(NURBS_TEXTURE_COORD) callback, except that it
+takes an additional pointer argument. This pointer is a copy of the pointer
+that was specified at the last call to _cmnd(NurbsCallbackData). The default callback function is NULL. The function prototype for this callback function looks like:
+.RS
+.Ex
+void texCoordData (GLfloat *texCoord, void *userData);
+.Ee
+.RE
+.TP
+_gluconst(NURBS_END)
+The end callback is invoked at the end of a primitive. The default end callback function is NULL. The function prototype for this callback function looks like:
+.RS
+.Ex
+void end ( void );
+.Ee
+.RE
+.TP
+_gluconst(NURBS_END_DATA)
+This is the same as the _gluconst(NURBS_END) callback, except that it
+takes an additional pointer argument. This pointer is a copy of the pointer
+that was specified at the last call to _cmnd(NurbsCallbackData). The default callback function is NULL. The function prototype for this callback function looks like:
+.RS
+.Ex
+void endData ( void *userData );
+.Ee
+.RE
+.TP
+_gluconst(NURBS_ERROR)
+The error function is called when an error is encountered.
+Its single argument
+is of type GLenum, and it indicates the specific error that occurred.
+There are 37 errors unique to NURBS named
+_gluconst(NURBS_ERROR1) through _gluconst(NURBS_ERROR37).
+Character strings describing these errors can be retrieved with
+_cmnd(ErrorString).
+.bp
+.SH NOTES
+_cmnd is available only if the GLU version is 1.2 or greater.
+.P
+GLU version 1.2 supports only the _gluconst(ERROR) parameter for
+_param2. The _gluconst(ERROR) value is deprecated in GLU version 1.3 in
+favor of _gluconst(NURBS_ERROR). All other accepted values for _param3
+are available only if the GLU version is 1.3 or greater.
+.SH SEE ALSO
+_cmnd(ErrorString),
+_cmnd(NewNurbsRenderer),
+_cmnd(NurbsCallbackData),
+_cmnd(NurbsProperty)
+
diff --git a/xc/extras/ogl-sample/main/doc/man/manglu/standard/nurbscallbackdata.gl b/xc/extras/ogl-sample/main/doc/man/manglu/standard/nurbscallbackdata.gl
new file mode 100755
index 000000000..15630be1f
--- /dev/null
+++ b/xc/extras/ogl-sample/main/doc/man/manglu/standard/nurbscallbackdata.gl
@@ -0,0 +1,56 @@
+_C_ License Applicability. Except to the extent portions of this file are
+_C_ made subject to an alternative license as permitted in the SGI Free
+_C_ Software License B, Version 1.1 (the "License"), the contents of this
+_C_ file are subject only to the provisions of the License. You may not use
+_C_ this file except in compliance with the License. You may obtain a copy
+_C_ of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
+_C_ Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
+_C_
+_C_ http://oss.sgi.com/projects/FreeB
+_C_
+_C_ Note that, as provided in the License, the Software is distributed on an
+_C_ "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
+_C_ DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
+_C_ CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
+_C_ PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
+_C_
+_C_ Original Code. The Original Code is: OpenGL Sample Implementation,
+_C_ Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
+_C_ Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
+_C_ Copyright in any portions created by third parties is as indicated
+_C_ elsewhere herein. All Rights Reserved.
+_C_
+_C_ Additional Notice Provisions: The application programming interfaces
+_C_ established by SGI in conjunction with the Original Code are The
+_C_ OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
+_C_ April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
+_C_ 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
+_C_ Window System(R) (Version 1.3), released October 19, 1998. This software
+_C_ was created using the OpenGL(R) version 1.2.1 Sample Implementation
+_C_ published by SGI, but has not been independently verified as being
+_C_ compliant with the OpenGL(R) version 1.2.1 Specification.
+_C_
+_C_ $Date: 2001/03/19 17:45:27 $ $Revision: 1.1.1.1 $
+_C_ The first character in this file must be an '_'!
+_C_ Anything on a line after _C_ is ignored
+_define(_filters,eqn)_C_
+_C_ eqn is automatically replaced with neqn for nroff
+_header(NurbsCallbackData, set a user data pointer)
+_names(NurbsCallbackData)
+.EQ
+delim $$
+.EN
+.SH PARAMETERS
+_phead(_param1)
+Specifies the NURBS object (created with _cmnd(NewNurbsRenderer)).
+_phead(_param2)
+Specifies a pointer to the user's data.
+.SH DESCRIPTION
+_cmnd is used to pass a pointer to the application's data to NURBS
+tessellator. A copy of this pointer will be passed by the tessellator
+in the NURBS callback functions (set by _cmnd(NurbsCallback)).
+.SH NOTES
+_cmnd is available only if the GLU version is 1.3 or greater.
+.SH SEE ALSO
+_cmnd(NewNurbsRenderer),
+_cmnd(NurbsCallback)
diff --git a/xc/extras/ogl-sample/main/doc/man/manglu/standard/nurbscallbackdataext.gl b/xc/extras/ogl-sample/main/doc/man/manglu/standard/nurbscallbackdataext.gl
new file mode 100755
index 000000000..a12a1468c
--- /dev/null
+++ b/xc/extras/ogl-sample/main/doc/man/manglu/standard/nurbscallbackdataext.gl
@@ -0,0 +1,53 @@
+_C_ License Applicability. Except to the extent portions of this file are
+_C_ made subject to an alternative license as permitted in the SGI Free
+_C_ Software License B, Version 1.1 (the "License"), the contents of this
+_C_ file are subject only to the provisions of the License. You may not use
+_C_ this file except in compliance with the License. You may obtain a copy
+_C_ of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
+_C_ Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
+_C_
+_C_ http://oss.sgi.com/projects/FreeB
+_C_
+_C_ Note that, as provided in the License, the Software is distributed on an
+_C_ "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
+_C_ DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
+_C_ CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
+_C_ PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
+_C_
+_C_ Original Code. The Original Code is: OpenGL Sample Implementation,
+_C_ Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
+_C_ Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
+_C_ Copyright in any portions created by third parties is as indicated
+_C_ elsewhere herein. All Rights Reserved.
+_C_
+_C_ Additional Notice Provisions: The application programming interfaces
+_C_ established by SGI in conjunction with the Original Code are The
+_C_ OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
+_C_ April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
+_C_ 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
+_C_ Window System(R) (Version 1.3), released October 19, 1998. This software
+_C_ was created using the OpenGL(R) version 1.2.1 Sample Implementation
+_C_ published by SGI, but has not been independently verified as being
+_C_ compliant with the OpenGL(R) version 1.2.1 Specification.
+_C_
+_C_ $Date: 2001/03/19 17:45:27 $ $Revision: 1.1.1.1 $
+_C_ The first character in this file must be an '_'!
+_C_ Anything on a line after _C_ is ignored
+_define(_filters,eqn)_C_
+_C_ eqn is automatically replaced with neqn for nroff
+_header(NurbsCallbackDataEXT, set a user data pointer)
+_names(NurbsCallbackDataEXT)
+.EQ
+delim $$
+.EN
+.SH PARAMETERS
+_phead(_param1)
+Specifies the NURBS object (created with _cmnd(NewNurbsRenderer)).
+_phead(_param2)
+Specifies a pointer to the user's data.
+.SH DESCRIPTION
+_cmnd is used to pass a pointer to the application's data to NURBS
+tessellator. A copy of this pointer will be passed by the tessellator
+in the NURBS callback functions (set by _cmnd(NurbsCallback)).
+.SH SEE ALSO
+_cmnd(NurbsCallback)
diff --git a/xc/extras/ogl-sample/main/doc/man/manglu/standard/nurbscurve.gl b/xc/extras/ogl-sample/main/doc/man/manglu/standard/nurbscurve.gl
new file mode 100755
index 000000000..e68cbebb9
--- /dev/null
+++ b/xc/extras/ogl-sample/main/doc/man/manglu/standard/nurbscurve.gl
@@ -0,0 +1,104 @@
+_C_ License Applicability. Except to the extent portions of this file are
+_C_ made subject to an alternative license as permitted in the SGI Free
+_C_ Software License B, Version 1.1 (the "License"), the contents of this
+_C_ file are subject only to the provisions of the License. You may not use
+_C_ this file except in compliance with the License. You may obtain a copy
+_C_ of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
+_C_ Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
+_C_
+_C_ http://oss.sgi.com/projects/FreeB
+_C_
+_C_ Note that, as provided in the License, the Software is distributed on an
+_C_ "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
+_C_ DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
+_C_ CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
+_C_ PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
+_C_
+_C_ Original Code. The Original Code is: OpenGL Sample Implementation,
+_C_ Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
+_C_ Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
+_C_ Copyright in any portions created by third parties is as indicated
+_C_ elsewhere herein. All Rights Reserved.
+_C_
+_C_ Additional Notice Provisions: The application programming interfaces
+_C_ established by SGI in conjunction with the Original Code are The
+_C_ OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
+_C_ April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
+_C_ 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
+_C_ Window System(R) (Version 1.3), released October 19, 1998. This software
+_C_ was created using the OpenGL(R) version 1.2.1 Sample Implementation
+_C_ published by SGI, but has not been independently verified as being
+_C_ compliant with the OpenGL(R) version 1.2.1 Specification.
+_C_
+_C_ $Date: 2001/03/19 17:45:27 $ $Revision: 1.1.1.1 $
+_C_ The first character in this file must be an '_'!
+_C_ Anything on a line after _C_ is ignored
+_define(_filters,eqn)_C_
+_C_ eqn is automatically replaced with neqn for nroff
+_header(NurbsCurve, define the shape of a NURBS curve)
+_names(NurbsCurve)
+.EQ
+delim $$
+.EN
+.SH PARAMETERS
+_phead(_param1)
+Specifies the NURBS object (created with _cmnd(NewNurbsRenderer)).
+_phead(_param2)
+Specifies the number of knots in _param3.
+_param2 equals the number of control points plus the order.
+_phead(_param3)
+Specifies an array of _param2 nondecreasing knot values.
+_phead(_param4)
+Specifies the offset (as a number of single-precision floating-point values)
+between successive curve control points.
+_phead(_param5)
+Specifies a pointer to an array of control points. The coordinates must
+agree with _param7, specified below.
+_phead(_param6)
+Specifies the order of the NURBS curve. _param6 equals degree + 1, hence
+a cubic curve has an order of 4.
+_phead(_param7)
+Specifies the type of the curve. If this curve is defined within a
+_cmnd(BeginCurve)/_cmnd(EndCurve) pair, then
+the type can be any of the valid
+one-dimensional evaluator types (such as _const(MAP1_VERTEX_3) or
+_const(MAP1_COLOR_4)). Between a _cmnd(BeginTrim)/_cmnd(EndTrim) pair,
+the only valid types are _gluconst(MAP1_TRIM_2) and _gluconst(MAP1_TRIM_3).
+.SH DESCRIPTION
+Use _cmnd to describe a NURBS curve.
+.P
+When _cmnd appears between a _cmnd(BeginCurve)/_cmnd(EndCurve) pair, it is
+used to describe a curve to be rendered.
+Positional, texture, and color coordinates are associated
+by presenting each as a separate _cmnd between a
+_cmnd(BeginCurve)/_cmnd(EndCurve) pair. No more than
+one call to _cmnd for each of color, position, and texture
+data can be made within a single _cmnd(BeginCurve)/_cmnd(EndCurve)
+pair. Exactly one call must be made to describe the position of the
+curve (a _param7 of _const(MAP1_VERTEX_3) or _const(MAP1_VERTEX_4)).
+.P
+When _cmnd appears between a _cmnd(BeginTrim)/_cmnd(EndTrim) pair, it is
+used to describe a trimming curve on a NURBS surface. If _param7 is
+_gluconst(MAP1_TRIM_2), then it describes a curve in two-dimensional (\f2u\fP
+and \f2v\fP)
+parameter space. If it is _gluconst(MAP1_TRIM_3), then it describes a
+curve in two-dimensional homogeneous (\f2u\fP, \f2v\fP, and \f2w\fP)
+parameter space.
+See the _cmnd(BeginTrim) reference page for more discussion about trimming
+curves.
+.SH EXAMPLE
+The following commands render a textured NURBS curve with normals:
+.sp
+.Ex
+gluBeginCurve(nobj);
+ gluNurbsCurve(nobj, ..., GL_MAP1_TEXTURE_COORD_2);
+ gluNurbsCurve(nobj, ..., GL_MAP1_NORMAL);
+ gluNurbsCurve(nobj, ..., GL_MAP1_VERTEX_4);
+gluEndCurve(nobj);
+.Ee
+.sp
+.SH NOTES
+To define trim curves which stitch well, use _cmnd(PwlCurve).
+.SH SEE ALSO
+_cmnd(BeginCurve), _cmnd(BeginTrim), _cmnd(NewNurbsRenderer), _cmnd(PwlCurve)
+
diff --git a/xc/extras/ogl-sample/main/doc/man/manglu/standard/nurbsproperty.gl b/xc/extras/ogl-sample/main/doc/man/manglu/standard/nurbsproperty.gl
new file mode 100755
index 000000000..4cf6ae77d
--- /dev/null
+++ b/xc/extras/ogl-sample/main/doc/man/manglu/standard/nurbsproperty.gl
@@ -0,0 +1,215 @@
+_C_ License Applicability. Except to the extent portions of this file are
+_C_ made subject to an alternative license as permitted in the SGI Free
+_C_ Software License B, Version 1.1 (the "License"), the contents of this
+_C_ file are subject only to the provisions of the License. You may not use
+_C_ this file except in compliance with the License. You may obtain a copy
+_C_ of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
+_C_ Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
+_C_
+_C_ http://oss.sgi.com/projects/FreeB
+_C_
+_C_ Note that, as provided in the License, the Software is distributed on an
+_C_ "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
+_C_ DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
+_C_ CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
+_C_ PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
+_C_
+_C_ Original Code. The Original Code is: OpenGL Sample Implementation,
+_C_ Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
+_C_ Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
+_C_ Copyright in any portions created by third parties is as indicated
+_C_ elsewhere herein. All Rights Reserved.
+_C_
+_C_ Additional Notice Provisions: The application programming interfaces
+_C_ established by SGI in conjunction with the Original Code are The
+_C_ OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
+_C_ April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
+_C_ 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
+_C_ Window System(R) (Version 1.3), released October 19, 1998. This software
+_C_ was created using the OpenGL(R) version 1.2.1 Sample Implementation
+_C_ published by SGI, but has not been independently verified as being
+_C_ compliant with the OpenGL(R) version 1.2.1 Specification.
+_C_
+_C_ $Date: 2001/03/19 17:45:27 $ $Revision: 1.1.1.1 $
+_C_ The first character in this file must be an '_'!
+_C_ Anything on a line after _C_ is ignored
+_define(_filters,eqn)_C_
+_C_ eqn is automatically replaced with neqn for nroff
+_header(NurbsProperty, set a NURBS property)
+_names(NurbsProperty)
+.EQ
+delim $$
+.EN
+.SH PARAMETERS
+_phead(_param1)
+Specifies the NURBS object (created with _cmnd(NewNurbsRenderer)).
+_phead(_param2)
+Specifies the property to be set. Valid values are
+_gluconst(SAMPLING_TOLERANCE),
+_gluconst(DISPLAY_MODE),
+_gluconst(CULLING),
+_gluconst(AUTO_LOAD_MATRIX),
+_gluconst(PARAMETRIC_TOLERANCE),
+_gluconst(SAMPLING_METHOD),
+_gluconst(U_STEP),
+_gluconst(V_STEP), or
+_gluconst(NURBS_MODE).
+_phead(_param3)
+Specifies the value of the indicated property.
+It may be a numeric value, or one of
+_gluconst(OUTLINE_POLYGON),
+_gluconst(FILL),
+_gluconst(OUTLINE_PATCH),
+_const(TRUE),
+_const(FALSE),
+_gluconst(PATH_LENGTH),
+_gluconst(PARAMETRIC_ERROR),
+_gluconst(DOMAIN_DISTANCE),
+_gluconst(NURBS_RENDERER), or
+_gluconst(NURBS_TESSELLATOR).
+.SH DESCRIPTION
+_cmnd is used to control properties stored in a NURBS object. These
+properties affect the way that a NURBS curve is rendered. The accepted
+values for _param2 are as follows:
+.TP 15
+_gluconst(NURBS_MODE)
+_param3 should be set to be either _gluconst(NURBS_RENDERER) or
+_gluconst(NURBS_TESSELLATOR). When set to _gluconst(NURBS_RENDERER), NURBS objects
+are tessellated into OpenGL primitives and sent to the pipeline for
+rendering. When set to _gluconst(NURBS_TESSELLATOR), NURBS objects are
+tessellated into OpenGL primitives but the vertices, normals, colors, and/or textures are
+retrieved back through a callback interface (see _cmnd(NurbsCallback)). This allows the user to cache the
+tessellated results for further processing.
+The initial value is _gluconst(NURBS_RENDERER).
+.TP
+_gluconst(SAMPLING_METHOD)
+Specifies how a NURBS surface should be
+tessellated.
+_param3 may be one of _gluconst(PATH_LENGTH),
+_gluconst(PARAMETRIC_ERROR), _gluconst(DOMAIN_DISTANCE),
+_gluconst(OBJECT_PATH_LENGTH), or
+_gluconst(OBJECT_PARAMETRIC_ERROR).
+When set to _gluconst(PATH_LENGTH), the surface is rendered so that
+the maximum length, in
+pixels, of the edges of the tessellation polygons is no greater than
+what is specified by _gluconst(SAMPLING_TOLERANCE).
+.IP
+_gluconst(PARAMETRIC_ERROR) specifies that the surface is rendered in such a
+way that the value specified by _gluconst(PARAMETRIC_TOLERANCE) describes the
+maximum distance, in pixels, between the tessellation polygons and the
+surfaces they approximate.
+.IP
+_gluconst(DOMAIN_DISTANCE) allows users to specify, in parametric coordinates,
+how many sample points per unit length are taken in \f2u\fP, \f2v\fP
+direction.
+.IP
+_gluconst(OBJECT_PATH_LENGTH) is similar to _gluconst(PATH_LENGTH)
+except that it is view independent, that is, the surface is rendered so that the maximum length, in object space, of edges of the tessellation polygons is no greater than what is specified by _gluconst(SAMPLING_TOLERANCE).
+.IP
+_gluconst(OBJECT_PARAMETRIC_ERROR) is similar to _gluconst(PARAMETRIC_ERROR) except that it is view independent, that is, the surface is rendered in such a way that the value specified by _gluconst(PARAMETRIC_TOLERANCE) describes the maximum distance, in object space, between the tessellation polygons and the surfaces they approximate.
+.IP
+The initial value of _gluconst(SAMPLING_METHOD) is _gluconst(PATH_LENGTH).
+.TP
+_gluconst(SAMPLING_TOLERANCE)
+Specifies the maximum length, in pixels or in object space length unit,
+to use when the sampling method is set to _gluconst(PATH_LENGTH) or
+_gluconst(OBJECT_PATH_LENGTH).
+The NURBS code is conservative when rendering a curve
+or surface, so the actual length can be somewhat shorter. The initial
+value is 50.0 pixels.
+.TP
+_gluconst(PARAMETRIC_TOLERANCE)
+Specifies the maximum distance, in pixels or in object space length unit,
+to use when the sampling method is _gluconst(PARAMETRIC_ERROR) or
+_gluconst(OBJECT_PARAMETRIC_ERROR).
+The initial value is 0.5.
+.TP
+_gluconst(U_STEP)
+Specifies the number of sample points per unit length taken
+along the \f2u\fP axis in parametric coordinates. It is needed when
+_gluconst(SAMPLING_METHOD) is set to _gluconst(DOMAIN_DISTANCE).
+The initial value is 100.
+.TP
+_gluconst(V_STEP)
+Specifies the number of sample points per unit length taken
+along the \f2v\fP axis in parametric coordinate. It is needed when
+_gluconst(SAMPLING_METHOD) is set to _gluconst(DOMAIN_DISTANCE). The initial
+value is 100.
+.TP
+_gluconst(DISPLAY_MODE)
+_param3 can be set to
+_gluconst(OUTLINE_POLYGON), _gluconst(FILL), or
+_gluconst(OUTLINE_PATCH).
+When _gluconst(NURBS_MODE) is set to be _gluconst(NURBS_RENDERER),
+_param3 defines how a NURBS surface should be rendered.
+When _param3 is set to _gluconst(FILL), the surface is rendered as a
+set of polygons. When _param3 is set to
+_gluconst(OUTLINE_POLYGON), the NURBS library draws only the outlines
+of the polygons created by tessellation. When _param3 is set to
+_gluconst(OUTLINE_PATCH) just the outlines of patches and trim
+curves defined by the user are drawn.
+.IP
+When _gluconst(NURBS_MODE) is set to be _gluconst(NURBS_TESSELLATOR),
+_param3 defines how a NURBS surface should be tessellated.
+When _gluconst(DISPLAY_MODE) is set to _gluconst(FILL) or
+_gluconst(OUTLINE_POLYGON),
+the NURBS surface is tessellated into OpenGL triangle primitives which can be
+retrieved back through callback functions. If _gluconst(DISPLAY_MODE) is set to
+_gluconst(OUTLINE_PATCH), only the outlines of the patches and trim curves are generated as a sequence of line strips which can be retrieved back through callback functions.
+.IP
+The initial value is _gluconst(FILL).
+.TP
+_gluconst(CULLING)
+_param3 is a boolean value that, when set to _const(TRUE), indicates that
+a NURBS curve should be discarded prior to tessellation if its control points
+lie outside the current viewport. The initial value is _const(FALSE).
+.TP
+_gluconst(AUTO_LOAD_MATRIX)
+_param3 is a boolean value. When set to _const(TRUE), the NURBS code
+downloads the projection matrix, the modelview matrix, and the
+viewport from the GL server to compute sampling and
+culling
+matrices for each NURBS curve that is rendered. Sampling and culling matrices
+are required to determine the tessellation of a NURBS surface into line segments
+or polygons and to cull a NURBS surface if it lies outside the viewport.
+.IP
+If this mode is set to _const(FALSE), then the program needs
+to provide a projection matrix, a modelview matrix, and a viewport
+for the NURBS renderer to use to construct sampling and culling matrices.
+This can be done with the _cmnd(LoadSamplingMatrices) function.
+This mode is initially set to _const(TRUE).
+Changing it from _const(TRUE) to _const(FALSE) does not affect
+the sampling and culling matrices until
+_cmnd(LoadSamplingMatrices)
+is called.
+.SH NOTES
+If _gluconst(AUTO_LOAD_MATRIX) is true, sampling and culling may be
+executed incorrectly if NURBS routines are compiled into a display list.
+.P
+A _param2 of
+_gluconst(PARAMETRIC_TOLERANCE),
+_gluconst(SAMPLING_METHOD),
+_gluconst(U_STEP), or
+_gluconst(V_STEP),
+or a _param3 of
+_gluconst(PATH_LENGTH),
+_gluconst(PARAMETRIC_ERROR),
+_gluconst(DOMAIN_DISTANCE)
+are only available if the GLU version is 1.1 or greater. They are not
+valid parameters in GLU 1.0.
+.P
+_cmnd(GetString) can
+be used to determine the GLU version.
+.P
+_gluconst(NURBS_MODE) is only availble if the GLU version is 1.3 or
+greater.
+.P
+The _gluconst(OBJECT_PATH_LENGTH) and _gluconst(OBJECT_PARAMETRIC_ERROR)
+values for the _gluconst(SAMPLING_METHOD) property are only available if
+the GLU version is 1.3 or greater.
+.SH SEE ALSO
+_cmnd(GetNurbsProperty),
+_cmnd(LoadSamplingMatrices),
+_cmnd(NewNurbsRenderer),
+_cmnd(GetString),
+_cmnd(NurbsCallback)
diff --git a/xc/extras/ogl-sample/main/doc/man/manglu/standard/nurbssurface.gl b/xc/extras/ogl-sample/main/doc/man/manglu/standard/nurbssurface.gl
new file mode 100755
index 000000000..fdf926c1a
--- /dev/null
+++ b/xc/extras/ogl-sample/main/doc/man/manglu/standard/nurbssurface.gl
@@ -0,0 +1,121 @@
+_C_ License Applicability. Except to the extent portions of this file are
+_C_ made subject to an alternative license as permitted in the SGI Free
+_C_ Software License B, Version 1.1 (the "License"), the contents of this
+_C_ file are subject only to the provisions of the License. You may not use
+_C_ this file except in compliance with the License. You may obtain a copy
+_C_ of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
+_C_ Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
+_C_
+_C_ http://oss.sgi.com/projects/FreeB
+_C_
+_C_ Note that, as provided in the License, the Software is distributed on an
+_C_ "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
+_C_ DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
+_C_ CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
+_C_ PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
+_C_
+_C_ Original Code. The Original Code is: OpenGL Sample Implementation,
+_C_ Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
+_C_ Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
+_C_ Copyright in any portions created by third parties is as indicated
+_C_ elsewhere herein. All Rights Reserved.
+_C_
+_C_ Additional Notice Provisions: The application programming interfaces
+_C_ established by SGI in conjunction with the Original Code are The
+_C_ OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
+_C_ April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
+_C_ 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
+_C_ Window System(R) (Version 1.3), released October 19, 1998. This software
+_C_ was created using the OpenGL(R) version 1.2.1 Sample Implementation
+_C_ published by SGI, but has not been independently verified as being
+_C_ compliant with the OpenGL(R) version 1.2.1 Specification.
+_C_
+_C_ $Date: 2001/03/19 17:45:27 $ $Revision: 1.1.1.1 $
+_C_ The first character in this file must be an '_'!
+_C_ Anything on a line after _C_ is ignored
+_define(_filters,eqn)_C_
+_C_ eqn is automatically replaced with neqn for nroff
+_header(NurbsSurface, define the shape of a NURBS surface)
+_names(NurbsSurface)
+.EQ
+delim $$
+.EN
+.SH PARAMETERS
+_phead(_param1)
+Specifies the NURBS object (created with _cmnd(NewNurbsRenderer)).
+_phead(_param2)
+Specifies the number of knots in the parametric \f2u\fP direction.
+_phead(_param3)
+Specifies an array of _param2 nondecreasing knot values in the parametric
+\f2u\fP direction.
+_phead(_param4)
+Specifies the number of knots in the parametric \f2v\fP direction.
+_phead(_param5)
+Specifies an array of _param4 nondecreasing knot values in the parametric
+\f2v\fP direction.
+_phead(_param6)
+Specifies the offset (as a number of single-precision floating point values)
+between successive control points in the parametric \f2u\fP direction
+in _param8.
+_phead(_param7)
+Specifies the offset (in single-precision floating-point values)
+between successive control points in the parametric \f2v\fP direction
+in _param8.
+_phead(_param8)
+Specifies an array containing control points for the NURBS surface.
+The offsets between successive control points in the parametric \f2u\fP
+and \f2v\fP directions are given by _param6 and _param7.
+_phead(_param9)
+Specifies the order of the NURBS surface in the parametric \f2u\fP
+direction. The order is one more than the degree, hence
+a surface that is cubic in \f2u\fP has a \f2u\fP order of 4.
+_phead(_param10)
+Specifies the order of the NURBS surface in the parametric \f2v\fP
+direction. The order is one more than the degree, hence
+a surface that is cubic in \f2v\fP has a \f2v\fP order of 4.
+_phead(_param11)
+Specifies type of the surface. _param11 can be any of the valid
+two-dimensional evaluator types (such as _const(MAP2_VERTEX_3) or
+_const(MAP2_COLOR_4)).
+.SH DESCRIPTION
+Use _cmnd within a NURBS (Non-Uniform Rational B-Spline) surface
+definition to describe the shape of a NURBS surface (before
+any trimming). To mark the beginning of
+a NURBS surface definition, use the _cmnd(BeginSurface) command.
+To mark the end of a NURBS surface definition, use the
+_cmnd(EndSurface) command. Call _cmnd within a NURBS
+surface definition only.
+.P
+Positional, texture, and color coordinates are associated
+with a surface by presenting each as a separate _cmnd between a
+_cmnd(BeginSurface)/_cmnd(EndSurface) pair. No more than
+one call to _cmnd for each of color, position, and texture
+data can be made within a single _cmnd(BeginSurface)/_cmnd(EndSurface)
+pair. Exactly one call must be made to describe the position of the
+surface (a _param11 of _const(MAP2_VERTEX_3) or _const(MAP2_VERTEX_4)).
+.P
+A NURBS surface can be trimmed by using the commands
+_cmnd(NurbsCurve) and _cmnd(PwlCurve) between calls to
+_cmnd(BeginTrim) and _cmnd(EndTrim).
+.P
+Note that a _cmnd with _param2 knots in the \f2u\fP direction
+and _param4 knots in the \f2v\fP direction with orders
+_param9 and _param10 must have
+(_param2 - _param9) $times$ (_param4 - _param10) control points.
+.SH EXAMPLE
+The following commands render a textured NURBS surface with normals;
+the texture coordinates and normals are also NURBS surfaces:
+.sp
+.Ex
+gluBeginSurface(nobj);
+ gluNurbsSurface(nobj, ..., GL_MAP2_TEXTURE_COORD_2);
+ gluNurbsSurface(nobj, ..., GL_MAP2_NORMAL);
+ gluNurbsSurface(nobj, ..., GL_MAP2_VERTEX_4);
+gluEndSurface(nobj);
+.Ee
+.sp
+.SH SEE ALSO
+_cmnd(BeginSurface), _cmnd(BeginTrim), _cmnd(NewNurbsRenderer),
+_cmnd(NurbsCurve),
+_cmnd(PwlCurve)
+
diff --git a/xc/extras/ogl-sample/main/doc/man/manglu/standard/ortho2d.gl b/xc/extras/ogl-sample/main/doc/man/manglu/standard/ortho2d.gl
new file mode 100755
index 000000000..549f83b7c
--- /dev/null
+++ b/xc/extras/ogl-sample/main/doc/man/manglu/standard/ortho2d.gl
@@ -0,0 +1,54 @@
+_C_ License Applicability. Except to the extent portions of this file are
+_C_ made subject to an alternative license as permitted in the SGI Free
+_C_ Software License B, Version 1.1 (the "License"), the contents of this
+_C_ file are subject only to the provisions of the License. You may not use
+_C_ this file except in compliance with the License. You may obtain a copy
+_C_ of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
+_C_ Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
+_C_
+_C_ http://oss.sgi.com/projects/FreeB
+_C_
+_C_ Note that, as provided in the License, the Software is distributed on an
+_C_ "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
+_C_ DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
+_C_ CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
+_C_ PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
+_C_
+_C_ Original Code. The Original Code is: OpenGL Sample Implementation,
+_C_ Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
+_C_ Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
+_C_ Copyright in any portions created by third parties is as indicated
+_C_ elsewhere herein. All Rights Reserved.
+_C_
+_C_ Additional Notice Provisions: The application programming interfaces
+_C_ established by SGI in conjunction with the Original Code are The
+_C_ OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
+_C_ April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
+_C_ 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
+_C_ Window System(R) (Version 1.3), released October 19, 1998. This software
+_C_ was created using the OpenGL(R) version 1.2.1 Sample Implementation
+_C_ published by SGI, but has not been independently verified as being
+_C_ compliant with the OpenGL(R) version 1.2.1 Specification.
+_C_
+_C_ $Date: 2001/03/19 17:45:27 $ $Revision: 1.1.1.1 $
+_C_ The first character in this file must be an '_'!
+_C_ Anything on a line after _C_ is ignored
+_define(_filters,eqn)_C_
+_C_ eqn is automatically replaced with neqn for nroff
+_header(Ortho2D, define a 2D orthographic projection matrix)
+_names(Ortho2D)
+.EQ
+delim $$
+.EN
+.SH PARAMETERS
+_phead(_param1 _param2)
+Specify the coordinates for the left and right vertical clipping planes.
+_phead(_param3 _param4)
+Specify the coordinates for the bottom and top horizontal clipping planes.
+.SH DESCRIPTION
+_cmnd sets up a two-dimensional orthographic viewing region.
+This is equivalent to calling _glcmnd(Ortho) with $ near ~=~ -1 $ and
+$ far ~=~ 1 $.
+.SH SEE ALSO
+_glcmnd(Ortho), _cmnd(Perspective)
+
diff --git a/xc/extras/ogl-sample/main/doc/man/manglu/standard/partialdisk.gl b/xc/extras/ogl-sample/main/doc/man/manglu/standard/partialdisk.gl
new file mode 100755
index 000000000..4e8bffb0c
--- /dev/null
+++ b/xc/extras/ogl-sample/main/doc/man/manglu/standard/partialdisk.gl
@@ -0,0 +1,92 @@
+_C_ License Applicability. Except to the extent portions of this file are
+_C_ made subject to an alternative license as permitted in the SGI Free
+_C_ Software License B, Version 1.1 (the "License"), the contents of this
+_C_ file are subject only to the provisions of the License. You may not use
+_C_ this file except in compliance with the License. You may obtain a copy
+_C_ of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
+_C_ Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
+_C_
+_C_ http://oss.sgi.com/projects/FreeB
+_C_
+_C_ Note that, as provided in the License, the Software is distributed on an
+_C_ "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
+_C_ DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
+_C_ CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
+_C_ PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
+_C_
+_C_ Original Code. The Original Code is: OpenGL Sample Implementation,
+_C_ Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
+_C_ Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
+_C_ Copyright in any portions created by third parties is as indicated
+_C_ elsewhere herein. All Rights Reserved.
+_C_
+_C_ Additional Notice Provisions: The application programming interfaces
+_C_ established by SGI in conjunction with the Original Code are The
+_C_ OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
+_C_ April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
+_C_ 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
+_C_ Window System(R) (Version 1.3), released October 19, 1998. This software
+_C_ was created using the OpenGL(R) version 1.2.1 Sample Implementation
+_C_ published by SGI, but has not been independently verified as being
+_C_ compliant with the OpenGL(R) version 1.2.1 Specification.
+_C_
+_C_ $Date: 2001/03/19 17:45:27 $ $Revision: 1.1.1.1 $
+_C_ The first character in this file must be an '_'!
+_C_ Anything on a line after _C_ is ignored
+_define(_filters,eqn)_C_
+_C_ eqn is automatically replaced with neqn for nroff
+_header(PartialDisk, draw an arc of a disk)
+_names(PartialDisk)
+.EQ
+delim $$
+.EN
+.SH PARAMETERS
+_phead(_param1)
+Specifies a quadrics object (created with _cmnd(NewQuadric)).
+_phead(_param2)
+Specifies the inner radius of the partial disk (can be 0).
+_phead(_param3)
+Specifies the outer radius of the partial disk.
+_phead(_param4)
+Specifies the number of subdivisions around the \f2z\fP axis.
+_phead(_param5)
+Specifies the number of concentric rings about the origin into which
+the partial disk is subdivided.
+_phead(_param6)
+Specifies the starting angle, in degrees, of the disk portion.
+_phead(_param7)
+Specifies the sweep angle, in degrees, of the disk portion.
+.SH DESCRIPTION
+_cmnd renders a partial disk on the $ z ~=~ 0 $ plane. A partial disk is
+similar to a full disk, except that only the subset of the disk from
+_param6 through _param6 + _param7 is included (where 0 degrees is along the
++\f2y\f axis,
+90 degrees along the +\f2x\fP axis, 180 degrees along the \-\f2y\fP axis, and
+270 degrees along the \-\f2x\fP axis).
+.P
+The partial disk has a radius of
+_param3, and contains a concentric circular hole with a radius
+of _param2. If _param2 is 0, then no hole is generated. The partial disk is
+subdivided around the \f2z\fP axis into slices (like pizza slices), and also
+about the \f2z\fP axis into rings
+(as specified by _param4 and _param5, respectively).
+.P
+With respect to orientation, the +\f2z\fP
+side of the partial disk is considered to
+be outside (see _cmnd(QuadricOrientation)).
+This means that if the
+orientation is set to _gluconst(OUTSIDE), then any normals generated
+point along the +\f2z\fP axis. Otherwise, they point along the \-\f2z\fP
+axis.
+.P
+If texturing is turned on (with _cmnd(QuadricTexture)), texture
+coordinates are generated
+linearly such that where $ r ~=~ _eqnparam3 $, the value at (\f2r\fP, 0, 0) is
+(1.0, 0.5), at (0, \f2r\fP, 0) it is (0.5, 1.0), at (\-\f2r\fP, 0, 0)
+it is (0.0, 0.5), and
+at (0, \-\f2r\fP, 0) it is (0.5, 0.0).
+.SH SEE ALSO
+_cmnd(Cylinder), _cmnd(Disk), _cmnd(NewQuadric), _cmnd(QuadricOrientation),
+_cmnd(QuadricTexture),
+_cmnd(Sphere)
+
diff --git a/xc/extras/ogl-sample/main/doc/man/manglu/standard/perspective.gl b/xc/extras/ogl-sample/main/doc/man/manglu/standard/perspective.gl
new file mode 100755
index 000000000..69e0c740a
--- /dev/null
+++ b/xc/extras/ogl-sample/main/doc/man/manglu/standard/perspective.gl
@@ -0,0 +1,106 @@
+_C_ License Applicability. Except to the extent portions of this file are
+_C_ made subject to an alternative license as permitted in the SGI Free
+_C_ Software License B, Version 1.1 (the "License"), the contents of this
+_C_ file are subject only to the provisions of the License. You may not use
+_C_ this file except in compliance with the License. You may obtain a copy
+_C_ of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
+_C_ Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
+_C_
+_C_ http://oss.sgi.com/projects/FreeB
+_C_
+_C_ Note that, as provided in the License, the Software is distributed on an
+_C_ "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
+_C_ DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
+_C_ CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
+_C_ PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
+_C_
+_C_ Original Code. The Original Code is: OpenGL Sample Implementation,
+_C_ Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
+_C_ Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
+_C_ Copyright in any portions created by third parties is as indicated
+_C_ elsewhere herein. All Rights Reserved.
+_C_
+_C_ Additional Notice Provisions: The application programming interfaces
+_C_ established by SGI in conjunction with the Original Code are The
+_C_ OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
+_C_ April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
+_C_ 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
+_C_ Window System(R) (Version 1.3), released October 19, 1998. This software
+_C_ was created using the OpenGL(R) version 1.2.1 Sample Implementation
+_C_ published by SGI, but has not been independently verified as being
+_C_ compliant with the OpenGL(R) version 1.2.1 Specification.
+_C_
+_C_ $Date: 2001/03/19 17:45:27 $ $Revision: 1.1.1.1 $
+_C_ The first character in this file must be an '_'!
+_C_ Anything on a line after _C_ is ignored
+_define(_filters,eqn)_C_
+_C_ eqn is automatically replaced with neqn for nroff
+_header(Perspective, set up a perspective projection matrix)
+_names(Perspective)
+.EQ
+delim $$
+.EN
+.SH PARAMETERS
+_phead(_param1)
+Specifies the field of view angle, in degrees, in the \f2y\fP direction.
+_phead(_param2)
+Specifies the aspect ratio that determines
+the field of view in the \f2x\fP direction.
+The aspect ratio is the ratio of \f2x\fP (width) to \f2y\fP (height).
+_phead(_param3)
+Specifies the distance from the viewer to the near clipping plane
+(always positive).
+_phead(_param4)
+Specifies the distance from the viewer to the far clipping plane
+(always positive).
+.SH DESCRIPTION
+_cmnd specifies a viewing frustum into the world coordinate system.
+In general, the aspect ratio in _cmnd should match the aspect ratio
+of the associated viewport. For example, $ _eqnparam2 ~=~ 2.0 $ means
+the viewer's
+angle of view is twice as wide in \f2x\fP as it is in \f2y\fP.
+If the viewport is
+twice as wide as it is tall, it displays the image without distortion.
+.P
+The matrix generated by _cmnd is multipled by the current matrix,
+just as if _glcmnd(MultMatrix) were called with the generated matrix.
+To load the perspective matrix onto the current matrix stack instead,
+precede the call to _cmnd with a call to _glcmnd(LoadIdentity).
+.P
+Given \f2f\fP defined as follows:
+.sp
+.ce
+.EQ
+f ~=~ cotangent"("{_eqnparam1 over 2}")"
+.EN
+.bp
+The generated matrix is
+.sp
+.ce
+.EQ
+left ( ~~ down 130 { matrix {
+ ccol { {f over _eqnparam2} above 0 above 0 above 0 }
+ ccol { 0 above f above 0 above 0 }
+ ccol { 0 above 0 above {{_eqnparam4 + _eqnparam3} over {_eqnparam3 - _eqnparam4}} above -1 }
+ ccol { 0 above 0 above {{2 * _eqnparam4 * _eqnparam3} over {_eqnparam3 - _eqnparam4}} above 0}
+}} ~~~ right )
+.EN
+
+.SH NOTES
+Depth buffer precision is affected by the values specified for
+_param3 and _param4.
+The greater the ratio of _param4 to _param3 is,
+the less effective the depth buffer will be at distinguishing between
+surfaces that are near each other.
+If
+.sp
+.ce
+$r ~=~ _eqnparam4 over _eqnparam3$
+.sp
+.P
+roughly $log sub 2 r$ bits of depth buffer precision are lost.
+Because $r$ approaches infinity as _param3 approaches 0,
+_param3 must never be set to 0.
+.SH SEE ALSO
+_glcmnd(Frustum), _glcmnd(LoadIdentity),
+_glcmnd(MultMatrix), _cmnd(Ortho2D)
diff --git a/xc/extras/ogl-sample/main/doc/man/manglu/standard/pickmatrix.gl b/xc/extras/ogl-sample/main/doc/man/manglu/standard/pickmatrix.gl
new file mode 100755
index 000000000..1f28b9e89
--- /dev/null
+++ b/xc/extras/ogl-sample/main/doc/man/manglu/standard/pickmatrix.gl
@@ -0,0 +1,105 @@
+_C_ License Applicability. Except to the extent portions of this file are
+_C_ made subject to an alternative license as permitted in the SGI Free
+_C_ Software License B, Version 1.1 (the "License"), the contents of this
+_C_ file are subject only to the provisions of the License. You may not use
+_C_ this file except in compliance with the License. You may obtain a copy
+_C_ of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
+_C_ Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
+_C_
+_C_ http://oss.sgi.com/projects/FreeB
+_C_
+_C_ Note that, as provided in the License, the Software is distributed on an
+_C_ "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
+_C_ DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
+_C_ CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
+_C_ PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
+_C_
+_C_ Original Code. The Original Code is: OpenGL Sample Implementation,
+_C_ Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
+_C_ Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
+_C_ Copyright in any portions created by third parties is as indicated
+_C_ elsewhere herein. All Rights Reserved.
+_C_
+_C_ Additional Notice Provisions: The application programming interfaces
+_C_ established by SGI in conjunction with the Original Code are The
+_C_ OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
+_C_ April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
+_C_ 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
+_C_ Window System(R) (Version 1.3), released October 19, 1998. This software
+_C_ was created using the OpenGL(R) version 1.2.1 Sample Implementation
+_C_ published by SGI, but has not been independently verified as being
+_C_ compliant with the OpenGL(R) version 1.2.1 Specification.
+_C_
+_C_ $Date: 2001/03/19 17:45:27 $ $Revision: 1.1.1.1 $
+_C_ The first character in this file must be an '_'!
+_C_ Anything on a line after _C_ is ignored
+_define(_filters,eqn)_C_
+_C_ eqn is automatically replaced with neqn for nroff
+_header(PickMatrix, define a picking region)
+_names(PickMatrix)
+.EQ
+delim $$
+.EN
+.SH PARAMETERS
+_phead(_param1 _param2)
+Specify the center of a picking region in window coordinates.
+_phead(_param3 _param4)
+Specify the width and height, respectively, of the picking region in window
+coordinates.
+_phead(_param5)
+Specifies the current viewport (as from a _glcmnd(GetIntegerv) call).
+.SH DESCRIPTION
+_cmnd creates a projection matrix that can be used to restrict drawing
+to a small region of the viewport.
+This is typically useful to
+determine what objects are being drawn near the cursor.
+Use _cmnd to
+restrict drawing to a small region around the cursor.
+Then,
+enter selection mode (with _glcmnd(RenderMode)) and rerender the scene.
+All primitives that would have been drawn near
+the cursor are identified and stored in the selection buffer.
+.P
+The matrix created by _cmnd is multiplied by the current matrix just
+as if _glcmnd(MultMatrix) is called with the generated matrix.
+To effectively use the generated pick matrix for picking,
+first call _glcmnd(LoadIdentity) to load an identity matrix onto the
+perspective matrix stack.
+Then call _cmnd,
+and finally, call a command (such as _cmnd(Perspective))
+to multiply the perspective matrix by the pick matrix.
+.P
+When using _cmnd to pick NURBS, be careful to turn off the NURBS
+property
+_gluconst(AUTO_LOAD_MATRIX). If _gluconst(AUTO_LOAD_MATRIX) is not
+turned off, then any NURBS surface rendered is subdivided differently with
+the pick matrix than the way it was subdivided without the pick matrix.
+.bp
+.SH EXAMPLE
+When rendering a scene as follows:
+.sp
+.Ex
+glMatrixMode(GL_PROJECTION);
+glLoadIdentity();
+gluPerspective(...);
+glMatrixMode(GL_MODELVIEW);
+/* Draw the scene */
+.Ee
+.sp
+a portion of the viewport can be selected as a pick region like this:
+.sp
+.Ex
+glMatrixMode(GL_PROJECTION);
+glLoadIdentity();
+gluPickMatrix(x, y, width, height, viewport);
+gluPerspective(...);
+glMatrixMode(GL_MODELVIEW);
+/* Draw the scene */
+.Ee
+.SH SEE ALSO
+_glcmnd(Get),
+_glcmnd(LoadIndentity),
+_glcmnd(MultMatrix),
+_glcmnd(RenderMode),
+_cmnd(Perspective)
+
diff --git a/xc/extras/ogl-sample/main/doc/man/manglu/standard/project.gl b/xc/extras/ogl-sample/main/doc/man/manglu/standard/project.gl
new file mode 100755
index 000000000..84895c318
--- /dev/null
+++ b/xc/extras/ogl-sample/main/doc/man/manglu/standard/project.gl
@@ -0,0 +1,91 @@
+_C_ License Applicability. Except to the extent portions of this file are
+_C_ made subject to an alternative license as permitted in the SGI Free
+_C_ Software License B, Version 1.1 (the "License"), the contents of this
+_C_ file are subject only to the provisions of the License. You may not use
+_C_ this file except in compliance with the License. You may obtain a copy
+_C_ of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
+_C_ Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
+_C_
+_C_ http://oss.sgi.com/projects/FreeB
+_C_
+_C_ Note that, as provided in the License, the Software is distributed on an
+_C_ "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
+_C_ DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
+_C_ CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
+_C_ PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
+_C_
+_C_ Original Code. The Original Code is: OpenGL Sample Implementation,
+_C_ Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
+_C_ Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
+_C_ Copyright in any portions created by third parties is as indicated
+_C_ elsewhere herein. All Rights Reserved.
+_C_
+_C_ Additional Notice Provisions: The application programming interfaces
+_C_ established by SGI in conjunction with the Original Code are The
+_C_ OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
+_C_ April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
+_C_ 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
+_C_ Window System(R) (Version 1.3), released October 19, 1998. This software
+_C_ was created using the OpenGL(R) version 1.2.1 Sample Implementation
+_C_ published by SGI, but has not been independently verified as being
+_C_ compliant with the OpenGL(R) version 1.2.1 Specification.
+_C_
+_C_ $Date: 2001/03/19 17:45:27 $ $Revision: 1.1.1.1 $
+_C_ The first character in this file must be an '_'!
+_C_ Anything on a line after _C_ is ignored
+_define(_filters,eqn)_C_
+_C_ eqn is automatically replaced with neqn for nroff
+_header(Project, map object coordinates to window coordinates)
+_names(Project)
+.EQ
+delim $$
+.EN
+.SH PARAMETERS
+_phead(_param1 _param2 _param3)
+Specify the object coordinates.
+_phead(_param4)
+Specifies the current modelview matrix (as from a _glcmnd(GetDoublev) call).
+_phead(_param5)
+Specifies the current projection matrix (as from a _glcmnd(GetDoublev) call).
+_phead(_param6)
+Specifies the current viewport (as from a _glcmnd(GetIntegerv) call).
+_phead(_param7 _param8 _param9)
+Return the computed window coordinates.
+.SH DESCRIPTION
+_cmnd transforms the specified object coordinates into window coordinates
+using _param4, _param5, and _param6. The result is stored
+in _param7, _param8, and _param9. A return value of
+_const(TRUE) indicates success, a return value of _const(FALSE)
+indicates failure.
+.P
+To compute the coordinates,
+let $v ~=~ (_eqnparam1, _eqnparam2, _eqnparam3, 1.0)$
+represented as a matrix with 4 rows and 1 column.
+Then _cmnd computes $v sup prime$
+as follows:
+.sp
+.EQ
+v sup prime ~=~ P ~times~ M ~times~ v
+.EN
+.sp
+where $P$ is the current projection matrix _param5, $M$ is the current
+modelview matrix _param4 (both represented as
+$4 times 4$ matrices in column-major order) and '$times$' represents
+matrix multiplication.
+.P
+The window coordinates are then computed as follows:
+.sp
+.EQ
+_eqnparam7 ~=~ _eqnparam6 (0) ~+~ _eqnparam6 (2) ~*~ (v sup prime (0) ~+~ 1)~/~2
+.EN
+.sp
+.EQ
+_eqnparam8 ~=~ _eqnparam6 (1) ~+~ _eqnparam6 (3)~*~(v sup prime (1) ~+~ 1)~/~2 .EN
+.sp
+.EQ
+_eqnparam9 ~=~ (v sup prime (2) ~+~ 1)~/~ 2
+.EN
+.sp
+.SH SEE ALSO
+_glcmnd(Get), _cmnd(UnProject)
+
diff --git a/xc/extras/ogl-sample/main/doc/man/manglu/standard/pwlcurve.gl b/xc/extras/ogl-sample/main/doc/man/manglu/standard/pwlcurve.gl
new file mode 100755
index 000000000..a200a007e
--- /dev/null
+++ b/xc/extras/ogl-sample/main/doc/man/manglu/standard/pwlcurve.gl
@@ -0,0 +1,78 @@
+_C_ License Applicability. Except to the extent portions of this file are
+_C_ made subject to an alternative license as permitted in the SGI Free
+_C_ Software License B, Version 1.1 (the "License"), the contents of this
+_C_ file are subject only to the provisions of the License. You may not use
+_C_ this file except in compliance with the License. You may obtain a copy
+_C_ of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
+_C_ Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
+_C_
+_C_ http://oss.sgi.com/projects/FreeB
+_C_
+_C_ Note that, as provided in the License, the Software is distributed on an
+_C_ "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
+_C_ DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
+_C_ CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
+_C_ PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
+_C_
+_C_ Original Code. The Original Code is: OpenGL Sample Implementation,
+_C_ Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
+_C_ Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
+_C_ Copyright in any portions created by third parties is as indicated
+_C_ elsewhere herein. All Rights Reserved.
+_C_
+_C_ Additional Notice Provisions: The application programming interfaces
+_C_ established by SGI in conjunction with the Original Code are The
+_C_ OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
+_C_ April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
+_C_ 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
+_C_ Window System(R) (Version 1.3), released October 19, 1998. This software
+_C_ was created using the OpenGL(R) version 1.2.1 Sample Implementation
+_C_ published by SGI, but has not been independently verified as being
+_C_ compliant with the OpenGL(R) version 1.2.1 Specification.
+_C_
+_C_ $Date: 2001/03/19 17:45:27 $ $Revision: 1.1.1.1 $
+_C_ The first character in this file must be an '_'!
+_C_ Anything on a line after _C_ is ignored
+_define(_filters,eqn)_C_
+_C_ eqn is automatically replaced with neqn for nroff
+_header(PwlCurve, describe a piecewise linear NURBS trimming curve)
+_names(PwlCurve)
+.EQ
+delim $$
+.EN
+.SH PARAMETERS
+_phead(_param1)
+Specifies the NURBS object (created with _cmnd(NewNurbsRenderer)).
+_phead(_param2)
+Specifies the number of points on the curve.
+_phead(_param3)
+Specifies an array containing the curve points.
+_phead(_param4)
+Specifies the offset (a number of single-precision floating-point values)
+between points on the curve.
+_phead(_param5)
+Specifies the type of curve.
+Must be either _gluconst(MAP1_TRIM_2) or _gluconst(MAP1_TRIM_3).
+.SH DESCRIPTION
+_cmnd describes a piecewise linear trimming curve for a NURBS surface.
+A piecewise linear curve consists of a list of
+coordinates of points in the parameter space for the
+NURBS surface to be trimmed. These points are connected
+with line segments to form a curve. If the curve is
+an approximation to a curve that is not piecewise linear,
+the points should be close enough in parameter space that the
+resulting path appears curved at the resolution used in the application.
+.P
+If _param5 is
+_gluconst(MAP1_TRIM_2), then it describes a curve in two-dimensional (\f2u\fP
+and \f2v\fP) parameter space. If it is _gluconst(MAP1_TRIM_3), then it
+describes a curve in two-dimensional homogeneous (\f2u\fP, \f2v\fP,
+and \f2w\fP) parameter space.
+See the _cmnd(BeginTrim) reference page for more information
+about trimming curves.
+.SH NOTES
+To describe a trim curve that closely follows the contours of a NURBS
+surface, call _cmnd(NurbsCurve).
+.SH SEE ALSO
+_cmnd(BeginCurve), _cmnd(BeginTrim), _cmnd(NewNurbsRenderer), _cmnd(NurbsCurve)
+
diff --git a/xc/extras/ogl-sample/main/doc/man/manglu/standard/quadriccallback.gl b/xc/extras/ogl-sample/main/doc/man/manglu/standard/quadriccallback.gl
new file mode 100755
index 000000000..e070a8005
--- /dev/null
+++ b/xc/extras/ogl-sample/main/doc/man/manglu/standard/quadriccallback.gl
@@ -0,0 +1,64 @@
+_C_ License Applicability. Except to the extent portions of this file are
+_C_ made subject to an alternative license as permitted in the SGI Free
+_C_ Software License B, Version 1.1 (the "License"), the contents of this
+_C_ file are subject only to the provisions of the License. You may not use
+_C_ this file except in compliance with the License. You may obtain a copy
+_C_ of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
+_C_ Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
+_C_
+_C_ http://oss.sgi.com/projects/FreeB
+_C_
+_C_ Note that, as provided in the License, the Software is distributed on an
+_C_ "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
+_C_ DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
+_C_ CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
+_C_ PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
+_C_
+_C_ Original Code. The Original Code is: OpenGL Sample Implementation,
+_C_ Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
+_C_ Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
+_C_ Copyright in any portions created by third parties is as indicated
+_C_ elsewhere herein. All Rights Reserved.
+_C_
+_C_ Additional Notice Provisions: The application programming interfaces
+_C_ established by SGI in conjunction with the Original Code are The
+_C_ OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
+_C_ April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
+_C_ 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
+_C_ Window System(R) (Version 1.3), released October 19, 1998. This software
+_C_ was created using the OpenGL(R) version 1.2.1 Sample Implementation
+_C_ published by SGI, but has not been independently verified as being
+_C_ compliant with the OpenGL(R) version 1.2.1 Specification.
+_C_
+_C_ $Date: 2001/03/19 17:45:27 $ $Revision: 1.1.1.1 $
+_C_ The first character in this file must be an '_'!
+_C_ Anything on a line after _C_ is ignored
+_define(_filters,eqn)_C_
+_C_ eqn is automatically replaced with neqn for nroff
+_header(QuadricCallback, define a callback for a quadrics object)
+_names(QuadricCallback)
+.EQ
+delim $$
+.EN
+.SH PARAMETERS
+_phead(_param1)
+Specifies the quadrics object (created with _cmnd(NewQuadric)).
+_phead(_param2)
+Specifies the callback being defined.
+The only valid value is _gluconst(ERROR).
+_phead(_param3)
+Specifies the function to be called.
+.SH DESCRIPTION
+_cmnd is used to define a new callback to be used by a quadrics object.
+If the specified callback is already defined, then it is replaced. If
+_param3 is NULL, then any existing callback is erased.
+.P
+The one legal callback is _gluconst(ERROR):
+.TP 15
+_gluconst(ERROR)
+The function is called when an error is encountered. Its single argument
+is of type GLenum, and it indicates the specific error that occurred.
+Character strings describing these errors can be retrieved with the
+_cmnd(ErrorString) call.
+.SH SEE ALSO
+_cmnd(ErrorString), _cmnd(NewQuadric)
diff --git a/xc/extras/ogl-sample/main/doc/man/manglu/standard/quadricdrawstyle.gl b/xc/extras/ogl-sample/main/doc/man/manglu/standard/quadricdrawstyle.gl
new file mode 100755
index 000000000..b4bdc4188
--- /dev/null
+++ b/xc/extras/ogl-sample/main/doc/man/manglu/standard/quadricdrawstyle.gl
@@ -0,0 +1,72 @@
+_C_ License Applicability. Except to the extent portions of this file are
+_C_ made subject to an alternative license as permitted in the SGI Free
+_C_ Software License B, Version 1.1 (the "License"), the contents of this
+_C_ file are subject only to the provisions of the License. You may not use
+_C_ this file except in compliance with the License. You may obtain a copy
+_C_ of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
+_C_ Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
+_C_
+_C_ http://oss.sgi.com/projects/FreeB
+_C_
+_C_ Note that, as provided in the License, the Software is distributed on an
+_C_ "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
+_C_ DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
+_C_ CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
+_C_ PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
+_C_
+_C_ Original Code. The Original Code is: OpenGL Sample Implementation,
+_C_ Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
+_C_ Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
+_C_ Copyright in any portions created by third parties is as indicated
+_C_ elsewhere herein. All Rights Reserved.
+_C_
+_C_ Additional Notice Provisions: The application programming interfaces
+_C_ established by SGI in conjunction with the Original Code are The
+_C_ OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
+_C_ April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
+_C_ 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
+_C_ Window System(R) (Version 1.3), released October 19, 1998. This software
+_C_ was created using the OpenGL(R) version 1.2.1 Sample Implementation
+_C_ published by SGI, but has not been independently verified as being
+_C_ compliant with the OpenGL(R) version 1.2.1 Specification.
+_C_
+_C_ $Date: 2001/03/19 17:45:27 $ $Revision: 1.1.1.1 $
+_C_ The first character in this file must be an '_'!
+_C_ Anything on a line after _C_ is ignored
+_define(_filters,eqn)_C_
+_C_ eqn is automatically replaced with neqn for nroff
+_header(QuadricDrawStyle, specify the draw style desired for quadrics)
+_names(QuadricDrawStyle)
+.EQ
+delim $$
+.EN
+.SH PARAMETERS
+_phead(_param1)
+Specifies the quadrics object (created with _cmnd(NewQuadric)).
+_phead(_param2)
+Specifies the desired draw style. Valid values are
+_gluconst(FILL),
+_gluconst(LINE),
+_gluconst(SILHOUETTE), and
+_gluconst(POINT).
+.SH DESCRIPTION
+_cmnd specifies the draw style for quadrics rendered with
+_param1. The legal values are as follows:
+.TP 15
+_gluconst(FILL)
+Quadrics are rendered with polygon primitives. The polygons
+are drawn in a counterclockwise fashion with respect to their
+normals (as defined with _cmnd(QuadricOrientation)).
+.TP
+_gluconst(LINE)
+Quadrics are rendered as a set of lines.
+.TP
+_gluconst(SILHOUETTE)
+Quadrics are rendered as a set of lines, except that edges separating
+coplanar faces will not be drawn.
+.TP
+_gluconst(POINT)
+Quadrics are rendered as a set of points.
+.SH SEE ALSO
+_cmnd(NewQuadric), _cmnd(QuadricNormals), _cmnd(QuadricOrientation),
+_cmnd(QuadricTexture)
diff --git a/xc/extras/ogl-sample/main/doc/man/manglu/standard/quadricnormals.gl b/xc/extras/ogl-sample/main/doc/man/manglu/standard/quadricnormals.gl
new file mode 100755
index 000000000..a538eef5c
--- /dev/null
+++ b/xc/extras/ogl-sample/main/doc/man/manglu/standard/quadricnormals.gl
@@ -0,0 +1,66 @@
+_C_ License Applicability. Except to the extent portions of this file are
+_C_ made subject to an alternative license as permitted in the SGI Free
+_C_ Software License B, Version 1.1 (the "License"), the contents of this
+_C_ file are subject only to the provisions of the License. You may not use
+_C_ this file except in compliance with the License. You may obtain a copy
+_C_ of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
+_C_ Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
+_C_
+_C_ http://oss.sgi.com/projects/FreeB
+_C_
+_C_ Note that, as provided in the License, the Software is distributed on an
+_C_ "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
+_C_ DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
+_C_ CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
+_C_ PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
+_C_
+_C_ Original Code. The Original Code is: OpenGL Sample Implementation,
+_C_ Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
+_C_ Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
+_C_ Copyright in any portions created by third parties is as indicated
+_C_ elsewhere herein. All Rights Reserved.
+_C_
+_C_ Additional Notice Provisions: The application programming interfaces
+_C_ established by SGI in conjunction with the Original Code are The
+_C_ OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
+_C_ April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
+_C_ 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
+_C_ Window System(R) (Version 1.3), released October 19, 1998. This software
+_C_ was created using the OpenGL(R) version 1.2.1 Sample Implementation
+_C_ published by SGI, but has not been independently verified as being
+_C_ compliant with the OpenGL(R) version 1.2.1 Specification.
+_C_
+_C_ $Date: 2001/03/19 17:45:27 $ $Revision: 1.1.1.1 $
+_C_ The first character in this file must be an '_'!
+_C_ Anything on a line after _C_ is ignored
+_define(_filters,eqn)_C_
+_C_ eqn is automatically replaced with neqn for nroff
+_header(QuadricNormals, specify what kind of normals are desired for quadrics)
+_names(QuadricNormals)
+.EQ
+delim $$
+.EN
+.SH PARAMETERS
+_phead(_param1)
+Specifes the quadrics object (created with _cmnd(NewQuadric)).
+_phead(_param2)
+Specifies the desired type of normals. Valid values are
+_gluconst(NONE),
+_gluconst(FLAT), and
+_gluconst(SMOOTH).
+.SH DESCRIPTION
+_cmnd specifies what kind of normals are desired for quadrics rendered with
+_param1. The legal values are as follows:
+.TP 15
+_gluconst(NONE)
+No normals are generated.
+.TP
+_gluconst(FLAT)
+One normal is generated for every facet of a quadric.
+.TP
+_gluconst(SMOOTH)
+One normal is generated for every vertex of a quadric. This is the
+initial value.
+.SH SEE ALSO
+_cmnd(NewQuadric), _cmnd(QuadricDrawStyle), _cmnd(QuadricOrientation),
+_cmnd(QuadricTexture)
diff --git a/xc/extras/ogl-sample/main/doc/man/manglu/standard/quadricorientation.gl b/xc/extras/ogl-sample/main/doc/man/manglu/standard/quadricorientation.gl
new file mode 100755
index 000000000..66af7d3d3
--- /dev/null
+++ b/xc/extras/ogl-sample/main/doc/man/manglu/standard/quadricorientation.gl
@@ -0,0 +1,64 @@
+_C_ License Applicability. Except to the extent portions of this file are
+_C_ made subject to an alternative license as permitted in the SGI Free
+_C_ Software License B, Version 1.1 (the "License"), the contents of this
+_C_ file are subject only to the provisions of the License. You may not use
+_C_ this file except in compliance with the License. You may obtain a copy
+_C_ of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
+_C_ Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
+_C_
+_C_ http://oss.sgi.com/projects/FreeB
+_C_
+_C_ Note that, as provided in the License, the Software is distributed on an
+_C_ "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
+_C_ DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
+_C_ CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
+_C_ PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
+_C_
+_C_ Original Code. The Original Code is: OpenGL Sample Implementation,
+_C_ Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
+_C_ Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
+_C_ Copyright in any portions created by third parties is as indicated
+_C_ elsewhere herein. All Rights Reserved.
+_C_
+_C_ Additional Notice Provisions: The application programming interfaces
+_C_ established by SGI in conjunction with the Original Code are The
+_C_ OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
+_C_ April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
+_C_ 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
+_C_ Window System(R) (Version 1.3), released October 19, 1998. This software
+_C_ was created using the OpenGL(R) version 1.2.1 Sample Implementation
+_C_ published by SGI, but has not been independently verified as being
+_C_ compliant with the OpenGL(R) version 1.2.1 Specification.
+_C_
+_C_ $Date: 2001/03/19 17:45:27 $ $Revision: 1.1.1.1 $
+_C_ The first character in this file must be an '_'!
+_C_ Anything on a line after _C_ is ignored
+_define(_filters,eqn)_C_
+_C_ eqn is automatically replaced with neqn for nroff
+_header(QuadricOrientation, specify inside/outside orientation for quadrics)
+_names(QuadricOrientation)
+.EQ
+delim $$
+.EN
+.SH PARAMETERS
+_phead(_param1)
+Specifies the quadrics object (created with _cmnd(NewQuadric)).
+_phead(_param2)
+Specifies the desired orientation. Valid values are
+_gluconst(OUTSIDE) and
+_gluconst(INSIDE).
+.SH DESCRIPTION
+_cmnd specifies what kind of orientation is desired for quadrics rendered
+with _param1. The _param2 values are as follows:
+.TP 15
+_gluconst(OUTSIDE)
+Quadrics are drawn with normals pointing outward (the initial value).
+.TP
+_gluconst(INSIDE)
+Quadrics are drawn with normals pointing inward.
+.P
+Note that the interpretation of \f2outward\fP and \f2inward\fP depends on the
+quadric being drawn.
+.SH SEE ALSO
+_cmnd(NewQuadric), _cmnd(QuadricDrawStyle), _cmnd(QuadricNormals),
+_cmnd(QuadricTexture)
diff --git a/xc/extras/ogl-sample/main/doc/man/manglu/standard/quadrictexture.gl b/xc/extras/ogl-sample/main/doc/man/manglu/standard/quadrictexture.gl
new file mode 100755
index 000000000..0cbcb48cb
--- /dev/null
+++ b/xc/extras/ogl-sample/main/doc/man/manglu/standard/quadrictexture.gl
@@ -0,0 +1,60 @@
+_C_ License Applicability. Except to the extent portions of this file are
+_C_ made subject to an alternative license as permitted in the SGI Free
+_C_ Software License B, Version 1.1 (the "License"), the contents of this
+_C_ file are subject only to the provisions of the License. You may not use
+_C_ this file except in compliance with the License. You may obtain a copy
+_C_ of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
+_C_ Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
+_C_
+_C_ http://oss.sgi.com/projects/FreeB
+_C_
+_C_ Note that, as provided in the License, the Software is distributed on an
+_C_ "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
+_C_ DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
+_C_ CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
+_C_ PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
+_C_
+_C_ Original Code. The Original Code is: OpenGL Sample Implementation,
+_C_ Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
+_C_ Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
+_C_ Copyright in any portions created by third parties is as indicated
+_C_ elsewhere herein. All Rights Reserved.
+_C_
+_C_ Additional Notice Provisions: The application programming interfaces
+_C_ established by SGI in conjunction with the Original Code are The
+_C_ OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
+_C_ April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
+_C_ 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
+_C_ Window System(R) (Version 1.3), released October 19, 1998. This software
+_C_ was created using the OpenGL(R) version 1.2.1 Sample Implementation
+_C_ published by SGI, but has not been independently verified as being
+_C_ compliant with the OpenGL(R) version 1.2.1 Specification.
+_C_
+_C_ $Date: 2001/03/19 17:45:27 $ $Revision: 1.1.1.1 $
+_C_ The first character in this file must be an '_'!
+_C_ Anything on a line after _C_ is ignored
+_define(_filters,eqn)_C_
+_C_ eqn is automatically replaced with neqn for nroff
+_header(QuadricTexture, specify if texturing is desired for quadrics)
+_names(QuadricTexture)
+.EQ
+delim $$
+.EN
+.SH PARAMETERS
+_phead(_param1)
+Specifies the quadrics object (created with _cmnd(NewQuadric)).
+_phead(_param2)
+Specifies a flag indicating if texture coordinates should be generated.
+.SH DESCRIPTION
+_cmnd specifies if texture coordinates should be generated
+for quadrics rendered with _param1.
+If the value of _param2 is _const(TRUE), then texture coordinates
+are generated, and if _param2 is _const(FALSE), they are not. The
+initial value is _const(FALSE).
+.P
+The manner in which texture coordinates are generated depends
+upon the specific quadric rendered.
+.SH SEE ALSO
+_cmnd(NewQuadric), _cmnd(QuadricDrawStyle), _cmnd(QuadricNormals),
+_cmnd(QuadricOrientation)
+
diff --git a/xc/extras/ogl-sample/main/doc/man/manglu/standard/scaleimage.gl b/xc/extras/ogl-sample/main/doc/man/manglu/standard/scaleimage.gl
new file mode 100755
index 000000000..a1b3dddd0
--- /dev/null
+++ b/xc/extras/ogl-sample/main/doc/man/manglu/standard/scaleimage.gl
@@ -0,0 +1,175 @@
+_C_ License Applicability. Except to the extent portions of this file are
+_C_ made subject to an alternative license as permitted in the SGI Free
+_C_ Software License B, Version 1.1 (the "License"), the contents of this
+_C_ file are subject only to the provisions of the License. You may not use
+_C_ this file except in compliance with the License. You may obtain a copy
+_C_ of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
+_C_ Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
+_C_
+_C_ http://oss.sgi.com/projects/FreeB
+_C_
+_C_ Note that, as provided in the License, the Software is distributed on an
+_C_ "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
+_C_ DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
+_C_ CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
+_C_ PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
+_C_
+_C_ Original Code. The Original Code is: OpenGL Sample Implementation,
+_C_ Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
+_C_ Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
+_C_ Copyright in any portions created by third parties is as indicated
+_C_ elsewhere herein. All Rights Reserved.
+_C_
+_C_ Additional Notice Provisions: The application programming interfaces
+_C_ established by SGI in conjunction with the Original Code are The
+_C_ OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
+_C_ April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
+_C_ 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
+_C_ Window System(R) (Version 1.3), released October 19, 1998. This software
+_C_ was created using the OpenGL(R) version 1.2.1 Sample Implementation
+_C_ published by SGI, but has not been independently verified as being
+_C_ compliant with the OpenGL(R) version 1.2.1 Specification.
+_C_
+_C_ $Date: 2001/03/19 17:45:27 $ $Revision: 1.1.1.1 $
+_C_ The first character in this file must be an '_'!
+_C_ Anything on a line after _C_ is ignored
+_define(_filters,eqn)_C_
+_C_ eqn is automatically replaced with neqn for nroff
+_header(ScaleImage, scale an image to an arbitrary size)
+_names(ScaleImage)
+.EQ
+delim $$
+.EN
+.SH PARAMETERS
+_phead(_param1)
+Specifies the format of the pixel data.
+The following symbolic values are valid:
+_const(COLOR_INDEX),
+_const(STENCIL_INDEX),
+_const(DEPTH_COMPONENT),
+_const(RED),
+_const(GREEN),
+_const(BLUE),
+_const(ALPHA),
+_const(RGB),
+_const(RGBA),
+_const(BGR),
+_const(BGRA),
+_const(LUMINANCE), and
+_const(LUMINANCE_ALPHA).
+_phead(_param2 _param3)
+Specify in pixels the width and height, respectively, of the source image.
+_phead(_param4)
+Specifies the data type for _param5. Must be one of
+_const(UNSIGNED_BYTE),
+_const(BYTE),
+_const(BITMAP),
+_const(UNSIGNED_SHORT),
+_const(SHORT),
+_const(UNSIGNED_INT),
+_const(INT),
+_const(FLOAT),
+_const(UNSIGNED_BYTE_3_3_2),
+_const(UNSIGNED_BYTE_2_3_3_REV),
+_const(UNSIGNED_SHORT_5_6_5),
+_const(UNSIGNED_SHORT_5_6_5_REV),
+_const(UNSIGNED_SHORT_4_4_4_4),
+_const(UNSIGNED_SHORT_4_4_4_4_REV),
+_const(UNSIGNED_SHORT_5_5_5_1),
+_const(UNSIGNED_SHORT_1_5_5_5_REV),
+_const(UNSIGNED_INT_8_8_8_8),
+_const(UNSIGNED_INT_8_8_8_8_REV),
+_const(UNSIGNED_INT_10_10_10_2), and
+_const(UNSIGNED_INT_2_10_10_10_REV).
+_phead(_param5)
+Specifies a pointer to the source image.
+_phead(_param6 _param7)
+Specify the width and height, respectively, in pixels of the destination image.
+_phead(_param8)
+Specifies the data type for _param9. Must be one of
+_const(UNSIGNED_BYTE),
+_const(BYTE),
+_const(BITMAP),
+_const(UNSIGNED_SHORT),
+_const(SHORT),
+_const(UNSIGNED_INT),
+_const(INT),
+_const(FLOAT),
+_const(UNSIGNED_BYTE_3_3_2),
+_const(UNSIGNED_BYTE_2_3_3_REV),
+_const(UNSIGNED_SHORT_5_6_5),
+_const(UNSIGNED_SHORT_5_6_5_REV),
+_const(UNSIGNED_SHORT_4_4_4_4),
+_const(UNSIGNED_SHORT_4_4_4_4_REV),
+_const(UNSIGNED_SHORT_5_5_5_1),
+_const(UNSIGNED_SHORT_1_5_5_5_REV),
+_const(UNSIGNED_INT_8_8_8_8),
+_const(UNSIGNED_INT_8_8_8_8_REV),
+_const(UNSIGNED_INT_10_10_10_2), or
+_const(UNSIGNED_INT_2_10_10_10_REV).
+_phead(_param9)
+Specifies a pointer to the destination image.
+.SH DESCRIPTION
+_cmnd scales a pixel image using the appropriate pixel store modes to
+unpack data from the source image and pack data into the destination image.
+.P
+When shrinking an image, _cmnd uses a box filter to sample the source image
+and create pixels for the destination image. When magnifying an image,
+the pixels from the source image are linearly interpolated to create the
+destination image.
+.P
+A return value of zero indicates success, otherwise a GLU error code is returned (see _cmnd(ErrorString)).
+.P
+See the _glcmnd(ReadPixels) reference page for a description of
+the acceptable values for the _param1, _param4, and _param8 parameters.
+.SH NOTES
+Formats _const(BGR), and _const(BGRA), and types
+_const(UNSIGNED_BYTE_3_3_2),
+_const(UNSIGNED_BYTE_2_3_3_REV),
+_const(UNSIGNED_SHORT_5_6_5),
+_const(UNSIGNED_SHORT_5_6_5_REV),
+_const(UNSIGNED_SHORT_4_4_4_4),
+_const(UNSIGNED_SHORT_4_4_4_4_REV),
+_const(UNSIGNED_SHORT_5_5_5_1),
+_const(UNSIGNED_SHORT_1_5_5_5_REV),
+_const(UNSIGNED_INT_8_8_8_8),
+_const(UNSIGNED_INT_8_8_8_8_REV),
+_const(UNSIGNED_INT_10_10_10_2), and
+_const(UNSIGNED_INT_2_10_10_10_REV) are only available if the GL version
+is 1.2 or greater.
+.SH ERRORS
+_gluconst(INVALID_VALUE) is returned if _param2, _param3, _param6, or _param7
+is negative.
+.P
+_gluconst(INVALID_ENUM) is returned if _param1, _param4, or _param8 is not
+legal.
+.P
+_gluconst(INVALID_OPERATION) is returned if _param4 or _param8 is
+_const(UNSIGNED_BYTE_3_3_2) or _const(UNSIGNED_BYTE_2_3_3_REV)
+and _param1 is not _const(RGB).
+.P
+_gluconst(INVALID_OPERATION) is returned if _param4 or _param8 is
+_const(UNSIGNED_SHORT_5_6_5) or _const(UNSIGNED_SHORT_5_6_5_REV)
+and _param1 is not _const(RGB).
+.P
+_gluconst(INVALID_OPERATION) is returned if _param4 or _param8 is
+_const(UNSIGNED_SHORT_4_4_4_4) or _const(UNSIGNED_SHORT_4_4_4_4_REV)
+and _param1 is neither _const(RGBA) nor _const(BGRA).
+.P
+_gluconst(INVALID_OPERATION) is returned if _param4 or _param8 is
+_const(UNSIGNED_SHORT_5_5_5_1) or _const(UNSIGNED_SHORT_1_5_5_5_REV)
+and _param1 is neither _const(RGBA) nor _const(BGRA).
+.P
+_gluconst(INVALID_OPERATION) is returned if _param4 or _param8 is
+_const(UNSIGNED_INT_8_8_8_8) or _const(UNSIGNED_INT_8_8_8_8_REV)
+and _param1 is neither _const(RGBA) nor _const(BGRA).
+.P
+_gluconst(INVALID_OPERATION) is returned if _param4 or _param8 is
+_const(UNSIGNED_INT_10_10_10_2) or _const(UNSIGNED_INT_2_10_10_10_REV)
+and _param1 is neither _const(RGBA) nor _const(BGRA).
+.SH SEE ALSO
+_glcmnd(DrawPixels), _glcmnd(ReadPixels), _cmnd(Build1DMipmaps), _cmnd(Build2DMipmaps),
+_cmnd(Build3DMipmaps),
+.BR
+_cmnd(ErrorString)
+
diff --git a/xc/extras/ogl-sample/main/doc/man/manglu/standard/sphere.gl b/xc/extras/ogl-sample/main/doc/man/manglu/standard/sphere.gl
new file mode 100755
index 000000000..a4cc0e2f3
--- /dev/null
+++ b/xc/extras/ogl-sample/main/doc/man/manglu/standard/sphere.gl
@@ -0,0 +1,77 @@
+_C_ License Applicability. Except to the extent portions of this file are
+_C_ made subject to an alternative license as permitted in the SGI Free
+_C_ Software License B, Version 1.1 (the "License"), the contents of this
+_C_ file are subject only to the provisions of the License. You may not use
+_C_ this file except in compliance with the License. You may obtain a copy
+_C_ of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
+_C_ Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
+_C_
+_C_ http://oss.sgi.com/projects/FreeB
+_C_
+_C_ Note that, as provided in the License, the Software is distributed on an
+_C_ "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
+_C_ DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
+_C_ CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
+_C_ PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
+_C_
+_C_ Original Code. The Original Code is: OpenGL Sample Implementation,
+_C_ Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
+_C_ Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
+_C_ Copyright in any portions created by third parties is as indicated
+_C_ elsewhere herein. All Rights Reserved.
+_C_
+_C_ Additional Notice Provisions: The application programming interfaces
+_C_ established by SGI in conjunction with the Original Code are The
+_C_ OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
+_C_ April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
+_C_ 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
+_C_ Window System(R) (Version 1.3), released October 19, 1998. This software
+_C_ was created using the OpenGL(R) version 1.2.1 Sample Implementation
+_C_ published by SGI, but has not been independently verified as being
+_C_ compliant with the OpenGL(R) version 1.2.1 Specification.
+_C_
+_C_ $Date: 2001/03/19 17:45:27 $ $Revision: 1.1.1.1 $
+_C_ The first character in this file must be an '_'!
+_C_ Anything on a line after _C_ is ignored
+_define(_filters,eqn)_C_
+_C_ eqn is automatically replaced with neqn for nroff
+_header(Sphere, draw a sphere)
+_names(Sphere)
+.EQ
+delim $$
+.EN
+.SH PARAMETERS
+_phead(_param1)
+Specifies the quadrics object (created with _cmnd(NewQuadric)).
+_phead(_param2)
+Specifies the radius of the sphere.
+_phead(_param3)
+Specifies the number of subdivisions around the \f2z\fP axis
+(similar to lines of longitude).
+_phead(_param4)
+Specifies the number of subdivisions along the \f2z\fP axis
+(similar to lines of latitude).
+.SH DESCRIPTION
+_cmnd draws a sphere of the given radius centered around the origin. The
+sphere is subdivided around the \f2z\fP axis into slices and along the
+\f2z\fP axis
+into stacks (similar to lines of longitude and latitude).
+.P
+If the orientation is set to _gluconst(OUTSIDE)
+(with _cmnd(QuadricOrientation)), then any normals generated
+point away from the center of the sphere.
+Otherwise, they point toward the center of the sphere.
+.P
+If texturing is turned on (with _cmnd(QuadricTexture)), then texture
+coordinates are
+generated so that \f2t\fP ranges from 0.0 at $ z ~=~ -^_eqnparam2 $ to 1.0 at
+$ z ~=~ _eqnparam2 $ (\f2t\fP increases linearly along longitudinal
+lines),
+and \f2s\fP ranges from 0.0 at the +\f2y\fP axis, to 0.25 at the
++\f2x\fP axis,
+to 0.5 at the \-\f2y\fP axis, to 0.75 at the \-\f2x\fP axis, and back to 1.0
+at the +\f2y\fP axis.
+.SH SEE ALSO
+_cmnd(Cylinder), _cmnd(Disk), _cmnd(NewQuadric),
+_cmnd(PartialDisk), _cmnd(QuadricOrientation),
+_cmnd(QuadricTexture)
diff --git a/xc/extras/ogl-sample/main/doc/man/manglu/standard/tessbegincontour.gl b/xc/extras/ogl-sample/main/doc/man/manglu/standard/tessbegincontour.gl
new file mode 100755
index 000000000..07a84dc2b
--- /dev/null
+++ b/xc/extras/ogl-sample/main/doc/man/manglu/standard/tessbegincontour.gl
@@ -0,0 +1,58 @@
+_C_ License Applicability. Except to the extent portions of this file are
+_C_ made subject to an alternative license as permitted in the SGI Free
+_C_ Software License B, Version 1.1 (the "License"), the contents of this
+_C_ file are subject only to the provisions of the License. You may not use
+_C_ this file except in compliance with the License. You may obtain a copy
+_C_ of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
+_C_ Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
+_C_
+_C_ http://oss.sgi.com/projects/FreeB
+_C_
+_C_ Note that, as provided in the License, the Software is distributed on an
+_C_ "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
+_C_ DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
+_C_ CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
+_C_ PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
+_C_
+_C_ Original Code. The Original Code is: OpenGL Sample Implementation,
+_C_ Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
+_C_ Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
+_C_ Copyright in any portions created by third parties is as indicated
+_C_ elsewhere herein. All Rights Reserved.
+_C_
+_C_ Additional Notice Provisions: The application programming interfaces
+_C_ established by SGI in conjunction with the Original Code are The
+_C_ OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
+_C_ April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
+_C_ 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
+_C_ Window System(R) (Version 1.3), released October 19, 1998. This software
+_C_ was created using the OpenGL(R) version 1.2.1 Sample Implementation
+_C_ published by SGI, but has not been independently verified as being
+_C_ compliant with the OpenGL(R) version 1.2.1 Specification.
+_C_
+_C_ $Date: 2001/03/19 17:45:27 $ $Revision: 1.1.1.1 $
+_C_ The first character in this file must be an '_'!
+_C_ Anything on a line after _C_ is ignored
+_define(_filters,eqn)_C_
+_C_ eqn is automatically replaced with neqn for nroff
+_header(TessBeginContour, delimit a contour description)
+_names(TessBeginContour)
+_names(TessEndContour,,noheader)
+.EQ
+delim $$
+.EN
+.SH PARAMETERS
+_phead(_param1)
+Specifies the tessellation object (created with _cmnd(NewTess)).
+.SH DESCRIPTION
+_cmnd(TessBeginContour) and _cmnd(TessEndContour) delimit the definition of a
+polygon contour. Within each _cmnd(TessBeginContour)/_cmnd(TessEndContour)
+pair, there can be zero or more calls to _cmnd(TessVertex). The vertices
+specify a closed contour (the last vertex of each contour is automatically linked
+to the first). See the _cmnd(TessVertex) reference page for more details.
+_cmnd can only be called between _cmnd(TessBeginPolygon) and _cmnd(TessEndPolygon).
+.SH SEE ALSO
+_cmnd(NewTess), _cmnd(TessBeginPolygon), _cmnd(TessVertex),
+_cmnd(TessCallback),
+_cmnd(TessProperty), _cmnd(TessNormal),
+_cmnd(TessEndPolygon)
diff --git a/xc/extras/ogl-sample/main/doc/man/manglu/standard/tessbeginpolygon.gl b/xc/extras/ogl-sample/main/doc/man/manglu/standard/tessbeginpolygon.gl
new file mode 100755
index 000000000..339f10853
--- /dev/null
+++ b/xc/extras/ogl-sample/main/doc/man/manglu/standard/tessbeginpolygon.gl
@@ -0,0 +1,88 @@
+_C_ License Applicability. Except to the extent portions of this file are
+_C_ made subject to an alternative license as permitted in the SGI Free
+_C_ Software License B, Version 1.1 (the "License"), the contents of this
+_C_ file are subject only to the provisions of the License. You may not use
+_C_ this file except in compliance with the License. You may obtain a copy
+_C_ of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
+_C_ Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
+_C_
+_C_ http://oss.sgi.com/projects/FreeB
+_C_
+_C_ Note that, as provided in the License, the Software is distributed on an
+_C_ "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
+_C_ DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
+_C_ CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
+_C_ PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
+_C_
+_C_ Original Code. The Original Code is: OpenGL Sample Implementation,
+_C_ Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
+_C_ Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
+_C_ Copyright in any portions created by third parties is as indicated
+_C_ elsewhere herein. All Rights Reserved.
+_C_
+_C_ Additional Notice Provisions: The application programming interfaces
+_C_ established by SGI in conjunction with the Original Code are The
+_C_ OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
+_C_ April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
+_C_ 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
+_C_ Window System(R) (Version 1.3), released October 19, 1998. This software
+_C_ was created using the OpenGL(R) version 1.2.1 Sample Implementation
+_C_ published by SGI, but has not been independently verified as being
+_C_ compliant with the OpenGL(R) version 1.2.1 Specification.
+_C_
+_C_ $Date: 2001/03/19 17:45:27 $ $Revision: 1.1.1.1 $
+_C_ The first character in this file must be an '_'!
+_C_ Anything on a line after _C_ is ignored
+_define(_filters,eqn)_C_
+_C_ eqn is automatically replaced with neqn for nroff
+_header(TessBeginPolygon, delimit a polygon description)
+_names(TessBeginPolygon)
+.EQ
+delim $$
+.EN
+.SH PARAMETERS
+_phead(_param1)
+Specifies the tessellation object (created with _cmnd(NewTess)).
+_phead(_param2)
+Specifies a pointer to user polygon data.
+.SH DESCRIPTION
+_cmnd(TessBeginPolygon) and _cmnd(TessEndPolygon) delimit the definition of a
+convex, concave or self-intersecting polygon. Within each _cmnd(TessBeginPolygon)/_cmnd(TessEndPolygon)
+pair, there must be one or more calls to _cmnd(TessBeginContour)/_cmnd(TessEndContour).
+Within each contour, there are zero or more calls to _cmnd(TessVertex). The vertices
+specify a closed contour (the last vertex of each contour is automatically linked
+to the first). See the _cmnd(TessVertex), _cmnd(TessBeginContour), and
+_cmnd(TessEndContour) reference pages for more details.
+.P
+_param2 is a pointer to a user-defined data structure. If the appropriate callback(s)
+are specified (see _cmnd(TessCallback)), then this pointer is returned to the
+callback function(s). Thus, it is a convenient way to store per-polygon information.
+.P
+Once _cmnd(TessEndPolygon) is called, the polygon is tessellated, and the
+resulting triangles are described through callbacks.
+See _cmnd(TessCallback) for descriptions of the callback functions.
+.SH EXAMPLE
+A quadrilateral with a triangular hole in it can be described as follows:
+.sp
+.Ex
+gluTessBeginPolygon(tobj, NULL);
+ gluTessBeginContour(tobj);
+ gluTessVertex(tobj, v1, v1);
+ gluTessVertex(tobj, v2, v2);
+ gluTessVertex(tobj, v3, v3);
+ gluTessVertex(tobj, v4, v4);
+ gluTessEndContour(tobj);
+.bp
+ gluTessBeginContour(tobj);
+ gluTessVertex(tobj, v5, v5);
+ gluTessVertex(tobj, v6, v6);
+ gluTessVertex(tobj, v7, v7);
+ gluTessEndContour(tobj);
+gluTessEndPolygon(tobj);
+.Ee
+.sp
+.SH SEE ALSO
+_cmnd(NewTess), _cmnd(TessBeginContour), _cmnd(TessVertex),
+_cmnd(TessCallback),
+_cmnd(TessProperty), _cmnd(TessNormal),
+_cmnd(TessEndPolygon)
diff --git a/xc/extras/ogl-sample/main/doc/man/manglu/standard/tesscallback.gl b/xc/extras/ogl-sample/main/doc/man/manglu/standard/tesscallback.gl
new file mode 100755
index 000000000..ae76ad2c7
--- /dev/null
+++ b/xc/extras/ogl-sample/main/doc/man/manglu/standard/tesscallback.gl
@@ -0,0 +1,307 @@
+_C_ License Applicability. Except to the extent portions of this file are
+_C_ made subject to an alternative license as permitted in the SGI Free
+_C_ Software License B, Version 1.1 (the "License"), the contents of this
+_C_ file are subject only to the provisions of the License. You may not use
+_C_ this file except in compliance with the License. You may obtain a copy
+_C_ of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
+_C_ Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
+_C_
+_C_ http://oss.sgi.com/projects/FreeB
+_C_
+_C_ Note that, as provided in the License, the Software is distributed on an
+_C_ "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
+_C_ DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
+_C_ CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
+_C_ PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
+_C_
+_C_ Original Code. The Original Code is: OpenGL Sample Implementation,
+_C_ Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
+_C_ Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
+_C_ Copyright in any portions created by third parties is as indicated
+_C_ elsewhere herein. All Rights Reserved.
+_C_
+_C_ Additional Notice Provisions: The application programming interfaces
+_C_ established by SGI in conjunction with the Original Code are The
+_C_ OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
+_C_ April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
+_C_ 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
+_C_ Window System(R) (Version 1.3), released October 19, 1998. This software
+_C_ was created using the OpenGL(R) version 1.2.1 Sample Implementation
+_C_ published by SGI, but has not been independently verified as being
+_C_ compliant with the OpenGL(R) version 1.2.1 Specification.
+_C_
+_C_ $Date: 2001/03/19 17:45:27 $ $Revision: 1.1.1.1 $
+_C_ The first character in this file must be an '_'!
+_C_ Anything on a line after _C_ is ignored
+_define(_filters,eqn)_C_
+_C_ eqn is automatically replaced with neqn for nroff
+_header(TessCallback, define a callback for a tessellation object)
+_names(TessCallback)
+.EQ
+delim $$
+.EN
+.SH PARAMETERS
+_phead(_param1)
+Specifies the tessellation object (created with _cmnd(NewTess)).
+_phead(_param2)
+Specifies the callback being defined. The following values are valid:
+_gluconst(TESS_BEGIN),
+_gluconst(TESS_BEGIN_DATA),
+_gluconst(TESS_EDGE_FLAG),
+_gluconst(TESS_EDGE_FLAG_DATA),
+_gluconst(TESS_VERTEX),
+_gluconst(TESS_VERTEX_DATA),
+_gluconst(TESS_END),
+_gluconst(TESS_END_DATA),
+_gluconst(TESS_COMBINE),
+_gluconst(TESS_COMBINE_DATA),
+_gluconst(TESS_ERROR), and
+_gluconst(TESS_ERROR_DATA).
+_phead(_param3)
+Specifies the function to be called.
+.SH DESCRIPTION
+_cmnd is used to indicate a callback to be used by a tessellation object.
+If the specified callback is already defined, then it is replaced. If
+_param3 is NULL, then the existing callback becomes undefined.
+.P
+These callbacks are used by the tessellation object to describe how a
+polygon specified by the user is broken into triangles. Note that there
+are two versions of each callback: one with user-specified polygon data
+and one without. If both versions of a particular callback are specified,
+then the callback with user-specified polygon data will be used. Note
+that the \f2polygon_data\fP parameter used by some of the functions is
+a copy of the pointer that was specified when
+_cmnd(TessBeginPolygon) was called. The legal callbacks are as follows:
+.TP 10
+_gluconst(TESS_BEGIN)
+The begin callback is invoked like _glcmnd(Begin) to indicate the start of
+a (triangle) primitive. The function takes a single argument of type
+GLenum. If the _gluconst(TESS_BOUNDARY_ONLY) property is set to
+_const(FALSE), then the argument is set to either
+_const(TRIANGLE_FAN), _const(TRIANGLE_STRIP), or _const(TRIANGLES). If
+the _gluconst(TESS_BOUNDARY_ONLY) property is set to _const(TRUE),
+then the argument will be set to _const(LINE_LOOP). The function
+prototype for this callback is:
+.RS
+.Ex
+void begin ( GLenum type );
+.Ee
+.RE
+.TP
+_gluconst(TESS_BEGIN_DATA)
+The same as the _gluconst(TESS_BEGIN) callback except that it
+takes an additional pointer argument. This pointer is identical to the
+opaque pointer provided when
+_cmnd(TessBeginPolygon) was called. The function prototype for this callback
+is:
+.RS
+.Ex
+void beginData ( GLenum type, void *polygon_data );
+.Ee
+.RE
+.TP
+_gluconst(TESS_EDGE_FLAG)
+The edge flag callback is similar to _glcmnd(EdgeFlag). The function
+takes a single boolean flag that indicates which edges lie on the
+polygon boundary. If the flag is _const(TRUE), then each vertex
+that follows begins an edge that lies on the polygon boundary, that is,
+an edge that separates an interior region from an exterior one.
+If the flag is _const(FALSE), then each vertex that follows begins an edge
+that lies in the polygon interior. The edge flag callback (if defined) is
+invoked before the first vertex callback.
+.IP
+Since triangle fans and triangle strips do not support edge flags, the begin
+callback is not called with _const(TRIANGLE_FAN) or _const(TRIANGLE_STRIP)
+if a non-NULL edge flag callback is provided. (If the callback is
+initialized to NULL, there is no impact on performance). Instead, the fans and
+strips are converted to independent triangles. The function prototype
+for this callback is:
+.RS
+.Ex
+void edgeFlag ( GLboolean flag );
+.Ee
+.RE
+.TP
+_gluconst(TESS_EDGE_FLAG_DATA)
+The same as the _gluconst(TESS_EDGE_FLAG) callback except that it takes an additional pointer
+argument. This pointer is identical to the opaque pointer provided when
+_cmnd(TessBeginPolygon) was called. The function prototype for this callback
+is:
+.RS
+.Ex
+void edgeFlagData ( GLboolean flag, void *polygon_data );
+.Ee
+.RE
+.TP
+_gluconst(TESS_VERTEX)
+The vertex callback is invoked between the begin and end callbacks.
+It is similar to _glcmnd(Vertex), and it defines the vertices of the triangles
+created by the tessellation process. The function
+takes a pointer as its only argument. This pointer is identical to
+the opaque pointer provided by the user when the vertex was described
+(see _cmnd(TessVertex)). The function prototype for this callback is:
+.RS
+.Ex
+void vertex ( void *vertex_data );
+.Ee
+.RE
+.TP
+_gluconst(TESS_VERTEX_DATA)
+The same as the _gluconst(TESS_VERTEX) callback except that it takes an additional pointer
+argument. This pointer is identical to the opaque pointer provided when
+_cmnd(TessBeginPolygon) was called. The function prototype for this callback
+is:
+.RS
+.Ex
+void vertexData ( void *vertex_data, void *polygon_data );
+.Ee
+.RE
+.TP
+_gluconst(TESS_END)
+The end callback serves the same purpose as _glcmnd(End). It indicates the
+end of a primitive and it takes no arguments. The function prototype for this
+callback is:
+.RS
+.Ex
+void end ( void );
+.Ee
+.RE
+.TP
+_gluconst(TESS_END_DATA)
+The same as the _gluconst(TESS_END) callback except that it takes an additional pointer
+argument. This pointer is identical to the opaque pointer provided when
+_cmnd(TessBeginPolygon) was called. The function prototype for this callback
+is:
+.RS
+.Ex
+void endData ( void *polygon_data);
+.Ee
+.RE
+.TP 10
+_gluconst(TESS_COMBINE)
+The combine callback is called to create a new vertex when the tessellation
+detects an intersection, or wishes to merge features. The function takes
+four arguments: an array of three elements each of type GLdouble, an array
+of four pointers, an array of four elements each of type GLfloat, and a
+pointer to a pointer. The prototype is:
+.RS
+.Ex
+void combine( GLdouble coords[3], void *vertex_data[4],
+ GLfloat weight[4], void **outData );
+.Ee
+.RE
+.IP
+The vertex is defined as a linear combination of up to four existing vertices,
+stored in \f2vertex_data\fP. The coefficients of the linear
+combination are given by \f2weight\fP; these weights always add up to 1.
+All vertex pointers are valid even when some of the weights are 0.
+\f2coords\fP gives the location of the new vertex.
+.IP
+The user must allocate another vertex, interpolate parameters using
+\f2vertex_data\fP and \f2weight\fP, and return the new vertex pointer in
+\f2outData\fP. This handle is supplied during rendering callbacks.
+The user is responsible for freeing the memory some time after
+_cmnd(TessEndPolygon) is called.
+.IP
+For example, if the polygon lies in an arbitrary plane in 3-space,
+and a color is associated with each vertex, the
+_gluconst(TESS_COMBINE) callback might look like this:
+.RS
+.Ex
+void myCombine( GLdouble coords[3], VERTEX *d[4],
+ GLfloat w[4], VERTEX **dataOut )
+{
+ VERTEX *new = new_vertex();
+
+ new->x = coords[0];
+ new->y = coords[1];
+ new->z = coords[2];
+ new->r = w[0]*d[0]->r + w[1]*d[1]->r + w[2]*d[2]->r + w[3]*d[3]->r;
+ new->g = w[0]*d[0]->g + w[1]*d[1]->g + w[2]*d[2]->g + w[3]*d[3]->g;
+ new->b = w[0]*d[0]->b + w[1]*d[1]->b + w[2]*d[2]->b + w[3]*d[3]->b;
+ new->a = w[0]*d[0]->a + w[1]*d[1]->a + w[2]*d[2]->a + w[3]*d[3]->a;
+ *dataOut = new;
+}
+.Ee
+.RE
+.IP
+If the tessellation detects an intersection, then the _gluconst(TESS_COMBINE) or
+_gluconst(TESS_COMBINE_DATA) callback (see below) must be defined, and it must
+write a non-NULL pointer into \f2dataOut\fP. Otherwise the
+_gluconst(TESS_NEED_COMBINE_CALLBACK) error occurs, and no
+output is generated.
+.TP
+_gluconst(TESS_COMBINE_DATA)
+The same as the _gluconst(TESS_COMBINE) callback except that it takes an additional pointer
+argument. This pointer is identical to the opaque pointer provided when
+_cmnd(TessBeginPolygon) was called. The function prototype for this callback
+is:
+.RS
+.Ex
+void combineData ( GLdouble coords[3], void *vertex_data[4],
+ GLfloat weight[4], void **outData,
+ void *polygon_data );
+.Ee
+.RE
+.TP 10
+_gluconst(TESS_ERROR)
+The error callback is called when an error is encountered. The one argument
+is of type GLenum; it indicates the specific error that occurred and will be
+set to one of _gluconst(TESS_MISSING_BEGIN_POLYGON), _gluconst(TESS_MISSING_END_POLYGON),
+_gluconst(TESS_MISSING_BEGIN_CONTOUR), _gluconst(TESS_MISSING_END_CONTOUR),
+_gluconst(TESS_COORD_TOO_LARGE), _gluconst(TESS_NEED_COMBINE_CALLBACK) or
+_gluconst(OUT_OF_MEMORY). Character
+strings describing these errors can be retrieved with the
+_cmnd(ErrorString) call. The function prototype for this callback is:
+.RS
+.Ex
+void error ( GLenum errno );
+.Ee
+.RE
+.IP
+The GLU library will recover from the first four
+errors by inserting the missing call(s).
+_gluconst(TESS_COORD_TOO_LARGE) indicates that some vertex coordinate exceeded
+the predefined constant _gluconst(TESS_MAX_COORD) in absolute value, and
+that the value has been clamped. (Coordinate values must be small
+enough so that two can be multiplied together without overflow.)
+_gluconst(TESS_NEED_COMBINE_CALLBACK) indicates that the tessellation
+detected an intersection between two edges in the input data, and the
+_gluconst(TESS_COMBINE) or _gluconst(TESS_COMBINE_DATA) callback was
+not provided. No output is generated. _gluconst(OUT_OF_MEMORY) indicates
+that there is not enough memory so no output is generated.
+.TP
+_gluconst(TESS_ERROR_DATA)
+The same as the _gluconst(TESS_ERROR) callback except that it takes an additional pointer
+argument. This pointer is identical to the opaque pointer provided when
+_cmnd(TessBeginPolygon) was called. The function prototype for this callback
+is:
+.RS
+.Ex
+void errorData ( GLenum errno, void *polygon_data );
+.Ee
+.RE
+.SH EXAMPLE
+Polygons tessellated can be rendered directly like this:
+.sp
+.Ex
+gluTessCallback(tobj, GLU_TESS_BEGIN, glBegin);
+gluTessCallback(tobj, GLU_TESS_VERTEX, glVertex3dv);
+gluTessCallback(tobj, GLU_TESS_END, glEnd);
+gluTessCallback(tobj, GLU_TESS_COMBINE, myCombine);
+gluTessBeginPolygon(tobj, NULL);
+ gluTessBeginContour(tobj);
+ gluTessVertex(tobj, v, v);
+ ...
+ gluTessEndContour(tobj);
+gluTessEndPolygon(tobj);
+.Ee
+.sp
+Typically, the tessellated polygon should be stored in a display list so that
+it does not need to be retessellated every time it is rendered.
+.SH SEE ALSO
+_glcmnd(Begin), _glcmnd(EdgeFlag), _glcmnd(Vertex), _cmnd(NewTess),
+_cmnd(ErrorString), _cmnd(TessVertex),
+_cmnd(TessBeginPolygon),
+_cmnd(TessBeginContour), _cmnd(TessProperty), _cmnd(TessNormal)
+
diff --git a/xc/extras/ogl-sample/main/doc/man/manglu/standard/tessendpolygon.gl b/xc/extras/ogl-sample/main/doc/man/manglu/standard/tessendpolygon.gl
new file mode 100755
index 000000000..20532003d
--- /dev/null
+++ b/xc/extras/ogl-sample/main/doc/man/manglu/standard/tessendpolygon.gl
@@ -0,0 +1,86 @@
+_C_ License Applicability. Except to the extent portions of this file are
+_C_ made subject to an alternative license as permitted in the SGI Free
+_C_ Software License B, Version 1.1 (the "License"), the contents of this
+_C_ file are subject only to the provisions of the License. You may not use
+_C_ this file except in compliance with the License. You may obtain a copy
+_C_ of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
+_C_ Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
+_C_
+_C_ http://oss.sgi.com/projects/FreeB
+_C_
+_C_ Note that, as provided in the License, the Software is distributed on an
+_C_ "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
+_C_ DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
+_C_ CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
+_C_ PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
+_C_
+_C_ Original Code. The Original Code is: OpenGL Sample Implementation,
+_C_ Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
+_C_ Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
+_C_ Copyright in any portions created by third parties is as indicated
+_C_ elsewhere herein. All Rights Reserved.
+_C_
+_C_ Additional Notice Provisions: The application programming interfaces
+_C_ established by SGI in conjunction with the Original Code are The
+_C_ OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
+_C_ April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
+_C_ 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
+_C_ Window System(R) (Version 1.3), released October 19, 1998. This software
+_C_ was created using the OpenGL(R) version 1.2.1 Sample Implementation
+_C_ published by SGI, but has not been independently verified as being
+_C_ compliant with the OpenGL(R) version 1.2.1 Specification.
+_C_
+_C_ $Date: 2001/03/19 17:45:27 $ $Revision: 1.1.1.1 $
+_C_ The first character in this file must be an '_'!
+_C_ Anything on a line after _C_ is ignored
+_define(_filters,eqn)_C_
+_C_ eqn is automatically replaced with neqn for nroff
+_header(TessEndPolygon, delimit a polygon description)
+_names(TessEndPolygon)
+.EQ
+delim $$
+.EN
+.SH PARAMETERS
+_phead(_param1)
+Specifies the tessellation object (created with _cmnd(NewTess)).
+.SH DESCRIPTION
+_cmnd(TessBeginPolygon) and _cmnd(TessEndPolygon) delimit the definition of a
+convex, concave or self-intersecting polygon. Within each _cmnd(TessBeginPolygon)/_cmnd(TessEndPolygon)
+pair, there must be one or more calls to _cmnd(TessBeginContour)/_cmnd(TessEndContour).
+Within each contour, there are zero or more calls to _cmnd(TessVertex). The vertices
+specify a closed contour (the last vertex of each contour is automatically linked
+to the first). See the _cmnd(TessVertex), _cmnd(TessBeginContour) and
+_cmnd(TessEndContour) reference pages for more details.
+.P
+Once _cmnd(TessEndPolygon) is called, the polygon is tessellated, and the
+resulting triangles are described through callbacks.
+See _cmnd(TessCallback) for descriptions of the callback functions.
+.SH EXAMPLE
+A quadrilateral with a triangular hole in it can be described like this:
+.sp
+.Ex
+gluTessBeginPolygon(tobj, NULL);
+ gluTessBeginContour(tobj);
+ gluTessVertex(tobj, v1, v1);
+ gluTessVertex(tobj, v2, v2);
+ gluTessVertex(tobj, v3, v3);
+ gluTessVertex(tobj, v4, v4);
+ gluTessEndContour(tobj);
+ gluTessBeginContour(tobj);
+ gluTessVertex(tobj, v5, v5);
+ gluTessVertex(tobj, v6, v6);
+ gluTessVertex(tobj, v7, v7);
+ gluTessEndContour(tobj);
+gluTessEndPolygon(tobj);
+.Ee
+.bp
+In the above example the pointers, $v1$ through $v7$,
+should point to different
+addresses,
+since the values stored at these addresses will not be read by
+the tesselator until _cmnd(TessEndPolygon) is called.
+.SH SEE ALSO
+_cmnd(NewTess), _cmnd(TessBeginContour), _cmnd(TessVertex),
+_cmnd(TessCallback),
+_cmnd(TessProperty), _cmnd(TessNormal),
+_cmnd(TessBeginPolygon)
diff --git a/xc/extras/ogl-sample/main/doc/man/manglu/standard/tessnormal.gl b/xc/extras/ogl-sample/main/doc/man/manglu/standard/tessnormal.gl
new file mode 100755
index 000000000..70b748945
--- /dev/null
+++ b/xc/extras/ogl-sample/main/doc/man/manglu/standard/tessnormal.gl
@@ -0,0 +1,78 @@
+_C_ License Applicability. Except to the extent portions of this file are
+_C_ made subject to an alternative license as permitted in the SGI Free
+_C_ Software License B, Version 1.1 (the "License"), the contents of this
+_C_ file are subject only to the provisions of the License. You may not use
+_C_ this file except in compliance with the License. You may obtain a copy
+_C_ of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
+_C_ Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
+_C_
+_C_ http://oss.sgi.com/projects/FreeB
+_C_
+_C_ Note that, as provided in the License, the Software is distributed on an
+_C_ "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
+_C_ DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
+_C_ CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
+_C_ PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
+_C_
+_C_ Original Code. The Original Code is: OpenGL Sample Implementation,
+_C_ Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
+_C_ Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
+_C_ Copyright in any portions created by third parties is as indicated
+_C_ elsewhere herein. All Rights Reserved.
+_C_
+_C_ Additional Notice Provisions: The application programming interfaces
+_C_ established by SGI in conjunction with the Original Code are The
+_C_ OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
+_C_ April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
+_C_ 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
+_C_ Window System(R) (Version 1.3), released October 19, 1998. This software
+_C_ was created using the OpenGL(R) version 1.2.1 Sample Implementation
+_C_ published by SGI, but has not been independently verified as being
+_C_ compliant with the OpenGL(R) version 1.2.1 Specification.
+_C_
+_C_ $Date: 2001/03/19 17:45:27 $ $Revision: 1.1.1.1 $
+_C_ The first character in this file must be an '_'!
+_C_ Anything on a line after _C_ is ignored
+_define(_filters,eqn)_C_
+_C_ eqn is automatically replaced with neqn for nroff
+_header(TessNormal, specify a normal for a polygon)
+_names(TessNormal)
+.EQ
+delim $$
+.EN
+.SH PARAMETERS
+_phead(_param1)
+Specifies the tessellation object (created with _cmnd(NewTess)).
+_phead(_param2)
+Specifies the first component of the normal.
+_phead(_param3)
+Specifies the second component of the normal.
+_phead(_param4)
+Specifies the third component of the normal.
+.SH DESCRIPTION
+_cmnd describes a normal for a polygon that the program is defining.
+All input data will be projected onto a plane perpendicular to one of
+the three coordinate axes before tessellation and all output triangles
+will be oriented CCW with
+respect to the normal (CW orientation can be obtained by reversing the
+sign of the supplied normal). For example, if you know that all polygons
+lie in the x-y plane, call _cmnd(TessNormal)(tess, 0.0, 0.0, 1.0)
+before rendering any polygons.
+.P
+If the supplied normal is (0.0, 0.0, 0.0) (the initial value), the normal is
+determined as follows. The direction of the normal, up to its sign, is
+found by fitting a plane to the vertices, without regard to how the
+vertices are connected. It is expected that the input data lies approximately
+in the plane; otherwise, projection perpendicular to one of the three
+coordinate axes may substantially change the geometry. The sign of the
+normal is chosen so that the sum of the signed areas of all input
+contours is nonnegative (where a CCW contour has positive area).
+.P
+The supplied normal persists until it is changed by another call to
+_cmnd(TessNormal).
+.SH SEE ALSO
+_cmnd(TessBeginPolygon),
+_cmnd(TessEndPolygon)
+
+
+
diff --git a/xc/extras/ogl-sample/main/doc/man/manglu/standard/tessproperty.gl b/xc/extras/ogl-sample/main/doc/man/manglu/standard/tessproperty.gl
new file mode 100755
index 000000000..d47737620
--- /dev/null
+++ b/xc/extras/ogl-sample/main/doc/man/manglu/standard/tessproperty.gl
@@ -0,0 +1,112 @@
+_C_ License Applicability. Except to the extent portions of this file are
+_C_ made subject to an alternative license as permitted in the SGI Free
+_C_ Software License B, Version 1.1 (the "License"), the contents of this
+_C_ file are subject only to the provisions of the License. You may not use
+_C_ this file except in compliance with the License. You may obtain a copy
+_C_ of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
+_C_ Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
+_C_
+_C_ http://oss.sgi.com/projects/FreeB
+_C_
+_C_ Note that, as provided in the License, the Software is distributed on an
+_C_ "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
+_C_ DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
+_C_ CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
+_C_ PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
+_C_
+_C_ Original Code. The Original Code is: OpenGL Sample Implementation,
+_C_ Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
+_C_ Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
+_C_ Copyright in any portions created by third parties is as indicated
+_C_ elsewhere herein. All Rights Reserved.
+_C_
+_C_ Additional Notice Provisions: The application programming interfaces
+_C_ established by SGI in conjunction with the Original Code are The
+_C_ OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
+_C_ April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
+_C_ 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
+_C_ Window System(R) (Version 1.3), released October 19, 1998. This software
+_C_ was created using the OpenGL(R) version 1.2.1 Sample Implementation
+_C_ published by SGI, but has not been independently verified as being
+_C_ compliant with the OpenGL(R) version 1.2.1 Specification.
+_C_
+_C_ $Date: 2001/03/19 17:45:27 $ $Revision: 1.1.1.1 $
+_C_ The first character in this file must be an '_'!
+_C_ Anything on a line after _C_ is ignored
+_define(_filters,eqn)_C_
+_C_ eqn is automatically replaced with neqn for nroff
+_header(TessProperty, set a tessellation object property)
+_names(TessProperty)
+.EQ
+delim $$
+.EN
+.SH PARAMETERS
+_phead(_param1)
+Specifies the tessellation object (created with _cmnd(NewTess)).
+_phead(_param2)
+Specifies the property to be set. Valid values are
+_gluconst(TESS_WINDING_RULE),
+_gluconst(TESS_BOUNDARY_ONLY),
+_gluconst(TESS_TOLERANCE).
+_phead(_param3)
+Specifies the value of the indicated property.
+.SH DESCRIPTION
+_cmnd is used to control properties stored in a tessellation object. These
+properties affect the way that the polygons are interpreted and rendered.
+The legal values for _param2 are as follows:
+.TP 15
+_gluconst(TESS_WINDING_RULE)
+Determines which parts of the polygon are on the "interior".
+_param3 may be set to one of _gluconst(TESS_WINDING_ODD),
+_gluconst(TESS_WINDING_NONZERO), _gluconst(TESS_WINDING_POSITIVE), or
+_gluconst(TESS_WINDING_NEGATIVE), or _gluconst(TESS_WINDING_ABS_GEQ_TWO).
+.IP
+To understand how the winding rule works, consider that the input
+contours partition the plane into regions. The winding rule determines which
+of these regions are inside the polygon.
+.IP
+For a single contour C, the winding number of a point x is simply the signed
+number of revolutions we make around x as we travel once around C
+(where CCW is positive). When there are several contours, the individual
+winding numbers are summed. This procedure associates a signed integer
+value with each point x in the plane. Note that the winding number is the
+same for all points in a single region.
+.bp
+.IP
+The winding rule classifies a region as "inside" if its winding number
+belongs to the chosen category (odd, nonzero, positive, negative, or
+absolute value of at least two). The previous GLU tessellator (prior to
+GLU 1.2) used the "odd" rule. The "nonzero" rule is another common way to
+define the interior. The other three rules are useful for polygon CSG
+operations.
+.TP
+_gluconst(TESS_BOUNDARY_ONLY)
+Is a boolean value ("value" should be set
+to GL_TRUE or GL_FALSE). When set to GL_TRUE, a set of closed contours
+separating the polygon interior and exterior are returned instead of a
+tessellation. Exterior contours are oriented CCW with respect to the
+normal; interior contours are oriented CW. The _gluconst(TESS_BEGIN)
+and _gluconst(TESS_BEGIN_DATA) callbacks use the type GL_LINE_LOOP for
+each contour.
+.TP
+_gluconst(TESS_TOLERANCE)
+Specifies a tolerance for merging features to reduce the size of the output.
+For example, two vertices that are very close to each other might be
+replaced by a single vertex. The tolerance is multiplied by the largest
+coordinate magnitude of any input vertex; this specifies the maximum
+distance that any feature can move as the result of a single merge
+operation. If a single feature takes part in several merge operations, the
+total distance moved could be larger.
+.IP
+Feature merging is completely optional; the tolerance is only a hint.
+The implementation is free to merge in some cases and not in others, or to
+never merge features at all. The initial tolerance is 0.
+.IP
+The current implementation merges vertices only if they are exactly
+coincident, regardless of the current tolerance. A vertex is spliced into
+an edge only if the implementation is unable to distinguish which side of
+the edge the vertex lies on. Two edges are merged only when both endpoints
+are identical.
+.SH SEE ALSO
+_cmnd(GetTessProperty),
+_cmnd(NewTess)
diff --git a/xc/extras/ogl-sample/main/doc/man/manglu/standard/tessvertex.gl b/xc/extras/ogl-sample/main/doc/man/manglu/standard/tessvertex.gl
new file mode 100755
index 000000000..6184c288e
--- /dev/null
+++ b/xc/extras/ogl-sample/main/doc/man/manglu/standard/tessvertex.gl
@@ -0,0 +1,112 @@
+_C_ License Applicability. Except to the extent portions of this file are
+_C_ made subject to an alternative license as permitted in the SGI Free
+_C_ Software License B, Version 1.1 (the "License"), the contents of this
+_C_ file are subject only to the provisions of the License. You may not use
+_C_ this file except in compliance with the License. You may obtain a copy
+_C_ of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
+_C_ Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
+_C_
+_C_ http://oss.sgi.com/projects/FreeB
+_C_
+_C_ Note that, as provided in the License, the Software is distributed on an
+_C_ "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
+_C_ DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
+_C_ CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
+_C_ PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
+_C_
+_C_ Original Code. The Original Code is: OpenGL Sample Implementation,
+_C_ Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
+_C_ Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
+_C_ Copyright in any portions created by third parties is as indicated
+_C_ elsewhere herein. All Rights Reserved.
+_C_
+_C_ Additional Notice Provisions: The application programming interfaces
+_C_ established by SGI in conjunction with the Original Code are The
+_C_ OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
+_C_ April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
+_C_ 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
+_C_ Window System(R) (Version 1.3), released October 19, 1998. This software
+_C_ was created using the OpenGL(R) version 1.2.1 Sample Implementation
+_C_ published by SGI, but has not been independently verified as being
+_C_ compliant with the OpenGL(R) version 1.2.1 Specification.
+_C_
+_C_ $Date: 2001/03/19 17:45:27 $ $Revision: 1.1.1.1 $
+_C_ The first character in this file must be an '_'!
+_C_ Anything on a line after _C_ is ignored
+_define(_filters,eqn)_C_
+_C_ eqn is automatically replaced with neqn for nroff
+_header(TessVertex, specify a vertex on a polygon)
+_names(TessVertex)
+.EQ
+delim $$
+.EN
+.SH PARAMETERS
+_phead(_param1)
+Specifies the tessellation object (created with _cmnd(NewTess)).
+_phead(_param2)
+Specifies the location of the vertex.
+_phead(_param3)
+Specifies an opaque pointer passed back to the program with the vertex callback
+(as specified by _cmnd(TessCallback)).
+.SH DESCRIPTION
+_cmnd describes a vertex on a polygon that the program defines. Successive
+_cmnd calls describe a closed contour. For example,
+to describe a quadrilateral _cmnd should be called four times.
+_cmnd can only be called between _cmnd(TessBeginContour) and
+_cmnd(TessEndContour).
+.P
+_param3 normally points to a structure containing the vertex
+location, as well as other per-vertex attributes such as color and normal.
+This pointer is passed back to the user through the _gluconst(TESS_VERTEX)
+or _gluconst(TESS_VERTEX_DATA) callback after tessellation
+(see the _cmnd(TessCallback) reference page).
+.SH EXAMPLE
+A quadrilateral with a triangular hole in it can be described as follows:
+.sp
+.Ex
+gluTessBeginPolygon(tobj, NULL);
+ gluTessBeginContour(tobj);
+ gluTessVertex(tobj, v1, v1);
+ gluTessVertex(tobj, v2, v2);
+ gluTessVertex(tobj, v3, v3);
+ gluTessVertex(tobj, v4, v4);
+ gluTessEndContour(tobj);
+ gluTessBeginContour(tobj);
+ gluTessVertex(tobj, v5, v5);
+ gluTessVertex(tobj, v6, v6);
+ gluTessVertex(tobj, v7, v7);
+ gluTessEndContour(tobj);
+gluTessEndPolygon(tobj);
+.Ee
+.sp
+.SH NOTES
+It is a common error to use a local variable for _param2 or _param3 and store
+values into it as part of a loop.
+For example:
+.Ex
+for (i = 0; i < NVERTICES; ++i) {
+ GLdouble data[3];
+ data[0] = vertex[i][0];
+ data[1] = vertex[i][1];
+ data[2] = vertex[i][2];
+ gluTessVertex(tobj, data, data);
+ }
+.Ee
+.P
+This doesn't work.
+Because the pointers specified by _param2 and _param3 might not be
+dereferenced until _cmnd(TessEndPolygon) is executed,
+all the vertex coordinates but the very last set could be overwritten
+before tessellation begins.
+.P
+Two common symptoms of this problem are consists of a single point
+(when a local variable is used for _param3) and a
+_gluconst(TESS_NEED_COMBINE_CALLBACK) error (when a local variable is
+used for _param2).
+.SH SEE ALSO
+_cmnd(TessBeginPolygon), _cmnd(NewTess), _cmnd(TessBeginContour),
+_cmnd(TessCallback),
+_cmnd(TessProperty), _cmnd(TessNormal),
+_cmnd(TessEndPolygon)
+
+
diff --git a/xc/extras/ogl-sample/main/doc/man/manglu/standard/unproject.gl b/xc/extras/ogl-sample/main/doc/man/manglu/standard/unproject.gl
new file mode 100755
index 000000000..867ffd2a3
--- /dev/null
+++ b/xc/extras/ogl-sample/main/doc/man/manglu/standard/unproject.gl
@@ -0,0 +1,83 @@
+_C_ License Applicability. Except to the extent portions of this file are
+_C_ made subject to an alternative license as permitted in the SGI Free
+_C_ Software License B, Version 1.1 (the "License"), the contents of this
+_C_ file are subject only to the provisions of the License. You may not use
+_C_ this file except in compliance with the License. You may obtain a copy
+_C_ of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
+_C_ Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
+_C_
+_C_ http://oss.sgi.com/projects/FreeB
+_C_
+_C_ Note that, as provided in the License, the Software is distributed on an
+_C_ "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
+_C_ DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
+_C_ CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
+_C_ PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
+_C_
+_C_ Original Code. The Original Code is: OpenGL Sample Implementation,
+_C_ Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
+_C_ Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
+_C_ Copyright in any portions created by third parties is as indicated
+_C_ elsewhere herein. All Rights Reserved.
+_C_
+_C_ Additional Notice Provisions: The application programming interfaces
+_C_ established by SGI in conjunction with the Original Code are The
+_C_ OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
+_C_ April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
+_C_ 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
+_C_ Window System(R) (Version 1.3), released October 19, 1998. This software
+_C_ was created using the OpenGL(R) version 1.2.1 Sample Implementation
+_C_ published by SGI, but has not been independently verified as being
+_C_ compliant with the OpenGL(R) version 1.2.1 Specification.
+_C_
+_C_ $Date: 2001/03/19 17:45:27 $ $Revision: 1.1.1.1 $
+_C_ The first character in this file must be an '_'!
+_C_ Anything on a line after _C_ is ignored
+_define(_filters,eqn)_C_
+_C_ eqn is automatically replaced with neqn for nroff
+_header(UnProject, map window coordinates to object coordinates)
+_names(UnProject)
+.EQ
+delim $$
+.EN
+.SH PARAMETERS
+_phead(_param1 _param2 _param3)
+Specify the window coordinates to be mapped.
+_phead(_param4)
+Specifies the modelview matrix (as from a _glcmnd(GetDoublev) call).
+_phead(_param5)
+Specifies the projection matrix (as from a _glcmnd(GetDoublev) call).
+_phead(_param6)
+Specifies the viewport (as from a _glcmnd(GetIntegerv) call).
+_phead(_param7 _param8 _param9)
+Returns the computed object coordinates.
+.SH DESCRIPTION
+_cmnd maps the specified window coordinates into object
+coordinates using _param4, _param5, and _param6.
+The result is stored in _param7, _param8, and _param9. A return value of
+_const(TRUE) indicates success; a return value of _const(FALSE)
+indicates failure.
+.P
+To compute the coordinates (_param7, _param8, and _param9),
+_cmnd multiplies the normalized device coordinates by the inverse of
+_param4*_param5 as follows:
+
+.P
+.ce
+.EQ
+left ( down 70 {cpile { ~_eqnparam7 above ~_eqnparam8 above ~_eqnparam9
+above ~W}} ~~ right ) ~=~ INV(P M)
+left ( down 140 {cpile {
+{ {2(_eqnparam1 ~-~ _eqnparam6[0])} over {_eqnparam6 [2]} ~-~ 1 }
+above
+{ {2(_eqnparam2 ~-~ _eqnparam6[1])} over {_eqnparam6[3]} ~-~ 1 }
+above
+{ 2(_eqnparam3) ~-~ 1 }
+above
+1}} ~~ right )
+.EN
+.bp
+$INV()$ denotes matrix inversion.
+W is an unused variable, included for consistent matrix notation.
+.SH SEE ALSO
+_glcmnd(Get), _cmnd(Project)
diff --git a/xc/extras/ogl-sample/main/doc/man/manglu/standard/unproject4.gl b/xc/extras/ogl-sample/main/doc/man/manglu/standard/unproject4.gl
new file mode 100755
index 000000000..0cc14b661
--- /dev/null
+++ b/xc/extras/ogl-sample/main/doc/man/manglu/standard/unproject4.gl
@@ -0,0 +1,102 @@
+_C_ License Applicability. Except to the extent portions of this file are
+_C_ made subject to an alternative license as permitted in the SGI Free
+_C_ Software License B, Version 1.1 (the "License"), the contents of this
+_C_ file are subject only to the provisions of the License. You may not use
+_C_ this file except in compliance with the License. You may obtain a copy
+_C_ of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
+_C_ Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
+_C_
+_C_ http://oss.sgi.com/projects/FreeB
+_C_
+_C_ Note that, as provided in the License, the Software is distributed on an
+_C_ "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
+_C_ DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
+_C_ CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
+_C_ PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
+_C_
+_C_ Original Code. The Original Code is: OpenGL Sample Implementation,
+_C_ Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
+_C_ Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
+_C_ Copyright in any portions created by third parties is as indicated
+_C_ elsewhere herein. All Rights Reserved.
+_C_
+_C_ Additional Notice Provisions: The application programming interfaces
+_C_ established by SGI in conjunction with the Original Code are The
+_C_ OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
+_C_ April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
+_C_ 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
+_C_ Window System(R) (Version 1.3), released October 19, 1998. This software
+_C_ was created using the OpenGL(R) version 1.2.1 Sample Implementation
+_C_ published by SGI, but has not been independently verified as being
+_C_ compliant with the OpenGL(R) version 1.2.1 Specification.
+_C_
+_C_ $Date: 2001/03/19 17:45:27 $ $Revision: 1.1.1.1 $
+_C_ The first character in this file must be an '_'!
+_C_ Anything on a line after _C_ is ignored
+_define(_filters,eqn)_C_
+_C_ eqn is automatically replaced with neqn for nroff
+_header(UnProject4, map window and clip coordinates to object coordinates)
+_names(UnProject4)
+.EQ
+delim $$
+.EN
+.SH PARAMETERS
+_phead(_param1 _param2 _param3)
+Specify the window coordinates to be mapped.
+_phead(_param4)
+Specify the clip w coordinate to be mapped.
+_phead(_param5)
+Specifies the modelview matrix (as from a _glcmnd(GetDoublev) call).
+_phead(_param6)
+Specifies the projection matrix (as from a _glcmnd(GetDoublev) call).
+_phead(_param7)
+Specifies the viewport (as from a _glcmnd(GetIntegerv) call).
+_phead(_param8 _param9)
+Specifies the near and far planes (as from a _glcmnd(GetDoublev) call).
+_phead(_param10 _param11 _param12 _param13)
+Returns the computed object coordinates.
+.SH DESCRIPTION
+_cmnd maps the specified window coordinates _param1, _param2 and _param3
+and its clip w coordinate _param4
+into object
+coordinates (_param10, _param11, _param12, _param13)
+using _param5, _param6 and _param7. _param4 can be other than
+1 as for vertices in _glcmnd(FeedbackBuffer) when data type
+_const(4D_COLOR_TEXTURE) is returned.
+This also handles the case
+where the _param8 and _param9 planes are different from the default,
+0 and 1, respectively.
+A return
+value of _const(TRUE) indicates success; a return value of _const(FALSE)
+indicates failure.
+.P
+To compute the coordinates (_param10, _param11, _param12 and _param13),
+_cmnd multiplies the normalized device coordinates by the inverse of
+_param5*_param6 as follows:
+
+.P
+.ce
+.EQ
+left ( down 70 {cpile { ~_eqnparam10 above ~_eqnparam11 above ~_eqnparam12
+above ~_eqnparam13}} ~~ right ) ~=~ INV(P M)
+left ( down 140 {cpile {
+{ {2(_eqnparam1 ~-~ _eqnparam7[0])} over {_eqnparam7[2]} ~-~ 1 }
+above
+{ {2(_eqnparam2 ~-~ _eqnparam7[1])} over {_eqnparam7[3]} ~-~ 1 }
+above
+{ {2(_eqnparam3 ~-~ _eqnparam8)} over {(_eqnparam9 ~-~ _eqnparam8)} ~-~ 1 }
+above
+_eqnparam4}} ~~ right )
+.EN
+.sp
+$INV()$ denotes matrix inversion.
+.P
+_cmnd is equivalent to _cmnd(UnProject) when _param4 is 1, _param8 is 0 and
+_param9 is 1.
+.SH NOTES
+_cmnd is available only if the GLU version is 1.3 or greater.
+.SH SEE ALSO
+_glcmnd(Get),
+_glcmnd(FeedbackBuffer),
+_cmnd(Project),
+_cmnd(UnProject)
diff --git a/xc/extras/ogl-sample/main/doc/man/manrules b/xc/extras/ogl-sample/main/doc/man/manrules
new file mode 100755
index 000000000..66f45a8c7
--- /dev/null
+++ b/xc/extras/ogl-sample/main/doc/man/manrules
@@ -0,0 +1,181 @@
+#
+# License Applicability. Except to the extent portions of this file are
+# made subject to an alternative license as permitted in the SGI Free
+# Software License B, Version 1.1 (the "License"), the contents of this
+# file are subject only to the provisions of the License. You may not use
+# this file except in compliance with the License. You may obtain a copy
+# of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
+# Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
+#
+# http://oss.sgi.com/projects/FreeB
+#
+# Note that, as provided in the License, the Software is distributed on an
+# "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
+# DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
+# CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
+# PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
+#
+# Original Code. The Original Code is: OpenGL Sample Implementation,
+# Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
+# Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
+# Copyright in any portions created by third parties is as indicated
+# elsewhere herein. All Rights Reserved.
+#
+# Additional Notice Provisions: The application programming interfaces
+# established by SGI in conjunction with the Original Code are The
+# OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
+# April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
+# 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
+# Window System(R) (Version 1.3), released October 19, 1998. This software
+# was created using the OpenGL(R) version 1.2.1 Sample Implementation
+# published by SGI, but has not been independently verified as being
+# compliant with the OpenGL(R) version 1.2.1 Specification.
+#
+# $Date: 2001/03/19 17:45:27 $ $Revision: 1.1.1.1 $
+# $Header: /home/ajax/dri-backup/xc/xc/extras/ogl-sample/main/doc/man/Attic/manrules,v 1.1.1.1 2001/03/19 17:45:27 dawes Exp $
+
+# Generic rules for making manpages
+#
+# Usage:
+# make <name>.psv # view page with $(PSVIEW) (no file created)
+# make <name>.xpsv # view page with $(XPSVIEW) (no file created)
+# make <name>.dit # view page with $(DITVIEW) (no file created)
+# make <name>.p # print page (no file created)
+# make <name>.ps # create PostScript for page
+# make <name>.z # create online packed version; view with
+# # man -d <name>.z
+# make <name>.tr # create troff source for man page
+# make print-list # writes a list of the hardcopy (.p) targets
+# # for the current directory to stdout
+#
+# make default # the standard SGI targets
+# make install
+# make clean
+# make clobber
+#
+#
+
+TT = /tmp/mmdoc$$$$
+
+# To provide override, define MANPREF
+$(MANPREF)default: $(MANPREF)_force
+ @$(LISTLEGAL) \
+ | sed -e 's/\.$(LEGALSUF1)$$/.z/' -e 's/\.$(LEGALSUF2)$$/.z/' \
+ -e 's/\.$(LEGALSUF3)$$/.z/' -e 's/\.$(LEGALSUF4)$$/.z/' \
+ | xargs -l4 $(MAKE)
+
+# remove all .z, .ps, and unsuffixed versions of legal man filenames (except
+# a, c, f, and p).
+$(MANPREF)clean:
+ find . \( -name '*.z' -o -name '*.ps' \) -print | xargs rm -f
+ $(LISTLEGAL) \
+ | sed -e 's/\.$(LEGALSUF1)$$//' -e 's/\.$(LEGALSUF2)$$//' \
+ -e 's/\.$(LEGALSUF3)$$//' -e 's/\.$(LEGALSUF4)$$//' \
+ | sed '/^[acfp]$$/d' \
+ | xargs rm -f
+ rm -f $(LDIRT)
+
+$(MANPREF)clobber: $(MANPREF)clean
+
+#
+# Define generic build rules
+#
+# Some directories have multiple sections in them (like 3c, 3, 3x, etc)
+# and so we must define more than 1 default rule.
+#
+# The .mn suffix is for pages that are part of the printed GL Reference Manual
+# but not of the online man pages.
+#
+.SUFFIXES:.z .p .ps .dit .tr .psv .xpsv .1 .1c .1g .1m .1w .1X .2 .2b .3 .3a .3b .3c .3f .gl .3m .3n .3p .3r .3s .3t .3w .3x .3y .4 .5 .5w .6 .6d .7 .7p .7m .3X11 .3Xt .3i .mn .3l .3gl .html
+
+.gl.3gl:
+ @echo "\t$(MMDOC) Op=$(LANGOPT) $< > $@"
+ @$(ADDMAGIC) | $(THTOUPPER) > $@
+
+.1.z .1c.z .1g.z .1m.z .1w.z .1X.z .2.z .2b.z .3.z .3a.z .3f.z .3c.z .3p.z .3y.z .3r.z .3x.z .3n.z .3w.z .3s.z .3b.z .3m.z .3t.z .4.z .5.z .5w.z .6.z .6d.z .7.z .7p.z .7m.z .gl.z .3X11.z .3Xt.z .3i.z .3l.z:
+ @echo "\t$(MMDOC) Op=$(LANGOPT) $< | pack > $*.z"
+ @$(ADDMAGIC) | $(THTOUPPER) > $(TT) ; $(RUNMMDOC) $(TT) > $* ; \
+ rm -f $(TT)
+ @rm -f $*.z; pack -f $* > /dev/null
+
+.1.p .1c.p .1g.p .1m.p .1w.p .1X.p .2.p .2b.p .3.p .3a.p .3f.p .3c.p .3p.p .3y.p .3r.p .3x.p .3n.p .3w.p .3s.p .3b.p .3m.p .3t.p .4.p .5.p .5w.p .6.p .6d.p .7.p .7p.p .7m.p .3X11.p .3Xt.p .3i.p .3l.p:
+ @echo "\t$(MMDOC) -Tpsc -rC5 Op=$(LANGOPT) $<"
+ @$(ADDMAGIC) > $(TT) ; $(RUNMMDOC) -Tpsc -rC5 $(TT) ; rm -f $(TT)
+
+.gl.p .mn.p:
+ @echo "\t$(MMDOC) -Tpsc -rC5 Op=$(LANGOPT) $<"
+ @$(ADDGLMAGIC) > $(TT) ; $(RUNMMDOC) -Tpsc -rC5 $(TT) ; rm -f $(TT)
+
+.1.ps .1c.ps .1g.ps .1m.ps .1w.ps .1X.ps .2.ps .2b.ps .3.ps .3a.ps .3f.ps .3c.ps .3p.ps .3y.ps .3r.ps .3x.ps .3n.ps .3w.ps .3s.ps .3b.ps .3m.ps .3t.ps .4.ps .5.ps .5w.ps .6.ps .6d.ps .7.ps .7p.ps .7m.ps .3X11.ps .3Xt.ps .3i.ps .3l.ps:
+ @echo "\t$(MMDOC) -TPS Op=$(LANGOPT) $< > $@"
+ @$(ADDMAGIC) > $(TT) ; $(RUNMMDOC) -TPS $(TT) > $@ ; rm -f $(TT)
+
+.gl.ps .mn.ps:
+ @echo "\t$(MMDOC) -TPS Op=$(LANGOPT) $< > $@"
+ @$(ADDGLMAGIC) > $(TT) ; $(RUNMMDOC) -TPS $(TT) > $@ ; rm -f $(TT)
+
+.gl.tr .mn.tr:
+# @echo "\t$(ADDGLMAGIC) $< > $@"
+ @$(ADDGLMAGIC) > $@
+
+.tr.ps:
+ @echo "\t$(MMDOC) -TPS Op=$(LANGOPT) $< > $@"
+ @$(RUNMMDOC) -TPS $< > $@
+
+.1.psv .1c.psv .1g.psv .1m.psv .1w.psv .1X.psv .2.psv .2b.psv .3.psv .3a.psv.3f.psv .3c.psv .3p.psv .3y.psv .3r.psv .3x.psv .3n.psv .3w.psv .3s.psv .3b.psv .3m.psv .3t.psv .4.psv .5.psv .5w.psv .6.psv .6d.psv .7.psv .7p.psv .7m.psv .3X11.psv .3Xt.psv .3i.psv .3l.psv:
+ @echo "\t$(MMDOC) -TPS -rC4 Op=$(LANGOPT) $< | $(PSVIEW) $(PSVIEWOPTS)"
+ @$(ADDMAGIC) > $(TT) ; $(RUNMMDOC) -TPS -rC4 $(TT) | $(PSVIEW) $(PSVIEWOPTS); rm -f $(TT)
+
+.gl.psv .mn.psv:
+ @echo "\t$(MMDOC) -TPS -rC4 Op=$(LANGOPT) $< | $(PSVIEW) $(PSVIEWOPTS)"
+ @$(ADDGLMAGIC) > $(TT) ; $(RUNMMDOC) -TPS -rC4 $(TT) | $(PSVIEW) $(PSVIEWOPTS); rm -f $(TT)
+
+.1.xpsv .1c.xpsv .1g.xpsv .1m.xpsv .1w.xpsv .1X.xpsv .2.xpsv .2b.xpsv .3.xpsv .3a.xpsv .3f.xpsv .3c.xpsv .3p.xpsv .3y.xpsv .3r.xpsv .3x.xpsv .3n.xpsv .3w.xpsv .3s.xpsv .3b.xpsv .3m.xpsv .3t.xpsv .4.xpsv .5.xpsv .5w.xpsv .6.xpsv .6d.xpsv .7.xpsv .7p.xpsv .7m.xpsv .3X11.xpsv .3Xt.xpsv .3i.xpsv .3l.xpsv .3il.xpsv:
+ @echo "\t$(MMDOC) -TPS -rC4 Op=$(LANGOPT) $< | $(XPSVIEW) $(XPSVIEWOPTS)"
+ @$(ADDMAGIC) > $(TT) ; $(RUNMMDOC) -TPS -rC4 $(TT) | $(XPSVIEW) $(XPSVIEWOPTS); rm -f $(TT)
+
+.gl.xpsv .mn.xpsv:
+ @echo "\t$(MMDOC) -TPS -rC4 Op=$(LANGOPT) $< | $(XPSVIEW) $(XPSVIEWOPTS)"
+ @$(ADDGLMAGIC) > $(TT) ; $(RUNMMDOC) -TPS -rC4 $(TT) | $(XPSVIEW) $(XPSVIEWOPTS); rm -f $(TT)
+
+.1.dit .1c.dit .1g.dit .1m.dit .1w.dit .1X.dit .2.dit .2b.dit .3.dit .3a.dit .3f.dit .3c.dit .3p.dit .3y.dit .3r.dit .3x.dit .3n.dit .3w.dit .3s.dit .3b.dit .3m.dit .3t.dit .4.dit .5.dit .5w.dit .6.dit .6d.dit .7.dit .7p.dit .7m.dit .3X11.dit .3Xt.dit .3i.dit .3l.dit:
+ @echo "\t$(MMDOC) -TX100 -rC4 Op=$(LANGOPT) $< | $(DITVIEW)"
+ @$(ADDMAGIC) > $(TT) ; $(RUNMMDOC) -TX100 -rC4 $(TT) | $(DITVIEW)
+
+.gl.dit .mn.dit:
+ @echo "\t$(MMDOC) -TX100 -rC4 Op=$(LANGOPT) $< | $(DITVIEW)"
+ @$(ADDGLMAGIC) > $(TT) ; $(RUNMMDOC) -TX100 -rC4 $(TT) | $(DITVIEW)
+
+# The Irix man -d option must have a full pathname. This assumes
+# that $(VPATH) is the full pathname to the dependency directory.
+ifeq ($(OS),IRIX)
+.3gl.html:
+ man -d $(VPATH)/$(<F) | $(MAN2HTML) > $@
+endif
+ifeq ($(OS),Linux)
+.3gl.html:
+ man -M . $< | $(MAN2HTML) > $@
+endif
+
+# write a list of the hardcopy (.p) targets for the current directory to stdout
+# use LOCALPRINTLISTFILTER to do directory-dependent filtering, e.g reordering
+# to put intro.p first
+print-list: $(MANPREF)_force
+ @$(LISTLEGAL) \
+ | sed -e 's/\.$(LEGALSUF1)$$/.p/' -e 's/\.$(LEGALSUF2)$$/.p/' \
+ -e 's/\.$(LEGALSUF3)$$/.p/' -e 's/\.$(LEGALSUF4)$$/.p/' \
+ | sort -t. +0 -1 \
+ $(LOCALPRINTLISTFILTER)
+
+$(MANPREF)install: $(MANPREF)default MakeOtherInstalls
+ $(INSTALL) -idb $(IDB_TAG) -m 444 -F $(IDB_PATH) *.z
+
+# only look for aliases in legal man page filenames
+MakeOtherInstalls: $(MANPREF)_force
+ @echo "\tmaking symlink install lines"
+ @$(LISTLEGAL) \
+ | xargs $(GETNAMES) opt=$(LANGOPT) \
+ | $(ADDINST) $(IDB_TAG) $(IDB_PATH) $(INSTALL) > $(TT); \
+ sh $(TT); rm -f $(TT)
+
+$(MANPREF)_force:
diff --git a/xc/extras/ogl-sample/main/doc/man/tools/GNUmakefile b/xc/extras/ogl-sample/main/doc/man/tools/GNUmakefile
new file mode 100755
index 000000000..1420ea5d3
--- /dev/null
+++ b/xc/extras/ogl-sample/main/doc/man/tools/GNUmakefile
@@ -0,0 +1,49 @@
+#!gmake
+#
+# License Applicability. Except to the extent portions of this file are
+# made subject to an alternative license as permitted in the SGI Free
+# Software License B, Version 1.1 (the "License"), the contents of this
+# file are subject only to the provisions of the License. You may not use
+# this file except in compliance with the License. You may obtain a copy
+# of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
+# Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
+#
+# http://oss.sgi.com/projects/FreeB
+#
+# Note that, as provided in the License, the Software is distributed on an
+# "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
+# DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
+# CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
+# PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
+#
+# Original Code. The Original Code is: OpenGL Sample Implementation,
+# Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
+# Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
+# Copyright in any portions created by third parties is as indicated
+# elsewhere herein. All Rights Reserved.
+#
+# Additional Notice Provisions: The application programming interfaces
+# established by SGI in conjunction with the Original Code are The
+# OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
+# April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
+# 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
+# Window System(R) (Version 1.3), released October 19, 1998. This software
+# was created using the OpenGL(R) version 1.2.1 Sample Implementation
+# published by SGI, but has not been independently verified as being
+# compliant with the OpenGL(R) version 1.2.1 Specification.
+#
+# $Date: 2001/03/19 17:45:27 $ $Revision: 1.1.1.1 $
+# $Header: /home/ajax/dri-backup/xc/xc/extras/ogl-sample/main/doc/man/tools/Attic/GNUmakefile,v 1.1.1.1 2001/03/19 17:45:27 dawes Exp $
+
+COMMONPREF = standard
+include $(ROOT)/usr/include/make/commondefs
+
+default headers headers_install libs libs_install install apps:
+ chmod +x mdate.pl mmdoc glman
+
+distsi distoss:
+ $(MAKE) $(COMMONPREF)$@
+
+$(COMMONTARGS): % : $(COMMONPREF)%
+
+include $(COMMONRULES)
diff --git a/xc/extras/ogl-sample/main/doc/man/tools/constCheck.pl b/xc/extras/ogl-sample/main/doc/man/tools/constCheck.pl
new file mode 100755
index 000000000..ab6ffc8a3
--- /dev/null
+++ b/xc/extras/ogl-sample/main/doc/man/tools/constCheck.pl
@@ -0,0 +1,160 @@
+#! /usr/sbin/perl
+#
+# License Applicability. Except to the extent portions of this file are
+# made subject to an alternative license as permitted in the SGI Free
+# Software License B, Version 1.1 (the "License"), the contents of this
+# file are subject only to the provisions of the License. You may not use
+# this file except in compliance with the License. You may obtain a copy
+# of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
+# Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
+#
+# http://oss.sgi.com/projects/FreeB
+#
+# Note that, as provided in the License, the Software is distributed on an
+# "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
+# DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
+# CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
+# PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
+#
+# Original Code. The Original Code is: OpenGL Sample Implementation,
+# Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
+# Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
+# Copyright in any portions created by third parties is as indicated
+# elsewhere herein. All Rights Reserved.
+#
+# Additional Notice Provisions: The application programming interfaces
+# established by SGI in conjunction with the Original Code are The
+# OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
+# April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
+# 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
+# Window System(R) (Version 1.3), released October 19, 1998. This software
+# was created using the OpenGL(R) version 1.2.1 Sample Implementation
+# published by SGI, but has not been independently verified as being
+# compliant with the OpenGL(R) version 1.2.1 Specification.
+#
+# $Date: 2001/03/19 17:45:28 $ $Revision: 1.1.1.1 $
+# $Header: /home/ajax/dri-backup/xc/xc/extras/ogl-sample/main/doc/man/tools/Attic/constCheck.pl,v 1.1.1.1 2001/03/19 17:45:28 dawes Exp $
+
+#-----------------------------------------------------------------------------
+#
+# Command line options
+#
+
+use Getopt::Std;
+getopts( 'v' );
+
+$verbose = 1 if $opt_v;
+
+#-----------------------------------------------------------------------------
+#
+# Configuration Variables
+#
+
+$ROOT = $ENV{'ROOT'};
+
+#-----------------------------------------------------------------------------
+#
+# Reference Files
+#
+
+$gl_h = "$ROOT/usr/include/GL/gl.h";
+$glu_h = "$ROOT/usr/include/GL/glu.h";
+$glx_h = "$ROOT/usr/include/GL/glx.h";
+$glxtokens_h = "$ROOT/usr/include/GL/glxtokens.h";
+
+
+#-----------------------------------------------------------------------------
+#
+# Build lookup tables
+#
+
+%glTokens = ();
+open( INFILE, "$gl_h" );
+while ( <INFILE> ) {
+ $glTokens{$1} = 1 if /^\#\s*define\s+GL_([\w\d_]+)/;
+}
+close( INFILE );
+
+%gluTokens = ();
+open( INFILE, "$glu_h" );
+while ( <INFILE> ) {
+ $gluTokens{$1} = 1 if /^\#\s*define\s+GLU_([\w\d_]+)/;
+}
+close( INFILE );
+
+%glxTokens = ();
+open( INFILE, "$glx_h" );
+while ( <INFILE> ) {
+ $glxTokens{$1} = 1 if /^\#\s*define\s+GLX_([\w\d_]+)/;
+}
+close( INFILE );
+
+open( INFILE, "$glxtokens_h" );
+while ( <INFILE> ) {
+ $glxTokens{$1} = 1 if /^\#\s*define\s+GLX_([\w\d_]+)/;
+}
+close( INFILE );
+
+
+#-----------------------------------------------------------------------------
+#
+# Check files
+#
+
+$fmt = "[%s:%d] Undefined %s constant : '%s'\n";
+
+foreach $file ( @ARGV ) {
+ $line = 1;
+ open( INFILE, "$file" ) || ( warn "Unable to open file '$file'\n", next );
+
+ print "Checking '$file' ...\n" if $verbose;
+
+ while ( <INFILE> ) {
+ @words = split;
+ @tokens = grep( /_\w*const\([\w\d_]+\)/, @words );
+
+ foreach ( @tokens ) {
+ /(_\w*const)\(([\w\d]+)\)/;
+ $constTag = $1;
+ $token = $2;
+
+ SWITCH : {
+ $constTag =~ /_const|_econst|_extstring/
+ && do {
+ printf( $fmt, $file, $line, "GL", $token)
+ unless $glTokens{$token} == 1;
+ last SWITCH;
+ };
+
+ #
+ # _arbconst's tack an extra "_ARB" onto the end of the
+ # token. We need to check that.
+ #
+ $constTag =~ /_arbconst/
+ && do {
+ $arbToken = $token . "_ARB";
+ printf( $fmt, $file, $line, "GL", $token)
+ unless $glTokens{$arbToken} == 1;
+ last SWITCH;
+ };
+
+ $constTag =~ /_gluconst/
+ && do {
+ printf( $fmt, $file, $line, "GLU", $token)
+ unless $gluTokens{$token} == 1;
+ last SWITCH;
+ };
+
+ $constTag =~ /_glxconst|_glxerror|_glxextstring/
+ && do {
+ printf( $fmt, $file, $line, "GLX", $token)
+ unless $glxTokens{$token} == 1;
+ last SWITCH;
+ };
+ }
+ }
+
+ $line++;
+ }
+ close( INFILE );
+}
diff --git a/xc/extras/ogl-sample/main/doc/man/tools/glman b/xc/extras/ogl-sample/main/doc/man/tools/glman
new file mode 100755
index 000000000..6ba5fe5ae
--- /dev/null
+++ b/xc/extras/ogl-sample/main/doc/man/tools/glman
@@ -0,0 +1,57 @@
+#! /bin/sh
+#
+# License Applicability. Except to the extent portions of this file are
+# made subject to an alternative license as permitted in the SGI Free
+# Software License B, Version 1.1 (the "License"), the contents of this
+# file are subject only to the provisions of the License. You may not use
+# this file except in compliance with the License. You may obtain a copy
+# of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
+# Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
+#
+# http://oss.sgi.com/projects/FreeB
+#
+# Note that, as provided in the License, the Software is distributed on an
+# "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
+# DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
+# CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
+# PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
+#
+# Original Code. The Original Code is: OpenGL Sample Implementation,
+# Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
+# Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
+# Copyright in any portions created by third parties is as indicated
+# elsewhere herein. All Rights Reserved.
+#
+# Additional Notice Provisions: The application programming interfaces
+# established by SGI in conjunction with the Original Code are The
+# OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
+# April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
+# 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
+# Window System(R) (Version 1.3), released October 19, 1998. This software
+# was created using the OpenGL(R) version 1.2.1 Sample Implementation
+# published by SGI, but has not been independently verified as being
+# compliant with the OpenGL(R) version 1.2.1 Specification.
+#
+# $Date: 2001/03/19 17:45:28 $ $Revision: 1.1.1.1 $
+# $Header: /home/ajax/dri-backup/xc/xc/extras/ogl-sample/main/doc/man/tools/Attic/glman,v 1.1.1.1 2001/03/19 17:45:28 dawes Exp $
+
+# $1 is the value of $PREFIX, $2 is the value of $DEPTH,
+# $3 is the target name, and $4 is the api file name.
+# $5 is M4 options (if any)
+
+bNamE=`echo $3 | sed -e s/\\\..*//`
+maCdIr=$2/macros
+export maCdIr
+m4opts=$5
+
+case `pwd` in
+ *ftn) mKHeaD=mkhead.ftn.awk ; SeTUp=setup.ftn ;;
+ *) mKHeaD=mkhead.awk ; SeTUp=setup ;;
+esac
+
+trap "rm -rf glmanm4.$$" 0 1 2 15
+
+aPiFile=${4:-$ROOT/usr/include/GL/gl.h}
+
+awk -f $2/macros/$mKHeaD -v prefix=$1 -v basename=$bNamE $aPiFile >glmanm4.$$
+cat $2/macros/$SeTUp glmanm4.$$ $3 | m4 $m4opts
diff --git a/xc/extras/ogl-sample/main/doc/man/tools/man2html b/xc/extras/ogl-sample/main/doc/man/tools/man2html
new file mode 100755
index 000000000..4953a6632
--- /dev/null
+++ b/xc/extras/ogl-sample/main/doc/man/tools/man2html
@@ -0,0 +1,608 @@
+#!/usr/bin/perl
+#!/usr/local/bin/perl
+##---------------------------------------------------------------------------##
+## File:
+## @(#) man2html 1.2 97/08/12 12:57:30 @(#)
+## Author:
+## Earl Hood, ehood@medusa.acs.uci.edu
+## Description:
+## man2html is a Perl program to convert formatted nroff output
+## to HTML.
+##
+## Recommend command-line options based on platform:
+##
+## Platform Options
+## ---------------------------------------------------------------------
+## c2mp <None, the defaults should be okay>
+## hp9000s700/800 -leftm 1 -topm 8
+## sun4 -sun
+## ---------------------------------------------------------------------
+##
+##---------------------------------------------------------------------------##
+## Copyright (C) 1995-1997 Earl Hood, ehood@medusa.acs.uci.edu
+##
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2 of the License, or
+## (at your option) any later version.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+## 02111-1307, USA
+##---------------------------------------------------------------------------##
+
+package Man2Html;
+
+use Getopt::Long;
+
+($PROG = $0) =~ s/.*\///;
+$VERSION = "3.0.1";
+
+## Input and outputs filehandles
+$InFH = \*STDIN unless $InFH;
+$OutFH = \*STDOUT unless $OutFH;
+
+## Backspace character: Used in overstriking detection
+*bs = \"\b";
+
+## Hash of section titles and their HTML tag wrapper.
+## This list allows customization of what HTML tag is used for
+## a given section head.
+##
+## The section title can be a regular expression. Therefore, one must
+## be careful about quoting special characters.
+##
+%SectionHead = (
+
+ '\S.*OPTIONS.*' => '<H2>',
+ 'AUTHORS?' => '<H2>',
+ 'BUGS' => '<H2>',
+ 'COMPATIBILITY' => '<H2>',
+ 'DEPENDENCIES' => '<H2>',
+ 'DESCRIPTION' => '<H2>',
+ 'DIAGNOSTICS' => '<H2>',
+ 'ENVIRONMENT' => '<H2>',
+ 'ERRORS' => '<H2>',
+ 'EXAMPLES' => '<H2>',
+ 'EXTERNAL INFLUENCES' => '<H2>',
+ 'FILES' => '<H2>',
+ 'LIMITATIONS' => '<H2>',
+ 'NAME' => '<H2>',
+ 'NOTES?' => '<H2>',
+ 'OPTIONS' => '<H2>',
+ 'REFERENCES' => '<H2>',
+ 'RETURN VALUE' => '<H2>',
+ 'SECTION.*:' => '<H2>',
+ 'SEE ALSO' => '<H2>',
+ 'STANDARDS CONFORMANCE' => '<H2>',
+ 'STYLE CONVENTION' => '<H2>',
+ 'SYNOPSIS' => '<H2>',
+ 'SYNTAX' => '<H2>',
+ 'WARNINGS' => '<H2>',
+ '\s+Section.*:' => '<H3>',
+
+);
+
+## Fallback tag if above is not found
+$HeadFallback = '<H2>';
+
+## Other gobals
+
+$Bare = 0; # Skip printing HTML head/foot flag
+$BTag = 'B'; # Overstrike tag
+$CgiUrl = ''; # CGI URL expression
+$Compress = 0; # Do blank line compression flag
+$K = 0; # Do keyword search processing flag
+$NoDepage = 0; # Do not strip page information
+$NoHeads = 0; # Do no header detection flag
+$SeeAlso = 0; # Do only SEE ALSO xrefs flag
+$Solaris = 0; # Solaris keyword search processing flag
+$Sun = 0; # Headers not overstriken flag
+$Title = ''; # Title
+$UTag = 'I'; # Underline tag
+$ftsz = 7; # Bottome margin size
+$hdsz = 7; # Top margin size
+$leftm = ''; # Left margin pad
+$leftmsz = 0; # Left margin size
+$pgsz = 66; # Size of page size
+$txsz = 52; # Text body length size
+
+#############################################################################
+## Main Block
+#############################################################################
+{
+ if (get_cli_opts()) {
+ if ($K) {
+ man_k();
+ } else {
+ do_it();
+ }
+ } else {
+ usage();
+ }
+}
+
+#############################################################################
+## Subroutines
+#############################################################################
+
+sub do_it {
+
+ ## Define while loop and then eval it when used. The reason
+ ## is to avoid the regular expression reevaulation in the
+ ## section head detection code.
+
+ $doitcode =<<'EndOfDoItCode';
+
+ my($line, $tmp, $i, $head, $preindent, $see_also, $do);
+
+ $see_also = !$SeeAlso;
+ print $OutFH "<!-- Manpage converted by man2html $VERSION -->\n";
+ LOOP: while(!eof($InFH)) {
+ $blank = 0;
+ for ($i=0; $i < $hdsz; $i++) {
+ last LOOP unless defined($_ = <$InFH>);
+ }
+ for ($i=0; $i < $txsz; $i++) {
+ last LOOP unless defined($_ = <$InFH>);
+
+ ## Check if compress consecutive blank lines
+ if ($Compress and !/\S/) {
+ if ($blank) { next; } else { $blank = 1; }
+ } else {
+ $blank = 0;
+ }
+
+ ## Try to check if line space is needed at page boundaries ##
+ if (!$NoDepage && ($i==0 || $i==($txsz-1)) && !/^\s*$/) {
+ /^(\s*)/; $tmp = length($1);
+ if ($do) {
+ if ($tmp < $preindent) { print $OutFH "\n"; }
+ } else {
+ $do = 1;
+ }
+ $preindent = $tmp;
+ } else {
+ $do = 0; $preindent = 0;
+ }
+
+ ## Interpret line
+ $line = $_;
+ entitize(\$_); # Convert [$<>] to entity references
+
+ ## Check for 'SEE ALSO' link only
+ if (!$see_also && $CgiUrl && $SeeAlso) {
+ ($tmp = $line) =~ s/.\010//go;
+ if ($tmp =~ /^\s*SEE\s+ALSO\s*$/o) { $see_also = 1; }
+ else { $see_also = 0; }
+ }
+
+ ## Create anchor links for manpage references
+ s/((((.\010)+)?[\+_\.\w-])+\(((.\010)+)?
+ \d((.\010)+)?\w?\))
+ /make_xref($1)
+ /geox if $see_also;
+
+ ## Emphasize underlined words
+ # s/((_\010[^_])+[\.\(\)_]?(_\010[^_])+\)?)/emphasize($1)/oge;
+ # s/((_\010[^_])+([\.\(\)_]?(_\010[^_])+)?)/emphasize($1)/oge;
+ #
+ # The previous expressions were trying to be clever about
+ # detecting underlined text which contain non-alphanumeric
+ # characters. nroff will not underline non-alphanumeric
+ # characters in an underlined phrase, and the above was trying
+ # to detect that. It does not work all the time, and it
+ # screws up other text, so a simplified expression is used.
+
+ s/((_\010[^_])+)/emphasize($1)/oge;
+
+ $secth = 0;
+ ## Check for strong text and headings
+ if ($Sun || /.\010./o) {
+ if (!$NoHeads) {
+ $line =~ s/.\010//go;
+ $tmp = $HeadFallback;
+EndOfDoItCode
+
+ ## Create switch statement for detecting a heading
+ ##
+ $doitcode .= "HEADSW: {\n";
+ foreach $head (keys %SectionHead) {
+ $doitcode .= join("", "\$tmp = '$SectionHead{$head}', ",
+ "\$secth = 1, last HEADSW ",
+ "if \$line =~ /^$leftm$head/o;\n");
+ }
+ $doitcode .= "}\n";
+
+ ## Rest of routine
+ ##
+ $doitcode .=<<'EndOfDoItCode';
+ if ($secth || $line =~ /^$leftm\S/o) {
+ chop $line;
+ $_ = $tmp . $line . $tmp;
+ s%<([^>]*)>$%</$1>%;
+ $_ = "\n</PRE>\n" . $_ . "<PRE>\n";
+ } else {
+ s/(((.\010)+.)+)/strongize($1)/oge;
+ }
+ } else {
+ s/(((.\010)+.)+)/strongize($1)/oge;
+ }
+ }
+ print $OutFH $_;
+ }
+
+ for ($i=0; $i < $ftsz; $i++) {
+ last LOOP unless defined($_ = <$InFH>);
+ }
+ }
+EndOfDoItCode
+
+
+ ## Perform processing.
+
+ printhead() unless $Bare;
+ print $OutFH "<PRE>\n";
+ eval $doitcode; # $doitcode defined above
+ print $OutFH "</PRE>\n";
+ printtail() unless $Bare;
+}
+
+##---------------------------------------------------------------------------
+##
+sub get_cli_opts {
+ return 0 unless
+ GetOptions(
+ "bare", # Leave out HTML, HEAD, BODY tags.
+ "belem=s", # HTML Element for overstriked text (def: "B")
+ "botm=i", # Number of lines for bottom margin (def: 7)
+ "cgiurl=s", # CGI URL for linking to other manpages
+ "cgiurlexp=s", # CGI URL Perl expr for linking to other manpages
+ "compress", # Compress consecutive blank lines
+ "headmap=s", # Filename of user section head map file
+ "k", # Process input from 'man -k' output.
+ "leftm=i", # Character width of left margin (def: 0)
+ "nodepage", # Do not remove pagination lines
+ "noheads", # Do not detect for section heads
+ "pgsize=i", # Number of lines in a page (def: 66)
+ "seealso", # Link to other manpages only in the SEE ALSO section
+ "solaris", # Parse 'man -k' output from a solaris system
+ "sun", # Section heads are not overstriked in input
+ "title=s", # Title of manpage (def: Not defined)
+ "topm=i", # Number of lines for top margin (def: 7)
+ "uelem=s", # HTML Element for underlined text (def: "I")
+
+ "help" # Short usage message
+ );
+ return 0 if defined($opt_help);
+
+ $pgsz = $opt_pgsize || $pgsz;
+ if (defined($opt_nodepage)) {
+ $hdsz = 0;
+ $ftsz = 0;
+ } else {
+ $hdsz = $opt_topm if defined($opt_topm);
+ $ftsz = $opt_botm if defined($opt_botm);
+ }
+ $txsz = $pgsz - ($hdsz + $ftsz);
+ $leftmsz = $opt_leftm if defined($opt_leftm);
+ $leftm = ' ' x $leftmsz;
+
+ $Bare = defined($opt_bare);
+ $Compress = defined($opt_compress);
+ $K = defined($opt_k);
+ $NoDepage = defined($opt_nodepage);
+ $NoHeads = defined($opt_noheads);
+ $SeeAlso = defined($opt_seealso);
+ $Solaris = defined($opt_solaris);
+ $Sun = defined($opt_sun);
+
+ $Title = $opt_title || $Title;
+ $CgiUrl = $opt_cgiurlexp ||
+ ($opt_cgiurl ? qq{return "$opt_cgiurl"} : '');
+
+ $BTag = $opt_belem || $BTag;
+ $UTag = $opt_uelem || $UTag;
+ $BTag =~ s/[<>]//g;
+ $UTag =~ s/[<>]//g;
+
+ if (defined($opt_headmap)) {
+ require $opt_headmap or warn "Unable to read $opt_headmap\n";
+ }
+ 1;
+}
+
+##---------------------------------------------------------------------------
+sub printhead {
+ print $OutFH "<HTML>\n";
+ print $OutFH "<HEAD>\n",
+ "<TITLE>$Title</TITLE>\n",
+ "</HEAD>\n" if $Title;
+ print $OutFH "<BODY>\n";
+ print $OutFH "<H1>$Title</H1>\n",
+ "<HR>\n" if $Title;
+}
+
+##---------------------------------------------------------------------------
+sub printtail {
+ print $OutFH <<EndOfRef;
+<HR>
+<ADDRESS>
+Man(1) output converted with
+<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
+</ADDRESS>
+</BODY>
+</HTML>
+EndOfRef
+}
+
+##---------------------------------------------------------------------------
+sub emphasize {
+ my($txt) = shift;
+ $txt =~ s/.\010//go;
+ $txt = "<$UTag>$txt</$UTag>";
+ $txt;
+}
+
+##---------------------------------------------------------------------------
+sub strongize {
+ my($txt) = shift;
+ $txt =~ s/.\010//go;
+ $txt = "<$BTag>$txt</$BTag>";
+ $txt;
+}
+
+##---------------------------------------------------------------------------
+sub entitize {
+ my($txt) = shift;
+
+ ## Check for special characters in overstrike text ##
+ $$txt =~ s/_\010\&/strike('_', '&')/geo;
+ $$txt =~ s/_\010</strike('_', '<')/geo;
+ $$txt =~ s/_\010>/strike('_', '>')/geo;
+
+ $$txt =~ s/(\&\010)+\&/strike('&', '&')/geo;
+ $$txt =~ s/(<\010)+</strike('<', '<')/geo;
+ $$txt =~ s/(>\010)+>/strike('>', '>')/geo;
+
+ ## Check for special characters in regular text. Must be careful
+ ## to check before/after character in expression because it might be
+ ## a special character.
+ $$txt =~ s/([^\010]\&[^\010])/htmlize2($1)/geo;
+ $$txt =~ s/([^\010]<[^\010])/htmlize2($1)/geo;
+ $$txt =~ s/([^\010]>[^\010])/htmlize2($1)/geo;
+}
+
+##---------------------------------------------------------------------------
+## escape special characters in a string, in-place
+##
+sub htmlize {
+ my($str) = shift;
+ $$str =~ s/&/\&amp;/g;
+ $$str =~ s/</\&lt;/g;
+ $$str =~ s/>/\&gt;/g;
+ $$str;
+}
+
+##---------------------------------------------------------------------------
+## htmlize2() is used by entitize.
+##
+sub htmlize2 {
+ my($str) = shift;
+ $str =~ s/&/\&amp;/g;
+ $str =~ s/</\&lt;/g;
+ $str =~ s/>/\&gt;/g;
+ $str;
+}
+
+##---------------------------------------------------------------------------
+## strike converts HTML special characters in overstriked text
+## into entity references. The entities are overstriked so
+## strongize() and emphasize() will recognize the entity to be
+## wrapped in tags.
+##
+sub strike {
+ my($w, $char) = @_;
+ my($ret);
+ if ($w eq '_') {
+ if ($char eq '&') {
+ $ret = "_$bs\&_${bs}a_${bs}m_${bs}p_${bs};";
+ } elsif ($char eq '<') {
+ $ret = "_$bs\&_${bs}l_${bs}t_${bs};";
+ } elsif ($char eq '>') {
+ $ret = "_$bs\&_${bs}g_${bs}t_${bs};";
+ } else {
+ warn qq|Unrecognized character, "$char", passed to strike()\n|;
+ }
+ } else {
+ if ($char eq '&') {
+ $ret = "\&$bs\&a${bs}am${bs}mp${bs}p;${bs};";
+ } elsif ($char eq '<') {
+ $ret = "\&$bs\&l${bs}lt${bs}t;${bs};";
+ } elsif ($char eq '>') {
+ $ret = "\&$bs\&g${bs}gt${bs}t;${bs};";
+ } else {
+ warn qq|Unrecognized character, "$char", passed to strike()\n|;
+ }
+ }
+ $ret;
+}
+
+##---------------------------------------------------------------------------
+## make_xref() converts a manpage crossreference into a hyperlink.
+##
+sub make_xref {
+ my $str = shift;
+ $str =~ s/.\010//go; # Remove overstriking
+
+ if ($CgiUrl) {
+ my($title,$section,$subsection) =
+ ($str =~ /([\+_\.\w-]+)\((\d)(\w?)\)/);
+
+ $title =~ s/\+/%2B/g;
+ my($href) = (eval $CgiUrl);
+ qq|<B><A HREF="$href">$str</A></B>|;
+ } else {
+ qq|<B>$str</B>|;
+ }
+}
+
+##---------------------------------------------------------------------------
+## man_k() process a keyword search. The problem we have is there
+## is no standard for keyword search results from man. Solaris
+## systems have a different enough format to warrent dealing
+## with it as a special case. For other cases, we try our best.
+## Unfortunately, there are some lines of results that may be
+## skipped.
+##
+sub man_k {
+ my($line,$refs,$section,$subsection,$desc,$i,
+ %Sec1, %Sec1sub, %Sec2, %Sec2sub, %Sec3, %Sec3sub,
+ %Sec4, %Sec4sub, %Sec5, %Sec5sub, %Sec6, %Sec6sub,
+ %Sec7, %Sec7sub, %Sec8, %Sec8sub, %Sec9, %Sec9sub,
+ %SecN, %SecNsub, %SecNsec);
+
+ printhead() unless $Bare;
+ print $OutFH "<!-- Man keyword results converted by ",
+ "man2html $VERSION -->\n";
+
+ while ($line = <$InFH>) {
+ next if $line !~ /\(\d\w?\)\s+-\s/; # check if line can be handled
+ ($refs,$section,$subsection,$desc) =
+ $line =~ /^\s*(.*)\((\d)(\w?)\)\s*-\s*(.*)$/;
+
+ if ($Solaris) {
+ $refs =~ s/^\s*([\+_\.\w-]+)\s+([\+_\.\w-]+)\s*$/$1/;
+ # <topic> <manpage>
+ } else {
+ $refs =~ s/\s(and|or)\s/,/gi; # Convert and/or to commas
+ $refs =~ s/^[^:\s]:\s*//; # Remove prefixed whatis path
+ }
+ $refs =~ s/\s//g; # Remove all whitespace
+ $refs =~ s/,/, /g; # Put space after comma
+ htmlize(\$desc); # Check for special chars in desc
+ $desc =~ s/^(.)/\U$1/; # Uppercase first letter in desc
+
+ if ($section eq '1') {
+ $Sec1{$refs} = $desc; $Sec1sub{$refs} = $subsection;
+ } elsif ($section eq '2') {
+ $Sec2{$refs} = $desc; $Sec2sub{$refs} = $subsection;
+ } elsif ($section eq '3') {
+ $Sec3{$refs} = $desc; $Sec3sub{$refs} = $subsection;
+ } elsif ($section eq '4') {
+ $Sec4{$refs} = $desc; $Sec4sub{$refs} = $subsection;
+ } elsif ($section eq '5') {
+ $Sec5{$refs} = $desc; $Sec5sub{$refs} = $subsection;
+ } elsif ($section eq '6') {
+ $Sec6{$refs} = $desc; $Sec6sub{$refs} = $subsection;
+ } elsif ($section eq '7') {
+ $Sec7{$refs} = $desc; $Sec7sub{$refs} = $subsection;
+ } elsif ($section eq '8') {
+ $Sec8{$refs} = $desc; $Sec8sub{$refs} = $subsection;
+ } elsif ($section eq '9') {
+ $Sec9{$refs} = $desc; $Sec9sub{$refs} = $subsection;
+ } else { # Catch all
+ $SecN{$refs} = $desc; $SecNsec{$refs} = $section;
+ $SecNsub{$refs} = $subsection;
+ }
+ }
+ print_mank_sec(\%Sec1, 1, \%Sec1sub);
+ print_mank_sec(\%Sec2, 2, \%Sec2sub);
+ print_mank_sec(\%Sec3, 3, \%Sec3sub);
+ print_mank_sec(\%Sec4, 4, \%Sec4sub);
+ print_mank_sec(\%Sec5, 5, \%Sec5sub);
+ print_mank_sec(\%Sec6, 6, \%Sec6sub);
+ print_mank_sec(\%Sec7, 7, \%Sec7sub);
+ print_mank_sec(\%Sec8, 8, \%Sec8sub);
+ print_mank_sec(\%Sec9, 9, \%Sec9sub);
+ print_mank_sec(\%SecN, 'N', \%SecNsub, \%SecNsec);
+
+ printtail() unless $Bare;
+}
+##---------------------------------------------------------------------------
+## print_mank_sec() prints out manpage cross-refs of a specific section.
+##
+sub print_mank_sec {
+ my($sec, $sect, $secsub, $secsec) = @_;
+ my(@array, @refs, $href, $item, $title, $subsection, $i, $section,
+ $xref);
+ $section = $sect;
+
+ @array = sort keys %$sec;
+ if ($#array >= 0) {
+ print $OutFH "<H2>Section $section</H2>\n",
+ "<DL COMPACT>\n";
+ foreach $item (@array) {
+ @refs = split(/,/, $item);
+ $section = $secsec->{$item} if $sect eq 'N';
+ $subsection = $secsub->{$item};
+ if ($CgiUrl) {
+ ($title = $refs[0]) =~ s/\(\)//g; # watch out for extra ()'s
+ $xref = eval $CgiUrl;
+ }
+ print $OutFH "<DT>\n";
+ $i = 0;
+ foreach (@refs) {
+ if ($CgiUrl) {
+ print $OutFH qq|<B><A HREF="$xref">$_</A></B>|;
+ } else {
+ print $OutFH $_;
+ }
+ print $OutFH ", " if $i < $#refs;
+ $i++;
+ }
+ print $OutFH " ($section$subsection)\n",
+ "</DT><DD>\n",
+ $sec->{$item}, "</DD>\n";
+ }
+ print $OutFH "</DL>\n";
+ }
+}
+
+##---------------------------------------------------------------------------
+##
+sub usage {
+ print $OutFH <<EndOfUsage;
+Usage: $PROG [ options ] < infile > outfile
+Options:
+ -bare : Do not put in HTML, HEAD, BODY tags
+ -belem <elem> : HTML Element for overstriked text (def: "B")
+ -botm <#> : Number of lines for bottom margin (def: 7)
+ -cgiurl <url> : URL for linking to other manpages
+ -cgiurlexp <url> : Perl expression URL for linking to other manpages
+ -compress : Compress consective blank lines
+ -headmap <file> : Filename of user section head map file
+ -help : This message
+ -k : Process a keyword search result
+ -leftm <#> : Character width of left margin (def: 0)
+ -nodepage : Do not remove pagination lines
+ -noheads : Turn off section head detection
+ -pgsize <#> : Number of lines in a page (def: 66)
+ -seealso : Link to other manpages only in the SEE ALSO section
+ -solaris : Process keyword search result in Solaris format
+ -sun : Section heads are not overstriked in input
+ -title <string> : Title of manpage (def: Not defined)
+ -topm <#> : Number of lines for top margin (def: 7)
+ -uelem <elem> : HTML Element for underlined text (def: "I")
+
+Description:
+ $PROG takes formatted manpages from STDIN and converts it to HTML sent
+ to STDOUT. The -topm and -botm arguments are the number of lines to the
+ main body text and NOT to the running headers/footers.
+
+Version:
+ $VERSION
+ Copyright (C) 1995-1997 Earl Hood, ehood\@medusa.acs.uci.edu
+ $PROG comes with ABSOLUTELY NO WARRANTY and $PROG may be copied only
+ under the terms of the GNU General Public License, which may be found in
+ the $PROG distribution.
+
+EndOfUsage
+ exit 0;
+}
diff --git a/xc/extras/ogl-sample/main/doc/man/tools/mdate.pl b/xc/extras/ogl-sample/main/doc/man/tools/mdate.pl
new file mode 100755
index 000000000..ae6e6455c
--- /dev/null
+++ b/xc/extras/ogl-sample/main/doc/man/tools/mdate.pl
@@ -0,0 +1,50 @@
+#!/usr/bin/perl
+#
+# License Applicability. Except to the extent portions of this file are
+# made subject to an alternative license as permitted in the SGI Free
+# Software License B, Version 1.1 (the "License"), the contents of this
+# file are subject only to the provisions of the License. You may not use
+# this file except in compliance with the License. You may obtain a copy
+# of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
+# Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
+#
+# http://oss.sgi.com/projects/FreeB
+#
+# Note that, as provided in the License, the Software is distributed on an
+# "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
+# DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
+# CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
+# PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
+#
+# Original Code. The Original Code is: OpenGL Sample Implementation,
+# Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
+# Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
+# Copyright in any portions created by third parties is as indicated
+# elsewhere herein. All Rights Reserved.
+#
+# Additional Notice Provisions: The application programming interfaces
+# established by SGI in conjunction with the Original Code are The
+# OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
+# April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
+# 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
+# Window System(R) (Version 1.3), released October 19, 1998. This software
+# was created using the OpenGL(R) version 1.2.1 Sample Implementation
+# published by SGI, but has not been independently verified as being
+# compliant with the OpenGL(R) version 1.2.1 Specification.
+#
+# $Date: 2001/03/19 17:45:28 $ $Revision: 1.1.1.1 $
+# $Header: /home/ajax/dri-backup/xc/xc/extras/ogl-sample/main/doc/man/tools/Attic/mdate.pl,v 1.1.1.1 2001/03/19 17:45:28 dawes Exp $
+
+foreach (@ARGV) {
+ ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$atime,
+ $mtime,$ctime,$blksize,$blocks) = stat($_);
+
+ if ($mtime) {
+ ($tm_sec,$tm_min,$tm_hour,$tm_mday,$tm_mon,$tm_year,$tm_wday,
+ $tm_yday,$tm_isdst) = localtime($mtime);
+
+ if ($tm_mday) {
+ print "-rd", $tm_mday, " -rm", $tm_mon, " -ry", $tm_year, "\n";
+ }
+ }
+}
diff --git a/xc/extras/ogl-sample/main/doc/man/tools/mmdoc b/xc/extras/ogl-sample/main/doc/man/tools/mmdoc
new file mode 100755
index 000000000..ac2e01f67
--- /dev/null
+++ b/xc/extras/ogl-sample/main/doc/man/tools/mmdoc
@@ -0,0 +1,220 @@
+#! /bin/sh -x
+
+# @(#)mmdoc 1.21 /doccenter/tmadm/src/shell/s.mmdoc
+# general documentation generator
+#
+# Files begining with a ".TH" macro are treated as manual pages.
+# Files whose first line is
+# '\" x
+# where "x" is a string begining with "c", "e", "t" are also treated as
+# manual pages.
+# Files whose first line is
+# '\"! text
+# are processed by the command line "text" with the file provided
+# as the standard input.
+# Files whose first line is
+# '\"macro name
+# where "name" is the name of a file in TMMACRO will be run off with
+# that macro package. "name"s begining "-" will be flag arguments
+# to nroff.
+# All others are handed to nroff with -cm and mmdoc
+#
+# Assumes mdate.pl will be found by the current search path.
+#
+umask 0 # nroff must be able to write into files it closes
+while [ -n "$1" ]
+do
+ case $1 in
+ -D )
+ DrafT=-rC3
+ export DrafT
+ ;;
+ -T* )
+ TERM=`expr $1 : '-T\(.*\)'`
+ case ${TERM} in
+ eps)
+ post="|deps"
+ flavor=troff
+ ;;
+ aps)
+ post="|apsend b=m305"
+ flavor=troff
+ ;;
+ Aps) # This is a fake out so that collections
+ # can be sent as a unit to APS-5
+ # instead of series of calls. Used only by
+ # collection routine 'tcol_final'
+ post=
+ flavor=troff
+ TERM=aps
+ ;;
+ image)
+ post="|apsend b=m305 d=i"
+ flavor=troff
+ TERM=aps
+ ;;
+ i300)
+ post="|dimpress"
+ flavor=troff
+ ;;
+ 8300)
+ post="|dimpress"
+ flavor=troff
+ TERM=aps
+ ;;
+ psc)
+ post="|psdit |lp -oh"
+ flavor=troff
+ export TERM
+ ;;
+
+ PS)
+ post="|psdit"
+ flavor=troff
+ TERM=psc
+ export TERM
+ ;;
+ X100)
+ post=""
+ flavor=troff
+ TERM=X100
+ export TERM
+ ;;
+ *)
+ post=
+ flavor=nroff
+ ;;
+ esac
+ export post flavor
+ ;;
+ -r[ymd]* )
+ DocdatE="$DocdatE $1"
+ export DocdatE
+ dateset=yes
+ ;;
+ -?* )
+ flags="$flags $1"
+ export flags
+ ;;
+ - | * )
+ break
+ esac
+ shift
+done
+if [ $# = 0 ]
+then
+ set -- -
+fi
+for i
+{
+ if [ "$i" != "-" -a ! -s "$i" ]
+ then
+ echo "Cannot input file: $i"
+ continue
+ fi
+ case $i in
+ - )
+ ;;
+ * )
+ Line1=`line <$i`
+ if [ ! "${dateset}" ]
+ then
+ # DocdatE is intentionally capitalized that way
+ # to cut the possibility of env name collision.
+ DocdatE=`mdate.pl $i`
+ export DocdatE
+ fi
+ esac
+
+ MacrO=${TMMACRO}
+
+ case "${Line1}" in
+ .TH* | "'\\\" "[cet]* )
+ man -T${TERM} -d ${DocdatE} $*
+ ;;
+ "'\\\"!"* )
+ cmd=`echo "${Line1}" | sed 's/^....//'`
+ if [ "$flavor" != troff ]
+ then
+ cmd=`echo " ${cmd} " | sed 's/ eqn / neqn /'`
+ fi
+ Line1=`sed -n -e 2p -e 2q ${i}`
+ export Line1
+ if [ "$flavor" = troff ]
+ then
+ eval '<$i' $cmd
+ #eval `parse "$cmd" ${i}`
+ else
+ TERM=lp
+ eval '<$i' $cmd
+ fi
+ ;;
+ "'\\\"macro"* )
+ cmd=`echo "${Line1}" |
+ sed ' s/.."macro//'"
+ s:[ ]\([^- ]\): ${TMMACRO?}/\1:g"`
+ cmd=`echo $cmd|sed "s;[ ]*.*/stdmacro;${MacrO?}/strings.mm ${MacrO?}/stdmacro;"`
+ cmd="$cmd $OTHERFILES"
+ if [ "$flavor" = troff ]
+ then
+ case "$cmd" in
+ *stdmacro*)
+ case "$flags" in
+ *-rs[0-9]*)
+ ;;
+ *)
+ flags="${flags} -rs1"
+ esac
+ esac
+ eval troff -T${TERM} ${DrafT} ${DocdatE} ${flags} ${cmd} $i ${post}
+ else
+ eval nroff ${DrafT} ${DocdatE} ${flags} ${cmd} $i
+ fi
+ ;;
+ "'\\\"text"* )
+ cmd=`echo "${Line1}" |
+ sed ' s/.."text//'"
+ s:[ ]\([^- ]\): ${TMMACRO?}/\1:g"`
+ cmd=`echo $cmd|sed "s;[ ]*.*/docmacs;${MacrO?}/docmacs;"`
+ if [ "$flavor" = troff ]
+ then
+ eval troff -T${TERM} ${DrafT} ${DocdatE} ${flags} ${cmd} $i ${post}
+ else
+ eval nroff ${DrafT} ${DocdatE} ${flags} ${cmd} $i
+ fi
+ ;;
+ .tH* )
+ # Right now 2/12/85 this stuff not used for DSG work.
+ # No enhancements to do troff done yet.
+ # Will do as necessary
+ if [ -r ${TMMACRO}/mandocvar ]
+ then
+ . ${TMMACRO}/mandocvar
+ fi
+ nroff -T${TERM} ${DocdatE} ${flags} \
+ -can ${MacrO?}/mandoc ${i} |
+ col
+ ;;
+ .pH* | '' | * )
+ if [ -r ${TMMACRO}/mmdocvar ]
+ then
+ . ${TMMACRO}/mmdocvar
+ fi
+ if [ "$flavor" = troff ]
+ then
+ eval troff -T${TERM} -rW${Width:-5}i \
+ -rL${Length:-8.5}i \
+ ${DocdatE} ${DrafT} ${flags} \
+ /usr/bin/mmt $i ${post}
+ else
+ TERM=lp
+ nroff -T${TERM} -u${Overstrike:-1} -rW${Width:-79} \
+ -rO${Offset:-0} -rL${Length:-66} \
+ ${DocdatE} ${DrafT} ${flags} \
+ ${MacrO?}/newmm \
+ ${MacrO?}/mmdoc ${TMMACRO}/custom $i |
+ col
+ fi
+ ;;
+ esac
+}