aboutsummaryrefslogtreecommitdiff
path: root/nx-X11/extras/ogl-sample/main/doc/man/mangl/standard/map1.gl
diff options
context:
space:
mode:
Diffstat (limited to 'nx-X11/extras/ogl-sample/main/doc/man/mangl/standard/map1.gl')
-rw-r--r--nx-X11/extras/ogl-sample/main/doc/man/mangl/standard/map1.gl268
1 files changed, 268 insertions, 0 deletions
diff --git a/nx-X11/extras/ogl-sample/main/doc/man/mangl/standard/map1.gl b/nx-X11/extras/ogl-sample/main/doc/man/mangl/standard/map1.gl
new file mode 100644
index 000000000..c5d847a7f
--- /dev/null
+++ b/nx-X11/extras/ogl-sample/main/doc/man/mangl/standard/map1.gl
@@ -0,0 +1,268 @@
+_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_ The first character in this file must be an '_'!
+_C_ Anything on a line after _C_ is ignored
+_define(_filters,tbl|eqn)_C_
+_C_ eqn is automatically replaced with neqn for nroff
+_header(Map1,define a one-dimensional evaluator)
+_names(Map1,[fd])
+.EQ
+delim $$
+.EN
+.SH PARAMETERS
+_phead(_param1)
+Specifies the kind of values that are generated by the evaluator.
+Symbolic constants
+_const(MAP1_VERTEX_3),
+_const(MAP1_VERTEX_4),
+_const(MAP1_INDEX),
+_const(MAP1_COLOR_4),
+_const(MAP1_NORMAL),
+_const(MAP1_TEXTURE_COORD_1),
+_const(MAP1_TEXTURE_COORD_2),
+_const(MAP1_TEXTURE_COORD_3), and
+_const(MAP1_TEXTURE_COORD_4) are accepted.
+_phead(_param2 _param3)
+Specify a linear mapping of $u$,
+as presented to _cmnd(EvalCoord1),
+to $u hat$,
+the variable that is evaluated by the equations specified by this command.
+_phead(_param4)
+Specifies the number of floats or doubles between
+the beginning of one control point and the beginning of the next one
+in the data structure referenced in _param6.
+This allows control points to be embedded in arbitrary data structures.
+The only constraint is that the values for a particular control point
+must occupy contiguous memory locations.
+_phead(_param5)
+Specifies the number of control points.
+Must be positive.
+_phead(_param6)
+Specifies a pointer to the array of control points.
+
+.SH DESCRIPTION
+Evaluators provide a way to use polynomial or rational polynomial mapping
+to produce vertices,
+normals,
+texture coordinates,
+and colors.
+The values produced by an evaluator are sent to further stages
+of GL processing just as if they had been presented using
+_cmnd(Vertex),
+_cmnd(Normal),
+_cmnd(TexCoord), and
+_cmnd(Color) commands,
+except that the generated values do not update the current normal,
+texture coordinates,
+or color.
+.P
+All polynomial or rational polynomial splines of any degree
+(up to the maximum degree supported by the GL implementation)
+can be described using evaluators.
+These include almost all splines used in computer graphics: B-splines,
+Bezier curves, Hermite splines, and so on.
+.P
+Evaluators define curves based on Bernstein polynomials.
+Define $p ( u hat ^) $ as
+.sp
+.ce
+$p ( u hat ^) ~~=~~ up 10 { sum from i=0 to n } B sub i sup n ( u hat ^) R sub i$
+.sp
+where
+$R sub i$
+is a control point and
+$B sub i sup n ( u hat ^)$
+is the $i$th Bernstein polynomial of degree $n$ (_param5 = $n ~+~ 1$):
+.sp
+.ce
+$B sub i sup n ( u hat ^) ~~=~~ left ( down 20 {cpile { n above i }} ~~ right ) u hat sup i ( 1 - u hat ^) sup { n - i }$
+.sp
+Recall that
+.sp
+.ce
+$0 sup 0 ~==~ 1 $ and $ left ( down 20 {cpile { n above ~0 }} ~~ right ) ~~==~~ 1 $
+.P
+_cmnd is used to define the basis and to specify what kind of values
+are produced.
+Once defined,
+a map can be enabled and disabled by calling _cmnd(Enable) and _cmnd(Disable)
+with the map name, one of the nine predefined values for _param1
+described below.
+_cmnd(EvalCoord1) evaluates the one-dimensional maps that are enabled.
+When
+.br
+_cmnd(EvalCoord1) presents a value $u$,
+the Bernstein functions are evaluated using $u hat$, where
+.br
+
+.ce
+$u hat ~~=~~ {u ~-~ _eqnparam2} over {_eqnparam3 ~-~ _eqnparam2}$
+
+.br
+.P
+_param1 is a symbolic constant that indicates what kind of control points
+are provided in _param6,
+and what output is generated when the map is evaluated.
+It can assume one of nine predefined values:
+.TP 25
+_const(MAP1_VERTEX_3)
+Each control point is three floating-point values representing
+$x$, $y$, and $z$.
+Internal _cmnd(Vertex3) commands are generated when the map is evaluated.
+.TP
+_const(MAP1_VERTEX_4)
+Each control point is four floating-point values representing
+$x$, $y$, $z$, and $w$.
+Internal _cmnd(Vertex4) commands are generated when the map is evaluated.
+.TP
+_const(MAP1_INDEX)
+Each control point is a single floating-point value representing a color index.
+Internal _cmnd(Index) commands are generated when the map is evaluated
+but the current index is not updated with the value of these _cmnd(Index)
+commands.
+.TP
+_const(MAP1_COLOR_4)
+Each control point is four floating-point values representing
+red, green, blue, and alpha.
+Internal _cmnd(Color4) commands are generated when the map is
+evaluated but the current color is not updated with the value of these
+_cmnd(Color4) commands.
+.TP
+_const(MAP1_NORMAL)
+Each control point is three floating-point values representing
+the $x$, $y$, and $z$ components of a normal vector.
+Internal _cmnd(Normal) commands are generated when the map is
+evaluated but the current normal is not updated with the value of
+these _cmnd(Normal) commands.
+.TP
+_const(MAP1_TEXTURE_COORD_1)
+Each control point is a single floating-point value representing
+the $s$ texture coordinate.
+Internal
+.br
+_cmnd(TexCoord1) commands are generated when the map is
+evaluated but the current texture coordinates are not updated with the value
+of these _cmnd(TexCoord) commands.
+.TP
+_const(MAP1_TEXTURE_COORD_2)
+Each control point is two floating-point values representing
+the $s$ and $t$ texture coordinates.
+Internal
+.br
+_cmnd(TexCoord2) commands are generated when the map is
+evaluated but the current texture coordinates are not updated with the value
+of these _cmnd(TexCoord) commands.
+.TP
+_const(MAP1_TEXTURE_COORD_3)
+Each control point is three floating-point values representing
+the $s$, $t$, and $r$ texture coordinates.
+Internal _cmnd(TexCoord3) commands are generated when the map is
+evaluated but the current texture coordinates are not updated with the value
+of these _cmnd(TexCoord) commands.
+.TP
+_const(MAP1_TEXTURE_COORD_4)
+Each control point is four floating-point values representing
+the $s$, $t$, $r$, and $q$ texture coordinates.
+Internal
+.br
+_cmnd(TexCoord4) commands are generated when the map is evaluated but
+the current texture coordinates are not updated with the value
+of these _cmnd(TexCoord) commands.
+.P
+_param4,
+_param5, and
+_param6 define the array addressing for accessing the control points.
+_param6 is the location of the first control point,
+which occupies one, two, three, or four contiguous memory locations,
+depending on which map is being defined.
+_param5 is the number of control points in the array.
+_param4 specifies how many float or double locations to advance the internal
+memory pointer to reach the next control point.
+.SH NOTES
+As is the case with all GL commands that accept pointers to data,
+it is as if the contents of _param6 were copied by _cmnd before _cmnd
+returns.
+Changes to the contents of _param6 have no effect after _cmnd is called.
+.SH ERRORS
+_const(INVALID_ENUM) is generated if _param1 is not an accepted value.
+.P
+_const(INVALID_VALUE) is generated if _param2 is equal to _param3.
+.P
+_const(INVALID_VALUE) is generated if _param4 is less than the number
+of values in a control point.
+.P
+_const(INVALID_VALUE) is generated if _param5 is less than 1 or
+greater than the return value of _const(MAX_EVAL_ORDER).
+.P
+_const(INVALID_OPERATION) is generated if _cmnd
+is executed between the execution of
+_cmnd(Begin)
+and the corresponding execution of _cmnd(End).
+.P
+When the _arbstring(multitexture) extension is supported,
+_const(INVALID_OPERATION) is generated if _cmnd is called and the value
+of _arbconst(ACTIVE_TEXTURE) is not _arbconst(TEXTURE0).
+.SH ASSOCIATED GETS
+_cmnd(GetMap)
+.br
+_cmnd(Get) with argument _const(MAX_EVAL_ORDER)
+.br
+_cmnd(IsEnabled) with argument _const(MAP1_VERTEX_3)
+.br
+_cmnd(IsEnabled) with argument _const(MAP1_VERTEX_4)
+.br
+_cmnd(IsEnabled) with argument _const(MAP1_INDEX)
+.br
+_cmnd(IsEnabled) with argument _const(MAP1_COLOR_4)
+.br
+_cmnd(IsEnabled) with argument _const(MAP1_NORMAL)
+.br
+_cmnd(IsEnabled) with argument _const(MAP1_TEXTURE_COORD_1)
+.br
+_cmnd(IsEnabled) with argument _const(MAP1_TEXTURE_COORD_2)
+.br
+_cmnd(IsEnabled) with argument _const(MAP1_TEXTURE_COORD_3)
+.br
+_cmnd(IsEnabled) with argument _const(MAP1_TEXTURE_COORD_4)
+.SH SEE ALSO
+_cmnd(Begin),
+_cmnd(Color),
+_cmnd(Enable),
+_cmnd(EvalCoord),
+_cmnd(EvalMesh),
+_cmnd(EvalPoint),
+_cmnd(Map2),
+_cmnd(MapGrid),
+_cmnd(Normal),
+_cmnd(TexCoord),
+_cmnd(Vertex)