sync with OpenBSD -current
This commit is contained in:
parent
2d1e52c274
commit
b5b25afdb8
657 changed files with 21464 additions and 54675 deletions
6
3RDPARTY
6
3RDPARTY
|
@ -1,5 +1,5 @@
|
|||
|
||||
# $OpenBSD: 3RDPARTY,v 1.426 2024/06/01 12:48:00 matthieu Exp $
|
||||
# $OpenBSD: 3RDPARTY,v 1.427 2024/07/11 08:29:54 matthieu Exp $
|
||||
#
|
||||
Package: Freetype
|
||||
Version: 2.13.0
|
||||
|
@ -15,13 +15,13 @@ Archive Site: http://invisible-island.net/xterm/xterm.html
|
|||
|
||||
Package: Mesa
|
||||
Version 23.3.6
|
||||
Current Vers: 24.1.0
|
||||
Current Vers: 24.1.2
|
||||
Maintainer: Brian Paul
|
||||
Archive Site: https://archive.mesa3d.org/
|
||||
|
||||
Package: libdrm
|
||||
Version: 2.4.120
|
||||
Current Vers: 2.4.120
|
||||
Current Vers: 2.4.122
|
||||
Maintainer: Freedesktop.org
|
||||
Archive Site: https://dri.freedesktop.org/libdrm/
|
||||
|
||||
|
|
20
MODULES
20
MODULES
|
@ -1,9 +1,9 @@
|
|||
# $OpenBSD: MODULES,v 1.522 2024/06/01 12:48:00 matthieu Exp $
|
||||
# $OpenBSD: MODULES,v 1.523 2024/07/11 08:29:54 matthieu Exp $
|
||||
#
|
||||
# X.Org maintained modules
|
||||
#
|
||||
|
||||
app/appres 1.0.6
|
||||
app/appres 1.0.7
|
||||
app/bdftopcf 1.1.1
|
||||
app/beforelight 1.0.6
|
||||
app/bitmap 1.1.1
|
||||
|
@ -149,21 +149,21 @@ font/xfree86-type1 1.0.5
|
|||
|
||||
lib/libICE 1.1.1
|
||||
lib/libSM 1.2.4
|
||||
lib/libX11 1.8.9 needs-update
|
||||
lib/libX11 1.8.9
|
||||
lib/libXScrnSaver 1.2.4
|
||||
lib/libXau 1.0.11
|
||||
lib/libXaw 1.0.16 needs-update
|
||||
lib/libXaw 1.0.16
|
||||
lib/libXcomposite 0.4.6
|
||||
lib/libXcursor 1.2.2 needs-update
|
||||
lib/libXcursor 1.2.2
|
||||
lib/libXdamage 1.1.6
|
||||
lib/libXdmcp 1.1.5 needs-update
|
||||
lib/libXext 1.3.6 needs-update
|
||||
lib/libXdmcp 1.1.5
|
||||
lib/libXext 1.3.6
|
||||
lib/libXfixes 6.0.1
|
||||
lib/libXfont2 2.0.6
|
||||
lib/libXft 2.3.8
|
||||
lib/libXi 1.8.1
|
||||
lib/libXinerama 1.1.5
|
||||
lib/libXmu 1.2.1 needs-update
|
||||
lib/libXmu 1.2.1
|
||||
lib/libXpm 3.5.17
|
||||
lib/libXpresent 1.0.1
|
||||
lib/libXrandr 1.5.4
|
||||
|
@ -184,13 +184,13 @@ lib/libxshmfence 1.3.2
|
|||
lib/libxtrans 1.5.0
|
||||
lib/pixman 0.43.4 needs-update
|
||||
lib/xcb-util 0.4.1
|
||||
lib/xcb-util-cursor 0.1.5 needs-update
|
||||
lib/xcb-util-cursor 0.1.5
|
||||
lib/xcb-util-image 0.4.1
|
||||
lib/xcb-util-keysyms 0.4.1
|
||||
lib/xcb-util-renderutil 0.3.10
|
||||
lib/xcb-util-wm 0.4.2
|
||||
|
||||
proto/xcb-proto 1.17.0 needs-update
|
||||
proto/xcb-proto 1.17.0
|
||||
proto/xorgproto 2024.1
|
||||
|
||||
util/cf 1.0.4
|
||||
|
|
|
@ -1,3 +1,49 @@
|
|||
commit 07075bda9cd863fa10f47993271dbe7e6e256d71
|
||||
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
Date: Sun Jun 16 10:32:47 2024 -0700
|
||||
|
||||
appres 1.0.7
|
||||
|
||||
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
Part-of: <https://gitlab.freedesktop.org/xorg/app/appres/-/merge_requests/5>
|
||||
|
||||
commit b297a7738a02b3fb7a8842e054c4068195038c38
|
||||
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
Date: Sun Apr 7 13:58:13 2024 -0700
|
||||
|
||||
meson: Add a meson build system
|
||||
|
||||
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
Part-of: <https://gitlab.freedesktop.org/xorg/app/appres/-/merge_requests/4>
|
||||
|
||||
commit 2b5316265c5ce6c7dbd8f726826d5d5a7385febd
|
||||
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
Date: Sun Apr 7 12:53:58 2024 -0700
|
||||
|
||||
configure: use @-style substitutions for man pages instead of __-style
|
||||
|
||||
Moves substitution of variables from Makefile.am to configure.ac
|
||||
in preparation for allowing meson.build to do the same.
|
||||
|
||||
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
Part-of: <https://gitlab.freedesktop.org/xorg/app/appres/-/merge_requests/4>
|
||||
|
||||
commit 888aece87c0af4e0b326d4d92fcc079f249a7f73
|
||||
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
Date: Thu Feb 9 12:25:47 2023 -0800
|
||||
|
||||
Accept -help, -version, & -V without requiring display to open
|
||||
|
||||
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
|
||||
commit 163ba88d2d98369df78c2700b634cf62012f8c31
|
||||
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
Date: Thu Jul 28 17:30:21 2022 -0700
|
||||
|
||||
gitlab CI: stop requiring Signed-off-by in commits
|
||||
|
||||
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
|
||||
commit 55db329c8363e6ca969c27652f0da714364065bd
|
||||
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
Date: Sun Apr 3 11:54:44 2022 -0700
|
||||
|
@ -467,7 +513,7 @@ Date: Fri Oct 14 00:25:40 2005 +0000
|
|||
Use sed to fill in variables in man page
|
||||
|
||||
commit 61d84d9c527921b252706b251ce29caac4eb5ad4
|
||||
Author: Kristian Høgsberg <krh@redhat.com>
|
||||
Author: Kristian Høgsberg <krh@redhat.com>
|
||||
Date: Fri Sep 23 20:34:52 2005 +0000
|
||||
|
||||
Add some content to these.
|
||||
|
@ -513,7 +559,7 @@ Date: Fri Jul 1 16:55:14 2005 +0000
|
|||
More freedestkop->freedesktop typo fixes
|
||||
|
||||
commit e6418cf03e9a7f835a7ee7d958ea6a1d4318f7b5
|
||||
Author: Søren Sandmann Pedersen <sandmann@daimi.au.dk>
|
||||
Author: Søren Sandmann Pedersen <sandmann@daimi.au.dk>
|
||||
Date: Wed Jun 22 23:52:44 2005 +0000
|
||||
|
||||
- Add script that can generate the build system for applications
|
||||
|
|
|
@ -40,4 +40,4 @@ ChangeLog:
|
|||
|
||||
dist-hook: ChangeLog INSTALL
|
||||
|
||||
EXTRA_DIST = README.md
|
||||
EXTRA_DIST = README.md meson.build
|
||||
|
|
|
@ -205,7 +205,6 @@ CC = @CC@
|
|||
CCDEPMODE = @CCDEPMODE@
|
||||
CFLAGS = @CFLAGS@
|
||||
CHANGELOG_CMD = @CHANGELOG_CMD@
|
||||
CPP = @CPP@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CWARNFLAGS = @CWARNFLAGS@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
|
@ -216,11 +215,9 @@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@
|
|||
ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EGREP = @EGREP@
|
||||
EXEEXT = @EXEEXT@
|
||||
FILE_MAN_DIR = @FILE_MAN_DIR@
|
||||
FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@
|
||||
GREP = @GREP@
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_CMD = @INSTALL_CMD@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
|
@ -316,7 +313,7 @@ appres_SOURCES = \
|
|||
appres.c
|
||||
|
||||
MAINTAINERCLEANFILES = ChangeLog INSTALL
|
||||
EXTRA_DIST = README.md
|
||||
EXTRA_DIST = README.md meson.build
|
||||
all: config.h
|
||||
$(MAKE) $(AM_MAKEFLAGS) all-recursive
|
||||
|
||||
|
|
76
app/appres/aclocal.m4
vendored
76
app/appres/aclocal.m4
vendored
|
@ -13,8 +13,8 @@
|
|||
|
||||
m4_ifndef([AC_AUTOCONF_VERSION],
|
||||
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
|
||||
m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],,
|
||||
[m4_warning([this file was generated for autoconf 2.69.
|
||||
m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.71],,
|
||||
[m4_warning([this file was generated for autoconf 2.71.
|
||||
You have another version of autoconf. It may work, but is not guaranteed to.
|
||||
If you have problems, you may need to regenerate the build system entirely.
|
||||
To do so, use the procedure documented by the package, typically 'autoreconf'.])])
|
||||
|
@ -1318,7 +1318,7 @@ AC_SUBST([am__untar])
|
|||
|
||||
dnl xorg-macros.m4. Generated from xorg-macros.m4.in xorgversion.m4 by configure.
|
||||
dnl
|
||||
dnl Copyright (c) 2005, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
dnl Copyright (c) 2005, 2023, Oracle and/or its affiliates.
|
||||
dnl
|
||||
dnl Permission is hereby granted, free of charge, to any person obtaining a
|
||||
dnl copy of this software and associated documentation files (the "Software"),
|
||||
|
@ -1355,7 +1355,7 @@ dnl DEALINGS IN THE SOFTWARE.
|
|||
# See the "minimum version" comment for each macro you use to see what
|
||||
# version you require.
|
||||
m4_defun([XORG_MACROS_VERSION],[
|
||||
m4_define([vers_have], [1.19.2])
|
||||
m4_define([vers_have], [1.20.1])
|
||||
m4_define([maj_have], m4_substr(vers_have, 0, m4_index(vers_have, [.])))
|
||||
m4_define([maj_needed], m4_substr([$1], 0, m4_index([$1], [.])))
|
||||
m4_if(m4_cmp(maj_have, maj_needed), 0,,
|
||||
|
@ -1376,7 +1376,7 @@ AM_MAINTAINER_MODE
|
|||
# such as man pages and config files
|
||||
AC_DEFUN([XORG_PROG_RAWCPP],[
|
||||
AC_REQUIRE([AC_PROG_CPP])
|
||||
AC_PATH_PROGS(RAWCPP, [cpp], [${CPP}],
|
||||
AC_PATH_TOOL(RAWCPP, [cpp], [${CPP}],
|
||||
[$PATH:/bin:/usr/bin:/usr/lib:/usr/libexec:/usr/ccs/lib:/usr/ccs/lbin:/lib])
|
||||
|
||||
# Check for flag to avoid builtin definitions - assumes unix is predefined,
|
||||
|
@ -1402,10 +1402,10 @@ rm -f conftest.$ac_ext
|
|||
|
||||
AC_MSG_CHECKING([if $RAWCPP requires -traditional])
|
||||
AC_LANG_CONFTEST([AC_LANG_SOURCE([[Does cpp preserve "whitespace"?]])])
|
||||
if test `${RAWCPP} < conftest.$ac_ext | grep -c 'preserve \"'` -eq 1 ; then
|
||||
if test `${RAWCPP} < conftest.$ac_ext | grep -c 'preserve "'` -eq 1 ; then
|
||||
AC_MSG_RESULT([no])
|
||||
else
|
||||
if test `${RAWCPP} -traditional < conftest.$ac_ext | grep -c 'preserve \"'` -eq 1 ; then
|
||||
if test `${RAWCPP} -traditional < conftest.$ac_ext | grep -c 'preserve "'` -eq 1 ; then
|
||||
TRADITIONALCPPFLAGS="-traditional"
|
||||
RAWCPPFLAGS="${RAWCPPFLAGS} -traditional"
|
||||
AC_MSG_RESULT([yes])
|
||||
|
@ -1686,7 +1686,7 @@ AC_SUBST(MAKE_HTML)
|
|||
# Documentation tools are not always available on all platforms and sometimes
|
||||
# not at the appropriate level. This macro enables a module to test for the
|
||||
# presence of the tool and obtain it's path in separate variables. Coupled with
|
||||
# the --with-xmlto option, it allows maximum flexibilty in making decisions
|
||||
# the --with-xmlto option, it allows maximum flexibility in making decisions
|
||||
# as whether or not to use the xmlto package. When DEFAULT is not specified,
|
||||
# --with-xmlto assumes 'auto'.
|
||||
#
|
||||
|
@ -1900,7 +1900,7 @@ AM_CONDITIONAL([HAVE_PERL], [test "$have_perl" = yes])
|
|||
# Documentation tools are not always available on all platforms and sometimes
|
||||
# not at the appropriate level. This macro enables a module to test for the
|
||||
# presence of the tool and obtain it's path in separate variables. Coupled with
|
||||
# the --with-asciidoc option, it allows maximum flexibilty in making decisions
|
||||
# the --with-asciidoc option, it allows maximum flexibility in making decisions
|
||||
# as whether or not to use the asciidoc package. When DEFAULT is not specified,
|
||||
# --with-asciidoc assumes 'auto'.
|
||||
#
|
||||
|
@ -1970,7 +1970,7 @@ AM_CONDITIONAL([HAVE_ASCIIDOC], [test "$have_asciidoc" = yes])
|
|||
# Documentation tools are not always available on all platforms and sometimes
|
||||
# not at the appropriate level. This macro enables a module to test for the
|
||||
# presence of the tool and obtain it's path in separate variables. Coupled with
|
||||
# the --with-doxygen option, it allows maximum flexibilty in making decisions
|
||||
# the --with-doxygen option, it allows maximum flexibility in making decisions
|
||||
# as whether or not to use the doxygen package. When DEFAULT is not specified,
|
||||
# --with-doxygen assumes 'auto'.
|
||||
#
|
||||
|
@ -2054,7 +2054,7 @@ AM_CONDITIONAL([HAVE_DOXYGEN], [test "$have_doxygen" = yes])
|
|||
# Documentation tools are not always available on all platforms and sometimes
|
||||
# not at the appropriate level. This macro enables a module to test for the
|
||||
# presence of the tool and obtain it's path in separate variables. Coupled with
|
||||
# the --with-groff option, it allows maximum flexibilty in making decisions
|
||||
# the --with-groff option, it allows maximum flexibility in making decisions
|
||||
# as whether or not to use the groff package. When DEFAULT is not specified,
|
||||
# --with-groff assumes 'auto'.
|
||||
#
|
||||
|
@ -2162,7 +2162,7 @@ AM_CONDITIONAL([HAVE_GROFF_HTML], [test "$have_groff_html" = yes])
|
|||
# Documentation tools are not always available on all platforms and sometimes
|
||||
# not at the appropriate level. This macro enables a module to test for the
|
||||
# presence of the tool and obtain it's path in separate variables. Coupled with
|
||||
# the --with-fop option, it allows maximum flexibilty in making decisions
|
||||
# the --with-fop option, it allows maximum flexibility in making decisions
|
||||
# as whether or not to use the fop package. When DEFAULT is not specified,
|
||||
# --with-fop assumes 'auto'.
|
||||
#
|
||||
|
@ -2256,7 +2256,7 @@ AC_SUBST([M4], [$ac_cv_path_M4])
|
|||
# Documentation tools are not always available on all platforms and sometimes
|
||||
# not at the appropriate level. This macro enables a module to test for the
|
||||
# presence of the tool and obtain it's path in separate variables. Coupled with
|
||||
# the --with-ps2pdf option, it allows maximum flexibilty in making decisions
|
||||
# the --with-ps2pdf option, it allows maximum flexibility in making decisions
|
||||
# as whether or not to use the ps2pdf package. When DEFAULT is not specified,
|
||||
# --with-ps2pdf assumes 'auto'.
|
||||
#
|
||||
|
@ -2311,7 +2311,7 @@ AM_CONDITIONAL([HAVE_PS2PDF], [test "$have_ps2pdf" = yes])
|
|||
# not at the appropriate level. This macro enables a builder to skip all
|
||||
# documentation targets except traditional man pages.
|
||||
# Combined with the specific tool checking macros XORG_WITH_*, it provides
|
||||
# maximum flexibilty in controlling documentation building.
|
||||
# maximum flexibility in controlling documentation building.
|
||||
# Refer to:
|
||||
# XORG_WITH_XMLTO --with-xmlto
|
||||
# XORG_WITH_ASCIIDOC --with-asciidoc
|
||||
|
@ -2344,7 +2344,7 @@ AC_MSG_RESULT([$build_docs])
|
|||
#
|
||||
# This macro enables a builder to skip all developer documentation.
|
||||
# Combined with the specific tool checking macros XORG_WITH_*, it provides
|
||||
# maximum flexibilty in controlling documentation building.
|
||||
# maximum flexibility in controlling documentation building.
|
||||
# Refer to:
|
||||
# XORG_WITH_XMLTO --with-xmlto
|
||||
# XORG_WITH_ASCIIDOC --with-asciidoc
|
||||
|
@ -2377,7 +2377,7 @@ AC_MSG_RESULT([$build_devel_docs])
|
|||
#
|
||||
# This macro enables a builder to skip all functional specification targets.
|
||||
# Combined with the specific tool checking macros XORG_WITH_*, it provides
|
||||
# maximum flexibilty in controlling documentation building.
|
||||
# maximum flexibility in controlling documentation building.
|
||||
# Refer to:
|
||||
# XORG_WITH_XMLTO --with-xmlto
|
||||
# XORG_WITH_ASCIIDOC --with-asciidoc
|
||||
|
@ -2852,7 +2852,11 @@ AM_CONDITIONAL(MAKE_LINT_LIB, [test x$make_lint_lib != xno])
|
|||
AC_DEFUN([XORG_COMPILER_BRAND], [
|
||||
AC_LANG_CASE(
|
||||
[C], [
|
||||
AC_REQUIRE([AC_PROG_CC_C99])
|
||||
dnl autoconf-2.70 folded AC_PROG_CC_C99 into AC_PROG_CC
|
||||
dnl and complains that AC_PROG_CC_C99 is obsolete
|
||||
m4_version_prereq([2.70],
|
||||
[AC_REQUIRE([AC_PROG_CC])],
|
||||
[AC_REQUIRE([AC_PROG_CC_C99])])
|
||||
],
|
||||
[C++], [
|
||||
AC_REQUIRE([AC_PROG_CXX])
|
||||
|
@ -2868,7 +2872,7 @@ AC_CHECK_DECL([__SUNPRO_C], [SUNCC="yes"], [SUNCC="no"])
|
|||
# Minimum version: 1.16.0
|
||||
#
|
||||
# Test if the compiler works when passed the given flag as a command line argument.
|
||||
# If it succeeds, the flag is appeneded to the given variable. If not, it tries the
|
||||
# If it succeeds, the flag is appended to the given variable. If not, it tries the
|
||||
# next flag in the list until there are no more options.
|
||||
#
|
||||
# Note that this does not guarantee that the compiler supports the flag as some
|
||||
|
@ -2884,7 +2888,11 @@ AC_LANG_COMPILER_REQUIRE
|
|||
|
||||
AC_LANG_CASE(
|
||||
[C], [
|
||||
AC_REQUIRE([AC_PROG_CC_C99])
|
||||
dnl autoconf-2.70 folded AC_PROG_CC_C99 into AC_PROG_CC
|
||||
dnl and complains that AC_PROG_CC_C99 is obsolete
|
||||
m4_version_prereq([2.70],
|
||||
[AC_REQUIRE([AC_PROG_CC])],
|
||||
[AC_REQUIRE([AC_PROG_CC_C99])])
|
||||
define([PREFIX], [C])
|
||||
define([CACHE_PREFIX], [cc])
|
||||
define([COMPILER], [$CC])
|
||||
|
@ -3025,7 +3033,7 @@ XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wlogical-op])
|
|||
# XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wcast-align])
|
||||
# XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wcast-qual])
|
||||
|
||||
# Turn some warnings into errors, so we don't accidently get successful builds
|
||||
# Turn some warnings into errors, so we don't accidentally get successful builds
|
||||
# when there are problems that should be fixed.
|
||||
|
||||
if test "x$SELECTIVE_WERROR" = "xyes" ; then
|
||||
|
@ -3134,23 +3142,35 @@ AC_SUBST([BASE_]PREFIX[FLAGS])
|
|||
AC_LANG_CASE([C], AC_SUBST([CWARNFLAGS]))
|
||||
]) # XORG_STRICT_OPTION
|
||||
|
||||
# XORG_DEFAULT_OPTIONS
|
||||
# --------------------
|
||||
# Minimum version: 1.3.0
|
||||
# XORG_DEFAULT_NOCODE_OPTIONS
|
||||
# ---------------------------
|
||||
# Minimum version: 1.20.0
|
||||
#
|
||||
# Defines default options for X.Org modules.
|
||||
# Defines default options for X.Org modules which don't compile code,
|
||||
# such as fonts, bitmaps, cursors, and docs.
|
||||
#
|
||||
AC_DEFUN([XORG_DEFAULT_OPTIONS], [
|
||||
AC_DEFUN([XORG_DEFAULT_NOCODE_OPTIONS], [
|
||||
AC_REQUIRE([AC_PROG_INSTALL])
|
||||
XORG_COMPILER_FLAGS
|
||||
XORG_CWARNFLAGS
|
||||
XORG_STRICT_OPTION
|
||||
XORG_RELEASE_VERSION
|
||||
XORG_CHANGELOG
|
||||
XORG_INSTALL
|
||||
XORG_MANPAGE_SECTIONS
|
||||
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])],
|
||||
[AC_SUBST([AM_DEFAULT_VERBOSITY], [1])])
|
||||
]) # XORG_DEFAULT_NOCODE_OPTIONS
|
||||
|
||||
# XORG_DEFAULT_OPTIONS
|
||||
# --------------------
|
||||
# Minimum version: 1.3.0
|
||||
#
|
||||
# Defines default options for X.Org modules which compile code.
|
||||
#
|
||||
AC_DEFUN([XORG_DEFAULT_OPTIONS], [
|
||||
AC_REQUIRE([AC_PROG_INSTALL])
|
||||
XORG_COMPILER_FLAGS
|
||||
XORG_CWARNFLAGS
|
||||
XORG_STRICT_OPTION
|
||||
XORG_DEFAULT_NOCODE_OPTIONS
|
||||
]) # XORG_DEFAULT_OPTIONS
|
||||
|
||||
# XORG_INSTALL()
|
||||
|
|
|
@ -42,7 +42,7 @@ static char *ProgramName;
|
|||
static XrmQuark XrmQString;
|
||||
|
||||
static void _X_NORETURN
|
||||
usage (void)
|
||||
usage (int exitval)
|
||||
{
|
||||
fprintf (stderr,
|
||||
"usage: %s [class [instance]] [-1] [-V] [toolkitoptions]\n"
|
||||
|
@ -50,7 +50,7 @@ usage (void)
|
|||
"-V print command version and exit\n"
|
||||
"The number of class and instance elements must be equal.\n",
|
||||
ProgramName);
|
||||
exit (1);
|
||||
exit (exitval);
|
||||
}
|
||||
|
||||
/* stolen from Xlib Xrm.c */
|
||||
|
@ -133,6 +133,23 @@ main (int argc, char *argv[])
|
|||
int mode = XrmEnumAllLevels;
|
||||
|
||||
ProgramName = argv[0];
|
||||
|
||||
/* Handle args that don't require opening a display */
|
||||
for (int n = 1; n < argc; n++) {
|
||||
const char *argn = argv[n];
|
||||
/* accept single or double dash for -help & -version, but not -V */
|
||||
if (argn[0] == '-' && argn[1] == '-') {
|
||||
argn++;
|
||||
}
|
||||
if (strcmp(argn, "-help") == 0) {
|
||||
usage(0);
|
||||
}
|
||||
if ((strcmp(argn, "-version") == 0) || (strcmp(argv[n], "-V") == 0)) {
|
||||
puts(PACKAGE_STRING);
|
||||
exit(0);
|
||||
}
|
||||
}
|
||||
|
||||
if (argc > 1 && argv[1][0] != '-') {
|
||||
cname = argv[1];
|
||||
if (argc > 2 && argv[2][0] != '-')
|
||||
|
@ -143,7 +160,8 @@ main (int argc, char *argv[])
|
|||
XrmStringToNameList(iname, names);
|
||||
for (i = 0; names[i]; i++)
|
||||
;
|
||||
if (!i || classes[i] || !classes[i-1]) usage ();
|
||||
if (!i || classes[i] || !classes[i-1])
|
||||
usage(1);
|
||||
argv[0] = XrmNameToString(names[0]);
|
||||
|
||||
toplevel = XtAppInitialize(&xtcontext, XrmClassToString(classes[0]),
|
||||
|
@ -154,21 +172,17 @@ main (int argc, char *argv[])
|
|||
for (i = 1; i < argc; i++) {
|
||||
if (!strcmp(argv[i], "-1"))
|
||||
mode = XrmEnumOneLevel;
|
||||
else if (!strcmp(argv[i], "-V")) {
|
||||
printf("%s\n", PACKAGE_STRING);
|
||||
exit(0);
|
||||
}
|
||||
else if (argv[i][0] == '-') {
|
||||
fprintf(stderr, "%s: unrecognized option '%s'\n",
|
||||
ProgramName, argv[i]);
|
||||
usage();
|
||||
usage(1);
|
||||
}
|
||||
else if (!cname)
|
||||
cname = argv[i];
|
||||
else if (!iname)
|
||||
iname = argv[i];
|
||||
else
|
||||
usage();
|
||||
usage(1);
|
||||
}
|
||||
|
||||
if (!iname) {
|
||||
|
|
1783
app/appres/config.guess
vendored
1783
app/appres/config.guess
vendored
File diff suppressed because it is too large
Load diff
|
@ -3,12 +3,12 @@
|
|||
/* Define to 1 if you have the <inttypes.h> header file. */
|
||||
#undef HAVE_INTTYPES_H
|
||||
|
||||
/* Define to 1 if you have the <memory.h> header file. */
|
||||
#undef HAVE_MEMORY_H
|
||||
|
||||
/* Define to 1 if you have the <stdint.h> header file. */
|
||||
#undef HAVE_STDINT_H
|
||||
|
||||
/* Define to 1 if you have the <stdio.h> header file. */
|
||||
#undef HAVE_STDIO_H
|
||||
|
||||
/* Define to 1 if you have the <stdlib.h> header file. */
|
||||
#undef HAVE_STDLIB_H
|
||||
|
||||
|
@ -57,7 +57,9 @@
|
|||
/* Patch version of this package */
|
||||
#undef PACKAGE_VERSION_PATCHLEVEL
|
||||
|
||||
/* Define to 1 if you have the ANSI C header files. */
|
||||
/* Define to 1 if all of the C90 standard headers exist (not just the ones
|
||||
required in a freestanding environment). This macro is provided for
|
||||
backward compatibility; new code need not use it. */
|
||||
#undef STDC_HEADERS
|
||||
|
||||
/* Version number of package */
|
||||
|
|
2954
app/appres/config.sub
vendored
2954
app/appres/config.sub
vendored
File diff suppressed because it is too large
Load diff
6425
app/appres/configure
vendored
6425
app/appres/configure
vendored
File diff suppressed because it is too large
Load diff
|
@ -23,7 +23,7 @@ dnl Process this file with autoconf to create configure.
|
|||
|
||||
# Initialize Autoconf
|
||||
AC_PREREQ([2.60])
|
||||
AC_INIT([appres], [1.0.6],
|
||||
AC_INIT([appres], [1.0.7],
|
||||
[https://gitlab.freedesktop.org/xorg/app/appres/issues], [appres])
|
||||
AC_CONFIG_SRCDIR([Makefile.am])
|
||||
AC_CONFIG_HEADERS([config.h])
|
||||
|
@ -40,6 +40,9 @@ XORG_DEFAULT_OPTIONS
|
|||
# Checks for pkg-config packages
|
||||
PKG_CHECK_MODULES(APPRES, [x11 xt xproto >= 7.0.17])
|
||||
|
||||
# Substitute config variables in man pages
|
||||
AC_CONFIG_FILES([man/appres.1:man/appres.man])
|
||||
|
||||
AC_CONFIG_FILES([
|
||||
Makefile
|
||||
man/Makefile])
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#!/bin/sh
|
||||
# install - install a program, script, or datafile
|
||||
|
||||
scriptversion=2011-11-20.07; # UTC
|
||||
scriptversion=2020-11-14.01; # UTC
|
||||
|
||||
# This originates from X11R5 (mit/util/scripts/install.sh), which was
|
||||
# later released in X11R6 (xc/config/util/install.sh) with the
|
||||
|
@ -41,19 +41,15 @@ scriptversion=2011-11-20.07; # UTC
|
|||
# This script is compatible with the BSD install script, but was written
|
||||
# from scratch.
|
||||
|
||||
tab=' '
|
||||
nl='
|
||||
'
|
||||
IFS=" "" $nl"
|
||||
IFS=" $tab$nl"
|
||||
|
||||
# set DOITPROG to echo to test this script
|
||||
# Set DOITPROG to "echo" to test this script.
|
||||
|
||||
# Don't use :- since 4.3BSD and earlier shells don't like it.
|
||||
doit=${DOITPROG-}
|
||||
if test -z "$doit"; then
|
||||
doit_exec=exec
|
||||
else
|
||||
doit_exec=$doit
|
||||
fi
|
||||
doit_exec=${doit:-exec}
|
||||
|
||||
# Put in absolute file names if you don't have them in your path;
|
||||
# or use environment vars.
|
||||
|
@ -68,22 +64,16 @@ mvprog=${MVPROG-mv}
|
|||
rmprog=${RMPROG-rm}
|
||||
stripprog=${STRIPPROG-strip}
|
||||
|
||||
posix_glob='?'
|
||||
initialize_posix_glob='
|
||||
test "$posix_glob" != "?" || {
|
||||
if (set -f) 2>/dev/null; then
|
||||
posix_glob=
|
||||
else
|
||||
posix_glob=:
|
||||
fi
|
||||
}
|
||||
'
|
||||
|
||||
posix_mkdir=
|
||||
|
||||
# Desired mode of installed file.
|
||||
mode=0755
|
||||
|
||||
# Create dirs (including intermediate dirs) using mode 755.
|
||||
# This is like GNU 'install' as of coreutils 8.32 (2020).
|
||||
mkdir_umask=22
|
||||
|
||||
backupsuffix=
|
||||
chgrpcmd=
|
||||
chmodcmd=$chmodprog
|
||||
chowncmd=
|
||||
|
@ -97,7 +87,7 @@ dir_arg=
|
|||
dst_arg=
|
||||
|
||||
copy_on_change=false
|
||||
no_target_directory=
|
||||
is_target_a_directory=possibly
|
||||
|
||||
usage="\
|
||||
Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
|
||||
|
@ -114,18 +104,28 @@ Options:
|
|||
--version display version info and exit.
|
||||
|
||||
-c (ignored)
|
||||
-C install only if different (preserve the last data modification time)
|
||||
-C install only if different (preserve data modification time)
|
||||
-d create directories instead of installing files.
|
||||
-g GROUP $chgrpprog installed files to GROUP.
|
||||
-m MODE $chmodprog installed files to MODE.
|
||||
-o USER $chownprog installed files to USER.
|
||||
-p pass -p to $cpprog.
|
||||
-s $stripprog installed files.
|
||||
-S SUFFIX attempt to back up existing files, with suffix SUFFIX.
|
||||
-t DIRECTORY install into DIRECTORY.
|
||||
-T report an error if DSTFILE is a directory.
|
||||
|
||||
Environment variables override the default commands:
|
||||
CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
|
||||
RMPROG STRIPPROG
|
||||
|
||||
By default, rm is invoked with -f; when overridden with RMPROG,
|
||||
it's up to you to specify -f if you want it.
|
||||
|
||||
If -S is not specified, no backups are attempted.
|
||||
|
||||
Email bug reports to bug-automake@gnu.org.
|
||||
Automake home page: https://www.gnu.org/software/automake/
|
||||
"
|
||||
|
||||
while test $# -ne 0; do
|
||||
|
@ -137,46 +137,62 @@ while test $# -ne 0; do
|
|||
-d) dir_arg=true;;
|
||||
|
||||
-g) chgrpcmd="$chgrpprog $2"
|
||||
shift;;
|
||||
shift;;
|
||||
|
||||
--help) echo "$usage"; exit $?;;
|
||||
|
||||
-m) mode=$2
|
||||
case $mode in
|
||||
*' '* | *' '* | *'
|
||||
'* | *'*'* | *'?'* | *'['*)
|
||||
echo "$0: invalid mode: $mode" >&2
|
||||
exit 1;;
|
||||
esac
|
||||
shift;;
|
||||
case $mode in
|
||||
*' '* | *"$tab"* | *"$nl"* | *'*'* | *'?'* | *'['*)
|
||||
echo "$0: invalid mode: $mode" >&2
|
||||
exit 1;;
|
||||
esac
|
||||
shift;;
|
||||
|
||||
-o) chowncmd="$chownprog $2"
|
||||
shift;;
|
||||
shift;;
|
||||
|
||||
-p) cpprog="$cpprog -p";;
|
||||
|
||||
-s) stripcmd=$stripprog;;
|
||||
|
||||
-t) dst_arg=$2
|
||||
# Protect names problematic for 'test' and other utilities.
|
||||
case $dst_arg in
|
||||
-* | [=\(\)!]) dst_arg=./$dst_arg;;
|
||||
esac
|
||||
shift;;
|
||||
-S) backupsuffix="$2"
|
||||
shift;;
|
||||
|
||||
-T) no_target_directory=true;;
|
||||
-t)
|
||||
is_target_a_directory=always
|
||||
dst_arg=$2
|
||||
# Protect names problematic for 'test' and other utilities.
|
||||
case $dst_arg in
|
||||
-* | [=\(\)!]) dst_arg=./$dst_arg;;
|
||||
esac
|
||||
shift;;
|
||||
|
||||
-T) is_target_a_directory=never;;
|
||||
|
||||
--version) echo "$0 $scriptversion"; exit $?;;
|
||||
|
||||
--) shift
|
||||
break;;
|
||||
--) shift
|
||||
break;;
|
||||
|
||||
-*) echo "$0: invalid option: $1" >&2
|
||||
exit 1;;
|
||||
-*) echo "$0: invalid option: $1" >&2
|
||||
exit 1;;
|
||||
|
||||
*) break;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
# We allow the use of options -d and -T together, by making -d
|
||||
# take the precedence; this is for compatibility with GNU install.
|
||||
|
||||
if test -n "$dir_arg"; then
|
||||
if test -n "$dst_arg"; then
|
||||
echo "$0: target directory not allowed when installing a directory." >&2
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
|
||||
# When -d is used, all remaining arguments are directories to create.
|
||||
# When -t is used, the destination is already specified.
|
||||
|
@ -207,6 +223,15 @@ if test $# -eq 0; then
|
|||
exit 0
|
||||
fi
|
||||
|
||||
if test -z "$dir_arg"; then
|
||||
if test $# -gt 1 || test "$is_target_a_directory" = always; then
|
||||
if test ! -d "$dst_arg"; then
|
||||
echo "$0: $dst_arg: Is not a directory." >&2
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
if test -z "$dir_arg"; then
|
||||
do_exit='(exit $ret); exit $ret'
|
||||
trap "ret=129; $do_exit" 1
|
||||
|
@ -223,16 +248,16 @@ if test -z "$dir_arg"; then
|
|||
|
||||
*[0-7])
|
||||
if test -z "$stripcmd"; then
|
||||
u_plus_rw=
|
||||
u_plus_rw=
|
||||
else
|
||||
u_plus_rw='% 200'
|
||||
u_plus_rw='% 200'
|
||||
fi
|
||||
cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
|
||||
*)
|
||||
if test -z "$stripcmd"; then
|
||||
u_plus_rw=
|
||||
u_plus_rw=
|
||||
else
|
||||
u_plus_rw=,u+rw
|
||||
u_plus_rw=,u+rw
|
||||
fi
|
||||
cp_umask=$mode$u_plus_rw;;
|
||||
esac
|
||||
|
@ -250,6 +275,10 @@ do
|
|||
dstdir=$dst
|
||||
test -d "$dstdir"
|
||||
dstdir_status=$?
|
||||
# Don't chown directories that already exist.
|
||||
if test $dstdir_status = 0; then
|
||||
chowncmd=""
|
||||
fi
|
||||
else
|
||||
|
||||
# Waiting for this to be detected by the "$cpprog $src $dsttmp" command
|
||||
|
@ -266,178 +295,148 @@ do
|
|||
fi
|
||||
dst=$dst_arg
|
||||
|
||||
# If destination is a directory, append the input filename; won't work
|
||||
# if double slashes aren't ignored.
|
||||
# If destination is a directory, append the input filename.
|
||||
if test -d "$dst"; then
|
||||
if test -n "$no_target_directory"; then
|
||||
echo "$0: $dst_arg: Is a directory" >&2
|
||||
exit 1
|
||||
if test "$is_target_a_directory" = never; then
|
||||
echo "$0: $dst_arg: Is a directory" >&2
|
||||
exit 1
|
||||
fi
|
||||
dstdir=$dst
|
||||
dst=$dstdir/`basename "$src"`
|
||||
dstbase=`basename "$src"`
|
||||
case $dst in
|
||||
*/) dst=$dst$dstbase;;
|
||||
*) dst=$dst/$dstbase;;
|
||||
esac
|
||||
dstdir_status=0
|
||||
else
|
||||
# Prefer dirname, but fall back on a substitute if dirname fails.
|
||||
dstdir=`
|
||||
(dirname "$dst") 2>/dev/null ||
|
||||
expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
|
||||
X"$dst" : 'X\(//\)[^/]' \| \
|
||||
X"$dst" : 'X\(//\)$' \| \
|
||||
X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
|
||||
echo X"$dst" |
|
||||
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
|
||||
s//\1/
|
||||
q
|
||||
}
|
||||
/^X\(\/\/\)[^/].*/{
|
||||
s//\1/
|
||||
q
|
||||
}
|
||||
/^X\(\/\/\)$/{
|
||||
s//\1/
|
||||
q
|
||||
}
|
||||
/^X\(\/\).*/{
|
||||
s//\1/
|
||||
q
|
||||
}
|
||||
s/.*/./; q'
|
||||
`
|
||||
|
||||
dstdir=`dirname "$dst"`
|
||||
test -d "$dstdir"
|
||||
dstdir_status=$?
|
||||
fi
|
||||
fi
|
||||
|
||||
case $dstdir in
|
||||
*/) dstdirslash=$dstdir;;
|
||||
*) dstdirslash=$dstdir/;;
|
||||
esac
|
||||
|
||||
obsolete_mkdir_used=false
|
||||
|
||||
if test $dstdir_status != 0; then
|
||||
case $posix_mkdir in
|
||||
'')
|
||||
# Create intermediate dirs using mode 755 as modified by the umask.
|
||||
# This is like FreeBSD 'install' as of 1997-10-28.
|
||||
umask=`umask`
|
||||
case $stripcmd.$umask in
|
||||
# Optimize common cases.
|
||||
*[2367][2367]) mkdir_umask=$umask;;
|
||||
.*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
|
||||
# With -d, create the new directory with the user-specified mode.
|
||||
# Otherwise, rely on $mkdir_umask.
|
||||
if test -n "$dir_arg"; then
|
||||
mkdir_mode=-m$mode
|
||||
else
|
||||
mkdir_mode=
|
||||
fi
|
||||
|
||||
*[0-7])
|
||||
mkdir_umask=`expr $umask + 22 \
|
||||
- $umask % 100 % 40 + $umask % 20 \
|
||||
- $umask % 10 % 4 + $umask % 2
|
||||
`;;
|
||||
*) mkdir_umask=$umask,go-w;;
|
||||
esac
|
||||
posix_mkdir=false
|
||||
# The $RANDOM variable is not portable (e.g., dash). Use it
|
||||
# here however when possible just to lower collision chance.
|
||||
tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
|
||||
|
||||
# With -d, create the new directory with the user-specified mode.
|
||||
# Otherwise, rely on $mkdir_umask.
|
||||
if test -n "$dir_arg"; then
|
||||
mkdir_mode=-m$mode
|
||||
trap '
|
||||
ret=$?
|
||||
rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null
|
||||
exit $ret
|
||||
' 0
|
||||
|
||||
# Because "mkdir -p" follows existing symlinks and we likely work
|
||||
# directly in world-writeable /tmp, make sure that the '$tmpdir'
|
||||
# directory is successfully created first before we actually test
|
||||
# 'mkdir -p'.
|
||||
if (umask $mkdir_umask &&
|
||||
$mkdirprog $mkdir_mode "$tmpdir" &&
|
||||
exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1
|
||||
then
|
||||
if test -z "$dir_arg" || {
|
||||
# Check for POSIX incompatibilities with -m.
|
||||
# HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
|
||||
# other-writable bit of parent directory when it shouldn't.
|
||||
# FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
|
||||
test_tmpdir="$tmpdir/a"
|
||||
ls_ld_tmpdir=`ls -ld "$test_tmpdir"`
|
||||
case $ls_ld_tmpdir in
|
||||
d????-?r-*) different_mode=700;;
|
||||
d????-?--*) different_mode=755;;
|
||||
*) false;;
|
||||
esac &&
|
||||
$mkdirprog -m$different_mode -p -- "$test_tmpdir" && {
|
||||
ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"`
|
||||
test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
|
||||
}
|
||||
}
|
||||
then posix_mkdir=:
|
||||
fi
|
||||
rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir"
|
||||
else
|
||||
mkdir_mode=
|
||||
# Remove any dirs left behind by ancient mkdir implementations.
|
||||
rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null
|
||||
fi
|
||||
|
||||
posix_mkdir=false
|
||||
case $umask in
|
||||
*[123567][0-7][0-7])
|
||||
# POSIX mkdir -p sets u+wx bits regardless of umask, which
|
||||
# is incompatible with FreeBSD 'install' when (umask & 300) != 0.
|
||||
;;
|
||||
*)
|
||||
tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
|
||||
trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
|
||||
|
||||
if (umask $mkdir_umask &&
|
||||
exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
|
||||
then
|
||||
if test -z "$dir_arg" || {
|
||||
# Check for POSIX incompatibilities with -m.
|
||||
# HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
|
||||
# other-writable bit of parent directory when it shouldn't.
|
||||
# FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
|
||||
ls_ld_tmpdir=`ls -ld "$tmpdir"`
|
||||
case $ls_ld_tmpdir in
|
||||
d????-?r-*) different_mode=700;;
|
||||
d????-?--*) different_mode=755;;
|
||||
*) false;;
|
||||
esac &&
|
||||
$mkdirprog -m$different_mode -p -- "$tmpdir" && {
|
||||
ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
|
||||
test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
|
||||
}
|
||||
}
|
||||
then posix_mkdir=:
|
||||
fi
|
||||
rmdir "$tmpdir/d" "$tmpdir"
|
||||
else
|
||||
# Remove any dirs left behind by ancient mkdir implementations.
|
||||
rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
|
||||
fi
|
||||
trap '' 0;;
|
||||
esac;;
|
||||
trap '' 0;;
|
||||
esac
|
||||
|
||||
if
|
||||
$posix_mkdir && (
|
||||
umask $mkdir_umask &&
|
||||
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
|
||||
umask $mkdir_umask &&
|
||||
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
|
||||
)
|
||||
then :
|
||||
else
|
||||
|
||||
# The umask is ridiculous, or mkdir does not conform to POSIX,
|
||||
# mkdir does not conform to POSIX,
|
||||
# or it failed possibly due to a race condition. Create the
|
||||
# directory the slow way, step by step, checking for races as we go.
|
||||
|
||||
case $dstdir in
|
||||
/*) prefix='/';;
|
||||
[-=\(\)!]*) prefix='./';;
|
||||
*) prefix='';;
|
||||
/*) prefix='/';;
|
||||
[-=\(\)!]*) prefix='./';;
|
||||
*) prefix='';;
|
||||
esac
|
||||
|
||||
eval "$initialize_posix_glob"
|
||||
|
||||
oIFS=$IFS
|
||||
IFS=/
|
||||
$posix_glob set -f
|
||||
set -f
|
||||
set fnord $dstdir
|
||||
shift
|
||||
$posix_glob set +f
|
||||
set +f
|
||||
IFS=$oIFS
|
||||
|
||||
prefixes=
|
||||
|
||||
for d
|
||||
do
|
||||
test X"$d" = X && continue
|
||||
test X"$d" = X && continue
|
||||
|
||||
prefix=$prefix$d
|
||||
if test -d "$prefix"; then
|
||||
prefixes=
|
||||
else
|
||||
if $posix_mkdir; then
|
||||
(umask=$mkdir_umask &&
|
||||
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
|
||||
# Don't fail if two instances are running concurrently.
|
||||
test -d "$prefix" || exit 1
|
||||
else
|
||||
case $prefix in
|
||||
*\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
|
||||
*) qprefix=$prefix;;
|
||||
esac
|
||||
prefixes="$prefixes '$qprefix'"
|
||||
fi
|
||||
fi
|
||||
prefix=$prefix/
|
||||
prefix=$prefix$d
|
||||
if test -d "$prefix"; then
|
||||
prefixes=
|
||||
else
|
||||
if $posix_mkdir; then
|
||||
(umask $mkdir_umask &&
|
||||
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
|
||||
# Don't fail if two instances are running concurrently.
|
||||
test -d "$prefix" || exit 1
|
||||
else
|
||||
case $prefix in
|
||||
*\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
|
||||
*) qprefix=$prefix;;
|
||||
esac
|
||||
prefixes="$prefixes '$qprefix'"
|
||||
fi
|
||||
fi
|
||||
prefix=$prefix/
|
||||
done
|
||||
|
||||
if test -n "$prefixes"; then
|
||||
# Don't fail if two instances are running concurrently.
|
||||
(umask $mkdir_umask &&
|
||||
eval "\$doit_exec \$mkdirprog $prefixes") ||
|
||||
test -d "$dstdir" || exit 1
|
||||
obsolete_mkdir_used=true
|
||||
# Don't fail if two instances are running concurrently.
|
||||
(umask $mkdir_umask &&
|
||||
eval "\$doit_exec \$mkdirprog $prefixes") ||
|
||||
test -d "$dstdir" || exit 1
|
||||
obsolete_mkdir_used=true
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
@ -450,14 +449,25 @@ do
|
|||
else
|
||||
|
||||
# Make a couple of temp file names in the proper directory.
|
||||
dsttmp=$dstdir/_inst.$$_
|
||||
rmtmp=$dstdir/_rm.$$_
|
||||
dsttmp=${dstdirslash}_inst.$$_
|
||||
rmtmp=${dstdirslash}_rm.$$_
|
||||
|
||||
# Trap to clean up those temp files at exit.
|
||||
trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
|
||||
|
||||
# Copy the file name to the temp name.
|
||||
(umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
|
||||
(umask $cp_umask &&
|
||||
{ test -z "$stripcmd" || {
|
||||
# Create $dsttmp read-write so that cp doesn't create it read-only,
|
||||
# which would cause strip to fail.
|
||||
if test -z "$doit"; then
|
||||
: >"$dsttmp" # No need to fork-exec 'touch'.
|
||||
else
|
||||
$doit touch "$dsttmp"
|
||||
fi
|
||||
}
|
||||
} &&
|
||||
$doit_exec $cpprog "$src" "$dsttmp") &&
|
||||
|
||||
# and set any options; do chmod last to preserve setuid bits.
|
||||
#
|
||||
|
@ -472,20 +482,24 @@ do
|
|||
|
||||
# If -C, don't bother to copy if it wouldn't change the file.
|
||||
if $copy_on_change &&
|
||||
old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
|
||||
new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
|
||||
|
||||
eval "$initialize_posix_glob" &&
|
||||
$posix_glob set -f &&
|
||||
old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
|
||||
new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
|
||||
set -f &&
|
||||
set X $old && old=:$2:$4:$5:$6 &&
|
||||
set X $new && new=:$2:$4:$5:$6 &&
|
||||
$posix_glob set +f &&
|
||||
|
||||
set +f &&
|
||||
test "$old" = "$new" &&
|
||||
$cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
|
||||
then
|
||||
rm -f "$dsttmp"
|
||||
else
|
||||
# If $backupsuffix is set, and the file being installed
|
||||
# already exists, attempt a backup. Don't worry if it fails,
|
||||
# e.g., if mv doesn't support -f.
|
||||
if test -n "$backupsuffix" && test -f "$dst"; then
|
||||
$doit $mvcmd -f "$dst" "$dst$backupsuffix" 2>/dev/null
|
||||
fi
|
||||
|
||||
# Rename the file to the real destination.
|
||||
$doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
|
||||
|
||||
|
@ -493,24 +507,24 @@ do
|
|||
# to itself, or perhaps because mv is so ancient that it does not
|
||||
# support -f.
|
||||
{
|
||||
# Now remove or move aside any old file at destination location.
|
||||
# We try this two ways since rm can't unlink itself on some
|
||||
# systems and the destination file might be busy for other
|
||||
# reasons. In this case, the final cleanup might fail but the new
|
||||
# file should still install successfully.
|
||||
{
|
||||
test ! -f "$dst" ||
|
||||
$doit $rmcmd -f "$dst" 2>/dev/null ||
|
||||
{ $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
|
||||
{ $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
|
||||
} ||
|
||||
{ echo "$0: cannot unlink or rename $dst" >&2
|
||||
(exit 1); exit 1
|
||||
}
|
||||
} &&
|
||||
# Now remove or move aside any old file at destination location.
|
||||
# We try this two ways since rm can't unlink itself on some
|
||||
# systems and the destination file might be busy for other
|
||||
# reasons. In this case, the final cleanup might fail but the new
|
||||
# file should still install successfully.
|
||||
{
|
||||
test ! -f "$dst" ||
|
||||
$doit $rmcmd "$dst" 2>/dev/null ||
|
||||
{ $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
|
||||
{ $doit $rmcmd "$rmtmp" 2>/dev/null; :; }
|
||||
} ||
|
||||
{ echo "$0: cannot unlink or rename $dst" >&2
|
||||
(exit 1); exit 1
|
||||
}
|
||||
} &&
|
||||
|
||||
# Now rename the file to the real destination.
|
||||
$doit $mvcmd "$dsttmp" "$dst"
|
||||
# Now rename the file to the real destination.
|
||||
$doit $mvcmd "$dsttmp" "$dst"
|
||||
}
|
||||
fi || exit 1
|
||||
|
||||
|
@ -519,9 +533,9 @@ do
|
|||
done
|
||||
|
||||
# Local variables:
|
||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
# eval: (add-hook 'before-save-hook 'time-stamp)
|
||||
# time-stamp-start: "scriptversion="
|
||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||
# time-stamp-time-zone: "UTC"
|
||||
# time-stamp-time-zone: "UTC0"
|
||||
# time-stamp-end: "; # UTC"
|
||||
# End:
|
||||
|
|
|
@ -5,8 +5,3 @@ appman_DATA = $(appman_PRE:man=$(APP_MAN_SUFFIX))
|
|||
|
||||
EXTRA_DIST = $(appman_PRE)
|
||||
CLEANFILES = $(appman_DATA)
|
||||
SUFFIXES = .$(APP_MAN_SUFFIX) .man
|
||||
|
||||
# String replacements in MAN_SUBSTS now come from xorg-macros.m4 via configure
|
||||
.man.$(APP_MAN_SUFFIX):
|
||||
$(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@
|
||||
|
|
|
@ -52,14 +52,14 @@ build_triplet = @build@
|
|||
host_triplet = @host@
|
||||
subdir = man
|
||||
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
|
||||
$(top_srcdir)/mkinstalldirs
|
||||
$(srcdir)/appres.man $(top_srcdir)/mkinstalldirs
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
||||
CONFIG_HEADER = $(top_builddir)/config.h
|
||||
CONFIG_CLEAN_FILES =
|
||||
CONFIG_CLEAN_FILES = appres.1
|
||||
CONFIG_CLEAN_VPATH_FILES =
|
||||
AM_V_P = $(am__v_P_@AM_V@)
|
||||
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
|
||||
|
@ -128,7 +128,6 @@ CC = @CC@
|
|||
CCDEPMODE = @CCDEPMODE@
|
||||
CFLAGS = @CFLAGS@
|
||||
CHANGELOG_CMD = @CHANGELOG_CMD@
|
||||
CPP = @CPP@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CWARNFLAGS = @CWARNFLAGS@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
|
@ -139,11 +138,9 @@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@
|
|||
ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EGREP = @EGREP@
|
||||
EXEEXT = @EXEEXT@
|
||||
FILE_MAN_DIR = @FILE_MAN_DIR@
|
||||
FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@
|
||||
GREP = @GREP@
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_CMD = @INSTALL_CMD@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
|
@ -237,11 +234,9 @@ appman_PRE = appres.man
|
|||
appman_DATA = $(appman_PRE:man=$(APP_MAN_SUFFIX))
|
||||
EXTRA_DIST = $(appman_PRE)
|
||||
CLEANFILES = $(appman_DATA)
|
||||
SUFFIXES = .$(APP_MAN_SUFFIX) .man
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .$(APP_MAN_SUFFIX) .man
|
||||
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
|
||||
@for dep in $?; do \
|
||||
case '$(am__configure_deps)' in \
|
||||
|
@ -272,6 +267,8 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
|
|||
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
$(am__aclocal_m4_deps):
|
||||
appres.1: $(top_builddir)/config.status $(srcdir)/appres.man
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
|
||||
install-appmanDATA: $(appman_DATA)
|
||||
@$(NORMAL_INSTALL)
|
||||
@list='$(appman_DATA)'; test -n "$(appmandir)" || list=; \
|
||||
|
@ -450,10 +447,6 @@ uninstall-am: uninstall-appmanDATA
|
|||
pdf-am ps ps-am uninstall uninstall-am uninstall-appmanDATA
|
||||
|
||||
|
||||
# String replacements in MAN_SUBSTS now come from xorg-macros.m4 via configure
|
||||
.man.$(APP_MAN_SUFFIX):
|
||||
$(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
.\" other dealings in this Software without prior written authorization
|
||||
.\" from The Open Group.
|
||||
.\"
|
||||
.TH APPRES 1 __xorgversion__
|
||||
.TH APPRES 1 "@PACKAGE_STRING@" "@XORG_MAN_PAGE@"
|
||||
.SH NAME
|
||||
appres \- list X application resource database
|
||||
.SH SYNOPSIS
|
||||
|
@ -86,6 +86,6 @@ will list the resources matching the \fIxterm\fP vt100 widget.
|
|||
The -V option prints the appres command version and exits.
|
||||
.SH "SEE ALSO"
|
||||
.PP
|
||||
X(__miscmansuffix__), xrdb(__appmansuffix__), listres(__appmansuffix__)
|
||||
X(@MISC_MAN_SUFFIX@), xrdb(@APP_MAN_SUFFIX@), listres(@APP_MAN_SUFFIX@)
|
||||
.SH AUTHOR
|
||||
Jim Fulton, MIT X Consortium
|
||||
|
|
40
app/appres/meson.build
Normal file
40
app/appres/meson.build
Normal file
|
@ -0,0 +1,40 @@
|
|||
project('appres', 'c',
|
||||
version : '1.0.7',
|
||||
license : 'MIT',
|
||||
default_options: ['warning_level=3'],
|
||||
)
|
||||
|
||||
cc = meson.get_compiler('c')
|
||||
|
||||
prefix = get_option('prefix')
|
||||
|
||||
package_string = '@0@ @1@'.format(meson.project_name(), meson.project_version())
|
||||
|
||||
conf_data = configuration_data()
|
||||
conf_data.set('PACKAGE_STRING', '"@0@"'.format(package_string))
|
||||
configure_file(output : 'config.h', configuration : conf_data)
|
||||
add_global_arguments('-DHAVE_CONFIG_H', language : 'c')
|
||||
|
||||
x11_dep = dependency('x11', required: true)
|
||||
xmuu_dep = dependency('xt', required: true)
|
||||
xproto_dep = dependency('xproto', required: true, version: '>= 7.0.17')
|
||||
|
||||
sources = ['appres.c']
|
||||
executable('appres', sources,
|
||||
dependencies: [x11_dep, xmuu_dep, xproto_dep],
|
||||
install: true)
|
||||
|
||||
man = join_paths(prefix, get_option('mandir'))
|
||||
|
||||
man_conf = configuration_data()
|
||||
man_conf.set('PACKAGE_STRING', package_string)
|
||||
man_conf.set('APP_MAN_SUFFIX', '1')
|
||||
man_conf.set('MISC_MAN_SUFFIX', '7')
|
||||
man_conf.set('XORG_MAN_PAGE', 'X Version 11')
|
||||
|
||||
install_man(configure_file(
|
||||
input: 'man/appres.man',
|
||||
output: 'appres.1',
|
||||
install_dir: join_paths(man, 'man1'),
|
||||
configuration: man_conf
|
||||
))
|
441
dist/libxcb/ChangeLog
vendored
441
dist/libxcb/ChangeLog
vendored
|
@ -1,3 +1,444 @@
|
|||
commit 622152ee42a310876f10602601206954b8d0613e
|
||||
Author: Matt Turner <mattst88@gmail.com>
|
||||
Date: Fri Apr 12 12:35:55 2024 -0400
|
||||
|
||||
libxcb 1.17.0
|
||||
|
||||
commit 4574ab269b082bf412e1b6fb5f09daf8134acd0b
|
||||
Author: Matt Turner <mattst88@gmail.com>
|
||||
Date: Fri Apr 12 12:35:32 2024 -0400
|
||||
|
||||
configure.ac: Require xcb-proto >= 1.17.0
|
||||
|
||||
Signed-off-by: Matt Turner <mattst88@gmail.com>
|
||||
|
||||
commit b78d304531bfe2359baf40db06099d9158d398d4
|
||||
Author: Uli Schlachter <psychon@znc.in>
|
||||
Date: Sun Sep 17 12:43:43 2023 +0200
|
||||
|
||||
Always write C code in UTF-8
|
||||
|
||||
Some people apparently use non-utf8 locales and this caused errors when
|
||||
xcb-proto started using some "fancy" quote marks. Fix this by always
|
||||
using utf8 encoding.
|
||||
|
||||
Fixes: https://gitlab.freedesktop.org/xorg/lib/libxcb/-/issues/72
|
||||
Signed-off-by: Uli Schlachter <psychon@znc.in>
|
||||
|
||||
commit 389f22d1cb53e47337e96d9f78a3ef0001e8e588
|
||||
Author: Erik Kurzinger <ekurzinger@nvidia.com>
|
||||
Date: Wed Mar 20 07:06:01 2024 -0700
|
||||
|
||||
Add xcb-dri3 dependency to xcb-present.pc.in
|
||||
|
||||
Present version 1.4 introduces a dependency on DRI3 for the DRI3Syncobj
|
||||
protocol type.
|
||||
|
||||
Signed-off-by: Erik Kurzinger <ekurzinger@nvidia.com>
|
||||
|
||||
commit 86a478032ba93f30adbc0ce96eecd3420fdf7ed1
|
||||
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
Date: Sat Mar 2 12:01:54 2024 -0800
|
||||
|
||||
xcb_popcount: Use __builtin_popcount if compiler supports it
|
||||
|
||||
If the compiler knows of a better implementation for counting the number
|
||||
of bits set in a word for the target CPU, let it use that, instead of the
|
||||
classic algorithm optimized for PDP-6.
|
||||
|
||||
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
|
||||
commit c268499c305317d2e9a67cc590c9147e11438fc7
|
||||
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
Date: Sat Mar 2 11:47:47 2024 -0800
|
||||
|
||||
tests: fix -Werror=discarded-qualifiers errors in check_public.c
|
||||
|
||||
check_public.c: In function ‘parse_display_pass’:
|
||||
check_public.c:32:32: error: passing argument 1 of ‘putenv’ discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers]
|
||||
32 | putenv("DISPLAY=");
|
||||
| ^~~~~~~~~~
|
||||
In file included from check_public.c:4:
|
||||
/usr/include/stdlib.h:148:19: note: expected ‘char *’ but argument is of type ‘const char *’
|
||||
148 | extern int putenv(char *);
|
||||
| ^~~~~~
|
||||
check_public.c:57:16: error: passing argument 1 of ‘putenv’ discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers]
|
||||
57 | putenv("DISPLAY=");
|
||||
| ^~~~~~~~~~
|
||||
/usr/include/stdlib.h:148:19: note: expected ‘char *’ but argument is of type ‘const char *’
|
||||
148 | extern int putenv(char *);
|
||||
| ^~~~~~
|
||||
check_public.c: In function ‘parse_display_fail’:
|
||||
check_public.c:73:32: error: passing argument 1 of ‘putenv’ discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers]
|
||||
73 | putenv("DISPLAY=");
|
||||
| ^~~~~~~~~~
|
||||
/usr/include/stdlib.h:148:19: note: expected ‘char *’ but argument is of type ‘const char *’
|
||||
148 | extern int putenv(char *);
|
||||
| ^~~~~~
|
||||
check_public.c:99:16: error: passing argument 1 of ‘putenv’ discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers]
|
||||
99 | putenv("DISPLAY=");
|
||||
| ^~~~~~~~~~
|
||||
/usr/include/stdlib.h:148:19: note: expected ‘char *’ but argument is of type ‘const char *’
|
||||
148 | extern int putenv(char *);
|
||||
| ^~~~~~
|
||||
check_public.c: In function ‘public_suite’:
|
||||
check_public.c:244:16: error: passing argument 1 of ‘putenv’ discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers]
|
||||
244 | putenv("DISPLAY=");
|
||||
| ^~~~~~~~~~
|
||||
/usr/include/stdlib.h:148:19: note: expected ‘char *’ but argument is of type ‘const char *’
|
||||
148 | extern int putenv(char *);
|
||||
| ^~~~~~
|
||||
cc1: all warnings being treated as errors
|
||||
|
||||
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
|
||||
commit c671b9b30aecada4e43cb48e0dee46d19fb5cb9c
|
||||
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
Date: Sat Mar 2 11:13:37 2024 -0800
|
||||
|
||||
libxcb 1.16.1
|
||||
|
||||
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
|
||||
commit 3c946010c8521497b0fba2c8bc9bde184622345a
|
||||
Author: Fergus Dall <sidereal@google.com>
|
||||
Date: Tue Nov 7 17:42:42 2023 +1100
|
||||
|
||||
Enable large file support
|
||||
|
||||
Signed-off-by: Fergus Dall <sidereal@google.com>
|
||||
|
||||
commit 02a7bbed391859c79864b9aacf040d84f103d38a
|
||||
Author: Peter Williams <peter@newton.cx>
|
||||
Date: Thu Aug 24 21:50:29 2023 -0400
|
||||
|
||||
Fix compilation on Windows
|
||||
|
||||
Merge request !30 broke compilation on Windows by introducing unbalanced
|
||||
curly braces. This change restores the previous behavior on Windows:
|
||||
only TCP is supported.
|
||||
|
||||
commit 18c3f055e7c02db6f15ae56f6995639635d1b055
|
||||
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
Date: Sun Aug 20 11:34:31 2023 -0700
|
||||
|
||||
gitlab CI: use latest xcbproto from git to build against
|
||||
|
||||
Closes issue #70
|
||||
|
||||
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
|
||||
commit 453115f7eeb694de9f41ea842a29bbb31b90c8dd
|
||||
Author: Thomas Klausner <wiz@gatalith.at>
|
||||
Date: Sat Aug 19 19:34:51 2023 +0200
|
||||
|
||||
configure.ac: drop `pthread-stubs` dependency on NetBSD
|
||||
|
||||
commit f11691a09893d2329948521e32a18c13b0b03d01
|
||||
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
Date: Sun Aug 20 10:22:19 2023 -0700
|
||||
|
||||
gitlab CI: regenerate container used for builds
|
||||
|
||||
This updates the included xcb-proto to the newly required 1.16.
|
||||
As explained in issue #70, this is a quick workaround, not the
|
||||
long-term fix for this problem.
|
||||
|
||||
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
|
||||
commit cc4b93c9cd93bad15b7106747b0213e4b9c53a1c
|
||||
Author: Matt Turner <mattst88@gmail.com>
|
||||
Date: Wed Aug 16 16:09:50 2023 -0400
|
||||
|
||||
libxcb 1.16
|
||||
|
||||
Signed-off-by: Matt Turner <mattst88@gmail.com>
|
||||
|
||||
commit 1519334652837cb7b2a8f8117628ea3cc744f7cb
|
||||
Author: Matt Turner <mattst88@gmail.com>
|
||||
Date: Wed Aug 16 16:08:46 2023 -0400
|
||||
|
||||
configure.ac: Require xcb-proto >= 1.16.0
|
||||
|
||||
Signed-off-by: Matt Turner <mattst88@gmail.com>
|
||||
|
||||
commit 038636786ad1914f3daf3503ae9611f40dffbb8f
|
||||
Author: Ilya Pominov <ipominov@astralinux.ru>
|
||||
Date: Sun Apr 2 11:35:16 2023 +0300
|
||||
|
||||
c_client: Fix crash in xcb_randr_set_monitor
|
||||
|
||||
Take into account c_need_sizeof when evaluating
|
||||
xcb_protocol_request_t.count
|
||||
|
||||
Incorrect xcb_protocol_request_t.count causes a segmentation fault when
|
||||
calling functions:
|
||||
- xcb_randr_set_monitor{_checked}
|
||||
- xcb_input_change_feedback_control{_checked}
|
||||
- xcb_input_change_device_control{_unchecked}
|
||||
|
||||
Steps to reproduce:
|
||||
Call xcb_randr_set_monitor() with valid arguments
|
||||
|
||||
OBSERVED RESULT
|
||||
Segmentation fault
|
||||
```
|
||||
Process terminating with default action of signal 11 (SIGSEGV)
|
||||
Access not within mapped region at address 0x780
|
||||
at 0x4852925: memmove (in /usr/libexec/valgrind/vgpreload_memcheck-
|
||||
amd64-linux.so)
|
||||
by 0x486967C: memcpy (string_fortified.h:29)
|
||||
by 0x486967C: send_request (xcb_out.c:59)
|
||||
by 0x486967C: send_request (xcb_out.c:46)
|
||||
by 0x486967C: xcb_send_request_with_fds64 (xcb_out.c:338)
|
||||
by 0x48699FC: xcb_send_request (xcb_out.c:359)
|
||||
by 0x4891F11: xcb_randr_set_monitor_checked (randr.c:5350)
|
||||
```
|
||||
|
||||
EXPECTED RESULT
|
||||
Function returns cookie
|
||||
|
||||
Amend: 77b594f9583ea0247ff27130316d8e045da7f921
|
||||
|
||||
Signed-off-by: Ilya Pominov <ipominov@astralinux.ru>
|
||||
|
||||
commit 8935793f1f3751a6aa9d78955c7d6236177986de
|
||||
Author: Demi Marie Obenour <demiobenour@gmail.com>
|
||||
Date: Sat Mar 25 15:27:33 2023 -0400
|
||||
|
||||
Add tests for unix socket parsing
|
||||
|
||||
Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com>
|
||||
|
||||
commit 095255531b90f0b442e6ca41fb3752a058562d07
|
||||
Author: Demi Marie Obenour <demiobenour@gmail.com>
|
||||
Date: Fri Aug 12 22:02:02 2022 -0400
|
||||
|
||||
DISPLAY starting with / or unix: is always a socket path
|
||||
|
||||
If DISPLAY starts with / or unix:, do not check for anything but a full
|
||||
filesystem socket path. In particular, abstract AF_UNIX sockets and TCP
|
||||
sockets will not be used in this case. Also be stricter about parsing
|
||||
the screen part of /path.screen displays, and bail out after all stat()
|
||||
errors other than ENOENT.
|
||||
|
||||
Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com>
|
||||
|
||||
commit ccdef1a8a5b6956a3fb7115d634db213433dca75
|
||||
Author: Demi Marie Obenour <demiobenour@gmail.com>
|
||||
Date: Sun Jul 3 17:57:11 2022 -0400
|
||||
|
||||
Allow full paths to sockets on non-macOS
|
||||
|
||||
When combined with xorg/lib/libxtrans!7, this allows CVE-2020-25697 to
|
||||
be mitigated by placing the AF_UNIX socket in a secure directory on the
|
||||
filesystem.
|
||||
|
||||
This enables HAVE_LAUNCHD unconditionally and deletes the configure
|
||||
switch.
|
||||
|
||||
Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com>
|
||||
|
||||
commit 18e109d755c5ce18157fdabb6de8ee6845b348ff
|
||||
Author: Matthieu Herrb <matthieu@herrb.eu>
|
||||
Date: Tue Feb 28 14:19:21 2023 +0100
|
||||
|
||||
Fix xcb_connect() call with a custom xcb_auth_info_t
|
||||
|
||||
If the function implementing xcb_connect is called directly with a
|
||||
custom xcb_auth_info_t then checking that the screen in $DISPLAY
|
||||
is valid is skipped.
|
||||
|
||||
Reported by chohag AT jtan DOT com
|
||||
|
||||
Signed-off-by: Matthieu Herrb <matthieu@herrb.eu>
|
||||
|
||||
commit fd04ab24a5e99d53874789439d3ffb0eb82574f7
|
||||
Author: Jan Beich <jbeich@FreeBSD.org>
|
||||
Date: Fri Feb 10 14:16:20 2023 +0000
|
||||
|
||||
configure.ac: drop `pthread-stubs` dependency on DragonFly and FreeBSD
|
||||
|
||||
All `pthread_*` symbols used by libxcb have stubs in libc. So, stop
|
||||
linking against libpthread.
|
||||
|
||||
commit 4d1a578dd5348909ade2a853d806272326d228d7
|
||||
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
Date: Thu Feb 9 14:56:38 2023 -0800
|
||||
|
||||
Raise minimum required version of Python from 2.6 to 3.0
|
||||
|
||||
Trying to build with Python 2.7.14 fails with:
|
||||
File "./c_client.py", line 2270
|
||||
key = (*self.name[:-1], field.enum)
|
||||
^
|
||||
SyntaxError: invalid syntax
|
||||
|
||||
Fixes: 33f3dbe ("Fix handling of documented enum parameters")
|
||||
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
|
||||
commit e2a3e80eb837eaaa834a01a2741d4c249c984442
|
||||
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
Date: Mon Feb 6 15:48:49 2023 -0800
|
||||
|
||||
configure.ac: Remove obsolete AC_HEADER_STDC
|
||||
|
||||
Nothing checks for the STDC_HEADERS flag this set, and all supported
|
||||
systems have C89 compatible headers now.
|
||||
|
||||
Clears autoconf warnings of:
|
||||
configure.ac:93: warning: The macro `AC_HEADER_STDC' is obsolete.
|
||||
configure.ac:93: You should run autoupdate.
|
||||
./lib/autoconf/headers.m4:704: AC_HEADER_STDC is expanded from...
|
||||
configure.ac:93: the top level
|
||||
|
||||
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
|
||||
commit 3333d5bde8baaca8981e806ef86b74f4adb77ba7
|
||||
Author: Daniel G <giri@nwrk.biz>
|
||||
Date: Mon Jan 9 16:21:35 2023 +0000
|
||||
|
||||
Fix indentation.
|
||||
|
||||
commit 973b510e954f6989ed773f8b357ca50fbc99bced
|
||||
Author: Daniel G <giri@nwrk.biz>
|
||||
Date: Sat Jan 7 19:35:47 2023 +0000
|
||||
|
||||
Fix windows build.
|
||||
|
||||
commit cb8c70f5a65b4bd68b449dcaa637c3c4753e2f81
|
||||
Author: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
|
||||
Date: Sat Nov 26 14:55:07 2022 -0800
|
||||
|
||||
xcb_conn: Add a check for NULL to silence a UBSan runtime error
|
||||
|
||||
xcb_conn.c:314:60: runtime error: applying zero offset to null pointer
|
||||
|
||||
Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
|
||||
|
||||
commit 33f3dbe3699a92e8ca18f470adac456e0b935e75
|
||||
Author: Demi Marie Obenour <demiobenour@gmail.com>
|
||||
Date: Sun Oct 16 01:50:53 2022 -0400
|
||||
|
||||
Fix handling of documented enum parameters
|
||||
|
||||
Previously this would crash the code generator.
|
||||
|
||||
Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com>
|
||||
|
||||
commit c9513aac2d78808f63b83d71072c2c483b20162d
|
||||
Author: Demi Marie Obenour <demi@invisiblethingslab.com>
|
||||
Date: Sat Aug 28 12:25:05 2021 -0400
|
||||
|
||||
Fix a compiler warning
|
||||
|
||||
The warning is harmless but annoying.
|
||||
|
||||
Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com>
|
||||
|
||||
commit 06e1ef43bbb8c84fc243fa6a53c81147a3a24273
|
||||
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
Date: Tue Oct 4 11:30:09 2022 -0700
|
||||
|
||||
configure.ac: drop dependency `pthread-stubs` on Solaris
|
||||
|
||||
On Solaris 10 and later, the pthread functions are directly in libc,
|
||||
and libpthread only has metadata to redirect calls from it to the
|
||||
libc functions.
|
||||
|
||||
On Solaris 9 and older (no longer supported), libc contained its own
|
||||
thread stubs that libpthread then overrode.
|
||||
|
||||
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
|
||||
commit d53ad60d774176c5b057e2ed4d03a4658ee13690
|
||||
Author: PaperChalice <lgamma@163.com>
|
||||
Date: Sat Aug 13 13:11:10 2022 +0800
|
||||
|
||||
configure.ac: drop dependency `pthread-stubs` on macOS
|
||||
|
||||
`libpthread.dylib` on macOS is an alias of `libSystem.B.dylib`,
|
||||
every program should link against `libSystem.B.dylib`.
|
||||
|
||||
commit e2ee5aabe9f731b7231b0d4a5a21367d1aced6ed
|
||||
Author: Uli Schlachter <psychon@znc.in>
|
||||
Date: Wed Sep 14 14:53:35 2022 +0200
|
||||
|
||||
Improve tutorial example
|
||||
|
||||
This tutorial example only handles XCB_EXPOSURE and XCB_KEY_RELEASE
|
||||
events and ignores everything else. Thus, there is no point in asking
|
||||
for more kinds of events.
|
||||
|
||||
A while ago, I ported this tutorial to x11rb [1]. Recently, I received a
|
||||
pull request [2] removing these unnecessary event masks. This commit is
|
||||
thus only partially by me and the 'issue' was originally found by the
|
||||
author of [2].
|
||||
|
||||
[1]: https://github.com/psychon/x11rb/blob/master/x11rb/examples/tutorial.rs
|
||||
[2]: https://github.com/psychon/x11rb/pull/754
|
||||
|
||||
Signed-off-by: Uli Schlachter <psychon@znc.in>
|
||||
|
||||
commit 9dcb08170898d3bd5ddb3bc26c514a6bfccf3fae
|
||||
Author: Mihail Konev <k.mvc@ya.ru>
|
||||
Date: Thu Jan 26 13:52:49 2017 +1000
|
||||
|
||||
autogen: add default patch prefix
|
||||
|
||||
Signed-off-by: Mihail Konev <k.mvc@ya.ru>
|
||||
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
|
||||
commit 7d798d3ccbe537f2f102665447ec3e15a8cdb1a1
|
||||
Author: Emil Velikov <emil.l.velikov@gmail.com>
|
||||
Date: Mon Mar 9 12:00:52 2015 +0000
|
||||
|
||||
autogen.sh: use quoted string variables
|
||||
|
||||
Place quotes around the $srcdir, $ORIGDIR and $0 variables to prevent
|
||||
fall-outs, when they contain space.
|
||||
|
||||
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
|
||||
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
|
||||
commit 7071b4a13c1e4df13b138748feebadc17fe2522b
|
||||
Author: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Date: Tue Jan 24 10:32:07 2017 +1000
|
||||
|
||||
autogen.sh: use exec instead of waiting for configure to finish
|
||||
|
||||
Syncs the invocation of configure with the one from the server.
|
||||
|
||||
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
|
||||
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
|
||||
commit ee60239b7308f98a7a32e2a567681e00c6b652f5
|
||||
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
Date: Mon Jul 18 17:55:43 2022 -0700
|
||||
|
||||
gitlab CI: add a basic build test
|
||||
|
||||
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
|
||||
commit 3123dfe723648c5abeab429e7cb4bd194ceeb8f6
|
||||
Author: Mike Sharov <msharov@users.sourceforge.net>
|
||||
Date: Wed Jun 22 10:56:37 2022 -0400
|
||||
|
||||
Require xcb-proto >= 1.15.1, which has Dbe
|
||||
|
||||
Signed-off-by: Mike Sharov <msharov@users.sourceforge.net>
|
||||
|
||||
commit 816407655f75cf8ae505432cb743c316e009679d
|
||||
Author: Mike Sharov <msharov@users.sourceforge.net>
|
||||
Date: Thu Jun 2 13:27:48 2022 -0400
|
||||
|
||||
Build DOUBLE-BUFFER extension.
|
||||
|
||||
Signed-off-by: Mike Sharov <msharov@users.sourceforge.net>
|
||||
|
||||
commit c2c4a2cd1947e559718acdba19ef6e7db731dbeb
|
||||
Author: Matt Turner <mattst88@gmail.com>
|
||||
Date: Tue May 3 15:09:54 2022 -0700
|
||||
|
|
3
dist/libxcb/Makefile.am
vendored
3
dist/libxcb/Makefile.am
vendored
|
@ -12,6 +12,9 @@ endif
|
|||
if BUILD_DAMAGE
|
||||
pkgconfig_DATA += xcb-damage.pc
|
||||
endif
|
||||
if BUILD_DBE
|
||||
pkgconfig_DATA += xcb-dbe.pc
|
||||
endif
|
||||
if BUILD_DPMS
|
||||
pkgconfig_DATA += xcb-dpms.pc
|
||||
endif
|
||||
|
|
11
dist/libxcb/autogen.sh
vendored
11
dist/libxcb/autogen.sh
vendored
|
@ -1,14 +1,17 @@
|
|||
#! /bin/sh
|
||||
|
||||
srcdir=`dirname $0`
|
||||
srcdir=`dirname "$0"`
|
||||
test -z "$srcdir" && srcdir=.
|
||||
|
||||
ORIGDIR=`pwd`
|
||||
cd $srcdir
|
||||
cd "$srcdir"
|
||||
|
||||
autoreconf -v --install || exit 1
|
||||
cd $ORIGDIR || exit $?
|
||||
cd "$ORIGDIR" || exit $?
|
||||
|
||||
git config --local --get format.subjectPrefix >/dev/null 2>&1 ||
|
||||
git config --local format.subjectPrefix "PATCH libxcb"
|
||||
|
||||
if test -z "$NOCONFIGURE"; then
|
||||
$srcdir/configure "$@"
|
||||
exec "$srcdir"/configure "$@"
|
||||
fi
|
||||
|
|
25
dist/libxcb/configure.ac
vendored
25
dist/libxcb/configure.ac
vendored
|
@ -2,8 +2,8 @@ dnl Process this file with autoconf to produce a configure script.
|
|||
|
||||
# Initialize Autoconf
|
||||
AC_PREREQ([2.60])
|
||||
AC_INIT([libxcb],[1.15],
|
||||
[https://gitlab.freedesktop.org/xorg/lib/libxcb/issues],
|
||||
AC_INIT([libxcb],[1.17.0],
|
||||
[https://gitlab.freedesktop.org/xorg/lib/libxcb/-/issues],
|
||||
[libxcb])
|
||||
AC_CONFIG_AUX_DIR([build-aux])
|
||||
AC_CONFIG_MACRO_DIR([m4])
|
||||
|
@ -12,12 +12,13 @@ AC_CONFIG_HEADERS([src/config.h])
|
|||
|
||||
# Initialize Automake
|
||||
AM_INIT_AUTOMAKE([foreign dist-xz])
|
||||
AM_PATH_PYTHON([2.6])
|
||||
AM_PATH_PYTHON([3.0])
|
||||
|
||||
# Set common system defines for POSIX extensions, such as _GNU_SOURCE
|
||||
# Must be called before any macros that run the compiler (like AC_PROG_LIBTOOL)
|
||||
# to avoid autoconf errors.
|
||||
AC_USE_SYSTEM_EXTENSIONS
|
||||
AC_SYS_LARGEFILE
|
||||
|
||||
# Initialize libtool
|
||||
LT_PREREQ([2.2])
|
||||
|
@ -50,10 +51,10 @@ fi
|
|||
AC_SUBST(HTML_CHECK_RESULT)
|
||||
|
||||
# Checks for pkg-config packages
|
||||
PKG_CHECK_MODULES(XCBPROTO, xcb-proto >= 1.14)
|
||||
PKG_CHECK_MODULES(XCBPROTO, xcb-proto >= 1.17.0)
|
||||
NEEDED="xau >= 0.99.2"
|
||||
case $host_os in
|
||||
linux*) ;;
|
||||
linux*|darwin*|solaris*|dragonfly*|freebsd*|netbsd*) ;;
|
||||
*) NEEDED="$NEEDED pthread-stubs" ;;
|
||||
esac
|
||||
PKG_CHECK_MODULES(NEEDED, $NEEDED)
|
||||
|
@ -90,7 +91,6 @@ XCBPROTO_XCBPYTHONDIR=`$PKG_CONFIG --variable=pythondir xcb-proto`
|
|||
AC_MSG_RESULT($XCBPROTO_XCBPYTHONDIR)
|
||||
AC_SUBST(XCBPROTO_XCBPYTHONDIR)
|
||||
|
||||
AC_HEADER_STDC
|
||||
AC_SEARCH_LIBS(getaddrinfo, socket)
|
||||
AC_SEARCH_LIBS(connect, socket)
|
||||
|
||||
|
@ -221,6 +221,7 @@ esac
|
|||
|
||||
XCB_EXTENSION(Composite, yes)
|
||||
XCB_EXTENSION(Damage, yes)
|
||||
XCB_EXTENSION(Dbe, yes)
|
||||
XCB_EXTENSION(DPMS, yes)
|
||||
XCB_EXTENSION(DRI2, yes)
|
||||
XCB_EXTENSION(DRI3, $have_sendmsg)
|
||||
|
@ -247,16 +248,6 @@ XCB_EXTENSION(XTest, yes)
|
|||
XCB_EXTENSION(Xv, yes)
|
||||
XCB_EXTENSION(XvMC, yes)
|
||||
|
||||
AC_ARG_WITH(launchd, AS_HELP_STRING([--with-launchd], [Build with support for Apple's launchd (default: auto)]), [LAUNCHD=$withval], [LAUNCHD=auto])
|
||||
if test "x$LAUNCHD" = xauto; then
|
||||
unset LAUNCHD
|
||||
AC_CHECK_PROG(LAUNCHD, [launchd], [yes], [no], [$PATH$PATH_SEPARATOR/sbin])
|
||||
fi
|
||||
|
||||
if test "x$LAUNCHD" = xyes ; then
|
||||
AC_DEFINE(HAVE_LAUNCHD, 1, [launchd support available])
|
||||
fi
|
||||
|
||||
AC_ARG_WITH(serverside-support, AS_HELP_STRING([--with-serverside-support], [Build with support for server-side usage of xcb. This is still EXPERIMENTAL! ABI/API may change! (default: no)]), [XCB_SERVERSIDE_SUPPORT=$withval], [XCB_SERVERSIDE_SUPPORT=no])
|
||||
|
||||
AM_CONDITIONAL(XCB_SERVERSIDE_SUPPORT, test "x$XCB_SERVERSIDE_SUPPORT" = "xyes")
|
||||
|
@ -273,6 +264,7 @@ AC_CONFIG_FILES([
|
|||
xcb.pc
|
||||
xcb-composite.pc
|
||||
xcb-damage.pc
|
||||
xcb-dbe.pc
|
||||
xcb-dpms.pc
|
||||
xcb-dri2.pc
|
||||
xcb-dri3.pc
|
||||
|
@ -321,6 +313,7 @@ echo ""
|
|||
echo " X11 extensions"
|
||||
echo " Composite...........: ${BUILD_COMPOSITE}"
|
||||
echo " Damage..............: ${BUILD_DAMAGE}"
|
||||
echo " Dbe.................: ${BUILD_DBE}"
|
||||
echo " Dpms................: ${BUILD_DPMS}"
|
||||
echo " Dri2................: ${BUILD_DRI2}"
|
||||
echo " Dri3................: ${BUILD_DRI3}"
|
||||
|
|
4
dist/libxcb/doc/tutorial/index.html
vendored
4
dist/libxcb/doc/tutorial/index.html
vendored
|
@ -2297,9 +2297,7 @@ int main ()
|
|||
values[0] = screen->white_pixel;
|
||||
values[1] =
|
||||
XCB_EVENT_MASK_KEY_RELEASE |
|
||||
XCB_EVENT_MASK_BUTTON_PRESS |
|
||||
XCB_EVENT_MASK_EXPOSURE |
|
||||
XCB_EVENT_MASK_POINTER_MOTION;
|
||||
XCB_EVENT_MASK_EXPOSURE;
|
||||
cookie_window = xcb_create_window_checked (c,
|
||||
screen->root_depth,
|
||||
window, screen->root,
|
||||
|
|
232
dist/libxcb/m4/libtool.m4
vendored
232
dist/libxcb/m4/libtool.m4
vendored
|
@ -1,6 +1,7 @@
|
|||
# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
|
||||
#
|
||||
# Copyright (C) 1996-2001, 2003-2015 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1996-2001, 2003-2019, 2021-2022 Free Software
|
||||
# Foundation, Inc.
|
||||
# Written by Gordon Matzigkeit, 1996
|
||||
#
|
||||
# This file is free software; the Free Software Foundation gives
|
||||
|
@ -31,7 +32,7 @@ m4_define([_LT_COPYING], [dnl
|
|||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
])
|
||||
|
||||
# serial 58 LT_INIT
|
||||
# serial 59 LT_INIT
|
||||
|
||||
|
||||
# LT_PREREQ(VERSION)
|
||||
|
@ -181,6 +182,7 @@ m4_require([_LT_FILEUTILS_DEFAULTS])dnl
|
|||
m4_require([_LT_CHECK_SHELL_FEATURES])dnl
|
||||
m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl
|
||||
m4_require([_LT_CMD_RELOAD])dnl
|
||||
m4_require([_LT_DECL_FILECMD])dnl
|
||||
m4_require([_LT_CHECK_MAGIC_METHOD])dnl
|
||||
m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl
|
||||
m4_require([_LT_CMD_OLD_ARCHIVE])dnl
|
||||
|
@ -219,8 +221,8 @@ esac
|
|||
ofile=libtool
|
||||
can_build_shared=yes
|
||||
|
||||
# All known linkers require a '.a' archive for static linking (except MSVC,
|
||||
# which needs '.lib').
|
||||
# All known linkers require a '.a' archive for static linking (except MSVC and
|
||||
# ICC, which need '.lib').
|
||||
libext=a
|
||||
|
||||
with_gnu_ld=$lt_cv_prog_gnu_ld
|
||||
|
@ -778,7 +780,7 @@ _LT_EOF
|
|||
# if finds mixed CR/LF and LF-only lines. Since sed operates in
|
||||
# text mode, it properly converts lines to CR/LF. This bash problem
|
||||
# is reportedly fixed, but why not run on old versions too?
|
||||
sed '$q' "$ltmain" >> "$cfgfile" \
|
||||
$SED '$q' "$ltmain" >> "$cfgfile" \
|
||||
|| (rm -f "$cfgfile"; exit 1)
|
||||
|
||||
mv -f "$cfgfile" "$ofile" ||
|
||||
|
@ -1042,8 +1044,8 @@ int forced_loaded() { return 2;}
|
|||
_LT_EOF
|
||||
echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD
|
||||
$LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD
|
||||
echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
|
||||
$AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
|
||||
echo "$AR $AR_FLAGS libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
|
||||
$AR $AR_FLAGS libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
|
||||
echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD
|
||||
$RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD
|
||||
cat > conftest.c << _LT_EOF
|
||||
|
@ -1067,17 +1069,12 @@ _LT_EOF
|
|||
_lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;;
|
||||
darwin1.*)
|
||||
_lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
|
||||
darwin*) # darwin 5.x on
|
||||
# if running on 10.5 or later, the deployment target defaults
|
||||
# to the OS version, if on x86, and 10.4, the deployment
|
||||
# target defaults to 10.4. Don't you love it?
|
||||
case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
|
||||
10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
|
||||
_lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
|
||||
10.[[012]][[,.]]*)
|
||||
_lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
|
||||
10.*|11.*)
|
||||
_lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
|
||||
darwin*)
|
||||
case $MACOSX_DEPLOYMENT_TARGET,$host in
|
||||
10.[[012]],*|,*powerpc*-darwin[[5-8]]*)
|
||||
_lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
|
||||
*)
|
||||
_lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
|
@ -1126,12 +1123,12 @@ m4_defun([_LT_DARWIN_LINKER_FEATURES],
|
|||
output_verbose_link_cmd=func_echo_all
|
||||
_LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil"
|
||||
_LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil"
|
||||
_LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil"
|
||||
_LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil"
|
||||
_LT_TAGVAR(archive_expsym_cmds, $1)="$SED 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil"
|
||||
_LT_TAGVAR(module_expsym_cmds, $1)="$SED -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil"
|
||||
m4_if([$1], [CXX],
|
||||
[ if test yes != "$lt_cv_apple_cc_single_mod"; then
|
||||
_LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dsymutil"
|
||||
_LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dar_export_syms$_lt_dsymutil"
|
||||
_LT_TAGVAR(archive_expsym_cmds, $1)="$SED 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dar_export_syms$_lt_dsymutil"
|
||||
fi
|
||||
],[])
|
||||
else
|
||||
|
@ -1245,7 +1242,8 @@ _LT_DECL([], [ECHO], [1], [An echo program that protects backslashes])
|
|||
# _LT_WITH_SYSROOT
|
||||
# ----------------
|
||||
AC_DEFUN([_LT_WITH_SYSROOT],
|
||||
[AC_MSG_CHECKING([for sysroot])
|
||||
[m4_require([_LT_DECL_SED])dnl
|
||||
AC_MSG_CHECKING([for sysroot])
|
||||
AC_ARG_WITH([sysroot],
|
||||
[AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@],
|
||||
[Search for dependent libraries within DIR (or the compiler's sysroot
|
||||
|
@ -1262,7 +1260,7 @@ case $with_sysroot in #(
|
|||
fi
|
||||
;; #(
|
||||
/*)
|
||||
lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
|
||||
lt_sysroot=`echo "$with_sysroot" | $SED -e "$sed_quote_subst"`
|
||||
;; #(
|
||||
no|'')
|
||||
;; #(
|
||||
|
@ -1292,7 +1290,7 @@ ia64-*-hpux*)
|
|||
# options accordingly.
|
||||
echo 'int i;' > conftest.$ac_ext
|
||||
if AC_TRY_EVAL(ac_compile); then
|
||||
case `/usr/bin/file conftest.$ac_objext` in
|
||||
case `$FILECMD conftest.$ac_objext` in
|
||||
*ELF-32*)
|
||||
HPUX_IA64_MODE=32
|
||||
;;
|
||||
|
@ -1309,7 +1307,7 @@ ia64-*-hpux*)
|
|||
echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
|
||||
if AC_TRY_EVAL(ac_compile); then
|
||||
if test yes = "$lt_cv_prog_gnu_ld"; then
|
||||
case `/usr/bin/file conftest.$ac_objext` in
|
||||
case `$FILECMD conftest.$ac_objext` in
|
||||
*32-bit*)
|
||||
LD="${LD-ld} -melf32bsmip"
|
||||
;;
|
||||
|
@ -1321,7 +1319,7 @@ ia64-*-hpux*)
|
|||
;;
|
||||
esac
|
||||
else
|
||||
case `/usr/bin/file conftest.$ac_objext` in
|
||||
case `$FILECMD conftest.$ac_objext` in
|
||||
*32-bit*)
|
||||
LD="${LD-ld} -32"
|
||||
;;
|
||||
|
@ -1343,7 +1341,7 @@ mips64*-*linux*)
|
|||
echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
|
||||
if AC_TRY_EVAL(ac_compile); then
|
||||
emul=elf
|
||||
case `/usr/bin/file conftest.$ac_objext` in
|
||||
case `$FILECMD conftest.$ac_objext` in
|
||||
*32-bit*)
|
||||
emul="${emul}32"
|
||||
;;
|
||||
|
@ -1351,7 +1349,7 @@ mips64*-*linux*)
|
|||
emul="${emul}64"
|
||||
;;
|
||||
esac
|
||||
case `/usr/bin/file conftest.$ac_objext` in
|
||||
case `$FILECMD conftest.$ac_objext` in
|
||||
*MSB*)
|
||||
emul="${emul}btsmip"
|
||||
;;
|
||||
|
@ -1359,7 +1357,7 @@ mips64*-*linux*)
|
|||
emul="${emul}ltsmip"
|
||||
;;
|
||||
esac
|
||||
case `/usr/bin/file conftest.$ac_objext` in
|
||||
case `$FILECMD conftest.$ac_objext` in
|
||||
*N32*)
|
||||
emul="${emul}n32"
|
||||
;;
|
||||
|
@ -1379,14 +1377,14 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
|
|||
# not appear in the list.
|
||||
echo 'int i;' > conftest.$ac_ext
|
||||
if AC_TRY_EVAL(ac_compile); then
|
||||
case `/usr/bin/file conftest.o` in
|
||||
case `$FILECMD conftest.o` in
|
||||
*32-bit*)
|
||||
case $host in
|
||||
x86_64-*kfreebsd*-gnu)
|
||||
LD="${LD-ld} -m elf_i386_fbsd"
|
||||
;;
|
||||
x86_64-*linux*)
|
||||
case `/usr/bin/file conftest.o` in
|
||||
case `$FILECMD conftest.o` in
|
||||
*x86-64*)
|
||||
LD="${LD-ld} -m elf32_x86_64"
|
||||
;;
|
||||
|
@ -1454,7 +1452,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
|
|||
# options accordingly.
|
||||
echo 'int i;' > conftest.$ac_ext
|
||||
if AC_TRY_EVAL(ac_compile); then
|
||||
case `/usr/bin/file conftest.o` in
|
||||
case `$FILECMD conftest.o` in
|
||||
*64-bit*)
|
||||
case $lt_cv_prog_gnu_ld in
|
||||
yes*)
|
||||
|
@ -1493,9 +1491,22 @@ need_locks=$enable_libtool_lock
|
|||
m4_defun([_LT_PROG_AR],
|
||||
[AC_CHECK_TOOLS(AR, [ar], false)
|
||||
: ${AR=ar}
|
||||
: ${AR_FLAGS=cru}
|
||||
_LT_DECL([], [AR], [1], [The archiver])
|
||||
_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive])
|
||||
|
||||
# Use ARFLAGS variable as AR's operation code to sync the variable naming with
|
||||
# Automake. If both AR_FLAGS and ARFLAGS are specified, AR_FLAGS should have
|
||||
# higher priority because thats what people were doing historically (setting
|
||||
# ARFLAGS for automake and AR_FLAGS for libtool). FIXME: Make the AR_FLAGS
|
||||
# variable obsoleted/removed.
|
||||
|
||||
test ${AR_FLAGS+y} || AR_FLAGS=${ARFLAGS-cr}
|
||||
lt_ar_flags=$AR_FLAGS
|
||||
_LT_DECL([], [lt_ar_flags], [0], [Flags to create an archive (by configure)])
|
||||
|
||||
# Make AR_FLAGS overridable by 'make ARFLAGS='. Don't try to run-time override
|
||||
# by AR_FLAGS because that was never working and AR_FLAGS is about to die.
|
||||
_LT_DECL([], [AR_FLAGS], [\@S|@{ARFLAGS-"\@S|@lt_ar_flags"}],
|
||||
[Flags to create an archive])
|
||||
|
||||
AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file],
|
||||
[lt_cv_ar_at_file=no
|
||||
|
@ -1708,18 +1719,13 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
|
|||
lt_cv_sys_max_cmd_len=8192;
|
||||
;;
|
||||
|
||||
mint*)
|
||||
# On MiNT this can take a long time and run out of memory.
|
||||
lt_cv_sys_max_cmd_len=8192;
|
||||
;;
|
||||
|
||||
amigaos*)
|
||||
# On AmigaOS with pdksh, this test takes hours, literally.
|
||||
# So we just punt and use a minimum line length of 8192.
|
||||
lt_cv_sys_max_cmd_len=8192;
|
||||
;;
|
||||
|
||||
bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd* | secbsd*)
|
||||
bitrig* | darwin* | dragonfly* | freebsd* | midnightbsd* | netbsd* | openbsd* | secbsd*)
|
||||
# This has been around since 386BSD, at least. Likely further.
|
||||
if test -x /sbin/sysctl; then
|
||||
lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
|
||||
|
@ -1762,7 +1768,7 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
|
|||
sysv5* | sco5v6* | sysv4.2uw2*)
|
||||
kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
|
||||
if test -n "$kargmax"; then
|
||||
lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'`
|
||||
lt_cv_sys_max_cmd_len=`echo $kargmax | $SED 's/.*[[ ]]//'`
|
||||
else
|
||||
lt_cv_sys_max_cmd_len=32768
|
||||
fi
|
||||
|
@ -2212,26 +2218,35 @@ m4_defun([_LT_CMD_STRIPLIB],
|
|||
striplib=
|
||||
old_striplib=
|
||||
AC_MSG_CHECKING([whether stripping libraries is possible])
|
||||
if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
|
||||
test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
|
||||
test -z "$striplib" && striplib="$STRIP --strip-unneeded"
|
||||
AC_MSG_RESULT([yes])
|
||||
if test -z "$STRIP"; then
|
||||
AC_MSG_RESULT([no])
|
||||
else
|
||||
# FIXME - insert some real tests, host_os isn't really good enough
|
||||
case $host_os in
|
||||
darwin*)
|
||||
if test -n "$STRIP"; then
|
||||
if $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
|
||||
old_striplib="$STRIP --strip-debug"
|
||||
striplib="$STRIP --strip-unneeded"
|
||||
AC_MSG_RESULT([yes])
|
||||
else
|
||||
case $host_os in
|
||||
darwin*)
|
||||
# FIXME - insert some real tests, host_os isn't really good enough
|
||||
striplib="$STRIP -x"
|
||||
old_striplib="$STRIP -S"
|
||||
AC_MSG_RESULT([yes])
|
||||
else
|
||||
;;
|
||||
freebsd*)
|
||||
if $STRIP -V 2>&1 | $GREP "elftoolchain" >/dev/null; then
|
||||
old_striplib="$STRIP --strip-debug"
|
||||
striplib="$STRIP --strip-unneeded"
|
||||
AC_MSG_RESULT([yes])
|
||||
else
|
||||
AC_MSG_RESULT([no])
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
AC_MSG_RESULT([no])
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
AC_MSG_RESULT([no])
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
fi
|
||||
_LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
|
||||
_LT_DECL([], [striplib], [1])
|
||||
|
@ -2554,7 +2569,7 @@ cygwin* | mingw* | pw32* | cegcc*)
|
|||
case $host_os in
|
||||
cygwin*)
|
||||
# Cygwin DLLs use 'cyg' prefix rather than 'lib'
|
||||
soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
|
||||
soname_spec='`echo $libname | $SED -e 's/^lib/cyg/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
|
||||
m4_if([$1], [],[
|
||||
sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"])
|
||||
;;
|
||||
|
@ -2564,14 +2579,14 @@ m4_if([$1], [],[
|
|||
;;
|
||||
pw32*)
|
||||
# pw32 DLLs use 'pw' prefix rather than 'lib'
|
||||
library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
|
||||
library_names_spec='`echo $libname | $SED -e 's/^lib/pw/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
|
||||
;;
|
||||
esac
|
||||
dynamic_linker='Win32 ld.exe'
|
||||
;;
|
||||
|
||||
*,cl*)
|
||||
# Native MSVC
|
||||
*,cl* | *,icl*)
|
||||
# Native MSVC or ICC
|
||||
libname_spec='$name'
|
||||
soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
|
||||
library_names_spec='$libname.dll.lib'
|
||||
|
@ -2590,7 +2605,7 @@ m4_if([$1], [],[
|
|||
done
|
||||
IFS=$lt_save_ifs
|
||||
# Convert to MSYS style.
|
||||
sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'`
|
||||
sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'`
|
||||
;;
|
||||
cygwin*)
|
||||
# Convert to unix form, then to dos form, then back to unix form
|
||||
|
@ -2627,7 +2642,7 @@ m4_if([$1], [],[
|
|||
;;
|
||||
|
||||
*)
|
||||
# Assume MSVC wrapper
|
||||
# Assume MSVC and ICC wrapper
|
||||
library_names_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext $libname.lib'
|
||||
dynamic_linker='Win32 ld.exe'
|
||||
;;
|
||||
|
@ -2660,7 +2675,7 @@ dgux*)
|
|||
shlibpath_var=LD_LIBRARY_PATH
|
||||
;;
|
||||
|
||||
freebsd* | dragonfly*)
|
||||
freebsd* | dragonfly* | midnightbsd*)
|
||||
# DragonFly does not have aout. When/if they implement a new
|
||||
# versioning mechanism, adjust this.
|
||||
if test -x /usr/bin/objformat; then
|
||||
|
@ -3472,7 +3487,7 @@ beos*)
|
|||
|
||||
bsdi[[45]]*)
|
||||
lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
|
||||
lt_cv_file_magic_cmd='/usr/bin/file -L'
|
||||
lt_cv_file_magic_cmd='$FILECMD -L'
|
||||
lt_cv_file_magic_test_file=/shlib/libc.so
|
||||
;;
|
||||
|
||||
|
@ -3506,14 +3521,14 @@ darwin* | rhapsody*)
|
|||
lt_cv_deplibs_check_method=pass_all
|
||||
;;
|
||||
|
||||
freebsd* | dragonfly*)
|
||||
freebsd* | dragonfly* | midnightbsd*)
|
||||
if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
|
||||
case $host_cpu in
|
||||
i*86 )
|
||||
# Not sure whether the presence of OpenBSD here was a mistake.
|
||||
# Let's accept both of them until this is cleared up.
|
||||
lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|SecBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
|
||||
lt_cv_file_magic_cmd=/usr/bin/file
|
||||
lt_cv_file_magic_cmd=$FILECMD
|
||||
lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
|
||||
;;
|
||||
esac
|
||||
|
@ -3527,7 +3542,7 @@ haiku*)
|
|||
;;
|
||||
|
||||
hpux10.20* | hpux11*)
|
||||
lt_cv_file_magic_cmd=/usr/bin/file
|
||||
lt_cv_file_magic_cmd=$FILECMD
|
||||
case $host_cpu in
|
||||
ia64*)
|
||||
lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
|
||||
|
@ -3574,7 +3589,7 @@ netbsd*)
|
|||
|
||||
newos6*)
|
||||
lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
|
||||
lt_cv_file_magic_cmd=/usr/bin/file
|
||||
lt_cv_file_magic_cmd=$FILECMD
|
||||
lt_cv_file_magic_test_file=/usr/lib/libnls.so
|
||||
;;
|
||||
|
||||
|
@ -3701,13 +3716,13 @@ else
|
|||
mingw*) lt_bad_file=conftest.nm/nofile ;;
|
||||
*) lt_bad_file=/dev/null ;;
|
||||
esac
|
||||
case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in
|
||||
case `"$tmp_nm" -B $lt_bad_file 2>&1 | $SED '1q'` in
|
||||
*$lt_bad_file* | *'Invalid file or object type'*)
|
||||
lt_cv_path_NM="$tmp_nm -B"
|
||||
break 2
|
||||
;;
|
||||
*)
|
||||
case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
|
||||
case `"$tmp_nm" -p /dev/null 2>&1 | $SED '1q'` in
|
||||
*/dev/null*)
|
||||
lt_cv_path_NM="$tmp_nm -p"
|
||||
break 2
|
||||
|
@ -3733,7 +3748,7 @@ else
|
|||
# Let the user override the test.
|
||||
else
|
||||
AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :)
|
||||
case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in
|
||||
case `$DUMPBIN -symbols -headers /dev/null 2>&1 | $SED '1q'` in
|
||||
*COFF*)
|
||||
DUMPBIN="$DUMPBIN -symbols -headers"
|
||||
;;
|
||||
|
@ -3973,7 +3988,7 @@ esac
|
|||
|
||||
if test "$lt_cv_nm_interface" = "MS dumpbin"; then
|
||||
# Gets list of data symbols to import.
|
||||
lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'"
|
||||
lt_cv_sys_global_symbol_to_import="$SED -n -e 's/^I .* \(.*\)$/\1/p'"
|
||||
# Adjust the below global symbol transforms to fixup imported variables.
|
||||
lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'"
|
||||
lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'"
|
||||
|
@ -3991,20 +4006,20 @@ fi
|
|||
# Transform an extracted symbol line into a proper C declaration.
|
||||
# Some systems (esp. on ia64) link data and code symbols differently,
|
||||
# so use this general approach.
|
||||
lt_cv_sys_global_symbol_to_cdecl="sed -n"\
|
||||
lt_cv_sys_global_symbol_to_cdecl="$SED -n"\
|
||||
$lt_cdecl_hook\
|
||||
" -e 's/^T .* \(.*\)$/extern int \1();/p'"\
|
||||
" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'"
|
||||
|
||||
# Transform an extracted symbol line into symbol name and symbol address
|
||||
lt_cv_sys_global_symbol_to_c_name_address="sed -n"\
|
||||
lt_cv_sys_global_symbol_to_c_name_address="$SED -n"\
|
||||
$lt_c_name_hook\
|
||||
" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\
|
||||
" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'"
|
||||
|
||||
# Transform an extracted symbol line into symbol name with lib prefix and
|
||||
# symbol address.
|
||||
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\
|
||||
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="$SED -n"\
|
||||
$lt_c_name_lib_hook\
|
||||
" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\
|
||||
" -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\
|
||||
|
@ -4028,7 +4043,7 @@ for ac_symprfx in "" "_"; do
|
|||
if test "$lt_cv_nm_interface" = "MS dumpbin"; then
|
||||
# Fake it for dumpbin and say T for any non-static function,
|
||||
# D for any global variable and I for any imported variable.
|
||||
# Also find C++ and __fastcall symbols from MSVC++,
|
||||
# Also find C++ and __fastcall symbols from MSVC++ or ICC,
|
||||
# which start with @ or ?.
|
||||
lt_cv_sys_global_symbol_pipe="$AWK ['"\
|
||||
" {last_section=section; section=\$ 3};"\
|
||||
|
@ -4046,9 +4061,9 @@ for ac_symprfx in "" "_"; do
|
|||
" s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\
|
||||
" ' prfx=^$ac_symprfx]"
|
||||
else
|
||||
lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
|
||||
lt_cv_sys_global_symbol_pipe="$SED -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
|
||||
fi
|
||||
lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
|
||||
lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | $SED '/ __gnu_lto/d'"
|
||||
|
||||
# Check to see that the pipe works correctly.
|
||||
pipe_works=no
|
||||
|
@ -4335,7 +4350,7 @@ m4_if([$1], [CXX], [
|
|||
;;
|
||||
esac
|
||||
;;
|
||||
freebsd* | dragonfly*)
|
||||
freebsd* | dragonfly* | midnightbsd*)
|
||||
# FreeBSD uses GNU C++
|
||||
;;
|
||||
hpux9* | hpux10* | hpux11*)
|
||||
|
@ -4418,7 +4433,7 @@ m4_if([$1], [CXX], [
|
|||
_LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
|
||||
;;
|
||||
*)
|
||||
case `$CC -V 2>&1 | sed 5q` in
|
||||
case `$CC -V 2>&1 | $SED 5q` in
|
||||
*Sun\ C*)
|
||||
# Sun C++ 5.9
|
||||
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
|
||||
|
@ -4754,7 +4769,7 @@ m4_if([$1], [CXX], [
|
|||
_LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
|
||||
;;
|
||||
*)
|
||||
case `$CC -V 2>&1 | sed 5q` in
|
||||
case `$CC -V 2>&1 | $SED 5q` in
|
||||
*Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*)
|
||||
# Sun Fortran 8.3 passes all unrecognized flags to the linker
|
||||
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
|
||||
|
@ -4937,7 +4952,7 @@ m4_if([$1], [CXX], [
|
|||
if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
|
||||
_LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
|
||||
else
|
||||
_LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
|
||||
_LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
|
||||
fi
|
||||
;;
|
||||
pw32*)
|
||||
|
@ -4945,7 +4960,7 @@ m4_if([$1], [CXX], [
|
|||
;;
|
||||
cygwin* | mingw* | cegcc*)
|
||||
case $cc_basename in
|
||||
cl*)
|
||||
cl* | icl*)
|
||||
_LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
|
||||
;;
|
||||
*)
|
||||
|
@ -5002,15 +5017,15 @@ dnl Note also adjust exclude_expsyms for C++ above.
|
|||
|
||||
case $host_os in
|
||||
cygwin* | mingw* | pw32* | cegcc*)
|
||||
# FIXME: the MSVC++ port hasn't been tested in a loooong time
|
||||
# FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time
|
||||
# When not using gcc, we currently assume that we are using
|
||||
# Microsoft Visual C++.
|
||||
# Microsoft Visual C++ or Intel C++ Compiler.
|
||||
if test yes != "$GCC"; then
|
||||
with_gnu_ld=no
|
||||
fi
|
||||
;;
|
||||
interix*)
|
||||
# we just hope/assume this is gcc and not c89 (= MSVC++)
|
||||
# we just hope/assume this is gcc and not c89 (= MSVC++ or ICC)
|
||||
with_gnu_ld=yes
|
||||
;;
|
||||
openbsd* | bitrig* | secbsd*)
|
||||
|
@ -5062,7 +5077,7 @@ dnl Note also adjust exclude_expsyms for C++ above.
|
|||
_LT_TAGVAR(whole_archive_flag_spec, $1)=
|
||||
fi
|
||||
supports_anon_versioning=no
|
||||
case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in
|
||||
case `$LD -v | $SED -e 's/([[^)]]\+)\s\+//' 2>&1` in
|
||||
*GNU\ gold*) supports_anon_versioning=yes ;;
|
||||
*\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
|
||||
*\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
|
||||
|
@ -5174,6 +5189,7 @@ _LT_EOF
|
|||
emximp -o $lib $output_objdir/$libname.def'
|
||||
_LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
|
||||
_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
|
||||
_LT_TAGVAR(file_list_spec, $1)='@'
|
||||
;;
|
||||
|
||||
interix[[3-9]]*)
|
||||
|
@ -5188,7 +5204,7 @@ _LT_EOF
|
|||
# 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
|
||||
# time. Moving up from 0x10000000 also allows more sbrk(2) space.
|
||||
_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
|
||||
_LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
|
||||
_LT_TAGVAR(archive_expsym_cmds, $1)='$SED "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
|
||||
;;
|
||||
|
||||
gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
|
||||
|
@ -5231,7 +5247,7 @@ _LT_EOF
|
|||
_LT_TAGVAR(compiler_needs_object, $1)=yes
|
||||
;;
|
||||
esac
|
||||
case `$CC -V 2>&1 | sed 5q` in
|
||||
case `$CC -V 2>&1 | $SED 5q` in
|
||||
*Sun\ C*) # Sun C 5.9
|
||||
_LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
|
||||
_LT_TAGVAR(compiler_needs_object, $1)=yes
|
||||
|
@ -5243,7 +5259,7 @@ _LT_EOF
|
|||
|
||||
if test yes = "$supports_anon_versioning"; then
|
||||
_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
|
||||
cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
|
||||
cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
|
||||
echo "local: *; };" >> $output_objdir/$libname.ver~
|
||||
$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
|
||||
fi
|
||||
|
@ -5259,7 +5275,7 @@ _LT_EOF
|
|||
_LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
|
||||
if test yes = "$supports_anon_versioning"; then
|
||||
_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
|
||||
cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
|
||||
cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
|
||||
echo "local: *; };" >> $output_objdir/$libname.ver~
|
||||
$LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
|
||||
fi
|
||||
|
@ -5391,7 +5407,7 @@ _LT_EOF
|
|||
if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
|
||||
_LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
|
||||
else
|
||||
_LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
|
||||
_LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
|
||||
fi
|
||||
aix_use_runtimelinking=no
|
||||
|
||||
|
@ -5574,12 +5590,12 @@ _LT_EOF
|
|||
|
||||
cygwin* | mingw* | pw32* | cegcc*)
|
||||
# When not using gcc, we currently assume that we are using
|
||||
# Microsoft Visual C++.
|
||||
# Microsoft Visual C++ or Intel C++ Compiler.
|
||||
# hardcode_libdir_flag_spec is actually meaningless, as there is
|
||||
# no search path for DLLs.
|
||||
case $cc_basename in
|
||||
cl*)
|
||||
# Native MSVC
|
||||
cl* | icl*)
|
||||
# Native MSVC or ICC
|
||||
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
|
||||
_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
|
||||
_LT_TAGVAR(always_export_symbols, $1)=yes
|
||||
|
@ -5620,7 +5636,7 @@ _LT_EOF
|
|||
fi'
|
||||
;;
|
||||
*)
|
||||
# Assume MSVC wrapper
|
||||
# Assume MSVC and ICC wrapper
|
||||
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
|
||||
_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
|
||||
# Tell ltmain to make .lib files, not .a files.
|
||||
|
@ -5668,7 +5684,7 @@ _LT_EOF
|
|||
;;
|
||||
|
||||
# FreeBSD 3 and greater uses gcc -shared to do shared libraries.
|
||||
freebsd* | dragonfly*)
|
||||
freebsd* | dragonfly* | midnightbsd*)
|
||||
_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
|
||||
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
|
||||
_LT_TAGVAR(hardcode_direct, $1)=yes
|
||||
|
@ -5879,6 +5895,7 @@ _LT_EOF
|
|||
emximp -o $lib $output_objdir/$libname.def'
|
||||
_LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
|
||||
_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
|
||||
_LT_TAGVAR(file_list_spec, $1)='@'
|
||||
;;
|
||||
|
||||
osf3*)
|
||||
|
@ -6649,8 +6666,8 @@ if test yes != "$_lt_caught_CXX_error"; then
|
|||
|
||||
cygwin* | mingw* | pw32* | cegcc*)
|
||||
case $GXX,$cc_basename in
|
||||
,cl* | no,cl*)
|
||||
# Native MSVC
|
||||
,cl* | no,cl* | ,icl* | no,icl*)
|
||||
# Native MSVC or ICC
|
||||
# hardcode_libdir_flag_spec is actually meaningless, as there is
|
||||
# no search path for DLLs.
|
||||
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
|
||||
|
@ -6748,6 +6765,7 @@ if test yes != "$_lt_caught_CXX_error"; then
|
|||
emximp -o $lib $output_objdir/$libname.def'
|
||||
_LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
|
||||
_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
|
||||
_LT_TAGVAR(file_list_spec, $1)='@'
|
||||
;;
|
||||
|
||||
dgux*)
|
||||
|
@ -6778,7 +6796,7 @@ if test yes != "$_lt_caught_CXX_error"; then
|
|||
_LT_TAGVAR(archive_cmds_need_lc, $1)=no
|
||||
;;
|
||||
|
||||
freebsd* | dragonfly*)
|
||||
freebsd* | dragonfly* | midnightbsd*)
|
||||
# FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
|
||||
# conventions
|
||||
_LT_TAGVAR(ld_shlibs, $1)=yes
|
||||
|
@ -6915,7 +6933,7 @@ if test yes != "$_lt_caught_CXX_error"; then
|
|||
# 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
|
||||
# time. Moving up from 0x10000000 also allows more sbrk(2) space.
|
||||
_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
|
||||
_LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
|
||||
_LT_TAGVAR(archive_expsym_cmds, $1)='$SED "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
|
||||
;;
|
||||
irix5* | irix6*)
|
||||
case $cc_basename in
|
||||
|
@ -7055,13 +7073,13 @@ if test yes != "$_lt_caught_CXX_error"; then
|
|||
_LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
|
||||
if test yes = "$supports_anon_versioning"; then
|
||||
_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
|
||||
cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
|
||||
cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
|
||||
echo "local: *; };" >> $output_objdir/$libname.ver~
|
||||
$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
case `$CC -V 2>&1 | sed 5q` in
|
||||
case `$CC -V 2>&1 | $SED 5q` in
|
||||
*Sun\ C*)
|
||||
# Sun C++ 5.9
|
||||
_LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
|
||||
|
@ -8207,6 +8225,14 @@ _LT_DECL([], [DLLTOOL], [1], [DLL creation program])
|
|||
AC_SUBST([DLLTOOL])
|
||||
])
|
||||
|
||||
# _LT_DECL_FILECMD
|
||||
# ----------------
|
||||
# Check for a file(cmd) program that can be used to detect file type and magic
|
||||
m4_defun([_LT_DECL_FILECMD],
|
||||
[AC_CHECK_TOOL([FILECMD], [file], [:])
|
||||
_LT_DECL([], [FILECMD], [1], [A file(cmd) program that detects file types])
|
||||
])# _LD_DECL_FILECMD
|
||||
|
||||
# _LT_DECL_SED
|
||||
# ------------
|
||||
# Check for a fully-functional sed program, that truncates
|
||||
|
|
4
dist/libxcb/m4/ltoptions.m4
vendored
4
dist/libxcb/m4/ltoptions.m4
vendored
|
@ -1,7 +1,7 @@
|
|||
# Helper functions for option handling. -*- Autoconf -*-
|
||||
#
|
||||
# Copyright (C) 2004-2005, 2007-2009, 2011-2015 Free Software
|
||||
# Foundation, Inc.
|
||||
# Copyright (C) 2004-2005, 2007-2009, 2011-2019, 2021-2022 Free
|
||||
# Software Foundation, Inc.
|
||||
# Written by Gary V. Vaughan, 2004
|
||||
#
|
||||
# This file is free software; the Free Software Foundation gives
|
||||
|
|
2
dist/libxcb/m4/ltsugar.m4
vendored
2
dist/libxcb/m4/ltsugar.m4
vendored
|
@ -1,6 +1,6 @@
|
|||
# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*-
|
||||
#
|
||||
# Copyright (C) 2004-2005, 2007-2008, 2011-2015 Free Software
|
||||
# Copyright (C) 2004-2005, 2007-2008, 2011-2019, 2021-2022 Free Software
|
||||
# Foundation, Inc.
|
||||
# Written by Gary V. Vaughan, 2004
|
||||
#
|
||||
|
|
13
dist/libxcb/m4/ltversion.m4
vendored
13
dist/libxcb/m4/ltversion.m4
vendored
|
@ -1,6 +1,7 @@
|
|||
# ltversion.m4 -- version numbers -*- Autoconf -*-
|
||||
#
|
||||
# Copyright (C) 2004, 2011-2015 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2004, 2011-2019, 2021-2022 Free Software Foundation,
|
||||
# Inc.
|
||||
# Written by Scott James Remnant, 2004
|
||||
#
|
||||
# This file is free software; the Free Software Foundation gives
|
||||
|
@ -9,15 +10,15 @@
|
|||
|
||||
# @configure_input@
|
||||
|
||||
# serial 4179 ltversion.m4
|
||||
# serial 4245 ltversion.m4
|
||||
# This file is part of GNU Libtool
|
||||
|
||||
m4_define([LT_PACKAGE_VERSION], [2.4.6])
|
||||
m4_define([LT_PACKAGE_REVISION], [2.4.6])
|
||||
m4_define([LT_PACKAGE_VERSION], [2.4.7])
|
||||
m4_define([LT_PACKAGE_REVISION], [2.4.7])
|
||||
|
||||
AC_DEFUN([LTVERSION_VERSION],
|
||||
[macro_version='2.4.6'
|
||||
macro_revision='2.4.6'
|
||||
[macro_version='2.4.7'
|
||||
macro_revision='2.4.7'
|
||||
_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
|
||||
_LT_DECL(, macro_revision, 0)
|
||||
])
|
||||
|
|
4
dist/libxcb/m4/lt~obsolete.m4
vendored
4
dist/libxcb/m4/lt~obsolete.m4
vendored
|
@ -1,7 +1,7 @@
|
|||
# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*-
|
||||
#
|
||||
# Copyright (C) 2004-2005, 2007, 2009, 2011-2015 Free Software
|
||||
# Foundation, Inc.
|
||||
# Copyright (C) 2004-2005, 2007, 2009, 2011-2019, 2021-2022 Free
|
||||
# Software Foundation, Inc.
|
||||
# Written by Scott James Remnant, 2004.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation gives
|
||||
|
|
8
dist/libxcb/src/Makefile.am
vendored
8
dist/libxcb/src/Makefile.am
vendored
|
@ -40,6 +40,14 @@ libxcb_damage_la_LIBADD = $(XCB_LIBS)
|
|||
nodist_libxcb_damage_la_SOURCES = damage.c damage.h
|
||||
endif
|
||||
|
||||
EXTSOURCES += dbe.c
|
||||
if BUILD_DBE
|
||||
lib_LTLIBRARIES += libxcb-dbe.la
|
||||
libxcb_dbe_la_LDFLAGS = -version-info 0:0:0 -no-undefined @lt_enable_auto_import@
|
||||
libxcb_dbe_la_LIBADD = $(XCB_LIBS)
|
||||
nodist_libxcb_dbe_la_SOURCES = dbe.c dbe.h
|
||||
endif
|
||||
|
||||
EXTSOURCES += dpms.c
|
||||
if BUILD_DPMS
|
||||
lib_LTLIBRARIES += libxcb-dpms.la
|
||||
|
|
15
dist/libxcb/src/c_client.py
vendored
15
dist/libxcb/src/c_client.py
vendored
|
@ -331,7 +331,7 @@ def c_close(self):
|
|||
_h(' */')
|
||||
|
||||
# Write header file
|
||||
hfile = open('%s.h' % _ns.header, 'w')
|
||||
hfile = open('%s.h' % _ns.header, 'w', encoding='UTF-8')
|
||||
for list in _hlines:
|
||||
for line in list:
|
||||
hfile.write(line)
|
||||
|
@ -339,7 +339,7 @@ def c_close(self):
|
|||
hfile.close()
|
||||
|
||||
# Write source file
|
||||
cfile = open('%s.c' % _ns.header, 'w')
|
||||
cfile = open('%s.c' % _ns.header, 'w', encoding='UTF-8')
|
||||
for list in _clines:
|
||||
for line in list:
|
||||
cfile.write(line)
|
||||
|
@ -2266,13 +2266,13 @@ def _c_request_helper(self, name, void, regular, aux=False, reply_fds=False):
|
|||
elif base_func_name == 'xcb_create_window' and field.c_field_name == 'value_mask':
|
||||
field.enum = 'CW'
|
||||
if field.enum:
|
||||
# XXX: why the 'xcb' prefix?
|
||||
key = ('xcb', field.enum)
|
||||
assert 2 <= len(self.name) <= 3
|
||||
key = (*self.name[:-1], field.enum)
|
||||
|
||||
tname = _t(key)
|
||||
if namecount[tname] > 1:
|
||||
tname = _t(key + ('enum',))
|
||||
_h(' * @param %s A bitmask of #%s values.' % (field.c_field_name, tname))
|
||||
_h(' * @param %s A bitmask of #%s values.', field.c_field_name, tname)
|
||||
|
||||
if self.doc and field.field_name in self.doc.fields:
|
||||
desc = self.doc.fields[field.field_name]
|
||||
|
@ -2280,7 +2280,8 @@ def _c_request_helper(self, name, void, regular, aux=False, reply_fds=False):
|
|||
desc = desc.replace('`%s`' % name, '\\a %s' % (name))
|
||||
desc = desc.split("\n")
|
||||
desc = [line if line != '' else '\\n' for line in desc]
|
||||
_h(' * @param %s %s' % (field.c_field_name, "\n * ".join(desc)))
|
||||
_h(' * @param %s %s', field.c_field_name, "\n * ".join(desc))
|
||||
|
||||
# If there is no documentation yet, we simply don't generate an
|
||||
# @param tag. Doxygen will then warn about missing documentation.
|
||||
|
||||
|
@ -2339,7 +2340,7 @@ def _c_request_helper(self, name, void, regular, aux=False, reply_fds=False):
|
|||
for field in param_fields:
|
||||
if not field.type.fixed_size() and field.wire:
|
||||
count = count + 2
|
||||
if field.type.c_need_serialize:
|
||||
if field.type.c_need_serialize or field.type.c_need_sizeof:
|
||||
# _serialize() keeps track of padding automatically
|
||||
count -= 1
|
||||
dimension = count + 2
|
||||
|
|
4
dist/libxcb/src/xcb_auth.c
vendored
4
dist/libxcb/src/xcb_auth.c
vendored
|
@ -73,7 +73,7 @@ enum auth_protos {
|
|||
#define AUTH_PROTO_XDM_AUTHORIZATION "XDM-AUTHORIZATION-1"
|
||||
#define AUTH_PROTO_MIT_MAGIC_COOKIE "MIT-MAGIC-COOKIE-1"
|
||||
|
||||
static char *authnames[N_AUTH_PROTOS] = {
|
||||
static const char *authnames[N_AUTH_PROTOS] = {
|
||||
#ifdef HASXDMAUTH
|
||||
AUTH_PROTO_XDM_AUTHORIZATION,
|
||||
#endif
|
||||
|
@ -165,7 +165,7 @@ static Xauth *get_authptr(struct sockaddr *sockname, int display)
|
|||
return XauGetBestAuthByAddr (family,
|
||||
(unsigned short) addrlen, addr,
|
||||
(unsigned short) dispbuflen, dispbuf,
|
||||
N_AUTH_PROTOS, authnames, authnameslen);
|
||||
N_AUTH_PROTOS, (char **)authnames, authnameslen);
|
||||
}
|
||||
|
||||
#ifdef HASXDMAUTH
|
||||
|
|
8
dist/libxcb/src/xcb_conn.c
vendored
8
dist/libxcb/src/xcb_conn.c
vendored
|
@ -310,9 +310,11 @@ static int write_vec(xcb_connection_t *c, struct iovec **vector, int *count)
|
|||
int cur = (*vector)->iov_len;
|
||||
if(cur > n)
|
||||
cur = n;
|
||||
(*vector)->iov_len -= cur;
|
||||
(*vector)->iov_base = (char *) (*vector)->iov_base + cur;
|
||||
n -= cur;
|
||||
if(cur) {
|
||||
(*vector)->iov_len -= cur;
|
||||
(*vector)->iov_base = (char *) (*vector)->iov_base + cur;
|
||||
n -= cur;
|
||||
}
|
||||
if((*vector)->iov_len)
|
||||
break;
|
||||
}
|
||||
|
|
149
dist/libxcb/src/xcb_util.c
vendored
149
dist/libxcb/src/xcb_util.c
vendored
|
@ -60,16 +60,27 @@
|
|||
# include <sys/stat.h>
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_LAUNCHD
|
||||
#include <sys/stat.h>
|
||||
|
||||
#ifndef __has_builtin
|
||||
# define __has_builtin(x) 0
|
||||
#endif
|
||||
|
||||
int xcb_popcount(uint32_t mask)
|
||||
{
|
||||
#if __has_builtin(__builtin_popcount)
|
||||
return __builtin_popcount(mask);
|
||||
#else
|
||||
/*
|
||||
* Count the number of bits set to 1 in a 32-bit word.
|
||||
* Algorithm from MIT AI Lab Memo 239: "HAKMEM", ITEM 169.
|
||||
* https://dspace.mit.edu/handle/1721.1/6086
|
||||
*/
|
||||
uint32_t y;
|
||||
y = (mask >> 1) & 033333333333;
|
||||
y = mask - y - ((y >> 1) & 033333333333);
|
||||
return ((y + (y >> 3)) & 030707070707) % 077;
|
||||
#endif
|
||||
}
|
||||
|
||||
int xcb_sumof(uint8_t *list, int len)
|
||||
|
@ -82,7 +93,6 @@ int xcb_sumof(uint8_t *list, int len)
|
|||
return s;
|
||||
}
|
||||
|
||||
#ifdef HAVE_LAUNCHD
|
||||
/* Return true and parse if name matches <path to socket>[.<screen>]
|
||||
* Upon success:
|
||||
* host = <path to socket>
|
||||
|
@ -95,19 +105,30 @@ static int _xcb_parse_display_path_to_socket(const char *name, char **host, char
|
|||
{
|
||||
struct stat sbuf;
|
||||
char path[PATH_MAX];
|
||||
int _screen = 0;
|
||||
size_t len;
|
||||
int _screen = 0, res;
|
||||
|
||||
strlcpy(path, name, sizeof(path));
|
||||
if (0 != stat(path, &sbuf)) {
|
||||
char *dot = strrchr(path, '.');
|
||||
if (!dot)
|
||||
len = strlen(name);
|
||||
if (len >= sizeof(path))
|
||||
return 0;
|
||||
memcpy(path, name, len + 1);
|
||||
res = stat(path, &sbuf);
|
||||
if (0 != res) {
|
||||
unsigned long lscreen;
|
||||
char *dot, *endptr;
|
||||
if (res != -1 || (errno != ENOENT && errno != ENOTDIR))
|
||||
return 0;
|
||||
dot = strrchr(path, '.');
|
||||
if (!dot || dot[1] < '1' || dot[1] > '9')
|
||||
return 0;
|
||||
*dot = '\0';
|
||||
|
||||
errno = 0;
|
||||
lscreen = strtoul(dot + 1, &endptr, 10);
|
||||
if (lscreen > INT_MAX || !endptr || *endptr || errno)
|
||||
return 0;
|
||||
if (0 != stat(path, &sbuf))
|
||||
return 0;
|
||||
|
||||
_screen = atoi(dot + 1);
|
||||
_screen = (int)lscreen;
|
||||
}
|
||||
|
||||
if (host) {
|
||||
|
@ -133,7 +154,6 @@ static int _xcb_parse_display_path_to_socket(const char *name, char **host, char
|
|||
|
||||
return 1;
|
||||
}
|
||||
#endif
|
||||
|
||||
static int _xcb_parse_display(const char *name, char **host, char **protocol,
|
||||
int *displayp, int *screenp)
|
||||
|
@ -146,10 +166,13 @@ static int _xcb_parse_display(const char *name, char **host, char **protocol,
|
|||
if(!name)
|
||||
return 0;
|
||||
|
||||
#ifdef HAVE_LAUNCHD
|
||||
/* First check for <path to socket>[.<screen>] */
|
||||
if (_xcb_parse_display_path_to_socket(name, host, protocol, displayp, screenp))
|
||||
return 1;
|
||||
if (name[0] == '/')
|
||||
return _xcb_parse_display_path_to_socket(name, host, protocol, displayp, screenp);
|
||||
|
||||
#ifndef __OpenBSD__
|
||||
if (strncmp(name, "unix:", 5) == 0)
|
||||
return _xcb_parse_display_path_to_socket(name + 5, host, protocol, displayp, screenp);
|
||||
#endif
|
||||
|
||||
slash = strrchr(name, '/');
|
||||
|
@ -236,41 +259,46 @@ static int _xcb_open(const char *host, char *protocol, const int display)
|
|||
char *file = NULL;
|
||||
int actual_filelen;
|
||||
|
||||
/* If protocol or host is "unix", fall through to Unix socket code below */
|
||||
if ((!protocol || (strcmp("unix",protocol) != 0)) &&
|
||||
(*host != '\0') && (strcmp("unix",host) != 0))
|
||||
{
|
||||
/* display specifies TCP */
|
||||
unsigned short port = X_TCP_PORT + display;
|
||||
return _xcb_open_tcp(host, protocol, port);
|
||||
}
|
||||
#ifndef _WIN32
|
||||
if (protocol && strcmp("unix", protocol) == 0 && host && host[0] == '/') {
|
||||
/* Full path to socket provided, ignore everything else */
|
||||
filelen = strlen(host) + 1;
|
||||
if (filelen > INT_MAX)
|
||||
return -1;
|
||||
file = malloc(filelen);
|
||||
if (file == NULL)
|
||||
return -1;
|
||||
memcpy(file, host, filelen);
|
||||
actual_filelen = (int)(filelen - 1);
|
||||
} else {
|
||||
#endif
|
||||
/* If protocol or host is "unix", fall through to Unix socket code below */
|
||||
if ((!protocol || (strcmp("unix",protocol) != 0)) &&
|
||||
(*host != '\0') && (strcmp("unix",host) != 0))
|
||||
{
|
||||
/* display specifies TCP */
|
||||
unsigned short port = X_TCP_PORT + display;
|
||||
return _xcb_open_tcp(host, protocol, port);
|
||||
}
|
||||
|
||||
#ifndef _WIN32
|
||||
#if defined(HAVE_TSOL_LABEL_H) && defined(HAVE_IS_SYSTEM_LABELED)
|
||||
/* Check special path for Unix sockets under Solaris Trusted Extensions */
|
||||
if (is_system_labeled())
|
||||
{
|
||||
struct stat sbuf;
|
||||
const char *tsol_base = "/var/tsol/doors/.X11-unix/X";
|
||||
char tsol_socket[PATH_MAX];
|
||||
/* Check special path for Unix sockets under Solaris Trusted Extensions */
|
||||
if (is_system_labeled())
|
||||
{
|
||||
const char *tsol_base = "/var/tsol/doors/.X11-unix/X";
|
||||
char tsol_socket[PATH_MAX];
|
||||
struct stat sbuf;
|
||||
|
||||
snprintf(tsol_socket, sizeof(tsol_socket), "%s%d", tsol_base, display);
|
||||
snprintf(tsol_socket, sizeof(tsol_socket), "%s%d", tsol_base, display);
|
||||
|
||||
if (stat(tsol_socket, &sbuf) == 0)
|
||||
base = tsol_base;
|
||||
}
|
||||
if (stat(tsol_socket, &sbuf) == 0)
|
||||
base = tsol_base;
|
||||
else if (errno != ENOENT)
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_LAUNCHD
|
||||
struct stat sbuf;
|
||||
if (0 == stat(host, &sbuf)) {
|
||||
file = strdup(host);
|
||||
if(file == NULL)
|
||||
return -1;
|
||||
filelen = actual_filelen = strlen(file);
|
||||
} else
|
||||
#endif
|
||||
{
|
||||
filelen = strlen(base) + 1 + sizeof(display) * 3 + 1;
|
||||
file = malloc(filelen);
|
||||
if(file == NULL)
|
||||
|
@ -278,24 +306,23 @@ static int _xcb_open(const char *host, char *protocol, const int display)
|
|||
|
||||
/* display specifies Unix socket */
|
||||
actual_filelen = snprintf(file, filelen, "%s%d", base, display);
|
||||
}
|
||||
|
||||
if(actual_filelen < 0)
|
||||
{
|
||||
free(file);
|
||||
return -1;
|
||||
}
|
||||
/* snprintf may truncate the file */
|
||||
filelen = MIN(actual_filelen, filelen - 1);
|
||||
if(actual_filelen < 0)
|
||||
{
|
||||
free(file);
|
||||
return -1;
|
||||
}
|
||||
/* snprintf may truncate the file */
|
||||
filelen = MIN(actual_filelen, filelen - 1);
|
||||
#ifdef HAVE_ABSTRACT_SOCKETS
|
||||
fd = _xcb_open_abstract(protocol, file, filelen);
|
||||
if (fd >= 0 || (errno != ENOENT && errno != ECONNREFUSED))
|
||||
{
|
||||
free(file);
|
||||
return fd;
|
||||
}
|
||||
|
||||
fd = _xcb_open_abstract(protocol, file, filelen);
|
||||
if (fd >= 0 || (errno != ENOENT && errno != ECONNREFUSED))
|
||||
{
|
||||
free(file);
|
||||
return fd;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
fd = _xcb_open_unix(protocol, file);
|
||||
free(file);
|
||||
|
||||
|
@ -389,7 +416,11 @@ static int _xcb_open_tcp(const char *host, char *protocol, const unsigned short
|
|||
fd = _xcb_socket(addr->ai_family, addr->ai_socktype, addr->ai_protocol);
|
||||
if (_xcb_do_connect(fd, addr->ai_addr, addr->ai_addrlen) >= 0)
|
||||
break;
|
||||
#ifdef _WIN32
|
||||
closesocket(fd);
|
||||
#else
|
||||
close(fd);
|
||||
#endif
|
||||
fd = -1;
|
||||
}
|
||||
freeaddrinfo(results);
|
||||
|
@ -528,10 +559,8 @@ xcb_connection_t *xcb_connect_to_display_with_auth_info(const char *displayname,
|
|||
|
||||
if(auth) {
|
||||
c = xcb_connect_to_fd(fd, auth);
|
||||
goto out;
|
||||
}
|
||||
|
||||
if(_xcb_get_auth_info(fd, &ourauth, display))
|
||||
else if(_xcb_get_auth_info(fd, &ourauth, display))
|
||||
{
|
||||
c = xcb_connect_to_fd(fd, &ourauth);
|
||||
free(ourauth.name);
|
||||
|
|
49
dist/libxcb/tests/check_public.c
vendored
49
dist/libxcb/tests/check_public.c
vendored
|
@ -1,6 +1,10 @@
|
|||
#include <check.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
#ifdef __unix__
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
#include "check_suites.h"
|
||||
#include "xcb.h"
|
||||
#include "xcbext.h"
|
||||
|
@ -12,6 +16,10 @@ typedef enum test_type_t {
|
|||
} test_type_t;
|
||||
static const char *const test_string[] = { "", "via $DISPLAY " };
|
||||
|
||||
/* putenv(3) takes a pointer to a writable string that it adds directly
|
||||
to the environment, so it must be in persistent memory, not on the stack */
|
||||
static char display_env[] = "DISPLAY=";
|
||||
|
||||
static void parse_display_pass(const char *name, const char *host, const int display, const int screen)
|
||||
{
|
||||
int success;
|
||||
|
@ -25,7 +33,7 @@ static void parse_display_pass(const char *name, const char *host, const int dis
|
|||
if(test_type == TEST_ARGUMENT)
|
||||
{
|
||||
argument = name;
|
||||
putenv("DISPLAY=");
|
||||
putenv(display_env);
|
||||
}
|
||||
else if(test_type == TEST_ENVIRONMENT)
|
||||
{
|
||||
|
@ -50,7 +58,7 @@ static void parse_display_pass(const char *name, const char *host, const int dis
|
|||
ck_assert_msg(strcmp(host, got_host) == 0, "screenless parse %sproduced unexpected hostname '%s' for '%s': expected '%s'", test_string[test_type], got_host, name, host);
|
||||
ck_assert_msg(display == got_display, "screenless parse %sproduced unexpected display '%d' for '%s': expected '%d'", test_string[test_type], got_display, name, display);
|
||||
}
|
||||
putenv("DISPLAY=");
|
||||
putenv(display_env);
|
||||
}
|
||||
|
||||
static void parse_display_fail(const char *name)
|
||||
|
@ -66,7 +74,7 @@ static void parse_display_fail(const char *name)
|
|||
if(test_type == TEST_ARGUMENT)
|
||||
{
|
||||
argument = name;
|
||||
putenv("DISPLAY=");
|
||||
putenv(display_env);
|
||||
}
|
||||
else if(test_type == TEST_ENVIRONMENT)
|
||||
{
|
||||
|
@ -92,11 +100,42 @@ static void parse_display_fail(const char *name)
|
|||
ck_assert_msg(got_host == (char *) -1, "host changed on parse failure %sfor '%s': got %p", test_string[test_type], name, got_host);
|
||||
ck_assert_msg(got_display == -42, "display changed on parse failure %sfor '%s': got %d", test_string[test_type], name, got_display);
|
||||
}
|
||||
putenv("DISPLAY=");
|
||||
putenv(display_env);
|
||||
}
|
||||
|
||||
START_TEST(parse_display_unix)
|
||||
{
|
||||
#ifdef __unix__
|
||||
char buf[sizeof "/tmp/xcb-test.XXXXXXX"];
|
||||
char buf2[sizeof(buf) + 7];
|
||||
int r, v;
|
||||
memcpy(buf, "/tmp/xcb-test.XXXXXXX", sizeof buf);
|
||||
v = mkstemp(buf);
|
||||
ck_assert_msg(v >= 0, "cannot create temporary file");
|
||||
parse_display_pass(buf, buf, 0, 0);
|
||||
r = snprintf(buf2, sizeof buf2, "unix:%s", buf);
|
||||
if (r < 5 || r >= (int)sizeof buf2) {
|
||||
ck_assert_msg(0, "snprintf() failed (return value %d)", r);
|
||||
unlink(buf);
|
||||
return;
|
||||
}
|
||||
parse_display_pass(buf2, buf, 0, 0);
|
||||
r = snprintf(buf2, sizeof buf2, "unix:%s.1", buf);
|
||||
if (r < 7 || r >= (int)sizeof buf2) {
|
||||
ck_assert_msg(0, "snprintf() failed (return value %d)", r);
|
||||
unlink(buf);
|
||||
return;
|
||||
}
|
||||
parse_display_pass(buf2, buf, 0, 1);
|
||||
r = snprintf(buf2, sizeof buf2, "%s.1", buf);
|
||||
if (r < 2 || r >= (int)sizeof buf2) {
|
||||
ck_assert_msg(0, "snprintf() failed (return value %d)", r);
|
||||
unlink(buf);
|
||||
return;
|
||||
}
|
||||
parse_display_pass(buf2, buf, 0, 1);
|
||||
unlink(buf);
|
||||
#endif
|
||||
parse_display_pass(":0", "", 0, 0);
|
||||
parse_display_pass(":1", "", 1, 0);
|
||||
parse_display_pass(":0.1", "", 0, 1);
|
||||
|
@ -206,7 +245,7 @@ END_TEST
|
|||
Suite *public_suite(void)
|
||||
{
|
||||
Suite *s = suite_create("Public API");
|
||||
putenv("DISPLAY=");
|
||||
putenv(display_env);
|
||||
suite_add_test(s, parse_display_unix, "xcb_parse_display unix");
|
||||
suite_add_test(s, parse_display_ip, "xcb_parse_display ip");
|
||||
suite_add_test(s, parse_display_ipv4, "xcb_parse_display ipv4");
|
||||
|
|
11
dist/libxcb/xcb-dbe.pc.in
vendored
Normal file
11
dist/libxcb/xcb-dbe.pc.in
vendored
Normal file
|
@ -0,0 +1,11 @@
|
|||
prefix=@prefix@
|
||||
exec_prefix=@exec_prefix@
|
||||
libdir=@libdir@
|
||||
includedir=@includedir@
|
||||
|
||||
Name: XCB Dbe
|
||||
Description: XCB Double Buffer Extension
|
||||
Version: @PACKAGE_VERSION@
|
||||
Requires.private: xcb
|
||||
Libs: -L${libdir} -lxcb-dbe
|
||||
Cflags: -I${includedir}
|
2
dist/libxcb/xcb-present.pc.in
vendored
2
dist/libxcb/xcb-present.pc.in
vendored
|
@ -6,6 +6,6 @@ includedir=@includedir@
|
|||
Name: XCB Present
|
||||
Description: XCB Present Extension
|
||||
Version: @PACKAGE_VERSION@
|
||||
Requires.private: xcb xcb-randr xcb-xfixes xcb-sync
|
||||
Requires.private: xcb xcb-randr xcb-xfixes xcb-sync xcb-dri3
|
||||
Libs: -L${libdir} -lxcb-present
|
||||
Cflags: -I${includedir}
|
||||
|
|
|
@ -217,7 +217,7 @@
|
|||
./usr/X11R6/lib/libX11-xcb.so.2.0
|
||||
./usr/X11R6/lib/libX11.a
|
||||
./usr/X11R6/lib/libX11.la
|
||||
./usr/X11R6/lib/libX11.so.18.0
|
||||
./usr/X11R6/lib/libX11.so.18.1
|
||||
./usr/X11R6/lib/libXRes.a
|
||||
./usr/X11R6/lib/libXRes.la
|
||||
./usr/X11R6/lib/libXRes.so.5.1
|
||||
|
@ -322,11 +322,11 @@
|
|||
./usr/X11R6/lib/libxcb-damage.a
|
||||
./usr/X11R6/lib/libxcb-damage.so.1.0
|
||||
./usr/X11R6/lib/libxcb-dpms.a
|
||||
./usr/X11R6/lib/libxcb-dpms.so.1.0
|
||||
./usr/X11R6/lib/libxcb-dpms.so.1.1
|
||||
./usr/X11R6/lib/libxcb-dri2.a
|
||||
./usr/X11R6/lib/libxcb-dri2.so.1.1
|
||||
./usr/X11R6/lib/libxcb-dri3.a
|
||||
./usr/X11R6/lib/libxcb-dri3.so.0.2
|
||||
./usr/X11R6/lib/libxcb-dri3.so.0.3
|
||||
./usr/X11R6/lib/libxcb-ewmh.a
|
||||
./usr/X11R6/lib/libxcb-ewmh.la
|
||||
./usr/X11R6/lib/libxcb-ewmh.so.2.0
|
||||
|
@ -342,7 +342,7 @@
|
|||
./usr/X11R6/lib/libxcb-keysyms.la
|
||||
./usr/X11R6/lib/libxcb-keysyms.so.3.0
|
||||
./usr/X11R6/lib/libxcb-present.a
|
||||
./usr/X11R6/lib/libxcb-present.so.0.1
|
||||
./usr/X11R6/lib/libxcb-present.so.0.2
|
||||
./usr/X11R6/lib/libxcb-randr.a
|
||||
./usr/X11R6/lib/libxcb-randr.so.2.3
|
||||
./usr/X11R6/lib/libxcb-record.a
|
||||
|
|
|
@ -1129,11 +1129,6 @@
|
|||
./usr/X11R6/man/man3/FcValueSave.3
|
||||
./usr/X11R6/man/man3/FcWeightFromOpenType.3
|
||||
./usr/X11R6/man/man3/FcWeightToOpenType.3
|
||||
./usr/X11R6/man/man3/GLwCreateMDrawingArea.3
|
||||
./usr/X11R6/man/man3/GLwDrawingArea.3
|
||||
./usr/X11R6/man/man3/GLwDrawingAreaMakeCurrent.3
|
||||
./usr/X11R6/man/man3/GLwDrawingAreaSwapBuffers.3
|
||||
./usr/X11R6/man/man3/GLwMDrawingArea.3
|
||||
./usr/X11R6/man/man3/HeightMMOfScreen.3
|
||||
./usr/X11R6/man/man3/HeightOfScreen.3
|
||||
./usr/X11R6/man/man3/ImageByteOrder.3
|
||||
|
@ -1989,6 +1984,7 @@
|
|||
./usr/X11R6/man/man3/XineramaQueryScreens.3
|
||||
./usr/X11R6/man/man3/XineramaQueryVersion.3
|
||||
./usr/X11R6/man/man3/XkbActionCtrls.3
|
||||
./usr/X11R6/man/man3/XkbActionSetCtrls.3
|
||||
./usr/X11R6/man/man3/XkbAddDeviceLedInfo.3
|
||||
./usr/X11R6/man/man3/XkbAddGeomColor.3
|
||||
./usr/X11R6/man/man3/XkbAddGeomDoodad.3
|
||||
|
@ -2007,7 +2003,6 @@
|
|||
./usr/X11R6/man/man3/XkbAllocCompatMap.3
|
||||
./usr/X11R6/man/man3/XkbAllocControls.3
|
||||
./usr/X11R6/man/man3/XkbAllocDeviceInfo.3
|
||||
./usr/X11R6/man/man3/XkbAllocDeviceLedInfo.3
|
||||
./usr/X11R6/man/man3/XkbAllocGeomColors.3
|
||||
./usr/X11R6/man/man3/XkbAllocGeomDoodads.3
|
||||
./usr/X11R6/man/man3/XkbAllocGeomKeyAliases.3
|
||||
|
@ -2033,7 +2028,6 @@
|
|||
./usr/X11R6/man/man3/XkbChangeControls.3
|
||||
./usr/X11R6/man/man3/XkbChangeDeviceInfo.3
|
||||
./usr/X11R6/man/man3/XkbChangeEnabledControls.3
|
||||
./usr/X11R6/man/man3/XkbChangeIndicators.3
|
||||
./usr/X11R6/man/man3/XkbChangeMap.3
|
||||
./usr/X11R6/man/man3/XkbChangeNames.3
|
||||
./usr/X11R6/man/man3/XkbChangeTypesOfKey.3
|
||||
|
@ -2071,10 +2065,8 @@
|
|||
./usr/X11R6/man/man3/XkbFreeKeyboard.3
|
||||
./usr/X11R6/man/man3/XkbFreeNames.3
|
||||
./usr/X11R6/man/man3/XkbFreeServerMap.3
|
||||
./usr/X11R6/man/man3/XkbGetAccessXTimeout.3
|
||||
./usr/X11R6/man/man3/XkbGetAutoRepeatRate.3
|
||||
./usr/X11R6/man/man3/XkbGetAutoResetControls.3
|
||||
./usr/X11R6/man/man3/XkbGetBounceKeysDelay.3
|
||||
./usr/X11R6/man/man3/XkbGetCompatMap.3
|
||||
./usr/X11R6/man/man3/XkbGetControls.3
|
||||
./usr/X11R6/man/man3/XkbGetControlsChanges.3
|
||||
|
@ -2084,7 +2076,6 @@
|
|||
./usr/X11R6/man/man3/XkbGetDeviceInfoChanges.3
|
||||
./usr/X11R6/man/man3/XkbGetDeviceLedInfo.3
|
||||
./usr/X11R6/man/man3/XkbGetGeometry.3
|
||||
./usr/X11R6/man/man3/XkbGetIndicatorChanges.3
|
||||
./usr/X11R6/man/man3/XkbGetIndicatorMap.3
|
||||
./usr/X11R6/man/man3/XkbGetIndicatorState.3
|
||||
./usr/X11R6/man/man3/XkbGetKeyActions.3
|
||||
|
@ -2097,14 +2088,11 @@
|
|||
./usr/X11R6/man/man3/XkbGetKeyboard.3
|
||||
./usr/X11R6/man/man3/XkbGetKeyboardByName.3
|
||||
./usr/X11R6/man/man3/XkbGetMap.3
|
||||
./usr/X11R6/man/man3/XkbGetNameChanges.3
|
||||
./usr/X11R6/man/man3/XkbGetNamedDeviceIndicator.3
|
||||
./usr/X11R6/man/man3/XkbGetNamedGeometry.3
|
||||
./usr/X11R6/man/man3/XkbGetNamedIndicator.3
|
||||
./usr/X11R6/man/man3/XkbGetNames.3
|
||||
./usr/X11R6/man/man3/XkbGetSlowKeysDelay.3
|
||||
./usr/X11R6/man/man3/XkbGetState.3
|
||||
./usr/X11R6/man/man3/XkbGetStickyKeysOptions.3
|
||||
./usr/X11R6/man/man3/XkbGetUpdatedMap.3
|
||||
./usr/X11R6/man/man3/XkbGetVirtualMods.3
|
||||
./usr/X11R6/man/man3/XkbGetXlibControls.3
|
||||
|
@ -2117,14 +2105,13 @@
|
|||
./usr/X11R6/man/man3/XkbKeyGroupWidth.3
|
||||
./usr/X11R6/man/man3/XkbKeyGroupsWidth.3
|
||||
./usr/X11R6/man/man3/XkbKeyHasActions.3
|
||||
./usr/X11R6/man/man3/XkbKeyKeyType.3
|
||||
./usr/X11R6/man/man3/XkbKeyKeyTypeIndex.3
|
||||
./usr/X11R6/man/man3/XkbKeyNumActions.3
|
||||
./usr/X11R6/man/man3/XkbKeyNumGroups.3
|
||||
./usr/X11R6/man/man3/XkbKeyNumSyms.3
|
||||
./usr/X11R6/man/man3/XkbKeySymEntry.3
|
||||
./usr/X11R6/man/man3/XkbKeySymsOffset.3
|
||||
./usr/X11R6/man/man3/XkbKeySymsPtr.3
|
||||
./usr/X11R6/man/man3/XkbKeyType.3
|
||||
./usr/X11R6/man/man3/XkbKeyTypeIndex.3
|
||||
./usr/X11R6/man/man3/XkbKeyTypesForCoreSymbols.3
|
||||
./usr/X11R6/man/man3/XkbKeycodeToKeysym.3
|
||||
./usr/X11R6/man/man3/XkbKeysymToModifiers.3
|
||||
|
@ -2139,7 +2126,6 @@
|
|||
./usr/X11R6/man/man3/XkbModActionVMods.3
|
||||
./usr/X11R6/man/man3/XkbNoteControlsChanges.3
|
||||
./usr/X11R6/man/man3/XkbNoteDeviceChanges.3
|
||||
./usr/X11R6/man/man3/XkbNoteIndicatorChanges.3
|
||||
./usr/X11R6/man/man3/XkbNoteNameChanges.3
|
||||
./usr/X11R6/man/man3/XkbOpenDisplay.3
|
||||
./usr/X11R6/man/man3/XkbOutOfRangeGroupInfo.3
|
||||
|
@ -2152,7 +2138,6 @@
|
|||
./usr/X11R6/man/man3/XkbResizeKeyActions.3
|
||||
./usr/X11R6/man/man3/XkbResizeKeySyms.3
|
||||
./usr/X11R6/man/man3/XkbResizeKeyType.3
|
||||
./usr/X11R6/man/man3/XkbSAActionSetCtrls.3
|
||||
./usr/X11R6/man/man3/XkbSAGroup.3
|
||||
./usr/X11R6/man/man3/XkbSAPtrDfltValue.3
|
||||
./usr/X11R6/man/man3/XkbSARedirectSetVMods.3
|
||||
|
@ -2165,10 +2150,8 @@
|
|||
./usr/X11R6/man/man3/XkbSASetScreen.3
|
||||
./usr/X11R6/man/man3/XkbSelectEventDetails.3
|
||||
./usr/X11R6/man/man3/XkbSelectEvents.3
|
||||
./usr/X11R6/man/man3/XkbSetAccessXTimeout.3
|
||||
./usr/X11R6/man/man3/XkbSetAutoRepeatRate.3
|
||||
./usr/X11R6/man/man3/XkbSetAutoResetControls.3
|
||||
./usr/X11R6/man/man3/XkbSetBounceKeysDelay.3
|
||||
./usr/X11R6/man/man3/XkbSetCompatMap.3
|
||||
./usr/X11R6/man/man3/XkbSetControls.3
|
||||
./usr/X11R6/man/man3/XkbSetDebuggingFlags.3
|
||||
|
@ -2603,525 +2586,6 @@
|
|||
./usr/X11R6/man/man3/XwcTextListToTextProperty.3
|
||||
./usr/X11R6/man/man3/XwcTextPerCharExtents.3
|
||||
./usr/X11R6/man/man3/XwcTextPropertyToTextList.3
|
||||
./usr/X11R6/man/man3/glAccum.3
|
||||
./usr/X11R6/man/man3/glActiveTextureARB.3
|
||||
./usr/X11R6/man/man3/glAlphaFunc.3
|
||||
./usr/X11R6/man/man3/glAreTexturesResident.3
|
||||
./usr/X11R6/man/man3/glArrayElement.3
|
||||
./usr/X11R6/man/man3/glBegin.3
|
||||
./usr/X11R6/man/man3/glBindTexture.3
|
||||
./usr/X11R6/man/man3/glBitmap.3
|
||||
./usr/X11R6/man/man3/glBlendColor.3
|
||||
./usr/X11R6/man/man3/glBlendEquation.3
|
||||
./usr/X11R6/man/man3/glBlendFunc.3
|
||||
./usr/X11R6/man/man3/glCallList.3
|
||||
./usr/X11R6/man/man3/glCallLists.3
|
||||
./usr/X11R6/man/man3/glClear.3
|
||||
./usr/X11R6/man/man3/glClearAccum.3
|
||||
./usr/X11R6/man/man3/glClearColor.3
|
||||
./usr/X11R6/man/man3/glClearDepth.3
|
||||
./usr/X11R6/man/man3/glClearIndex.3
|
||||
./usr/X11R6/man/man3/glClearStencil.3
|
||||
./usr/X11R6/man/man3/glClientActiveTextureARB.3
|
||||
./usr/X11R6/man/man3/glClipPlane.3
|
||||
./usr/X11R6/man/man3/glColor.3
|
||||
./usr/X11R6/man/man3/glColor3b.3
|
||||
./usr/X11R6/man/man3/glColor3bv.3
|
||||
./usr/X11R6/man/man3/glColor3d.3
|
||||
./usr/X11R6/man/man3/glColor3dv.3
|
||||
./usr/X11R6/man/man3/glColor3f.3
|
||||
./usr/X11R6/man/man3/glColor3fv.3
|
||||
./usr/X11R6/man/man3/glColor3i.3
|
||||
./usr/X11R6/man/man3/glColor3iv.3
|
||||
./usr/X11R6/man/man3/glColor3s.3
|
||||
./usr/X11R6/man/man3/glColor3sv.3
|
||||
./usr/X11R6/man/man3/glColor3ub.3
|
||||
./usr/X11R6/man/man3/glColor3ubv.3
|
||||
./usr/X11R6/man/man3/glColor3ui.3
|
||||
./usr/X11R6/man/man3/glColor3uiv.3
|
||||
./usr/X11R6/man/man3/glColor3us.3
|
||||
./usr/X11R6/man/man3/glColor3usv.3
|
||||
./usr/X11R6/man/man3/glColor4b.3
|
||||
./usr/X11R6/man/man3/glColor4bv.3
|
||||
./usr/X11R6/man/man3/glColor4d.3
|
||||
./usr/X11R6/man/man3/glColor4dv.3
|
||||
./usr/X11R6/man/man3/glColor4f.3
|
||||
./usr/X11R6/man/man3/glColor4fv.3
|
||||
./usr/X11R6/man/man3/glColor4i.3
|
||||
./usr/X11R6/man/man3/glColor4iv.3
|
||||
./usr/X11R6/man/man3/glColor4s.3
|
||||
./usr/X11R6/man/man3/glColor4sv.3
|
||||
./usr/X11R6/man/man3/glColor4ub.3
|
||||
./usr/X11R6/man/man3/glColor4ubv.3
|
||||
./usr/X11R6/man/man3/glColor4ui.3
|
||||
./usr/X11R6/man/man3/glColor4uiv.3
|
||||
./usr/X11R6/man/man3/glColor4us.3
|
||||
./usr/X11R6/man/man3/glColor4usv.3
|
||||
./usr/X11R6/man/man3/glColorMask.3
|
||||
./usr/X11R6/man/man3/glColorMaterial.3
|
||||
./usr/X11R6/man/man3/glColorPointer.3
|
||||
./usr/X11R6/man/man3/glColorSubTable.3
|
||||
./usr/X11R6/man/man3/glColorTable.3
|
||||
./usr/X11R6/man/man3/glColorTableParameter.3
|
||||
./usr/X11R6/man/man3/glColorTableParameterfv.3
|
||||
./usr/X11R6/man/man3/glColorTableParameteriv.3
|
||||
./usr/X11R6/man/man3/glConvolutionFilter1D.3
|
||||
./usr/X11R6/man/man3/glConvolutionFilter2D.3
|
||||
./usr/X11R6/man/man3/glConvolutionParameter.3
|
||||
./usr/X11R6/man/man3/glCopyColorSubTable.3
|
||||
./usr/X11R6/man/man3/glCopyColorTable.3
|
||||
./usr/X11R6/man/man3/glCopyConvolutionFilter1D.3
|
||||
./usr/X11R6/man/man3/glCopyConvolutionFilter2D.3
|
||||
./usr/X11R6/man/man3/glCopyPixels.3
|
||||
./usr/X11R6/man/man3/glCopyTexImage1D.3
|
||||
./usr/X11R6/man/man3/glCopyTexImage2D.3
|
||||
./usr/X11R6/man/man3/glCopyTexSubImage1D.3
|
||||
./usr/X11R6/man/man3/glCopyTexSubImage2D.3
|
||||
./usr/X11R6/man/man3/glCopyTexSubImage3D.3
|
||||
./usr/X11R6/man/man3/glCullFace.3
|
||||
./usr/X11R6/man/man3/glDeleteLists.3
|
||||
./usr/X11R6/man/man3/glDeleteTextures.3
|
||||
./usr/X11R6/man/man3/glDepthFunc.3
|
||||
./usr/X11R6/man/man3/glDepthMask.3
|
||||
./usr/X11R6/man/man3/glDepthRange.3
|
||||
./usr/X11R6/man/man3/glDisable.3
|
||||
./usr/X11R6/man/man3/glDisableClientState.3
|
||||
./usr/X11R6/man/man3/glDrawArrays.3
|
||||
./usr/X11R6/man/man3/glDrawBuffer.3
|
||||
./usr/X11R6/man/man3/glDrawElements.3
|
||||
./usr/X11R6/man/man3/glDrawPixels.3
|
||||
./usr/X11R6/man/man3/glDrawRangeElements.3
|
||||
./usr/X11R6/man/man3/glEdgeFlag.3
|
||||
./usr/X11R6/man/man3/glEdgeFlagPointer.3
|
||||
./usr/X11R6/man/man3/glEdgeFlagv.3
|
||||
./usr/X11R6/man/man3/glEnable.3
|
||||
./usr/X11R6/man/man3/glEnableClientState.3
|
||||
./usr/X11R6/man/man3/glEnd.3
|
||||
./usr/X11R6/man/man3/glEndList.3
|
||||
./usr/X11R6/man/man3/glEvalCoord.3
|
||||
./usr/X11R6/man/man3/glEvalCoord1d.3
|
||||
./usr/X11R6/man/man3/glEvalCoord1dv.3
|
||||
./usr/X11R6/man/man3/glEvalCoord1fv.3
|
||||
./usr/X11R6/man/man3/glEvalCoord2d.3
|
||||
./usr/X11R6/man/man3/glEvalCoord2dv.3
|
||||
./usr/X11R6/man/man3/glEvalCoord2f.3
|
||||
./usr/X11R6/man/man3/glEvalCoord2fv.3
|
||||
./usr/X11R6/man/man3/glEvalMesh.3
|
||||
./usr/X11R6/man/man3/glEvalMesh1.3
|
||||
./usr/X11R6/man/man3/glEvalMesh2.3
|
||||
./usr/X11R6/man/man3/glEvalPoint.3
|
||||
./usr/X11R6/man/man3/glEvalPoint1.3
|
||||
./usr/X11R6/man/man3/glEvalPoint2.3
|
||||
./usr/X11R6/man/man3/glFeedbackBuffer.3
|
||||
./usr/X11R6/man/man3/glFinish.3
|
||||
./usr/X11R6/man/man3/glFlush.3
|
||||
./usr/X11R6/man/man3/glFog.3
|
||||
./usr/X11R6/man/man3/glFogf.3
|
||||
./usr/X11R6/man/man3/glFogfv.3
|
||||
./usr/X11R6/man/man3/glFogi.3
|
||||
./usr/X11R6/man/man3/glFogiv.3
|
||||
./usr/X11R6/man/man3/glFrontFace.3
|
||||
./usr/X11R6/man/man3/glFrustum.3
|
||||
./usr/X11R6/man/man3/glGenLists.3
|
||||
./usr/X11R6/man/man3/glGenTextures.3
|
||||
./usr/X11R6/man/man3/glGet.3
|
||||
./usr/X11R6/man/man3/glGetBooleanv.3
|
||||
./usr/X11R6/man/man3/glGetClipPlane.3
|
||||
./usr/X11R6/man/man3/glGetColorTable.3
|
||||
./usr/X11R6/man/man3/glGetColorTableParameter.3
|
||||
./usr/X11R6/man/man3/glGetColorTableParameterfv.3
|
||||
./usr/X11R6/man/man3/glGetColorTableParameteriv.3
|
||||
./usr/X11R6/man/man3/glGetConvolutionFilter.3
|
||||
./usr/X11R6/man/man3/glGetConvolutionParameter.3
|
||||
./usr/X11R6/man/man3/glGetDoublev.3
|
||||
./usr/X11R6/man/man3/glGetError.3
|
||||
./usr/X11R6/man/man3/glGetFloatv.3
|
||||
./usr/X11R6/man/man3/glGetHistogram.3
|
||||
./usr/X11R6/man/man3/glGetHistogramParameter.3
|
||||
./usr/X11R6/man/man3/glGetIntegerv.3
|
||||
./usr/X11R6/man/man3/glGetLight.3
|
||||
./usr/X11R6/man/man3/glGetLightfv.3
|
||||
./usr/X11R6/man/man3/glGetLightiv.3
|
||||
./usr/X11R6/man/man3/glGetMap.3
|
||||
./usr/X11R6/man/man3/glGetMapdv.3
|
||||
./usr/X11R6/man/man3/glGetMapfv.3
|
||||
./usr/X11R6/man/man3/glGetMapiv.3
|
||||
./usr/X11R6/man/man3/glGetMaterial.3
|
||||
./usr/X11R6/man/man3/glGetMaterialfv.3
|
||||
./usr/X11R6/man/man3/glGetMaterialiv.3
|
||||
./usr/X11R6/man/man3/glGetMinmax.3
|
||||
./usr/X11R6/man/man3/glGetMinmaxParameter.3
|
||||
./usr/X11R6/man/man3/glGetPixelMap.3
|
||||
./usr/X11R6/man/man3/glGetPixelMapfv.3
|
||||
./usr/X11R6/man/man3/glGetPixelMapuiv.3
|
||||
./usr/X11R6/man/man3/glGetPixelMapusv.3
|
||||
./usr/X11R6/man/man3/glGetPointerv.3
|
||||
./usr/X11R6/man/man3/glGetPolygonStipple.3
|
||||
./usr/X11R6/man/man3/glGetSeparableFilter.3
|
||||
./usr/X11R6/man/man3/glGetString.3
|
||||
./usr/X11R6/man/man3/glGetTexEnv.3
|
||||
./usr/X11R6/man/man3/glGetTexEnvfv.3
|
||||
./usr/X11R6/man/man3/glGetTexEnviv.3
|
||||
./usr/X11R6/man/man3/glGetTexGen.3
|
||||
./usr/X11R6/man/man3/glGetTexGendv.3
|
||||
./usr/X11R6/man/man3/glGetTexGenfv.3
|
||||
./usr/X11R6/man/man3/glGetTexGeniv.3
|
||||
./usr/X11R6/man/man3/glGetTexImage.3
|
||||
./usr/X11R6/man/man3/glGetTexLevelParameter.3
|
||||
./usr/X11R6/man/man3/glGetTexLevelParameterfv.3
|
||||
./usr/X11R6/man/man3/glGetTexLevelParameteriv.3
|
||||
./usr/X11R6/man/man3/glGetTexParameter.3
|
||||
./usr/X11R6/man/man3/glGetTexParameterfv.3
|
||||
./usr/X11R6/man/man3/glGetTexParameteriv.3
|
||||
./usr/X11R6/man/man3/glHint.3
|
||||
./usr/X11R6/man/man3/glHistogram.3
|
||||
./usr/X11R6/man/man3/glIndex.3
|
||||
./usr/X11R6/man/man3/glIndexMask.3
|
||||
./usr/X11R6/man/man3/glIndexPointer.3
|
||||
./usr/X11R6/man/man3/glIndexd.3
|
||||
./usr/X11R6/man/man3/glIndexdv.3
|
||||
./usr/X11R6/man/man3/glIndexf.3
|
||||
./usr/X11R6/man/man3/glIndexfv.3
|
||||
./usr/X11R6/man/man3/glIndexi.3
|
||||
./usr/X11R6/man/man3/glIndexiv.3
|
||||
./usr/X11R6/man/man3/glIndexs.3
|
||||
./usr/X11R6/man/man3/glIndexsv.3
|
||||
./usr/X11R6/man/man3/glIndexub.3
|
||||
./usr/X11R6/man/man3/glIndexubv.3
|
||||
./usr/X11R6/man/man3/glInitNames.3
|
||||
./usr/X11R6/man/man3/glInterleavedArrays.3
|
||||
./usr/X11R6/man/man3/glIsEnabled.3
|
||||
./usr/X11R6/man/man3/glIsTexture.3
|
||||
./usr/X11R6/man/man3/glIslist.3
|
||||
./usr/X11R6/man/man3/glLight.3
|
||||
./usr/X11R6/man/man3/glLightModel.3
|
||||
./usr/X11R6/man/man3/glLightModelf.3
|
||||
./usr/X11R6/man/man3/glLightModelfv.3
|
||||
./usr/X11R6/man/man3/glLightModeli.3
|
||||
./usr/X11R6/man/man3/glLightModeliv.3
|
||||
./usr/X11R6/man/man3/glLightf.3
|
||||
./usr/X11R6/man/man3/glLightfv.3
|
||||
./usr/X11R6/man/man3/glLighti.3
|
||||
./usr/X11R6/man/man3/glLightiv.3
|
||||
./usr/X11R6/man/man3/glLineStipple.3
|
||||
./usr/X11R6/man/man3/glLineWidth.3
|
||||
./usr/X11R6/man/man3/glListBase.3
|
||||
./usr/X11R6/man/man3/glLoadIdentity.3
|
||||
./usr/X11R6/man/man3/glLoadMatrix.3
|
||||
./usr/X11R6/man/man3/glLoadMatrixd.3
|
||||
./usr/X11R6/man/man3/glLoadMatrixf.3
|
||||
./usr/X11R6/man/man3/glLoadName.3
|
||||
./usr/X11R6/man/man3/glLogicOp.3
|
||||
./usr/X11R6/man/man3/glMap1.3
|
||||
./usr/X11R6/man/man3/glMap1d.3
|
||||
./usr/X11R6/man/man3/glMap1f.3
|
||||
./usr/X11R6/man/man3/glMap2.3
|
||||
./usr/X11R6/man/man3/glMap2d.3
|
||||
./usr/X11R6/man/man3/glMap2f.3
|
||||
./usr/X11R6/man/man3/glMapGrid.3
|
||||
./usr/X11R6/man/man3/glMapGrid1d.3
|
||||
./usr/X11R6/man/man3/glMapGrid1f.3
|
||||
./usr/X11R6/man/man3/glMapGrid2d.3
|
||||
./usr/X11R6/man/man3/glMapGrid2f.3
|
||||
./usr/X11R6/man/man3/glMaterial.3
|
||||
./usr/X11R6/man/man3/glMaterialf.3
|
||||
./usr/X11R6/man/man3/glMaterialfv.3
|
||||
./usr/X11R6/man/man3/glMateriali.3
|
||||
./usr/X11R6/man/man3/glMaterialiv.3
|
||||
./usr/X11R6/man/man3/glMatrixMode.3
|
||||
./usr/X11R6/man/man3/glMinmax.3
|
||||
./usr/X11R6/man/man3/glMultMatrix.3
|
||||
./usr/X11R6/man/man3/glMultMatrixd.3
|
||||
./usr/X11R6/man/man3/glMultMatrixf.3
|
||||
./usr/X11R6/man/man3/glMultiTexCoord1dARB.3
|
||||
./usr/X11R6/man/man3/glMultiTexCoord1dvARB.3
|
||||
./usr/X11R6/man/man3/glMultiTexCoord1fARB.3
|
||||
./usr/X11R6/man/man3/glMultiTexCoord1fvARB.3
|
||||
./usr/X11R6/man/man3/glMultiTexCoord1iARB.3
|
||||
./usr/X11R6/man/man3/glMultiTexCoord1ivARB.3
|
||||
./usr/X11R6/man/man3/glMultiTexCoord1sARB.3
|
||||
./usr/X11R6/man/man3/glMultiTexCoord1svARB.3
|
||||
./usr/X11R6/man/man3/glMultiTexCoord2dARB.3
|
||||
./usr/X11R6/man/man3/glMultiTexCoord2dvARB.3
|
||||
./usr/X11R6/man/man3/glMultiTexCoord2fARB.3
|
||||
./usr/X11R6/man/man3/glMultiTexCoord2fvARB.3
|
||||
./usr/X11R6/man/man3/glMultiTexCoord2iARB.3
|
||||
./usr/X11R6/man/man3/glMultiTexCoord2ivARB.3
|
||||
./usr/X11R6/man/man3/glMultiTexCoord2sARB.3
|
||||
./usr/X11R6/man/man3/glMultiTexCoord2svARB.3
|
||||
./usr/X11R6/man/man3/glMultiTexCoord3dARB.3
|
||||
./usr/X11R6/man/man3/glMultiTexCoord3dvARB.3
|
||||
./usr/X11R6/man/man3/glMultiTexCoord3fARB.3
|
||||
./usr/X11R6/man/man3/glMultiTexCoord3fvARB.3
|
||||
./usr/X11R6/man/man3/glMultiTexCoord3iARB.3
|
||||
./usr/X11R6/man/man3/glMultiTexCoord3ivARB.3
|
||||
./usr/X11R6/man/man3/glMultiTexCoord3sARB.3
|
||||
./usr/X11R6/man/man3/glMultiTexCoord3svARB.3
|
||||
./usr/X11R6/man/man3/glMultiTexCoord4dARB.3
|
||||
./usr/X11R6/man/man3/glMultiTexCoord4dvARB.3
|
||||
./usr/X11R6/man/man3/glMultiTexCoord4fARB.3
|
||||
./usr/X11R6/man/man3/glMultiTexCoord4fvARB.3
|
||||
./usr/X11R6/man/man3/glMultiTexCoord4iARB.3
|
||||
./usr/X11R6/man/man3/glMultiTexCoord4ivARB.3
|
||||
./usr/X11R6/man/man3/glMultiTexCoord4sARB.3
|
||||
./usr/X11R6/man/man3/glMultiTexCoord4svARB.3
|
||||
./usr/X11R6/man/man3/glMultiTexCoordARB.3
|
||||
./usr/X11R6/man/man3/glNewList.3
|
||||
./usr/X11R6/man/man3/glNormal.3
|
||||
./usr/X11R6/man/man3/glNormal3b.3
|
||||
./usr/X11R6/man/man3/glNormal3bv.3
|
||||
./usr/X11R6/man/man3/glNormal3d.3
|
||||
./usr/X11R6/man/man3/glNormal3dv.3
|
||||
./usr/X11R6/man/man3/glNormal3f.3
|
||||
./usr/X11R6/man/man3/glNormal3fv.3
|
||||
./usr/X11R6/man/man3/glNormal3i.3
|
||||
./usr/X11R6/man/man3/glNormal3iv.3
|
||||
./usr/X11R6/man/man3/glNormal3s.3
|
||||
./usr/X11R6/man/man3/glNormal3sv.3
|
||||
./usr/X11R6/man/man3/glNormalPointer.3
|
||||
./usr/X11R6/man/man3/glOrtho.3
|
||||
./usr/X11R6/man/man3/glPassThrough.3
|
||||
./usr/X11R6/man/man3/glPixelMap.3
|
||||
./usr/X11R6/man/man3/glPixelMapfv.3
|
||||
./usr/X11R6/man/man3/glPixelMapuiv.3
|
||||
./usr/X11R6/man/man3/glPixelMapusv.3
|
||||
./usr/X11R6/man/man3/glPixelStore.3
|
||||
./usr/X11R6/man/man3/glPixelStoref.3
|
||||
./usr/X11R6/man/man3/glPixelStorei.3
|
||||
./usr/X11R6/man/man3/glPixelTransfer.3
|
||||
./usr/X11R6/man/man3/glPixelTransferf.3
|
||||
./usr/X11R6/man/man3/glPixelTransferi.3
|
||||
./usr/X11R6/man/man3/glPixelZoom.3
|
||||
./usr/X11R6/man/man3/glPointSize.3
|
||||
./usr/X11R6/man/man3/glPolygonMode.3
|
||||
./usr/X11R6/man/man3/glPolygonOffset.3
|
||||
./usr/X11R6/man/man3/glPolygonStipple.3
|
||||
./usr/X11R6/man/man3/glPopAttrib.3
|
||||
./usr/X11R6/man/man3/glPopClientAttrib.3
|
||||
./usr/X11R6/man/man3/glPopMatrix.3
|
||||
./usr/X11R6/man/man3/glPopName.3
|
||||
./usr/X11R6/man/man3/glPrioritizeTextures.3
|
||||
./usr/X11R6/man/man3/glPushAttrib.3
|
||||
./usr/X11R6/man/man3/glPushClientAttrib.3
|
||||
./usr/X11R6/man/man3/glPushMatrix.3
|
||||
./usr/X11R6/man/man3/glPushName.3
|
||||
./usr/X11R6/man/man3/glRasterPos.3
|
||||
./usr/X11R6/man/man3/glRasterPos2d.3
|
||||
./usr/X11R6/man/man3/glRasterPos2dv.3
|
||||
./usr/X11R6/man/man3/glRasterPos2f.3
|
||||
./usr/X11R6/man/man3/glRasterPos2fv.3
|
||||
./usr/X11R6/man/man3/glRasterPos2i.3
|
||||
./usr/X11R6/man/man3/glRasterPos2iv.3
|
||||
./usr/X11R6/man/man3/glRasterPos2s.3
|
||||
./usr/X11R6/man/man3/glRasterPos2sv.3
|
||||
./usr/X11R6/man/man3/glRasterPos3d.3
|
||||
./usr/X11R6/man/man3/glRasterPos3dv.3
|
||||
./usr/X11R6/man/man3/glRasterPos3f.3
|
||||
./usr/X11R6/man/man3/glRasterPos3fv.3
|
||||
./usr/X11R6/man/man3/glRasterPos3i.3
|
||||
./usr/X11R6/man/man3/glRasterPos3iv.3
|
||||
./usr/X11R6/man/man3/glRasterPos3s.3
|
||||
./usr/X11R6/man/man3/glRasterPos3sv.3
|
||||
./usr/X11R6/man/man3/glRasterPos4d.3
|
||||
./usr/X11R6/man/man3/glRasterPos4dv.3
|
||||
./usr/X11R6/man/man3/glRasterPos4f.3
|
||||
./usr/X11R6/man/man3/glRasterPos4fv.3
|
||||
./usr/X11R6/man/man3/glRasterPos4i.3
|
||||
./usr/X11R6/man/man3/glRasterPos4iv.3
|
||||
./usr/X11R6/man/man3/glRasterPos4s.3
|
||||
./usr/X11R6/man/man3/glRasterPos4sv.3
|
||||
./usr/X11R6/man/man3/glReadBuffer.3
|
||||
./usr/X11R6/man/man3/glReadPixels.3
|
||||
./usr/X11R6/man/man3/glRect.3
|
||||
./usr/X11R6/man/man3/glRectd.3
|
||||
./usr/X11R6/man/man3/glRectdv.3
|
||||
./usr/X11R6/man/man3/glRectf.3
|
||||
./usr/X11R6/man/man3/glRectfv.3
|
||||
./usr/X11R6/man/man3/glRecti.3
|
||||
./usr/X11R6/man/man3/glRectiv.3
|
||||
./usr/X11R6/man/man3/glRects.3
|
||||
./usr/X11R6/man/man3/glRectsv.3
|
||||
./usr/X11R6/man/man3/glRenderMode.3
|
||||
./usr/X11R6/man/man3/glResetHistogram.3
|
||||
./usr/X11R6/man/man3/glResetMinmax.3
|
||||
./usr/X11R6/man/man3/glRotate.3
|
||||
./usr/X11R6/man/man3/glRotated.3
|
||||
./usr/X11R6/man/man3/glRotatef.3
|
||||
./usr/X11R6/man/man3/glScale.3
|
||||
./usr/X11R6/man/man3/glScaled.3
|
||||
./usr/X11R6/man/man3/glScalef.3
|
||||
./usr/X11R6/man/man3/glScissor.3
|
||||
./usr/X11R6/man/man3/glSelectBuffer.3
|
||||
./usr/X11R6/man/man3/glSeparableFilter2D.3
|
||||
./usr/X11R6/man/man3/glShadeModel.3
|
||||
./usr/X11R6/man/man3/glStencilFunc.3
|
||||
./usr/X11R6/man/man3/glStencilMask.3
|
||||
./usr/X11R6/man/man3/glStencilOp.3
|
||||
./usr/X11R6/man/man3/glTexCoord.3
|
||||
./usr/X11R6/man/man3/glTexCoord1d.3
|
||||
./usr/X11R6/man/man3/glTexCoord1dv.3
|
||||
./usr/X11R6/man/man3/glTexCoord1f.3
|
||||
./usr/X11R6/man/man3/glTexCoord1fv.3
|
||||
./usr/X11R6/man/man3/glTexCoord1i.3
|
||||
./usr/X11R6/man/man3/glTexCoord1iv.3
|
||||
./usr/X11R6/man/man3/glTexCoord1s.3
|
||||
./usr/X11R6/man/man3/glTexCoord1sv.3
|
||||
./usr/X11R6/man/man3/glTexCoord2d.3
|
||||
./usr/X11R6/man/man3/glTexCoord2dv.3
|
||||
./usr/X11R6/man/man3/glTexCoord2f.3
|
||||
./usr/X11R6/man/man3/glTexCoord2fv.3
|
||||
./usr/X11R6/man/man3/glTexCoord2i.3
|
||||
./usr/X11R6/man/man3/glTexCoord2iv.3
|
||||
./usr/X11R6/man/man3/glTexCoord2s.3
|
||||
./usr/X11R6/man/man3/glTexCoord2sv.3
|
||||
./usr/X11R6/man/man3/glTexCoord3d.3
|
||||
./usr/X11R6/man/man3/glTexCoord3dv.3
|
||||
./usr/X11R6/man/man3/glTexCoord3f.3
|
||||
./usr/X11R6/man/man3/glTexCoord3fv.3
|
||||
./usr/X11R6/man/man3/glTexCoord3i.3
|
||||
./usr/X11R6/man/man3/glTexCoord3iv.3
|
||||
./usr/X11R6/man/man3/glTexCoord3s.3
|
||||
./usr/X11R6/man/man3/glTexCoord3sv.3
|
||||
./usr/X11R6/man/man3/glTexCoord4d.3
|
||||
./usr/X11R6/man/man3/glTexCoord4dv.3
|
||||
./usr/X11R6/man/man3/glTexCoord4f.3
|
||||
./usr/X11R6/man/man3/glTexCoord4fv.3
|
||||
./usr/X11R6/man/man3/glTexCoord4i.3
|
||||
./usr/X11R6/man/man3/glTexCoord4iv.3
|
||||
./usr/X11R6/man/man3/glTexCoord4s.3
|
||||
./usr/X11R6/man/man3/glTexCoord4sv.3
|
||||
./usr/X11R6/man/man3/glTexCoordPointer.3
|
||||
./usr/X11R6/man/man3/glTexEnv.3
|
||||
./usr/X11R6/man/man3/glTexEnvf.3
|
||||
./usr/X11R6/man/man3/glTexEnvfv.3
|
||||
./usr/X11R6/man/man3/glTexEnvi.3
|
||||
./usr/X11R6/man/man3/glTexEnviv.3
|
||||
./usr/X11R6/man/man3/glTexGen.3
|
||||
./usr/X11R6/man/man3/glTexGend.3
|
||||
./usr/X11R6/man/man3/glTexGendv.3
|
||||
./usr/X11R6/man/man3/glTexGenf.3
|
||||
./usr/X11R6/man/man3/glTexGenfv.3
|
||||
./usr/X11R6/man/man3/glTexGeni.3
|
||||
./usr/X11R6/man/man3/glTexGeniv.3
|
||||
./usr/X11R6/man/man3/glTexImage1D.3
|
||||
./usr/X11R6/man/man3/glTexImage2D.3
|
||||
./usr/X11R6/man/man3/glTexImage3D.3
|
||||
./usr/X11R6/man/man3/glTexParameter.3
|
||||
./usr/X11R6/man/man3/glTexParameterf.3
|
||||
./usr/X11R6/man/man3/glTexParameterfv.3
|
||||
./usr/X11R6/man/man3/glTexParameteri.3
|
||||
./usr/X11R6/man/man3/glTexParameteriv.3
|
||||
./usr/X11R6/man/man3/glTexSubImage1D.3
|
||||
./usr/X11R6/man/man3/glTexSubImage2D.3
|
||||
./usr/X11R6/man/man3/glTexSubImage3D.3
|
||||
./usr/X11R6/man/man3/glTranslate.3
|
||||
./usr/X11R6/man/man3/glTranslated.3
|
||||
./usr/X11R6/man/man3/glTranslatef.3
|
||||
./usr/X11R6/man/man3/glVertex.3
|
||||
./usr/X11R6/man/man3/glVertex2d.3
|
||||
./usr/X11R6/man/man3/glVertex2dv.3
|
||||
./usr/X11R6/man/man3/glVertex2f.3
|
||||
./usr/X11R6/man/man3/glVertex2fv.3
|
||||
./usr/X11R6/man/man3/glVertex2i.3
|
||||
./usr/X11R6/man/man3/glVertex2iv.3
|
||||
./usr/X11R6/man/man3/glVertex2s.3
|
||||
./usr/X11R6/man/man3/glVertex2sv.3
|
||||
./usr/X11R6/man/man3/glVertex3d.3
|
||||
./usr/X11R6/man/man3/glVertex3dv.3
|
||||
./usr/X11R6/man/man3/glVertex3f.3
|
||||
./usr/X11R6/man/man3/glVertex3fv.3
|
||||
./usr/X11R6/man/man3/glVertex3i.3
|
||||
./usr/X11R6/man/man3/glVertex3iv.3
|
||||
./usr/X11R6/man/man3/glVertex3s.3
|
||||
./usr/X11R6/man/man3/glVertex3sv.3
|
||||
./usr/X11R6/man/man3/glVertex4d.3
|
||||
./usr/X11R6/man/man3/glVertex4dv.3
|
||||
./usr/X11R6/man/man3/glVertex4f.3
|
||||
./usr/X11R6/man/man3/glVertex4fv.3
|
||||
./usr/X11R6/man/man3/glVertex4i.3
|
||||
./usr/X11R6/man/man3/glVertex4iv.3
|
||||
./usr/X11R6/man/man3/glVertex4s.3
|
||||
./usr/X11R6/man/man3/glVertex4sv.3
|
||||
./usr/X11R6/man/man3/glVertexPointer.3
|
||||
./usr/X11R6/man/man3/glViewport.3
|
||||
./usr/X11R6/man/man3/glXChooseVisual.3
|
||||
./usr/X11R6/man/man3/glXCopyContext.3
|
||||
./usr/X11R6/man/man3/glXCreateContext.3
|
||||
./usr/X11R6/man/man3/glXCreateGLXPixmap.3
|
||||
./usr/X11R6/man/man3/glXDestroyContext.3
|
||||
./usr/X11R6/man/man3/glXDestroyGLXPixmap.3
|
||||
./usr/X11R6/man/man3/glXFreeContextEXT.3
|
||||
./usr/X11R6/man/man3/glXGetClientString.3
|
||||
./usr/X11R6/man/man3/glXGetConfig.3
|
||||
./usr/X11R6/man/man3/glXGetContextIDEXT.3
|
||||
./usr/X11R6/man/man3/glXGetCurrentContext.3
|
||||
./usr/X11R6/man/man3/glXGetCurrentDisplay.3
|
||||
./usr/X11R6/man/man3/glXGetCurrentDrawable.3
|
||||
./usr/X11R6/man/man3/glXImportContextEXT.3
|
||||
./usr/X11R6/man/man3/glXIntro.3
|
||||
./usr/X11R6/man/man3/glXIsDirect.3
|
||||
./usr/X11R6/man/man3/glXMakeCurrent.3
|
||||
./usr/X11R6/man/man3/glXQueryContextInfoEXT.3
|
||||
./usr/X11R6/man/man3/glXQueryExtension.3
|
||||
./usr/X11R6/man/man3/glXQueryExtensionsString.3
|
||||
./usr/X11R6/man/man3/glXQueryServerString.3
|
||||
./usr/X11R6/man/man3/glXQueryVersion.3
|
||||
./usr/X11R6/man/man3/glXSwapBuffers.3
|
||||
./usr/X11R6/man/man3/glXUseXFont.3
|
||||
./usr/X11R6/man/man3/glXWaitGL.3
|
||||
./usr/X11R6/man/man3/glXWaitX.3
|
||||
./usr/X11R6/man/man3/gluBeginCurve.3
|
||||
./usr/X11R6/man/man3/gluBeginPolygon.3
|
||||
./usr/X11R6/man/man3/gluBeginSurface.3
|
||||
./usr/X11R6/man/man3/gluBeginTrim.3
|
||||
./usr/X11R6/man/man3/gluBuild1DMipmaps.3
|
||||
./usr/X11R6/man/man3/gluBuild2DMipmaps.3
|
||||
./usr/X11R6/man/man3/gluCylinder.3
|
||||
./usr/X11R6/man/man3/gluDeleteNurbsRenderer.3
|
||||
./usr/X11R6/man/man3/gluDeleteQuadric.3
|
||||
./usr/X11R6/man/man3/gluDeleteTess.3
|
||||
./usr/X11R6/man/man3/gluDisk.3
|
||||
./usr/X11R6/man/man3/gluEndCurve.3
|
||||
./usr/X11R6/man/man3/gluEndPolygon.3
|
||||
./usr/X11R6/man/man3/gluEndSurface.3
|
||||
./usr/X11R6/man/man3/gluEndTrim.3
|
||||
./usr/X11R6/man/man3/gluErrorString.3
|
||||
./usr/X11R6/man/man3/gluGetNurbsProperty.3
|
||||
./usr/X11R6/man/man3/gluGetString.3
|
||||
./usr/X11R6/man/man3/gluGetTessProperty.3
|
||||
./usr/X11R6/man/man3/gluLoadSamplingMatrices.3
|
||||
./usr/X11R6/man/man3/gluLookAt.3
|
||||
./usr/X11R6/man/man3/gluNewNurbsRenderer.3
|
||||
./usr/X11R6/man/man3/gluNewQuadric.3
|
||||
./usr/X11R6/man/man3/gluNewTess.3
|
||||
./usr/X11R6/man/man3/gluNextContour.3
|
||||
./usr/X11R6/man/man3/gluNurbsCallback.3
|
||||
./usr/X11R6/man/man3/gluNurbsCallbackDataEXT.3
|
||||
./usr/X11R6/man/man3/gluNurbsCurve.3
|
||||
./usr/X11R6/man/man3/gluNurbsProperty.3
|
||||
./usr/X11R6/man/man3/gluNurbsSurface.3
|
||||
./usr/X11R6/man/man3/gluOrtho2D.3
|
||||
./usr/X11R6/man/man3/gluPartialDisk.3
|
||||
./usr/X11R6/man/man3/gluPerspective.3
|
||||
./usr/X11R6/man/man3/gluPickMatrix.3
|
||||
./usr/X11R6/man/man3/gluProject.3
|
||||
./usr/X11R6/man/man3/gluPwlCurve.3
|
||||
./usr/X11R6/man/man3/gluQuadricCallback.3
|
||||
./usr/X11R6/man/man3/gluQuadricDrawStyle.3
|
||||
./usr/X11R6/man/man3/gluQuadricNormals.3
|
||||
./usr/X11R6/man/man3/gluQuadricOrientation.3
|
||||
./usr/X11R6/man/man3/gluQuadricTexture.3
|
||||
./usr/X11R6/man/man3/gluScaleImage.3
|
||||
./usr/X11R6/man/man3/gluSphere.3
|
||||
./usr/X11R6/man/man3/gluTessBeginContour.3
|
||||
./usr/X11R6/man/man3/gluTessBeginPolygon.3
|
||||
./usr/X11R6/man/man3/gluTessCallback.3
|
||||
./usr/X11R6/man/man3/gluTessEndContour.3
|
||||
./usr/X11R6/man/man3/gluTessEndPolygon.3
|
||||
./usr/X11R6/man/man3/gluTessNormal.3
|
||||
./usr/X11R6/man/man3/gluTessProperty.3
|
||||
./usr/X11R6/man/man3/gluTessVertex.3
|
||||
./usr/X11R6/man/man3/gluUnProject.3
|
||||
./usr/X11R6/man/man3/shapelib.3
|
||||
./usr/X11R6/man/man3/synclib.3
|
||||
./usr/X11R6/man/man3/xtest1.3
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# $OpenBSD: Makefile,v 1.1 2006/11/29 17:42:27 matthieu Exp $
|
||||
# $OpenBSD: Makefile,v 1.2 2024/07/10 07:00:41 matthieu Exp $
|
||||
|
||||
SUBDIR= gl-docs xorg-docs
|
||||
SUBDIR= xorg-docs
|
||||
|
||||
.include <bsd.subdir.mk>
|
||||
|
||||
|
|
|
@ -1,26 +0,0 @@
|
|||
XCOMM $XFree86: xc/doc/man/GL/Imakefile,v 1.2 1999/06/14 07:23:27 dawes Exp $
|
||||
XCOMM The contents of this file are subject to the GLX Public License Version 1.0
|
||||
XCOMM (the "License"). You may not use this file except in compliance with the
|
||||
XCOMM License. You may obtain a copy of the License at Silicon Graphics, Inc.,
|
||||
XCOMM attn: Legal Services, 2011 N. Shoreline Blvd., Mountain View, CA 94043
|
||||
XCOMM or at http://www.sgi.com/software/opensource/glx/license.html.
|
||||
XCOMM
|
||||
XCOMM Software distributed under the License is distributed on an "AS IS"
|
||||
XCOMM basis. ALL WARRANTIES ARE DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY
|
||||
XCOMM IMPLIED WARRANTIES OF MERCHANTABILITY, OF FITNESS FOR A PARTICULAR
|
||||
XCOMM PURPOSE OR OF NON- INFRINGEMENT. See the License for the specific
|
||||
XCOMM language governing rights and limitations under the License.
|
||||
XCOMM
|
||||
XCOMM The Original Software is GLX version 1.2 source code, released February,
|
||||
XCOMM 1999. The developer of the Original Software is Silicon Graphics, Inc.
|
||||
XCOMM Those portions of the Subject Software created by Silicon Graphics, Inc.
|
||||
XCOMM are Copyright (c) 1991-9 Silicon Graphics, Inc. All Rights Reserved.
|
||||
|
||||
#define IHaveSubdirs
|
||||
#define PassCDebugFlags 'CDEBUGFLAGS=$(CDEBUGFLAGS)'
|
||||
|
||||
SUBDIRS = gl glx
|
||||
|
||||
MakeSubdirs($(SUBDIRS))
|
||||
InstallManSubdirs($(SUBDIRS))
|
||||
DependSubdirs($(SUBDIRS))
|
|
@ -1,432 +0,0 @@
|
|||
XCOMM $XFree86: xc/doc/man/GL/gl/Imakefile,v 1.3 2002/01/15 03:32:03 dawes Exp $
|
||||
|
||||
XCOMM License Applicability. Except to the extent portions of this file are
|
||||
XCOMM made subject to an alternative license as permitted in the SGI Free
|
||||
XCOMM Software License B, Version 1.1 (the "License"), the contents of this
|
||||
XCOMM file are subject only to the provisions of the License. You may not use
|
||||
XCOMM this file except in compliance with the License. You may obtain a Copy
|
||||
XCOMM of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
|
||||
XCOMM Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
|
||||
XCOMM
|
||||
XCOMM http://oss.sgi.com/projects/FreeB
|
||||
XCOMM
|
||||
XCOMM Note that, as provided in the License, the Software is distributed on an
|
||||
XCOMM "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
|
||||
XCOMM DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
|
||||
XCOMM CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
|
||||
XCOMM PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
|
||||
XCOMM
|
||||
XCOMM Original Code. The Original Code is: OpenGL Sample Implementation,
|
||||
XCOMM Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
|
||||
XCOMM Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
|
||||
XCOMM Copyright in any portions created by third parties is as indicated
|
||||
XCOMM elsewhere herein. All Rights Reserved.
|
||||
XCOMM
|
||||
XCOMM Additional Notice Provisions: The application programming interfaces
|
||||
XCOMM established by SGI in conjunction with the Original Code are The
|
||||
XCOMM OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
|
||||
XCOMM April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
|
||||
XCOMM 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
|
||||
XCOMM Window System(R) (Version 1.3), released October 19, 1998. This software
|
||||
XCOMM was created using the OpenGL(R) version 1.2.1 Sample Implementation
|
||||
XCOMM published by SGI, but has not been independently verified as being
|
||||
XCOMM compliant with the OpenGL(R) version 1.2.1 Specification.
|
||||
XCOMM
|
||||
|
||||
MANDIR = $(LIBMANDIR)
|
||||
MANSUFFIX = $(LIBMANSUFFIX)
|
||||
MSUFF = man
|
||||
|
||||
InstallManPage(glAccum,$(MANDIR))
|
||||
InstallManPage(glActiveTextureARB,$(MANDIR))
|
||||
InstallManPage(glAlphaFunc,$(MANDIR))
|
||||
InstallManPage(glAreTexturesResident,$(MANDIR))
|
||||
InstallManPage(glArrayElement,$(MANDIR))
|
||||
InstallManPage(glBegin,$(MANDIR))
|
||||
InstallManPageAliases(glBegin,$(MANDIR),glEnd)
|
||||
InstallManPage(glBindTexture,$(MANDIR))
|
||||
InstallManPage(glBitmap,$(MANDIR))
|
||||
InstallManPage(glBlendColor,$(MANDIR))
|
||||
InstallManPage(glBlendEquation,$(MANDIR))
|
||||
InstallManPage(glBlendFunc,$(MANDIR))
|
||||
InstallManPage(glCallList,$(MANDIR))
|
||||
InstallManPage(glCallLists,$(MANDIR))
|
||||
InstallManPage(glClear,$(MANDIR))
|
||||
InstallManPage(glClearAccum,$(MANDIR))
|
||||
InstallManPage(glClearColor,$(MANDIR))
|
||||
InstallManPage(glClearDepth,$(MANDIR))
|
||||
InstallManPage(glClearIndex,$(MANDIR))
|
||||
InstallManPage(glClearStencil,$(MANDIR))
|
||||
InstallManPage(glClientActiveTextureARB,$(MANDIR))
|
||||
InstallManPage(glClipPlane,$(MANDIR))
|
||||
InstallManPage(glColor,$(MANDIR))
|
||||
InstallManPageAliases(glColor,$(MANDIR),glColor3b glColor3d glColor3f glColor3i glColor3s glColor3ub glColor3ui glColor3us glColor4b glColor4d glColor4f glColor4i glColor4s glColor4ub glColor4ui glColor4us glColor3bv glColor3dv glColor3fv glColor3iv glColor3sv glColor3ubv glColor3uiv glColor3usv glColor4bv glColor4dv glColor4fv glColor4iv glColor4sv glColor4ubv glColor4uiv glColor4usv)
|
||||
InstallManPage(glColorMask,$(MANDIR))
|
||||
InstallManPage(glColorMaterial,$(MANDIR))
|
||||
InstallManPage(glColorPointer,$(MANDIR))
|
||||
InstallManPage(glColorSubTable,$(MANDIR))
|
||||
InstallManPage(glColorTable,$(MANDIR))
|
||||
InstallManPage(glColorTableParameter,$(MANDIR))
|
||||
InstallManPageAliases(glColorTableParameter,$(MANDIR),glColorTableParameterfv glColorTableParameteriv)
|
||||
InstallManPage(glConvolutionFilter1D,$(MANDIR))
|
||||
InstallManPage(glConvolutionFilter2D,$(MANDIR))
|
||||
InstallManPage(glConvolutionParameter,$(MANDIR))
|
||||
InstallManPage(glCopyColorSubTable,$(MANDIR))
|
||||
InstallManPage(glCopyColorTable,$(MANDIR))
|
||||
InstallManPage(glCopyConvolutionFilter1D,$(MANDIR))
|
||||
InstallManPage(glCopyConvolutionFilter2D,$(MANDIR))
|
||||
InstallManPage(glCopyPixels,$(MANDIR))
|
||||
InstallManPage(glCopyTexImage1D,$(MANDIR))
|
||||
InstallManPage(glCopyTexImage2D,$(MANDIR))
|
||||
InstallManPage(glCopyTexSubImage1D,$(MANDIR))
|
||||
InstallManPage(glCopyTexSubImage2D,$(MANDIR))
|
||||
InstallManPage(glCopyTexSubImage3D,$(MANDIR))
|
||||
InstallManPage(glCullFace,$(MANDIR))
|
||||
InstallManPage(glDeleteLists,$(MANDIR))
|
||||
InstallManPage(glDeleteTextures,$(MANDIR))
|
||||
InstallManPage(glDepthFunc,$(MANDIR))
|
||||
InstallManPage(glDepthMask,$(MANDIR))
|
||||
InstallManPage(glDepthRange,$(MANDIR))
|
||||
InstallManPage(glDrawArrays,$(MANDIR))
|
||||
InstallManPage(glDrawBuffer,$(MANDIR))
|
||||
InstallManPage(glDrawElements,$(MANDIR))
|
||||
InstallManPage(glDrawPixels,$(MANDIR))
|
||||
InstallManPage(glDrawRangeElements,$(MANDIR))
|
||||
InstallManPage(glEdgeFlag,$(MANDIR))
|
||||
InstallManPageAliases(glEdgeFlag,$(MANDIR),glEdgeFlagv)
|
||||
InstallManPage(glEdgeFlagPointer,$(MANDIR))
|
||||
InstallManPage(glEnable,$(MANDIR))
|
||||
InstallManPageAliases(glEnable,$(MANDIR),glDisable)
|
||||
InstallManPage(glEnableClientState,$(MANDIR))
|
||||
InstallManPageAliases(glEnableClientState,$(MANDIR),glDisableClientState)
|
||||
InstallManPage(glEvalCoord,$(MANDIR))
|
||||
InstallManPageAliases(glEvalCoord,$(MANDIR),glEvalCoord1d glEvalCoord2d glEvalCoord2f glEvalCoord1dv glEvalCoord1fv glEvalCoord2dv glEvalCoord2fv)
|
||||
InstallManPage(glEvalMesh,$(MANDIR))
|
||||
InstallManPageAliases(glEvalMesh,$(MANDIR),glEvalMesh1 glEvalMesh2)
|
||||
InstallManPage(glEvalPoint,$(MANDIR))
|
||||
InstallManPageAliases(glEvalPoint,$(MANDIR),glEvalPoint1 glEvalPoint2)
|
||||
InstallManPage(glFeedbackBuffer,$(MANDIR))
|
||||
InstallManPage(glFinish,$(MANDIR))
|
||||
InstallManPage(glFlush,$(MANDIR))
|
||||
InstallManPage(glFog,$(MANDIR))
|
||||
InstallManPageAliases(glFog,$(MANDIR),glFogf glFogi glFogfv glFogiv)
|
||||
InstallManPage(glFrontFace,$(MANDIR))
|
||||
InstallManPage(glFrustum,$(MANDIR))
|
||||
InstallManPage(glGenLists,$(MANDIR))
|
||||
InstallManPage(glGenTextures,$(MANDIR))
|
||||
InstallManPage(glGet,$(MANDIR))
|
||||
InstallManPageAliases(glGet,$(MANDIR),glGetBooleanv glGetDoublev glGetFloatv glGetIntegerv)
|
||||
InstallManPage(glGetClipPlane,$(MANDIR))
|
||||
InstallManPage(glGetColorTable,$(MANDIR))
|
||||
InstallManPage(glGetColorTableParameter,$(MANDIR))
|
||||
InstallManPageAliases(glGetColorTableParameter,$(MANDIR),glGetColorTableParameterfv glGetColorTableParameteriv)
|
||||
InstallManPage(glGetConvolutionFilter,$(MANDIR))
|
||||
InstallManPage(glGetConvolutionParameter,$(MANDIR))
|
||||
InstallManPage(glGetError,$(MANDIR))
|
||||
InstallManPage(glGetHistogram,$(MANDIR))
|
||||
InstallManPage(glGetHistogramParameter,$(MANDIR))
|
||||
InstallManPage(glGetLight,$(MANDIR))
|
||||
InstallManPageAliases(glGetLight,$(MANDIR),glGetLightfv glGetLightiv)
|
||||
InstallManPage(glGetMap,$(MANDIR))
|
||||
InstallManPageAliases(glGetMap,$(MANDIR),glGetMapdv glGetMapfv glGetMapiv)
|
||||
InstallManPage(glGetMaterial,$(MANDIR))
|
||||
InstallManPageAliases(glGetMaterial,$(MANDIR),glGetMaterialfv glGetMaterialiv)
|
||||
InstallManPage(glGetMinmax,$(MANDIR))
|
||||
InstallManPage(glGetMinmaxParameter,$(MANDIR))
|
||||
InstallManPage(glGetPixelMap,$(MANDIR))
|
||||
InstallManPageAliases(glGetPixelMap,$(MANDIR),glGetPixelMapfv glGetPixelMapuiv glGetPixelMapusv)
|
||||
InstallManPage(glGetPointerv,$(MANDIR))
|
||||
InstallManPage(glGetPolygonStipple,$(MANDIR))
|
||||
InstallManPage(glGetSeparableFilter,$(MANDIR))
|
||||
InstallManPage(glGetString,$(MANDIR))
|
||||
InstallManPage(glGetTexEnv,$(MANDIR))
|
||||
InstallManPageAliases(glGetTexEnv,$(MANDIR),glGetTexEnvfv glGetTexEnviv)
|
||||
InstallManPage(glGetTexGen,$(MANDIR))
|
||||
InstallManPageAliases(glGetTexGen,$(MANDIR),glGetTexGendv glGetTexGenfv glGetTexGeniv)
|
||||
InstallManPage(glGetTexImage,$(MANDIR))
|
||||
InstallManPage(glGetTexLevelParameter,$(MANDIR))
|
||||
InstallManPageAliases(glGetTexLevelParameter,$(MANDIR),glGetTexLevelParameterfv glGetTexLevelParameteriv)
|
||||
InstallManPage(glGetTexParameter,$(MANDIR))
|
||||
InstallManPageAliases(glGetTexParameter,$(MANDIR),glGetTexParameterfv glGetTexParameteriv)
|
||||
InstallManPage(glHint,$(MANDIR))
|
||||
InstallManPage(glHistogram,$(MANDIR))
|
||||
InstallManPage(glIndex,$(MANDIR))
|
||||
InstallManPageAliases(glIndex,$(MANDIR),glIndexd glIndexf glIndexi glIndexs glIndexub glIndexdv glIndexfv glIndexiv glIndexsv glIndexubv)
|
||||
InstallManPage(glIndexMask,$(MANDIR))
|
||||
InstallManPage(glIndexPointer,$(MANDIR))
|
||||
InstallManPage(glInitNames,$(MANDIR))
|
||||
InstallManPage(glInterleavedArrays,$(MANDIR))
|
||||
InstallManPage(glIsEnabled,$(MANDIR))
|
||||
InstallManPage(glIslist,$(MANDIR))
|
||||
InstallManPage(glIsTexture,$(MANDIR))
|
||||
InstallManPage(glLight,$(MANDIR))
|
||||
InstallManPageAliases(glLight,$(MANDIR),glLightf glLighti glLightfv glLightiv)
|
||||
InstallManPage(glLightModel,$(MANDIR))
|
||||
InstallManPageAliases(glLightModel,$(MANDIR),glLightModelf glLightModeli glLightModelfv glLightModeliv)
|
||||
InstallManPage(glLineStipple,$(MANDIR))
|
||||
InstallManPage(glLineWidth,$(MANDIR))
|
||||
InstallManPage(glListBase,$(MANDIR))
|
||||
InstallManPage(glLoadIdentity,$(MANDIR))
|
||||
InstallManPage(glLoadMatrix,$(MANDIR))
|
||||
InstallManPageAliases(glLoadMatrix,$(MANDIR),glLoadMatrixd glLoadMatrixf)
|
||||
InstallManPage(glLoadName,$(MANDIR))
|
||||
InstallManPage(glLogicOp,$(MANDIR))
|
||||
InstallManPage(glMap1,$(MANDIR))
|
||||
InstallManPageAliases(glMap1,$(MANDIR),glMap1d glMap1f)
|
||||
InstallManPage(glMap2,$(MANDIR))
|
||||
InstallManPageAliases(glMap2,$(MANDIR),glMap2d glMap2f)
|
||||
InstallManPage(glMapGrid,$(MANDIR))
|
||||
InstallManPageAliases(glMapGrid,$(MANDIR),glMapGrid1d glMapGrid1f glMapGrid2d glMapGrid2f)
|
||||
InstallManPage(glMaterial,$(MANDIR))
|
||||
InstallManPageAliases(glMaterial,$(MANDIR),glMaterialf glMateriali glMaterialfv glMaterialiv)
|
||||
InstallManPage(glMatrixMode,$(MANDIR))
|
||||
InstallManPage(glMinmax,$(MANDIR))
|
||||
InstallManPage(glMultiTexCoordARB,$(MANDIR))
|
||||
InstallManPageAliases(glMultiTexCoordARB,$(MANDIR),glMultiTexCoord1dARB glMultiTexCoord1dvARB glMultiTexCoord1fARB glMultiTexCoord1fvARB glMultiTexCoord1iARB glMultiTexCoord1ivARB glMultiTexCoord1sARB glMultiTexCoord1svARB glMultiTexCoord2dARB glMultiTexCoord2dvARB glMultiTexCoord2fARB glMultiTexCoord2fvARB glMultiTexCoord2iARB glMultiTexCoord2ivARB glMultiTexCoord2sARB glMultiTexCoord2svARB glMultiTexCoord3dARB glMultiTexCoord3dvARB glMultiTexCoord3fARB glMultiTexCoord3fvARB glMultiTexCoord3iARB glMultiTexCoord3ivARB glMultiTexCoord3sARB glMultiTexCoord3svARB glMultiTexCoord4dARB glMultiTexCoord4dvARB glMultiTexCoord4fARB glMultiTexCoord4fvARB glMultiTexCoord4iARB glMultiTexCoord4ivARB glMultiTexCoord4sARB glMultiTexCoord4svARB)
|
||||
InstallManPage(glMultMatrix,$(MANDIR))
|
||||
InstallManPageAliases(glMultMatrix,$(MANDIR),glMultMatrixd glMultMatrixf)
|
||||
InstallManPage(glNewList,$(MANDIR))
|
||||
InstallManPageAliases(glNewList,$(MANDIR),glEndList)
|
||||
InstallManPage(glNormal,$(MANDIR))
|
||||
InstallManPageAliases(glNormal,$(MANDIR),glNormal3b glNormal3d glNormal3f glNormal3i glNormal3s glNormal3bv glNormal3dv glNormal3fv glNormal3iv glNormal3sv)
|
||||
InstallManPage(glNormalPointer,$(MANDIR))
|
||||
InstallManPage(glOrtho,$(MANDIR))
|
||||
InstallManPage(glPassThrough,$(MANDIR))
|
||||
InstallManPage(glPixelMap,$(MANDIR))
|
||||
InstallManPageAliases(glPixelMap,$(MANDIR),glPixelMapfv glPixelMapuiv glPixelMapusv)
|
||||
InstallManPage(glPixelStore,$(MANDIR))
|
||||
InstallManPageAliases(glPixelStore,$(MANDIR),glPixelStoref glPixelStorei)
|
||||
InstallManPage(glPixelTransfer,$(MANDIR))
|
||||
InstallManPageAliases(glPixelTransfer,$(MANDIR),glPixelTransferf glPixelTransferi)
|
||||
InstallManPage(glPixelZoom,$(MANDIR))
|
||||
InstallManPage(glPointSize,$(MANDIR))
|
||||
InstallManPage(glPolygonMode,$(MANDIR))
|
||||
InstallManPage(glPolygonOffset,$(MANDIR))
|
||||
InstallManPage(glPolygonStipple,$(MANDIR))
|
||||
InstallManPage(glPrioritizeTextures,$(MANDIR))
|
||||
InstallManPage(glPushAttrib,$(MANDIR))
|
||||
InstallManPageAliases(glPushAttrib,$(MANDIR),glPopAttrib)
|
||||
InstallManPage(glPushClientAttrib,$(MANDIR))
|
||||
InstallManPageAliases(glPushClientAttrib,$(MANDIR),glPopClientAttrib)
|
||||
InstallManPage(glPushMatrix,$(MANDIR))
|
||||
InstallManPageAliases(glPushMatrix,$(MANDIR),glPopMatrix)
|
||||
InstallManPage(glPushName,$(MANDIR))
|
||||
InstallManPageAliases(glPushName,$(MANDIR),glPopName)
|
||||
InstallManPage(glRasterPos,$(MANDIR))
|
||||
InstallManPageAliases(glRasterPos,$(MANDIR),glRasterPos2d glRasterPos2f glRasterPos2i glRasterPos2s glRasterPos3d glRasterPos3f glRasterPos3i glRasterPos3s glRasterPos4d glRasterPos4f glRasterPos4i glRasterPos4s glRasterPos2dv glRasterPos2fv glRasterPos2iv glRasterPos2sv glRasterPos3dv glRasterPos3fv glRasterPos3iv glRasterPos3sv glRasterPos4dv glRasterPos4fv glRasterPos4iv glRasterPos4sv)
|
||||
InstallManPage(glReadBuffer,$(MANDIR))
|
||||
InstallManPage(glReadPixels,$(MANDIR))
|
||||
InstallManPage(glRect,$(MANDIR))
|
||||
InstallManPageAliases(glRect,$(MANDIR),glRectd glRectf glRecti glRects glRectdv glRectfv glRectiv glRectsv)
|
||||
InstallManPage(glRenderMode,$(MANDIR))
|
||||
InstallManPage(glResetHistogram,$(MANDIR))
|
||||
InstallManPage(glResetMinmax,$(MANDIR))
|
||||
InstallManPage(glRotate,$(MANDIR))
|
||||
InstallManPageAliases(glRotate,$(MANDIR),glRotated glRotatef)
|
||||
InstallManPage(glScale,$(MANDIR))
|
||||
InstallManPageAliases(glScale,$(MANDIR),glScaled glScalef)
|
||||
InstallManPage(glScissor,$(MANDIR))
|
||||
InstallManPage(glSelectBuffer,$(MANDIR))
|
||||
InstallManPage(glSeparableFilter2D,$(MANDIR))
|
||||
InstallManPage(glShadeModel,$(MANDIR))
|
||||
InstallManPage(glStencilFunc,$(MANDIR))
|
||||
InstallManPage(glStencilMask,$(MANDIR))
|
||||
InstallManPage(glStencilOp,$(MANDIR))
|
||||
InstallManPage(glTexCoord,$(MANDIR))
|
||||
InstallManPageAliases(glTexCoord,$(MANDIR),glTexCoord1d glTexCoord1f glTexCoord1i glTexCoord1s glTexCoord2d glTexCoord2f glTexCoord2i glTexCoord2s glTexCoord3d glTexCoord3f glTexCoord3i glTexCoord3s glTexCoord4d glTexCoord4f glTexCoord4i glTexCoord4s glTexCoord1dv glTexCoord1fv glTexCoord1iv glTexCoord1sv glTexCoord2dv glTexCoord2fv glTexCoord2iv glTexCoord2sv glTexCoord3dv glTexCoord3fv glTexCoord3iv glTexCoord3sv glTexCoord4dv glTexCoord4fv glTexCoord4iv glTexCoord4sv)
|
||||
InstallManPage(glTexCoordPointer,$(MANDIR))
|
||||
InstallManPage(glTexEnv,$(MANDIR))
|
||||
InstallManPageAliases(glTexEnv,$(MANDIR),glTexEnvf glTexEnvi glTexEnvfv glTexEnviv)
|
||||
InstallManPage(glTexGen,$(MANDIR))
|
||||
InstallManPageAliases(glTexGen,$(MANDIR),glTexGend glTexGenf glTexGeni glTexGendv glTexGenfv glTexGeniv)
|
||||
InstallManPage(glTexImage1D,$(MANDIR))
|
||||
InstallManPage(glTexImage2D,$(MANDIR))
|
||||
InstallManPage(glTexImage3D,$(MANDIR))
|
||||
InstallManPage(glTexParameter,$(MANDIR))
|
||||
InstallManPageAliases(glTexParameter,$(MANDIR),glTexParameterf glTexParameteri glTexParameterfv glTexParameteriv)
|
||||
InstallManPage(glTexSubImage1D,$(MANDIR))
|
||||
InstallManPage(glTexSubImage2D,$(MANDIR))
|
||||
InstallManPage(glTexSubImage3D,$(MANDIR))
|
||||
InstallManPage(glTranslate,$(MANDIR))
|
||||
InstallManPageAliases(glTranslate,$(MANDIR),glTranslated glTranslatef)
|
||||
InstallManPage(glVertex,$(MANDIR))
|
||||
InstallManPageAliases(glVertex,$(MANDIR),glVertex2d glVertex2f glVertex2i glVertex2s glVertex3d glVertex3f glVertex3i glVertex3s glVertex4d glVertex4f glVertex4i glVertex4s glVertex2dv glVertex2fv glVertex2iv glVertex2sv glVertex3dv glVertex3fv glVertex3iv glVertex3sv glVertex4dv glVertex4fv glVertex4iv glVertex4sv)
|
||||
InstallManPage(glVertexPointer,$(MANDIR))
|
||||
InstallManPage(glViewport,$(MANDIR))
|
||||
|
||||
#if 0
|
||||
GLMANDIR = $(OGLSAMPLESRCDIR)/main/doc/man/mangl/standard
|
||||
GLSUFFIX = gl
|
||||
#else
|
||||
GLMANDIR = .
|
||||
GLSUFFIX = 3gl
|
||||
#endif
|
||||
|
||||
LinkFile(glAccum.$(MSUFF), $(GLMANDIR)/accum.$(GLSUFFIX))
|
||||
LinkFile(glActiveTextureARB.$(MSUFF), $(GLMANDIR)/activetextureARB.$(GLSUFFIX))
|
||||
LinkFile(glAlphaFunc.$(MSUFF), $(GLMANDIR)/alphafunc.$(GLSUFFIX))
|
||||
LinkFile(glAreTexturesResident.$(MSUFF), $(GLMANDIR)/aretexturesresident.$(GLSUFFIX))
|
||||
LinkFile(glArrayElement.$(MSUFF), $(GLMANDIR)/arrayelement.$(GLSUFFIX))
|
||||
LinkFile(glBegin.$(MSUFF), $(GLMANDIR)/begin.$(GLSUFFIX))
|
||||
LinkFile(glBindTexture.$(MSUFF), $(GLMANDIR)/bindtexture.$(GLSUFFIX))
|
||||
LinkFile(glBitmap.$(MSUFF), $(GLMANDIR)/bitmap.$(GLSUFFIX))
|
||||
LinkFile(glBlendColor.$(MSUFF), $(GLMANDIR)/blendcolor.$(GLSUFFIX))
|
||||
LinkFile(glBlendEquation.$(MSUFF), $(GLMANDIR)/blendequation.$(GLSUFFIX))
|
||||
LinkFile(glBlendFunc.$(MSUFF), $(GLMANDIR)/blendfunc.$(GLSUFFIX))
|
||||
LinkFile(glCallList.$(MSUFF), $(GLMANDIR)/calllist.$(GLSUFFIX))
|
||||
LinkFile(glCallLists.$(MSUFF), $(GLMANDIR)/calllists.$(GLSUFFIX))
|
||||
LinkFile(glClear.$(MSUFF), $(GLMANDIR)/clear.$(GLSUFFIX))
|
||||
LinkFile(glClearAccum.$(MSUFF), $(GLMANDIR)/clearaccum.$(GLSUFFIX))
|
||||
LinkFile(glClearColor.$(MSUFF), $(GLMANDIR)/clearcolor.$(GLSUFFIX))
|
||||
LinkFile(glClearDepth.$(MSUFF), $(GLMANDIR)/cleardepth.$(GLSUFFIX))
|
||||
LinkFile(glClearIndex.$(MSUFF), $(GLMANDIR)/clearindex.$(GLSUFFIX))
|
||||
LinkFile(glClearStencil.$(MSUFF), $(GLMANDIR)/clearstencil.$(GLSUFFIX))
|
||||
LinkFile(glClientActiveTextureARB.$(MSUFF), $(GLMANDIR)/clientactivetextureARB.$(GLSUFFIX))
|
||||
LinkFile(glClipPlane.$(MSUFF), $(GLMANDIR)/clipplane.$(GLSUFFIX))
|
||||
LinkFile(glColor.$(MSUFF), $(GLMANDIR)/color.$(GLSUFFIX))
|
||||
LinkFile(glColorMask.$(MSUFF), $(GLMANDIR)/colormask.$(GLSUFFIX))
|
||||
LinkFile(glColorMaterial.$(MSUFF), $(GLMANDIR)/colormaterial.$(GLSUFFIX))
|
||||
LinkFile(glColorPointer.$(MSUFF), $(GLMANDIR)/colorpointer.$(GLSUFFIX))
|
||||
LinkFile(glColorSubTable.$(MSUFF), $(GLMANDIR)/colorsubtable.$(GLSUFFIX))
|
||||
LinkFile(glColorTable.$(MSUFF), $(GLMANDIR)/colortable.$(GLSUFFIX))
|
||||
LinkFile(glColorTableParameter.$(MSUFF), $(GLMANDIR)/colortableparameter.$(GLSUFFIX))
|
||||
LinkFile(glConvolutionFilter1D.$(MSUFF), $(GLMANDIR)/convolutionfilter1d.$(GLSUFFIX))
|
||||
LinkFile(glConvolutionFilter2D.$(MSUFF), $(GLMANDIR)/convolutionfilter2d.$(GLSUFFIX))
|
||||
LinkFile(glConvolutionParameter.$(MSUFF), $(GLMANDIR)/convolutionparameter.$(GLSUFFIX))
|
||||
LinkFile(glCopyColorSubTable.$(MSUFF), $(GLMANDIR)/copycolorsubtable.$(GLSUFFIX))
|
||||
LinkFile(glCopyColorTable.$(MSUFF), $(GLMANDIR)/copycolortable.$(GLSUFFIX))
|
||||
LinkFile(glCopyConvolutionFilter1D.$(MSUFF), $(GLMANDIR)/copyconvolutionfilter1d.$(GLSUFFIX))
|
||||
LinkFile(glCopyConvolutionFilter2D.$(MSUFF), $(GLMANDIR)/copyconvolutionfilter2d.$(GLSUFFIX))
|
||||
LinkFile(glCopyPixels.$(MSUFF), $(GLMANDIR)/copypixels.$(GLSUFFIX))
|
||||
LinkFile(glCopyTexImage1D.$(MSUFF), $(GLMANDIR)/copyteximage1d.$(GLSUFFIX))
|
||||
LinkFile(glCopyTexImage2D.$(MSUFF), $(GLMANDIR)/copyteximage2d.$(GLSUFFIX))
|
||||
LinkFile(glCopyTexSubImage1D.$(MSUFF), $(GLMANDIR)/copytexsubimage1d.$(GLSUFFIX))
|
||||
LinkFile(glCopyTexSubImage2D.$(MSUFF), $(GLMANDIR)/copytexsubimage2d.$(GLSUFFIX))
|
||||
LinkFile(glCopyTexSubImage3D.$(MSUFF), $(GLMANDIR)/copytexsubimage3d.$(GLSUFFIX))
|
||||
LinkFile(glCullFace.$(MSUFF), $(GLMANDIR)/cullface.$(GLSUFFIX))
|
||||
LinkFile(glDeleteLists.$(MSUFF), $(GLMANDIR)/deletelists.$(GLSUFFIX))
|
||||
LinkFile(glDeleteTextures.$(MSUFF), $(GLMANDIR)/deletetextures.$(GLSUFFIX))
|
||||
LinkFile(glDepthFunc.$(MSUFF), $(GLMANDIR)/depthfunc.$(GLSUFFIX))
|
||||
LinkFile(glDepthMask.$(MSUFF), $(GLMANDIR)/depthmask.$(GLSUFFIX))
|
||||
LinkFile(glDepthRange.$(MSUFF), $(GLMANDIR)/depthrange.$(GLSUFFIX))
|
||||
LinkFile(glDrawArrays.$(MSUFF), $(GLMANDIR)/drawarrays.$(GLSUFFIX))
|
||||
LinkFile(glDrawBuffer.$(MSUFF), $(GLMANDIR)/drawbuffer.$(GLSUFFIX))
|
||||
LinkFile(glDrawElements.$(MSUFF), $(GLMANDIR)/drawelements.$(GLSUFFIX))
|
||||
LinkFile(glDrawPixels.$(MSUFF), $(GLMANDIR)/drawpixels.$(GLSUFFIX))
|
||||
LinkFile(glDrawRangeElements.$(MSUFF), $(GLMANDIR)/drawrangeelements.$(GLSUFFIX))
|
||||
LinkFile(glEdgeFlag.$(MSUFF), $(GLMANDIR)/edgeflag.$(GLSUFFIX))
|
||||
LinkFile(glEdgeFlagPointer.$(MSUFF), $(GLMANDIR)/edgeflagpointer.$(GLSUFFIX))
|
||||
LinkFile(glEnable.$(MSUFF), $(GLMANDIR)/enable.$(GLSUFFIX))
|
||||
LinkFile(glEnableClientState.$(MSUFF), $(GLMANDIR)/enableclientstate.$(GLSUFFIX))
|
||||
LinkFile(glEvalCoord.$(MSUFF), $(GLMANDIR)/evalcoord.$(GLSUFFIX))
|
||||
LinkFile(glEvalMesh.$(MSUFF), $(GLMANDIR)/evalmesh.$(GLSUFFIX))
|
||||
LinkFile(glEvalPoint.$(MSUFF), $(GLMANDIR)/evalpoint.$(GLSUFFIX))
|
||||
LinkFile(glFeedbackBuffer.$(MSUFF), $(GLMANDIR)/feedbackbuffer.$(GLSUFFIX))
|
||||
LinkFile(glFinish.$(MSUFF), $(GLMANDIR)/finish.$(GLSUFFIX))
|
||||
LinkFile(glFlush.$(MSUFF), $(GLMANDIR)/flush.$(GLSUFFIX))
|
||||
LinkFile(glFog.$(MSUFF), $(GLMANDIR)/fog.$(GLSUFFIX))
|
||||
LinkFile(glFrontFace.$(MSUFF), $(GLMANDIR)/frontface.$(GLSUFFIX))
|
||||
LinkFile(glFrustum.$(MSUFF), $(GLMANDIR)/frustum.$(GLSUFFIX))
|
||||
LinkFile(glGenLists.$(MSUFF), $(GLMANDIR)/genlists.$(GLSUFFIX))
|
||||
LinkFile(glGenTextures.$(MSUFF), $(GLMANDIR)/gentextures.$(GLSUFFIX))
|
||||
LinkFile(glGet.$(MSUFF), $(GLMANDIR)/get.$(GLSUFFIX))
|
||||
LinkFile(glGetClipPlane.$(MSUFF), $(GLMANDIR)/getclipplane.$(GLSUFFIX))
|
||||
LinkFile(glGetColorTable.$(MSUFF), $(GLMANDIR)/getcolortable.$(GLSUFFIX))
|
||||
LinkFile(glGetColorTableParameter.$(MSUFF), $(GLMANDIR)/getcolortableparameter.$(GLSUFFIX))
|
||||
LinkFile(glGetConvolutionFilter.$(MSUFF), $(GLMANDIR)/getconvolutionfilter.$(GLSUFFIX))
|
||||
LinkFile(glGetConvolutionParameter.$(MSUFF), $(GLMANDIR)/getconvolutionparameter.$(GLSUFFIX))
|
||||
LinkFile(glGetError.$(MSUFF), $(GLMANDIR)/geterror.$(GLSUFFIX))
|
||||
LinkFile(glGetHistogram.$(MSUFF), $(GLMANDIR)/gethistogram.$(GLSUFFIX))
|
||||
LinkFile(glGetHistogramParameter.$(MSUFF), $(GLMANDIR)/gethistogramparameter.$(GLSUFFIX))
|
||||
LinkFile(glGetLight.$(MSUFF), $(GLMANDIR)/getlight.$(GLSUFFIX))
|
||||
LinkFile(glGetMap.$(MSUFF), $(GLMANDIR)/getmap.$(GLSUFFIX))
|
||||
LinkFile(glGetMaterial.$(MSUFF), $(GLMANDIR)/getmaterial.$(GLSUFFIX))
|
||||
LinkFile(glGetMinmax.$(MSUFF), $(GLMANDIR)/getminmax.$(GLSUFFIX))
|
||||
LinkFile(glGetMinmaxParameter.$(MSUFF), $(GLMANDIR)/getminmaxparameter.$(GLSUFFIX))
|
||||
LinkFile(glGetPixelMap.$(MSUFF), $(GLMANDIR)/getpixelmap.$(GLSUFFIX))
|
||||
LinkFile(glGetPointerv.$(MSUFF), $(GLMANDIR)/getpointerv.$(GLSUFFIX))
|
||||
LinkFile(glGetPolygonStipple.$(MSUFF), $(GLMANDIR)/getpolygonstipple.$(GLSUFFIX))
|
||||
LinkFile(glGetSeparableFilter.$(MSUFF), $(GLMANDIR)/getseparablefilter.$(GLSUFFIX))
|
||||
LinkFile(glGetString.$(MSUFF), $(GLMANDIR)/getstring.$(GLSUFFIX))
|
||||
LinkFile(glGetTexEnv.$(MSUFF), $(GLMANDIR)/gettexenv.$(GLSUFFIX))
|
||||
LinkFile(glGetTexGen.$(MSUFF), $(GLMANDIR)/gettexgen.$(GLSUFFIX))
|
||||
LinkFile(glGetTexImage.$(MSUFF), $(GLMANDIR)/getteximage.$(GLSUFFIX))
|
||||
LinkFile(glGetTexLevelParameter.$(MSUFF), $(GLMANDIR)/gettexlevelparameter.$(GLSUFFIX))
|
||||
LinkFile(glGetTexParameter.$(MSUFF), $(GLMANDIR)/gettexparameter.$(GLSUFFIX))
|
||||
LinkFile(glHint.$(MSUFF), $(GLMANDIR)/hint.$(GLSUFFIX))
|
||||
LinkFile(glHistogram.$(MSUFF), $(GLMANDIR)/histogram.$(GLSUFFIX))
|
||||
LinkFile(glIndex.$(MSUFF), $(GLMANDIR)/index.$(GLSUFFIX))
|
||||
LinkFile(glIndexMask.$(MSUFF), $(GLMANDIR)/indexmask.$(GLSUFFIX))
|
||||
LinkFile(glIndexPointer.$(MSUFF), $(GLMANDIR)/indexpointer.$(GLSUFFIX))
|
||||
LinkFile(glInitNames.$(MSUFF), $(GLMANDIR)/initnames.$(GLSUFFIX))
|
||||
LinkFile(glInterleavedArrays.$(MSUFF), $(GLMANDIR)/interleavedarrays.$(GLSUFFIX))
|
||||
LinkFile(glIsEnabled.$(MSUFF), $(GLMANDIR)/isenabled.$(GLSUFFIX))
|
||||
LinkFile(glIslist.$(MSUFF), $(GLMANDIR)/islist.$(GLSUFFIX))
|
||||
LinkFile(glIsTexture.$(MSUFF), $(GLMANDIR)/istexture.$(GLSUFFIX))
|
||||
LinkFile(glLight.$(MSUFF), $(GLMANDIR)/light.$(GLSUFFIX))
|
||||
LinkFile(glLightModel.$(MSUFF), $(GLMANDIR)/lightmodel.$(GLSUFFIX))
|
||||
LinkFile(glLineStipple.$(MSUFF), $(GLMANDIR)/linestipple.$(GLSUFFIX))
|
||||
LinkFile(glLineWidth.$(MSUFF), $(GLMANDIR)/linewidth.$(GLSUFFIX))
|
||||
LinkFile(glListBase.$(MSUFF), $(GLMANDIR)/listbase.$(GLSUFFIX))
|
||||
LinkFile(glLoadIdentity.$(MSUFF), $(GLMANDIR)/loadidentity.$(GLSUFFIX))
|
||||
LinkFile(glLoadMatrix.$(MSUFF), $(GLMANDIR)/loadmatrix.$(GLSUFFIX))
|
||||
LinkFile(glLoadName.$(MSUFF), $(GLMANDIR)/loadname.$(GLSUFFIX))
|
||||
LinkFile(glLogicOp.$(MSUFF), $(GLMANDIR)/logicop.$(GLSUFFIX))
|
||||
LinkFile(glMap1.$(MSUFF), $(GLMANDIR)/map1.$(GLSUFFIX))
|
||||
LinkFile(glMap2.$(MSUFF), $(GLMANDIR)/map2.$(GLSUFFIX))
|
||||
LinkFile(glMapGrid.$(MSUFF), $(GLMANDIR)/mapgrid.$(GLSUFFIX))
|
||||
LinkFile(glMaterial.$(MSUFF), $(GLMANDIR)/material.$(GLSUFFIX))
|
||||
LinkFile(glMatrixMode.$(MSUFF), $(GLMANDIR)/matrixmode.$(GLSUFFIX))
|
||||
LinkFile(glMinmax.$(MSUFF), $(GLMANDIR)/minmax.$(GLSUFFIX))
|
||||
LinkFile(glMultiTexCoordARB.$(MSUFF), $(GLMANDIR)/multitexcoordARB.$(GLSUFFIX))
|
||||
LinkFile(glMultMatrix.$(MSUFF), $(GLMANDIR)/multmatrix.$(GLSUFFIX))
|
||||
LinkFile(glNewList.$(MSUFF), $(GLMANDIR)/newlist.$(GLSUFFIX))
|
||||
LinkFile(glNormal.$(MSUFF), $(GLMANDIR)/normal.$(GLSUFFIX))
|
||||
LinkFile(glNormalPointer.$(MSUFF), $(GLMANDIR)/normalpointer.$(GLSUFFIX))
|
||||
LinkFile(glOrtho.$(MSUFF), $(GLMANDIR)/ortho.$(GLSUFFIX))
|
||||
LinkFile(glPassThrough.$(MSUFF), $(GLMANDIR)/passthrough.$(GLSUFFIX))
|
||||
LinkFile(glPixelMap.$(MSUFF), $(GLMANDIR)/pixelmap.$(GLSUFFIX))
|
||||
LinkFile(glPixelStore.$(MSUFF), $(GLMANDIR)/pixelstore.$(GLSUFFIX))
|
||||
LinkFile(glPixelTransfer.$(MSUFF), $(GLMANDIR)/pixeltransfer.$(GLSUFFIX))
|
||||
LinkFile(glPixelZoom.$(MSUFF), $(GLMANDIR)/pixelzoom.$(GLSUFFIX))
|
||||
LinkFile(glPointSize.$(MSUFF), $(GLMANDIR)/pointsize.$(GLSUFFIX))
|
||||
LinkFile(glPolygonMode.$(MSUFF), $(GLMANDIR)/polygonmode.$(GLSUFFIX))
|
||||
LinkFile(glPolygonOffset.$(MSUFF), $(GLMANDIR)/polygonoffset.$(GLSUFFIX))
|
||||
LinkFile(glPolygonStipple.$(MSUFF), $(GLMANDIR)/polygonstipple.$(GLSUFFIX))
|
||||
LinkFile(glPrioritizeTextures.$(MSUFF), $(GLMANDIR)/prioritizetextures.$(GLSUFFIX))
|
||||
LinkFile(glPushAttrib.$(MSUFF), $(GLMANDIR)/pushattrib.$(GLSUFFIX))
|
||||
LinkFile(glPushClientAttrib.$(MSUFF), $(GLMANDIR)/pushclientattrib.$(GLSUFFIX))
|
||||
LinkFile(glPushMatrix.$(MSUFF), $(GLMANDIR)/pushmatrix.$(GLSUFFIX))
|
||||
LinkFile(glPushName.$(MSUFF), $(GLMANDIR)/pushname.$(GLSUFFIX))
|
||||
LinkFile(glRasterPos.$(MSUFF), $(GLMANDIR)/rasterpos.$(GLSUFFIX))
|
||||
LinkFile(glReadBuffer.$(MSUFF), $(GLMANDIR)/readbuffer.$(GLSUFFIX))
|
||||
LinkFile(glReadPixels.$(MSUFF), $(GLMANDIR)/readpixels.$(GLSUFFIX))
|
||||
LinkFile(glRect.$(MSUFF), $(GLMANDIR)/rect.$(GLSUFFIX))
|
||||
LinkFile(glRenderMode.$(MSUFF), $(GLMANDIR)/rendermode.$(GLSUFFIX))
|
||||
LinkFile(glResetHistogram.$(MSUFF), $(GLMANDIR)/resethistogram.$(GLSUFFIX))
|
||||
LinkFile(glResetMinmax.$(MSUFF), $(GLMANDIR)/resetminmax.$(GLSUFFIX))
|
||||
LinkFile(glRotate.$(MSUFF), $(GLMANDIR)/rotate.$(GLSUFFIX))
|
||||
LinkFile(glScale.$(MSUFF), $(GLMANDIR)/scale.$(GLSUFFIX))
|
||||
LinkFile(glScissor.$(MSUFF), $(GLMANDIR)/scissor.$(GLSUFFIX))
|
||||
LinkFile(glSelectBuffer.$(MSUFF), $(GLMANDIR)/selectbuffer.$(GLSUFFIX))
|
||||
LinkFile(glSeparableFilter2D.$(MSUFF), $(GLMANDIR)/separablefilter2d.$(GLSUFFIX))
|
||||
LinkFile(glShadeModel.$(MSUFF), $(GLMANDIR)/shademodel.$(GLSUFFIX))
|
||||
LinkFile(glStencilFunc.$(MSUFF), $(GLMANDIR)/stencilfunc.$(GLSUFFIX))
|
||||
LinkFile(glStencilMask.$(MSUFF), $(GLMANDIR)/stencilmask.$(GLSUFFIX))
|
||||
LinkFile(glStencilOp.$(MSUFF), $(GLMANDIR)/stencilop.$(GLSUFFIX))
|
||||
LinkFile(glTexCoord.$(MSUFF), $(GLMANDIR)/texcoord.$(GLSUFFIX))
|
||||
LinkFile(glTexCoordPointer.$(MSUFF), $(GLMANDIR)/texcoordpointer.$(GLSUFFIX))
|
||||
LinkFile(glTexEnv.$(MSUFF), $(GLMANDIR)/texenv.$(GLSUFFIX))
|
||||
LinkFile(glTexGen.$(MSUFF), $(GLMANDIR)/texgen.$(GLSUFFIX))
|
||||
LinkFile(glTexImage1D.$(MSUFF), $(GLMANDIR)/teximage1d.$(GLSUFFIX))
|
||||
LinkFile(glTexImage2D.$(MSUFF), $(GLMANDIR)/teximage2d.$(GLSUFFIX))
|
||||
LinkFile(glTexImage3D.$(MSUFF), $(GLMANDIR)/teximage3d.$(GLSUFFIX))
|
||||
LinkFile(glTexParameter.$(MSUFF), $(GLMANDIR)/texparameter.$(GLSUFFIX))
|
||||
LinkFile(glTexSubImage1D.$(MSUFF), $(GLMANDIR)/texsubimage1d.$(GLSUFFIX))
|
||||
LinkFile(glTexSubImage2D.$(MSUFF), $(GLMANDIR)/texsubimage2d.$(GLSUFFIX))
|
||||
LinkFile(glTexSubImage3D.$(MSUFF), $(GLMANDIR)/texsubimage3d.$(GLSUFFIX))
|
||||
LinkFile(glTranslate.$(MSUFF), $(GLMANDIR)/translate.$(GLSUFFIX))
|
||||
LinkFile(glVertex.$(MSUFF), $(GLMANDIR)/vertex.$(GLSUFFIX))
|
||||
LinkFile(glVertexPointer.$(MSUFF), $(GLMANDIR)/vertexpointer.$(GLSUFFIX))
|
||||
LinkFile(glViewport.$(MSUFF), $(GLMANDIR)/viewport.$(GLSUFFIX))
|
||||
|
|
@ -1,450 +0,0 @@
|
|||
# $OpenBSD: Makefile,v 1.1 2012/08/07 21:10:35 matthieu Exp $
|
||||
|
||||
X11BASE?= /usr/X11R6
|
||||
MANDIR?= ${X11BASE}/man/man
|
||||
|
||||
MAN += glAccum.3 accum.3gl
|
||||
MAN += glActiveTextureARB.3 activetextureARB.3gl
|
||||
MAN += glAlphaFunc.3 alphafunc.3gl
|
||||
MAN += glAreTexturesResident.3 aretexturesresident.3gl
|
||||
MAN += glArrayElement.3 arrayelement.3gl
|
||||
MAN += glBegin.3 begin.3gl
|
||||
MAN += glBindTexture.3 bindtexture.3gl
|
||||
MAN += glBitmap.3 bitmap.3gl
|
||||
MAN += glBlendColor.3 blendcolor.3gl
|
||||
MAN += glBlendEquation.3 blendequation.3gl
|
||||
MAN += glBlendFunc.3 blendfunc.3gl
|
||||
MAN += glCallList.3 calllist.3gl
|
||||
MAN += glCallLists.3 calllists.3gl
|
||||
MAN += glClear.3 clear.3gl
|
||||
MAN += glClearAccum.3 clearaccum.3gl
|
||||
MAN += glClearColor.3 clearcolor.3gl
|
||||
MAN += glClearDepth.3 cleardepth.3gl
|
||||
MAN += glClearIndex.3 clearindex.3gl
|
||||
MAN += glClearStencil.3 clearstencil.3gl
|
||||
MAN += glClientActiveTextureARB.3 clientactivetextureARB.3gl
|
||||
MAN += glClipPlane.3 clipplane.3gl
|
||||
MAN += glColor.3 color.3gl
|
||||
MAN += glColorMask.3 colormask.3gl
|
||||
MAN += glColorMaterial.3 colormaterial.3gl
|
||||
MAN += glColorPointer.3 colorpointer.3gl
|
||||
MAN += glColorSubTable.3 colorsubtable.3gl
|
||||
MAN += glColorTable.3 colortable.3gl
|
||||
MAN += glColorTableParameter.3 colortableparameter.3gl
|
||||
MAN += glConvolutionFilter1D.3 convolutionfilter1d.3gl
|
||||
MAN += glConvolutionFilter2D.3 convolutionfilter2d.3gl
|
||||
MAN += glConvolutionParameter.3 convolutionparameter.3gl
|
||||
MAN += glCopyColorSubTable.3 copycolorsubtable.3gl
|
||||
MAN += glCopyColorTable.3 copycolortable.3gl
|
||||
MAN += glCopyConvolutionFilter1D.3 copyconvolutionfilter1d.3gl
|
||||
MAN += glCopyConvolutionFilter2D.3 copyconvolutionfilter2d.3gl
|
||||
MAN += glCopyPixels.3 copypixels.3gl
|
||||
MAN += glCopyTexImage1D.3 copyteximage1d.3gl
|
||||
MAN += glCopyTexImage2D.3 copyteximage2d.3gl
|
||||
MAN += glCopyTexSubImage1D.3 copytexsubimage1d.3gl
|
||||
MAN += glCopyTexSubImage2D.3 copytexsubimage2d.3gl
|
||||
MAN += glCopyTexSubImage3D.3 copytexsubimage3d.3gl
|
||||
MAN += glCullFace.3 cullface.3gl
|
||||
MAN += glDeleteLists.3 deletelists.3gl
|
||||
MAN += glDeleteTextures.3 deletetextures.3gl
|
||||
MAN += glDepthFunc.3 depthfunc.3gl
|
||||
MAN += glDepthMask.3 depthmask.3gl
|
||||
MAN += glDepthRange.3 depthrange.3gl
|
||||
MAN += glDrawArrays.3 drawarrays.3gl
|
||||
MAN += glDrawBuffer.3 drawbuffer.3gl
|
||||
MAN += glDrawElements.3 drawelements.3gl
|
||||
MAN += glDrawPixels.3 drawpixels.3gl
|
||||
MAN += glDrawRangeElements.3 drawrangeelements.3gl
|
||||
MAN += glEdgeFlag.3 edgeflag.3gl
|
||||
MAN += glEdgeFlagPointer.3 edgeflagpointer.3gl
|
||||
MAN += glEnable.3 enable.3gl
|
||||
MAN += glEnableClientState.3 enableclientstate.3gl
|
||||
MAN += glEvalCoord.3 evalcoord.3gl
|
||||
MAN += glEvalMesh.3 evalmesh.3gl
|
||||
MAN += glEvalPoint.3 evalpoint.3gl
|
||||
MAN += glFeedbackBuffer.3 feedbackbuffer.3gl
|
||||
MAN += glFinish.3 finish.3gl
|
||||
MAN += glFlush.3 flush.3gl
|
||||
MAN += glFog.3 fog.3gl
|
||||
MAN += glFrontFace.3 frontface.3gl
|
||||
MAN += glFrustum.3 frustum.3gl
|
||||
MAN += glGenLists.3 genlists.3gl
|
||||
MAN += glGenTextures.3 gentextures.3gl
|
||||
MAN += glGet.3 get.3gl
|
||||
MAN += glGetClipPlane.3 getclipplane.3gl
|
||||
MAN += glGetColorTable.3 getcolortable.3gl
|
||||
MAN += glGetColorTableParameter.3 getcolortableparameter.3gl
|
||||
MAN += glGetConvolutionFilter.3 getconvolutionfilter.3gl
|
||||
MAN += glGetConvolutionParameter.3 getconvolutionparameter.3gl
|
||||
MAN += glGetError.3 geterror.3gl
|
||||
MAN += glGetHistogram.3 gethistogram.3gl
|
||||
MAN += glGetHistogramParameter.3 gethistogramparameter.3gl
|
||||
MAN += glGetLight.3 getlight.3gl
|
||||
MAN += glGetMap.3 getmap.3gl
|
||||
MAN += glGetMaterial.3 getmaterial.3gl
|
||||
MAN += glGetMinmax.3 getminmax.3gl
|
||||
MAN += glGetMinmaxParameter.3 getminmaxparameter.3gl
|
||||
MAN += glGetPixelMap.3 getpixelmap.3gl
|
||||
MAN += glGetPointerv.3 getpointerv.3gl
|
||||
MAN += glGetPolygonStipple.3 getpolygonstipple.3gl
|
||||
MAN += glGetSeparableFilter.3 getseparablefilter.3gl
|
||||
MAN += glGetString.3 getstring.3gl
|
||||
MAN += glGetTexEnv.3 gettexenv.3gl
|
||||
MAN += glGetTexGen.3 gettexgen.3gl
|
||||
MAN += glGetTexImage.3 getteximage.3gl
|
||||
MAN += glGetTexLevelParameter.3 gettexlevelparameter.3gl
|
||||
MAN += glGetTexParameter.3 gettexparameter.3gl
|
||||
MAN += glHint.3 hint.3gl
|
||||
MAN += glHistogram.3 histogram.3gl
|
||||
MAN += glIndex.3 index.3gl
|
||||
MAN += glIndexMask.3 indexmask.3gl
|
||||
MAN += glIndexPointer.3 indexpointer.3gl
|
||||
MAN += glInitNames.3 initnames.3gl
|
||||
MAN += glInterleavedArrays.3 interleavedarrays.3gl
|
||||
MAN += glIsEnabled.3 isenabled.3gl
|
||||
MAN += glIslist.3 islist.3gl
|
||||
MAN += glIsTexture.3 istexture.3gl
|
||||
MAN += glLight.3 light.3gl
|
||||
MAN += glLightModel.3 lightmodel.3gl
|
||||
MAN += glLineStipple.3 linestipple.3gl
|
||||
MAN += glLineWidth.3 linewidth.3gl
|
||||
MAN += glListBase.3 listbase.3gl
|
||||
MAN += glLoadIdentity.3 loadidentity.3gl
|
||||
MAN += glLoadMatrix.3 loadmatrix.3gl
|
||||
MAN += glLoadName.3 loadname.3gl
|
||||
MAN += glLogicOp.3 logicop.3gl
|
||||
MAN += glMap1.3 map1.3gl
|
||||
MAN += glMap2.3 map2.3gl
|
||||
MAN += glMapGrid.3 mapgrid.3gl
|
||||
MAN += glMaterial.3 material.3gl
|
||||
MAN += glMatrixMode.3 matrixmode.3gl
|
||||
MAN += glMinmax.3 minmax.3gl
|
||||
MAN += glMultiTexCoordARB.3 multitexcoordARB.3gl
|
||||
MAN += glMultMatrix.3 multmatrix.3gl
|
||||
MAN += glNewList.3 newlist.3gl
|
||||
MAN += glNormal.3 normal.3gl
|
||||
MAN += glNormalPointer.3 normalpointer.3gl
|
||||
MAN += glOrtho.3 ortho.3gl
|
||||
MAN += glPassThrough.3 passthrough.3gl
|
||||
MAN += glPixelMap.3 pixelmap.3gl
|
||||
MAN += glPixelStore.3 pixelstore.3gl
|
||||
MAN += glPixelTransfer.3 pixeltransfer.3gl
|
||||
MAN += glPixelZoom.3 pixelzoom.3gl
|
||||
MAN += glPointSize.3 pointsize.3gl
|
||||
MAN += glPolygonMode.3 polygonmode.3gl
|
||||
MAN += glPolygonOffset.3 polygonoffset.3gl
|
||||
MAN += glPolygonStipple.3 polygonstipple.3gl
|
||||
MAN += glPrioritizeTextures.3 prioritizetextures.3gl
|
||||
MAN += glPushAttrib.3 pushattrib.3gl
|
||||
MAN += glPushClientAttrib.3 pushclientattrib.3gl
|
||||
MAN += glPushMatrix.3 pushmatrix.3gl
|
||||
MAN += glPushName.3 pushname.3gl
|
||||
MAN += glRasterPos.3 rasterpos.3gl
|
||||
MAN += glReadBuffer.3 readbuffer.3gl
|
||||
MAN += glReadPixels.3 readpixels.3gl
|
||||
MAN += glRect.3 rect.3gl
|
||||
MAN += glRenderMode.3 rendermode.3gl
|
||||
MAN += glResetHistogram.3 resethistogram.3gl
|
||||
MAN += glResetMinmax.3 resetminmax.3gl
|
||||
MAN += glRotate.3 rotate.3gl
|
||||
MAN += glScale.3 scale.3gl
|
||||
MAN += glScissor.3 scissor.3gl
|
||||
MAN += glSelectBuffer.3 selectbuffer.3gl
|
||||
MAN += glSeparableFilter2D.3 separablefilter2d.3gl
|
||||
MAN += glShadeModel.3 shademodel.3gl
|
||||
MAN += glStencilFunc.3 stencilfunc.3gl
|
||||
MAN += glStencilMask.3 stencilmask.3gl
|
||||
MAN += glStencilOp.3 stencilop.3gl
|
||||
MAN += glTexCoord.3 texcoord.3gl
|
||||
MAN += glTexCoordPointer.3 texcoordpointer.3gl
|
||||
MAN += glTexEnv.3 texenv.3gl
|
||||
MAN += glTexGen.3 texgen.3gl
|
||||
MAN += glTexImage1D.3 teximage1d.3gl
|
||||
MAN += glTexImage2D.3 teximage2d.3gl
|
||||
MAN += glTexImage3D.3 teximage3d.3gl
|
||||
MAN += glTexParameter.3 texparameter.3gl
|
||||
MAN += glTexSubImage1D.3 texsubimage1d.3gl
|
||||
MAN += glTexSubImage2D.3 texsubimage2d.3gl
|
||||
MAN += glTexSubImage3D.3 texsubimage3d.3gl
|
||||
MAN += glTranslate.3 translate.3gl
|
||||
MAN += glVertex.3 vertex.3gl
|
||||
MAN += glVertexPointer.3 vertexpointer.3gl
|
||||
MAN += glViewport.3 viewport.3gl
|
||||
|
||||
LINKS += glBegin.3 glEnd.3
|
||||
LINKS += glColor.3 glColor3b.3
|
||||
LINKS += glColor.3 glColor3d.3
|
||||
LINKS += glColor.3 glColor3f.3
|
||||
LINKS += glColor.3 glColor3i.3
|
||||
LINKS += glColor.3 glColor3s.3
|
||||
LINKS += glColor.3 glColor3ub.3
|
||||
LINKS += glColor.3 glColor3ui.3
|
||||
LINKS += glColor.3 glColor3us.3
|
||||
LINKS += glColor.3 glColor4b.3
|
||||
LINKS += glColor.3 glColor4d.3
|
||||
LINKS += glColor.3 glColor4f.3
|
||||
LINKS += glColor.3 glColor4i.3
|
||||
LINKS += glColor.3 glColor4s.3
|
||||
LINKS += glColor.3 glColor4ub.3
|
||||
LINKS += glColor.3 glColor4ui.3
|
||||
LINKS += glColor.3 glColor4us.3
|
||||
LINKS += glColor.3 glColor3bv.3
|
||||
LINKS += glColor.3 glColor3dv.3
|
||||
LINKS += glColor.3 glColor3fv.3
|
||||
LINKS += glColor.3 glColor3iv.3
|
||||
LINKS += glColor.3 glColor3sv.3
|
||||
LINKS += glColor.3 glColor3ubv.3
|
||||
LINKS += glColor.3 glColor3uiv.3
|
||||
LINKS += glColor.3 glColor3usv.3
|
||||
LINKS += glColor.3 glColor4bv.3
|
||||
LINKS += glColor.3 glColor4dv.3
|
||||
LINKS += glColor.3 glColor4fv.3
|
||||
LINKS += glColor.3 glColor4iv.3
|
||||
LINKS += glColor.3 glColor4sv.3
|
||||
LINKS += glColor.3 glColor4ubv.3
|
||||
LINKS += glColor.3 glColor4uiv.3
|
||||
LINKS += glColor.3 glColor4usv.3
|
||||
LINKS += glColorTableParameter.3 glColorTableParameterfv.3
|
||||
LINKS += glColorTableParameter.3 glColorTableParameteriv.3
|
||||
LINKS += glEdgeFlag.3 glEdgeFlagv.3
|
||||
LINKS += glEnable.3 glDisable.3
|
||||
LINKS += glEnableClientState.3 glDisableClientState.3
|
||||
LINKS += glEvalCoord.3 glEvalCoord1d.3
|
||||
LINKS += glEvalCoord.3 glEvalCoord2d.3
|
||||
LINKS += glEvalCoord.3 glEvalCoord2f.3
|
||||
LINKS += glEvalCoord.3 glEvalCoord1dv.3
|
||||
LINKS += glEvalCoord.3 glEvalCoord1fv.3
|
||||
LINKS += glEvalCoord.3 glEvalCoord2dv.3
|
||||
LINKS += glEvalCoord.3 glEvalCoord2fv.3
|
||||
LINKS += glEvalMesh.3 glEvalMesh1.3
|
||||
LINKS += glEvalMesh.3 glEvalMesh2.3
|
||||
LINKS += glEvalPoint.3 glEvalPoint1.3
|
||||
LINKS += glEvalPoint.3 glEvalPoint2.3
|
||||
LINKS += glFog.3 glFogf.3
|
||||
LINKS += glFog.3 glFogi.3
|
||||
LINKS += glFog.3 glFogfv.3
|
||||
LINKS += glFog.3 glFogiv.3
|
||||
LINKS += glGet.3 glGetBooleanv.3
|
||||
LINKS += glGet.3 glGetDoublev.3
|
||||
LINKS += glGet.3 glGetFloatv.3
|
||||
LINKS += glGet.3 glGetIntegerv.3
|
||||
LINKS += glGetColorTableParameter.3 glGetColorTableParameterfv.3
|
||||
LINKS += glGetColorTableParameter.3 glGetColorTableParameteriv.3
|
||||
LINKS += glGetLight.3 glGetLightfv.3
|
||||
LINKS += glGetLight.3 glGetLightiv.3
|
||||
LINKS += glGetMap.3 glGetMapdv.3
|
||||
LINKS += glGetMap.3 glGetMapfv.3
|
||||
LINKS += glGetMap.3 glGetMapiv.3
|
||||
LINKS += glGetMaterial.3 glGetMaterialfv.3
|
||||
LINKS += glGetMaterial.3 glGetMaterialiv.3
|
||||
LINKS += glGetPixelMap.3 glGetPixelMapfv.3
|
||||
LINKS += glGetPixelMap.3 glGetPixelMapuiv.3
|
||||
LINKS += glGetPixelMap.3 glGetPixelMapusv.3
|
||||
LINKS += glGetTexEnv.3 glGetTexEnvfv.3
|
||||
LINKS += glGetTexEnv.3 glGetTexEnviv.3
|
||||
LINKS += glGetTexGen.3 glGetTexGendv.3
|
||||
LINKS += glGetTexGen.3 glGetTexGenfv.3
|
||||
LINKS += glGetTexGen.3 glGetTexGeniv.3
|
||||
LINKS += glGetTexLevelParameter.3 glGetTexLevelParameterfv.3
|
||||
LINKS += glGetTexLevelParameter.3 glGetTexLevelParameteriv.3
|
||||
LINKS += glGetTexParameter.3 glGetTexParameterfv.3
|
||||
LINKS += glGetTexParameter.3 glGetTexParameteriv.3
|
||||
LINKS += glIndex.3 glIndexd.3
|
||||
LINKS += glIndex.3 glIndexf.3
|
||||
LINKS += glIndex.3 glIndexi.3
|
||||
LINKS += glIndex.3 glIndexs.3
|
||||
LINKS += glIndex.3 glIndexub.3
|
||||
LINKS += glIndex.3 glIndexdv.3
|
||||
LINKS += glIndex.3 glIndexfv.3
|
||||
LINKS += glIndex.3 glIndexiv.3
|
||||
LINKS += glIndex.3 glIndexsv.3
|
||||
LINKS += glIndex.3 glIndexubv.3
|
||||
LINKS += glLight.3 glLightf.3
|
||||
LINKS += glLight.3 glLighti.3
|
||||
LINKS += glLight.3 glLightfv.3
|
||||
LINKS += glLight.3 glLightiv.3
|
||||
LINKS += glLightModel.3 glLightModelf.3
|
||||
LINKS += glLightModel.3 glLightModeli.3
|
||||
LINKS += glLightModel.3 glLightModelfv.3
|
||||
LINKS += glLightModel.3 glLightModeliv.3
|
||||
LINKS += glLoadMatrix.3 glLoadMatrixd.3
|
||||
LINKS += glLoadMatrix.3 glLoadMatrixf.3
|
||||
LINKS += glMap1.3 glMap1d.3
|
||||
LINKS += glMap1.3 glMap1f.3
|
||||
LINKS += glMap2.3 glMap2d.3
|
||||
LINKS += glMap2.3 glMap2f.3
|
||||
LINKS += glMapGrid.3 glMapGrid1d.3
|
||||
LINKS += glMapGrid.3 glMapGrid1f.3
|
||||
LINKS += glMapGrid.3 glMapGrid2d.3
|
||||
LINKS += glMapGrid.3 glMapGrid2f.3
|
||||
LINKS += glMaterial.3 glMaterialf.3
|
||||
LINKS += glMaterial.3 glMateriali.3
|
||||
LINKS += glMaterial.3 glMaterialfv.3
|
||||
LINKS += glMaterial.3 glMaterialiv.3
|
||||
LINKS += glMultMatrix.3 glMultMatrixd.3
|
||||
LINKS += glMultMatrix.3 glMultMatrixf.3
|
||||
LINKS += glMultiTexCoordARB.3 glMultiTexCoord1dARB.3
|
||||
LINKS += glMultiTexCoordARB.3 glMultiTexCoord1dvARB.3
|
||||
LINKS += glMultiTexCoordARB.3 glMultiTexCoord1fARB.3
|
||||
LINKS += glMultiTexCoordARB.3 glMultiTexCoord1fvARB.3
|
||||
LINKS += glMultiTexCoordARB.3 glMultiTexCoord1iARB.3
|
||||
LINKS += glMultiTexCoordARB.3 glMultiTexCoord1ivARB.3
|
||||
LINKS += glMultiTexCoordARB.3 glMultiTexCoord1sARB.3
|
||||
LINKS += glMultiTexCoordARB.3 glMultiTexCoord1svARB.3
|
||||
LINKS += glMultiTexCoordARB.3 glMultiTexCoord2dARB.3
|
||||
LINKS += glMultiTexCoordARB.3 glMultiTexCoord2dvARB.3
|
||||
LINKS += glMultiTexCoordARB.3 glMultiTexCoord2fARB.3
|
||||
LINKS += glMultiTexCoordARB.3 glMultiTexCoord2fvARB.3
|
||||
LINKS += glMultiTexCoordARB.3 glMultiTexCoord2iARB.3
|
||||
LINKS += glMultiTexCoordARB.3 glMultiTexCoord2ivARB.3
|
||||
LINKS += glMultiTexCoordARB.3 glMultiTexCoord2sARB.3
|
||||
LINKS += glMultiTexCoordARB.3 glMultiTexCoord2svARB.3
|
||||
LINKS += glMultiTexCoordARB.3 glMultiTexCoord3dARB.3
|
||||
LINKS += glMultiTexCoordARB.3 glMultiTexCoord3dvARB.3
|
||||
LINKS += glMultiTexCoordARB.3 glMultiTexCoord3fARB.3
|
||||
LINKS += glMultiTexCoordARB.3 glMultiTexCoord3fvARB.3
|
||||
LINKS += glMultiTexCoordARB.3 glMultiTexCoord3iARB.3
|
||||
LINKS += glMultiTexCoordARB.3 glMultiTexCoord3ivARB.3
|
||||
LINKS += glMultiTexCoordARB.3 glMultiTexCoord3sARB.3
|
||||
LINKS += glMultiTexCoordARB.3 glMultiTexCoord3svARB.3
|
||||
LINKS += glMultiTexCoordARB.3 glMultiTexCoord4dARB.3
|
||||
LINKS += glMultiTexCoordARB.3 glMultiTexCoord4dvARB.3
|
||||
LINKS += glMultiTexCoordARB.3 glMultiTexCoord4fARB.3
|
||||
LINKS += glMultiTexCoordARB.3 glMultiTexCoord4fvARB.3
|
||||
LINKS += glMultiTexCoordARB.3 glMultiTexCoord4iARB.3
|
||||
LINKS += glMultiTexCoordARB.3 glMultiTexCoord4ivARB.3
|
||||
LINKS += glMultiTexCoordARB.3 glMultiTexCoord4sARB.3
|
||||
LINKS += glMultiTexCoordARB.3 glMultiTexCoord4svARB.3
|
||||
LINKS += glNewList.3 glEndList.3
|
||||
LINKS += glNormal.3 glNormal3b.3
|
||||
LINKS += glNormal.3 glNormal3d.3
|
||||
LINKS += glNormal.3 glNormal3f.3
|
||||
LINKS += glNormal.3 glNormal3i.3
|
||||
LINKS += glNormal.3 glNormal3s.3
|
||||
LINKS += glNormal.3 glNormal3bv.3
|
||||
LINKS += glNormal.3 glNormal3dv.3
|
||||
LINKS += glNormal.3 glNormal3fv.3
|
||||
LINKS += glNormal.3 glNormal3iv.3
|
||||
LINKS += glNormal.3 glNormal3sv.3
|
||||
LINKS += glPixelMap.3 glPixelMapfv.3
|
||||
LINKS += glPixelMap.3 glPixelMapuiv.3
|
||||
LINKS += glPixelMap.3 glPixelMapusv.3
|
||||
LINKS += glPixelStore.3 glPixelStoref.3
|
||||
LINKS += glPixelStore.3 glPixelStorei.3
|
||||
LINKS += glPixelTransfer.3 glPixelTransferf.3
|
||||
LINKS += glPixelTransfer.3 glPixelTransferi.3
|
||||
LINKS += glPushAttrib.3 glPopAttrib.3
|
||||
LINKS += glPushClientAttrib.3 glPopClientAttrib.3
|
||||
LINKS += glPushMatrix.3 glPopMatrix.3
|
||||
LINKS += glPushName.3 glPopName.3
|
||||
LINKS += glRasterPos.3 glRasterPos2d.3
|
||||
LINKS += glRasterPos.3 glRasterPos2f.3
|
||||
LINKS += glRasterPos.3 glRasterPos2i.3
|
||||
LINKS += glRasterPos.3 glRasterPos2s.3
|
||||
LINKS += glRasterPos.3 glRasterPos3d.3
|
||||
LINKS += glRasterPos.3 glRasterPos3f.3
|
||||
LINKS += glRasterPos.3 glRasterPos3i.3
|
||||
LINKS += glRasterPos.3 glRasterPos3s.3
|
||||
LINKS += glRasterPos.3 glRasterPos4d.3
|
||||
LINKS += glRasterPos.3 glRasterPos4f.3
|
||||
LINKS += glRasterPos.3 glRasterPos4i.3
|
||||
LINKS += glRasterPos.3 glRasterPos4s.3
|
||||
LINKS += glRasterPos.3 glRasterPos2dv.3
|
||||
LINKS += glRasterPos.3 glRasterPos2fv.3
|
||||
LINKS += glRasterPos.3 glRasterPos2iv.3
|
||||
LINKS += glRasterPos.3 glRasterPos2sv.3
|
||||
LINKS += glRasterPos.3 glRasterPos3dv.3
|
||||
LINKS += glRasterPos.3 glRasterPos3fv.3
|
||||
LINKS += glRasterPos.3 glRasterPos3iv.3
|
||||
LINKS += glRasterPos.3 glRasterPos3sv.3
|
||||
LINKS += glRasterPos.3 glRasterPos4dv.3
|
||||
LINKS += glRasterPos.3 glRasterPos4fv.3
|
||||
LINKS += glRasterPos.3 glRasterPos4iv.3
|
||||
LINKS += glRasterPos.3 glRasterPos4sv.3
|
||||
LINKS += glRect.3 glRectd.3
|
||||
LINKS += glRect.3 glRectf.3
|
||||
LINKS += glRect.3 glRecti.3
|
||||
LINKS += glRect.3 glRects.3
|
||||
LINKS += glRect.3 glRectdv.3
|
||||
LINKS += glRect.3 glRectfv.3
|
||||
LINKS += glRect.3 glRectiv.3
|
||||
LINKS += glRect.3 glRectsv.3
|
||||
LINKS += glRotate.3 glRotated.3
|
||||
LINKS += glRotate.3 glRotatef.3
|
||||
LINKS += glScale.3 glScaled.3
|
||||
LINKS += glScale.3 glScalef.3
|
||||
LINKS += glTexCoord.3 glTexCoord1d.3
|
||||
LINKS += glTexCoord.3 glTexCoord1f.3
|
||||
LINKS += glTexCoord.3 glTexCoord1i.3
|
||||
LINKS += glTexCoord.3 glTexCoord1s.3
|
||||
LINKS += glTexCoord.3 glTexCoord2d.3
|
||||
LINKS += glTexCoord.3 glTexCoord2f.3
|
||||
LINKS += glTexCoord.3 glTexCoord2i.3
|
||||
LINKS += glTexCoord.3 glTexCoord2s.3
|
||||
LINKS += glTexCoord.3 glTexCoord3d.3
|
||||
LINKS += glTexCoord.3 glTexCoord3f.3
|
||||
LINKS += glTexCoord.3 glTexCoord3i.3
|
||||
LINKS += glTexCoord.3 glTexCoord3s.3
|
||||
LINKS += glTexCoord.3 glTexCoord4d.3
|
||||
LINKS += glTexCoord.3 glTexCoord4f.3
|
||||
LINKS += glTexCoord.3 glTexCoord4i.3
|
||||
LINKS += glTexCoord.3 glTexCoord4s.3
|
||||
LINKS += glTexCoord.3 glTexCoord1dv.3
|
||||
LINKS += glTexCoord.3 glTexCoord1fv.3
|
||||
LINKS += glTexCoord.3 glTexCoord1iv.3
|
||||
LINKS += glTexCoord.3 glTexCoord1sv.3
|
||||
LINKS += glTexCoord.3 glTexCoord2dv.3
|
||||
LINKS += glTexCoord.3 glTexCoord2fv.3
|
||||
LINKS += glTexCoord.3 glTexCoord2iv.3
|
||||
LINKS += glTexCoord.3 glTexCoord2sv.3
|
||||
LINKS += glTexCoord.3 glTexCoord3dv.3
|
||||
LINKS += glTexCoord.3 glTexCoord3fv.3
|
||||
LINKS += glTexCoord.3 glTexCoord3iv.3
|
||||
LINKS += glTexCoord.3 glTexCoord3sv.3
|
||||
LINKS += glTexCoord.3 glTexCoord4dv.3
|
||||
LINKS += glTexCoord.3 glTexCoord4fv.3
|
||||
LINKS += glTexCoord.3 glTexCoord4iv.3
|
||||
LINKS += glTexCoord.3 glTexCoord4sv.3
|
||||
LINKS += glTexEnv.3 glTexEnvf.3
|
||||
LINKS += glTexEnv.3 glTexEnvi.3
|
||||
LINKS += glTexEnv.3 glTexEnvfv.3
|
||||
LINKS += glTexEnv.3 glTexEnviv.3
|
||||
LINKS += glTexGen.3 glTexGend.3
|
||||
LINKS += glTexGen.3 glTexGenf.3
|
||||
LINKS += glTexGen.3 glTexGeni.3
|
||||
LINKS += glTexGen.3 glTexGendv.3
|
||||
LINKS += glTexGen.3 glTexGenfv.3
|
||||
LINKS += glTexGen.3 glTexGeniv.3
|
||||
LINKS += glTexParameter.3 glTexParameterf.3
|
||||
LINKS += glTexParameter.3 glTexParameteri.3
|
||||
LINKS += glTexParameter.3 glTexParameterfv.3
|
||||
LINKS += glTexParameter.3 glTexParameteriv.3
|
||||
LINKS += glTranslate.3 glTranslated.3
|
||||
LINKS += glTranslate.3 glTranslatef.3
|
||||
LINKS += glVertex.3 glVertex2d.3
|
||||
LINKS += glVertex.3 glVertex2f.3
|
||||
LINKS += glVertex.3 glVertex2i.3
|
||||
LINKS += glVertex.3 glVertex2s.3
|
||||
LINKS += glVertex.3 glVertex3d.3
|
||||
LINKS += glVertex.3 glVertex3f.3
|
||||
LINKS += glVertex.3 glVertex3i.3
|
||||
LINKS += glVertex.3 glVertex3s.3
|
||||
LINKS += glVertex.3 glVertex4d.3
|
||||
LINKS += glVertex.3 glVertex4f.3
|
||||
LINKS += glVertex.3 glVertex4i.3
|
||||
LINKS += glVertex.3 glVertex4s.3
|
||||
LINKS += glVertex.3 glVertex2dv.3
|
||||
LINKS += glVertex.3 glVertex2fv.3
|
||||
LINKS += glVertex.3 glVertex2iv.3
|
||||
LINKS += glVertex.3 glVertex2sv.3
|
||||
LINKS += glVertex.3 glVertex3dv.3
|
||||
LINKS += glVertex.3 glVertex3fv.3
|
||||
LINKS += glVertex.3 glVertex3iv.3
|
||||
LINKS += glVertex.3 glVertex3sv.3
|
||||
LINKS += glVertex.3 glVertex4dv.3
|
||||
LINKS += glVertex.3 glVertex4fv.3
|
||||
LINKS += glVertex.3 glVertex4iv.3
|
||||
LINKS += glVertex.3 glVertex4sv.3
|
||||
|
||||
.include "../../Makefile.inc"
|
||||
.include <bsd.xorg.mk>
|
|
@ -1,156 +0,0 @@
|
|||
'\" te
|
||||
'\"! tbl|eqn | mmdoc
|
||||
'\"macro stdmacro
|
||||
.ds Vn Version 1.2
|
||||
.ds Dt 24 September 1999
|
||||
.ds Re Release 1.2.1
|
||||
.ds Dp Jan 14 18:30
|
||||
.ds Dm 01 accum.gl
|
||||
.ds Xs 43732 7 accum.gl
|
||||
.TH GLACCUM 3G
|
||||
.SH NAME
|
||||
.B "glAccum
|
||||
\- operate on the accumulation buffer
|
||||
|
||||
.SH C SPECIFICATION
|
||||
void \f3glAccum\fP(
|
||||
GLenum \fIop\fP,
|
||||
.nf
|
||||
.ta \w'\f3void \fPglAccum( 'u
|
||||
GLfloat \fIvalue\fP )
|
||||
.fi
|
||||
|
||||
.EQ
|
||||
delim $$
|
||||
.EN
|
||||
.SH PARAMETERS
|
||||
.TP \w'\fIvalue\fP\ \ 'u
|
||||
\f2op\fP
|
||||
Specifies the accumulation buffer operation.
|
||||
Symbolic constants
|
||||
\%\f3GL_ACCUM\fP,
|
||||
\%\f3GL_LOAD\fP,
|
||||
\%\f3GL_ADD\fP,
|
||||
\%\f3GL_MULT\fP,
|
||||
and
|
||||
\%\f3GL_RETURN\fP are accepted.
|
||||
.TP
|
||||
\f2value\fP
|
||||
Specifies a floating-point value used in the accumulation buffer operation.
|
||||
\f2op\fP determines how \f2value\fP is used.
|
||||
.SH DESCRIPTION
|
||||
The accumulation buffer is an extended-range color buffer.
|
||||
Images are not rendered into it.
|
||||
Rather,
|
||||
images rendered into one of the color buffers
|
||||
are added to the contents of the accumulation buffer after rendering.
|
||||
Effects such as antialiasing (of points, lines, and polygons),
|
||||
motion blur,
|
||||
and depth of field can be created
|
||||
by accumulating images generated with different transformation matrices.
|
||||
.P
|
||||
Each pixel in the accumulation buffer consists of
|
||||
red, green, blue, and alpha values.
|
||||
The number of bits per component in the accumulation buffer
|
||||
depends on the implementation. You can examine this number
|
||||
by calling \%\f3glGetIntegerv\fP four times,
|
||||
with arguments \%\f3GL_ACCUM_RED_BITS\fP,
|
||||
\%\f3GL_ACCUM_GREEN_BITS\fP,
|
||||
\%\f3GL_ACCUM_BLUE_BITS\fP,
|
||||
and \%\f3GL_ACCUM_ALPHA_BITS\fP.
|
||||
Regardless of the number of bits per component,
|
||||
the range of values stored by each component is [\-1,\ 1].
|
||||
The accumulation buffer pixels are mapped one-to-one with frame buffer pixels.
|
||||
.P
|
||||
\%\f3glAccum\fP operates on the accumulation buffer.
|
||||
The first argument, \f2op\fP,
|
||||
is a symbolic constant that selects an accumulation buffer operation.
|
||||
The second argument, \f2value\fP,
|
||||
is a floating-point value to be used in that operation.
|
||||
Five operations are specified:
|
||||
\%\f3GL_ACCUM\fP, \%\f3GL_LOAD\fP, \%\f3GL_ADD\fP,
|
||||
\%\f3GL_MULT\fP, and \%\f3GL_RETURN\fP.
|
||||
.P
|
||||
All accumulation buffer operations are limited
|
||||
to the area of the current scissor box and applied identically to
|
||||
the red, green, blue, and alpha components of each pixel.
|
||||
If a \%\f3glAccum\fP operation results in a value outside the range [\-1,\ 1],
|
||||
the contents of an accumulation buffer pixel component are undefined.
|
||||
.P
|
||||
The operations are as follows:
|
||||
.TP 14
|
||||
\%\f3GL_ACCUM\fP
|
||||
Obtains R, G, B, and A values
|
||||
from the buffer currently selected for reading (see \%\f3glReadBuffer\fP).
|
||||
Each component value is divided by $2 sup n^-^1$,
|
||||
where $n$ is the number of bits allocated to each color component
|
||||
in the currently selected buffer.
|
||||
The result is a floating-point value in the range [0,\ 1],
|
||||
which is multiplied by \f2value\fP and added to the corresponding pixel component
|
||||
in the accumulation buffer,
|
||||
thereby updating the accumulation buffer.
|
||||
.TP
|
||||
\%\f3GL_LOAD\fP
|
||||
Similar to \%\f3GL_ACCUM\fP,
|
||||
except that the current value in the accumulation buffer is not used
|
||||
in the calculation of the new value.
|
||||
That is, the R, G, B, and A values from the currently selected buffer
|
||||
are divided by $2 sup n^-^1$,
|
||||
multiplied by \f2value\fP,
|
||||
and then stored in the corresponding accumulation buffer cell,
|
||||
overwriting the current value.
|
||||
.TP
|
||||
\%\f3GL_ADD\fP
|
||||
Adds \f2value\fP to each R, G, B, and A
|
||||
in the accumulation buffer.
|
||||
.TP
|
||||
\%\f3GL_MULT\fP
|
||||
Multiplies each R, G, B, and A
|
||||
in the accumulation buffer by \f2value\fP and returns the scaled component
|
||||
to its corresponding accumulation buffer location.
|
||||
.TP
|
||||
\%\f3GL_RETURN\fP
|
||||
Transfers accumulation buffer values
|
||||
to the color buffer or buffers currently selected for writing.
|
||||
Each R, G, B, and A component is multiplied by \f2value\fP,
|
||||
then multiplied by $2 sup n^-^1$,
|
||||
clamped to the range [0,$~2 sup n^-^1 $], and stored
|
||||
in the corresponding display buffer cell.
|
||||
The only fragment operations that are applied to this transfer are
|
||||
pixel ownership,
|
||||
scissor,
|
||||
dithering,
|
||||
and color writemasks.
|
||||
.P
|
||||
To clear the accumulation buffer, call \%\f3glClearAccum\fP with R, G, B,
|
||||
and A values to set it to, then call \%\f3glClear\fP with the
|
||||
accumulation buffer enabled.
|
||||
.SH NOTES
|
||||
Only pixels within the current scissor box are updated by a
|
||||
\%\f3glAccum\fP operation.
|
||||
.SH ERRORS
|
||||
\%\f3GL_INVALID_ENUM\fP is generated if \f2op\fP is not an accepted value.
|
||||
.P
|
||||
\%\f3GL_INVALID_OPERATION\fP is generated if there is no accumulation buffer.
|
||||
.P
|
||||
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glAccum\fP
|
||||
is executed between the execution of
|
||||
\%\f3glBegin\fP and the corresponding execution of \%\f3glEnd\fP.
|
||||
.SH ASSOCIATED GETS
|
||||
\%\f3glGet\fP with argument \%\f3GL_ACCUM_RED_BITS\fP
|
||||
.br
|
||||
\%\f3glGet\fP with argument \%\f3GL_ACCUM_GREEN_BITS\fP
|
||||
.br
|
||||
\%\f3glGet\fP with argument \%\f3GL_ACCUM_BLUE_BITS\fP
|
||||
.br
|
||||
\%\f3glGet\fP with argument \%\f3GL_ACCUM_ALPHA_BITS\fP
|
||||
.SH SEE ALSO
|
||||
\%\f3glClear(3G)\fP,
|
||||
\%\f3glClearAccum(3G)\fP,
|
||||
\%\f3glCopyPixels(3G)\fP,
|
||||
\%\f3glDrawBuffer(3G)\fP,
|
||||
\%\f3glGet(3G)\fP,
|
||||
\%\f3glReadBuffer(3G)\fP,
|
||||
\%\f3glReadPixels(3G)\fP,
|
||||
\%\f3glScissor(3G)\fP,
|
||||
\%\f3glStencilOp(3G)\fP
|
|
@ -1,54 +0,0 @@
|
|||
.\" $XFree86$
|
||||
'\" et
|
||||
'\"! eqn|tbl | mmdoc
|
||||
'\"macro stdmacro
|
||||
.ds Vn Version 1.2
|
||||
.ds Dt 24 September 1999
|
||||
.ds Re Release 1.2.1
|
||||
.ds Dp Jan 14 19:46
|
||||
.ds Dm 01 activetex
|
||||
.ds Xs 15390 4 activetextureARB.gl
|
||||
.TH GLACTIVETEXTUREARB 3G
|
||||
.SH NAME
|
||||
.B "glActiveTextureARB
|
||||
\- select active texture unit
|
||||
|
||||
.SH C SPECIFICATION
|
||||
void \f3glActiveTextureARB\fP(
|
||||
GLenum \fItexture\fP )
|
||||
.nf
|
||||
.fi
|
||||
|
||||
.EQ
|
||||
delim $$
|
||||
.EN
|
||||
.SH PARAMETERS
|
||||
.TP \w'\f2texture\fP\ \ 'u
|
||||
\f2texture\fP
|
||||
Specifies which texture unit to make active. The number
|
||||
of texture units is implementation dependent, but must be at least
|
||||
two. \f2texture\fP must be one of \%\f3GL_TEXTURE\fP$i$\f3_ARB\fP, where
|
||||
0 \(<= $ i $ < \%\f3GL_MAX_TEXTURE_UNITS_ARB\fP, which is an
|
||||
implementation-dependent value. The initial value is \%\f3GL_TEXTURE0_ARB\fP.
|
||||
.SH DESCRIPTION
|
||||
\%\f3glActiveTextureARB\fP selects which texture unit subsequent texture state calls will
|
||||
affect. The number of texture units an implementation supports is
|
||||
implementation dependent, but must be at least 2.
|
||||
.P
|
||||
Vertex arrays are client-side GL resources, which are selected by the
|
||||
\%\f3glClientActiveTextureARB\fP routine.
|
||||
.SH NOTES
|
||||
\%\f3glActiveTextureARB\fP is only supported if \%\f3GL_ARB_multitexture\fP is included in the
|
||||
string returned by \%\f3glGetString\fP when called with the argument
|
||||
\%\f3GL_EXTENSIONS\fP.
|
||||
.SH ERRORS
|
||||
\%\f3GL_INVALID_ENUM\fP is generated if \f2texture\fP is not one of
|
||||
\%\f3GL_TEXTURE\fP$i$\f3_ARB\fP,
|
||||
.br
|
||||
where 0 \(<= $ i $ < \%\f3GL_MAX_TEXTURE_UNITS_ARB\fP.
|
||||
.SH SEE ALSO
|
||||
\%\f3glClientActiveTextureARB(3G)\fP,
|
||||
\%\f3glGetIntegerv(3G)\fP,
|
||||
\%\f3glMultiTexCoordARB(3G)\fP,
|
||||
\%\f3glTexParameter(3G)\fP
|
||||
|
|
@ -1,114 +0,0 @@
|
|||
'\" te
|
||||
'\"! tbl|eqn | mmdoc
|
||||
'\"macro stdmacro
|
||||
.ds Vn Version 1.2
|
||||
.ds Dt 24 September 1999
|
||||
.ds Re Release 1.2.1
|
||||
.ds Dp Jan 14 18:30
|
||||
.ds Dm 01 alphafunc
|
||||
.ds Xs 25246 5 alphafunc.gl
|
||||
.TH GLALPHAFUNC 3G
|
||||
.SH NAME
|
||||
.B "glAlphaFunc
|
||||
\- specify the alpha test function
|
||||
|
||||
.SH C SPECIFICATION
|
||||
void \f3glAlphaFunc\fP(
|
||||
GLenum \fIfunc\fP,
|
||||
.nf
|
||||
.ta \w'\f3void \fPglAlphaFunc( 'u
|
||||
GLclampf \fIref\fP )
|
||||
.fi
|
||||
|
||||
.SH PARAMETERS
|
||||
.TP \w'\f2func\fP\ \ 'u
|
||||
\f2func\fP
|
||||
Specifies the alpha comparison function.
|
||||
Symbolic constants
|
||||
\%\f3GL_NEVER\fP,
|
||||
\%\f3GL_LESS\fP,
|
||||
\%\f3GL_EQUAL\fP,
|
||||
\%\f3GL_LEQUAL\fP,
|
||||
\%\f3GL_GREATER\fP,
|
||||
\%\f3GL_NOTEQUAL\fP,
|
||||
\%\f3GL_GEQUAL\fP, and
|
||||
\%\f3GL_ALWAYS\fP are accepted. The initial value is \%\f3GL_ALWAYS\fP.
|
||||
.TP
|
||||
\f2ref\fP
|
||||
Specifies the reference value that incoming alpha values are compared to.
|
||||
This value is clamped to the range [0,\ 1],
|
||||
where 0 represents the lowest possible alpha value
|
||||
and 1 the highest possible value.
|
||||
The initial reference value is 0.
|
||||
.SH DESCRIPTION
|
||||
The alpha test discards fragments depending on the outcome of a comparison
|
||||
between an incoming fragment's alpha value and a constant reference value.
|
||||
\%\f3glAlphaFunc\fP specifies the reference value and the comparison function.
|
||||
The comparison is performed only if alpha testing is enabled. By
|
||||
default, it is not enabled.
|
||||
(See
|
||||
\%\f3glEnable\fP and \%\f3glDisable\fP of \%\f3GL_ALPHA_TEST\fP.)
|
||||
.P
|
||||
\f2func\fP and \f2ref\fP specify the conditions under which
|
||||
the pixel is drawn.
|
||||
The incoming alpha value is compared to \f2ref\fP
|
||||
using the function specified by \f2func\fP.
|
||||
If the value passes the comparison,
|
||||
the incoming fragment is drawn
|
||||
if it also passes subsequent stencil and depth buffer tests.
|
||||
If the value fails the comparison,
|
||||
no change is made to the frame buffer at that pixel location. The
|
||||
comparison functions are as follows:
|
||||
.TP 18
|
||||
\%\f3GL_NEVER\fP
|
||||
Never passes.
|
||||
.TP
|
||||
\%\f3GL_LESS\fP
|
||||
Passes if the incoming alpha value is less than the reference value.
|
||||
.TP
|
||||
\%\f3GL_EQUAL\fP
|
||||
Passes if the incoming alpha value is equal to the reference value.
|
||||
.TP
|
||||
\%\f3GL_LEQUAL\fP
|
||||
Passes if the incoming alpha value is less than or equal to the reference value.
|
||||
.TP
|
||||
\%\f3GL_GREATER\fP
|
||||
Passes if the incoming alpha value is greater than the reference value.
|
||||
.TP
|
||||
\%\f3GL_NOTEQUAL\fP
|
||||
Passes if the incoming alpha value is not equal to the reference value.
|
||||
.TP
|
||||
\%\f3GL_GEQUAL\fP
|
||||
Passes if the incoming alpha value is greater than or equal to
|
||||
the reference value.
|
||||
.TP
|
||||
\%\f3GL_ALWAYS\fP
|
||||
Always passes (initial value).
|
||||
.P
|
||||
\%\f3glAlphaFunc\fP operates on all pixel write operations,
|
||||
including those resulting from the scan conversion of points,
|
||||
lines,
|
||||
polygons,
|
||||
and bitmaps,
|
||||
and from pixel draw and copy operations.
|
||||
\%\f3glAlphaFunc\fP does not affect screen clear operations.
|
||||
.SH NOTES
|
||||
Alpha testing is performed only in RGBA mode.
|
||||
.SH ERRORS
|
||||
\%\f3GL_INVALID_ENUM\fP is generated if \f2func\fP is not an accepted value.
|
||||
.P
|
||||
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glAlphaFunc\fP
|
||||
is executed between the execution of \%\f3glBegin\fP
|
||||
and the corresponding execution of \%\f3glEnd\fP.
|
||||
.SH ASSOCIATED GETS
|
||||
\%\f3glGet\fP with argument \%\f3GL_ALPHA_TEST_FUNC\fP
|
||||
.br
|
||||
\%\f3glGet\fP with argument \%\f3GL_ALPHA_TEST_REF\fP
|
||||
.br
|
||||
\%\f3glIsEnabled\fP with argument \%\f3GL_ALPHA_TEST\fP
|
||||
.SH SEE ALSO
|
||||
\%\f3glBlendFunc(3G)\fP,
|
||||
\%\f3glClear(3G)\fP,
|
||||
\%\f3glDepthFunc(3G)\fP,
|
||||
\%\f3glEnable(3G)\fP,
|
||||
\%\f3glStencilFunc(3G)\fP
|
|
@ -1,91 +0,0 @@
|
|||
'\" e
|
||||
'\"! eqn | mmdoc
|
||||
'\"macro stdmacro
|
||||
.ds Vn Version 1.2
|
||||
.ds Dt 24 September 1999
|
||||
.ds Re Release 1.2.1
|
||||
.ds Dp Jan 14 18:30
|
||||
.ds Dm 01 aretextur
|
||||
.ds Xs 9130 5 aretexturesresident.gl
|
||||
.TH GLARETEXTURESRESIDENT 3G
|
||||
.SH NAME
|
||||
.B "glAreTexturesResident
|
||||
\- determine if textures are loaded in texture memory
|
||||
|
||||
.SH C SPECIFICATION
|
||||
GLboolean \f3glAreTexturesResident\fP(
|
||||
GLsizei \fIn\fP,
|
||||
.nf
|
||||
.ta \w'\f3GLboolean \fPglAreTexturesResident( 'u
|
||||
const GLuint \fI*textures\fP,
|
||||
GLboolean \fI*residences\fP )
|
||||
.fi
|
||||
|
||||
.SH PARAMETERS
|
||||
.TP \w'\fIresidences\fP\ \ 'u
|
||||
\f2n\fP
|
||||
Specifies the number of textures to be queried.
|
||||
.TP
|
||||
\f2textures\fP
|
||||
Specifies an array containing the names of the textures to be queried.
|
||||
.TP
|
||||
\f2residences\fP
|
||||
Specifies an array in which the texture residence status is returned.
|
||||
The residence status of a texture named by an element of \f2textures\fP is
|
||||
returned in the corresponding element of \f2residences\fP.
|
||||
.SH DESCRIPTION
|
||||
GL establishes
|
||||
a ``working set'' of textures that are resident in texture memory.
|
||||
These textures can be bound to a texture target much more efficiently
|
||||
than textures that are not resident.
|
||||
.P
|
||||
\%\f3glAreTexturesResident\fP queries the texture residence status of the \f2n\fP textures named by
|
||||
the elements of \f2textures\fP.
|
||||
If all the named textures are resident,
|
||||
\%\f3glAreTexturesResident\fP returns \%\f3GL_TRUE\fP,
|
||||
and the contents of \f2residences\fP are undisturbed.
|
||||
If not all the named textures are resident, \%\f3glAreTexturesResident\fP returns \%\f3GL_FALSE\fP,
|
||||
and detailed status is returned in the \f2n\fP elements of \f2residences\fP.
|
||||
If an element of \f2residences\fP is \%\f3GL_TRUE\fP, then the texture named by
|
||||
the corresponding element of \f2textures\fP is resident.
|
||||
.P
|
||||
The residence status of a single bound texture may also be queried
|
||||
by calling
|
||||
\%\f3glGetTexParameter\fP with the \f2target\fP argument set to the
|
||||
target to which the texture is bound, and the \f2pname\fP argument
|
||||
set to \%\f3GL_TEXTURE_RESIDENT\fP.
|
||||
This is the only way that the residence status of a default texture can be
|
||||
queried.
|
||||
.SH NOTES
|
||||
\%\f3glAreTexturesResident\fP is available only if the GL version is 1.1 or greater.
|
||||
.P
|
||||
\%\f3glAreTexturesResident\fP returns the residency status of the textures at the time of
|
||||
invocation. It does not guarantee that the textures will remain
|
||||
resident at any other time.
|
||||
.P
|
||||
If textures reside in virtual memory (there is no texture memory), they
|
||||
are considered always resident.
|
||||
.P
|
||||
Some implementations may not load a texture until the first use of
|
||||
that texture.
|
||||
.SH ERRORS
|
||||
\%\f3GL_INVALID_VALUE\fP is generated if \f2n\fP is negative.
|
||||
.P
|
||||
\%\f3GL_INVALID_VALUE\fP is generated if any element in \f2textures\fP
|
||||
is 0 or does not name a texture. In that case, the function returns
|
||||
\%\f3GL_FALSE\fP and the contents of \f2residences\fP is indeterminate.
|
||||
.P
|
||||
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glAreTexturesResident\fP is executed
|
||||
between the execution of \%\f3glBegin\fP and the corresponding
|
||||
execution of \%\f3glEnd\fP.
|
||||
.SH ASSOCIATED GETS
|
||||
\%\f3glGetTexParameter\fP with parameter name \%\f3GL_TEXTURE_RESIDENT\fP
|
||||
retrieves the residence status of a currently bound texture.
|
||||
.SH SEE ALSO
|
||||
\%\f3glBindTexture(3G)\fP,
|
||||
\%\f3glGetTexParameter(3G)\fP,
|
||||
\%\f3glPrioritizeTextures(3G)\fP,
|
||||
\%\f3glTexImage1D(3G)\fP,
|
||||
\%\f3glTexImage2D(3G)\fP,
|
||||
\%\f3glTexImage3D(3G)\fP,
|
||||
\%\f3glTexParameter(3G)\fP
|
|
@ -1,70 +0,0 @@
|
|||
'\" te
|
||||
'\"! tbl|eqn | mmdoc
|
||||
'\"macro stdmacro
|
||||
.ds Vn Version 1.2
|
||||
.ds Dt 24 September 1999
|
||||
.ds Re Release 1.2.1
|
||||
.ds Dp Jan 14 18:30
|
||||
.ds Dm 01 arrayelem
|
||||
.ds Xs 50127 5 arrayelement.gl
|
||||
.TH GLARRAYELEMENT 3G
|
||||
.SH NAME
|
||||
.B "glArrayElement
|
||||
\- render a vertex using the specified vertex array element
|
||||
|
||||
.SH C SPECIFICATION
|
||||
void \f3glArrayElement\fP(
|
||||
GLint \fIi\fP )
|
||||
.nf
|
||||
.fi
|
||||
|
||||
.EQ
|
||||
delim $$
|
||||
.EN
|
||||
.SH PARAMETERS
|
||||
.TP \w'\f2i\fP\ \ 'u
|
||||
\f2i\fP
|
||||
Specifies an index into the enabled vertex data arrays.
|
||||
.SH DESCRIPTION
|
||||
\%\f3glArrayElement\fP commands are used within \%\f3glBegin\fP/\%\f3glEnd\fP pairs to
|
||||
specify vertex and attribute data for point, line, and polygon
|
||||
primitives. If \%\f3GL_VERTEX_ARRAY\fP is enabled when \%\f3glArrayElement\fP is called, a
|
||||
single vertex is drawn, using
|
||||
vertex and attribute data taken from location \f2i\fP of the enabled
|
||||
arrays. If \%\f3GL_VERTEX_ARRAY\fP is not enabled, no drawing occurs but
|
||||
the attributes corresponding to the enabled arrays are modified.
|
||||
.P
|
||||
Use \%\f3glArrayElement\fP to construct primitives by indexing vertex data, rather than
|
||||
by streaming through arrays of data in first-to-last order. Because
|
||||
each call specifies only a single vertex, it is possible to explicitly
|
||||
specify per-primitive attributes such as a single normal per
|
||||
individual triangle.
|
||||
.P
|
||||
Changes made to array data between the execution of \%\f3glBegin\fP and the
|
||||
corresponding execution of \%\f3glEnd\fP may affect calls to \%\f3glArrayElement\fP that are made
|
||||
within the same \%\f3glBegin\fP/\%\f3glEnd\fP period in non-sequential ways.
|
||||
That is, a call to
|
||||
.br
|
||||
\%\f3glArrayElement\fP that precedes a change to array data may
|
||||
access the changed data, and a call that follows a change to array data
|
||||
may access original data.
|
||||
.SH NOTES
|
||||
\%\f3glArrayElement\fP is available only if the GL version is 1.1 or greater.
|
||||
.P
|
||||
\%\f3glArrayElement\fP is included in display lists. If \%\f3glArrayElement\fP is entered into a
|
||||
display list, the necessary array data (determined by the array
|
||||
pointers and enables) is also entered into the display list. Because
|
||||
the array pointers and enables are client-side state, their values
|
||||
affect display lists when the lists are created, not when the lists
|
||||
are executed.
|
||||
.SH SEE ALSO
|
||||
\%\f3glClientActiveTextureARB(3G)\fP,
|
||||
\%\f3glColorPointer(3G)\fP,
|
||||
\%\f3glDrawArrays(3G)\fP,
|
||||
\%\f3glEdgeFlagPointer(3G)\fP,
|
||||
\%\f3glGetPointerv(3G)\fP,
|
||||
\%\f3glIndexPointer(3G)\fP,
|
||||
\%\f3glInterleavedArrays(3G)\fP,
|
||||
\%\f3glNormalPointer(3G)\fP,
|
||||
\%\f3glTexCoordPointer(3G)\fP,
|
||||
\%\f3glVertexPointer(3G)\fP
|
|
@ -1,217 +0,0 @@
|
|||
'\" te
|
||||
'\"! tbl|eqn | mmdoc
|
||||
'\"macro stdmacro
|
||||
.ds Vn Version 1.2
|
||||
.ds Dt 24 September 1999
|
||||
.ds Re Release 1.2.1
|
||||
.ds Dp Jan 14 18:30
|
||||
.ds Dm 01 begin.gl
|
||||
.ds Xs 5437 8 begin.gl
|
||||
.TH GLBEGIN 3G
|
||||
.SH NAME
|
||||
.B "glBegin, glEnd
|
||||
\- delimit the vertices of a primitive or a group of like primitives
|
||||
|
||||
.SH C SPECIFICATION
|
||||
void \f3glBegin\fP(
|
||||
GLenum \fImode\fP )
|
||||
.nf
|
||||
.fi
|
||||
|
||||
.EQ
|
||||
delim $$
|
||||
.EN
|
||||
.SH PARAMETERS
|
||||
.TP \w'\f2mode\fP\ \ 'u
|
||||
\f2mode\fP
|
||||
Specifies the primitive or primitives that will be created from vertices
|
||||
presented between \%\f3glBegin\fP and the subsequent \%\f3glEnd\fP.
|
||||
Ten symbolic constants are accepted:
|
||||
\%\f3GL_POINTS\fP,
|
||||
\%\f3GL_LINES\fP,
|
||||
\%\f3GL_LINE_STRIP\fP,
|
||||
\%\f3GL_LINE_LOOP\fP,
|
||||
\%\f3GL_TRIANGLES\fP,
|
||||
\%\f3GL_TRIANGLE_STRIP\fP,
|
||||
\%\f3GL_TRIANGLE_FAN\fP,
|
||||
\%\f3GL_QUADS\fP,
|
||||
\%\f3GL_QUAD_STRIP\fP, and
|
||||
\%\f3GL_POLYGON\fP.
|
||||
.SH C SPECIFICATION
|
||||
void \f3glEnd\fP( void )
|
||||
.nf
|
||||
.fi
|
||||
|
||||
.SH DESCRIPTION
|
||||
\%\f3glBegin\fP and \%\f3glEnd\fP delimit the vertices that define a primitive or
|
||||
a group of like primitives.
|
||||
\%\f3glBegin\fP accepts a single argument that specifies in which of ten ways the
|
||||
vertices are interpreted.
|
||||
Taking $n$ as an integer count starting at one,
|
||||
and $N$ as the total number of vertices specified,
|
||||
the interpretations are as follows:
|
||||
.TP 23
|
||||
\%\f3GL_POINTS\fP
|
||||
Treats each vertex as a single point.
|
||||
Vertex $n$ defines point $n$.
|
||||
$N$ points are drawn.
|
||||
.TP
|
||||
\%\f3GL_LINES\fP
|
||||
Treats each pair of vertices as an independent line segment.
|
||||
Vertices $2n^-^1$ and $2n$ define line $n$.
|
||||
$N/2$ lines are drawn.
|
||||
.TP
|
||||
\%\f3GL_LINE_STRIP\fP
|
||||
Draws a connected group of line segments from the first vertex
|
||||
to the last.
|
||||
Vertices $n$ and $n~+~1$ define line $n$.
|
||||
$N^-^1$ lines are drawn.
|
||||
.TP
|
||||
\%\f3GL_LINE_LOOP\fP
|
||||
Draws a connected group of line segments from the first vertex
|
||||
to the last,
|
||||
then back to the first.
|
||||
Vertices $n$ and $n~+~1$ define line $n$.
|
||||
The last line, however, is defined by vertices $N$ and $1$.
|
||||
$N$ lines are drawn.
|
||||
.TP
|
||||
\%\f3GL_TRIANGLES\fP
|
||||
Treats each triplet of vertices as an independent triangle.
|
||||
Vertices $3n^-^2$, $3n^-^1$, and $3n$ define triangle $n$.
|
||||
$N/3$ triangles are drawn.
|
||||
.BP
|
||||
.TP
|
||||
\%\f3GL_TRIANGLE_STRIP\fP
|
||||
Draws a connected group of triangles. One triangle is defined for each
|
||||
vertex presented after the first two vertices. For odd $n$, vertices
|
||||
$n$, $n~+~1$, and $n~+~2$ define triangle $n$. For even $n$, vertices
|
||||
$n~+~1$, $n$, and $n~+~2$ define triangle $n$. $N^-^2$ triangles are
|
||||
drawn.
|
||||
.TP
|
||||
\%\f3GL_TRIANGLE_FAN\fP
|
||||
Draws a connected group of triangles.
|
||||
One triangle is defined for each vertex presented after the first two vertices.
|
||||
Vertices $1$,
|
||||
$n~+~1$,
|
||||
and $n~+~2$ define triangle $n$.
|
||||
$N^-^2$ triangles are drawn.
|
||||
.TP
|
||||
\%\f3GL_QUADS\fP
|
||||
Treats each group of four vertices as an independent quadrilateral.
|
||||
Vertices $4n^-^3$, $4n^-^2$, $4n^-^1$, and $4n$
|
||||
define quadrilateral $n$.
|
||||
$N/4$ quadrilaterals are drawn.
|
||||
.TP
|
||||
\%\f3GL_QUAD_STRIP\fP
|
||||
Draws a connected group of quadrilaterals.
|
||||
One quadrilateral is defined for each pair of vertices presented
|
||||
after the first pair.
|
||||
Vertices $2n^-^1$, $2n$, $2n~+~2$, and $2n~+~1$ define quadrilateral $n$.
|
||||
$N/2^-^1$ quadrilaterals are drawn.
|
||||
Note that the order in which vertices are used to construct a quadrilateral
|
||||
from strip data is different from that used with independent data.
|
||||
.TP
|
||||
\%\f3GL_POLYGON\fP
|
||||
Draws a single,
|
||||
convex polygon.
|
||||
Vertices $1$ through $N$ define this polygon.
|
||||
.P
|
||||
Only a subset of GL commands can be used between \%\f3glBegin\fP and \%\f3glEnd\fP.
|
||||
The commands are
|
||||
\%\f3glVertex\fP,
|
||||
\%\f3glColor\fP,
|
||||
\%\f3glIndex\fP,
|
||||
\%\f3glNormal\fP,
|
||||
\%\f3glTexCoord\fP,
|
||||
\%\f3glEvalCoord\fP,
|
||||
\%\f3glEvalPoint\fP,
|
||||
\%\f3glArrayElement\fP,
|
||||
\%\f3glMaterial\fP, and
|
||||
\%\f3glEdgeFlag\fP.
|
||||
Also,
|
||||
it is acceptable to use
|
||||
\%\f3glCallList\fP or
|
||||
\%\f3glCallLists\fP to execute
|
||||
display lists that include only the preceding commands.
|
||||
If any other GL command is executed between \%\f3glBegin\fP and \%\f3glEnd\fP,
|
||||
the error flag is set and the command is ignored.
|
||||
.P
|
||||
Regardless of the value chosen for \f2mode\fP,
|
||||
there is no limit to the number of vertices that can be defined
|
||||
between \%\f3glBegin\fP and \%\f3glEnd\fP.
|
||||
Lines,
|
||||
triangles,
|
||||
quadrilaterals,
|
||||
and polygons that are incompletely specified are not drawn.
|
||||
Incomplete specification results when either too few vertices are
|
||||
provided to specify even a single primitive or when an incorrect multiple
|
||||
of vertices is specified. The incomplete primitive is ignored; the rest are drawn.
|
||||
.P
|
||||
The minimum specification of vertices
|
||||
for each primitive is as follows:
|
||||
1 for a point,
|
||||
2 for a line,
|
||||
3 for a triangle,
|
||||
4 for a quadrilateral,
|
||||
and 3 for a polygon.
|
||||
Modes that require a certain multiple of vertices are
|
||||
\%\f3GL_LINES\fP (2),
|
||||
\%\f3GL_TRIANGLES\fP (3),
|
||||
\%\f3GL_QUADS\fP (4),
|
||||
and \%\f3GL_QUAD_STRIP\fP (2).
|
||||
.SH ERRORS
|
||||
\%\f3GL_INVALID_ENUM\fP is generated if \f2mode\fP is set to an unaccepted value.
|
||||
.P
|
||||
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glBegin\fP is executed between a
|
||||
\%\f3glBegin\fP
|
||||
and the corresponding execution of \%\f3glEnd\fP.
|
||||
.P
|
||||
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glEnd\fP is executed without being
|
||||
preceded by a \%\f3glBegin\fP.
|
||||
.P
|
||||
\%\f3GL_INVALID_OPERATION\fP is generated if a command other than
|
||||
\%\f3glVertex\fP,
|
||||
\%\f3glColor\fP,
|
||||
\%\f3glIndex\fP,
|
||||
\%\f3glNormal\fP,
|
||||
\%\f3glTexCoord\fP,
|
||||
\%\f3glEvalCoord\fP,
|
||||
\%\f3glEvalPoint\fP,
|
||||
\%\f3glArrayElement\fP,
|
||||
\%\f3glMaterial\fP,
|
||||
\%\f3glEdgeFlag\fP,
|
||||
\%\f3glCallList\fP, or
|
||||
\%\f3glCallLists\fP is executed between
|
||||
the execution of \%\f3glBegin\fP and the corresponding
|
||||
execution \%\f3glEnd\fP.
|
||||
.P
|
||||
Execution of
|
||||
\%\f3glEnableClientState\fP,
|
||||
\%\f3glDisableClientState\fP,
|
||||
\%\f3glEdgeFlagPointer\fP,
|
||||
\%\f3glTexCoordPointer\fP,
|
||||
\%\f3glColorPointer\fP,
|
||||
\%\f3glIndexPointer\fP,
|
||||
\%\f3glNormalPointer\fP,
|
||||
.br
|
||||
\%\f3glVertexPointer\fP,
|
||||
\%\f3glInterleavedArrays\fP, or
|
||||
\%\f3glPixelStore\fP is not allowed after a call to \%\f3glBegin\fP and before
|
||||
the corresponding call to \%\f3glEnd\fP,
|
||||
but an error may or may not be generated.
|
||||
.SH SEE ALSO
|
||||
\%\f3glArrayElement(3G)\fP,
|
||||
\%\f3glCallList(3G)\fP,
|
||||
\%\f3glCallLists(3G)\fP,
|
||||
\%\f3glColor(3G)\fP,
|
||||
\%\f3glEdgeFlag(3G)\fP,
|
||||
\%\f3glEvalCoord(3G)\fP,
|
||||
.br
|
||||
\%\f3glEvalPoint(3G)\fP,
|
||||
\%\f3glIndex(3G)\fP,
|
||||
\%\f3glMaterial(3G)\fP,
|
||||
\%\f3glNormal(3G)\fP,
|
||||
\%\f3glTexCoord(3G)\fP,
|
||||
\%\f3glVertex(3G)\fP
|
||||
|
||||
|
|
@ -1,114 +0,0 @@
|
|||
'\" e
|
||||
'\"! eqn | mmdoc
|
||||
'\"macro stdmacro
|
||||
.ds Vn Version 1.2
|
||||
.ds Dt 24 September 1999
|
||||
.ds Re Release 1.2.1
|
||||
.ds Dp Jan 14 18:30
|
||||
.ds Dm 01 bindtextu
|
||||
.ds Xs 62690 6 bindtexture.gl
|
||||
.TH GLBINDTEXTURE 3G
|
||||
.SH NAME
|
||||
.B "glBindTexture
|
||||
\- bind a named texture to a texturing target
|
||||
|
||||
.SH C SPECIFICATION
|
||||
void \f3glBindTexture\fP(
|
||||
GLenum \fItarget\fP,
|
||||
.nf
|
||||
.ta \w'\f3void \fPglBindTexture( 'u
|
||||
GLuint \fItexture\fP )
|
||||
.fi
|
||||
|
||||
.SH PARAMETERS
|
||||
.TP \w'\fItexture\fP\ \ 'u
|
||||
\f2target\fP
|
||||
Specifies the target to which the texture is bound.
|
||||
Must be either
|
||||
\%\f3GL_TEXTURE_1D\fP,
|
||||
\%\f3GL_TEXTURE_2D\fP, or
|
||||
\%\f3GL_TEXTURE_3D\fP.
|
||||
.TP
|
||||
\f2texture\fP
|
||||
Specifies the name of a texture.
|
||||
.SH DESCRIPTION
|
||||
\%\f3glBindTexture\fP lets you create or use a named texture. Calling \%\f3glBindTexture\fP with
|
||||
.br
|
||||
\f2target\fP set to
|
||||
\%\f3GL_TEXTURE_1D\fP, \%\f3GL_TEXTURE_2D\fP, \%\f3GL_TEXTURE_3D\fP and \f2texture\fP
|
||||
set to the name
|
||||
of the newtexture binds the texture name to the target.
|
||||
When a texture is bound to a target, the previous binding for that
|
||||
target is automatically broken.
|
||||
.P
|
||||
Texture names are unsigned integers. The value zero is reserved to
|
||||
represent the default texture for each texture target.
|
||||
Texture names and the corresponding texture contents are local to
|
||||
the shared display-list space (see \%\f3glXCreateContext\fP) of the current
|
||||
GL rendering context;
|
||||
two rendering contexts share texture names only if they
|
||||
also share display lists.
|
||||
.P
|
||||
You may use \%\f3glGenTextures\fP to generate a set of new texture names.
|
||||
.P
|
||||
When a texture is first bound, it assumes the dimensionality of its
|
||||
target: A texture first bound to \%\f3GL_TEXTURE_1D\fP becomes
|
||||
one-dimensional, and a texture first bound to \%\f3GL_TEXTURE_2D\fP becomes
|
||||
two-dimensional, and a texture first bound to \%\f3GL_TEXTURE_3D\fP becomes
|
||||
a three-dimensional texture. The state of a one-dimensional texture
|
||||
immediately after it is first bound is equivalent to the state of the
|
||||
default \%\f3GL_TEXTURE_1D\fP at GL initialization, and similarly for
|
||||
two-, and three-dimensional textures.
|
||||
.P
|
||||
While a texture is bound, GL operations on the target to which it is
|
||||
bound affect the bound texture, and queries of the target to which it
|
||||
is bound return state from the bound texture. If texture mapping of
|
||||
the dimensionality of the target to which a texture is bound is
|
||||
active, the bound texture is used.
|
||||
In effect, the texture targets become aliases for the textures currently
|
||||
bound to them, and the texture name zero refers to the default textures
|
||||
that were bound to them at initialization.
|
||||
.P
|
||||
A texture binding created with \%\f3glBindTexture\fP remains active until a different
|
||||
texture is bound to the same target, or until the bound texture is
|
||||
deleted with \%\f3glDeleteTextures\fP.
|
||||
.P
|
||||
Once created, a named texture may be re-bound to the target of the
|
||||
matching dimensionality as often as needed.
|
||||
It is usually much faster to use \%\f3glBindTexture\fP to bind an existing named
|
||||
texture to one of the texture targets than it is to reload the texture image
|
||||
using \%\f3glTexImage1D\fP, \%\f3glTexImage2D\fP, or \%\f3glTexImage3D\fP.
|
||||
For additional control over performance, use
|
||||
\%\f3glPrioritizeTextures\fP.
|
||||
.P
|
||||
\%\f3glBindTexture\fP is included in display lists.
|
||||
.SH NOTES
|
||||
\%\f3glBindTexture\fP is available only if the GL version is 1.1 or greater.
|
||||
.SH ERRORS
|
||||
\%\f3GL_INVALID_ENUM\fP is generated if \f2target\fP is not one of the allowable
|
||||
values.
|
||||
.P
|
||||
\%\f3GL_INVALID_OPERATION\fP is generated if \f2texture\fP has a dimensionality
|
||||
that doesn't match that of \f2target\fP.
|
||||
.P
|
||||
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glBindTexture\fP is executed
|
||||
between the execution of \%\f3glBegin\fP and the corresponding
|
||||
execution of \%\f3glEnd\fP.
|
||||
.SH ASSOCIATED GETS
|
||||
\%\f3glGet\fP with argument \%\f3GL_TEXTURE_BINDING_1D\fP
|
||||
.br
|
||||
\%\f3glGet\fP with argument \%\f3GL_TEXTURE_BINDING_2D\fP
|
||||
.br
|
||||
\%\f3glGet\fP with argument \%\f3GL_TEXTURE_BINDING_3D\fP
|
||||
.SH SEE ALSO
|
||||
\%\f3glAreTexturesResident(3G)\fP,
|
||||
\%\f3glDeleteTextures(3G)\fP,
|
||||
\%\f3glGenTextures(3G)\fP,
|
||||
\%\f3glGet(3G)\fP,
|
||||
.br
|
||||
\%\f3glGetTexParameter(3G)\fP,
|
||||
\%\f3glIsTexture(3G)\fP,
|
||||
\%\f3glPrioritizeTextures(3G)\fP,
|
||||
\%\f3glTexImage1D(3G)\fP,
|
||||
\%\f3glTexImage2D(3G)\fP,
|
||||
\%\f3glTexParameter(3G)\fP
|
|
@ -1,132 +0,0 @@
|
|||
'\" te
|
||||
'\"! tbl|eqn | mmdoc
|
||||
'\"macro stdmacro
|
||||
.ds Vn Version 1.2
|
||||
.ds Dt 24 September 1999
|
||||
.ds Re Release 1.2.1
|
||||
.ds Dp Jan 14 18:30
|
||||
.ds Dm 01 bitmap.gl
|
||||
.ds Xs 23189 6 bitmap.gl
|
||||
.TH GLBITMAP 3G
|
||||
.SH NAME
|
||||
.B "glBitmap
|
||||
\- draw a bitmap
|
||||
|
||||
.SH C SPECIFICATION
|
||||
void \f3glBitmap\fP(
|
||||
GLsizei \fIwidth\fP,
|
||||
.nf
|
||||
.ta \w'\f3void \fPglBitmap( 'u
|
||||
GLsizei \fIheight\fP,
|
||||
GLfloat \fIxorig\fP,
|
||||
GLfloat \fIyorig\fP,
|
||||
GLfloat \fIxmove\fP,
|
||||
GLfloat \fIymove\fP,
|
||||
const GLubyte \fI*bitmap\fP )
|
||||
.fi
|
||||
|
||||
.EQ
|
||||
delim $$
|
||||
.EN
|
||||
.SH PARAMETERS
|
||||
.TP \w'\f2width\fP\ \f2height\fP\ \ 'u
|
||||
\f2width\fP, \f2height\fP
|
||||
Specify the pixel width and height of the bitmap image.
|
||||
.TP
|
||||
\f2xorig\fP, \f2yorig\fP
|
||||
Specify the location of the origin in the bitmap image.
|
||||
The origin is measured from the lower left corner of the bitmap,
|
||||
with right and up being the positive axes.
|
||||
.TP
|
||||
\f2xmove\fP, \f2ymove\fP
|
||||
Specify the \f2x\fP and \f2y\fP offsets to be added to the current raster position
|
||||
after the bitmap is drawn.
|
||||
.TP
|
||||
\f2bitmap\fP
|
||||
Specifies the address of the bitmap image.
|
||||
.SH DESCRIPTION
|
||||
A bitmap is a binary image.
|
||||
When drawn,
|
||||
the bitmap is positioned relative to the current raster position,
|
||||
and frame buffer pixels corresponding to 1's in the bitmap are
|
||||
written using the current raster color or index.
|
||||
Frame buffer pixels corresponding to 0's in the bitmap are not modified.
|
||||
.P
|
||||
\%\f3glBitmap\fP takes seven arguments.
|
||||
The first pair specifies the width and height of the bitmap image.
|
||||
The second pair specifies the location of the bitmap origin relative
|
||||
to the lower left corner of the bitmap image.
|
||||
The third pair of arguments specifies \f2x\fP and \f2y\fP offsets to be added
|
||||
to the current raster position after the bitmap has been drawn.
|
||||
The final argument is a pointer to the bitmap image itself.
|
||||
.P
|
||||
The bitmap image is interpreted like image data for the \%\f3glDrawPixels\fP
|
||||
command,
|
||||
with \f2width\fP and \f2height\fP corresponding to the width and height arguments
|
||||
of that command,
|
||||
and with \f2type\fP set to \%\f3GL_BITMAP\fP
|
||||
and \f2format\fP set to \%\f3GL_COLOR_INDEX\fP.
|
||||
.BP
|
||||
Modes specified using \%\f3glPixelStore\fP affect the
|
||||
interpretation of bitmap image data;
|
||||
modes specified using \%\f3glPixelTransfer\fP do not.
|
||||
.P
|
||||
If the current raster position is invalid, \%\f3glBitmap\fP is ignored.
|
||||
Otherwise,
|
||||
the lower left corner of the bitmap image is positioned at the window coordinates
|
||||
.ce
|
||||
.sp
|
||||
$ x sub w ~=~ \(lf ~ x sub r ~-~ x sub o ~ \(rf $
|
||||
.br
|
||||
.sp
|
||||
.ce
|
||||
$ y sub w ~=~ \(lf ~ y sub r ~-~ y sub o ~ \(rf $
|
||||
.sp
|
||||
where $ ( x sub r , y sub r ) $ is the raster position
|
||||
and $ ( x sub o , y sub o ) $ is the bitmap origin.
|
||||
Fragments are then generated for each pixel corresponding to a 1 (one)
|
||||
in the bitmap image.
|
||||
These fragments are generated using the current raster \f2z\fP coordinate,
|
||||
color or color index, and current raster texture coordinates.
|
||||
They are then treated just as if they had been generated
|
||||
by a point, line, or polygon,
|
||||
including texture mapping,
|
||||
.br
|
||||
fogging,
|
||||
and all per-fragment operations such as alpha and depth testing.
|
||||
.P
|
||||
After the bitmap has been drawn,
|
||||
the \f2x\fP and \f2y\fP coordinates of the current raster position are offset by
|
||||
\f2xmove\fP and \f2ymove\fP.
|
||||
No change is made to the \f2z\fP coordinate of the current raster position,
|
||||
or to the current raster color, texture coordinates, or index.
|
||||
.SH NOTES
|
||||
To set a valid raster position outside the viewport, first set a valid
|
||||
raster position inside the viewport, then call \%\f3glBitmap\fP with NULL
|
||||
as the \f2bitmap\fP parameter and with \f2xmove\fP and \f2ymove\fP set to
|
||||
the offsets of the new raster position. This technique is useful when
|
||||
panning an image around the viewport.
|
||||
.SH ERRORS
|
||||
\%\f3GL_INVALID_VALUE\fP is generated if \f2width\fP or \f2height\fP is negative.
|
||||
.P
|
||||
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glBitmap\fP
|
||||
is executed between the execution of \%\f3glBegin\fP and the corresponding execution of
|
||||
\%\f3glEnd\fP.
|
||||
.SH ASSOCIATED GETS
|
||||
\%\f3glGet\fP with argument \%\f3GL_CURRENT_RASTER_POSITION\fP
|
||||
.br
|
||||
\%\f3glGet\fP with argument \%\f3GL_CURRENT_RASTER_COLOR\fP
|
||||
.br
|
||||
\%\f3glGet\fP with argument \%\f3GL_CURRENT_RASTER_DISTANCE\fP
|
||||
.br
|
||||
\%\f3glGet\fP with argument \%\f3GL_CURRENT_RASTER_INDEX\fP
|
||||
.br
|
||||
\%\f3glGet\fP with argument \%\f3GL_CURRENT_RASTER_TEXTURE_COORDS\fP
|
||||
.br
|
||||
\%\f3glGet\fP with argument \%\f3GL_CURRENT_RASTER_POSITION_VALID\fP
|
||||
.SH SEE ALSO
|
||||
\%\f3glDrawPixels(3G)\fP,
|
||||
\%\f3glPixelStore(3G)\fP,
|
||||
\%\f3glPixelTransfer(3G)\fP,
|
||||
\%\f3glRasterPos(3G)\fP
|
||||
|
|
@ -1,52 +0,0 @@
|
|||
'\" e
|
||||
'\"! eqn | mmdoc
|
||||
'\"macro stdmacro
|
||||
.ds Vn Version 1.2
|
||||
.ds Dt 24 September 1999
|
||||
.ds Re Release 1.2.1
|
||||
.ds Dp Jan 14 18:30
|
||||
.ds Dm 01 blendcolo
|
||||
.ds Xs 21257 4 blendcolor.gl
|
||||
.TH GLBLENDCOLOR 3G
|
||||
.SH NAME
|
||||
.B "glBlendColor
|
||||
\- set the blend color
|
||||
|
||||
.SH C SPECIFICATION
|
||||
void \f3glBlendColor\fP(
|
||||
GLclampf \fIred\fP,
|
||||
.nf
|
||||
.ta \w'\f3void \fPglBlendColor( 'u
|
||||
GLclampf \fIgreen\fP,
|
||||
GLclampf \fIblue\fP,
|
||||
GLclampf \fIalpha\fP )
|
||||
.fi
|
||||
|
||||
.EQ
|
||||
delim $$
|
||||
.EN
|
||||
.SH PARAMETERS
|
||||
.TP \w'\f2red\fP\ \f2green\fP\ \f2blue\fP\ \f2alpha\fP\ \ 'u
|
||||
\f2red\fP, \f2green\fP, \f2blue\fP, \f2alpha\fP
|
||||
specify the components of \%\f3GL_BLEND_COLOR\fP
|
||||
.SH DESCRIPTION
|
||||
The \%\f3GL_BLEND_COLOR\fP may be used to calculate the source and destination
|
||||
blending factors. The color components are clamped to the range [0,\ 1]
|
||||
before being stored. See \%\f3glBlendFunc\fP for a complete description of the
|
||||
blending operations.
|
||||
Initially the \%\f3GL_BLEND_COLOR\fP is set to (0, 0, 0, 0).
|
||||
.SH NOTES
|
||||
\%\f3glBlendColor\fP is part of the \%\f3GL_ARB_imaging\fP subset. \%\f3glBlendColor\fP is present only
|
||||
if \%\f3GL_ARB_imaging\fP is returned when \%\f3glGetString\fP is called with
|
||||
\%\f3GL_EXTENSIONS\fP as its argument.
|
||||
.SH ERRORS
|
||||
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glBlendColor\fP is executed
|
||||
between the execution of \%\f3glBegin\fP and the corresponding
|
||||
execution of \%\f3glEnd\fP.
|
||||
.P
|
||||
.SH ASSOCIATED GETS
|
||||
\%\f3glGet\fP with an argument of \%\f3GL_BLEND_COLOR\fP
|
||||
.SH SEE ALSO
|
||||
\%\f3glBlendEquation(3G)\fP,
|
||||
\%\f3glBlendFunc(3G)\fP,
|
||||
\%\f3glGetString(3G)\fP
|
|
@ -1,146 +0,0 @@
|
|||
'\" te
|
||||
'\"! tbl|eqn | mmdoc
|
||||
'\"macro stdmacro
|
||||
.ds Vn Version 1.2
|
||||
.ds Dt 24 September 1999
|
||||
.ds Re Release 1.2.1
|
||||
.ds Dp Jan 14 18:30
|
||||
.ds Dm 01 blendequa
|
||||
.ds Xs 36751 7 blendequation.gl
|
||||
.TH GLBLENDEQUATION 3G
|
||||
.SH NAME
|
||||
.B "glBlendEquation
|
||||
\- set the blend equation
|
||||
|
||||
.SH C SPECIFICATION
|
||||
void \f3glBlendEquation\fP(
|
||||
GLenum \fImode\fP )
|
||||
.nf
|
||||
.fi
|
||||
|
||||
.EQ
|
||||
delim $$
|
||||
.EN
|
||||
.SH PARAMETERS
|
||||
.TP \w'\f2mode\fP\ \ 'u
|
||||
\f2mode\fP
|
||||
specifies how source and destination colors are combined.
|
||||
It must be \%\f3GL_FUNC_ADD\fP, \%\f3GL_FUNC_SUBTRACT\fP,
|
||||
\%\f3GL_FUNC_REVERSE_SUBTRACT\fP, \%\f3GL_MIN\fP, \%\f3GL_MAX\fP.
|
||||
|
||||
.SH DESCRIPTION
|
||||
The blend equation determines how a new pixel (the ``source'' color)
|
||||
is combined with a pixel already in the framebuffer (the ``destination''
|
||||
color).
|
||||
.TP
|
||||
\%\f3GL_MIN\fP
|
||||
sets the blend equation so that each component of the result color
|
||||
is the minimum of the corresponding components of the source and destination
|
||||
colors.
|
||||
.TP
|
||||
\%\f3GL_MAX\fP
|
||||
sets the blend equation so that each component of the result color
|
||||
is the maximum of the corresponding components of the source and destination
|
||||
colors.
|
||||
.P
|
||||
The remaining blend equations use the source and destination blend factors
|
||||
specified by \%\f3glBlendFunc\fP.
|
||||
See \%\f3glBlendFunc\fP for a description of the various blend factors.
|
||||
.P
|
||||
In the equations that follow, source and destination
|
||||
color components are referred to as
|
||||
$(R sub s, G sub s, B sub s, A sub s )$
|
||||
and
|
||||
$(R sub d, G sub d, B sub d, A sub d )$,
|
||||
respectively.
|
||||
The result color is referred to as
|
||||
$(R sub r, G sub r, B sub r, A sub r )$.
|
||||
The source and destination blend factors are denoted
|
||||
$(s sub R, s sub G, s sub B, s sub A )$ and
|
||||
$(d sub R, d sub G, d sub B, d sub A )$, respectively.
|
||||
For these equations all color components are understood to have values
|
||||
in the range [0,\ 1].
|
||||
.TP
|
||||
\%\f3GL_FUNC_ADD\fP
|
||||
sets the blend equation so that the source and destination
|
||||
data are added.
|
||||
Each component of the source color is
|
||||
multiplied by the corresponding source factor, then
|
||||
each component of the destination color is multiplied
|
||||
by the corresponding destination factor.
|
||||
The result is the componentwise sum of the two products, clamped to the
|
||||
range [0,\ 1].
|
||||
.P
|
||||
.RS
|
||||
.nf
|
||||
.IP
|
||||
$Rr ~=~ mark min (1, ~R sub s~s sub R ~+~ R sub d~d sub R )$
|
||||
$Gr ~=~ lineup min (1, ~G sub s~s sub G ~+~ G sub d~d sub G )$
|
||||
$Br ~=~ lineup min (1, ~B sub s~s sub B ~+~ B sub d~d sub B )$
|
||||
$Ar ~=~ lineup min (1, ~A sub s~s sub A ~+~ A sub d~d sub A )$
|
||||
.fi
|
||||
.RE
|
||||
.TP
|
||||
\%\f3GL_FUNC_SUBTRACT\fP
|
||||
Is like \%\f3GL_FUNC_ADD\fP except the product of the destination factor and
|
||||
the destination color is componentwise subtracted from the product of the
|
||||
source factor and the source color.
|
||||
The result is clamped to the range [0,\ 1].
|
||||
.RS
|
||||
.nf
|
||||
.IP
|
||||
$Rr ~=~ mark max (0 , ~R sub s~s sub R ~-~ R sub d~d sub R )$
|
||||
$Gr ~=~ lineup max (0 , ~G sub s~s sub G ~-~ G sub d~d sub G )$
|
||||
$Br ~=~ lineup max (0 , ~B sub s~s sub B ~-~ B sub d~d sub B )$
|
||||
$Ar ~=~ lineup max (0 , ~A sub s~s sub A ~-~ A sub d~d sub A )$
|
||||
.fi
|
||||
.RE
|
||||
.TP
|
||||
\%\f3GL_FUNC_REVERSE_SUBTRACT\fP
|
||||
Is like \%\f3GL_FUNC_ADD\fP except the product of the source factor and the
|
||||
source color is componentwise subtracted from the product of the destination
|
||||
factor and the destination color.
|
||||
The result is clamped to the range [0,\ 1].
|
||||
.RS
|
||||
.nf
|
||||
.IP
|
||||
$Rr ~=~ mark max (0 , ~R sub d~d sub R ~-~ R sub s~s sub R )$
|
||||
$Gr ~=~ lineup max (0 , ~G sub d~d sub G ~-~ G sub s~s sub G )$
|
||||
$Br ~=~ lineup max (0 , ~B sub d~d sub B ~-~ B sub s~s sub B )$
|
||||
$Ar ~=~ lineup max (0 , ~A sub d~d sub A ~-~ A sub s~s sub A )$
|
||||
.fi
|
||||
.RE
|
||||
.P
|
||||
The \%\f3GL_MIN\fP and \%\f3GL_MAX\fP equations are useful for applications
|
||||
that analyze
|
||||
.br
|
||||
image data (image thresholding against a constant color,
|
||||
for example).
|
||||
The \%\f3GL_FUNC_ADD\fP equation is useful
|
||||
for antialiasing and transparency, among other things.
|
||||
.P
|
||||
Initially, the blend equation is set to \%\f3GL_FUNC_ADD\fP.
|
||||
.P
|
||||
.SH NOTES
|
||||
\%\f3glBlendEquation\fP is part of the \%\f3GL_ARB_imaging\fP subset. \%\f3glBlendEquation\fP is present only
|
||||
if \%\f3GL_ARB_imaging\fP is returned when \%\f3glGetString\fP is called with
|
||||
\%\f3GL_EXTENSIONS\fP as its argument.
|
||||
.P
|
||||
The \%\f3GL_MIN\fP, and \%\f3GL_MAX\fP equations do not use
|
||||
the source or destination factors, only the source and destination colors.
|
||||
.P
|
||||
.SH ERRORS
|
||||
\%\f3GL_INVALID_ENUM\fP is generated if \f2mode\fP is not one of
|
||||
\%\f3GL_FUNC_ADD\fP, \%\f3GL_FUNC_SUBTRACT\fP, \%\f3GL_FUNC_REVERSE_SUBTRACT\fP,
|
||||
\%\f3GL_MAX\fP, or \%\f3GL_MIN\fP.
|
||||
.P
|
||||
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glBlendEquation\fP is executed
|
||||
between the execution of \%\f3glBegin\fP and the corresponding
|
||||
execution of \%\f3glEnd\fP.
|
||||
.SH ASSOCIATED GETS
|
||||
.TP
|
||||
\%\f3glGet\fP with an argument of \%\f3GL_BLEND_EQUATION\fP
|
||||
.SH SEE ALSO
|
||||
\%\f3glGetString(3G)\fP,
|
||||
\%\f3glBlendColor(3G)\fP,
|
||||
\%\f3glBlendFunc(3G)\fP
|
|
@ -1,250 +0,0 @@
|
|||
'\" te
|
||||
'\"! tbl|eqn | mmdoc
|
||||
'\"macro stdmacro
|
||||
.ds Vn Version 1.2
|
||||
.ds Dt 24 September 1999
|
||||
.ds Re Release 1.2.1
|
||||
.ds Dp Jan 14 18:30
|
||||
.ds Dm 01 blendfunc
|
||||
.ds Xs 18970 10 blendfunc.gl
|
||||
.TH GLBLENDFUNC 3G
|
||||
.SH NAME
|
||||
.B "glBlendFunc
|
||||
\- specify pixel arithmetic
|
||||
|
||||
.SH C SPECIFICATION
|
||||
void \f3glBlendFunc\fP(
|
||||
GLenum \fIsfactor\fP,
|
||||
.nf
|
||||
.ta \w'\f3void \fPglBlendFunc( 'u
|
||||
GLenum \fIdfactor\fP )
|
||||
.fi
|
||||
|
||||
.EQ
|
||||
delim $$
|
||||
.EN
|
||||
.SH PARAMETERS
|
||||
.TP \w'\f2sfactor\fP\ \ 'u
|
||||
\f2sfactor\fP
|
||||
Specifies how the red, green, blue,
|
||||
and alpha source blending factors are computed.
|
||||
The following symbolic constants are accepted:
|
||||
\%\f3GL_ZERO\fP,
|
||||
\%\f3GL_ONE\fP,
|
||||
\%\f3GL_DST_COLOR\fP,
|
||||
\%\f3GL_ONE_MINUS_DST_COLOR\fP,
|
||||
\%\f3GL_SRC_ALPHA\fP,
|
||||
\%\f3GL_ONE_MINUS_SRC_ALPHA\fP,
|
||||
\%\f3GL_DST_ALPHA\fP,
|
||||
\%\f3GL_ONE_MINUS_DST_ALPHA\fP, and
|
||||
\%\f3GL_SRC_ALPHA_SATURATE\fP.
|
||||
The initial value is \%\f3GL_ONE\fP.
|
||||
.TE
|
||||
|
||||
Additionally, if the \%\f3GL_ARB_imaging\fP extension is supported, the
|
||||
following constants are accepted:
|
||||
\%\f3GL_CONSTANT_COLOR\fP,
|
||||
\%\f3GL_ONE_MINUS_CONSTANT_COLOR\fP,
|
||||
\%\f3GL_CONSTANT_ALPHA\fP,
|
||||
\%\f3GL_ONE_MINUS_CONSTANT_ALPHA\fP.
|
||||
.TP
|
||||
\f2dfactor\fP
|
||||
Specifies how the red, green, blue,
|
||||
and alpha destination blending factors are computed.
|
||||
Eight symbolic constants are accepted:
|
||||
\%\f3GL_ZERO\fP,
|
||||
\%\f3GL_ONE\fP,
|
||||
\%\f3GL_SRC_COLOR\fP,
|
||||
\%\f3GL_ONE_MINUS_SRC_COLOR\fP,
|
||||
\%\f3GL_SRC_ALPHA\fP,
|
||||
\%\f3GL_ONE_MINUS_SRC_ALPHA\fP,
|
||||
\%\f3GL_DST_ALPHA\fP, and
|
||||
\%\f3GL_ONE_MINUS_DST_ALPHA\fP.
|
||||
The initial value is \%\f3GL_ZERO\fP.
|
||||
.TE
|
||||
|
||||
Additionally, if the \%\f3GL_ARB_imaging\fP extension is supported, the
|
||||
following constants are accepted:
|
||||
\%\f3GL_CONSTANT_COLOR\fP,
|
||||
\%\f3GL_ONE_MINUS_CONSTANT_COLOR\fP,
|
||||
\%\f3GL_CONSTANT_ALPHA\fP,
|
||||
\%\f3GL_ONE_MINUS_CONSTANT_ALPHA\fP.
|
||||
.SH DESCRIPTION
|
||||
In RGBA mode, pixels can be drawn using a function that blends
|
||||
the incoming (source) RGBA values with the RGBA values
|
||||
that are already in the frame buffer (the destination values).
|
||||
Blending is initially disabled.
|
||||
Use \%\f3glEnable\fP and \%\f3glDisable\fP with argument \%\f3GL_BLEND\fP
|
||||
to enable and disable blending.
|
||||
.P
|
||||
\%\f3glBlendFunc\fP defines the operation of blending when it is enabled.
|
||||
\f2sfactor\fP specifies which of nine methods is used to scale the
|
||||
source color components.
|
||||
\f2dfactor\fP specifies which of eight methods is used to scale the
|
||||
destination color components.
|
||||
The eleven possible methods are described in the following table.
|
||||
Each method defines four scale factors,
|
||||
one each for red, green, blue, and alpha.
|
||||
.P
|
||||
In the table and in subsequent equations, source and destination
|
||||
color components are referred to as
|
||||
$(R sub s , G sub s , B sub s , A sub s )$ and
|
||||
$(R sub d , G sub d , B sub d , A sub d )$.
|
||||
The color specified by \%\f3glBlendColor\fP is referred to as
|
||||
$(R sub c , G sub c , B sub c , A sub c )$.
|
||||
They are understood to have integer values between 0 and
|
||||
$(k sub R , k sub G , k sub B , k sub A )$,
|
||||
where
|
||||
.P
|
||||
.RS
|
||||
.ce
|
||||
$k sub c ~=~ 2 sup m sub c - 1$
|
||||
.RE
|
||||
.P
|
||||
and
|
||||
$(m sub R , m sub G , m sub B , m sub A )$
|
||||
is the number of red,
|
||||
green,
|
||||
blue,
|
||||
and alpha bitplanes.
|
||||
.P
|
||||
Source and destination scale factors are referred to as
|
||||
$(s sub R , s sub G , s sub B , s sub A )$ and
|
||||
$(d sub R , d sub G , d sub B , d sub A )$.
|
||||
The scale factors described in the table,
|
||||
denoted $(f sub R , f sub G , f sub B , f sub A )$,
|
||||
represent either source or destination factors.
|
||||
All scale factors have range [0,\ 1].
|
||||
.P
|
||||
.TS
|
||||
center;
|
||||
lb cb
|
||||
l c .
|
||||
_
|
||||
Parameter $(f sub R , ~~ f sub G , ~~ f sub B , ~~ f sub A )$
|
||||
_
|
||||
\%\f3GL_ZERO\fP $(0, ~0, ~0, ~0 )$
|
||||
\%\f3GL_ONE\fP $(1, ~1, ~1, ~1 )$
|
||||
\%\f3GL_SRC_COLOR\fP $(R sub s / k sub R , ~G sub s / k sub G , ~B sub s / k sub B , ~A sub s / k sub A )$
|
||||
\%\f3GL_ONE_MINUS_SRC_COLOR\fP $(1, ~1, ~1, ~1 ) ~-~ (R sub s / k sub R , ~G sub s / k sub G , ~B sub s / k sub B , ~A sub s / k sub A )$
|
||||
\%\f3GL_DST_COLOR\fP $(R sub d / k sub R , ~G sub d / k sub G , ~B sub d / k sub B , ~A sub d / k sub A )$
|
||||
\%\f3GL_ONE_MINUS_DST_COLOR\fP $(1, ~1, ~1, ~1 ) ~-~ (R sub d / k sub R , ~G sub d / k sub G , ~B sub d / k sub B , ~A sub d / k sub A )$
|
||||
\%\f3GL_SRC_ALPHA\fP $(A sub s / k sub A , ~A sub s / k sub A , ~A sub s / k sub A , ~A sub s / k sub A )$
|
||||
\%\f3GL_ONE_MINUS_SRC_ALPHA\fP $(1, ~1, ~1, ~1 ) ~-~ (A sub s / k sub A , ~A sub s / k sub A , ~A sub s / k sub A , ~A sub s / k sub A )$
|
||||
\%\f3GL_DST_ALPHA\fP $(A sub d / k sub A , ~A sub d / k sub A , ~A sub d / k sub A , ~A sub d / k sub A )$
|
||||
\%\f3GL_ONE_MINUS_DST_ALPHA\fP $(1, ~1, ~1, ~1 ) ~-~ (A sub d / k sub A , ~A sub d / k sub A , ~A sub d / k sub A , ~A sub d / k sub A )$
|
||||
\%\f3GL_SRC_ALPHA_SATURATE\fP $(i, ~i, ~i, ~1 )$
|
||||
\%\f3GL_CONSTANT_COLOR\fP $(R sub c, G sub c, B sub c, A sub c)$
|
||||
\%\f3GL_ONE_MINUS_CONSTANT_COLOR\fP $(1, ~1, ~1, ~1 ) ~-~ (R sub c, G sub c, B sub c, A sub c)$
|
||||
\%\f3GL_CONSTANT_ALPHA\fP $(A sub c, A sub c, A sub c, A sub c)$
|
||||
\%\f3GL_ONE_MINUS_CONSTANT_ALPHA\fP $(1, ~1, ~1, ~1 ) ~-~ (A sub c, A sub c, A sub c, A sub c)$
|
||||
_
|
||||
.TE
|
||||
.sp
|
||||
In the table,
|
||||
.P
|
||||
.RS
|
||||
.nf
|
||||
.IP
|
||||
$i ~=~ min (A sub s , ~k sub A ~-~ A sub d ) ~/~ k sub A$
|
||||
.fi
|
||||
.RE
|
||||
.P
|
||||
To determine the blended RGBA values of a pixel when drawing in RGBA mode,
|
||||
the system uses the following equations:
|
||||
.P
|
||||
.RS
|
||||
.nf
|
||||
.IP
|
||||
$R sub d ~=~ mark min ( k sub R, ~R sub s~s sub R~+~R sub d~d sub R )$
|
||||
$G sub d ~=~ lineup min ( k sub G, ~G sub s~s sub G~+~G sub d~d sub G )$
|
||||
$B sub d ~=~ lineup min ( k sub B, ~B sub s~s sub B~+~B sub d~d sub B )$
|
||||
$A sub d ~=~ lineup min ( k sub A, ~A sub s~s sub A~+~A sub d~d sub A )$
|
||||
.fi
|
||||
.RE
|
||||
.P
|
||||
Despite the apparent precision of the above equations,
|
||||
blending arithmetic is not exactly specified,
|
||||
because blending operates with imprecise integer color values.
|
||||
However,
|
||||
a blend factor that should be equal to 1
|
||||
is guaranteed not to modify its multiplicand,
|
||||
and a blend factor equal to 0 reduces its multiplicand to 0.
|
||||
For example,
|
||||
when \f2sfactor\fP is \%\f3GL_SRC_ALPHA\fP,
|
||||
\f2dfactor\fP is \%\f3GL_ONE_MINUS_SRC_ALPHA\fP,
|
||||
and $A sub s$ is equal to $k sub A$,
|
||||
the equations reduce to simple replacement:
|
||||
.P
|
||||
.RS
|
||||
.nf
|
||||
.IP
|
||||
$R sub d ~=~ mark R sub s$
|
||||
$G sub d ~=~ lineup G sub s$
|
||||
$B sub d ~=~ lineup B sub s$
|
||||
$A sub d ~=~ lineup A sub s$
|
||||
.fi
|
||||
.RE
|
||||
.P
|
||||
.SH EXAMPLES
|
||||
.P
|
||||
Transparency is best implemented using blend function
|
||||
(\%\f3GL_SRC_ALPHA\fP, \%\f3GL_ONE_MINUS_SRC_ALPHA\fP)
|
||||
with primitives sorted from farthest to nearest.
|
||||
Note that this transparency calculation does not require
|
||||
the presence of alpha bitplanes in the frame buffer.
|
||||
.P
|
||||
Blend function
|
||||
(\%\f3GL_SRC_ALPHA\fP, \%\f3GL_ONE_MINUS_SRC_ALPHA\fP)
|
||||
is also useful for rendering antialiased points and lines
|
||||
in arbitrary order.
|
||||
.P
|
||||
Polygon antialiasing is optimized using blend function
|
||||
.br
|
||||
(\%\f3GL_SRC_ALPHA_SATURATE\fP, \%\f3GL_ONE\fP)
|
||||
with polygons sorted from nearest to farthest.
|
||||
(See the \%\f3glEnable\fP, \%\f3glDisable\fP reference page and the
|
||||
\%\f3GL_POLYGON_SMOOTH\fP argument for information on polygon antialiasing.)
|
||||
Destination alpha bitplanes,
|
||||
which must be present for this blend function to operate correctly,
|
||||
store the accumulated coverage.
|
||||
.SH NOTES
|
||||
Incoming (source) alpha is correctly thought of as a material opacity,
|
||||
ranging from 1.0 ($K sub A$), representing complete opacity,
|
||||
to 0.0 (0), representing complete
|
||||
transparency.
|
||||
.P
|
||||
When more than one color buffer is enabled for drawing,
|
||||
the GL performs blending separately for each enabled buffer,
|
||||
using the contents of that buffer for destination color.
|
||||
(See \%\f3glDrawBuffer\fP.)
|
||||
.P
|
||||
Blending affects only RGBA rendering.
|
||||
It is ignored by color index renderers.
|
||||
.P
|
||||
\%\f3GL_CONSTANT_COLOR\fP, \%\f3GL_ONE_MINUS_CONSTANT_COLOR\fP,
|
||||
\%\f3GL_CONSTANT_ALPHA\fP, \%\f3GL_ONE_MINUS_CONSTANT_ALPHA\fP are only
|
||||
available if the \%\f3GL_ARB_imaging\fP is supported by your implementation.
|
||||
.SH ERRORS
|
||||
\%\f3GL_INVALID_ENUM\fP is generated if either \f2sfactor\fP or \f2dfactor\fP is not an
|
||||
accepted value.
|
||||
.P
|
||||
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glBlendFunc\fP
|
||||
is executed between the execution of \%\f3glBegin\fP
|
||||
and the corresponding execution of \%\f3glEnd\fP.
|
||||
.SH ASSOCIATED GETS
|
||||
\%\f3glGet\fP with argument \%\f3GL_BLEND_SRC\fP
|
||||
.br
|
||||
\%\f3glGet\fP with argument \%\f3GL_BLEND_DST\fP
|
||||
.br
|
||||
\%\f3glIsEnabled\fP with argument \%\f3GL_BLEND\fP
|
||||
.br
|
||||
.SH SEE ALSO
|
||||
\%\f3glAlphaFunc(3G)\fP,
|
||||
\%\f3glBlendColor(3G)\fP,
|
||||
\%\f3glBlendEquation(3G)\fP,
|
||||
\%\f3glClear(3G)\fP,
|
||||
\%\f3glDrawBuffer(3G)\fP,
|
||||
\%\f3glEnable(3G)\fP,
|
||||
\%\f3glLogicOp(3G)\fP,
|
||||
\%\f3glStencilFunc(3G)\fP
|
|
@ -1,60 +0,0 @@
|
|||
'\"macro stdmacro
|
||||
.ds Vn Version 1.2
|
||||
.ds Dt 24 September 1999
|
||||
.ds Re Release 1.2.1
|
||||
.ds Dp Jan 14 18:30
|
||||
.ds Dm 01 calllist.
|
||||
.ds Xs 42225 4 calllist.gl
|
||||
.TH GLCALLLIST 3G
|
||||
.SH NAME
|
||||
.B "glCallList
|
||||
\- execute a display list
|
||||
|
||||
.SH C SPECIFICATION
|
||||
void \f3glCallList\fP(
|
||||
GLuint \fIlist\fP )
|
||||
.nf
|
||||
.fi
|
||||
|
||||
.SH PARAMETERS
|
||||
.TP \w'\f2list\fP\ \ 'u
|
||||
\f2list\fP
|
||||
Specifies the integer name of the display list to be executed.
|
||||
.SH DESCRIPTION
|
||||
\%\f3glCallList\fP causes the named display list to be executed.
|
||||
The commands saved in the display list are executed in order,
|
||||
just as if they were called without using a display list.
|
||||
If \f2list\fP has not been defined as a display list,
|
||||
\%\f3glCallList\fP is ignored.
|
||||
.P
|
||||
\%\f3glCallList\fP can appear inside a display list.
|
||||
To avoid the possibility of infinite recursion resulting from display lists
|
||||
calling one another,
|
||||
a limit is placed on the nesting level of display
|
||||
lists during display-list execution.
|
||||
This limit is at least 64, and it depends on the implementation.
|
||||
.P
|
||||
GL state is not saved and restored across a call to \%\f3glCallList\fP.
|
||||
Thus,
|
||||
changes made to GL state during the execution of a display list
|
||||
remain after execution of the display list is completed.
|
||||
Use \%\f3glPushAttrib\fP,
|
||||
\%\f3glPopAttrib\fP,
|
||||
\%\f3glPushMatrix\fP,
|
||||
and \%\f3glPopMatrix\fP to preserve GL state across \%\f3glCallList\fP calls.
|
||||
.SH NOTES
|
||||
Display lists can be executed between a call to \%\f3glBegin\fP
|
||||
and the corresponding call to \%\f3glEnd\fP,
|
||||
as long as the display list includes only commands that are allowed
|
||||
in this interval.
|
||||
.SH ASSOCIATED GETS
|
||||
\%\f3glGet\fP with argument \%\f3GL_MAX_LIST_NESTING\fP
|
||||
.br
|
||||
\%\f3glIsList\fP
|
||||
.SH SEE ALSO
|
||||
\%\f3glCallLists(3G)\fP,
|
||||
\%\f3glDeleteLists(3G)\fP,
|
||||
\%\f3glGenLists(3G)\fP,
|
||||
\%\f3glNewList(3G)\fP,
|
||||
\%\f3glPushAttrib(3G)\fP,
|
||||
\%\f3glPushMatrix(3G)\fP
|
|
@ -1,165 +0,0 @@
|
|||
'\"macro stdmacro
|
||||
.ds Vn Version 1.2
|
||||
.ds Dt 24 September 1999
|
||||
.ds Re Release 1.2.1
|
||||
.ds Dp Jan 14 18:30
|
||||
.ds Dm 01 calllists
|
||||
.ds Xs 46352 7 calllists.gl
|
||||
.TH GLCALLLISTS 3G
|
||||
.SH NAME
|
||||
.B "glCallLists
|
||||
\- execute a list of display lists
|
||||
|
||||
.SH C SPECIFICATION
|
||||
void \f3glCallLists\fP(
|
||||
GLsizei \fIn\fP,
|
||||
.nf
|
||||
.ta \w'\f3void \fPglCallLists( 'u
|
||||
GLenum \fItype\fP,
|
||||
const GLvoid \fI*lists\fP )
|
||||
.fi
|
||||
|
||||
.SH PARAMETERS
|
||||
.TP \w'\fIlists\fP\ \ 'u
|
||||
\f2n\fP
|
||||
Specifies the number of display lists to be executed.
|
||||
.TP
|
||||
\f2type\fP
|
||||
Specifies the type of values in \f2lists\fP.
|
||||
Symbolic constants
|
||||
\%\f3GL_BYTE\fP,
|
||||
\%\f3GL_UNSIGNED_BYTE\fP,
|
||||
\%\f3GL_SHORT\fP,
|
||||
\%\f3GL_UNSIGNED_SHORT\fP,
|
||||
\%\f3GL_INT\fP,
|
||||
\%\f3GL_UNSIGNED_INT\fP,
|
||||
\%\f3GL_FLOAT\fP,
|
||||
\%\f3GL_2_BYTES\fP,
|
||||
\%\f3GL_3_BYTES\fP, and
|
||||
\%\f3GL_4_BYTES\fP are accepted.
|
||||
.TP
|
||||
\f2lists\fP
|
||||
Specifies the address of an array of name offsets in the display list.
|
||||
The pointer type is void because the offsets can be bytes,
|
||||
shorts,
|
||||
ints,
|
||||
or floats,
|
||||
depending on the value of \f2type\fP.
|
||||
.SH DESCRIPTION
|
||||
\%\f3glCallLists\fP causes each display list in the list of names passed as \f2lists\fP
|
||||
to be executed.
|
||||
As a result,
|
||||
the commands saved in each display list are executed in order,
|
||||
just as if they were called without using a display list.
|
||||
Names of display lists that have not been defined are ignored.
|
||||
.P
|
||||
\%\f3glCallLists\fP provides an efficient means for executing more than one display list.
|
||||
\f2type\fP allows lists with various name formats to be accepted.
|
||||
The formats are as follows:
|
||||
.TP 25
|
||||
\%\f3GL_BYTE\fP
|
||||
\f2lists\fP is treated as an array of signed bytes,
|
||||
each in the range \-128 through 127.
|
||||
.TP
|
||||
\%\f3GL_UNSIGNED_BYTE\fP
|
||||
\f2lists\fP is treated as an array of unsigned bytes,
|
||||
each in the range 0 through 255.
|
||||
.TP
|
||||
\%\f3GL_SHORT\fP
|
||||
\f2lists\fP is treated as an array of signed two-byte integers,
|
||||
each in the range \-32768 through 32767.
|
||||
.TP
|
||||
\%\f3GL_UNSIGNED_SHORT\fP
|
||||
\f2lists\fP is treated as an array of unsigned two-byte integers,
|
||||
each in the range 0 through 65535.
|
||||
.TP
|
||||
\%\f3GL_INT\fP
|
||||
\f2lists\fP is treated as an array of signed four-byte integers.
|
||||
.TP
|
||||
\%\f3GL_UNSIGNED_INT\fP
|
||||
\f2lists\fP is treated as an array of unsigned four-byte integers.
|
||||
.TP
|
||||
\%\f3GL_FLOAT\fP
|
||||
\f2lists\fP is treated as an array of four-byte floating-point values.
|
||||
.TP
|
||||
\%\f3GL_2_BYTES\fP
|
||||
\f2lists\fP is treated as an array of unsigned bytes.
|
||||
Each pair of bytes specifies a single display-list name.
|
||||
The value of the pair is computed as 256 times the unsigned value
|
||||
of the first byte plus the unsigned value of the second byte.
|
||||
.TP
|
||||
\%\f3GL_3_BYTES\fP
|
||||
\f2lists\fP is treated as an array of unsigned bytes.
|
||||
Each triplet of bytes specifies a single display-list name.
|
||||
The value of the triplet is computed as 65536 times the unsigned value
|
||||
of the first byte,
|
||||
plus 256 times the unsigned value of the second byte,
|
||||
plus the unsigned value of the third byte.
|
||||
.TP
|
||||
\%\f3GL_4_BYTES\fP
|
||||
\f2lists\fP is treated as an array of unsigned bytes.
|
||||
Each quadruplet of bytes specifies a single display-list name.
|
||||
The value of the quadruplet is computed as 16777216 times the unsigned value
|
||||
of the first byte,
|
||||
plus 65536 times the unsigned value of the second byte,
|
||||
plus 256 times the unsigned value of the third byte,
|
||||
plus the unsigned value of the fourth byte.
|
||||
.P
|
||||
The list of display-list names is not null-terminated.
|
||||
Rather,
|
||||
\f2n\fP specifies how many names are to be taken from \f2lists\fP.
|
||||
.P
|
||||
An additional level of indirection is made available with the
|
||||
\%\f3glListBase\fP command,
|
||||
which specifies an unsigned offset that is added to each display-list
|
||||
name specified in \f2lists\fP before that display list is executed.
|
||||
.P
|
||||
\%\f3glCallLists\fP can appear inside a display list.
|
||||
To avoid the possibility of infinite recursion resulting from display lists
|
||||
calling one another,
|
||||
a limit is placed on the nesting level of display
|
||||
lists during display-list execution.
|
||||
This limit must be at least 64, and it depends on the implementation.
|
||||
.P
|
||||
GL state is not saved and restored across a call to \%\f3glCallLists\fP.
|
||||
Thus,
|
||||
changes made to GL state during the execution of the display lists
|
||||
remain after execution is completed.
|
||||
Use \%\f3glPushAttrib\fP,
|
||||
\%\f3glPopAttrib\fP,
|
||||
\%\f3glPushMatrix\fP,
|
||||
and \%\f3glPopMatrix\fP to preserve GL state across \%\f3glCallLists\fP calls.
|
||||
.SH NOTES
|
||||
Display lists can be executed between a call to \%\f3glBegin\fP
|
||||
and the corresponding call to \%\f3glEnd\fP,
|
||||
as long as the display list includes only commands that are allowed
|
||||
in this interval.
|
||||
.SH ERRORS
|
||||
\%\f3GL_INVALID_VALUE\fP is generated if \f2n\fP is negative.
|
||||
.P
|
||||
\%\f3GL_INVALID_ENUM\fP is generated if \f2type\fP is not one of
|
||||
\%\f3GL_BYTE\fP,
|
||||
\%\f3GL_UNSIGNED_BYTE\fP,
|
||||
\%\f3GL_SHORT\fP,
|
||||
\%\f3GL_UNSIGNED_SHORT\fP,
|
||||
\%\f3GL_INT\fP,
|
||||
\%\f3GL_UNSIGNED_INT\fP,
|
||||
\%\f3GL_FLOAT\fP,
|
||||
\%\f3GL_2_BYTES\fP,
|
||||
\%\f3GL_3_BYTES\fP,
|
||||
\%\f3GL_4_BYTES\fP.
|
||||
.SH ASSOCIATED GETS
|
||||
\%\f3glGet\fP with argument \%\f3GL_LIST_BASE\fP
|
||||
.br
|
||||
\%\f3glGet\fP with argument \%\f3GL_MAX_LIST_NESTING\fP
|
||||
.br
|
||||
\%\f3glIsList\fP
|
||||
.SH SEE ALSO
|
||||
\%\f3glCallList(3G)\fP,
|
||||
\%\f3glDeleteLists(3G)\fP,
|
||||
\%\f3glGenLists(3G)\fP,
|
||||
\%\f3glListBase(3G)\fP,
|
||||
\%\f3glNewList(3G)\fP,
|
||||
\%\f3glPushAttrib(3G)\fP,
|
||||
.br
|
||||
\%\f3glPushMatrix(3G)\fP
|
|
@ -1,98 +0,0 @@
|
|||
'\" te
|
||||
'\"! tbl|eqn | mmdoc
|
||||
'\"macro stdmacro
|
||||
.ds Vn Version 1.2
|
||||
.ds Dt 24 September 1999
|
||||
.ds Re Release 1.2.1
|
||||
.ds Dp Jan 14 18:30
|
||||
.ds Dm 01 clear.gl
|
||||
.ds Xs 16977 5 clear.gl
|
||||
.TH GLCLEAR 3G
|
||||
.SH NAME
|
||||
.B "glClear
|
||||
\- clear buffers to preset values
|
||||
|
||||
.SH C SPECIFICATION
|
||||
void \f3glClear\fP(
|
||||
GLbitfield \fImask\fP )
|
||||
.nf
|
||||
.fi
|
||||
|
||||
.SH PARAMETERS
|
||||
.TP \w'\f2mask\fP\ \ 'u
|
||||
\f2mask\fP
|
||||
Bitwise OR of masks that indicate the buffers to be cleared.
|
||||
The four masks are
|
||||
\%\f3GL_COLOR_BUFFER_BIT\fP,
|
||||
\%\f3GL_DEPTH_BUFFER_BIT\fP,
|
||||
\%\f3GL_ACCUM_BUFFER_BIT\fP, and
|
||||
\%\f3GL_STENCIL_BUFFER_BIT\fP.
|
||||
.SH DESCRIPTION
|
||||
\%\f3glClear\fP sets the bitplane area of the window to values previously selected
|
||||
by \%\f3glClearColor\fP, \%\f3glClearIndex\fP, \%\f3glClearDepth\fP,
|
||||
\%\f3glClearStencil\fP, and \%\f3glClearAccum\fP.
|
||||
Multiple color buffers can be cleared simultaneously by selecting
|
||||
more than one buffer at a time using \%\f3glDrawBuffer\fP.
|
||||
.P
|
||||
The pixel ownership test,
|
||||
the scissor test,
|
||||
dithering, and the buffer writemasks affect the operation of \%\f3glClear\fP.
|
||||
The scissor box bounds the cleared region.
|
||||
Alpha function,
|
||||
blend function,
|
||||
logical operation,
|
||||
stenciling,
|
||||
texture mapping,
|
||||
and depth-buffering are ignored by \%\f3glClear\fP.
|
||||
.P
|
||||
\%\f3glClear\fP takes a single argument that is the bitwise OR of several
|
||||
values indicating which buffer is to be cleared.
|
||||
.P
|
||||
The values are as follows:
|
||||
.TP 28
|
||||
\%\f3GL_COLOR_BUFFER_BIT\fP
|
||||
Indicates the buffers currently enabled for color
|
||||
writing.
|
||||
.TP
|
||||
\%\f3GL_DEPTH_BUFFER_BIT\fP
|
||||
Indicates the depth buffer.
|
||||
.TP
|
||||
\%\f3GL_ACCUM_BUFFER_BIT\fP
|
||||
Indicates the accumulation buffer.
|
||||
.TP
|
||||
\%\f3GL_STENCIL_BUFFER_BIT\fP
|
||||
Indicates the stencil buffer.
|
||||
.P
|
||||
The value to which each buffer is cleared depends on the setting of the
|
||||
clear value for that buffer.
|
||||
.SH NOTES
|
||||
If a buffer is not present,
|
||||
then a \%\f3glClear\fP directed at that buffer has no effect.
|
||||
.SH ERRORS
|
||||
\%\f3GL_INVALID_VALUE\fP is generated if any bit other than the four defined
|
||||
bits is set in \f2mask\fP.
|
||||
.P
|
||||
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glClear\fP
|
||||
is executed between the execution of \%\f3glBegin\fP
|
||||
and the corresponding execution of \%\f3glEnd\fP.
|
||||
.SH ASSOCIATED GETS
|
||||
\%\f3glGet\fP with argument \%\f3GL_ACCUM_CLEAR_VALUE\fP
|
||||
.br
|
||||
\%\f3glGet\fP with argument \%\f3GL_DEPTH_CLEAR_VALUE\fP
|
||||
.br
|
||||
\%\f3glGet\fP with argument \%\f3GL_INDEX_CLEAR_VALUE\fP
|
||||
.br
|
||||
\%\f3glGet\fP with argument \%\f3GL_COLOR_CLEAR_VALUE\fP
|
||||
.br
|
||||
\%\f3glGet\fP with argument \%\f3GL_STENCIL_CLEAR_VALUE\fP
|
||||
.SH SEE ALSO
|
||||
\%\f3glClearAccum(3G)\fP,
|
||||
\%\f3glClearColor(3G)\fP,
|
||||
\%\f3glClearDepth(3G)\fP,
|
||||
\%\f3glClearIndex(3G)\fP,
|
||||
\%\f3glClearStencil(3G)\fP,
|
||||
\%\f3glColorMask(3G)\fP,
|
||||
\%\f3glDepthMask(3G)\fP,
|
||||
\%\f3glDrawBuffer(3G)\fP,
|
||||
\%\f3glScissor(3G)\fP,
|
||||
\%\f3glStencilMask(3G)\fP
|
|
@ -1,45 +0,0 @@
|
|||
'\" te
|
||||
'\"! tbl|eqn | mmdoc
|
||||
'\"macro stdmacro
|
||||
.ds Vn Version 1.2
|
||||
.ds Dt 24 September 1999
|
||||
.ds Re Release 1.2.1
|
||||
.ds Dp Jan 14 18:30
|
||||
.ds Dm 01 clearaccu
|
||||
.ds Xs 2071 3 clearaccum.gl
|
||||
.TH GLCLEARACCUM 3G
|
||||
.SH NAME
|
||||
.B "glClearAccum
|
||||
\- specify clear values for the accumulation buffer
|
||||
|
||||
.SH C SPECIFICATION
|
||||
void \f3glClearAccum\fP(
|
||||
GLfloat \fIred\fP,
|
||||
.nf
|
||||
.ta \w'\f3void \fPglClearAccum( 'u
|
||||
GLfloat \fIgreen\fP,
|
||||
GLfloat \fIblue\fP,
|
||||
GLfloat \fIalpha\fP )
|
||||
.fi
|
||||
|
||||
.SH PARAMETERS
|
||||
.TP \w'\f2red\fP\ \f2green\fP\ \f2blue\fP\ \f2alpha\fP\ \ 'u
|
||||
\f2red\fP, \f2green\fP, \f2blue\fP, \f2alpha\fP
|
||||
Specify the red, green, blue, and alpha values used when the
|
||||
accumulation buffer is cleared.
|
||||
The initial values are all 0.
|
||||
.SH DESCRIPTION
|
||||
\%\f3glClearAccum\fP specifies the red, green, blue, and alpha values used by \%\f3glClear\fP
|
||||
to clear the accumulation buffer.
|
||||
.P
|
||||
Values specified by \%\f3glClearAccum\fP are clamped to the
|
||||
range [-1,\ 1].
|
||||
.SH ERRORS
|
||||
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glClearAccum\fP
|
||||
is executed between the execution of \%\f3glBegin\fP
|
||||
and the corresponding execution of \%\f3glEnd\fP.
|
||||
.SH ASSOCIATED GETS
|
||||
\%\f3glGet\fP with argument \%\f3GL_ACCUM_CLEAR_VALUE\fP
|
||||
.SH SEE ALSO
|
||||
\%\f3glAccum(3G)\fP,
|
||||
\%\f3glClear(3G)\fP
|
|
@ -1,44 +0,0 @@
|
|||
'\" te
|
||||
'\"! tbl|eqn | mmdoc
|
||||
'\"macro stdmacro
|
||||
.ds Vn Version 1.2
|
||||
.ds Dt 24 September 1999
|
||||
.ds Re Release 1.2.1
|
||||
.ds Dp Jan 14 18:30
|
||||
.ds Dm 01 clearcolo
|
||||
.ds Xs 36439 3 clearcolor.gl
|
||||
.TH GLCLEARCOLOR 3G
|
||||
.SH NAME
|
||||
.B "glClearColor
|
||||
\- specify clear values for the color buffers
|
||||
|
||||
.SH C SPECIFICATION
|
||||
void \f3glClearColor\fP(
|
||||
GLclampf \fIred\fP,
|
||||
.nf
|
||||
.ta \w'\f3void \fPglClearColor( 'u
|
||||
GLclampf \fIgreen\fP,
|
||||
GLclampf \fIblue\fP,
|
||||
GLclampf \fIalpha\fP )
|
||||
.fi
|
||||
|
||||
.SH PARAMETERS
|
||||
.TP \w'\f2red\fP\ \f2green\fP\ \f2blue\fP\ \f2alpha\fP\ \ 'u
|
||||
\f2red\fP, \f2green\fP, \f2blue\fP, \f2alpha\fP
|
||||
Specify the red, green, blue, and alpha values used when the
|
||||
color buffers are cleared.
|
||||
The initial values are all 0.
|
||||
.SH DESCRIPTION
|
||||
\%\f3glClearColor\fP specifies the red,
|
||||
green,
|
||||
blue,
|
||||
and alpha values used by \%\f3glClear\fP to clear the color buffers.
|
||||
Values specified by \%\f3glClearColor\fP are clamped to the range [0,\ 1].
|
||||
.SH ERRORS
|
||||
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glClearColor\fP
|
||||
is executed between the execution of \%\f3glBegin\fP
|
||||
and the corresponding execution of \%\f3glEnd\fP.
|
||||
.SH ASSOCIATED GETS
|
||||
\%\f3glGet\fP with argument \%\f3GL_COLOR_CLEAR_VALUE\fP
|
||||
.SH SEE ALSO
|
||||
\%\f3glClear(3G)\fP
|
|
@ -1,36 +0,0 @@
|
|||
'\" te
|
||||
'\"! tbl|eqn | mmdoc
|
||||
'\"macro stdmacro
|
||||
.ds Vn Version 1.2
|
||||
.ds Dt 24 September 1999
|
||||
.ds Re Release 1.2.1
|
||||
.ds Dp Jan 14 18:30
|
||||
.ds Dm 01 cleardept
|
||||
.ds Xs 62352 3 cleardepth.gl
|
||||
.TH GLCLEARDEPTH 3G
|
||||
.SH NAME
|
||||
.B "glClearDepth
|
||||
\- specify the clear value for the depth buffer
|
||||
|
||||
.SH C SPECIFICATION
|
||||
void \f3glClearDepth\fP(
|
||||
GLclampd \fIdepth\fP )
|
||||
.nf
|
||||
.fi
|
||||
|
||||
.SH PARAMETERS
|
||||
.TP \w'\f2depth\fP\ \ 'u
|
||||
\f2depth\fP
|
||||
Specifies the depth value used when the depth buffer is cleared. The
|
||||
initial value is 1.
|
||||
.SH DESCRIPTION
|
||||
\%\f3glClearDepth\fP specifies the depth value used by \%\f3glClear\fP to clear the depth buffer.
|
||||
Values specified by \%\f3glClearDepth\fP are clamped to the range [0,\ 1].
|
||||
.SH ERRORS
|
||||
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glClearDepth\fP
|
||||
is executed between the execution of \%\f3glBegin\fP
|
||||
and the corresponding execution of \%\f3glEnd\fP.
|
||||
.SH ASSOCIATED GETS
|
||||
\%\f3glGet\fP with argument \%\f3GL_DEPTH_CLEAR_VALUE\fP
|
||||
.SH SEE ALSO
|
||||
\%\f3glClear(3G)\fP
|
|
@ -1,47 +0,0 @@
|
|||
'\" e
|
||||
'\"! eqn | mmdoc
|
||||
'\"macro stdmacro
|
||||
.ds Vn Version 1.2
|
||||
.ds Dt 24 September 1999
|
||||
.ds Re Release 1.2.1
|
||||
.ds Dp Jan 14 18:30
|
||||
.ds Dm 01 clearinde
|
||||
.ds Xs 34830 3 clearindex.gl
|
||||
.TH GLCLEARINDEX 3G
|
||||
.SH NAME
|
||||
.B "glClearIndex
|
||||
\- specify the clear value for the color index buffers
|
||||
|
||||
.SH C SPECIFICATION
|
||||
void \f3glClearIndex\fP(
|
||||
GLfloat \fIc\fP )
|
||||
.nf
|
||||
.fi
|
||||
|
||||
.EQ
|
||||
delim $$
|
||||
.EN
|
||||
.SH PARAMETERS
|
||||
.TP \w'\f2c\fP\ \ 'u
|
||||
\f2c\fP
|
||||
Specifies the index used when the color index buffers are cleared.
|
||||
The initial value is 0.
|
||||
.SH DESCRIPTION
|
||||
\%\f3glClearIndex\fP specifies the index used by \%\f3glClear\fP
|
||||
to clear the color index buffers.
|
||||
\f2c\fP is not clamped.
|
||||
Rather,
|
||||
\f2c\fP is converted to a fixed-point value with unspecified precision
|
||||
to the right of the binary point.
|
||||
The integer part of this value is then masked with $2 sup m^-^1$,
|
||||
where $m$ is the number of bits in a color index stored in the frame buffer.
|
||||
.SH ERRORS
|
||||
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glClearIndex\fP
|
||||
is executed between the execution of \%\f3glBegin\fP
|
||||
and the corresponding execution of \%\f3glEnd\fP.
|
||||
.SH ASSOCIATED GETS
|
||||
\%\f3glGet\fP with argument \%\f3GL_INDEX_CLEAR_VALUE\fP
|
||||
.br
|
||||
\%\f3glGet\fP with argument \%\f3GL_INDEX_BITS\fP
|
||||
.SH SEE ALSO
|
||||
\%\f3glClear(3G)\fP
|
|
@ -1,45 +0,0 @@
|
|||
'\" te
|
||||
'\"! tbl|eqn | mmdoc
|
||||
'\"macro stdmacro
|
||||
.ds Vn Version 1.2
|
||||
.ds Dt 24 September 1999
|
||||
.ds Re Release 1.2.1
|
||||
.ds Dp Jan 14 18:30
|
||||
.ds Dm 01 clearsten
|
||||
.ds Xs 64794 3 clearstencil.gl
|
||||
.TH GLCLEARSTENCIL 3G
|
||||
.SH NAME
|
||||
.B "glClearStencil
|
||||
\- specify the clear value for the stencil buffer
|
||||
|
||||
.SH C SPECIFICATION
|
||||
void \f3glClearStencil\fP(
|
||||
GLint \fIs\fP )
|
||||
.nf
|
||||
.fi
|
||||
|
||||
.EQ
|
||||
delim $$
|
||||
.EN
|
||||
.SH PARAMETERS
|
||||
.TP \w'\f2s\fP\ \ 'u
|
||||
\f2s\fP
|
||||
Specifies the index used when the stencil buffer is cleared.
|
||||
The initial value is 0.
|
||||
.SH DESCRIPTION
|
||||
\%\f3glClearStencil\fP specifies the index used by \%\f3glClear\fP to clear the stencil buffer.
|
||||
\f2s\fP is masked with $2 sup m^-^1$,
|
||||
where $m$ is the number of bits in the stencil buffer.
|
||||
.SH ERRORS
|
||||
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glClearStencil\fP
|
||||
is executed between the execution of \%\f3glBegin\fP
|
||||
and the corresponding execution of \%\f3glEnd\fP.
|
||||
.SH ASSOCIATED GETS
|
||||
\%\f3glGet\fP with argument \%\f3GL_STENCIL_CLEAR_VALUE\fP
|
||||
.br
|
||||
\%\f3glGet\fP with argument \%\f3GL_STENCIL_BITS\fP
|
||||
.SH SEE ALSO
|
||||
\%\f3glClear(3G)\fP,
|
||||
\%\f3glStencilFunc(3G)\fP,
|
||||
\%\f3glStencilOp(3G)\fP,
|
||||
\%\f3glStencilMask(3G)\fP
|
|
@ -1,54 +0,0 @@
|
|||
'\" et
|
||||
'\"! eqn|tbl | mmdoc
|
||||
'\"macro stdmacro
|
||||
.ds Vn Version 1.2
|
||||
.ds Dt 24 September 1999
|
||||
.ds Re Release 1.2.1
|
||||
.ds Dp Jan 14 19:46
|
||||
.ds Dm 001 clientac
|
||||
.ds Xs 18566 4 clientactivetextureARB.gl
|
||||
.TH GLCLIENTACTIVETEXTUREARB 3G
|
||||
.SH NAME
|
||||
.B "glClientActiveTextureARB
|
||||
\- select active texture unit
|
||||
|
||||
.SH C SPECIFICATION
|
||||
void \f3glClientActiveTextureARB\fP(
|
||||
GLenum \fItexture\fP )
|
||||
.nf
|
||||
.fi
|
||||
|
||||
.EQ
|
||||
delim $$
|
||||
.EN
|
||||
.SH PARAMETERS
|
||||
.TP \w'\f2texture\fP\ \ 'u
|
||||
\f2texture\fP
|
||||
Specifies which texture unit to make active. The number
|
||||
of texture units is implementation dependent, but must be at least
|
||||
two. \f2texture\fP must be one of \%\f3GL_TEXTURE\fP$i$\f3_ARB\fP
|
||||
where 0 \(<= $ i $ < \%\f3GL_MAX_TEXTURE_UNITS_ARB\fP, which is an
|
||||
implementation-dependent value. The initial value is
|
||||
\%\f3GL_TEXTURE0_ARB\fP.
|
||||
.SH DESCRIPTION
|
||||
\%\f3glClientActiveTextureARB\fP selects the vertex array client state parameters to be modified by
|
||||
\%\f3glTexCoordPointer\fP, and enabled or disabled with
|
||||
\%\f3glEnableClientState\fP or \%\f3glDisableClientState\fP, respectively,
|
||||
when called with a parameter of \%\f3GL_TEXTURE_COORD_ARRAY\fP.
|
||||
.SH NOTES
|
||||
\%\f3glClientActiveTextureARB\fP is supported only if \%\f3GL_ARB_multitexture\fP is included in the
|
||||
string returned by \%\f3glGetString\fP when called with the argument
|
||||
\%\f3GL_EXTENSIONS\fP.
|
||||
.P
|
||||
\%\f3glClientActiveTextureARB\fP sets \%\f3GL_CLIENT_ACTIVE_TEXTURE_ARB\fP to the active texture unit.
|
||||
.SH ERRORS
|
||||
\%\f3GL_INVALID_ENUM\fP is generated if \f2texture\fP is not one of
|
||||
\%\f3GL_TEXTURE\fP$i$\f3_ARB\fP, where
|
||||
0 \(<= $ i $ < \%\f3GL_MAX_TEXTURE_UNITS_ARB\fP.
|
||||
.SH SEE ALSO
|
||||
\%\f3glActiveTextureARB(3G)\fP,
|
||||
\%\f3glDisableClientState(3G)\fP,
|
||||
\%\f3glEnableClientState(3G)\fP,
|
||||
\%\f3glMultiTexCoordARB(3G)\fP,
|
||||
\%\f3glTexCoordPointer(3G)\fP
|
||||
|
|
@ -1,81 +0,0 @@
|
|||
'\" e
|
||||
'\"! eqn | mmdoc
|
||||
'\"macro stdmacro
|
||||
.ds Vn Version 1.2
|
||||
.ds Dt 24 September 1999
|
||||
.ds Re Release 1.2.1
|
||||
.ds Dp Jan 14 18:30
|
||||
.ds Dm 01 clipplane
|
||||
.ds Xs 34226 5 clipplane.gl
|
||||
.TH GLCLIPPLANE 3G
|
||||
.SH NAME
|
||||
.B "glClipPlane
|
||||
\- specify a plane against which all geometry is clipped
|
||||
|
||||
.SH C SPECIFICATION
|
||||
void \f3glClipPlane\fP(
|
||||
GLenum \fIplane\fP,
|
||||
.nf
|
||||
.ta \w'\f3void \fPglClipPlane( 'u
|
||||
const GLdouble \fI*equation\fP )
|
||||
.fi
|
||||
|
||||
.EQ
|
||||
delim $$
|
||||
.EN
|
||||
.SH PARAMETERS
|
||||
.TP \w'\fIequation\fP\ \ 'u
|
||||
\f2plane\fP
|
||||
Specifies which clipping plane is being positioned.
|
||||
Symbolic names of the form \%\f3GL_CLIP_PLANE\fP\f2i\fP,
|
||||
where \f2i\fP is an integer between 0 and \%\f3GL_MAX_CLIP_PLANES\fP$^-^1$,
|
||||
are accepted.
|
||||
.TP
|
||||
\f2equation\fP
|
||||
Specifies the address of an array of four double-precision floating-point values.
|
||||
These values are interpreted as a plane equation.
|
||||
.SH DESCRIPTION
|
||||
Geometry is always clipped against the boundaries of a six-plane frustum
|
||||
in \f2x\fP, \f2y\fP, and \f2z\fP.
|
||||
\%\f3glClipPlane\fP allows the specification of additional planes,
|
||||
not necessarily perpendicular to the \f2x\fP, \f2y\fP, or \f2z\fP axis,
|
||||
against which all geometry is clipped.
|
||||
To determine the maximum number of additional clipping planes, call
|
||||
\%\f3glGetIntegerv\fP with argument \%\f3GL_MAX_CLIP_PLANES\fP. All
|
||||
implementations support at least six such clipping planes.
|
||||
Because the resulting clipping region is the intersection
|
||||
of the defined half-spaces,
|
||||
it is always convex.
|
||||
.P
|
||||
\%\f3glClipPlane\fP specifies a half-space using a four-component plane equation.
|
||||
When \%\f3glClipPlane\fP is called,
|
||||
\f2equation\fP is transformed by the inverse of the modelview matrix
|
||||
and stored in the resulting eye coordinates.
|
||||
Subsequent changes to the modelview matrix have no effect on the
|
||||
stored plane-equation components.
|
||||
If the dot product of the eye coordinates of a vertex with the
|
||||
stored plane equation components is positive or zero,
|
||||
the vertex is \f2in\f1 with respect to that clipping plane.
|
||||
Otherwise, it is \f2out\fP.
|
||||
.P
|
||||
To enable and disable clipping planes, call
|
||||
\%\f3glEnable\fP and \%\f3glDisable\fP with the argument
|
||||
\%\f3GL_CLIP_PLANE\fP\f2i\fP,
|
||||
where \f2i\fP is the plane number.
|
||||
.P
|
||||
All clipping planes are initially defined as (0, 0, 0, 0) in eye coordinates
|
||||
and are disabled.
|
||||
.SH NOTES
|
||||
It is always the case that \%\f3GL_CLIP_PLANE\fP$i$ = \%\f3GL_CLIP_PLANE0\fP$~+~i$.
|
||||
.SH ERRORS
|
||||
\%\f3GL_INVALID_ENUM\fP is generated if \f2plane\fP is not an accepted value.
|
||||
.P
|
||||
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glClipPlane\fP
|
||||
is executed between the execution of \%\f3glBegin\fP
|
||||
and the corresponding execution of \%\f3glEnd\fP.
|
||||
.SH ASSOCIATED GETS
|
||||
\%\f3glGetClipPlane\fP
|
||||
.br
|
||||
\%\f3glIsEnabled\fP with argument \%\f3GL_CLIP_PLANE\fP\f2i\fP
|
||||
.SH SEE ALSO
|
||||
\%\f3glEnable(3G)\fP
|
|
@ -1,269 +0,0 @@
|
|||
'\" te
|
||||
'\"! tbl|eqn | mmdoc
|
||||
'\"macro stdmacro
|
||||
.ds Vn Version 1.2
|
||||
.ds Dt 24 September 1999
|
||||
.ds Re Release 1.2.1
|
||||
.ds Dp Jan 14 18:30
|
||||
.ds Dm 01 color.gl
|
||||
.ds Xs 48493 5 color.gl
|
||||
.TH GLCOLOR 3G
|
||||
.SH NAME
|
||||
.B "glColor3b, glColor3d, glColor3f, glColor3i, glColor3s, glColor3ub, glColor3ui, glColor3us, glColor4b, glColor4d, glColor4f, glColor4i, glColor4s, glColor4ub, glColor4ui, glColor4us, glColor3bv, glColor3dv, glColor3fv, glColor3iv, glColor3sv, glColor3ubv, glColor3uiv, glColor3usv, glColor4bv, glColor4dv, glColor4fv, glColor4iv, glColor4sv, glColor4ubv, glColor4uiv, glColor4usv
|
||||
\- set the current color
|
||||
|
||||
.SH C SPECIFICATION
|
||||
void \f3glColor3b\fP(
|
||||
GLbyte \fIred\fP,
|
||||
.nf
|
||||
.ta \w'\f3void \fPglColor3b( 'u
|
||||
GLbyte \fIgreen\fP,
|
||||
GLbyte \fIblue\fP )
|
||||
.fi
|
||||
void \f3glColor3d\fP(
|
||||
GLdouble \fIred\fP,
|
||||
.nf
|
||||
.ta \w'\f3void \fPglColor3d( 'u
|
||||
GLdouble \fIgreen\fP,
|
||||
GLdouble \fIblue\fP )
|
||||
.fi
|
||||
void \f3glColor3f\fP(
|
||||
GLfloat \fIred\fP,
|
||||
.nf
|
||||
.ta \w'\f3void \fPglColor3f( 'u
|
||||
GLfloat \fIgreen\fP,
|
||||
GLfloat \fIblue\fP )
|
||||
.fi
|
||||
void \f3glColor3i\fP(
|
||||
GLint \fIred\fP,
|
||||
.nf
|
||||
.ta \w'\f3void \fPglColor3i( 'u
|
||||
GLint \fIgreen\fP,
|
||||
GLint \fIblue\fP )
|
||||
.fi
|
||||
void \f3glColor3s\fP(
|
||||
GLshort \fIred\fP,
|
||||
.nf
|
||||
.ta \w'\f3void \fPglColor3s( 'u
|
||||
GLshort \fIgreen\fP,
|
||||
GLshort \fIblue\fP )
|
||||
.fi
|
||||
void \f3glColor3ub\fP(
|
||||
GLubyte \fIred\fP,
|
||||
.nf
|
||||
.ta \w'\f3void \fPglColor3ub( 'u
|
||||
GLubyte \fIgreen\fP,
|
||||
GLubyte \fIblue\fP )
|
||||
.fi
|
||||
void \f3glColor3ui\fP(
|
||||
GLuint \fIred\fP,
|
||||
.nf
|
||||
.ta \w'\f3void \fPglColor3ui( 'u
|
||||
GLuint \fIgreen\fP,
|
||||
GLuint \fIblue\fP )
|
||||
.fi
|
||||
void \f3glColor3us\fP(
|
||||
GLushort \fIred\fP,
|
||||
.nf
|
||||
.ta \w'\f3void \fPglColor3us( 'u
|
||||
GLushort \fIgreen\fP,
|
||||
GLushort \fIblue\fP )
|
||||
.fi
|
||||
void \f3glColor4b\fP(
|
||||
GLbyte \fIred\fP,
|
||||
.nf
|
||||
.ta \w'\f3void \fPglColor4b( 'u
|
||||
GLbyte \fIgreen\fP,
|
||||
GLbyte \fIblue\fP,
|
||||
GLbyte \fIalpha\fP )
|
||||
.fi
|
||||
void \f3glColor4d\fP(
|
||||
GLdouble \fIred\fP,
|
||||
.nf
|
||||
.ta \w'\f3void \fPglColor4d( 'u
|
||||
GLdouble \fIgreen\fP,
|
||||
GLdouble \fIblue\fP,
|
||||
GLdouble \fIalpha\fP )
|
||||
.fi
|
||||
void \f3glColor4f\fP(
|
||||
GLfloat \fIred\fP,
|
||||
.nf
|
||||
.ta \w'\f3void \fPglColor4f( 'u
|
||||
GLfloat \fIgreen\fP,
|
||||
GLfloat \fIblue\fP,
|
||||
GLfloat \fIalpha\fP )
|
||||
.fi
|
||||
void \f3glColor4i\fP(
|
||||
GLint \fIred\fP,
|
||||
.nf
|
||||
.ta \w'\f3void \fPglColor4i( 'u
|
||||
GLint \fIgreen\fP,
|
||||
GLint \fIblue\fP,
|
||||
GLint \fIalpha\fP )
|
||||
.fi
|
||||
void \f3glColor4s\fP(
|
||||
GLshort \fIred\fP,
|
||||
.nf
|
||||
.ta \w'\f3void \fPglColor4s( 'u
|
||||
GLshort \fIgreen\fP,
|
||||
GLshort \fIblue\fP,
|
||||
GLshort \fIalpha\fP )
|
||||
.fi
|
||||
void \f3glColor4ub\fP(
|
||||
GLubyte \fIred\fP,
|
||||
.nf
|
||||
.ta \w'\f3void \fPglColor4ub( 'u
|
||||
GLubyte \fIgreen\fP,
|
||||
GLubyte \fIblue\fP,
|
||||
GLubyte \fIalpha\fP )
|
||||
.fi
|
||||
void \f3glColor4ui\fP(
|
||||
GLuint \fIred\fP,
|
||||
.nf
|
||||
.ta \w'\f3void \fPglColor4ui( 'u
|
||||
GLuint \fIgreen\fP,
|
||||
GLuint \fIblue\fP,
|
||||
GLuint \fIalpha\fP )
|
||||
.fi
|
||||
void \f3glColor4us\fP(
|
||||
GLushort \fIred\fP,
|
||||
.nf
|
||||
.ta \w'\f3void \fPglColor4us( 'u
|
||||
GLushort \fIgreen\fP,
|
||||
GLushort \fIblue\fP,
|
||||
GLushort \fIalpha\fP )
|
||||
.fi
|
||||
|
||||
.EQ
|
||||
delim $$
|
||||
.EN
|
||||
.SH PARAMETERS
|
||||
.TP \w'\f2red\fP\ \f2green\fP\ \f2blue\fP\ \ 'u
|
||||
\f2red\fP, \f2green\fP, \f2blue\fP
|
||||
Specify new red, green, and blue values for the current color.
|
||||
.TP
|
||||
\f2alpha\fP
|
||||
Specifies a new alpha value for the current color.
|
||||
Included only in the four-argument \%\f3glColor4\fP commands.
|
||||
.SH C SPECIFICATION
|
||||
void \f3glColor3bv\fP(
|
||||
const GLbyte \fI*v\fP )
|
||||
.nf
|
||||
.fi
|
||||
void \f3glColor3dv\fP(
|
||||
const GLdouble \fI*v\fP )
|
||||
.nf
|
||||
.fi
|
||||
void \f3glColor3fv\fP(
|
||||
const GLfloat \fI*v\fP )
|
||||
.nf
|
||||
.fi
|
||||
void \f3glColor3iv\fP(
|
||||
const GLint \fI*v\fP )
|
||||
.nf
|
||||
.fi
|
||||
void \f3glColor3sv\fP(
|
||||
const GLshort \fI*v\fP )
|
||||
.nf
|
||||
.fi
|
||||
void \f3glColor3ubv\fP(
|
||||
const GLubyte \fI*v\fP )
|
||||
.nf
|
||||
.fi
|
||||
void \f3glColor3uiv\fP(
|
||||
const GLuint \fI*v\fP )
|
||||
.nf
|
||||
.fi
|
||||
void \f3glColor3usv\fP(
|
||||
const GLushort \fI*v\fP )
|
||||
.nf
|
||||
.fi
|
||||
void \f3glColor4bv\fP(
|
||||
const GLbyte \fI*v\fP )
|
||||
.nf
|
||||
.fi
|
||||
void \f3glColor4dv\fP(
|
||||
const GLdouble \fI*v\fP )
|
||||
.nf
|
||||
.fi
|
||||
void \f3glColor4fv\fP(
|
||||
const GLfloat \fI*v\fP )
|
||||
.nf
|
||||
.fi
|
||||
void \f3glColor4iv\fP(
|
||||
const GLint \fI*v\fP )
|
||||
.nf
|
||||
.fi
|
||||
void \f3glColor4sv\fP(
|
||||
const GLshort \fI*v\fP )
|
||||
.nf
|
||||
.fi
|
||||
void \f3glColor4ubv\fP(
|
||||
const GLubyte \fI*v\fP )
|
||||
.nf
|
||||
.fi
|
||||
void \f3glColor4uiv\fP(
|
||||
const GLuint \fI*v\fP )
|
||||
.nf
|
||||
.fi
|
||||
void \f3glColor4usv\fP(
|
||||
const GLushort \fI*v\fP )
|
||||
.nf
|
||||
.fi
|
||||
|
||||
.SH PARAMETERS
|
||||
.TP
|
||||
\f2v\fP
|
||||
Specifies a pointer to an array that contains red, green, blue,
|
||||
and (sometimes) alpha values.
|
||||
.SH DESCRIPTION
|
||||
The GL stores both a current single-valued color index
|
||||
and a current four-valued RGBA color.
|
||||
\%\f3glColor\fP sets a new four-valued RGBA color.
|
||||
\%\f3glColor\fP has two major variants:
|
||||
\%\f3glColor3\fP and \%\f3glColor4\fP.
|
||||
\%\f3glColor3\fP variants specify new red,
|
||||
green,
|
||||
and blue values explicitly
|
||||
and set the current alpha value to 1.0 (full intensity) implicitly.
|
||||
\%\f3glColor4\fP variants specify all four color components explicitly.
|
||||
.P
|
||||
\%\f3glColor3b\fP, \%\f3glColor4b\fP,
|
||||
\%\f3glColor3s\fP, \%\f3glColor4s\fP, \%\f3glColor3i\fP, and \%\f3glColor4i\fP take
|
||||
three or four signed byte, short, or long integers as arguments.
|
||||
When \f3v\fP is appended to the name,
|
||||
the color commands can take a pointer to an array of such values.
|
||||
.P
|
||||
Current color values are stored in floating-point ,
|
||||
with unspecified mantissa and exponent sizes.
|
||||
Unsigned integer color components,
|
||||
when specified,
|
||||
are linearly mapped to floating-point values such that the largest
|
||||
representable value maps to 1.0 (full intensity),
|
||||
and 0 maps to 0.0 (zero intensity).
|
||||
Signed integer color components,
|
||||
when specified,
|
||||
are linearly mapped to floating-point values such that the most positive
|
||||
representable value maps to 1.0,
|
||||
and the most negative representable value maps to \-1.0. (Note that
|
||||
this mapping does not convert 0 precisely to 0.0.)
|
||||
Floating-point values are mapped directly.
|
||||
.P
|
||||
Neither floating-point nor signed integer values are clamped
|
||||
to the range [0,1] before the current color is updated.
|
||||
However,
|
||||
color components are clamped to this range before they are interpolated
|
||||
or written into a color buffer.
|
||||
.SH NOTES
|
||||
The initial value for the current color is (1, 1, 1, 1).
|
||||
.P
|
||||
The current color can be updated at any time.
|
||||
In particular,
|
||||
\%\f3glColor\fP can be called between a call to \%\f3glBegin\fP and the corresponding
|
||||
call to \%\f3glEnd\fP.
|
||||
.SH ASSOCIATED GETS
|
||||
\%\f3glGet\fP with argument \%\f3GL_CURRENT_COLOR\fP
|
||||
.br
|
||||
\%\f3glGet\fP with argument \%\f3GL_RGBA_MODE\fP
|
||||
.SH SEE ALSO
|
||||
\%\f3glIndex(3G)\fP
|
|
@ -1,58 +0,0 @@
|
|||
'\"macro stdmacro
|
||||
.ds Vn Version 1.2
|
||||
.ds Dt 24 September 1999
|
||||
.ds Re Release 1.2.1
|
||||
.ds Dp Jan 14 18:30
|
||||
.ds Dm 01 colormask
|
||||
.ds Xs 41408 4 colormask.gl
|
||||
.TH GLCOLORMASK 3G
|
||||
.SH NAME
|
||||
.B "glColorMask
|
||||
\- enable and disable writing of frame buffer color components
|
||||
|
||||
.SH C SPECIFICATION
|
||||
void \f3glColorMask\fP(
|
||||
GLboolean \fIred\fP,
|
||||
.nf
|
||||
.ta \w'\f3void \fPglColorMask( 'u
|
||||
GLboolean \fIgreen\fP,
|
||||
GLboolean \fIblue\fP,
|
||||
GLboolean \fIalpha\fP )
|
||||
.fi
|
||||
|
||||
.SH PARAMETERS
|
||||
.TP \w'\f2red\fP\ \f2green\fP\ \f2blue\fP\ \f2alpha\fP\ \ 'u
|
||||
\f2red\fP, \f2green\fP, \f2blue\fP, \f2alpha\fP
|
||||
Specify whether red, green, blue, and alpha can or cannot be written
|
||||
into the frame buffer.
|
||||
The initial values are all \%\f3GL_TRUE\fP,
|
||||
indicating that the color components can be written.
|
||||
.SH DESCRIPTION
|
||||
\%\f3glColorMask\fP specifies whether the individual color components in the frame buffer
|
||||
can or cannot be written.
|
||||
If \f2red\fP is \%\f3GL_FALSE\fP,
|
||||
for example,
|
||||
no change is made to the red component of any pixel in any of the
|
||||
color buffers,
|
||||
regardless of the drawing operation attempted.
|
||||
.P
|
||||
Changes to individual bits of components cannot be controlled.
|
||||
Rather,
|
||||
changes are either enabled or disabled for entire color components.
|
||||
.SH ERRORS
|
||||
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glColorMask\fP
|
||||
is executed between the execution of \%\f3glBegin\fP
|
||||
and the corresponding execution of \%\f3glEnd\fP.
|
||||
.SH ASSOCIATED GETS
|
||||
\%\f3glGet\fP with argument \%\f3GL_COLOR_WRITEMASK\fP
|
||||
.br
|
||||
\%\f3glGet\fP with argument \%\f3GL_RGBA_MODE\fP
|
||||
.SH SEE ALSO
|
||||
\%\f3glClear(3G)\fP,
|
||||
\%\f3glColor(3G)\fP,
|
||||
\%\f3glColorPointer(3G)\fP,
|
||||
\%\f3glDepthMask(3G)\fP,
|
||||
\%\f3glIndex(3G)\fP,
|
||||
\%\f3glIndexPointer(3G)\fP,
|
||||
\%\f3glIndexMask(3G)\fP,
|
||||
\%\f3glStencilMask(3G)\fP
|
|
@ -1,94 +0,0 @@
|
|||
'\" te
|
||||
'\"! tbl|eqn | mmdoc
|
||||
'\"macro stdmacro
|
||||
.ds Vn Version 1.2
|
||||
.ds Dt 24 September 1999
|
||||
.ds Re Release 1.2.1
|
||||
.ds Dp Jan 14 18:30
|
||||
.ds Dm 01 colormate
|
||||
.ds Xs 35305 5 colormaterial.gl
|
||||
.TH GLCOLORMATERIAL 3G
|
||||
.SH NAME
|
||||
.B "glColorMaterial
|
||||
\- cause a material color to track the current color
|
||||
|
||||
.SH C SPECIFICATION
|
||||
void \f3glColorMaterial\fP(
|
||||
GLenum \fIface\fP,
|
||||
.nf
|
||||
.ta \w'\f3void \fPglColorMaterial( 'u
|
||||
GLenum \fImode\fP )
|
||||
.fi
|
||||
|
||||
.SH PARAMETERS
|
||||
.TP \w'\f2face\fP\ \ 'u
|
||||
\f2face\fP
|
||||
Specifies whether front,
|
||||
back,
|
||||
or both front and back material parameters should track the current color.
|
||||
Accepted values are
|
||||
\%\f3GL_FRONT\fP,
|
||||
\%\f3GL_BACK\fP,
|
||||
and \%\f3GL_FRONT_AND_BACK\fP.
|
||||
The initial value is \%\f3GL_FRONT_AND_BACK\fP.
|
||||
.TP
|
||||
\f2mode\fP
|
||||
Specifies which of several material parameters track the current color.
|
||||
Accepted values are
|
||||
\%\f3GL_EMISSION\fP,
|
||||
\%\f3GL_AMBIENT\fP,
|
||||
\%\f3GL_DIFFUSE\fP,
|
||||
\%\f3GL_SPECULAR\fP,
|
||||
and \%\f3GL_AMBIENT_AND_DIFFUSE\fP.
|
||||
The initial value is \%\f3GL_AMBIENT_AND_DIFFUSE\fP.
|
||||
.SH DESCRIPTION
|
||||
\%\f3glColorMaterial\fP specifies which material parameters track the current color.
|
||||
When \%\f3GL_COLOR_MATERIAL\fP is enabled,
|
||||
the material parameter or parameters specified by \f2mode\fP,
|
||||
of the material or materials specified by \f2face\fP,
|
||||
track the current color at all times.
|
||||
.P
|
||||
To enable and disable \%\f3GL_COLOR_MATERIAL\fP, call
|
||||
\%\f3glEnable\fP and \%\f3glDisable\fP with argument \%\f3GL_COLOR_MATERIAL\fP.
|
||||
\%\f3GL_COLOR_MATERIAL\fP is initially disabled.
|
||||
.SH NOTES
|
||||
\%\f3glColorMaterial\fP makes it possible to change a subset of material parameters for each
|
||||
vertex using only the \%\f3glColor\fP command,
|
||||
without calling \%\f3glMaterial\fP.
|
||||
If only such a subset of parameters is to be specified for each
|
||||
vertex, calling \%\f3glColorMaterial\fP is preferable to calling \%\f3glMaterial\fP.
|
||||
.P
|
||||
Call \%\f3glColorMaterial\fP before enabling \%\f3GL_COLOR_MATERIAL\fP.
|
||||
.P
|
||||
Calling \%\f3glDrawElements\fP, \%\f3glDrawArrays\fP, or \%\f3glDrawRangeElements\fP
|
||||
may leave the current color indeterminate, if the color array is enabled.
|
||||
If
|
||||
\%\f3glColorMaterial\fP is enabled while the current color is indeterminate, the
|
||||
lighting material state specified by \f2face\fP and \f2mode\fP is also indeterminate.
|
||||
.P
|
||||
If the GL version is 1.1 or greater, and \%\f3GL_COLOR_MATERIAL\fP is
|
||||
enabled, evaluated color values affect the results of the lighting
|
||||
equation as if the current color were being modified, but no change is
|
||||
made to the tracking lighting parameter of the current color.
|
||||
.SH ERRORS
|
||||
\%\f3GL_INVALID_ENUM\fP is generated if \f2face\fP or \f2mode\fP is not an
|
||||
accepted value.
|
||||
.P
|
||||
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glColorMaterial\fP is executed between
|
||||
the execution of \%\f3glBegin\fP and the corresponding execution of \%\f3glEnd\fP.
|
||||
.SH ASSOCIATED GETS
|
||||
\%\f3glIsEnabled\fP with argument \%\f3GL_COLOR_MATERIAL\fP
|
||||
.br
|
||||
\%\f3glGet\fP with argument \%\f3GL_COLOR_MATERIAL_PARAMETER\fP
|
||||
.br
|
||||
\%\f3glGet\fP with argument \%\f3GL_COLOR_MATERIAL_FACE\fP
|
||||
.SH SEE ALSO
|
||||
\%\f3glColor(3G)\fP,
|
||||
\%\f3glColorPointer(3G)\fP,
|
||||
\%\f3glDrawArrays(3G)\fP,
|
||||
\%\f3glDrawElements(3G)\fP,
|
||||
\%\f3glDrawRangeElements(3G)\fP,
|
||||
\%\f3glEnable(3G)\fP,
|
||||
\%\f3glLight(3G)\fP,
|
||||
\%\f3glLightModel(3G)\fP,
|
||||
\%\f3glMaterial(3G)\fP
|
|
@ -1,123 +0,0 @@
|
|||
'\" te
|
||||
'\"! tbl|eqn | mmdoc
|
||||
'\"macro stdmacro
|
||||
.ds Vn Version 1.2
|
||||
.ds Dt 24 September 1999
|
||||
.ds Re Release 1.2.1
|
||||
.ds Dp Jan 14 18:30
|
||||
.ds Dm 01 colorpoin
|
||||
.ds Xs 1769 6 colorpointer.gl
|
||||
.TH GLCOLORPOINTER 3G
|
||||
.SH NAME
|
||||
.B "glColorPointer
|
||||
\- define an array of colors
|
||||
|
||||
.SH C SPECIFICATION
|
||||
void \f3glColorPointer\fP(
|
||||
GLint \fIsize\fP,
|
||||
.nf
|
||||
.ta \w'\f3void \fPglColorPointer( 'u
|
||||
GLenum \fItype\fP,
|
||||
GLsizei \fIstride\fP,
|
||||
const GLvoid \fI*ptr\fP )
|
||||
.fi
|
||||
|
||||
.EQ
|
||||
delim $$
|
||||
.EN
|
||||
.SH PARAMETERS
|
||||
.TP \w'\fIstride\fP\ \ 'u
|
||||
\f2size\fP
|
||||
Specifies the number of components per color. Must be 3 or 4.
|
||||
The initial value is 4.
|
||||
.TP
|
||||
\f2type\fP
|
||||
Specifies the data type of each color component in the array.
|
||||
Symbolic constants
|
||||
\%\f3GL_BYTE\fP,
|
||||
\%\f3GL_UNSIGNED_BYTE\fP,
|
||||
\%\f3GL_SHORT\fP,
|
||||
\%\f3GL_UNSIGNED_SHORT\fP,
|
||||
\%\f3GL_INT\fP,
|
||||
\%\f3GL_UNSIGNED_INT\fP,
|
||||
\%\f3GL_FLOAT\fP,
|
||||
and
|
||||
\%\f3GL_DOUBLE\fP
|
||||
are accepted.
|
||||
The initial value is \%\f3GL_FLOAT\fP.
|
||||
.TP
|
||||
\f2stride\fP
|
||||
Specifies the byte offset between consecutive colors.
|
||||
If \f2stride\fP is 0 (the initial value), the colors are understood to be
|
||||
tightly packed in the array. The initial value is 0.
|
||||
.TP
|
||||
\f2ptr\fP
|
||||
Specifies a pointer to the first component of the first color element
|
||||
in the array.
|
||||
.SH DESCRIPTION
|
||||
\%\f3glColorPointer\fP specifies the location and data of an array of color components
|
||||
to use when rendering.
|
||||
\f2size\fP specifies the number of components per color, and must be 3 or 4.
|
||||
\f2type\fP specifies the data type of each color component, and \f2stride\fP
|
||||
specifies the byte stride from one color to the next allowing vertices and
|
||||
attributes to be packed into a single array or stored in separate arrays.
|
||||
(Single-array storage may be more efficient on some implementations;
|
||||
see \%\f3glInterleavedArrays\fP.)
|
||||
.P
|
||||
When a color array is specified,
|
||||
\f2size\fP, \f2type\fP, \f2stride\fP, and \f2ptr\fP are saved as client-side
|
||||
state.
|
||||
.P
|
||||
To enable and disable the color array, call \%\f3glEnableClientState\fP and
|
||||
.br
|
||||
\%\f3glDisableClientState\fP with the argument \%\f3GL_COLOR_ARRAY\fP. If
|
||||
enabled, the color array is used when \%\f3glDrawArrays\fP,
|
||||
\%\f3glDrawElements\fP, \%\f3glDrawRangeElements\fP, or \%\f3glArrayElement\fP is
|
||||
called.
|
||||
.SH NOTES
|
||||
\%\f3glColorPointer\fP is available only if the GL version is 1.1 or greater.
|
||||
.P
|
||||
The color array is initially disabled and isn't accessed when
|
||||
\%\f3glArrayElement\fP, \%\f3glDrawArrays\fP, \%\f3glDrawRangeElements\fP,
|
||||
or \%\f3glDrawElements\fP is called.
|
||||
.P
|
||||
Execution of \%\f3glColorPointer\fP is not allowed between the execution of
|
||||
\%\f3glBegin\fP and the corresponding execution of \%\f3glEnd\fP,
|
||||
but an error may or may not be generated. If no error is generated,
|
||||
the operation is undefined.
|
||||
.P
|
||||
\%\f3glColorPointer\fP is typically implemented on the client side.
|
||||
.P
|
||||
Color array parameters are client-side state and are therefore not saved
|
||||
or restored by \%\f3glPushAttrib\fP and \%\f3glPopAttrib\fP.
|
||||
Use \%\f3glPushClientAttrib\fP and \%\f3glPopClientAttrib\fP instead.
|
||||
.SH ERRORS
|
||||
\%\f3GL_INVALID_VALUE\fP is generated if \f2size\fP is not 3 or 4.
|
||||
.P
|
||||
\%\f3GL_INVALID_ENUM\fP is generated if \f2type\fP is not an accepted value.
|
||||
.P
|
||||
\%\f3GL_INVALID_VALUE\fP is generated if \f2stride\fP is negative.
|
||||
.SH ASSOCIATED GETS
|
||||
\%\f3glIsEnabled\fP with argument \%\f3GL_COLOR_ARRAY\fP
|
||||
.br
|
||||
\%\f3glGet\fP with argument \%\f3GL_COLOR_ARRAY_SIZE\fP
|
||||
.br
|
||||
\%\f3glGet\fP with argument \%\f3GL_COLOR_ARRAY_TYPE\fP
|
||||
.br
|
||||
\%\f3glGet\fP with argument \%\f3GL_COLOR_ARRAY_STRIDE\fP
|
||||
.br
|
||||
\%\f3glGetPointerv\fP with argument \%\f3GL_COLOR_ARRAY_POINTER\fP
|
||||
.SH SEE ALSO
|
||||
\%\f3glArrayElement(3G)\fP,
|
||||
\%\f3glDrawArrays(3G)\fP,
|
||||
\%\f3glDrawElements(3G)\fP,
|
||||
\%\f3glEdgeFlagPointer(3G)\fP,
|
||||
\%\f3glEnable(3G)\fP,
|
||||
\%\f3glGetPointerv(3G)\fP,
|
||||
\%\f3glIndexPointer(3G)\fP,
|
||||
\%\f3glInterleavedArrays(3G)\fP,
|
||||
\%\f3glNormalPointer(3G)\fP,
|
||||
\%\f3glPopClientAttrib(3G)\fP,
|
||||
\%\f3glPushClientAttrib(3G)\fP,
|
||||
\%\f3glTexCoordPointer(3G)\fP,
|
||||
\%\f3glVertexPointer(3G)\fP
|
|
@ -1,116 +0,0 @@
|
|||
'\" t
|
||||
'\"! tbl | mmdoc
|
||||
'\"macro stdmacro
|
||||
.ds Vn Version 1.2
|
||||
.ds Dt 24 September 1999
|
||||
.ds Re Release 1.2.1
|
||||
.ds Dp Jan 14 18:30
|
||||
.ds Dm 01 colorsubt
|
||||
.ds Xs 37035 5 colorsubtable.gl
|
||||
.TH GLCOLORSUBTABLE 3G
|
||||
.SH NAME
|
||||
.B "glColorSubTable
|
||||
\- respecify a portion of a color table
|
||||
|
||||
.SH C SPECIFICATION
|
||||
void \f3glColorSubTable\fP(
|
||||
GLenum \fItarget\fP,
|
||||
.nf
|
||||
.ta \w'\f3void \fPglColorSubTable( 'u
|
||||
GLsizei \fIstart\fP,
|
||||
GLsizei \fIcount\fP,
|
||||
GLenum \fIformat\fP,
|
||||
GLenum \fItype\fP,
|
||||
const GLvoid \fI*data\fP )
|
||||
.fi
|
||||
|
||||
.SH PARAMETERS
|
||||
.TP \w'\f2target\fP\ \ 'u
|
||||
\f2target\fP
|
||||
Must be one of
|
||||
\%\f3GL_COLOR_TABLE\fP,
|
||||
\%\f3GL_POST_CONVOLUTION_COLOR_TABLE\fP, or
|
||||
\%\f3GL_POST_COLOR_MATRIX_COLOR_TABLE\fP.
|
||||
.TP
|
||||
\f2start\fP
|
||||
The starting index of the portion of the color table to be replaced.
|
||||
.TP
|
||||
\f2count\fP
|
||||
The number of table entries to replace.
|
||||
.TP
|
||||
\f2format\fP
|
||||
The of the pixel data in \f2data\fP.
|
||||
The allowable values are
|
||||
\%\f3GL_RED\fP,
|
||||
\%\f3GL_GREEN\fP,
|
||||
\%\f3GL_BLUE\fP,
|
||||
\%\f3GL_ALPHA\fP,
|
||||
\%\f3GL_LUMINANCE\fP,
|
||||
\%\f3GL_LUMINANCE_ALPHA\fP,
|
||||
\%\f3GL_RGB\fP,
|
||||
\%\f3GL_BGR\fP,
|
||||
\%\f3GL_RGBA\fP, and
|
||||
\%\f3GL_BGRA\fP.
|
||||
.TP
|
||||
\f2type\fP
|
||||
The type of the pixel data in \f2data\fP.
|
||||
The allowable values are
|
||||
\%\f3GL_UNSIGNED_BYTE\fP,
|
||||
\%\f3GL_BYTE\fP,
|
||||
\%\f3GL_UNSIGNED_SHORT\fP,
|
||||
\%\f3GL_SHORT\fP,
|
||||
\%\f3GL_UNSIGNED_INT\fP,
|
||||
\%\f3GL_INT\fP,
|
||||
\%\f3GL_FLOAT\fP,
|
||||
\%\f3GL_UNSIGNED_BYTE_3_3_2\fP,
|
||||
\%\f3GL_UNSIGNED_BYTE_2_3_3_REV\fP,
|
||||
\%\f3GL_UNSIGNED_SHORT_5_6_5\fP,
|
||||
\%\f3GL_UNSIGNED_SHORT_5_6_5_REV\fP,
|
||||
\%\f3GL_UNSIGNED_SHORT_4_4_4_4\fP,
|
||||
\%\f3GL_UNSIGNED_SHORT_4_4_4_4_REV\fP,
|
||||
\%\f3GL_UNSIGNED_SHORT_5_5_5_1\fP,
|
||||
\%\f3GL_UNSIGNED_SHORT_1_5_5_5_REV\fP,
|
||||
\%\f3GL_UNSIGNED_INT_8_8_8_8\fP,
|
||||
\%\f3GL_UNSIGNED_INT_8_8_8_8_REV\fP,
|
||||
\%\f3GL_UNSIGNED_INT_10_10_10_2\fP, and
|
||||
\%\f3GL_UNSIGNED_INT_2_10_10_10_REV\fP.
|
||||
.TP
|
||||
\f2data\fP
|
||||
Pointer to a one-dimensional array of pixel data that is processed to
|
||||
replace the specified region of the color table.
|
||||
.SH DESCRIPTION
|
||||
\%\f3glColorSubTable\fP is used to respecify a contiguous portion of a color table previously
|
||||
defined using \%\f3glColorTable\fP. The pixels referenced by \f2data\fP replace the
|
||||
portion of the existing table from indices \f2start\fP to
|
||||
$"start"~+~"count"~-~1$, inclusive. This region may not include any
|
||||
entries outside the range of the color table as it was originally specified.
|
||||
It is not an error to specify a subtexture with width of 0, but such a
|
||||
specification has no effect.
|
||||
.SH NOTES
|
||||
\%\f3glColorSubTable\fP is present only if \%\f3GL_ARB_imaging\fP is returned when \%\f3glGetString\fP
|
||||
is called with an argument of \%\f3GL_EXTENSIONS\fP.
|
||||
.P
|
||||
.SH ERRORS
|
||||
\%\f3GL_INVALID_ENUM\fP is generated if \f2target\fP is not one of the allowable
|
||||
values.
|
||||
.P
|
||||
\%\f3GL_INVALID_VALUE\fP is generated if $"start"~+~"count"~>~width$.
|
||||
.P
|
||||
\%\f3GL_INVALID_ENUM\fP is generated if \f2format\fP is not one of the allowable
|
||||
values.
|
||||
.P
|
||||
\%\f3GL_INVALID_ENUM\fP is generated if \f2type\fP is not one of the allowable
|
||||
values.
|
||||
.P
|
||||
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glColorSubTable\fP is executed
|
||||
between the execution of \%\f3glBegin\fP and the corresponding
|
||||
execution of \%\f3glEnd\fP.
|
||||
.SH ASSOCIATED GETS
|
||||
\%\f3glGetColorTable\fP,
|
||||
\%\f3glGetColorTableParameter\fP
|
||||
.SH SEE ALSO
|
||||
\%\f3glColorSubTable(3G)\fP,
|
||||
\%\f3glColorTableParameter(3G)\fP,
|
||||
\%\f3glCopyColorTable(3G)\fP,
|
||||
\%\f3glCopyColorSubTable(3G)\fP,
|
||||
\%\f3glGetColorTable(3G)\fP
|
|
@ -1,306 +0,0 @@
|
|||
'\" t
|
||||
'\"! tbl | mmdoc
|
||||
'\"macro stdmacro
|
||||
.ds Vn Version 1.2
|
||||
.ds Dt 24 September 1999
|
||||
.ds Re Release 1.2.1
|
||||
.ds Dp Jan 14 18:30
|
||||
.ds Dm 01 colortabl
|
||||
.ds Xs 60942 11 colortable.gl
|
||||
.TH GLCOLORTABLE 3G
|
||||
.SH NAME
|
||||
.B "glColorTable
|
||||
\- define a color lookup table
|
||||
|
||||
.SH C SPECIFICATION
|
||||
void \f3glColorTable\fP(
|
||||
GLenum \fItarget\fP,
|
||||
.nf
|
||||
.ta \w'\f3void \fPglColorTable( 'u
|
||||
GLenum \fIinternalformat\fP,
|
||||
GLsizei \fIwidth\fP,
|
||||
GLenum \fIformat\fP,
|
||||
GLenum \fItype\fP,
|
||||
const GLvoid \fI*table\fP )
|
||||
.fi
|
||||
|
||||
.SH PARAMETERS
|
||||
.TP \w'\fIinternalformat\fP\ \ 'u
|
||||
\f2target\fP
|
||||
Must be one of
|
||||
\%\f3GL_COLOR_TABLE\fP,
|
||||
\%\f3GL_POST_CONVOLUTION_COLOR_TABLE\fP,
|
||||
\%\f3GL_POST_COLOR_MATRIX_COLOR_TABLE\fP,
|
||||
\%\f3GL_PROXY_COLOR_TABLE\fP,
|
||||
\%\f3GL_PROXY_POST_CONVOLUTION_COLOR_TABLE\fP,
|
||||
or
|
||||
\%\f3GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE\fP.
|
||||
.TP
|
||||
\f2internalformat\fP
|
||||
The internal of the color table.
|
||||
The allowable values are
|
||||
\%\f3GL_ALPHA\fP,
|
||||
\%\f3GL_ALPHA4\fP,
|
||||
\%\f3GL_ALPHA8\fP,
|
||||
\%\f3GL_ALPHA12\fP,
|
||||
\%\f3GL_ALPHA16\fP,
|
||||
\%\f3GL_LUMINANCE\fP,
|
||||
\%\f3GL_LUMINANCE4\fP,
|
||||
\%\f3GL_LUMINANCE8\fP,
|
||||
\%\f3GL_LUMINANCE12\fP,
|
||||
\%\f3GL_LUMINANCE16\fP,
|
||||
\%\f3GL_LUMINANCE_ALPHA\fP,
|
||||
\%\f3GL_LUMINANCE4_ALPHA4\fP,
|
||||
\%\f3GL_LUMINANCE6_ALPHA2\fP,
|
||||
\%\f3GL_LUMINANCE8_ALPHA8\fP,
|
||||
\%\f3GL_LUMINANCE12_ALPHA4\fP,
|
||||
\%\f3GL_LUMINANCE12_ALPHA12\fP,
|
||||
\%\f3GL_LUMINANCE16_ALPHA16\fP,
|
||||
\%\f3GL_INTENSITY\fP,
|
||||
\%\f3GL_INTENSITY4\fP,
|
||||
\%\f3GL_INTENSITY8\fP,
|
||||
\%\f3GL_INTENSITY12\fP,
|
||||
\%\f3GL_INTENSITY16\fP,
|
||||
\%\f3GL_R3_G3_B2\fP,
|
||||
\%\f3GL_RGB\fP,
|
||||
\%\f3GL_RGB4\fP,
|
||||
\%\f3GL_RGB5\fP,
|
||||
\%\f3GL_RGB8\fP,
|
||||
\%\f3GL_RGB10\fP,
|
||||
\%\f3GL_RGB12\fP,
|
||||
\%\f3GL_RGB16\fP,
|
||||
\%\f3GL_RGBA\fP,
|
||||
\%\f3GL_RGBA2\fP,
|
||||
\%\f3GL_RGBA4\fP,
|
||||
\%\f3GL_RGB5_A1\fP,
|
||||
\%\f3GL_RGBA8\fP,
|
||||
\%\f3GL_RGB10_A2\fP,
|
||||
\%\f3GL_RGBA12\fP, and
|
||||
\%\f3GL_RGBA16\fP.
|
||||
.TP
|
||||
\f2width\fP
|
||||
The number of entries in the color lookup table specified by \f2table\fP.
|
||||
.TP
|
||||
\f2format\fP
|
||||
The of the pixel data in \f2table\fP.
|
||||
The allowable values are
|
||||
\%\f3GL_RED\fP,
|
||||
\%\f3GL_GREEN\fP,
|
||||
\%\f3GL_BLUE\fP,
|
||||
\%\f3GL_ALPHA\fP,
|
||||
\%\f3GL_LUMINANCE\fP,
|
||||
\%\f3GL_LUMINANCE_ALPHA\fP,
|
||||
\%\f3GL_RGB\fP,
|
||||
\%\f3GL_BGR\fP,
|
||||
\%\f3GL_RGBA\fP, and
|
||||
\%\f3GL_BGRA\fP.
|
||||
.TP
|
||||
\f2type\fP
|
||||
The type of the pixel data in \f2table\fP.
|
||||
The allowable values are
|
||||
\%\f3GL_UNSIGNED_BYTE\fP,
|
||||
\%\f3GL_BYTE\fP,
|
||||
\%\f3GL_UNSIGNED_SHORT\fP,
|
||||
\%\f3GL_SHORT\fP,
|
||||
\%\f3GL_UNSIGNED_INT\fP,
|
||||
\%\f3GL_INT\fP,
|
||||
\%\f3GL_FLOAT\fP,
|
||||
\%\f3GL_UNSIGNED_BYTE_3_3_2\fP,
|
||||
\%\f3GL_UNSIGNED_BYTE_2_3_3_REV\fP,
|
||||
\%\f3GL_UNSIGNED_SHORT_5_6_5\fP,
|
||||
\%\f3GL_UNSIGNED_SHORT_5_6_5_REV\fP,
|
||||
\%\f3GL_UNSIGNED_SHORT_4_4_4_4\fP,
|
||||
\%\f3GL_UNSIGNED_SHORT_4_4_4_4_REV\fP,
|
||||
\%\f3GL_UNSIGNED_SHORT_5_5_5_1\fP,
|
||||
\%\f3GL_UNSIGNED_SHORT_1_5_5_5_REV\fP,
|
||||
\%\f3GL_UNSIGNED_INT_8_8_8_8\fP,
|
||||
\%\f3GL_UNSIGNED_INT_8_8_8_8_REV\fP,
|
||||
\%\f3GL_UNSIGNED_INT_10_10_10_2\fP, and
|
||||
\%\f3GL_UNSIGNED_INT_2_10_10_10_REV\fP.
|
||||
.TP
|
||||
\f2table\fP
|
||||
Pointer to a one-dimensional array of pixel data that is processed to
|
||||
build the color table.
|
||||
.SH DESCRIPTION
|
||||
\%\f3glColorTable\fP may be used in two ways:
|
||||
to test the actual size and color resolution of a lookup table
|
||||
given a particular set of parameters,
|
||||
or to load the contents of a color lookup
|
||||
table.
|
||||
Use the targets \%\f3GL_PROXY_*\fP for the first case
|
||||
and the other targets for the second case.
|
||||
.P
|
||||
If \f2target\fP is \%\f3GL_COLOR_TABLE\fP,
|
||||
\%\f3GL_POST_CONVOLUTION_COLOR_TABLE\fP,
|
||||
or
|
||||
\%\f3GL_POST_COLOR_MATRIX_COLOR_TABLE\fP,
|
||||
\%\f3glColorTable\fP builds a color lookup table from an array of pixels.
|
||||
The pixel array specified by \f2width\fP, \f2format\fP, \f2type\fP, and \f2table\fP
|
||||
is extracted from memory and
|
||||
processed just as if \%\f3glDrawPixels\fP were called, but processing
|
||||
stops after the final expansion to RGBA is completed.
|
||||
.P
|
||||
The four scale parameters and the four bias parameters that are defined
|
||||
for the table are then used to scale and bias the R, G, B, and A components
|
||||
of each pixel.
|
||||
(Use \%\f3glColorTableParameter\fP to set these scale and bias
|
||||
parameters.)
|
||||
.P
|
||||
Next, the R, G, B, and A values are clamped to the range [0,\ 1].
|
||||
Each pixel is then converted to the internal specified by
|
||||
\f2internalformat\fP.
|
||||
This conversion simply maps the component values of the pixel (R, G, B,
|
||||
and A) to the values included in the internal (red, green, blue,
|
||||
alpha, luminance, and intensity). The mapping is as follows:
|
||||
.P
|
||||
.TS
|
||||
center;
|
||||
lb cb cb cb cb cb cb
|
||||
l c c c c c c.
|
||||
_
|
||||
Internal Format Red Green Blue Alpha Luminance Intensity
|
||||
_
|
||||
\%\f3GL_ALPHA\fP A
|
||||
\%\f3GL_LUMINANCE\fP R
|
||||
\%\f3GL_LUMINANCE_ALPHA\fP A R
|
||||
\%\f3GL_INTENSITY\fP R
|
||||
\%\f3GL_RGB\fP R G B
|
||||
\%\f3GL_RGBA\fP R G B A
|
||||
_
|
||||
.TE
|
||||
.P
|
||||
Finally, the red, green, blue, alpha, luminance, and/or intensity components of
|
||||
the resulting pixels are stored in the color table.
|
||||
They form a one-dimensional table with indices in the range
|
||||
[0,\ \f2width\fP\ \-\ 1].
|
||||
.P
|
||||
If \f2target\fP is \%\f3GL_PROXY_*\fP,
|
||||
\%\f3glColorTable\fP recomputes and stores the values of the proxy color table's state
|
||||
variables
|
||||
\%\f3GL_COLOR_TABLE_FORMAT\fP,
|
||||
\%\f3GL_COLOR_TABLE_WIDTH\fP,
|
||||
\%\f3GL_COLOR_TABLE_RED_SIZE\fP,
|
||||
\%\f3GL_COLOR_TABLE_GREEN_SIZE\fP,
|
||||
\%\f3GL_COLOR_TABLE_BLUE_SIZE\fP,
|
||||
\%\f3GL_COLOR_TABLE_ALPHA_SIZE\fP,
|
||||
\%\f3GL_COLOR_TABLE_LUMINANCE_SIZE\fP, and
|
||||
\%\f3GL_COLOR_TABLE_INTENSITY_SIZE\fP.
|
||||
There is no effect on the image or state of any actual color table.
|
||||
If the specified color table is too large to be supported, then all the
|
||||
proxy state variables listed above are set to zero.
|
||||
Otherwise, the color table could be supported by \%\f3glColorTable\fP
|
||||
using the corresponding non-proxy target,
|
||||
and the proxy state variables are set as if that target were being defined.
|
||||
.P
|
||||
The proxy state variables can be retrieved by calling
|
||||
\%\f3glGetColorTableParameter\fP with a target of
|
||||
\%\f3GL_PROXY_*\fP.
|
||||
This allows the application to decide if a particular \%\f3glColorTable\fP
|
||||
command would succeed, and to determine what the resulting color table
|
||||
attributes would be.
|
||||
.P
|
||||
If a color table is enabled, and its width is non-zero, then its
|
||||
contents are used to replace a subset of the components of each RGBA
|
||||
pixel group, based on the internal of the table.
|
||||
.P
|
||||
Each pixel group has color components (R, G, B, A)
|
||||
that are in the range [0.0,\ 1.0].
|
||||
The color components are rescaled to
|
||||
the size of the color lookup table to form an index.
|
||||
Then a subset of the components based on the internal of the table are
|
||||
replaced by the table entry selected by that index.
|
||||
If the color components and contents of the table are represented as follows:
|
||||
.P
|
||||
.TS
|
||||
center;
|
||||
cb cb
|
||||
c l.
|
||||
_
|
||||
Representation Meaning
|
||||
_
|
||||
\f7r\fP Table index computed from \f7R\fP
|
||||
\f7g\fP Table index computed from \f7G\fP
|
||||
\f7b\fP Table index computed from \f7B\fP
|
||||
\f7a\fP Table index computed from \f7A\fP
|
||||
\f7L[i]\fP Luminance value at table index \f7i\fP
|
||||
\f7I[i]\fP Intensity value at table index \f7i\fP
|
||||
\f7R[i]\fP Red value at table index \f7i\fP
|
||||
\f7G[i]\fP Green value at table index \f7i\fP
|
||||
\f7B[i]\fP Blue value at table index \f7i\fP
|
||||
\f7A[i]\fP Alpha value at table index \f7i\fP
|
||||
_
|
||||
.TE
|
||||
.P
|
||||
then the result of color table lookup is as follows:
|
||||
.P
|
||||
.ne 10
|
||||
.TS
|
||||
center;
|
||||
l l s s s
|
||||
l l l l l
|
||||
l l l l l.
|
||||
_
|
||||
Resulting Texture Components
|
||||
Table Internal Format R G B A
|
||||
_
|
||||
\%\f3GL_ALPHA\fP R G B A[a]
|
||||
\%\f3GL_LUMINANCE\fP L[r] L[g] L[b] At
|
||||
\%\f3GL_LUMINANCE_ALPHA\fP L[r] L[g] L[b] A[a]
|
||||
\%\f3GL_INTENSITY\fP I[r] I[g] I[b] I[a]
|
||||
\%\f3GL_RGB\fP R[r] G[g] B[b] A
|
||||
\%\f3GL_RGBA\fP R[r] G[g] B[b] A[a]
|
||||
_
|
||||
.TE
|
||||
.P
|
||||
When \%\f3GL_COLOR_TABLE\fP is enabled, the colors resulting from
|
||||
the pixel map operation (if it is enabled) are mapped
|
||||
by the color lookup table before being passed to the convolution
|
||||
operation. The colors resulting from the convolution operation
|
||||
are modified by the post convolution color lookup table when
|
||||
\%\f3GL_POST_CONVOLUTION_COLOR_TABLE\fP
|
||||
is enabled. These modified colors are then sent to the color matrix operation.
|
||||
Finally, if \%\f3GL_POST_COLOR_MATRIX_COLOR_TABLE\fP
|
||||
is enabled, the colors resulting from the color matrix operation
|
||||
are mapped by the post color matrix color lookup table before being
|
||||
used by the histogram operation.
|
||||
.P
|
||||
.SH NOTES
|
||||
\%\f3glColorTable\fP is present only if \%\f3GL_ARB_imaging\fP is returned when \%\f3glGetString\fP
|
||||
is called with an argument of \%\f3GL_EXTENSIONS\fP.
|
||||
.P
|
||||
If \f2target\fP is set to \%\f3GL_COLOR_TABLE\fP,
|
||||
\%\f3GL_POST_CONVOLUTION_COLOR_TABLE\fP,
|
||||
or \%\f3GL_POST_COLOR_MATRIX_COLOR_TABLE\fP,
|
||||
then \f2width\fP must be a power of two or a \%\f3GL_INVALID_VALUE\fP
|
||||
error is generated.
|
||||
.P
|
||||
.SH ERRORS
|
||||
\%\f3GL_INVALID_ENUM\fP is generated if \f2target\fP is not one of the allowable
|
||||
values.
|
||||
.P
|
||||
\%\f3GL_INVALID_ENUM\fP is generated if \f2internalformat\fP is not one of the
|
||||
allowable values.
|
||||
.P
|
||||
\%\f3GL_INVALID_VALUE\fP is generated if \f2width\fP is less than zero.
|
||||
.P
|
||||
\%\f3GL_INVALID_ENUM\fP is generated if \f2format\fP is not one of the allowable
|
||||
values.
|
||||
.P
|
||||
\%\f3GL_INVALID_ENUM\fP is generated if \f2type\fP is not one of the allowable
|
||||
values.
|
||||
.P
|
||||
\%\f3GL_TABLE_TOO_LARGE\fP is generated if the requested color table
|
||||
is too large to be supported by the implementation, and \f2target\fP is
|
||||
not a \%\f3GL_PROXY_*\fP target.
|
||||
.P
|
||||
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glColorTable\fP is executed
|
||||
between the execution of \%\f3glBegin\fP and the corresponding
|
||||
execution of \%\f3glEnd\fP.
|
||||
.SH ASSOCIATED GETS
|
||||
\%\f3glGetColorTableParameter\fP
|
||||
.SH SEE ALSO
|
||||
\%\f3glColorSubTable(3G)\fP,
|
||||
\%\f3glColorTableParameter(3G)\fP,
|
||||
\%\f3glCopyColorTable(3G)\fP,
|
||||
\%\f3glCopyColorSubTable(3G)\fP,
|
||||
\%\f3glGetColorTable(3G)\fP
|
|
@ -1,86 +0,0 @@
|
|||
'\" te
|
||||
'\"! tbl | eqn | mmdoc
|
||||
'\"macro stdmacro
|
||||
.ds Vn Version 1.2
|
||||
.ds Dt 24 September 1999
|
||||
.ds Re Release 1.2.1
|
||||
.ds Dp Jan 14 19:42
|
||||
.ds Dm 01 colortabl
|
||||
.ds Xs 4422 4 colortableparameter.gl
|
||||
.TH GLCOLORTABLEPARAMETER 3G
|
||||
.SH NAME
|
||||
.B "glColorTableParameteriv, glColorTableParameterfv
|
||||
\- set color lookup table parameters
|
||||
|
||||
.SH C SPECIFICATION
|
||||
void \f3glColorTableParameteriv\fP(
|
||||
GLenum \fItarget\fP,
|
||||
.nf
|
||||
.ta \w'\f3void \fPglColorTableParameteriv( 'u
|
||||
GLenum \fIpname\fP,
|
||||
const GLint \fI*params\fP )
|
||||
.fi
|
||||
void \f3glColorTableParameterfv\fP(
|
||||
GLenum \fItarget\fP,
|
||||
.nf
|
||||
.ta \w'\f3void \fPglColorTableParameterfv( 'u
|
||||
GLenum \fIpname\fP,
|
||||
const GLfloat \fI*params\fP )
|
||||
.fi
|
||||
|
||||
.EQ
|
||||
delim $$
|
||||
.EN
|
||||
.SH PARAMETERS
|
||||
.TP \w'\f2target\fP\ \ 'u
|
||||
\f2target\fP
|
||||
The target color table.
|
||||
Must be
|
||||
\%\f3GL_COLOR_TABLE\fP,
|
||||
\%\f3GL_POST_CONVOLUTION_COLOR_TABLE\fP, or
|
||||
\%\f3GL_POST_COLOR_MATRIX_COLOR_TABLE\fP.
|
||||
.TP
|
||||
\f2pname\fP
|
||||
The symbolic name of a texture color lookup table parameter.
|
||||
Must be one of
|
||||
\%\f3GL_COLOR_TABLE_SCALE\fP or
|
||||
\%\f3GL_COLOR_TABLE_BIAS\fP.
|
||||
.TP
|
||||
\f2params\fP
|
||||
A pointer to an array where the values of the parameters are stored.
|
||||
.SH DESCRIPTION
|
||||
\%\f3glColorTableParameter\fP is used to specify the scale factors and bias terms applied to
|
||||
color components when they are loaded into a color table. \f2target\fP
|
||||
indicates which color table the scale and bias terms apply to; it
|
||||
must be set to
|
||||
\%\f3GL_COLOR_TABLE\fP,
|
||||
\%\f3GL_POST_CONVOLUTION_COLOR_TABLE\fP, or
|
||||
\%\f3GL_POST_COLOR_MATRIX_COLOR_TABLE\fP.
|
||||
.P
|
||||
\f2pname\fP must be \%\f3GL_COLOR_TABLE_SCALE\fP to set the
|
||||
scale factors.
|
||||
In this case, \f2params\fP points to an array of four values, which are
|
||||
the scale factors for red, green, blue, and alpha, in that order.
|
||||
.P
|
||||
\f2pname\fP must be \%\f3GL_COLOR_TABLE_BIAS\fP to set the
|
||||
bias terms. In this case,
|
||||
\f2params\fP points to an array of four values, which are the bias
|
||||
terms for red, green, blue, and alpha, in that order.
|
||||
.P
|
||||
The color tables themselves are specified by
|
||||
calling \%\f3glColorTable\fP.
|
||||
.SH NOTES
|
||||
\%\f3glColorTableParameter\fP is available only if \%\f3GL_ARB_imaging\fP is returned from calling
|
||||
\%\f3glGetString\fP with an argument of \%\f3GL_EXTENSIONS\fP.
|
||||
.SH ERRORS
|
||||
\%\f3GL_INVALID_ENUM\fP is generated if \f2target\fP or \f2pname\fP is not
|
||||
an acceptable value.
|
||||
.P
|
||||
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glColorTableParameter\fP is executed
|
||||
between the execution of \%\f3glBegin\fP and the corresponding
|
||||
execution of \%\f3glEnd\fP.
|
||||
.SH ASSOCIATED GETS
|
||||
\%\f3glGetColorTableParameter\fP
|
||||
.SH SEE ALSO
|
||||
\%\f3glColorTable(3G)\fP,
|
||||
\%\f3glPixelTransfer(3G)\fP
|
|
@ -1,220 +0,0 @@
|
|||
'\" t
|
||||
'\"! tbl | mmdoc
|
||||
'\"macro stdmacro
|
||||
.ds Vn Version 1.2
|
||||
.ds Dt 24 September 1999
|
||||
.ds Re Release 1.2.1
|
||||
.ds Dp Jan 14 18:30
|
||||
.ds Dm 01 convoluti
|
||||
.ds Xs 19959 8 convolutionfilter1d.gl
|
||||
.TH GLCONVOLUTIONFILTER1D 3G
|
||||
.SH NAME
|
||||
.B "glConvolutionFilter1D
|
||||
\- define a one-dimensional convolution filter
|
||||
|
||||
.SH C SPECIFICATION
|
||||
void \f3glConvolutionFilter1D\fP(
|
||||
GLenum \fItarget\fP,
|
||||
.nf
|
||||
.ta \w'\f3void \fPglConvolutionFilter1D( 'u
|
||||
GLenum \fIinternalformat\fP,
|
||||
GLsizei \fIwidth\fP,
|
||||
GLenum \fIformat\fP,
|
||||
GLenum \fItype\fP,
|
||||
const GLvoid \fI*image\fP )
|
||||
.fi
|
||||
|
||||
.SH PARAMETERS
|
||||
.TP \w'\fIinternalformat\fP\ \ 'u
|
||||
\f2target\fP
|
||||
Must be \%\f3GL_CONVOLUTION_1D\fP.
|
||||
.TP
|
||||
\f2internalformat\fP
|
||||
The internal of the convolution filter kernel.
|
||||
The allowable values are
|
||||
\%\f3GL_ALPHA\fP,
|
||||
\%\f3GL_LUMINANCE\fP,
|
||||
\%\f3GL_LUMINANCE_ALPHA\fP,
|
||||
\%\f3GL_INTENSITY\fP,
|
||||
\%\f3GL_RGB\fP, and
|
||||
\%\f3GL_RGBA\fP.
|
||||
.TP
|
||||
\f2width\fP
|
||||
The width of the pixel array referenced by \f2image\fP.
|
||||
.TP
|
||||
\f2format\fP
|
||||
The of the pixel data in \f2image\fP.
|
||||
The allowable values are
|
||||
\%\f3GL_ALPHA\fP,
|
||||
\%\f3GL_ALPHA4\fP,
|
||||
\%\f3GL_ALPHA8\fP,
|
||||
\%\f3GL_ALPHA12\fP,
|
||||
\%\f3GL_ALPHA16\fP,
|
||||
\%\f3GL_LUMINANCE\fP,
|
||||
\%\f3GL_LUMINANCE4\fP,
|
||||
\%\f3GL_LUMINANCE8\fP,
|
||||
\%\f3GL_LUMINANCE12\fP,
|
||||
\%\f3GL_LUMINANCE16\fP,
|
||||
\%\f3GL_LUMINANCE_ALPHA\fP,
|
||||
\%\f3GL_LUMINANCE4_ALPHA4\fP,
|
||||
\%\f3GL_LUMINANCE6_ALPHA2\fP,
|
||||
\%\f3GL_LUMINANCE8_ALPHA8\fP,
|
||||
\%\f3GL_LUMINANCE12_ALPHA4\fP,
|
||||
\%\f3GL_LUMINANCE12_ALPHA12\fP,
|
||||
\%\f3GL_LUMINANCE16_ALPHA16\fP,
|
||||
\%\f3GL_INTENSITY\fP,
|
||||
\%\f3GL_INTENSITY4\fP,
|
||||
\%\f3GL_INTENSITY8\fP,
|
||||
\%\f3GL_INTENSITY12\fP,
|
||||
\%\f3GL_INTENSITY16\fP,
|
||||
\%\f3GL_R3_G3_B2\fP,
|
||||
\%\f3GL_RGB\fP,
|
||||
\%\f3GL_RGB4\fP,
|
||||
\%\f3GL_RGB5\fP,
|
||||
\%\f3GL_RGB8\fP,
|
||||
\%\f3GL_RGB10\fP,
|
||||
\%\f3GL_RGB12\fP,
|
||||
\%\f3GL_RGB16\fP,
|
||||
\%\f3GL_RGBA\fP,
|
||||
\%\f3GL_RGBA2\fP,
|
||||
\%\f3GL_RGBA4\fP,
|
||||
\%\f3GL_RGB5_A1\fP,
|
||||
\%\f3GL_RGBA8\fP,
|
||||
\%\f3GL_RGB10_A2\fP,
|
||||
\%\f3GL_RGBA12\fP, or
|
||||
\%\f3GL_RGBA16\fP.
|
||||
.TP
|
||||
\f2type\fP
|
||||
The type of the pixel data in \f2image\fP.
|
||||
Symbolic constants
|
||||
\%\f3GL_UNSIGNED_BYTE\fP,
|
||||
\%\f3GL_BYTE\fP,
|
||||
\%\f3GL_BITMAP\fP,
|
||||
\%\f3GL_UNSIGNED_SHORT\fP,
|
||||
\%\f3GL_SHORT\fP,
|
||||
\%\f3GL_UNSIGNED_INT\fP,
|
||||
\%\f3GL_INT\fP,
|
||||
\%\f3GL_FLOAT\fP,
|
||||
\%\f3GL_UNSIGNED_BYTE_3_3_2\fP,
|
||||
\%\f3GL_UNSIGNED_BYTE_2_3_3_REV\fP,
|
||||
\%\f3GL_UNSIGNED_SHORT_5_6_5\fP,
|
||||
\%\f3GL_UNSIGNED_SHORT_5_6_5_REV\fP,
|
||||
\%\f3GL_UNSIGNED_SHORT_4_4_4_4\fP,
|
||||
\%\f3GL_UNSIGNED_SHORT_4_4_4_4_REV\fP,
|
||||
\%\f3GL_UNSIGNED_SHORT_5_5_5_1\fP,
|
||||
\%\f3GL_UNSIGNED_SHORT_1_5_5_5_REV\fP,
|
||||
\%\f3GL_UNSIGNED_INT_8_8_8_8\fP,
|
||||
\%\f3GL_UNSIGNED_INT_8_8_8_8_REV\fP,
|
||||
\%\f3GL_UNSIGNED_INT_10_10_10_2\fP, and
|
||||
\%\f3GL_UNSIGNED_INT_2_10_10_10_REV\fP
|
||||
are accepted.
|
||||
.TP
|
||||
\f2image\fP
|
||||
Pointer to a one-dimensional array of pixel data that is processed to
|
||||
build the convolution filter kernel.
|
||||
.SH DESCRIPTION
|
||||
\%\f3glConvolutionFilter1D\fP builds a one-dimensional convolution filter kernel from an array of
|
||||
pixels.
|
||||
.sp
|
||||
The pixel array specified by \f2width\fP, \f2format\fP, \f2type\fP, and \f2image\fP
|
||||
is extracted from memory and
|
||||
processed just as if \%\f3glDrawPixels\fP were called, but processing
|
||||
stops after the final expansion to RGBA is completed.
|
||||
.sp
|
||||
The R, G, B, and A components of each pixel are next scaled by the four
|
||||
1D \%\f3GL_CONVOLUTION_FILTER_SCALE\fP parameters and biased by the
|
||||
four 1D \%\f3GL_CONVOLUTION_FILTER_BIAS\fP parameters.
|
||||
(The scale and bias parameters are set by \%\f3glConvolutionParameter\fP
|
||||
using the \%\f3GL_CONVOLUTION_1D\fP target and the names
|
||||
\%\f3GL_CONVOLUTION_FILTER_SCALE\fP and \%\f3GL_CONVOLUTION_FILTER_BIAS\fP.
|
||||
The parameters themselves are vectors of four values that are applied to red,
|
||||
green, blue, and alpha, in that order.)
|
||||
The R, G, B, and A values are not clamped to [0,1] at any time during this
|
||||
process.
|
||||
.sp
|
||||
Each pixel is then converted to the internal specified by
|
||||
\f2internalformat\fP.
|
||||
This conversion simply maps the component values of the pixel (R, G, B,
|
||||
and A) to the values included in the internal (red, green, blue,
|
||||
alpha, luminance, and intensity). The mapping is as follows:
|
||||
.sp
|
||||
.TS
|
||||
center;
|
||||
lb cb cb cb cb cb cb
|
||||
l c c c c c c.
|
||||
_
|
||||
Internal Format Red Green Blue Alpha Luminance Intensity
|
||||
_
|
||||
\%\f3GL_ALPHA\fP A
|
||||
\%\f3GL_LUMINANCE\fP R
|
||||
\%\f3GL_LUMINANCE_ALPHA\fP A R
|
||||
\%\f3GL_INTENSITY\fP R
|
||||
\%\f3GL_RGB\fP R G B
|
||||
\%\f3GL_RGBA\fP R G B A
|
||||
_
|
||||
.TE
|
||||
.sp
|
||||
The red, green, blue, alpha, luminance, and/or intensity components of
|
||||
the resulting pixels are stored in floating-point rather than integer
|
||||
.
|
||||
They form a one-dimensional filter kernel image indexed with coordinate
|
||||
\f2i\fP such that \f2i\fP starts at 0 and increases from left to right.
|
||||
Kernel location \f2i\fP is derived from the \f2i\fPth pixel, counting from 0.
|
||||
.PP
|
||||
Note that after a convolution is performed, the resulting color
|
||||
components are also scaled by their corresponding
|
||||
\%\f3GL_POST_CONVOLUTION_c_SCALE\fP parameters and biased by their
|
||||
corresponding \%\f3GL_POST_CONVOLUTION_c_BIAS\fP parameters (where
|
||||
\f2c\fP takes on the values \f3RED\fP, \f3GREEN\fP, \f3BLUE\fP, and
|
||||
\f3ALPHA\fP).
|
||||
These parameters are set by \%\f3glPixelTransfer\fP.
|
||||
.SH NOTES
|
||||
\%\f3glConvolutionFilter1D\fP is present only if \%\f3GL_ARB_imaging\fP is returned when \%\f3glGetString\fP
|
||||
is called with an argument of \%\f3GL_EXTENSIONS\fP.
|
||||
.SH ERRORS
|
||||
\%\f3GL_INVALID_ENUM\fP is generated if \f2target\fP is not
|
||||
\%\f3GL_CONVOLUTION_1D\fP.
|
||||
.P
|
||||
\%\f3GL_INVALID_ENUM\fP is generated if \f2internalformat\fP is not one of the
|
||||
allowable values.
|
||||
.P
|
||||
\%\f3GL_INVALID_VALUE\fP is generated if \f2width\fP is less than zero or greater
|
||||
than the maximum supported value.
|
||||
This value may be queried with \%\f3glGetConvolutionParameter\fP
|
||||
using target \%\f3GL_CONVOLUTION_1D\fP and name
|
||||
\%\f3GL_MAX_CONVOLUTION_WIDTH\fP.
|
||||
.P
|
||||
\%\f3GL_INVALID_ENUM\fP is generated if \f2format\fP is not one of the allowable
|
||||
values.
|
||||
.P
|
||||
\%\f3GL_INVALID_ENUM\fP is generated if \f2type\fP is not one of the allowable
|
||||
values.
|
||||
.P
|
||||
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glConvolutionFilter1D\fP is executed
|
||||
between the execution of \%\f3glBegin\fP and the corresponding
|
||||
execution of \%\f3glEnd\fP.
|
||||
.P
|
||||
\%\f3GL_INVALID_OPERATION\fP is generated if \f2format\fP is one of
|
||||
\%\f3GL_UNSIGNED_BYTE_3_3_2\fP,
|
||||
\%\f3GL_UNSIGNED_BYTE_2_3_3_REV\fP,
|
||||
\%\f3GL_UNSIGNED_SHORT_5_6_5\fP, or
|
||||
\%\f3GL_UNSIGNED_SHORT_5_6_5_REV\fP
|
||||
and \f2type\fP is not \%\f3GL_RGB\fP.
|
||||
.P
|
||||
\%\f3GL_INVALID_OPERATION\fP is generated if \f2format\fP is one of
|
||||
\%\f3GL_UNSIGNED_SHORT_4_4_4_4\fP,
|
||||
\%\f3GL_UNSIGNED_SHORT_4_4_4_4_REV\fP,
|
||||
\%\f3GL_UNSIGNED_SHORT_5_5_5_1\fP,
|
||||
\%\f3GL_UNSIGNED_SHORT_1_5_5_5_REV\fP,
|
||||
\%\f3GL_UNSIGNED_INT_8_8_8_8\fP,
|
||||
\%\f3GL_UNSIGNED_INT_8_8_8_8_REV\fP,
|
||||
\%\f3GL_UNSIGNED_INT_10_10_10_2\fP, or
|
||||
\%\f3GL_UNSIGNED_INT_2_10_10_10_REV\fP
|
||||
and \f2type\fP is neither \%\f3GL_RGBA\fP nor \%\f3GL_BGRA\fP.
|
||||
.SH ASSOCIATED GETS
|
||||
\%\f3glGetConvolutionParameter\fP, \%\f3glGetConvolutionFilter\fP
|
||||
.SH SEE ALSO
|
||||
\%\f3glConvolutionFilter2D(3G)\fP,
|
||||
\%\f3glSeparableFilter2D(3G)\fP,
|
||||
\%\f3glConvolutionParameter(3G)\fP,
|
||||
\%\f3glPixelTransfer(3G)\fP
|
|
@ -1,236 +0,0 @@
|
|||
'\" t
|
||||
'\"! tbl | mmdoc
|
||||
'\"macro stdmacro
|
||||
.ds Vn Version 1.2
|
||||
.ds Dt 24 September 1999
|
||||
.ds Re Release 1.2.1
|
||||
.ds Dp Jan 14 18:30
|
||||
.ds Dm 01 convoluti
|
||||
.ds Xs 37578 9 convolutionfilter2d.gl
|
||||
.TH GLCONVOLUTIONFILTER2D 3G
|
||||
.SH NAME
|
||||
.B "glConvolutionFilter2D
|
||||
\- define a two-dimensional convolution filter
|
||||
|
||||
.SH C SPECIFICATION
|
||||
void \f3glConvolutionFilter2D\fP(
|
||||
GLenum \fItarget\fP,
|
||||
.nf
|
||||
.ta \w'\f3void \fPglConvolutionFilter2D( 'u
|
||||
GLenum \fIinternalformat\fP,
|
||||
GLsizei \fIwidth\fP,
|
||||
GLsizei \fIheight\fP,
|
||||
GLenum \fIformat\fP,
|
||||
GLenum \fItype\fP,
|
||||
const GLvoid \fI*image\fP )
|
||||
.fi
|
||||
|
||||
.SH PARAMETERS
|
||||
.TP \w'\fIinternalformat\fP\ \ 'u
|
||||
\f2target\fP
|
||||
Must be \%\f3GL_CONVOLUTION_2D\fP.
|
||||
.TP
|
||||
\f2internalformat\fP
|
||||
The internal of the convolution filter kernel.
|
||||
The allowable values are
|
||||
\%\f3GL_ALPHA\fP,
|
||||
\%\f3GL_ALPHA4\fP,
|
||||
\%\f3GL_ALPHA8\fP,
|
||||
\%\f3GL_ALPHA12\fP,
|
||||
\%\f3GL_ALPHA16\fP,
|
||||
\%\f3GL_LUMINANCE\fP,
|
||||
\%\f3GL_LUMINANCE4\fP,
|
||||
\%\f3GL_LUMINANCE8\fP,
|
||||
\%\f3GL_LUMINANCE12\fP,
|
||||
\%\f3GL_LUMINANCE16\fP,
|
||||
\%\f3GL_LUMINANCE_ALPHA\fP,
|
||||
\%\f3GL_LUMINANCE4_ALPHA4\fP,
|
||||
\%\f3GL_LUMINANCE6_ALPHA2\fP,
|
||||
\%\f3GL_LUMINANCE8_ALPHA8\fP,
|
||||
\%\f3GL_LUMINANCE12_ALPHA4\fP,
|
||||
\%\f3GL_LUMINANCE12_ALPHA12\fP,
|
||||
\%\f3GL_LUMINANCE16_ALPHA16\fP,
|
||||
\%\f3GL_INTENSITY\fP,
|
||||
\%\f3GL_INTENSITY4\fP,
|
||||
\%\f3GL_INTENSITY8\fP,
|
||||
\%\f3GL_INTENSITY12\fP,
|
||||
\%\f3GL_INTENSITY16\fP,
|
||||
\%\f3GL_R3_G3_B2\fP,
|
||||
\%\f3GL_RGB\fP,
|
||||
\%\f3GL_RGB4\fP,
|
||||
\%\f3GL_RGB5\fP,
|
||||
\%\f3GL_RGB8\fP,
|
||||
\%\f3GL_RGB10\fP,
|
||||
\%\f3GL_RGB12\fP,
|
||||
\%\f3GL_RGB16\fP,
|
||||
\%\f3GL_RGBA\fP,
|
||||
\%\f3GL_RGBA2\fP,
|
||||
\%\f3GL_RGBA4\fP,
|
||||
\%\f3GL_RGB5_A1\fP,
|
||||
\%\f3GL_RGBA8\fP,
|
||||
\%\f3GL_RGB10_A2\fP,
|
||||
\%\f3GL_RGBA12\fP, or
|
||||
\%\f3GL_RGBA16\fP.
|
||||
.TP
|
||||
\f2width\fP
|
||||
The width of the pixel array referenced by \f2image\fP.
|
||||
.TP
|
||||
\f2height\fP
|
||||
The height of the pixel array referenced by \f2image\fP.
|
||||
.TP
|
||||
\f2format\fP
|
||||
The of the pixel data in \f2image\fP.
|
||||
The allowable values are
|
||||
\%\f3GL_RED\fP,
|
||||
\%\f3GL_GREEN\fP,
|
||||
\%\f3GL_BLUE\fP,
|
||||
\%\f3GL_ALPHA\fP,
|
||||
\%\f3GL_RGB\fP,
|
||||
\%\f3GL_BGR\fP,
|
||||
\%\f3GL_RGBA\fP,
|
||||
\%\f3GL_BGRA\fP,
|
||||
\%\f3GL_LUMINANCE\fP, and
|
||||
\%\f3GL_LUMINANCE_ALPHA\fP.
|
||||
.TP
|
||||
\f2type\fP
|
||||
The type of the pixel data in \f2image\fP.
|
||||
Symbolic constants
|
||||
\%\f3GL_UNSIGNED_BYTE\fP,
|
||||
\%\f3GL_BYTE\fP,
|
||||
\%\f3GL_BITMAP\fP,
|
||||
\%\f3GL_UNSIGNED_SHORT\fP,
|
||||
\%\f3GL_SHORT\fP,
|
||||
\%\f3GL_UNSIGNED_INT\fP,
|
||||
\%\f3GL_INT\fP,
|
||||
\%\f3GL_FLOAT\fP,
|
||||
\%\f3GL_UNSIGNED_BYTE_3_3_2\fP,
|
||||
\%\f3GL_UNSIGNED_BYTE_2_3_3_REV\fP,
|
||||
\%\f3GL_UNSIGNED_SHORT_5_6_5\fP,
|
||||
\%\f3GL_UNSIGNED_SHORT_5_6_5_REV\fP,
|
||||
\%\f3GL_UNSIGNED_SHORT_4_4_4_4\fP,
|
||||
\%\f3GL_UNSIGNED_SHORT_4_4_4_4_REV\fP,
|
||||
\%\f3GL_UNSIGNED_SHORT_5_5_5_1\fP,
|
||||
\%\f3GL_UNSIGNED_SHORT_1_5_5_5_REV\fP,
|
||||
\%\f3GL_UNSIGNED_INT_8_8_8_8\fP,
|
||||
\%\f3GL_UNSIGNED_INT_8_8_8_8_REV\fP,
|
||||
\%\f3GL_UNSIGNED_INT_10_10_10_2\fP, and
|
||||
\%\f3GL_UNSIGNED_INT_2_10_10_10_REV\fP
|
||||
are accepted.
|
||||
.TP
|
||||
\f2image\fP
|
||||
Pointer to a two-dimensional array of pixel data that is processed to
|
||||
build the convolution filter kernel.
|
||||
.SH DESCRIPTION
|
||||
\%\f3glConvolutionFilter2D\fP builds a two-dimensional convolution filter kernel from an array of
|
||||
pixels.
|
||||
.sp
|
||||
The pixel array specified by \f2width\fP, \f2height\fP, \f2format\fP, \f2type\fP, and
|
||||
\f2image\fP is extracted from memory and processed just as if
|
||||
\%\f3glDrawPixels\fP were called, but processing stops after the final
|
||||
expansion to RGBA is completed.
|
||||
.sp
|
||||
The R, G, B, and A components of each pixel are next scaled by the four
|
||||
2D \%\f3GL_CONVOLUTION_FILTER_SCALE\fP parameters and biased by the
|
||||
four 2D \%\f3GL_CONVOLUTION_FILTER_BIAS\fP parameters.
|
||||
(The scale and bias parameters are set by \%\f3glConvolutionParameter\fP
|
||||
using the \%\f3GL_CONVOLUTION_2D\fP target and the names
|
||||
\%\f3GL_CONVOLUTION_FILTER_SCALE\fP and \%\f3GL_CONVOLUTION_FILTER_BIAS\fP.
|
||||
The parameters themselves are vectors of four values that are applied to red,
|
||||
green, blue, and alpha, in that order.)
|
||||
The R, G, B, and A values are not clamped to [0,1] at any time during this
|
||||
process.
|
||||
.sp
|
||||
Each pixel is then converted to the internal specified by
|
||||
\f2internalformat\fP.
|
||||
This conversion simply maps the component values of the pixel (R, G, B,
|
||||
and A) to the values included in the internal (red, green, blue,
|
||||
alpha, luminance, and intensity). The mapping is as follows:
|
||||
.sp
|
||||
.TS
|
||||
center;
|
||||
lb cb cb cb cb cb cb
|
||||
l c c c c c c.
|
||||
_
|
||||
Internal Format Red Green Blue Alpha Luminance Intensity
|
||||
_
|
||||
\%\f3GL_ALPHA\fP A
|
||||
\%\f3GL_LUMINANCE\fP R
|
||||
\%\f3GL_LUMINANCE_ALPHA\fP A R
|
||||
\%\f3GL_INTENSITY\fP R
|
||||
\%\f3GL_RGB\fP R G B
|
||||
\%\f3GL_RGBA\fP R G B A
|
||||
_
|
||||
.TE
|
||||
.sp
|
||||
The red, green, blue, alpha, luminance, and/or intensity components of
|
||||
the resulting pixels are stored in floating-point rather than integer
|
||||
.
|
||||
They form a two-dimensional filter kernel image indexed with coordinates
|
||||
\f2i\fP and \f2j\fP such that \f2i\fP starts at zero and increases from left
|
||||
to right, and \f2j\fP starts at zero and increases from bottom to top.
|
||||
Kernel location \f2i,j\fP is derived from the \f2N\fPth pixel,
|
||||
where \f2N\fP is \f2i\fP+\f2j\fP*\f2width\fP.
|
||||
.PP
|
||||
Note that after a convolution is performed, the resulting color
|
||||
components are also scaled by their corresponding
|
||||
\%\f3GL_POST_CONVOLUTION_c_SCALE\fP parameters and biased by their
|
||||
corresponding \%\f3GL_POST_CONVOLUTION_c_BIAS\fP parameters (where
|
||||
\f2c\fP takes on the values \f3RED\fP, \f3GREEN\fP, \f3BLUE\fP, and
|
||||
\f3ALPHA\fP).
|
||||
These parameters are set by \%\f3glPixelTransfer\fP.
|
||||
.SH NOTES
|
||||
\%\f3glConvolutionFilter2D\fP is present only if \%\f3GL_ARB_imaging\fP is returned when \%\f3glGetString\fP
|
||||
is called with an argument of \%\f3GL_EXTENSIONS\fP.
|
||||
.SH ERRORS
|
||||
\%\f3GL_INVALID_ENUM\fP is generated if \f2target\fP is not
|
||||
\%\f3GL_CONVOLUTION_2D\fP.
|
||||
.P
|
||||
\%\f3GL_INVALID_ENUM\fP is generated if \f2internalformat\fP is not one of the
|
||||
allowable values.
|
||||
.P
|
||||
\%\f3GL_INVALID_VALUE\fP is generated if \f2width\fP is less than zero or greater
|
||||
than the maximum supported value.
|
||||
This value may be queried with \%\f3glGetConvolutionParameter\fP
|
||||
using target \%\f3GL_CONVOLUTION_2D\fP and name
|
||||
\%\f3GL_MAX_CONVOLUTION_WIDTH\fP.
|
||||
.P
|
||||
\%\f3GL_INVALID_VALUE\fP is generated if \f2height\fP is less than zero or greater
|
||||
than the maximum supported value.
|
||||
This value may be queried with \%\f3glGetConvolutionParameter\fP
|
||||
using target \%\f3GL_CONVOLUTION_2D\fP and name
|
||||
\%\f3GL_MAX_CONVOLUTION_HEIGHT\fP.
|
||||
.P
|
||||
\%\f3GL_INVALID_ENUM\fP is generated if \f2format\fP is not one of the allowable
|
||||
values.
|
||||
.P
|
||||
\%\f3GL_INVALID_ENUM\fP is generated if \f2type\fP is not one of the allowable
|
||||
values.
|
||||
.P
|
||||
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glConvolutionFilter2D\fP is executed
|
||||
between the execution of \%\f3glBegin\fP and the corresponding
|
||||
execution of \%\f3glEnd\fP.
|
||||
.P
|
||||
\%\f3GL_INVALID_OPERATION\fP is generated if \f2height\fP is one of
|
||||
\%\f3GL_UNSIGNED_BYTE_3_3_2\fP,
|
||||
\%\f3GL_UNSIGNED_BYTE_2_3_3_REV\fP,
|
||||
\%\f3GL_UNSIGNED_SHORT_5_6_5\fP, or
|
||||
\%\f3GL_UNSIGNED_SHORT_5_6_5_REV\fP
|
||||
and \f2format\fP is not \%\f3GL_RGB\fP.
|
||||
.P
|
||||
\%\f3GL_INVALID_OPERATION\fP is generated if \f2height\fP is one of
|
||||
\%\f3GL_UNSIGNED_SHORT_4_4_4_4\fP,
|
||||
\%\f3GL_UNSIGNED_SHORT_4_4_4_4_REV\fP,
|
||||
\%\f3GL_UNSIGNED_SHORT_5_5_5_1\fP,
|
||||
\%\f3GL_UNSIGNED_SHORT_1_5_5_5_REV\fP,
|
||||
\%\f3GL_UNSIGNED_INT_8_8_8_8\fP,
|
||||
\%\f3GL_UNSIGNED_INT_8_8_8_8_REV\fP,
|
||||
\%\f3GL_UNSIGNED_INT_10_10_10_2\fP, or
|
||||
\%\f3GL_UNSIGNED_INT_2_10_10_10_REV\fP
|
||||
and \f2format\fP is neither \%\f3GL_RGBA\fP nor \%\f3GL_BGRA\fP.
|
||||
.SH ASSOCIATED GETS
|
||||
\%\f3glGetConvolutionParameter\fP, \%\f3glGetConvolutionFilter\fP
|
||||
.SH SEE ALSO
|
||||
\%\f3glConvolutionFilter1D(3G)\fP,
|
||||
\%\f3glSeparableFilter2D(3G)\fP,
|
||||
\%\f3glConvolutionParameter(3G)\fP,
|
||||
\%\f3glPixelTransfer(3G)\fP
|
|
@ -1,173 +0,0 @@
|
|||
'\" et
|
||||
'\"! eqn|tbl | mmdoc
|
||||
'\"macro stdmacro
|
||||
.ds Vn Version 1.2
|
||||
.ds Dt 24 September 1999
|
||||
.ds Re Release 1.2.1
|
||||
.ds Dp Jan 14 18:30
|
||||
.ds Dm 01 convoluti
|
||||
.ds Xs 40911 7 convolutionparameter.gl
|
||||
.TH GLCONVOLUTIONPARAMETER 3G
|
||||
.SH NAME
|
||||
.B "glConvolutionParameterf, glConvolutionParameteri, glConvolutionParameterfv, glConvolutionParameteriv
|
||||
\- set convolution parameters
|
||||
|
||||
.SH C SPECIFICATION
|
||||
void \f3glConvolutionParameterf\fP(
|
||||
GLenum \fItarget\fP,
|
||||
.nf
|
||||
.ta \w'\f3void \fPglConvolutionParameterf( 'u
|
||||
GLenum \fIpname\fP,
|
||||
GLfloat \fIparams\fP )
|
||||
.fi
|
||||
void \f3glConvolutionParameteri\fP(
|
||||
GLenum \fItarget\fP,
|
||||
.nf
|
||||
.ta \w'\f3void \fPglConvolutionParameteri( 'u
|
||||
GLenum \fIpname\fP,
|
||||
GLint \fIparams\fP )
|
||||
.fi
|
||||
|
||||
.EQ
|
||||
delim $$
|
||||
.EN
|
||||
.sp -1
|
||||
.SH PARAMETERS
|
||||
.TP \w'\f2target\fP\ \ 'u
|
||||
\f2target\fP
|
||||
The target for the convolution parameter.
|
||||
Must be one of
|
||||
\%\f3GL_CONVOLUTION_1D\fP,
|
||||
\%\f3GL_CONVOLUTION_2D\fP, or
|
||||
\%\f3GL_SEPARABLE_2D\fP.
|
||||
.TP
|
||||
\f2pname\fP
|
||||
The parameter to be set.
|
||||
Must be
|
||||
\%\f3GL_CONVOLUTION_BORDER_MODE\fP.
|
||||
.TP
|
||||
\f2params\fP
|
||||
The parameter value.
|
||||
Must be one of
|
||||
\%\f3GL_REDUCE\fP, \%\f3GL_CONSTANT_BORDER\fP, \%\f3GL_REPLICATE_BORDER\fP.
|
||||
.sp 2
|
||||
.SH C SPECIFICATION
|
||||
void \f3glConvolutionParameterfv\fP(
|
||||
GLenum \fItarget\fP,
|
||||
.nf
|
||||
.ta \w'\f3void \fPglConvolutionParameterfv( 'u
|
||||
GLenum \fIpname\fP,
|
||||
const GLfloat \fI*params\fP )
|
||||
.fi
|
||||
void \f3glConvolutionParameteriv\fP(
|
||||
GLenum \fItarget\fP,
|
||||
.nf
|
||||
.ta \w'\f3void \fPglConvolutionParameteriv( 'u
|
||||
GLenum \fIpname\fP,
|
||||
const GLint \fI*params\fP )
|
||||
.fi
|
||||
|
||||
.sp -1
|
||||
.SH PARAMETERS
|
||||
.TP
|
||||
\f2target\fP
|
||||
The target for the convolution parameter.
|
||||
Must be one of
|
||||
\%\f3GL_CONVOLUTION_1D\fP,
|
||||
\%\f3GL_CONVOLUTION_2D\fP, or
|
||||
\%\f3GL_SEPARABLE_2D\fP.
|
||||
.TP
|
||||
\f2pname\fP
|
||||
The parameter to be set.
|
||||
Must be one of
|
||||
\%\f3GL_CONVOLUTION_BORDER_MODE\fP,
|
||||
\%\f3GL_CONVOLUTION_BORDER_COLOR\fP,
|
||||
\%\f3GL_CONVOLUTION_FILTER_SCALE\fP, or
|
||||
\%\f3GL_CONVOLUTION_FILTER_BIAS\fP.
|
||||
.TP
|
||||
\f2params\fP
|
||||
The parameter value.
|
||||
If \f2pname\fP is \%\f3GL_CONVOLUTION_BORDER_MODE\fP, \f2params\fP must be one of
|
||||
\%\f3GL_REDUCE\fP, \%\f3GL_CONSTANT_BORDER\fP, or \%\f3GL_REPLICATE_BORDER\fP.
|
||||
Otherwise, must be a vector of four values (for red, green, blue, and alpha,
|
||||
respectively) to be used for
|
||||
scaling (when \f2pname\fP is \%\f3GL_CONVOLUTION_FILTER_SCALE\fP), or
|
||||
biasing (when \f2pname\fP is \%\f3GL_CONVOLUTION_FILTER_BIAS\fP) a convolution
|
||||
filter kernel or setting the constant border color (when \f2pname\fP is
|
||||
\%\f3GL_CONVOLUTION_BORDER_COLOR\fP.
|
||||
.SH DESCRIPTION
|
||||
\%\f3glConvolutionParameter\fP sets the value of a convolution parameter.
|
||||
.sp
|
||||
\f2target\fP selects the convolution filter to be affected:
|
||||
\%\f3GL_CONVOLUTION_1D\fP,
|
||||
\%\f3GL_CONVOLUTION_2D\fP, or
|
||||
\%\f3GL_SEPARABLE_2D\fP
|
||||
for the 1D, 2D, or separable 2D filter, respectively.
|
||||
.sp
|
||||
\f2pname\fP selects the parameter to be changed.
|
||||
\%\f3GL_CONVOLUTION_FILTER_SCALE\fP and \%\f3GL_CONVOLUTION_FILTER_BIAS\fP
|
||||
affect the definition of the convolution filter kernel; see
|
||||
\%\f3glConvolutionFilter1D\fP, \%\f3glConvolutionFilter2D\fP, and
|
||||
\%\f3glSeparableFilter2D\fP for details.
|
||||
In these cases, \f2params\fP is an array of four values to be applied to
|
||||
red, green, blue, and alpha values, respectively. The initial value for
|
||||
\%\f3GL_CONVOLUTION_FILTER_SCALE\fP is (1, 1, 1, 1), and the initial value
|
||||
for \%\f3GL_CONVOLUTION_FILTER_BIAS\fP is (0, 0, 0, 0).
|
||||
.sp
|
||||
A \f2pname\fP value of \%\f3GL_CONVOLUTION_BORDER_MODE\fP controls the
|
||||
convolution border mode. The accepted modes are:
|
||||
.TP
|
||||
\%\f3GL_REDUCE\fP
|
||||
The image resulting from convolution is
|
||||
smaller than the source image.
|
||||
If the filter width is $Wf$ and height is $Hf$,
|
||||
and the source image width is $Ws$ and height is $Hs$,
|
||||
then the convolved image width will be $Ws ~-~ Wf ~+~ 1$ and height
|
||||
will be $Hs ~-~ Hf ~+~ 1$.
|
||||
(If this reduction would generate an image with zero or negative width
|
||||
and/or height, the output is simply null, with no error generated.)
|
||||
The coordinates of the image resulting from convolution are zero
|
||||
through $Ws ~-~ Wf$ in width and zero through $Hs ~-~ Hf$ in
|
||||
height.
|
||||
.TP
|
||||
\%\f3GL_CONSTANT_BORDER\fP
|
||||
The image resulting from convolution is the same size as the source image, and
|
||||
processed as if the source image were surrounded by pixels with their color
|
||||
specified by the \%\f3GL_CONVOLUTION_BORDER_COLOR\fP.
|
||||
.TP
|
||||
\%\f3GL_REPLICATE_BORDER\fP
|
||||
The image resulting from convolution is the same size as the source image, and
|
||||
processed as if the outermost pixel on the border of the source image were
|
||||
replicated.
|
||||
.SH NOTES
|
||||
\%\f3glConvolutionParameter\fP is present only if \%\f3GL_ARB_imaging\fP is returned when \%\f3glGetString\fP
|
||||
is called with an argument of \%\f3GL_EXTENSIONS\fP.
|
||||
.P
|
||||
In cases where errors can result from the specification of invalid
|
||||
image dimensions, it is the dimensions after convolution that are
|
||||
tested, not the dimensions of the source image.
|
||||
For example, \%\f3glTexImage1D\fP requires power-of-two image size.
|
||||
When \%\f3GL_REDUCE\fP border mode is in effect,
|
||||
the source image must be larger than the final power-of-two size
|
||||
by one less than the size of the 1D filter kernel.
|
||||
.SH ERRORS
|
||||
\%\f3GL_INVALID_ENUM\fP is generated if \f2target\fP is not one of the allowable
|
||||
values.
|
||||
.P
|
||||
\%\f3GL_INVALID_ENUM\fP is generated if \f2pname\fP is not one of the allowable
|
||||
values.
|
||||
.P
|
||||
\%\f3GL_INVALID_ENUM\fP is generated if \f2pname\fP is
|
||||
\%\f3GL_CONVOLUTION_BORDER_MODE\fP and \f2params\fP is not one of
|
||||
\%\f3GL_REDUCE\fP, \%\f3GL_CONSTANT_BORDER\fP, or \%\f3GL_REPLICATE_BORDER\fP.
|
||||
.P
|
||||
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glConvolutionParameter\fP is executed
|
||||
between the execution of \%\f3glBegin\fP and the corresponding
|
||||
execution of \%\f3glEnd\fP.
|
||||
.SH ASSOCIATED GETS
|
||||
\%\f3glGetConvolutionParameter\fP
|
||||
.SH SEE ALSO
|
||||
\%\f3glConvolutionFilter1D(3G)\fP,
|
||||
\%\f3glConvolutionFilter2D(3G)\fP,
|
||||
\%\f3glSeparableFilter2D(3G)\fP,
|
||||
\%\f3glGetConvolutionParameter(3G)\fP
|
|
@ -1,75 +0,0 @@
|
|||
'\" t
|
||||
'\"! tbl | mmdoc
|
||||
'\"macro stdmacro
|
||||
.ds Vn Version 1.2
|
||||
.ds Dt 24 September 1999
|
||||
.ds Re Release 1.2.1
|
||||
.ds Dp Jan 14 18:30
|
||||
.ds Dm 01 copycolor
|
||||
.ds Xs 44682 4 copycolorsubtable.gl
|
||||
.TH GLCOPYCOLORSUBTABLE 3G
|
||||
.SH NAME
|
||||
.B "glCopyColorSubTable
|
||||
\- respecify a portion of a color table
|
||||
|
||||
.SH C SPECIFICATION
|
||||
void \f3glCopyColorSubTable\fP(
|
||||
GLenum \fItarget\fP,
|
||||
.nf
|
||||
.ta \w'\f3void \fPglCopyColorSubTable( 'u
|
||||
GLsizei \fIstart\fP,
|
||||
GLint \fIx\fP,
|
||||
GLint \fIy\fP,
|
||||
GLsizei \fIwidth\fP )
|
||||
.fi
|
||||
|
||||
.SH PARAMETERS
|
||||
.TP \w'\f2target\fP\ \ 'u
|
||||
\f2target\fP
|
||||
Must be one of
|
||||
\%\f3GL_COLOR_TABLE\fP,
|
||||
\%\f3GL_POST_CONVOLUTION_COLOR_TABLE\fP, or
|
||||
\%\f3GL_POST_COLOR_MATRIX_COLOR_TABLE\fP.
|
||||
.TP
|
||||
\f2start\fP
|
||||
The starting index of the portion of the color table to be replaced.
|
||||
.TP
|
||||
\f2x\fP, \f2y\fP
|
||||
The window coordinates of the left corner of the row of pixels to be
|
||||
copied.
|
||||
.TP
|
||||
\f2width\fP
|
||||
The number of table entries to replace.
|
||||
.SH DESCRIPTION
|
||||
\%\f3glCopyColorSubTable\fP is used to respecify a contiguous portion of a color table previously
|
||||
defined using \%\f3glColorTable\fP. The pixels copied from the framebuffer
|
||||
replace the portion of the existing table from indices \f2start\fP to
|
||||
$"start"~+~"x"~-~1$, inclusive. This region may not include any
|
||||
entries outside the range of the color table, as was originally specified.
|
||||
It is not an error to specify a subtexture with width of 0, but such a
|
||||
specification has no effect.
|
||||
.SH NOTES
|
||||
\%\f3glCopyColorSubTable\fP is present only if \%\f3GL_ARB_imaging\fP is returned when \%\f3glGetString\fP
|
||||
is called with an argument of \%\f3GL_EXTENSIONS\fP.
|
||||
.P
|
||||
.SH ERRORS
|
||||
\%\f3GL_INVALID_VALUE\fP is generated if \f2target\fP is not a previously defined
|
||||
color table.
|
||||
.P
|
||||
\%\f3GL_INVALID_VALUE\fP is generated if \f2target\fP is not one of the allowable
|
||||
values.
|
||||
.P
|
||||
\%\f3GL_INVALID_VALUE\fP is generated if $"start"~+~"x"~>~width$.
|
||||
.P
|
||||
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glCopyColorSubTable\fP is executed
|
||||
between the execution of \%\f3glBegin\fP and the corresponding
|
||||
execution of \%\f3glEnd\fP.
|
||||
.SH ASSOCIATED GETS
|
||||
\%\f3glGetColorTable\fP,
|
||||
\%\f3glGetColorTableParameter\fP
|
||||
.SH SEE ALSO
|
||||
\%\f3glColorSubTable(3G)\fP,
|
||||
\%\f3glColorTableParameter(3G)\fP,
|
||||
\%\f3glCopyColorTable(3G)\fP,
|
||||
\%\f3glCopyColorSubTable(3G)\fP,
|
||||
\%\f3glGetColorTable(3G)\fP
|
|
@ -1,160 +0,0 @@
|
|||
'\" te
|
||||
'\"! tbl | eqn | mmdoc
|
||||
'\"macro stdmacro
|
||||
.ds Vn Version 1.2
|
||||
.ds Dt 24 September 1999
|
||||
.ds Re Release 1.2.1
|
||||
.ds Dp Jan 14 18:30
|
||||
.ds Dm 01 copycolor
|
||||
.ds Xs 49586 7 copycolortable.gl
|
||||
.TH GLCOPYCOLORTABLE 3G
|
||||
.SH NAME
|
||||
.B "glCopyColorTable
|
||||
\- copy pixels into a color table
|
||||
|
||||
.SH C SPECIFICATION
|
||||
void \f3glCopyColorTable\fP(
|
||||
GLenum \fItarget\fP,
|
||||
.nf
|
||||
.ta \w'\f3void \fPglCopyColorTable( 'u
|
||||
GLenum \fIinternalformat\fP,
|
||||
GLint \fIx\fP,
|
||||
GLint \fIy\fP,
|
||||
GLsizei \fIwidth\fP )
|
||||
.fi
|
||||
|
||||
.EQ
|
||||
delim $$
|
||||
.EN
|
||||
.SH PARAMETERS
|
||||
.TP \w'\fIinternalformat\fP\ \ 'u
|
||||
\f2target\fP
|
||||
The color table target. Must be
|
||||
\%\f3GL_COLOR_TABLE\fP,
|
||||
\%\f3GL_POST_CONVOLUTION_COLOR_TABLE\fP,
|
||||
or \%\f3GL_POST_COLOR_MATRIX_COLOR_TABLE\fP.
|
||||
.TP
|
||||
\f2internalformat\fP
|
||||
The internal storage of the texture image.
|
||||
Must be one of the following symbolic constants:
|
||||
\%\f3GL_ALPHA\fP,
|
||||
\%\f3GL_ALPHA4\fP,
|
||||
\%\f3GL_ALPHA8\fP,
|
||||
\%\f3GL_ALPHA12\fP,
|
||||
\%\f3GL_ALPHA16\fP,
|
||||
\%\f3GL_LUMINANCE\fP,
|
||||
\%\f3GL_LUMINANCE4\fP,
|
||||
\%\f3GL_LUMINANCE8\fP,
|
||||
\%\f3GL_LUMINANCE12\fP,
|
||||
\%\f3GL_LUMINANCE16\fP,
|
||||
\%\f3GL_LUMINANCE_ALPHA\fP,
|
||||
\%\f3GL_LUMINANCE4_ALPHA4\fP,
|
||||
\%\f3GL_LUMINANCE6_ALPHA2\fP,
|
||||
\%\f3GL_LUMINANCE8_ALPHA8\fP,
|
||||
\%\f3GL_LUMINANCE12_ALPHA4\fP,
|
||||
\%\f3GL_LUMINANCE12_ALPHA12\fP,
|
||||
\%\f3GL_LUMINANCE16_ALPHA16\fP,
|
||||
\%\f3GL_INTENSITY\fP,
|
||||
\%\f3GL_INTENSITY4\fP,
|
||||
\%\f3GL_INTENSITY8\fP,
|
||||
\%\f3GL_INTENSITY12\fP,
|
||||
\%\f3GL_INTENSITY16\fP,
|
||||
\%\f3GL_R3_G3_B2\fP,
|
||||
\%\f3GL_RGB\fP,
|
||||
\%\f3GL_RGB4\fP,
|
||||
\%\f3GL_RGB5\fP,
|
||||
\%\f3GL_RGB8\fP,
|
||||
\%\f3GL_RGB10\fP,
|
||||
\%\f3GL_RGB12\fP,
|
||||
\%\f3GL_RGB16\fP,
|
||||
\%\f3GL_RGBA\fP,
|
||||
\%\f3GL_RGBA2\fP,
|
||||
\%\f3GL_RGBA4\fP,
|
||||
\%\f3GL_RGB5_A1\fP,
|
||||
\%\f3GL_RGBA8\fP,
|
||||
\%\f3GL_RGB10_A2\fP,
|
||||
\%\f3GL_RGBA12\fP,
|
||||
\%\f3GL_RGBA16\fP.
|
||||
.TP
|
||||
\f2x\fP
|
||||
The x coordinate of the lower-left corner of the pixel rectangle
|
||||
to be transferred to the color table.
|
||||
.TP
|
||||
\f2y\fP
|
||||
The y coordinate of the lower-left corner of the pixel rectangle
|
||||
to be transferred to the color table.
|
||||
.TP
|
||||
\f2width\fP
|
||||
The width of the pixel rectangle.
|
||||
.SH DESCRIPTION
|
||||
\%\f3glCopyColorTable\fP loads a color table with pixels from the current
|
||||
\%\f3GL_READ_BUFFER\fP (rather than from main memory, as is the case for
|
||||
\%\f3glColorTable\fP).
|
||||
.P
|
||||
The screen-aligned pixel rectangle with lower-left corner at (\f2x\fP,\ \f2y\fP)
|
||||
having width \f2width\fP and height 1
|
||||
is loaded into the color table. If any pixels within
|
||||
this region are outside the window that is associated with the GL
|
||||
context, the values obtained for those pixels are undefined.
|
||||
.P
|
||||
The pixels in the rectangle are processed just as if
|
||||
\%\f3glReadPixels\fP were called, with \f2internalformat\fP set to RGBA,
|
||||
but processing stops after the final conversion to RGBA.
|
||||
.P
|
||||
The four scale parameters and the four bias parameters that are defined
|
||||
for the table are then used to scale and bias the R, G, B, and A components
|
||||
of each pixel. The scale and bias parameters are set by calling
|
||||
\%\f3glColorTableParameter\fP.
|
||||
.P
|
||||
Next, the R, G, B, and A values are clamped to the range [0,1].
|
||||
Each pixel is then converted to the internal specified by
|
||||
\f2internalformat\fP. This conversion simply maps the component values of the pixel (R, G, B,
|
||||
and A) to the values included in the internal (red, green, blue,
|
||||
alpha, luminance, and intensity). The mapping is as follows:
|
||||
.P
|
||||
.TS
|
||||
center;
|
||||
lb cb cb cb cb cb cb
|
||||
l c c c c c c.
|
||||
_
|
||||
Internal Format Red Green Blue Alpha Luminance Intensity
|
||||
_
|
||||
\%\f3GL_ALPHA\fP A
|
||||
\%\f3GL_LUMINANCE\fP R
|
||||
\%\f3GL_LUMINANCE_ALPHA\fP A R
|
||||
\%\f3GL_INTENSITY\fP R
|
||||
\%\f3GL_RGB\fP R G B
|
||||
\%\f3GL_RGBA\fP R G B A
|
||||
_
|
||||
.TE
|
||||
.P
|
||||
Finally, the red, green, blue, alpha, luminance, and/or intensity components of
|
||||
the resulting pixels are stored in the color table.
|
||||
They form a one-dimensional table with indices in the range
|
||||
[0,\ \f2width\fP\ \-\ 1].
|
||||
.P
|
||||
.SH NOTES
|
||||
\%\f3glCopyColorTable\fP is available only if \%\f3GL_ARB_imaging\fP is returned from calling
|
||||
\%\f3glGetString\fP with an argument of \%\f3GL_EXTENSIONS\fP.
|
||||
.SH ERRORS
|
||||
\%\f3GL_INVALID_ENUM\fP is generated when \f2target\fP is not one of the
|
||||
allowable values.
|
||||
.P
|
||||
\%\f3GL_INVALID_VALUE\fP is generated if \f2width\fP is less than zero.
|
||||
.P
|
||||
\%\f3GL_INVALID_VALUE\fP is generated if \f2internalformat\fP is not one of the
|
||||
allowable values.
|
||||
.P
|
||||
\%\f3GL_TABLE_TOO_LARGE\fP is generated if the requested color table
|
||||
is too large to be supported by the implementation.
|
||||
.P
|
||||
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glCopyColorTable\fP is executed
|
||||
between the execution of \%\f3glBegin\fP and the corresponding
|
||||
execution of \%\f3glEnd\fP.
|
||||
.SH ASSOCIATED GETS
|
||||
\%\f3glGetColorTable\fP,
|
||||
\%\f3glGetColorTableParameter\fP
|
||||
.SH SEE ALSO
|
||||
\%\f3glColorTable(3G)\fP,
|
||||
\%\f3glColorTableParameter(3G)\fP,
|
||||
\%\f3glReadPixels(3G)\fP
|
|
@ -1,164 +0,0 @@
|
|||
'\" t
|
||||
'\"! tbl | mmdoc
|
||||
'\"macro stdmacro
|
||||
.ds Vn Version 1.2
|
||||
.ds Dt 24 September 1999
|
||||
.ds Re Release 1.2.1
|
||||
.ds Dp Jan 14 18:30
|
||||
.ds Dm 001 copyconv
|
||||
.ds Xs 33614 7 copyconvolutionfilter1d.gl
|
||||
.TH GLCOPYCONVOLUTIONFILTER1D 3G
|
||||
.SH NAME
|
||||
.B "glCopyConvolutionFilter1D
|
||||
\- copy pixels into a one-dimensional convolution filter
|
||||
|
||||
.SH C SPECIFICATION
|
||||
void \f3glCopyConvolutionFilter1D\fP(
|
||||
GLenum \fItarget\fP,
|
||||
.nf
|
||||
.ta \w'\f3void \fPglCopyConvolutionFilter1D( 'u
|
||||
GLenum \fIinternalformat\fP,
|
||||
GLint \fIx\fP,
|
||||
GLint \fIy\fP,
|
||||
GLsizei \fIwidth\fP )
|
||||
.fi
|
||||
|
||||
.SH PARAMETERS
|
||||
.TP \w'\fIinternalformat\fP\ \ 'u
|
||||
\f2target\fP
|
||||
Must be \%\f3GL_CONVOLUTION_1D\fP.
|
||||
.TP
|
||||
\f2internalformat\fP
|
||||
The internal of the convolution filter kernel.
|
||||
The allowable values are
|
||||
\%\f3GL_ALPHA\fP,
|
||||
\%\f3GL_ALPHA4\fP,
|
||||
\%\f3GL_ALPHA8\fP,
|
||||
\%\f3GL_ALPHA12\fP,
|
||||
\%\f3GL_ALPHA16\fP,
|
||||
\%\f3GL_LUMINANCE\fP,
|
||||
\%\f3GL_LUMINANCE4\fP,
|
||||
\%\f3GL_LUMINANCE8\fP,
|
||||
\%\f3GL_LUMINANCE12\fP,
|
||||
\%\f3GL_LUMINANCE16\fP,
|
||||
\%\f3GL_LUMINANCE_ALPHA\fP,
|
||||
\%\f3GL_LUMINANCE4_ALPHA4\fP,
|
||||
\%\f3GL_LUMINANCE6_ALPHA2\fP,
|
||||
\%\f3GL_LUMINANCE8_ALPHA8\fP,
|
||||
\%\f3GL_LUMINANCE12_ALPHA4\fP,
|
||||
\%\f3GL_LUMINANCE12_ALPHA12\fP,
|
||||
\%\f3GL_LUMINANCE16_ALPHA16\fP,
|
||||
\%\f3GL_INTENSITY\fP,
|
||||
\%\f3GL_INTENSITY4\fP,
|
||||
\%\f3GL_INTENSITY8\fP,
|
||||
\%\f3GL_INTENSITY12\fP,
|
||||
\%\f3GL_INTENSITY16\fP,
|
||||
\%\f3GL_R3_G3_B2\fP,
|
||||
\%\f3GL_RGB\fP,
|
||||
\%\f3GL_RGB4\fP,
|
||||
\%\f3GL_RGB5\fP,
|
||||
\%\f3GL_RGB8\fP,
|
||||
\%\f3GL_RGB10\fP,
|
||||
\%\f3GL_RGB12\fP,
|
||||
\%\f3GL_RGB16\fP,
|
||||
\%\f3GL_RGBA\fP,
|
||||
\%\f3GL_RGBA2\fP,
|
||||
\%\f3GL_RGBA4\fP,
|
||||
\%\f3GL_RGB5_A1\fP,
|
||||
\%\f3GL_RGBA8\fP,
|
||||
\%\f3GL_RGB10_A2\fP,
|
||||
\%\f3GL_RGBA12\fP, or
|
||||
\%\f3GL_RGBA16\fP.
|
||||
.TP
|
||||
\f2x\fP, \f2y\fP
|
||||
The window space coordinates of the lower-left coordinate of the
|
||||
pixel array to copy.
|
||||
.TP
|
||||
\f2width\fP
|
||||
The width of the pixel array to copy.
|
||||
.SH DESCRIPTION
|
||||
\%\f3glCopyConvolutionFilter1D\fP defines a one-dimensional convolution filter kernel with pixels
|
||||
from the current \%\f3GL_READ_BUFFER\fP (rather than from main memory,
|
||||
as is the case for \%\f3glConvolutionFilter1D\fP).
|
||||
.sp
|
||||
The screen-aligned pixel rectangle with lower-left corner at (\f2x\fP,\ \f2y\fP),
|
||||
width \f2width\fP and height 1 is used to define
|
||||
the convolution filter. If any pixels within this region are
|
||||
outside the window that is associated with the GL context, the
|
||||
values obtained for those pixels are undefined.
|
||||
.sp
|
||||
The pixels in the rectangle are processed exactly as if \%\f3glReadPixels\fP
|
||||
had been called with \f2format\fP
|
||||
set to RGBA, but the process stops just before final conversion.
|
||||
The R, G, B, and A components of each pixel are next scaled by the four
|
||||
1D \%\f3GL_CONVOLUTION_FILTER_SCALE\fP parameters and biased by the
|
||||
four 1D \%\f3GL_CONVOLUTION_FILTER_BIAS\fP parameters.
|
||||
(The scale and bias parameters are set by \%\f3glConvolutionParameter\fP
|
||||
using the \%\f3GL_CONVOLUTION_1D\fP target and the names
|
||||
\%\f3GL_CONVOLUTION_FILTER_SCALE\fP and \%\f3GL_CONVOLUTION_FILTER_BIAS\fP.
|
||||
The parameters themselves are vectors of four values that are applied to red,
|
||||
green, blue, and alpha, in that order.)
|
||||
The R, G, B, and A values are not clamped to [0,1] at any time during this
|
||||
process.
|
||||
.sp
|
||||
Each pixel is then converted to the internal specified by
|
||||
\f2internalformat\fP.
|
||||
This conversion simply maps the component values of the pixel (R, G, B,
|
||||
and A) to the values included in the internal (red, green, blue,
|
||||
alpha, luminance, and intensity). The mapping is as follows:
|
||||
.sp
|
||||
.TS
|
||||
center;
|
||||
lb cb cb cb cb cb cb
|
||||
l c c c c c c.
|
||||
_
|
||||
Internal Format Red Green Blue Alpha Luminance Intensity
|
||||
_
|
||||
\%\f3GL_ALPHA\fP A
|
||||
\%\f3GL_LUMINANCE\fP R
|
||||
\%\f3GL_LUMINANCE_ALPHA\fP A R
|
||||
\%\f3GL_INTENSITY\fP R
|
||||
\%\f3GL_RGB\fP R G B
|
||||
\%\f3GL_RGBA\fP R G B A
|
||||
_
|
||||
.TE
|
||||
.sp
|
||||
The red, green, blue, alpha, luminance, and/or intensity components of
|
||||
the resulting pixels are stored in floating-point rather than integer
|
||||
.
|
||||
.sp
|
||||
Pixel ordering is such that lower x screen coordinates correspond to
|
||||
lower \f2i\fP filter image coordinates.
|
||||
.PP
|
||||
Note that after a convolution is performed, the resulting color
|
||||
components are also scaled by their corresponding
|
||||
\%\f3GL_POST_CONVOLUTION_c_SCALE\fP parameters and biased by their
|
||||
corresponding \%\f3GL_POST_CONVOLUTION_c_BIAS\fP parameters (where
|
||||
\f2c\fP takes on the values \f3RED\fP, \f3GREEN\fP, \f3BLUE\fP, and
|
||||
\f3ALPHA\fP).
|
||||
These parameters are set by \%\f3glPixelTransfer\fP.
|
||||
.SH NOTES
|
||||
\%\f3glCopyConvolutionFilter1D\fP is present only if \%\f3GL_ARB_imaging\fP is returned when \%\f3glGetString\fP
|
||||
is called with an argument of \%\f3GL_EXTENSIONS\fP.
|
||||
.SH ERRORS
|
||||
\%\f3GL_INVALID_ENUM\fP is generated if \f2target\fP is not
|
||||
\%\f3GL_CONVOLUTION_1D\fP.
|
||||
.P
|
||||
\%\f3GL_INVALID_ENUM\fP is generated if \f2internalformat\fP is not one of the
|
||||
allowable values.
|
||||
.P
|
||||
\%\f3GL_INVALID_VALUE\fP is generated if \f2width\fP is less than zero or greater
|
||||
than the maximum supported value.
|
||||
This value may be queried with \%\f3glGetConvolutionParameter\fP
|
||||
using target \%\f3GL_CONVOLUTION_1D\fP and name
|
||||
\%\f3GL_MAX_CONVOLUTION_WIDTH\fP.
|
||||
.P
|
||||
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glCopyConvolutionFilter1D\fP is executed
|
||||
between the execution of \%\f3glBegin\fP and the corresponding
|
||||
execution of \%\f3glEnd\fP.
|
||||
.SH ASSOCIATED GETS
|
||||
\%\f3glGetConvolutionParameter\fP, \%\f3glGetConvolutionFilter\fP
|
||||
.SH SEE ALSO
|
||||
\%\f3glConvolutionFilter1D(3G)\fP,
|
||||
\%\f3glConvolutionParameter(3G)\fP,
|
||||
\%\f3glPixelTransfer(3G)\fP
|
|
@ -1,176 +0,0 @@
|
|||
'\" t
|
||||
'\"! tbl | mmdoc
|
||||
'\"macro stdmacro
|
||||
.ds Vn Version 1.2
|
||||
.ds Dt 24 September 1999
|
||||
.ds Re Release 1.2.1
|
||||
.ds Dp Jan 14 18:30
|
||||
.ds Dm 001 copyconv
|
||||
.ds Xs 51319 8 copyconvolutionfilter2d.gl
|
||||
.TH GLCOPYCONVOLUTIONFILTER2D 3G
|
||||
.SH NAME
|
||||
.B "glCopyConvolutionFilter2D
|
||||
\- copy pixels into a two-dimensional convolution filter
|
||||
|
||||
.SH C SPECIFICATION
|
||||
void \f3glCopyConvolutionFilter2D\fP(
|
||||
GLenum \fItarget\fP,
|
||||
.nf
|
||||
.ta \w'\f3void \fPglCopyConvolutionFilter2D( 'u
|
||||
GLenum \fIinternalformat\fP,
|
||||
GLint \fIx\fP,
|
||||
GLint \fIy\fP,
|
||||
GLsizei \fIwidth\fP,
|
||||
GLsizei \fIheight\fP )
|
||||
.fi
|
||||
|
||||
.SH PARAMETERS
|
||||
.TP \w'\fIinternalformat\fP\ \ 'u
|
||||
\f2target\fP
|
||||
Must be \%\f3GL_CONVOLUTION_2D\fP.
|
||||
.TP
|
||||
\f2internalformat\fP
|
||||
The internal of the convolution filter kernel.
|
||||
The allowable values are
|
||||
\%\f3GL_ALPHA\fP,
|
||||
\%\f3GL_ALPHA4\fP,
|
||||
\%\f3GL_ALPHA8\fP,
|
||||
\%\f3GL_ALPHA12\fP,
|
||||
\%\f3GL_ALPHA16\fP,
|
||||
\%\f3GL_LUMINANCE\fP,
|
||||
\%\f3GL_LUMINANCE4\fP,
|
||||
\%\f3GL_LUMINANCE8\fP,
|
||||
\%\f3GL_LUMINANCE12\fP,
|
||||
\%\f3GL_LUMINANCE16\fP,
|
||||
\%\f3GL_LUMINANCE_ALPHA\fP,
|
||||
\%\f3GL_LUMINANCE4_ALPHA4\fP,
|
||||
\%\f3GL_LUMINANCE6_ALPHA2\fP,
|
||||
\%\f3GL_LUMINANCE8_ALPHA8\fP,
|
||||
\%\f3GL_LUMINANCE12_ALPHA4\fP,
|
||||
\%\f3GL_LUMINANCE12_ALPHA12\fP,
|
||||
\%\f3GL_LUMINANCE16_ALPHA16\fP,
|
||||
\%\f3GL_INTENSITY\fP,
|
||||
\%\f3GL_INTENSITY4\fP,
|
||||
\%\f3GL_INTENSITY8\fP,
|
||||
\%\f3GL_INTENSITY12\fP,
|
||||
\%\f3GL_INTENSITY16\fP,
|
||||
\%\f3GL_R3_G3_B2\fP,
|
||||
\%\f3GL_RGB\fP,
|
||||
\%\f3GL_RGB4\fP,
|
||||
\%\f3GL_RGB5\fP,
|
||||
\%\f3GL_RGB8\fP,
|
||||
\%\f3GL_RGB10\fP,
|
||||
\%\f3GL_RGB12\fP,
|
||||
\%\f3GL_RGB16\fP,
|
||||
\%\f3GL_RGBA\fP,
|
||||
\%\f3GL_RGBA2\fP,
|
||||
\%\f3GL_RGBA4\fP,
|
||||
\%\f3GL_RGB5_A1\fP,
|
||||
\%\f3GL_RGBA8\fP,
|
||||
\%\f3GL_RGB10_A2\fP,
|
||||
\%\f3GL_RGBA12\fP, or
|
||||
\%\f3GL_RGBA16\fP.
|
||||
.TP
|
||||
\f2x\fP, \f2y\fP
|
||||
The window space coordinates of the lower-left coordinate of the
|
||||
pixel array to copy.
|
||||
.TP
|
||||
\f2width\fP
|
||||
The width of the pixel array to copy.
|
||||
.TP
|
||||
\f2height\fP
|
||||
The height of the pixel array to copy.
|
||||
.SH DESCRIPTION
|
||||
\%\f3glCopyConvolutionFilter2D\fP defines a two-dimensional convolution filter kernel with pixels
|
||||
from the current \%\f3GL_READ_BUFFER\fP (rather than from main memory,
|
||||
as is the case for \%\f3glConvolutionFilter2D\fP).
|
||||
.sp
|
||||
The screen-aligned pixel rectangle with lower-left corner at (\f2x\fP,\ \f2y\fP),
|
||||
width \f2width\fP and height \f2height\fP
|
||||
is used to define the convolution filter. If any pixels within this
|
||||
region are
|
||||
outside the window that is associated with the GL context, the
|
||||
values obtained for those pixels are undefined.
|
||||
.sp
|
||||
The pixels in the rectangle are processed
|
||||
exactly as if \%\f3glReadPixels\fP had been called with \f2format\fP
|
||||
set to RGBA, but the process stops just before final conversion.
|
||||
The R, G, B, and A components of each pixel are next scaled by the four
|
||||
2D \%\f3GL_CONVOLUTION_FILTER_SCALE\fP parameters and biased by the
|
||||
four 2D \%\f3GL_CONVOLUTION_FILTER_BIAS\fP parameters.
|
||||
(The scale and bias parameters are set by \%\f3glConvolutionParameter\fP
|
||||
using the \%\f3GL_CONVOLUTION_2D\fP target and the names
|
||||
\%\f3GL_CONVOLUTION_FILTER_SCALE\fP and \%\f3GL_CONVOLUTION_FILTER_BIAS\fP.
|
||||
The parameters themselves are vectors of four values that are applied to red,
|
||||
green, blue, and alpha, in that order.)
|
||||
The R, G, B, and A values are not clamped to [0,1] at any time during this
|
||||
process.
|
||||
.sp
|
||||
Each pixel is then converted to the internal specified by
|
||||
\f2internalformat\fP.
|
||||
This conversion simply maps the component values of the pixel (R, G, B,
|
||||
and A) to the values included in the internal (red, green, blue,
|
||||
alpha, luminance, and intensity). The mapping is as follows:
|
||||
.sp
|
||||
.TS
|
||||
center;
|
||||
lb cb cb cb cb cb cb
|
||||
l c c c c c c.
|
||||
_
|
||||
Internal Format Red Green Blue Alpha Luminance Intensity
|
||||
_
|
||||
\%\f3GL_ALPHA\fP A
|
||||
\%\f3GL_LUMINANCE\fP R
|
||||
\%\f3GL_LUMINANCE_ALPHA\fP A R
|
||||
\%\f3GL_INTENSITY\fP R
|
||||
\%\f3GL_RGB\fP R G B
|
||||
\%\f3GL_RGBA\fP R G B A
|
||||
_
|
||||
.TE
|
||||
.sp
|
||||
The red, green, blue, alpha, luminance, and/or intensity components of
|
||||
the resulting pixels are stored in floating-point rather than integer
|
||||
.
|
||||
.sp
|
||||
Pixel ordering is such that lower x screen coordinates correspond to
|
||||
lower \f2i\fP filter image coordinates, and lower y screen coordinates
|
||||
correspond to lower \f2j\fP filter image coordinates.
|
||||
.PP
|
||||
Note that after a convolution is performed, the resulting color
|
||||
components are also scaled by their corresponding
|
||||
\%\f3GL_POST_CONVOLUTION_c_SCALE\fP parameters and biased by their
|
||||
corresponding \%\f3GL_POST_CONVOLUTION_c_BIAS\fP parameters (where
|
||||
\f2c\fP takes on the values \f3RED\fP, \f3GREEN\fP, \f3BLUE\fP, and
|
||||
\f3ALPHA\fP).
|
||||
These parameters are set by \%\f3glPixelTransfer\fP.
|
||||
.SH NOTES
|
||||
\%\f3glCopyConvolutionFilter2D\fP is present only if \%\f3GL_ARB_imaging\fP is returned when \%\f3glGetString\fP
|
||||
is called with an argument of \%\f3GL_EXTENSIONS\fP.
|
||||
.SH ERRORS
|
||||
\%\f3GL_INVALID_ENUM\fP is generated if \f2target\fP is not
|
||||
\%\f3GL_CONVOLUTION_2D\fP.
|
||||
.P
|
||||
\%\f3GL_INVALID_ENUM\fP is generated if \f2internalformat\fP is not one of the
|
||||
allowable values.
|
||||
.P
|
||||
\%\f3GL_INVALID_VALUE\fP is generated if \f2width\fP is less than zero or greater
|
||||
than the maximum supported value.
|
||||
This value may be queried with \%\f3glGetConvolutionParameter\fP
|
||||
using target \%\f3GL_CONVOLUTION_2D\fP and name
|
||||
\%\f3GL_MAX_CONVOLUTION_WIDTH\fP.
|
||||
.P
|
||||
\%\f3GL_INVALID_VALUE\fP is generated if \f2height\fP is less than zero or greater
|
||||
than the maximum supported value.
|
||||
This value may be queried with \%\f3glGetConvolutionParameter\fP
|
||||
using target \%\f3GL_CONVOLUTION_2D\fP and name
|
||||
\%\f3GL_MAX_CONVOLUTION_HEIGHT\fP.
|
||||
.P
|
||||
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glCopyConvolutionFilter2D\fP is executed
|
||||
between the execution of \%\f3glBegin\fP and the corresponding
|
||||
execution of \%\f3glEnd\fP.
|
||||
.SH ASSOCIATED GETS
|
||||
\%\f3glGetConvolutionParameter\fP, \%\f3glGetConvolutionFilter\fP
|
||||
.SH SEE ALSO
|
||||
\%\f3glConvolutionFilter2D(3G)\fP,
|
||||
\%\f3glConvolutionParameter(3G)\fP,
|
||||
\%\f3glPixelTransfer(3G)\fP
|
|
@ -1,249 +0,0 @@
|
|||
'\" e
|
||||
'\"! eqn | mmdoc
|
||||
'\"macro stdmacro
|
||||
.ds Vn Version 1.2
|
||||
.ds Dt 24 September 1999
|
||||
.ds Re Release 1.2.1
|
||||
.ds Dp Jan 14 18:30
|
||||
.ds Dm 01 copypixel
|
||||
.ds Xs 10756 11 copypixels.gl
|
||||
.TH GLCOPYPIXELS 3G
|
||||
.SH NAME
|
||||
.B "glCopyPixels
|
||||
\- copy pixels in the frame buffer
|
||||
|
||||
.SH C SPECIFICATION
|
||||
void \f3glCopyPixels\fP(
|
||||
GLint \fIx\fP,
|
||||
.nf
|
||||
.ta \w'\f3void \fPglCopyPixels( 'u
|
||||
GLint \fIy\fP,
|
||||
GLsizei \fIwidth\fP,
|
||||
GLsizei \fIheight\fP,
|
||||
GLenum \fItype\fP )
|
||||
.fi
|
||||
|
||||
.EQ
|
||||
delim $$
|
||||
.EN
|
||||
.SH PARAMETERS
|
||||
.TP \w'\f2x\fP\ \f2y\fP\ \ 'u
|
||||
\f2x\fP, \f2y\fP
|
||||
Specify the window coordinates of the lower left corner
|
||||
of the rectangular region of pixels to be copied.
|
||||
.TP
|
||||
\f2width\fP, \f2height\fP
|
||||
Specify the dimensions of the rectangular region of pixels to be copied.
|
||||
Both must be nonnegative.
|
||||
.TP
|
||||
\f2type\fP
|
||||
Specifies whether color values,
|
||||
depth values,
|
||||
or stencil values are to be copied.
|
||||
Symbolic constants
|
||||
\%\f3GL_COLOR\fP,
|
||||
\%\f3GL_DEPTH\fP,
|
||||
and \%\f3GL_STENCIL\fP are accepted.
|
||||
.SH DESCRIPTION
|
||||
\%\f3glCopyPixels\fP copies a screen-aligned rectangle of pixels
|
||||
from the specified frame buffer location to a region relative to the
|
||||
current raster position.
|
||||
Its operation is well defined only if the entire pixel source region
|
||||
is within the exposed portion of the window.
|
||||
Results of copies from outside the window,
|
||||
or from regions of the window that are not exposed,
|
||||
are hardware dependent and undefined.
|
||||
.P
|
||||
\f2x\fP and \f2y\fP specify the window coordinates of
|
||||
the lower left corner of the rectangular region to be copied.
|
||||
\f2width\fP and \f2height\fP specify the dimensions of the
|
||||
rectangular region to be copied.
|
||||
Both \f2width\fP and \f2height\fP must not be negative.
|
||||
.P
|
||||
Several parameters control the processing of the pixel data
|
||||
while it is being copied.
|
||||
These parameters are set with three commands:
|
||||
\%\f3glPixelTransfer\fP,
|
||||
\%\f3glPixelMap\fP, and
|
||||
\%\f3glPixelZoom\fP.
|
||||
This reference page describes the effects on \%\f3glCopyPixels\fP of most,
|
||||
but not all, of the parameters specified by these three commands.
|
||||
.P
|
||||
\%\f3glCopyPixels\fP copies values from each pixel with the lower left-hand corner at
|
||||
(\f2x\fP + $i$, \f2y\fP + $j$) for 0 \(<= $i$ < \f2width\fP
|
||||
and 0 \(<= $j$ < \f2height\fP.
|
||||
This pixel is said to be the $i$th pixel in the $j$th row.
|
||||
Pixels are copied in row order from the lowest to the highest row,
|
||||
left to right in each row.
|
||||
.P
|
||||
\f2type\fP specifies whether color, depth, or stencil data is to be copied.
|
||||
The details of the transfer for each data type are as follows:
|
||||
.TP 15
|
||||
\%\f3GL_COLOR\fP
|
||||
Indices or RGBA colors are read from the buffer currently specified as the
|
||||
read source buffer (see \%\f3glReadBuffer\fP).
|
||||
If the GL is in color index mode,
|
||||
each index that is read from this buffer is converted
|
||||
to a fixed-point with an unspecified
|
||||
number of bits to the right of the binary point.
|
||||
Each index is then shifted left by \%\f3GL_INDEX_SHIFT\fP bits,
|
||||
and added to \%\f3GL_INDEX_OFFSET\fP.
|
||||
If \%\f3GL_INDEX_SHIFT\fP is negative,
|
||||
the shift is to the right.
|
||||
In either case, zero bits fill otherwise unspecified bit locations in the
|
||||
result.
|
||||
If \%\f3GL_MAP_COLOR\fP is true,
|
||||
the index is replaced with the value that it references in lookup table
|
||||
\%\f3GL_PIXEL_MAP_I_TO_I\fP.
|
||||
Whether the lookup replacement of the index is done or not,
|
||||
the integer part of the index is then ANDed with $2 sup b -1$,
|
||||
where $b$ is the number of bits in a color index buffer.
|
||||
.IP
|
||||
If the GL is in RGBA mode,
|
||||
the red, green, blue, and alpha components of each pixel that is read
|
||||
are converted to an internal floating-point with unspecified
|
||||
precision.
|
||||
The conversion maps the largest representable component value to 1.0,
|
||||
and component value 0 to 0.0.
|
||||
The resulting floating-point color values are then multiplied
|
||||
by \%\f3GL_c_SCALE\fP and added to \%\f3GL_c_BIAS\fP,
|
||||
where \f2c\fP is RED, GREEN, BLUE, and ALPHA
|
||||
for the respective color components.
|
||||
The results are clamped to the range [0,1].
|
||||
If \%\f3GL_MAP_COLOR\fP is true,
|
||||
each color component is scaled by the size of lookup table
|
||||
\%\f3GL_PIXEL_MAP_c_TO_c\fP,
|
||||
then replaced by the value that it references in that table.
|
||||
\f2c\fP is R, G, B, or A.
|
||||
.IP
|
||||
If the \%\f3GL_ARB_imaging\fP extension is supported, the color values may
|
||||
be
|
||||
additionally processed by color-table lookups, color-matrix
|
||||
transformations, and convolution filters.
|
||||
.IP
|
||||
The GL then converts the resulting indices or RGBA colors to fragments
|
||||
by attaching the current raster position \f2z\fP coordinate and
|
||||
texture coordinates to each pixel,
|
||||
then assigning window coordinates
|
||||
($x sub r ~+~ i , y sub r ~+~ j$),
|
||||
where ($x sub r , y sub r$) is the current raster position,
|
||||
and the pixel was the $i$th pixel in the $j$th row.
|
||||
These pixel fragments are then treated just like the fragments generated by
|
||||
rasterizing points, lines, or polygons.
|
||||
Texture mapping,
|
||||
fog,
|
||||
and all the fragment operations are applied before the fragments are written
|
||||
to the frame buffer.
|
||||
.TP
|
||||
\%\f3GL_DEPTH\fP
|
||||
Depth values are read from the depth buffer and
|
||||
converted directly to an internal floating-point
|
||||
with unspecified precision.
|
||||
The resulting floating-point depth value is then multiplied
|
||||
by \%\f3GL_DEPTH_SCALE\fP and added to \%\f3GL_DEPTH_BIAS\fP.
|
||||
The result is clamped to the range [0,1].
|
||||
.IP
|
||||
The GL then converts the resulting depth components to fragments
|
||||
by attaching the current raster position color or color index and
|
||||
texture coordinates to each pixel,
|
||||
then assigning window coordinates
|
||||
($x sub r ~+~ i , y sub r ~+~ j$),
|
||||
where ($x sub r , y sub r$) is the current raster position,
|
||||
and the pixel was the $i$th pixel in the $j$th row.
|
||||
These pixel fragments are then treated just like the fragments generated by
|
||||
rasterizing points, lines, or polygons.
|
||||
Texture mapping,
|
||||
fog,
|
||||
and all the fragment operations are applied before the fragments are written
|
||||
to the frame buffer.
|
||||
.TP
|
||||
\%\f3GL_STENCIL\fP
|
||||
Stencil indices are read from the stencil buffer and
|
||||
converted to an internal fixed-point
|
||||
with an unspecified number of bits to the right of the binary point.
|
||||
Each fixed-point index is then shifted left by \%\f3GL_INDEX_SHIFT\fP bits,
|
||||
and added to \%\f3GL_INDEX_OFFSET\fP.
|
||||
If \%\f3GL_INDEX_SHIFT\fP is negative,
|
||||
the shift is to the right.
|
||||
In either case, zero bits fill otherwise unspecified bit locations in the
|
||||
result.
|
||||
If \%\f3GL_MAP_STENCIL\fP is true,
|
||||
the index is replaced with the value that it references in lookup table
|
||||
\%\f3GL_PIXEL_MAP_S_TO_S\fP.
|
||||
Whether the lookup replacement of the index is done or not,
|
||||
the integer part of the index is then ANDed with $2 sup b -1$,
|
||||
where $b$ is the number of bits in the stencil buffer.
|
||||
The resulting stencil indices are then written to the stencil buffer
|
||||
such that the index read from the $i$th location of the $j$th row
|
||||
is written to location
|
||||
($x sub r ~+~ i , y sub r ~+~ j$),
|
||||
where ($x sub r , y sub r$) is the current raster position.
|
||||
Only the pixel ownership test,
|
||||
the scissor test,
|
||||
and the stencil writemask affect these write operations.
|
||||
.P
|
||||
The rasterization described thus far assumes pixel zoom factors of 1.0.
|
||||
If
|
||||
.br
|
||||
\%\f3glPixelZoom\fP is used to change the $x$ and $y$ pixel zoom factors,
|
||||
pixels are converted to fragments as follows.
|
||||
If ($x sub r$, $y sub r$) is the current raster position,
|
||||
and a given pixel is in the $i$th location in the $j$th row of the source
|
||||
pixel rectangle,
|
||||
then fragments are generated for pixels whose centers are in the rectangle
|
||||
with corners at
|
||||
.P
|
||||
.ce
|
||||
($x sub r ~+~ zoom sub x^ i$, $y sub r ~+~ zoom sub y^j$)
|
||||
.sp .5
|
||||
.ce
|
||||
and
|
||||
.sp .5
|
||||
.ce
|
||||
($x sub r ~+~ zoom sub x^ (i ~+~ 1)$, $y sub r ~+~ zoom sub y^ ( j ~+~ 1 )$)
|
||||
.P
|
||||
where $zoom sub x$ is the value of \%\f3GL_ZOOM_X\fP and
|
||||
$zoom sub y$ is the value of \%\f3GL_ZOOM_Y\fP.
|
||||
.SH EXAMPLES
|
||||
To copy the color pixel in the lower left corner of the window to the current raster position,
|
||||
use
|
||||
.Ex
|
||||
glCopyPixels(0, 0, 1, 1, \%\f3GL_COLOR\fP);
|
||||
.En
|
||||
.SH NOTES
|
||||
Modes specified by \%\f3glPixelStore\fP have no effect on the operation
|
||||
of \%\f3glCopyPixels\fP.
|
||||
.SH ERRORS
|
||||
\%\f3GL_INVALID_ENUM\fP is generated if \f2type\fP is not an accepted value.
|
||||
.P
|
||||
\%\f3GL_INVALID_VALUE\fP is generated if either \f2width\fP or \f2height\fP is negative.
|
||||
.P
|
||||
\%\f3GL_INVALID_OPERATION\fP is generated if \f2type\fP is \%\f3GL_DEPTH\fP
|
||||
and there is no depth buffer.
|
||||
.P
|
||||
\%\f3GL_INVALID_OPERATION\fP is generated if \f2type\fP is \%\f3GL_STENCIL\fP
|
||||
and there is no stencil buffer.
|
||||
.P
|
||||
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glCopyPixels\fP
|
||||
is executed between the execution of \%\f3glBegin\fP
|
||||
and the corresponding execution of \%\f3glEnd\fP.
|
||||
.SH ASSOCIATED GETS
|
||||
\%\f3glGet\fP with argument \%\f3GL_CURRENT_RASTER_POSITION\fP
|
||||
.br
|
||||
\%\f3glGet\fP with argument \%\f3GL_CURRENT_RASTER_POSITION_VALID\fP
|
||||
.SH SEE ALSO
|
||||
\%\f3glColorTable(3G)\fP,
|
||||
\%\f3glConvolutionFilter1D(3G)\fP,
|
||||
\%\f3glConvolutionFilter2D(3G)\fP,
|
||||
\%\f3glDepthFunc(3G)\fP,
|
||||
\%\f3glDrawBuffer(3G)\fP,
|
||||
\%\f3glDrawPixels(3G)\fP,
|
||||
\%\f3glMatrixMode(3G)\fP,
|
||||
\%\f3glPixelMap(3G)\fP,
|
||||
\%\f3glPixelTransfer(3G)\fP,
|
||||
\%\f3glPixelZoom(3G)\fP,
|
||||
\%\f3glRasterPos(3G)\fP,
|
||||
\%\f3glReadBuffer(3G)\fP,
|
||||
\%\f3glReadPixels(3G)\fP,
|
||||
\%\f3glSeparableFilter2D(3G)\fP,
|
||||
\%\f3glStencilFunc(3G)\fP
|
|
@ -1,173 +0,0 @@
|
|||
'\" te
|
||||
'\"! tbl|eqn | mmdoc
|
||||
'\"macro stdmacro
|
||||
.ds Vn Version 1.2
|
||||
.ds Dt 24 September 1999
|
||||
.ds Re Release 1.2.1
|
||||
.ds Dp Jan 14 18:30
|
||||
.ds Dm 01 copytexim
|
||||
.ds Xs 48778 7 copyteximage1d.gl
|
||||
.TH GLCOPYTEXIMAGE1D 3G
|
||||
.SH NAME
|
||||
.B "glCopyTexImage1D
|
||||
\- copy pixels into a 1D texture image
|
||||
|
||||
.SH C SPECIFICATION
|
||||
void \f3glCopyTexImage1D\fP(
|
||||
GLenum \fItarget\fP,
|
||||
.nf
|
||||
.ta \w'\f3void \fPglCopyTexImage1D( 'u
|
||||
GLint \fIlevel\fP,
|
||||
GLenum \fIinternalformat\fP,
|
||||
GLint \fIx\fP,
|
||||
GLint \fIy\fP,
|
||||
GLsizei \fIwidth\fP,
|
||||
GLint \fIborder\fP )
|
||||
.fi
|
||||
|
||||
.EQ
|
||||
delim $$
|
||||
.EN
|
||||
.SH PARAMETERS
|
||||
.TP \w'\fIinternalformat\fP\ \ 'u
|
||||
\f2target\fP
|
||||
Specifies the target texture.
|
||||
Must be \%\f3GL_TEXTURE_1D\fP.
|
||||
.TP
|
||||
\f2level\fP
|
||||
Specifies the level-of-detail number.
|
||||
Level 0 is the base image level.
|
||||
Level \f2n\fP is the \f2n\fPth mipmap reduction image.
|
||||
.TP
|
||||
\f2internalformat\fP
|
||||
Specifies the internal of the texture.
|
||||
Must be one of the following symbolic constants:
|
||||
\%\f3GL_ALPHA\fP,
|
||||
\%\f3GL_ALPHA4\fP,
|
||||
\%\f3GL_ALPHA8\fP,
|
||||
\%\f3GL_ALPHA12\fP,
|
||||
\%\f3GL_ALPHA16\fP,
|
||||
\%\f3GL_LUMINANCE\fP,
|
||||
\%\f3GL_LUMINANCE4\fP,
|
||||
\%\f3GL_LUMINANCE8\fP,
|
||||
\%\f3GL_LUMINANCE12\fP,
|
||||
\%\f3GL_LUMINANCE16\fP,
|
||||
\%\f3GL_LUMINANCE_ALPHA\fP,
|
||||
\%\f3GL_LUMINANCE4_ALPHA4\fP,
|
||||
\%\f3GL_LUMINANCE6_ALPHA2\fP,
|
||||
\%\f3GL_LUMINANCE8_ALPHA8\fP,
|
||||
\%\f3GL_LUMINANCE12_ALPHA4\fP,
|
||||
\%\f3GL_LUMINANCE12_ALPHA12\fP,
|
||||
\%\f3GL_LUMINANCE16_ALPHA16\fP,
|
||||
\%\f3GL_INTENSITY\fP,
|
||||
\%\f3GL_INTENSITY4\fP,
|
||||
\%\f3GL_INTENSITY8\fP,
|
||||
\%\f3GL_INTENSITY12\fP,
|
||||
\%\f3GL_INTENSITY16\fP,
|
||||
\%\f3GL_RGB\fP,
|
||||
\%\f3GL_R3_G3_B2\fP,
|
||||
\%\f3GL_RGB4\fP,
|
||||
\%\f3GL_RGB5\fP,
|
||||
\%\f3GL_RGB8\fP,
|
||||
\%\f3GL_RGB10\fP,
|
||||
\%\f3GL_RGB12\fP,
|
||||
\%\f3GL_RGB16\fP,
|
||||
\%\f3GL_RGBA\fP,
|
||||
\%\f3GL_RGBA2\fP,
|
||||
\%\f3GL_RGBA4\fP,
|
||||
\%\f3GL_RGB5_A1\fP,
|
||||
\%\f3GL_RGBA8\fP,
|
||||
\%\f3GL_RGB10_A2\fP,
|
||||
\%\f3GL_RGBA12\fP, or
|
||||
\%\f3GL_RGBA16\fP.
|
||||
.TP
|
||||
\f2x\fP, \f2y\fP
|
||||
Specify the window coordinates of the left corner
|
||||
of the row of pixels to be copied.
|
||||
.TP
|
||||
\f2width\fP
|
||||
Specifies the width of the texture image.
|
||||
Must be 0 or $2 sup n ~+~ 2*$\f2border\fP for some integer $n$.
|
||||
The height of the texture image is 1.
|
||||
.TP
|
||||
\f2border\fP
|
||||
Specifies the width of the border.
|
||||
Must be either 0 or 1.
|
||||
.SH DESCRIPTION
|
||||
\%\f3glCopyTexImage1D\fP defines a one-dimensional texture image with pixels from the current
|
||||
\%\f3GL_READ_BUFFER\fP.
|
||||
.P
|
||||
The screen-aligned pixel row with left corner at $("x", "y")$
|
||||
and with a length of $"width"~+~2~*~"border"$
|
||||
defines the texture array
|
||||
at the mipmap level specified by \f2level\fP.
|
||||
\f2internalformat\fP specifies the internal of the texture array.
|
||||
.P
|
||||
The pixels in the row are processed exactly as if
|
||||
\%\f3glCopyPixels\fP had been called, but the process stops just before
|
||||
final conversion.
|
||||
At this point all pixel component values are clamped to the range [0,\ 1]
|
||||
and then converted to the texture's internal for storage in the texel
|
||||
array.
|
||||
.P
|
||||
Pixel ordering is such that lower $x$ screen coordinates correspond to
|
||||
lower texture coordinates.
|
||||
.P
|
||||
If any of the pixels within the specified row of the current
|
||||
\%\f3GL_READ_BUFFER\fP are outside the window associated with the current
|
||||
rendering context, then the values obtained for those pixels are undefined.
|
||||
.SH NOTES
|
||||
\%\f3glCopyTexImage1D\fP is available only if the GL version is 1.1 or greater.
|
||||
.P
|
||||
Texturing has no effect in color index mode.
|
||||
.P
|
||||
1, 2, 3, and 4 are not accepted values for \f2internalformat\fP.
|
||||
.P
|
||||
An image with 0 width indicates a NULL texture.
|
||||
.P
|
||||
When the \%\f3GL_ARB_imaging\fP extension is supported, the RGBA components
|
||||
copied from the framebuffer may be processed by the imaging pipeline. See
|
||||
\%\f3glTexImage1D\fP for specific details.
|
||||
.SH ERRORS
|
||||
\%\f3GL_INVALID_ENUM\fP is generated if \f2target\fP is not one of the
|
||||
allowable values.
|
||||
.P
|
||||
\%\f3GL_INVALID_VALUE\fP is generated if \f2level\fP is less than 0.
|
||||
.P
|
||||
\%\f3GL_INVALID_VALUE\fP may be generated if \f2level\fP is greater
|
||||
than $log sub 2 max$,
|
||||
where $max$ is the returned value of \%\f3GL_MAX_TEXTURE_SIZE\fP.
|
||||
.P
|
||||
\%\f3GL_INVALID_VALUE\fP is generated if \f2internalformat\fP is not an
|
||||
allowable value.
|
||||
.P
|
||||
\%\f3GL_INVALID_VALUE\fP is generated if \f2width\fP is less than 0
|
||||
or greater than
|
||||
2 + \%\f3GL_MAX_TEXTURE_SIZE\fP,
|
||||
or if it cannot be represented as $2 sup n ~+~ 2~*~("border")$
|
||||
for some integer value of \f2n\fP.
|
||||
.P
|
||||
\%\f3GL_INVALID_VALUE\fP is generated if \f2border\fP is not 0 or 1.
|
||||
.P
|
||||
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glCopyTexImage1D\fP
|
||||
is executed between the execution of \%\f3glBegin\fP
|
||||
and the corresponding execution of \%\f3glEnd\fP.
|
||||
.SH ASSOCIATED GETS
|
||||
\%\f3glGetTexImage\fP
|
||||
.br
|
||||
\%\f3glIsEnabled\fP with argument \%\f3GL_TEXTURE_1D\fP
|
||||
.SH SEE ALSO
|
||||
\%\f3glCopyPixels(3G)\fP,
|
||||
\%\f3glCopyTexImage2D(3G)\fP,
|
||||
\%\f3glCopyTexSubImage1D(3G)\fP,
|
||||
\%\f3glCopyTexSubImage2D(3G)\fP,
|
||||
\%\f3glPixelStore(3G)\fP,
|
||||
\%\f3glPixelTransfer(3G)\fP,
|
||||
\%\f3glTexEnv(3G)\fP,
|
||||
\%\f3glTexGen(3G)\fP,
|
||||
\%\f3glTexImage1D(3G)\fP,
|
||||
\%\f3glTexImage2D(3G)\fP,
|
||||
\%\f3glTexSubImage1D(3G)\fP,
|
||||
\%\f3glTexSubImage2D(3G)\fP,
|
||||
.br
|
||||
\%\f3glTexParameter(3G)\fP
|
|
@ -1,179 +0,0 @@
|
|||
'\" e
|
||||
'\"! eqn | mmdoc
|
||||
'\"macro stdmacro
|
||||
.ds Vn Version 1.2
|
||||
.ds Dt 24 September 1999
|
||||
.ds Re Release 1.2.1
|
||||
.ds Dp Jan 14 18:30
|
||||
.ds Dm 01 copytexim
|
||||
.ds Xs 15515 7 copyteximage2d.gl
|
||||
.TH GLCOPYTEXIMAGE2D 3G
|
||||
.SH NAME
|
||||
.B "glCopyTexImage2D
|
||||
\- copy pixels into a 2D texture image
|
||||
|
||||
.SH C SPECIFICATION
|
||||
void \f3glCopyTexImage2D\fP(
|
||||
GLenum \fItarget\fP,
|
||||
.nf
|
||||
.ta \w'\f3void \fPglCopyTexImage2D( 'u
|
||||
GLint \fIlevel\fP,
|
||||
GLenum \fIinternalformat\fP,
|
||||
GLint \fIx\fP,
|
||||
GLint \fIy\fP,
|
||||
GLsizei \fIwidth\fP,
|
||||
GLsizei \fIheight\fP,
|
||||
GLint \fIborder\fP )
|
||||
.fi
|
||||
|
||||
.EQ
|
||||
delim $$
|
||||
.EN
|
||||
.SH PARAMETERS
|
||||
.TP \w'\fIinternalformat\fP\ \ 'u
|
||||
\f2target\fP
|
||||
Specifies the target texture.
|
||||
Must be \%\f3GL_TEXTURE_2D\fP.
|
||||
.TP
|
||||
\f2level\fP
|
||||
Specifies the level-of-detail number.
|
||||
Level 0 is the base image level.
|
||||
Level \f2n\fP is the \f2n\fPth mipmap reduction image.
|
||||
.TP
|
||||
\f2internalformat\fP
|
||||
Specifies the internal of the texture.
|
||||
Must be one of the following symbolic constants:
|
||||
\%\f3GL_ALPHA\fP,
|
||||
\%\f3GL_ALPHA4\fP,
|
||||
\%\f3GL_ALPHA8\fP,
|
||||
\%\f3GL_ALPHA12\fP,
|
||||
\%\f3GL_ALPHA16\fP,
|
||||
\%\f3GL_LUMINANCE\fP,
|
||||
\%\f3GL_LUMINANCE4\fP,
|
||||
\%\f3GL_LUMINANCE8\fP,
|
||||
\%\f3GL_LUMINANCE12\fP,
|
||||
\%\f3GL_LUMINANCE16\fP,
|
||||
\%\f3GL_LUMINANCE_ALPHA\fP,
|
||||
\%\f3GL_LUMINANCE4_ALPHA4\fP,
|
||||
\%\f3GL_LUMINANCE6_ALPHA2\fP,
|
||||
\%\f3GL_LUMINANCE8_ALPHA8\fP,
|
||||
\%\f3GL_LUMINANCE12_ALPHA4\fP,
|
||||
\%\f3GL_LUMINANCE12_ALPHA12\fP,
|
||||
\%\f3GL_LUMINANCE16_ALPHA16\fP,
|
||||
\%\f3GL_INTENSITY\fP,
|
||||
\%\f3GL_INTENSITY4\fP,
|
||||
\%\f3GL_INTENSITY8\fP,
|
||||
\%\f3GL_INTENSITY12\fP,
|
||||
\%\f3GL_INTENSITY16\fP,
|
||||
\%\f3GL_RGB\fP,
|
||||
\%\f3GL_R3_G3_B2\fP,
|
||||
\%\f3GL_RGB4\fP,
|
||||
\%\f3GL_RGB5\fP,
|
||||
\%\f3GL_RGB8\fP,
|
||||
\%\f3GL_RGB10\fP,
|
||||
\%\f3GL_RGB12\fP,
|
||||
\%\f3GL_RGB16\fP,
|
||||
\%\f3GL_RGBA\fP,
|
||||
\%\f3GL_RGBA2\fP,
|
||||
\%\f3GL_RGBA4\fP,
|
||||
\%\f3GL_RGB5_A1\fP,
|
||||
\%\f3GL_RGBA8\fP,
|
||||
\%\f3GL_RGB10_A2\fP,
|
||||
\%\f3GL_RGBA12\fP, or
|
||||
\%\f3GL_RGBA16\fP.
|
||||
.TP
|
||||
\f2x\fP, \f2y\fP
|
||||
Specify the window coordinates of the lower left corner
|
||||
of the rectangular region of pixels to be copied.
|
||||
.TP
|
||||
\f2width\fP
|
||||
Specifies the width of the texture image.
|
||||
Must be 0 or $2 sup n ~+~ 2*$\f2border\fP for some integer $n$.
|
||||
.TP
|
||||
\f2height\fP
|
||||
Specifies the height of the texture image.
|
||||
Must be 0 or $2 sup m ~+~ 2*$\f2border\fP for some integer $m$.
|
||||
.TP
|
||||
\f2border\fP
|
||||
Specifies the width of the border.
|
||||
Must be either 0 or 1.
|
||||
.SH DESCRIPTION
|
||||
\%\f3glCopyTexImage2D\fP defines a two-dimensional texture image with pixels from the current
|
||||
\%\f3GL_READ_BUFFER\fP.
|
||||
.P
|
||||
The screen-aligned pixel rectangle with lower left corner at (\f2x\fP,
|
||||
\f2y\fP) and with a width of \f2width\fP$~+~2~*~$\f2border\fP and a height of
|
||||
\f2height\fP$~+~2~*~$\f2border\fP
|
||||
defines the texture array
|
||||
at the mipmap level specified by \f2level\fP.
|
||||
\f2internalformat\fP specifies the internal of the texture array.
|
||||
.P
|
||||
The pixels in the rectangle are processed exactly as if
|
||||
\%\f3glCopyPixels\fP had been called, but the process stops just before
|
||||
final conversion.
|
||||
At this point all pixel component values are clamped to the range $[0,1]$
|
||||
and then converted to the texture's internal for storage in the texel
|
||||
array.
|
||||
.P
|
||||
Pixel ordering is such that lower $x$ and $y$ screen coordinates correspond to
|
||||
lower $s$ and $t$ texture coordinates.
|
||||
.P
|
||||
If any of the pixels within the specified rectangle of the current
|
||||
\%\f3GL_READ_BUFFER\fP are outside the window associated with the current
|
||||
rendering context, then the values obtained for those pixels are undefined.
|
||||
.P
|
||||
.SH NOTES
|
||||
\%\f3glCopyTexImage2D\fP is available only if the GL version is 1.1 or greater.
|
||||
.P
|
||||
Texturing has no effect in color index mode.
|
||||
.P
|
||||
1, 2, 3, and 4 are not accepted values for \f2internalformat\fP.
|
||||
.P
|
||||
An image with height or width of 0 indicates a NULL texture.
|
||||
.P
|
||||
When the \%\f3GL_ARB_imaging\fP extension is supported, the RGBA components
|
||||
read from the framebuffer may be processed by the imaging pipeline. See
|
||||
\%\f3glTexImage1D\fP for specific details.
|
||||
.SH ERRORS
|
||||
\%\f3GL_INVALID_ENUM\fP is generated if \f2target\fP is not \%\f3GL_TEXTURE_2D\fP.
|
||||
.P
|
||||
\%\f3GL_INVALID_VALUE\fP is generated if \f2level\fP is less than 0.
|
||||
.P
|
||||
\%\f3GL_INVALID_VALUE\fP may be generated if \f2level\fP is greater
|
||||
than $log sub 2 max$,
|
||||
where $max$ is the returned value of \%\f3GL_MAX_TEXTURE_SIZE\fP.
|
||||
.P
|
||||
\%\f3GL_INVALID_VALUE\fP is generated if \f2width\fP or \f2height\fP is less than 0,
|
||||
greater than $2~+~$\%\f3GL_MAX_TEXTURE_SIZE\fP, or if \f2width\fP or \f2height\fP cannot be
|
||||
represented as $2 sup k ~+~ 2~*~$\f2border\fP for some integer
|
||||
$k$.
|
||||
.P
|
||||
\%\f3GL_INVALID_VALUE\fP is generated if \f2border\fP is not 0 or 1.
|
||||
.P
|
||||
\%\f3GL_INVALID_VALUE\fP is generated if \f2internalformat\fP is not one of the
|
||||
allowable values.
|
||||
.P
|
||||
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glCopyTexImage2D\fP is executed
|
||||
between the execution of \%\f3glBegin\fP and the corresponding
|
||||
execution of \%\f3glEnd\fP.
|
||||
.SH ASSOCIATED GETS
|
||||
\%\f3glGetTexImage\fP
|
||||
.br
|
||||
\%\f3glIsEnabled\fP with argument \%\f3GL_TEXTURE_2D\fP
|
||||
.SH SEE ALSO
|
||||
\%\f3glCopyPixels(3G)\fP,
|
||||
\%\f3glCopyTexImage1D(3G)\fP,
|
||||
\%\f3glCopyTexSubImage1D(3G)\fP,
|
||||
\%\f3glCopyTexSubImage2D(3G)\fP,
|
||||
\%\f3glPixelStore(3G)\fP,
|
||||
\%\f3glPixelTransfer(3G)\fP,
|
||||
\%\f3glTexEnv(3G)\fP,
|
||||
\%\f3glTexGen(3G)\fP,
|
||||
\%\f3glTexImage1D(3G)\fP,
|
||||
\%\f3glTexImage2D(3G)\fP,
|
||||
\%\f3glTexSubImage1D(3G)\fP,
|
||||
\%\f3glTexSubImage2D(3G)\fP,
|
||||
.br
|
||||
\%\f3glTexParameter(3G)\fP
|
||||
|
||||
|
|
@ -1,131 +0,0 @@
|
|||
'\" te
|
||||
'\"! tbl|eqn | mmdoc
|
||||
'\"macro stdmacro
|
||||
.ds Vn Version 1.2
|
||||
.ds Dt 24 September 1999
|
||||
.ds Re Release 1.2.1
|
||||
.ds Dp Jan 14 18:30
|
||||
.ds Dm 01 copytexsu
|
||||
.ds Xs 28384 6 copytexsubimage1d.gl
|
||||
.TH GLCOPYTEXSUBIMAGE1D 3G
|
||||
.SH NAME
|
||||
.B "glCopyTexSubImage1D
|
||||
\- copy a one-dimensional texture subimage
|
||||
|
||||
.SH C SPECIFICATION
|
||||
void \f3glCopyTexSubImage1D\fP(
|
||||
GLenum \fItarget\fP,
|
||||
.nf
|
||||
.ta \w'\f3void \fPglCopyTexSubImage1D( 'u
|
||||
GLint \fIlevel\fP,
|
||||
GLint \fIxoffset\fP,
|
||||
GLint \fIx\fP,
|
||||
GLint \fIy\fP,
|
||||
GLsizei \fIwidth\fP )
|
||||
.fi
|
||||
|
||||
.EQ
|
||||
delim $$
|
||||
.EN
|
||||
.SH PARAMETERS
|
||||
.TP \w'\fIxoffset\fP\ \ 'u
|
||||
\f2target\fP
|
||||
Specifies the target texture.
|
||||
Must be \%\f3GL_TEXTURE_1D\fP.
|
||||
.TP
|
||||
\f2level\fP
|
||||
Specifies the level-of-detail number.
|
||||
Level 0 is the base image level.
|
||||
Level \f2n\fP is the \f2n\fPth mipmap reduction image.
|
||||
.TP
|
||||
\f2xoffset\fP
|
||||
Specifies the texel offset within the texture array.
|
||||
.TP
|
||||
\f2x\fP, \f2y\fP
|
||||
Specify the window coordinates of the left corner
|
||||
of the row of pixels to be copied.
|
||||
.TP
|
||||
\f2width\fP
|
||||
Specifies the width of the texture subimage.
|
||||
.SH DESCRIPTION
|
||||
\%\f3glCopyTexSubImage1D\fP replaces a portion of a one-dimensional
|
||||
texture image with pixels from the current \%\f3GL_READ_BUFFER\fP (rather
|
||||
than from main memory, as is the case for \%\f3glTexSubImage1D\fP).
|
||||
.P
|
||||
The screen-aligned pixel row with left corner at (\f2x\fP,\ \f2y\fP), and with
|
||||
length \f2width\fP replaces the portion of the
|
||||
texture array with x indices \f2xoffset\fP through $"xoffset" ~+~ "width" ~-~ 1$,
|
||||
inclusive. The destination in the texture array may not
|
||||
include any texels outside the texture array as it was
|
||||
originally specified.
|
||||
.P
|
||||
The pixels in the row are processed exactly as if
|
||||
\%\f3glCopyPixels\fP had been called, but the process stops just before
|
||||
final conversion.
|
||||
At this point all pixel component values are clamped to the range [0,\ 1]
|
||||
and then converted to the texture's internal for storage in the texel
|
||||
array.
|
||||
.P
|
||||
It is not an error to specify a subtexture with zero width, but
|
||||
such a specification has no effect.
|
||||
If any of the pixels within the specified row of the current
|
||||
\%\f3GL_READ_BUFFER\fP are outside the read window associated with the current
|
||||
rendering context, then the values obtained for those pixels are undefined.
|
||||
.P
|
||||
No change is made to the \f2internalformat\fP, \f2width\fP,
|
||||
or \f2border\fP parameters of the specified texture
|
||||
array or to texel values outside the specified subregion.
|
||||
.SH NOTES
|
||||
\%\f3glCopyTexSubImage1D\fP is available only if the GL version is 1.1 or greater.
|
||||
.P
|
||||
Texturing has no effect in color index mode.
|
||||
.P
|
||||
\%\f3glPixelStore\fP and \%\f3glPixelTransfer\fP modes affect texture images
|
||||
in exactly the way they affect \%\f3glDrawPixels\fP.
|
||||
.P
|
||||
When the \%\f3GL_ARB_imaging\fP extension is supported, the RGBA components
|
||||
copied from the framebuffer may be processed by the imaging pipeline. See
|
||||
\%\f3glTexImage1D\fP for specific details.
|
||||
.SH ERRORS
|
||||
\%\f3GL_INVALID_ENUM\fP is generated if \f2target\fP is not \%\f3GL_TEXTURE_1D\fP.
|
||||
.P
|
||||
\%\f3GL_INVALID_OPERATION\fP is generated if the texture array has not
|
||||
been defined by a previous \%\f3glTexImage1D\fP or \%\f3glCopyTexImage1D\fP operation.
|
||||
.P
|
||||
\%\f3GL_INVALID_VALUE\fP is generated if \f2level\fP is less than 0.
|
||||
.P
|
||||
\%\f3GL_INVALID_VALUE\fP may be generated if \f2level\fP$>log sub 2$\f2 max\fP,
|
||||
where \f2max\fP is the returned value of \%\f3GL_MAX_TEXTURE_SIZE\fP.
|
||||
.P
|
||||
\%\f3GL_INVALID_VALUE\fP is generated if \f2y\fP$ ~<~ ~-b$
|
||||
or if \f2width\fP$ ~<~ ~-b$, where $b$
|
||||
is the border width of the texture array.
|
||||
.P
|
||||
\%\f3GL_INVALID_VALUE\fP is generated if $"xoffset" ~<~ ~-b$, or
|
||||
$("xoffset"~+~"width") ~>~ (w-b)$,
|
||||
where $w$ is the \%\f3GL_TEXTURE_WIDTH\fP, and $b$ is the \%\f3GL_TEXTURE_BORDER\fP
|
||||
of the texture image being modified.
|
||||
Note that $w$ includes twice the border width.
|
||||
.P
|
||||
.SH ASSOCIATED GETS
|
||||
\%\f3glGetTexImage\fP
|
||||
.br
|
||||
\%\f3glIsEnabled\fP with argument \%\f3GL_TEXTURE_1D\fP
|
||||
.SH SEE ALSO
|
||||
\%\f3glCopyPixels(3G)\fP,
|
||||
\%\f3glCopyTexImage1D(3G)\fP,
|
||||
\%\f3glCopyTexImage2D(3G)\fP,
|
||||
\%\f3glCopyTexSubImage2D(3G)\fP,
|
||||
\%\f3glCopyTexSubImage3D(3G)\fP,
|
||||
\%\f3glPixelStore(3G)\fP,
|
||||
\%\f3glPixelTransfer(3G)\fP,
|
||||
\%\f3glReadBuffer(3G)\fP,
|
||||
\%\f3glTexEnv(3G)\fP,
|
||||
\%\f3glTexGen(3G)\fP,
|
||||
\%\f3glTexImage1D(3G)\fP,
|
||||
\%\f3glTexImage2D(3G)\fP,
|
||||
\%\f3glTexImage3D(3G)\fP,
|
||||
\%\f3glTexParameter(3G)\fP,
|
||||
\%\f3glTexSubImage1D(3G)\fP,
|
||||
\%\f3glTexSubImage2D(3G)\fP,
|
||||
\%\f3glTexSubImage3D(3G)\fP
|
|
@ -1,151 +0,0 @@
|
|||
'\" te
|
||||
'\"! tbl|eqn | mmdoc
|
||||
'\"macro stdmacro
|
||||
.ds Vn Version 1.2
|
||||
.ds Dt 24 September 1999
|
||||
.ds Re Release 1.2.1
|
||||
.ds Dp Jan 14 18:30
|
||||
.ds Dm 01 copytexsu
|
||||
.ds Xs 21640 7 copytexsubimage2d.gl
|
||||
.TH GLCOPYTEXSUBIMAGE2D 3G
|
||||
.SH NAME
|
||||
.B "glCopyTexSubImage2D
|
||||
\- copy a two-dimensional texture subimage
|
||||
|
||||
.SH C SPECIFICATION
|
||||
void \f3glCopyTexSubImage2D\fP(
|
||||
GLenum \fItarget\fP,
|
||||
.nf
|
||||
.ta \w'\f3void \fPglCopyTexSubImage2D( 'u
|
||||
GLint \fIlevel\fP,
|
||||
GLint \fIxoffset\fP,
|
||||
GLint \fIyoffset\fP,
|
||||
GLint \fIx\fP,
|
||||
GLint \fIy\fP,
|
||||
GLsizei \fIwidth\fP,
|
||||
GLsizei \fIheight\fP )
|
||||
.fi
|
||||
|
||||
.EQ
|
||||
delim $$
|
||||
.EN
|
||||
.SH PARAMETERS
|
||||
.TP \w'\fIxoffset\fP\ \ 'u
|
||||
\f2target\fP
|
||||
Specifies the target texture.
|
||||
Must be \%\f3GL_TEXTURE_2D\fP.
|
||||
.TP
|
||||
\f2level\fP
|
||||
Specifies the level-of-detail number.
|
||||
Level 0 is the base image level.
|
||||
Level \f2n\fP is the \f2n\fPth mipmap reduction image.
|
||||
.TP
|
||||
\f2xoffset\fP
|
||||
Specifies a texel offset in the x direction within the texture array.
|
||||
.TP
|
||||
\f2yoffset\fP
|
||||
Specifies a texel offset in the y direction within the texture array.
|
||||
.TP
|
||||
\f2x\fP, \f2y\fP
|
||||
Specify the window coordinates of the lower left corner
|
||||
of the rectangular region of pixels to be copied.
|
||||
.TP
|
||||
\f2width\fP
|
||||
Specifies the width of the texture subimage.
|
||||
.TP
|
||||
\f2height\fP
|
||||
Specifies the height of the texture subimage.
|
||||
.SH DESCRIPTION
|
||||
\%\f3glCopyTexSubImage2D\fP replaces a rectangular portion of a two-dimensional
|
||||
texture image with pixels from the current \%\f3GL_READ_BUFFER\fP (rather
|
||||
than from main memory, as is the case for \%\f3glTexSubImage2D\fP).
|
||||
.P
|
||||
The screen-aligned pixel rectangle with lower left corner at
|
||||
(\f2x\fP,\ \f2y\fP) and with
|
||||
width \f2width\fP and height \f2height\fP replaces the portion of the
|
||||
texture array with x indices \f2xoffset\fP through \f2xoffset\fP$~+~$\f2width\fP$~-~$1,
|
||||
inclusive, and y indices \f2yoffset\fP through \f2yoffset\fP$~+~$\f2height\fP$~-~$1,
|
||||
inclusive, at the mipmap level specified by \f2level\fP.
|
||||
.P
|
||||
The pixels in the rectangle are processed exactly as if
|
||||
\%\f3glCopyPixels\fP had been called, but the process stops just before
|
||||
final conversion.
|
||||
At this point, all pixel component values are clamped to the range [0,\ 1]
|
||||
and then converted to the texture's internal for storage in the texel
|
||||
array.
|
||||
.P
|
||||
The destination rectangle in the texture array may not include any texels
|
||||
outside the texture array as it was originally specified.
|
||||
It is not an error to specify a subtexture with zero width or height, but
|
||||
such a specification has no effect.
|
||||
.P
|
||||
If any of the pixels within the specified rectangle of the current
|
||||
\%\f3GL_READ_BUFFER\fP are outside the read window associated with the current
|
||||
rendering context, then the values obtained for those pixels are undefined.
|
||||
.P
|
||||
No change is made to the \f2internalformat\fP, \f2width\fP,
|
||||
\f2height\fP, or \f2border\fP parameters of the specified texture
|
||||
array or to texel values outside the specified subregion.
|
||||
.SH NOTES
|
||||
\%\f3glCopyTexSubImage2D\fP is available only if the GL version is 1.1 or greater.
|
||||
.P
|
||||
Texturing has no effect in color index mode.
|
||||
.P
|
||||
\%\f3glPixelStore\fP and \%\f3glPixelTransfer\fP modes affect texture images
|
||||
in exactly the way they affect \%\f3glDrawPixels\fP.
|
||||
.P
|
||||
When the \%\f3GL_ARB_imaging\fP extension is supported, the RGBA components
|
||||
read from the framebuffer may be processed by the imaging pipeline. See
|
||||
\%\f3glTexImage1D\fP for specific details.
|
||||
.SH ERRORS
|
||||
\%\f3GL_INVALID_ENUM\fP is generated if \f2target\fP is not \%\f3GL_TEXTURE_2D\fP.
|
||||
.P
|
||||
\%\f3GL_INVALID_OPERATION\fP is generated if the texture array has not
|
||||
been defined by a previous \%\f3glTexImage2D\fP or \%\f3glCopyTexImage2D\fP operation.
|
||||
.P
|
||||
\%\f3GL_INVALID_VALUE\fP is generated if \f2level\fP is less than 0.
|
||||
.P
|
||||
\%\f3GL_INVALID_VALUE\fP may be generated if \f2level\fP is greater
|
||||
than $log sub 2 max$,
|
||||
where $max$ is the returned value of \%\f3GL_MAX_TEXTURE_SIZE\fP.
|
||||
.P
|
||||
\%\f3GL_INVALID_VALUE\fP is generated if \f2x\fP$ ~<~ ~-b$ or if
|
||||
\f2y\fP$ ~<~ ~-b$,
|
||||
where $b$ is the border width of the texture array.
|
||||
.P
|
||||
\%\f3GL_INVALID_VALUE\fP is generated if $"xoffset" ~<~ -b$,
|
||||
(\f2xoffset\fP$~+~$\f2width\fP)$~>~(w ~-~b)$,
|
||||
\f2yoffset\fP$~<~ ~-b$, or
|
||||
(\f2yoffset\fP$~+~$\f2height\fP)$~>~(h ~-~b)$,
|
||||
where $w$ is the \%\f3GL_TEXTURE_WIDTH\fP,
|
||||
$h$ is the \%\f3GL_TEXTURE_HEIGHT\fP,
|
||||
and $b$ is the \%\f3GL_TEXTURE_BORDER\fP
|
||||
of the texture image being modified.
|
||||
Note that $w$ and $h$
|
||||
include twice the border width.
|
||||
.P
|
||||
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glCopyTexSubImage2D\fP is executed
|
||||
between the execution of \%\f3glBegin\fP and the corresponding
|
||||
execution of \%\f3glEnd\fP.
|
||||
.SH ASSOCIATED GETS
|
||||
\%\f3glGetTexImage\fP
|
||||
.br
|
||||
\%\f3glIsEnabled\fP with argument \%\f3GL_TEXTURE_2D\fP
|
||||
.SH SEE ALSO
|
||||
\%\f3glCopyPixels(3G)\fP,
|
||||
\%\f3glCopyTexImage1D(3G)\fP,
|
||||
\%\f3glCopyTexImage2D(3G)\fP,
|
||||
\%\f3glCopyTexSubImage1D(3G)\fP,
|
||||
\%\f3glCopyTexSubImage3D(3G)\fP,
|
||||
\%\f3glPixelStore(3G)\fP,
|
||||
\%\f3glPixelTransfer(3G)\fP,
|
||||
\%\f3glReadBuffer(3G)\fP,
|
||||
\%\f3glTexEnv(3G)\fP,
|
||||
\%\f3glTexGen(3G)\fP,
|
||||
\%\f3glTexImage1D(3G)\fP,
|
||||
\%\f3glTexImage2D(3G)\fP,
|
||||
\%\f3glTexImage3D(3G)\fP,
|
||||
\%\f3glTexParameter(3G)\fP,
|
||||
\%\f3glTexSubImage1D(3G)\fP,
|
||||
\%\f3glTexSubImage2D(3G)\fP,
|
||||
\%\f3glTexSubImage3D(3G)\fP
|
|
@ -1,158 +0,0 @@
|
|||
'\" te
|
||||
'\"! tbl|eqn | mmdoc
|
||||
'\"macro stdmacro
|
||||
.ds Vn Version 1.2
|
||||
.ds Dt 24 September 1999
|
||||
.ds Re Release 1.2.1
|
||||
.ds Dp Jan 14 18:30
|
||||
.ds Dm 01 copytexsu
|
||||
.ds Xs 39423 7 copytexsubimage3d.gl
|
||||
.TH GLCOPYTEXSUBIMAGE3D 3G
|
||||
.SH NAME
|
||||
.B "glCopyTexSubImage3D
|
||||
\- copy a three-dimensional texture subimage
|
||||
|
||||
.SH C SPECIFICATION
|
||||
void \f3glCopyTexSubImage3D\fP(
|
||||
GLenum \fItarget\fP,
|
||||
.nf
|
||||
.ta \w'\f3void \fPglCopyTexSubImage3D( 'u
|
||||
GLint \fIlevel\fP,
|
||||
GLint \fIxoffset\fP,
|
||||
GLint \fIyoffset\fP,
|
||||
GLint \fIzoffset\fP,
|
||||
GLint \fIx\fP,
|
||||
GLint \fIy\fP,
|
||||
GLsizei \fIwidth\fP,
|
||||
GLsizei \fIheight\fP )
|
||||
.fi
|
||||
|
||||
.EQ
|
||||
delim $$
|
||||
.EN
|
||||
.SH PARAMETERS
|
||||
.TP \w'\fIxoffset\fP\ \ 'u
|
||||
\f2target\fP
|
||||
Specifies the target texture.
|
||||
Must be \%\f3GL_TEXTURE_3D\fP
|
||||
.TP
|
||||
\f2level\fP
|
||||
Specifies the level-of-detail number.
|
||||
Level 0 is the base image level.
|
||||
Level \f2n\fP is the \f2n\fPth mipmap reduction image.
|
||||
.TP
|
||||
\f2xoffset\fP
|
||||
Specifies a texel offset in the x direction within the texture array.
|
||||
.TP
|
||||
\f2yoffset\fP
|
||||
Specifies a texel offset in the y direction within the texture array.
|
||||
.TP
|
||||
\f2zoffset\fP
|
||||
Specifies a texel offset in the z direction within the texture array.
|
||||
.TP
|
||||
\f2x\fP, \f2y\fP
|
||||
Specify the window coordinates of the lower left corner
|
||||
of the rectangular region of pixels to be copied.
|
||||
.TP
|
||||
\f2width\fP
|
||||
Specifies the width of the texture subimage.
|
||||
.TP
|
||||
\f2height\fP
|
||||
Specifies the height of the texture subimage.
|
||||
.SH DESCRIPTION
|
||||
\%\f3glCopyTexSubImage3D\fP replaces a rectangular portion of a three-dimensional
|
||||
texture image with pixels from the current \%\f3GL_READ_BUFFER\fP (rather
|
||||
than from main memory, as is the case for \%\f3glTexSubImage3D\fP).
|
||||
.P
|
||||
The screen-aligned pixel rectangle with lower left corner at
|
||||
(\f2x\fP,\ \f2y\fP) and with
|
||||
width \f2width\fP and height \f2height\fP replaces the portion of the
|
||||
texture array with x indices \f2xoffset\fP through \f2xoffset\fP$~+~$\f2width\fP$~-~$1,
|
||||
inclusive, and y indices \f2yoffset\fP through \f2yoffset\fP$~+~$\f2height\fP$~-~$1,
|
||||
inclusive, at z index \f2zoffset\fP and at the mipmap level specified by \f2level\fP.
|
||||
.P
|
||||
The pixels in the rectangle are processed exactly as if
|
||||
\%\f3glCopyPixels\fP had been called, but the process stops just before
|
||||
final conversion.
|
||||
At this point, all pixel component values are clamped to the range [0,\ 1]
|
||||
and then converted to the texture's internal for storage in the texel
|
||||
array.
|
||||
.P
|
||||
The destination rectangle in the texture array may not include any texels
|
||||
outside the texture array as it was originally specified.
|
||||
It is not an error to specify a subtexture with zero width or height, but
|
||||
such a specification has no effect.
|
||||
.P
|
||||
If any of the pixels within the specified rectangle of the current
|
||||
\%\f3GL_READ_BUFFER\fP are outside the read window associated with the current
|
||||
rendering context, then the values obtained for those pixels are undefined.
|
||||
.P
|
||||
No change is made to the \f2internalformat\fP, \f2width\fP,
|
||||
\f2height\fP, \f2depth\fP, or \f2border\fP parameters of the specified texture
|
||||
array or to texel values outside the specified subregion.
|
||||
.SH NOTES
|
||||
\%\f3glCopyTexSubImage3D\fP is available only if the GL version is 1.2 or greater.
|
||||
.P
|
||||
Texturing has no effect in color index mode.
|
||||
.P
|
||||
\%\f3glPixelStore\fP and \%\f3glPixelTransfer\fP modes affect texture images
|
||||
in exactly the way they affect \%\f3glDrawPixels\fP.
|
||||
.P
|
||||
When the \%\f3GL_ARB_imaging\fP extension is supported, the RGBA components
|
||||
copied from the framebuffer may be processed by the imaging pipeline, as
|
||||
if they were a two-dimensional texture. See \%\f3glTexImage2D\fP for
|
||||
specific details.
|
||||
.SH ERRORS
|
||||
\%\f3GL_INVALID_ENUM\fP is generated if \f2target\fP is not \%\f3GL_TEXTURE_3D\fP.
|
||||
.P
|
||||
\%\f3GL_INVALID_OPERATION\fP is generated if the texture array has not
|
||||
been defined by a previous \%\f3glTexImage3D\fP or \%\f3glCopyTexImage3D\fP operation.
|
||||
.P
|
||||
\%\f3GL_INVALID_VALUE\fP is generated if \f2level\fP is less than 0.
|
||||
.P
|
||||
\%\f3GL_INVALID_VALUE\fP may be generated if \f2level\fP is greater
|
||||
than $log sub 2^max$,
|
||||
where $max$ is the returned value of \%\f3GL_MAX_3D_TEXTURE_SIZE\fP.
|
||||
.P
|
||||
\%\f3GL_INVALID_VALUE\fP is generated if \f2x\fP$ ~<~ ~-b$ or if
|
||||
\f2y\fP$ ~<~ ~-b$,
|
||||
where $b$ is the border width of the texture array.
|
||||
.P
|
||||
\%\f3GL_INVALID_VALUE\fP is generated if $"xoffset" ~<~ -b$,
|
||||
(\f2xoffset\fP$~+~$\f2width\fP)$~>~(w ~-~b)$,
|
||||
\f2yoffset\fP$~<~ ~-b$,
|
||||
(\f2yoffset\fP$~+~$\f2height\fP)$~>~(h ~-~b)$,
|
||||
\f2zoffset\fP$~<~ ~-b$, or \f2zoffset\fP$~>~(d ~-~b)$,
|
||||
where $w$ is the \%\f3GL_TEXTURE_WIDTH\fP,
|
||||
$h$ is the \%\f3GL_TEXTURE_HEIGHT\fP,
|
||||
$d$ is the \%\f3GL_TEXTURE_DEPTH\fP,
|
||||
and $b$ is the \%\f3GL_TEXTURE_BORDER\fP
|
||||
of the texture image being modified.
|
||||
Note that $w$, $h$, and $d$
|
||||
include twice the border width.
|
||||
.P
|
||||
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glCopyTexSubImage3D\fP is executed
|
||||
between the execution of \%\f3glBegin\fP and the corresponding
|
||||
execution of \%\f3glEnd\fP.
|
||||
.SH ASSOCIATED GETS
|
||||
\%\f3glGetTexImage\fP
|
||||
.br
|
||||
\%\f3glIsEnabled\fP with argument \%\f3GL_TEXTURE_3D\fP
|
||||
.SH SEE ALSO
|
||||
\%\f3glCopyPixels(3G)\fP,
|
||||
\%\f3glCopyTexImage1D(3G)\fP,
|
||||
\%\f3glCopyTexImage2D(3G)\fP,
|
||||
\%\f3glCopyTexSubImage1D(3G)\fP,
|
||||
\%\f3glCopyTexSubImage2D(3G)\fP,
|
||||
\%\f3glPixelStore(3G)\fP,
|
||||
\%\f3glPixelTransfer(3G)\fP,
|
||||
\%\f3glReadBuffer(3G)\fP,
|
||||
\%\f3glTexEnv(3G)\fP,
|
||||
\%\f3glTexGen(3G)\fP,
|
||||
\%\f3glTexImage1D(3G)\fP,
|
||||
\%\f3glTexImage2D(3G)\fP,
|
||||
\%\f3glTexImage3D(3G)\fP,
|
||||
\%\f3glTexParameter(3G)\fP,
|
||||
\%\f3glTexSubImage1D(3G)\fP,
|
||||
\%\f3glTexSubImage2D(3G)\fP,
|
||||
\%\f3glTexSubImage3D(3G)\fP
|
|
@ -1,58 +0,0 @@
|
|||
'\" te
|
||||
'\"! tbl|eqn | mmdoc
|
||||
'\"macro stdmacro
|
||||
.ds Vn Version 1.2
|
||||
.ds Dt 24 September 1999
|
||||
.ds Re Release 1.2.1
|
||||
.ds Dp Jan 14 18:30
|
||||
.ds Dm 01 cullface.
|
||||
.ds Xs 63441 4 cullface.gl
|
||||
.TH GLCULLFACE 3G
|
||||
.SH NAME
|
||||
.B "glCullFace
|
||||
\- specify whether front- or back-facing facets can be culled
|
||||
|
||||
.SH C SPECIFICATION
|
||||
void \f3glCullFace\fP(
|
||||
GLenum \fImode\fP )
|
||||
.nf
|
||||
.fi
|
||||
|
||||
.SH PARAMETERS
|
||||
.TP \w'\f2mode\fP\ \ 'u
|
||||
\f2mode\fP
|
||||
Specifies whether front- or back-facing facets are candidates for culling.
|
||||
Symbolic constants
|
||||
\%\f3GL_FRONT\fP, \%\f3GL_BACK\fP, and \%\f3GL_FRONT_AND_BACK\fP are accepted.
|
||||
The initial value is \%\f3GL_BACK\fP.
|
||||
.SH DESCRIPTION
|
||||
\%\f3glCullFace\fP specifies whether front- or back-facing facets are culled
|
||||
(as specified by \f2mode\fP) when facet culling is enabled. Facet
|
||||
culling is initially disabled.
|
||||
To enable and disable facet culling, call the
|
||||
\%\f3glEnable\fP and \%\f3glDisable\fP commands
|
||||
with the argument \%\f3GL_CULL_FACE\fP.
|
||||
Facets include triangles,
|
||||
quadrilaterals,
|
||||
polygons,
|
||||
and rectangles.
|
||||
.P
|
||||
\%\f3glFrontFace\fP specifies which of the clockwise and counterclockwise facets
|
||||
are front-facing and back-facing.
|
||||
See \%\f3glFrontFace\fP.
|
||||
.SH NOTES
|
||||
If \f2mode\fP is \%\f3GL_FRONT_AND_BACK\fP, no facets are drawn, but other
|
||||
primitives such as points and lines are drawn.
|
||||
.SH ERRORS
|
||||
\%\f3GL_INVALID_ENUM\fP is generated if \f2mode\fP is not an accepted value.
|
||||
.P
|
||||
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glCullFace\fP
|
||||
is executed between the execution of \%\f3glBegin\fP
|
||||
and the corresponding execution of \%\f3glEnd\fP.
|
||||
.SH ASSOCIATED GETS
|
||||
\%\f3glIsEnabled\fP with argument \%\f3GL_CULL_FACE\fP
|
||||
.br
|
||||
\%\f3glGet\fP with argument \%\f3GL_CULL_FACE_MODE\fP
|
||||
.SH SEE ALSO
|
||||
\%\f3glEnable(3G)\fP,
|
||||
\%\f3glFrontFace(3G)\fP
|
|
@ -1,50 +0,0 @@
|
|||
'\"macro stdmacro
|
||||
.ds Vn Version 1.2
|
||||
.ds Dt 24 September 1999
|
||||
.ds Re Release 1.2.1
|
||||
.ds Dp Jan 14 18:30
|
||||
.ds Dm 01 deletelis
|
||||
.ds Xs 9368 4 deletelists.gl
|
||||
.TH GLDELETELISTS 3G
|
||||
.SH NAME
|
||||
.B "glDeleteLists
|
||||
\- delete a contiguous group of display lists
|
||||
|
||||
.SH C SPECIFICATION
|
||||
void \f3glDeleteLists\fP(
|
||||
GLuint \fIlist\fP,
|
||||
.nf
|
||||
.ta \w'\f3void \fPglDeleteLists( 'u
|
||||
GLsizei \fIrange\fP )
|
||||
.fi
|
||||
|
||||
.SH PARAMETERS
|
||||
.TP \w'\fIrange\fP\ \ 'u
|
||||
\f2list\fP
|
||||
Specifies the integer name of the first display list to delete.
|
||||
.TP
|
||||
\f2range\fP
|
||||
Specifies the number of display lists to delete.
|
||||
.SH DESCRIPTION
|
||||
\%\f3glDeleteLists\fP causes a contiguous group of display lists to be deleted.
|
||||
\f2list\fP is the name of the first display list to be deleted,
|
||||
and \f2range\fP is the number of display lists to delete.
|
||||
All display lists \fId\fP with \f2list\fP \(<= \fId\fP \(<= \f2list\fP + \f2range\fP \- 1
|
||||
are deleted.
|
||||
.P
|
||||
All storage locations allocated to the specified display lists are freed,
|
||||
and the names are available for reuse at a later time.
|
||||
Names within the range that do not have an associated display list are ignored.
|
||||
If \f2range\fP is 0, nothing happens.
|
||||
.SH ERRORS
|
||||
\%\f3GL_INVALID_VALUE\fP is generated if \f2range\fP is negative.
|
||||
.P
|
||||
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glDeleteLists\fP
|
||||
is executed between the execution of \%\f3glBegin\fP
|
||||
and the corresponding execution of \%\f3glEnd\fP.
|
||||
.SH SEE ALSO
|
||||
\%\f3glCallList(3G)\fP,
|
||||
\%\f3glCallLists(3G)\fP,
|
||||
\%\f3glGenLists(3G)\fP,
|
||||
\%\f3glIsList(3G)\fP,
|
||||
\%\f3glNewList(3G)\fP
|
|
@ -1,60 +0,0 @@
|
|||
'\" e
|
||||
'\"! eqn | mmdoc
|
||||
'\"macro stdmacro
|
||||
.ds Vn Version 1.2
|
||||
.ds Dt 24 September 1999
|
||||
.ds Re Release 1.2.1
|
||||
.ds Dp Jan 14 18:30
|
||||
.ds Dm 01 deletetex
|
||||
.ds Xs 39225 4 deletetextures.gl
|
||||
.TH GLDELETETEXTURES 3G
|
||||
.SH NAME
|
||||
.B "glDeleteTextures
|
||||
\- delete named textures
|
||||
|
||||
.SH C SPECIFICATION
|
||||
void \f3glDeleteTextures\fP(
|
||||
GLsizei \fIn\fP,
|
||||
.nf
|
||||
.ta \w'\f3void \fPglDeleteTextures( 'u
|
||||
const GLuint \fI*textures\fP )
|
||||
.fi
|
||||
|
||||
.SH PARAMETERS
|
||||
.TP \w'\fItextures\fP\ \ 'u
|
||||
\f2n\fP
|
||||
Specifies the number of textures to be deleted.
|
||||
.TP
|
||||
\f2textures\fP
|
||||
Specifies an array of textures to be deleted.
|
||||
.SH DESCRIPTION
|
||||
\%\f3glDeleteTextures\fP deletes \f2n\fP textures named by the elements of the array \f2textures\fP.
|
||||
After a texture is deleted, it has no contents or dimensionality,
|
||||
and its name is free for reuse (for example by \%\f3glGenTextures\fP).
|
||||
If a texture that is currently bound is deleted, the binding reverts
|
||||
to 0 (the default texture).
|
||||
.P
|
||||
\%\f3glDeleteTextures\fP silently ignores 0's and names that do not correspond to
|
||||
existing textures.
|
||||
.SH NOTES
|
||||
\%\f3glDeleteTextures\fP is available only if the GL version is 1.1 or greater.
|
||||
.SH ERRORS
|
||||
\%\f3GL_INVALID_VALUE\fP is generated if \f2n\fP is negative.
|
||||
.P
|
||||
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glDeleteTextures\fP is executed
|
||||
between the execution of \%\f3glBegin\fP and the corresponding
|
||||
execution of \%\f3glEnd\fP.
|
||||
.SH ASSOCIATED GETS
|
||||
\%\f3glIsTexture\fP
|
||||
.SH SEE ALSO
|
||||
\%\f3glAreTexturesResident(3G)\fP,
|
||||
\%\f3glBindTexture(3G)\fP,
|
||||
\%\f3glCopyTexImage1D(3G)\fP,
|
||||
\%\f3glCopyTexImage2D(3G)\fP,
|
||||
\%\f3glGenTextures(3G)\fP,
|
||||
\%\f3glGet(3G)\fP,
|
||||
\%\f3glGetTexParameter(3G)\fP,
|
||||
\%\f3glPrioritizeTextures(3G)\fP,
|
||||
\%\f3glTexImage1D(3G)\fP,
|
||||
\%\f3glTexImage2D(3G)\fP,
|
||||
\%\f3glTexParameter(3G)\fP
|
|
@ -1,88 +0,0 @@
|
|||
'\" te
|
||||
'\"! tbl|eqn | mmdoc
|
||||
'\"macro stdmacro
|
||||
.ds Vn Version 1.2
|
||||
.ds Dt 24 September 1999
|
||||
.ds Re Release 1.2.1
|
||||
.ds Dp Jan 14 18:30
|
||||
.ds Dm 01 depthfunc
|
||||
.ds Xs 34310 5 depthfunc.gl
|
||||
.TH GLDEPTHFUNC 3G
|
||||
.SH NAME
|
||||
.B "glDepthFunc
|
||||
\- specify the value used for depth buffer comparisons
|
||||
|
||||
.SH C SPECIFICATION
|
||||
void \f3glDepthFunc\fP(
|
||||
GLenum \fIfunc\fP )
|
||||
.nf
|
||||
.fi
|
||||
|
||||
.SH PARAMETERS
|
||||
.TP \w'\f2func\fP\ \ 'u
|
||||
\f2func\fP
|
||||
Specifies the depth comparison function.
|
||||
Symbolic constants
|
||||
\%\f3GL_NEVER\fP,
|
||||
\%\f3GL_LESS\fP,
|
||||
\%\f3GL_EQUAL\fP,
|
||||
\%\f3GL_LEQUAL\fP,
|
||||
\%\f3GL_GREATER\fP,
|
||||
\%\f3GL_NOTEQUAL\fP,
|
||||
\%\f3GL_GEQUAL\fP, and
|
||||
\%\f3GL_ALWAYS\fP are accepted.
|
||||
The initial value is \%\f3GL_LESS\fP.
|
||||
.SH DESCRIPTION
|
||||
\%\f3glDepthFunc\fP specifies the function used to compare each incoming pixel depth value
|
||||
with the depth value present in the depth buffer.
|
||||
The comparison is performed only if depth testing is enabled.
|
||||
(See \%\f3glEnable\fP and \%\f3glDisable\fP of \%\f3GL_DEPTH_TEST\fP.)
|
||||
.P
|
||||
\f2func\fP specifies the conditions under which the pixel will be drawn.
|
||||
The comparison functions are as follows:
|
||||
.TP 16
|
||||
\%\f3GL_NEVER\fP
|
||||
Never passes.
|
||||
.TP
|
||||
\%\f3GL_LESS\fP
|
||||
Passes if the incoming depth value is less than the stored depth value.
|
||||
.TP
|
||||
\%\f3GL_EQUAL\fP
|
||||
Passes if the incoming depth value is equal to the stored depth value.
|
||||
.TP
|
||||
\%\f3GL_LEQUAL\fP
|
||||
Passes if the incoming depth value is less than or equal to
|
||||
the stored depth value.
|
||||
.TP
|
||||
\%\f3GL_GREATER\fP
|
||||
Passes if the incoming depth value is greater than the stored depth value.
|
||||
.TP
|
||||
\%\f3GL_NOTEQUAL\fP
|
||||
Passes if the incoming depth value is not equal to the stored depth value.
|
||||
.TP
|
||||
\%\f3GL_GEQUAL\fP
|
||||
Passes if the incoming depth value is greater than or equal to
|
||||
the stored depth value.
|
||||
.TP
|
||||
\%\f3GL_ALWAYS\fP
|
||||
Always passes.
|
||||
.P
|
||||
The initial value of \f2func\fP is \%\f3GL_LESS\fP.
|
||||
Initially, depth testing is disabled.
|
||||
.NOTES
|
||||
Even if the depth buffer exists and the depth mask is non-zero, the
|
||||
depth buffer is not updated if the depth test is disabled.
|
||||
.SH ERRORS
|
||||
\%\f3GL_INVALID_ENUM\fP is generated if \f2func\fP is not an accepted value.
|
||||
.P
|
||||
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glDepthFunc\fP
|
||||
is executed between the execution of \%\f3glBegin\fP
|
||||
and the corresponding execution of \%\f3glEnd\fP.
|
||||
.SH ASSOCIATED GETS
|
||||
\%\f3glGet\fP with argument \%\f3GL_DEPTH_FUNC\fP
|
||||
.br
|
||||
\%\f3glIsEnabled\fP with argument \%\f3GL_DEPTH_TEST\fP
|
||||
.SH SEE ALSO
|
||||
\%\f3glDepthRange(3G)\fP,
|
||||
\%\f3glEnable(3G)\fP,
|
||||
\%\f3glPolygonOffset(3G)\fP
|
|
@ -1,46 +0,0 @@
|
|||
'\" e
|
||||
'\"! eqn | mmdoc
|
||||
'\"macro stdmacro
|
||||
.ds Vn Version 1.2
|
||||
.ds Dt 24 September 1999
|
||||
.ds Re Release 1.2.1
|
||||
.ds Dp Jan 14 18:30
|
||||
.ds Dm 01 depthmask
|
||||
.ds Xs 13631 3 depthmask.gl
|
||||
.TH GLDEPTHMASK 3G
|
||||
.SH NAME
|
||||
.B "glDepthMask
|
||||
\- enable or disable writing into the depth buffer
|
||||
|
||||
.SH C SPECIFICATION
|
||||
void \f3glDepthMask\fP(
|
||||
GLboolean \fIflag\fP )
|
||||
.nf
|
||||
.fi
|
||||
|
||||
.SH PARAMETERS
|
||||
.TP \w'\f2flag\fP\ \ 'u
|
||||
\f2flag\fP
|
||||
Specifies whether the depth buffer is enabled for writing.
|
||||
If \f2flag\fP is \%\f3GL_FALSE\fP,
|
||||
depth buffer writing is disabled.
|
||||
Otherwise, it is enabled.
|
||||
Initially, depth buffer writing is enabled.
|
||||
.SH DESCRIPTION
|
||||
\%\f3glDepthMask\fP specifies whether the depth buffer is enabled for writing.
|
||||
If \f2flag\fP is \%\f3GL_FALSE\fP,
|
||||
depth buffer writing is disabled.
|
||||
Otherwise, it is enabled.
|
||||
Initially, depth buffer writing is enabled.
|
||||
.SH ERRORS
|
||||
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glDepthMask\fP
|
||||
is executed between the execution of \%\f3glBegin\fP
|
||||
and the corresponding execution of \%\f3glEnd\fP.
|
||||
.SH ASSOCIATED GETS
|
||||
\%\f3glGet\fP with argument \%\f3GL_DEPTH_WRITEMASK\fP
|
||||
.SH SEE ALSO
|
||||
\%\f3glColorMask(3G)\fP,
|
||||
\%\f3glDepthFunc(3G)\fP,
|
||||
\%\f3glDepthRange(3G)\fP,
|
||||
\%\f3glIndexMask(3G)\fP,
|
||||
\%\f3glStencilMask(3G)\fP
|
|
@ -1,65 +0,0 @@
|
|||
'\" e
|
||||
'\"! eqn | mmdoc
|
||||
'\"macro stdmacro
|
||||
.ds Vn Version 1.2
|
||||
.ds Dt 24 September 1999
|
||||
.ds Re Release 1.2.1
|
||||
.ds Dp Jan 14 18:30
|
||||
.ds Dm 01 depthrang
|
||||
.ds Xs 41369 4 depthrange.gl
|
||||
.TH GLDEPTHRANGE 3G
|
||||
.SH NAME
|
||||
.B "glDepthRange
|
||||
\- specify mapping of depth values from normalized device coordinates to window coordinates
|
||||
|
||||
.SH C SPECIFICATION
|
||||
void \f3glDepthRange\fP(
|
||||
GLclampd \fInear_val\fP,
|
||||
.nf
|
||||
.ta \w'\f3void \fPglDepthRange( 'u
|
||||
GLclampd \fIfar_val\fP )
|
||||
.fi
|
||||
|
||||
.EQ
|
||||
delim $$
|
||||
.EN
|
||||
.SH PARAMETERS
|
||||
.TP \w'\f2near_val\fP\ \ 'u
|
||||
\f2near_val\fP
|
||||
Specifies the mapping of the near clipping plane to window coordinates.
|
||||
The initial value is 0.
|
||||
.TP
|
||||
\f2far_val\fP
|
||||
Specifies the mapping of the far clipping plane to window coordinates.
|
||||
The initial value is 1.
|
||||
.SH DESCRIPTION
|
||||
After clipping and division by \f2w\fP,
|
||||
depth coordinates range from \-1 to 1,
|
||||
corresponding to the near and far clipping planes.
|
||||
\%\f3glDepthRange\fP specifies a linear mapping of the normalized depth coordinates
|
||||
in this range to window depth coordinates.
|
||||
Regardless of the actual depth buffer implementation,
|
||||
window coordinate depth values are treated as though they range
|
||||
from 0 through 1 (like color components).
|
||||
Thus,
|
||||
the values accepted by \%\f3glDepthRange\fP are both clamped to this range
|
||||
before they are accepted.
|
||||
.P
|
||||
The setting of (0,1) maps the near plane to 0 and
|
||||
the far plane to 1.
|
||||
With this mapping,
|
||||
the depth buffer range is fully utilized.
|
||||
.SH NOTES
|
||||
It is not necessary that \f2near_val\fP be less than \f2far_val\fP.
|
||||
Reverse mappings such as $"near_val" ~=~ 1$, and $"far_val" ~=~ 0$
|
||||
are acceptable.
|
||||
.SH ERRORS
|
||||
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glDepthRange\fP
|
||||
is executed between the execution of \%\f3glBegin\fP
|
||||
and the corresponding execution of \%\f3glEnd\fP.
|
||||
.SH ASSOCIATED GETS
|
||||
\%\f3glGet\fP with argument \%\f3GL_DEPTH_RANGE\fP
|
||||
.SH SEE ALSO
|
||||
\%\f3glDepthFunc(3G)\fP,
|
||||
\%\f3glPolygonOffset(3G)\fP,
|
||||
\%\f3glViewport(3G)\fP
|
|
@ -1,97 +0,0 @@
|
|||
'\" te
|
||||
'\"! tbl|eqn | mmdoc
|
||||
'\"macro stdmacro
|
||||
.ds Vn Version 1.2
|
||||
.ds Dt 24 September 1999
|
||||
.ds Re Release 1.2.1
|
||||
.ds Dp Jan 14 18:30
|
||||
.ds Dm 01 drawarray
|
||||
.ds Xs 55233 5 drawarrays.gl
|
||||
.TH GLDRAWARRAYS 3G
|
||||
.SH NAME
|
||||
.B "glDrawArrays
|
||||
\- render primitives from array data
|
||||
|
||||
.SH C SPECIFICATION
|
||||
void \f3glDrawArrays\fP(
|
||||
GLenum \fImode\fP,
|
||||
.nf
|
||||
.ta \w'\f3void \fPglDrawArrays( 'u
|
||||
GLint \fIfirst\fP,
|
||||
GLsizei \fIcount\fP )
|
||||
.fi
|
||||
|
||||
.EQ
|
||||
delim $$
|
||||
.EN
|
||||
.SH PARAMETERS
|
||||
.TP \w'\fIfirst\fP\ \ 'u
|
||||
\f2mode\fP
|
||||
Specifies what kind of primitives to render.
|
||||
Symbolic constants
|
||||
\%\f3GL_POINTS\fP,
|
||||
\%\f3GL_LINE_STRIP\fP,
|
||||
\%\f3GL_LINE_LOOP\fP,
|
||||
\%\f3GL_LINES\fP,
|
||||
\%\f3GL_TRIANGLE_STRIP\fP,
|
||||
\%\f3GL_TRIANGLE_FAN\fP,
|
||||
\%\f3GL_TRIANGLES\fP,
|
||||
\%\f3GL_QUAD_STRIP\fP,
|
||||
\%\f3GL_QUADS\fP,
|
||||
and \%\f3GL_POLYGON\fP are accepted.
|
||||
.TP
|
||||
\f2first\fP
|
||||
Specifies the starting index in the enabled arrays.
|
||||
.TP
|
||||
\f2count\fP
|
||||
Specifies the number of indices to be rendered.
|
||||
.SH DESCRIPTION
|
||||
\%\f3glDrawArrays\fP specifies multiple geometric primitives
|
||||
with very few subroutine calls. Instead of calling a GL procedure
|
||||
to pass each individual vertex, normal, texture coordinate, edge
|
||||
flag, or color, you can prespecify
|
||||
separate arrays of vertices, normals, and colors and use them to
|
||||
construct a sequence of primitives with a single
|
||||
call to \%\f3glDrawArrays\fP.
|
||||
.P
|
||||
When \%\f3glDrawArrays\fP is called, it uses \f2count\fP sequential elements from each
|
||||
enabled array to construct a sequence of geometric primitives,
|
||||
beginning with element \f2first\fP. \f2mode\fP specifies what kind of
|
||||
primitives are constructed, and how the array elements
|
||||
construct those primitives. If \%\f3GL_VERTEX_ARRAY\fP is not enabled, no
|
||||
geometric primitives are generated.
|
||||
.P
|
||||
Vertex attributes that are modified by \%\f3glDrawArrays\fP have an
|
||||
unspecified value after \%\f3glDrawArrays\fP returns. For example, if
|
||||
\%\f3GL_COLOR_ARRAY\fP is enabled, the value of the current color is
|
||||
undefined after \%\f3glDrawArrays\fP executes. Attributes that aren't
|
||||
modified remain well defined.
|
||||
.SH NOTES
|
||||
\%\f3glDrawArrays\fP is available only if the GL version is 1.1 or greater.
|
||||
.P
|
||||
\%\f3glDrawArrays\fP is included in display lists. If \%\f3glDrawArrays\fP is entered into a
|
||||
display list,
|
||||
the necessary array data (determined by the array pointers and
|
||||
enables) is also
|
||||
entered into the display list. Because the array pointers and
|
||||
enables are client-side state, their values affect display lists
|
||||
when the lists are created, not when the lists are executed.
|
||||
.SH ERRORS
|
||||
\%\f3GL_INVALID_ENUM\fP is generated if \f2mode\fP is not an accepted value.
|
||||
.P
|
||||
\%\f3GL_INVALID_VALUE\fP is generated if \f2count\fP is negative.
|
||||
.P
|
||||
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glDrawArrays\fP is executed between
|
||||
the execution of \%\f3glBegin\fP and the corresponding \%\f3glEnd\fP.
|
||||
.SH SEE ALSO
|
||||
\%\f3glArrayElement(3G)\fP,
|
||||
\%\f3glColorPointer(3G)\fP,
|
||||
\%\f3glDrawElements(3G)\fP,
|
||||
\%\f3glDrawRangeElements(3G)\fP,
|
||||
\%\f3glEdgeFlagPointer(3G)\fP,
|
||||
\%\f3glGetPointerv(3G)\fP,
|
||||
\%\f3glIndexPointer(3G)\fP,
|
||||
\%\f3glInterleavedArrays(3G)\fP,
|
||||
\%\f3glNormalPointer(3G)\fP,
|
||||
\%\f3glTexCoordPointer(3G)\fP,
|
||||
\%\f3glVertexPointer(3G)\fP
|
|
@ -1,141 +0,0 @@
|
|||
'\" te
|
||||
'\"! tbl|eqn | mmdoc
|
||||
'\"macro stdmacro
|
||||
.ds Vn Version 1.2
|
||||
.ds Dt 24 September 1999
|
||||
.ds Re Release 1.2.1
|
||||
.ds Dp Jan 14 18:30
|
||||
.ds Dm 01 drawbuffe
|
||||
.ds Xs 38775 6 drawbuffer.gl
|
||||
.TH GLDRAWBUFFER 3G
|
||||
.SH NAME
|
||||
.B "glDrawBuffer
|
||||
\- specify which color buffers are to be drawn into
|
||||
|
||||
.SH C SPECIFICATION
|
||||
void \f3glDrawBuffer\fP(
|
||||
GLenum \fImode\fP )
|
||||
.nf
|
||||
.fi
|
||||
|
||||
.EQ
|
||||
delim $$
|
||||
.EN
|
||||
.SH PARAMETERS
|
||||
.TP \w'\f2mode\fP\ \ 'u
|
||||
\f2mode\fP
|
||||
Specifies up to four color buffers to be drawn into.
|
||||
Symbolic constants
|
||||
\%\f3GL_NONE\fP,
|
||||
\%\f3GL_FRONT_LEFT\fP,
|
||||
\%\f3GL_FRONT_RIGHT\fP,
|
||||
\%\f3GL_BACK_LEFT\fP,
|
||||
\%\f3GL_BACK_RIGHT\fP,
|
||||
\%\f3GL_FRONT\fP,
|
||||
\%\f3GL_BACK\fP,
|
||||
\%\f3GL_LEFT\fP,
|
||||
\%\f3GL_RIGHT\fP,
|
||||
\%\f3GL_FRONT_AND_BACK\fP, and
|
||||
\%\f3GL_AUX\fP\f2i\fP,
|
||||
where \f2i\fP is between 0 and
|
||||
.br
|
||||
``\%\f3GL_AUX_BUFFERS\fP'' \-1,
|
||||
are accepted (\%\f3GL_AUX_BUFFERS\fP is not the upper limit; use \%\f3glGet\fP
|
||||
to query the number of available aux buffers.)
|
||||
The initial value is \%\f3GL_FRONT\fP for single-buffered contexts,
|
||||
and \%\f3GL_BACK\fP for double-buffered contexts.
|
||||
.SH DESCRIPTION
|
||||
When colors are written to the frame buffer,
|
||||
they are written into the color buffers specified by \%\f3glDrawBuffer\fP.
|
||||
The specifications are as follows:
|
||||
.TP 25
|
||||
\%\f3GL_NONE\fP
|
||||
No color buffers are written.
|
||||
.TP
|
||||
\%\f3GL_FRONT_LEFT\fP
|
||||
Only the front left color buffer is written.
|
||||
.TP
|
||||
\%\f3GL_FRONT_RIGHT\fP
|
||||
Only the front right color buffer is written.
|
||||
.TP
|
||||
\%\f3GL_BACK_LEFT\fP
|
||||
Only the back left color buffer is written.
|
||||
.TP
|
||||
\%\f3GL_BACK_RIGHT\fP
|
||||
Only the back right color buffer is written.
|
||||
.TP
|
||||
\%\f3GL_FRONT\fP
|
||||
Only the front left and front right color buffers are written.
|
||||
If there is no front right color buffer,
|
||||
only the front left color buffer is written.
|
||||
.TP
|
||||
\%\f3GL_BACK\fP
|
||||
Only the back left and back right color buffers are written.
|
||||
If there is no back right color buffer,
|
||||
only the back left color buffer is written.
|
||||
.TP
|
||||
\%\f3GL_LEFT\fP
|
||||
Only the front left and back left color buffers are written.
|
||||
If there is no back left color buffer,
|
||||
only the front left color buffer is written.
|
||||
.TP
|
||||
\%\f3GL_RIGHT\fP
|
||||
Only the front right and back right color buffers are written.
|
||||
If there is no back right color buffer,
|
||||
only the front right color buffer is written.
|
||||
.BP
|
||||
.TP
|
||||
\%\f3GL_FRONT_AND_BACK\fP
|
||||
All the front and back color buffers
|
||||
(front left, front right, back left, back right)
|
||||
are written.
|
||||
If there are no back color buffers,
|
||||
only the front left and front right color buffers are written.
|
||||
If there are no right color buffers,
|
||||
only the front left and back left color buffers are written.
|
||||
If there are no right or back color buffers,
|
||||
only the front left color buffer is written.
|
||||
.TP
|
||||
\%\f3GL_AUX\fP\f2i\fP
|
||||
Only auxiliary color buffer \f2i\fP is written.
|
||||
.P
|
||||
If more than one color buffer is selected for drawing,
|
||||
then blending or logical operations are computed and applied independently
|
||||
for each color buffer and can produce different results in each buffer.
|
||||
.P
|
||||
Monoscopic contexts include only
|
||||
.I left
|
||||
buffers, and stereoscopic contexts include both
|
||||
.I left
|
||||
and
|
||||
.I right
|
||||
buffers.
|
||||
Likewise, single-buffered contexts include only
|
||||
.I front
|
||||
buffers, and double-buffered contexts include both
|
||||
.I front
|
||||
and
|
||||
.I back
|
||||
buffers.
|
||||
The context is selected at GL initialization.
|
||||
.SH NOTES
|
||||
It is always the case that \%\f3GL_AUX\fP$i$ = \%\f3GL_AUX0\fP + $i$.
|
||||
.SH ERRORS
|
||||
\%\f3GL_INVALID_ENUM\fP is generated if \f2mode\fP is not an accepted value.
|
||||
.P
|
||||
\%\f3GL_INVALID_OPERATION\fP is generated if none of the buffers indicated
|
||||
by \f2mode\fP exists.
|
||||
.P
|
||||
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glDrawBuffer\fP
|
||||
is executed between the execution of \%\f3glBegin\fP
|
||||
and the corresponding execution of \%\f3glEnd\fP.
|
||||
.SH ASSOCIATED GETS
|
||||
\%\f3glGet\fP with argument \%\f3GL_DRAW_BUFFER\fP
|
||||
.br
|
||||
\%\f3glGet\fP with argument \%\f3GL_AUX_BUFFERS\fP
|
||||
.SH SEE ALSO
|
||||
\%\f3glBlendFunc(3G)\fP,
|
||||
\%\f3glColorMask(3G)\fP,
|
||||
\%\f3glIndexMask(3G)\fP,
|
||||
\%\f3glLogicOp(3G)\fP,
|
||||
\%\f3glReadBuffer(3G)\fP
|
|
@ -1,105 +0,0 @@
|
|||
'\" te
|
||||
'\"! tbl|eqn | mmdoc
|
||||
'\"macro stdmacro
|
||||
.ds Vn Version 1.2
|
||||
.ds Dt 24 September 1999
|
||||
.ds Re Release 1.2.1
|
||||
.ds Dp Jan 14 18:30
|
||||
.ds Dm 01 draweleme
|
||||
.ds Xs 17577 5 drawelements.gl
|
||||
.TH GLDRAWELEMENTS 3G
|
||||
.SH NAME
|
||||
.B "glDrawElements
|
||||
\- render primitives from array data
|
||||
|
||||
.SH C SPECIFICATION
|
||||
void \f3glDrawElements\fP(
|
||||
GLenum \fImode\fP,
|
||||
.nf
|
||||
.ta \w'\f3void \fPglDrawElements( 'u
|
||||
GLsizei \fIcount\fP,
|
||||
GLenum \fItype\fP,
|
||||
const GLvoid \fI*indices\fP )
|
||||
.fi
|
||||
|
||||
.EQ
|
||||
delim $$
|
||||
.EN
|
||||
.SH PARAMETERS
|
||||
.TP \w'\fIindices\fP\ \ 'u
|
||||
\f2mode\fP
|
||||
Specifies what kind of primitives to render.
|
||||
Symbolic constants
|
||||
\%\f3GL_POINTS\fP,
|
||||
\%\f3GL_LINE_STRIP\fP,
|
||||
\%\f3GL_LINE_LOOP\fP,
|
||||
\%\f3GL_LINES\fP,
|
||||
\%\f3GL_TRIANGLE_STRIP\fP,
|
||||
\%\f3GL_TRIANGLE_FAN\fP,
|
||||
\%\f3GL_TRIANGLES\fP,
|
||||
\%\f3GL_QUAD_STRIP\fP,
|
||||
\%\f3GL_QUADS\fP,
|
||||
and \%\f3GL_POLYGON\fP are accepted.
|
||||
.TP
|
||||
\f2count\fP
|
||||
Specifies the number of elements to be rendered.
|
||||
.TP
|
||||
\f2type\fP
|
||||
Specifies the type of the values in \f2indices\fP. Must be one of
|
||||
\%\f3GL_UNSIGNED_BYTE\fP, \%\f3GL_UNSIGNED_SHORT\fP, or
|
||||
\%\f3GL_UNSIGNED_INT\fP.
|
||||
.TP
|
||||
\f2indices\fP
|
||||
Specifies a pointer to the location where the indices are stored.
|
||||
.SH DESCRIPTION
|
||||
\%\f3glDrawElements\fP specifies multiple geometric primitives
|
||||
with very few subroutine calls. Instead of calling a GL function
|
||||
to pass each individual vertex, normal, texture coordinate, edge
|
||||
flag, or color, you can prespecify
|
||||
separate arrays of vertices, normals, and so on and use them to
|
||||
construct a sequence of primitives with a single
|
||||
call to \%\f3glDrawElements\fP.
|
||||
.P
|
||||
When \%\f3glDrawElements\fP is called, it uses \f2count\fP sequential elements from an
|
||||
enabled array, starting at \f2indices\fP to construct a sequence of
|
||||
geometric primitives. \f2mode\fP specifies what kind of primitives are
|
||||
constructed, and how the array elements construct these primitives. If
|
||||
more than one array is enabled, each is used. If
|
||||
\%\f3GL_VERTEX_ARRAY\fP is not enabled, no geometric primitives are
|
||||
constructed.
|
||||
.P
|
||||
Vertex attributes that are modified by \%\f3glDrawElements\fP have an
|
||||
unspecified value after \%\f3glDrawElements\fP returns. For example, if
|
||||
\%\f3GL_COLOR_ARRAY\fP is enabled, the value of the current color is
|
||||
undefined after \%\f3glDrawElements\fP executes. Attributes that aren't
|
||||
modified maintain their previous values.
|
||||
.SH NOTES
|
||||
\%\f3glDrawElements\fP is available only if the GL version is 1.1 or greater.
|
||||
.P
|
||||
\%\f3glDrawElements\fP is included in display lists. If \%\f3glDrawElements\fP is entered into a
|
||||
display list,
|
||||
the necessary array data (determined by the array pointers and
|
||||
enables) is also
|
||||
entered into the display list. Because the array pointers and
|
||||
enables are client-side state, their values affect display lists
|
||||
when the lists are created, not when the lists are executed.
|
||||
.SH ERRORS
|
||||
\%\f3GL_INVALID_ENUM\fP is generated if \f2mode\fP is not an accepted value.
|
||||
.P
|
||||
\%\f3GL_INVALID_VALUE\fP is generated if \f2count\fP is negative.
|
||||
.P
|
||||
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glDrawElements\fP is executed between
|
||||
the execution of \%\f3glBegin\fP and the corresponding \%\f3glEnd\fP.
|
||||
.SH SEE ALSO
|
||||
\%\f3glArrayElement(3G)\fP,
|
||||
\%\f3glColorPointer(3G)\fP,
|
||||
\%\f3glDrawArrays(3G)\fP,
|
||||
\%\f3glDrawRangeElements(3G)\fP,
|
||||
\%\f3glEdgeFlagPointer(3G)\fP,
|
||||
\%\f3glGetPointerv(3G)\fP,
|
||||
\%\f3glIndexPointer(3G)\fP,
|
||||
\%\f3glInterleavedArrays(3G)\fP,
|
||||
\%\f3glNormalPointer(3G)\fP,
|
||||
\%\f3glTexCoordPointer(3G)\fP,
|
||||
\%\f3glVertexPointer(3G)\fP
|
||||
|
|
@ -1,545 +0,0 @@
|
|||
'\" te
|
||||
'\"! tbl|eqn | mmdoc
|
||||
'\"macro stdmacro
|
||||
.ds Vn Version 1.2
|
||||
.ds Dt 24 September 1999
|
||||
.ds Re Release 1.2.1
|
||||
.ds Dp Jan 14 18:30
|
||||
.ds Dm 01 drawpixel
|
||||
.ds Xs 51793 21 drawpixels.gl
|
||||
.TH GLDRAWPIXELS 3G
|
||||
.SH NAME
|
||||
.B "glDrawPixels
|
||||
\- write a block of pixels to the frame buffer
|
||||
|
||||
.SH C SPECIFICATION
|
||||
void \f3glDrawPixels\fP(
|
||||
GLsizei \fIwidth\fP,
|
||||
.nf
|
||||
.ta \w'\f3void \fPglDrawPixels( 'u
|
||||
GLsizei \fIheight\fP,
|
||||
GLenum \fIformat\fP,
|
||||
GLenum \fItype\fP,
|
||||
const GLvoid \fI*pixels\fP )
|
||||
.fi
|
||||
|
||||
.EQ
|
||||
delim $$
|
||||
.EN
|
||||
.SH PARAMETERS
|
||||
.TP \w'\f2width\fP\ \f2height\fP\ \ 'u
|
||||
\f2width\fP, \f2height\fP
|
||||
Specify the dimensions of the pixel rectangle to be written
|
||||
into the frame buffer.
|
||||
.TP
|
||||
\f2format\fP
|
||||
Specifies the of the pixel data.
|
||||
Symbolic constants
|
||||
\%\f3GL_COLOR_INDEX\fP,
|
||||
\%\f3GL_STENCIL_INDEX\fP,
|
||||
\%\f3GL_DEPTH_COMPONENT\fP,
|
||||
\%\f3GL_RGB\fP,
|
||||
\%\f3GL_BGR\fP,
|
||||
\%\f3GL_RGBA\fP,
|
||||
\%\f3GL_BGRA\fP,
|
||||
\%\f3GL_RED\fP,
|
||||
\%\f3GL_GREEN\fP,
|
||||
\%\f3GL_BLUE\fP,
|
||||
\%\f3GL_ALPHA\fP,
|
||||
\%\f3GL_LUMINANCE\fP, and
|
||||
\%\f3GL_LUMINANCE_ALPHA\fP are accepted.
|
||||
.TP
|
||||
\f2type\fP
|
||||
Specifies the data type for \f2pixels\fP.
|
||||
Symbolic constants
|
||||
\%\f3GL_UNSIGNED_BYTE\fP,
|
||||
\%\f3GL_BYTE\fP,
|
||||
\%\f3GL_BITMAP\fP,
|
||||
\%\f3GL_UNSIGNED_SHORT\fP,
|
||||
\%\f3GL_SHORT\fP,
|
||||
\%\f3GL_UNSIGNED_INT\fP,
|
||||
\%\f3GL_INT\fP,
|
||||
\%\f3GL_FLOAT\fP,
|
||||
\%\f3GL_UNSIGNED_BYTE_3_3_2\fP,
|
||||
\%\f3GL_UNSIGNED_BYTE_2_3_3_REV\fP,
|
||||
\%\f3GL_UNSIGNED_SHORT_5_6_5\fP,
|
||||
\%\f3GL_UNSIGNED_SHORT_5_6_5_REV\fP,
|
||||
\%\f3GL_UNSIGNED_SHORT_4_4_4_4\fP,
|
||||
\%\f3GL_UNSIGNED_SHORT_4_4_4_4_REV\fP,
|
||||
\%\f3GL_UNSIGNED_SHORT_5_5_5_1\fP,
|
||||
\%\f3GL_UNSIGNED_SHORT_1_5_5_5_REV\fP,
|
||||
\%\f3GL_UNSIGNED_INT_8_8_8_8\fP,
|
||||
\%\f3GL_UNSIGNED_INT_8_8_8_8_REV\fP,
|
||||
\%\f3GL_UNSIGNED_INT_10_10_10_2\fP, and
|
||||
\%\f3GL_UNSIGNED_INT_2_10_10_10_REV\fP
|
||||
are accepted.
|
||||
.TP
|
||||
\f2pixels\fP
|
||||
Specifies a pointer to the pixel data.
|
||||
.SH DESCRIPTION
|
||||
\%\f3glDrawPixels\fP reads pixel data from memory and writes it into the frame buffer
|
||||
.br
|
||||
relative to the current raster position, provided that the raster
|
||||
position is valid. Use
|
||||
.br
|
||||
\%\f3glRasterPos\fP to set the current raster position; use
|
||||
\%\f3glGet\fP with argument \%\f3GL_CURRENT_RASTER_POSITION_VALID\fP
|
||||
to determine if the specified raster position is valid, and
|
||||
\%\f3glGet\fP with argument \%\f3GL_CURRENT_RASTER_POSITION\fP
|
||||
to query the raster position.
|
||||
.P
|
||||
Several parameters define the encoding of pixel data in memory
|
||||
and control the processing of the pixel data
|
||||
before it is placed in the frame buffer.
|
||||
These parameters are set with four commands:
|
||||
\%\f3glPixelStore\fP,
|
||||
\%\f3glPixelTransfer\fP,
|
||||
\%\f3glPixelMap\fP, and \%\f3glPixelZoom\fP.
|
||||
This reference page describes the effects on \%\f3glDrawPixels\fP of many,
|
||||
but not all, of the parameters specified by these four commands.
|
||||
.P
|
||||
Data is read from \f2pixels\fP as a sequence of signed or unsigned bytes,
|
||||
signed or unsigned shorts, signed or unsigned integers, or
|
||||
single-precision floating-point values, depending on \f2type\fP.
|
||||
When \f2type\fP is one of \%\f3GL_UNSIGNED_BYTE\fP, \%\f3GL_BYTE\fP,
|
||||
\%\f3GL_UNSIGNED_SHORT\fP, \%\f3GL_SHORT\fP, \%\f3GL_UNSIGNED_INT\fP,
|
||||
\%\f3GL_INT\fP, or \%\f3GL_FLOAT\fP each of these bytes, shorts, integers, or
|
||||
floating-point values is interpreted as one color or depth component, or
|
||||
one index, depending on \f2format\fP.
|
||||
When \f2type\fP is one of \%\f3GL_UNSIGNED_BYTE_3_3_2\fP,
|
||||
\%\f3GL_UNSIGNED_SHORT_5_6_5\fP, \%\f3GL_UNSIGNED_SHORT_4_4_4_4\fP,
|
||||
\%\f3GL_UNSIGNED_SHORT_5_5_5_1\fP, \%\f3GL_UNSIGNED_INT_8_8_8_8\fP,
|
||||
\%\f3GL_UNSIGNED_INT_10_10_10_2\fP, each unsigned value is interpreted as
|
||||
containing all the components for a single pixel, with the color
|
||||
components arranged according to \f2format\fP.
|
||||
When \f2type\fP is one of \%\f3GL_UNSIGNED_BYTE_2_3_3_REV\fP,
|
||||
\%\f3GL_UNSIGNED_SHORT_5_6_5_REV\fP, \%\f3GL_UNSIGNED_SHORT_4_4_4_4_REV\fP,
|
||||
\%\f3GL_UNSIGNED_SHORT_1_5_5_5_REV\fP, \%\f3GL_UNSIGNED_INT_8_8_8_8_REV\fP,
|
||||
\%\f3GL_UNSIGNED_INT_2_10_10_10_REV\fP, each unsigned value is interpreted
|
||||
as containing all color components, specified by \f2format\fP, for a single
|
||||
pixel in a reversed order. Indices are always treated individually.
|
||||
Color components are treated as groups of one, two, three, or four
|
||||
values, again based on \f2format\fP. Both individual indices and groups of
|
||||
components are referred to as pixels.
|
||||
If \f2type\fP is \%\f3GL_BITMAP\fP, the data must be unsigned bytes, and
|
||||
\f2format\fP must be either \%\f3GL_COLOR_INDEX\fP or \%\f3GL_STENCIL_INDEX\fP.
|
||||
Each unsigned byte is treated as eight 1-bit pixels, with bit ordering
|
||||
determined by \%\f3GL_UNPACK_LSB_FIRST\fP (see \%\f3glPixelStore\fP).
|
||||
.P
|
||||
\f2width\fP$~ times ~$\f2height\fP pixels are read from memory,
|
||||
starting at location \f2pixels\fP.
|
||||
By default, these pixels are taken from adjacent memory locations,
|
||||
except that after all \f2width\fP pixels are read,
|
||||
the read pointer is advanced to the next four-byte boundary.
|
||||
The four-byte row alignment is specified by \%\f3glPixelStore\fP with
|
||||
argument \%\f3GL_UNPACK_ALIGNMENT\fP,
|
||||
and it can be set to one, two, four, or eight bytes.
|
||||
Other pixel store parameters specify different read pointer advancements,
|
||||
both before the first pixel is read
|
||||
and after all \f2width\fP pixels are read.
|
||||
See the \%\f3glPixelStore\fP reference page for details on these options.
|
||||
.P
|
||||
The \f2width\fP$~ times ~$\f2height\fP pixels that are read from memory are
|
||||
each operated on in the same way,
|
||||
based on the values of several parameters specified by \%\f3glPixelTransfer\fP
|
||||
and \%\f3glPixelMap\fP.
|
||||
The details of these operations,
|
||||
as well as the target buffer into which the pixels are drawn,
|
||||
are specific to the of the pixels,
|
||||
as specified by \f2format\fP.
|
||||
\f2format\fP can assume one of 13 symbolic values:
|
||||
.TP 10
|
||||
\%\f3GL_COLOR_INDEX\fP
|
||||
Each pixel is a single value,
|
||||
a color index.
|
||||
It is converted to fixed-point ,
|
||||
with an unspecified number of bits to the right of the binary point,
|
||||
regardless of the memory data type.
|
||||
Floating-point values convert to true fixed-point values.
|
||||
Signed and unsigned integer data is converted with all fraction bits
|
||||
set to 0.
|
||||
Bitmap data convert to either 0 or 1.
|
||||
.IP
|
||||
Each fixed-point index is then shifted left by \%\f3GL_INDEX_SHIFT\fP bits
|
||||
and added to \%\f3GL_INDEX_OFFSET\fP.
|
||||
If \%\f3GL_INDEX_SHIFT\fP is negative,
|
||||
the shift is to the right.
|
||||
In either case, zero bits fill otherwise unspecified bit locations in the
|
||||
result.
|
||||
.IP
|
||||
If the GL is in RGBA mode,
|
||||
the resulting index is converted to an RGBA pixel
|
||||
with the help of the \%\f3GL_PIXEL_MAP_I_TO_R\fP,
|
||||
\%\f3GL_PIXEL_MAP_I_TO_G\fP,
|
||||
\%\f3GL_PIXEL_MAP_I_TO_B\fP,
|
||||
and \%\f3GL_PIXEL_MAP_I_TO_A\fP tables.
|
||||
If the GL is in color index mode,
|
||||
and if \%\f3GL_MAP_COLOR\fP is true,
|
||||
the index is replaced with the value that it references in lookup table
|
||||
\%\f3GL_PIXEL_MAP_I_TO_I\fP.
|
||||
Whether the lookup replacement of the index is done or not,
|
||||
the integer part of the index is then ANDed with $2 sup b -1$,
|
||||
where $b$ is the number of bits in a color index buffer.
|
||||
.BP
|
||||
.IP
|
||||
The GL then converts the resulting indices or RGBA colors to fragments
|
||||
by attaching the current raster position \f2z\fP coordinate and
|
||||
texture coordinates to each pixel,
|
||||
then assigning $x$ and $y$ window coordinates to the $n$th fragment such that
|
||||
.sp
|
||||
.RS
|
||||
.ce
|
||||
$x sub n ~=~ x sub r ~+~ n ~ roman mod ~ "width"$
|
||||
.sp
|
||||
.ce
|
||||
$y sub n ~=~ y sub r ~+~ \(lf n ^/^ "width" ~ \(rf$
|
||||
.ce 0
|
||||
.sp
|
||||
.RE
|
||||
.IP
|
||||
where ($x sub r , y sub r$) is the current raster position.
|
||||
These pixel fragments are then treated just like the fragments generated by
|
||||
rasterizing points, lines, or polygons.
|
||||
Texture mapping,
|
||||
fog,
|
||||
and all the fragment operations are applied before the fragments are written
|
||||
to the frame buffer.
|
||||
.TP
|
||||
\%\f3GL_STENCIL_INDEX\fP
|
||||
Each pixel is a single value,
|
||||
a stencil index.
|
||||
It is converted to fixed-point ,
|
||||
with an unspecified number of bits to the right of the binary point,
|
||||
regardless of the memory data type.
|
||||
Floating-point values convert to true fixed-point values.
|
||||
Signed and unsigned integer data is converted with all fraction bits
|
||||
set to 0.
|
||||
Bitmap data convert to either 0 or 1.
|
||||
.IP
|
||||
Each fixed-point index is then shifted left by \%\f3GL_INDEX_SHIFT\fP bits,
|
||||
and added to \%\f3GL_INDEX_OFFSET\fP.
|
||||
If \%\f3GL_INDEX_SHIFT\fP is negative,
|
||||
the shift is to the right.
|
||||
In either case, zero bits fill otherwise unspecified bit locations in the
|
||||
result.
|
||||
If \%\f3GL_MAP_STENCIL\fP is true,
|
||||
the index is replaced with the value that it references in lookup table
|
||||
\%\f3GL_PIXEL_MAP_S_TO_S\fP.
|
||||
Whether the lookup replacement of the index is done or not,
|
||||
the integer part of the index is then ANDed with $2 sup b -1$,
|
||||
where $b$ is the number of bits in the stencil buffer.
|
||||
The resulting stencil indices are then written to the stencil buffer
|
||||
such that the $n$th index is written to location
|
||||
.P
|
||||
.RS
|
||||
.ce
|
||||
$x sub n ~=~ x sub r ~+~ n ~ roman mod ~ "width"$
|
||||
.sp
|
||||
.ce
|
||||
$y sub n ~=~ y sub r ~+~ \(lf ~ n / "width" ~ \(rf$
|
||||
.fi
|
||||
.sp
|
||||
.RE
|
||||
.IP
|
||||
where ($x sub r , y sub r$) is the current raster position.
|
||||
Only the pixel ownership test,
|
||||
the scissor test,
|
||||
and the stencil writemask affect these write operations.
|
||||
.TP
|
||||
\%\f3GL_DEPTH_COMPONENT\fP
|
||||
Each pixel is a single-depth component.
|
||||
Floating-point data is converted directly to an internal floating-point
|
||||
with unspecified precision.
|
||||
Signed integer data is mapped linearly to the internal floating-point
|
||||
such that the most positive representable integer value maps to 1.0,
|
||||
and the most negative representable value maps to \-1.0.
|
||||
Unsigned integer data is mapped similarly:
|
||||
the largest integer value maps to 1.0,
|
||||
and 0 maps to 0.0.
|
||||
The resulting floating-point depth value is then multiplied
|
||||
by \%\f3GL_DEPTH_SCALE\fP and added to \%\f3GL_DEPTH_BIAS\fP.
|
||||
The result is clamped to the range [0,1].
|
||||
.IP
|
||||
The GL then converts the resulting depth components to fragments
|
||||
by attaching the current raster position color or color index and
|
||||
texture coordinates to each pixel,
|
||||
then assigning $x$ and $y$ window coordinates to the $n$th fragment such that
|
||||
.P
|
||||
.RS
|
||||
.ce
|
||||
$x sub n ~=~ x sub r ~+~ n ~ roman mod ~ "width"$
|
||||
.sp
|
||||
.ce
|
||||
$y sub n ~=~ y sub r ~+~ \(lf ~ n / "width" ~ \(rf$
|
||||
.ce 0
|
||||
.sp
|
||||
.RE
|
||||
.IP
|
||||
where ($x sub r , y sub r$) is the current raster position.
|
||||
These pixel fragments are then treated just like the fragments generated by
|
||||
rasterizing points, lines, or polygons.
|
||||
Texture mapping,
|
||||
fog,
|
||||
and all the fragment operations are applied before the fragments are written
|
||||
to the frame buffer.
|
||||
.TP
|
||||
\%\f3GL_RGBA\fP
|
||||
.TP
|
||||
\%\f3GL_BGRA\fP
|
||||
Each pixel is a four-component group: for \%\f3GL_RGBA\fP, the red
|
||||
component is first, followed by green, followed by blue, followed by
|
||||
alpha; for \%\f3GL_BGRA\fP the order is blue, green, red and then alpha.
|
||||
Floating-point values are converted directly to an internal floating-point
|
||||
with unspecified precision.
|
||||
Signed integer values are mapped linearly to the internal floating-point
|
||||
such that the most positive representable integer value maps to 1.0,
|
||||
and the most negative representable value maps to \-1.0. (Note that
|
||||
this mapping does not convert 0 precisely to 0.0.)
|
||||
Unsigned integer data is mapped similarly:
|
||||
the largest integer value maps to 1.0,
|
||||
and 0 maps to 0.0.
|
||||
The resulting floating-point color values are then multiplied
|
||||
by \%\f3GL_c_SCALE\fP and added to \%\f3GL_c_BIAS\fP,
|
||||
where \f2c\fP is RED, GREEN, BLUE, and ALPHA
|
||||
for the respective color components.
|
||||
The results are clamped to the range [0,1].
|
||||
.IP
|
||||
If \%\f3GL_MAP_COLOR\fP is true,
|
||||
each color component is scaled by the size of lookup table
|
||||
\%\f3GL_PIXEL_MAP_c_TO_c\fP,
|
||||
then replaced by the value that it references in that table.
|
||||
\f2c\fP is R, G, B, or A respectively.
|
||||
.BP
|
||||
.IP
|
||||
The GL then converts the resulting RGBA colors to fragments
|
||||
by attaching the current raster position \f2z\fP coordinate and
|
||||
texture coordinates to each pixel,
|
||||
then assigning $x$ and $y$ window coordinates to the $n$th fragment such that
|
||||
.P
|
||||
.RS
|
||||
.ce
|
||||
$x sub n ~=~ x sub r ~+~ n ~ roman mod ~ "width"$
|
||||
.sp
|
||||
.ce
|
||||
$y sub n ~=~ y sub r ~+~ \(lf ~ n / "width" ~ \(rf$
|
||||
.ce 0
|
||||
.sp
|
||||
.RE
|
||||
.IP
|
||||
where ($x sub r , y sub r$) is the current raster position.
|
||||
These pixel fragments are then treated just like the fragments generated by
|
||||
rasterizing points, lines, or polygons.
|
||||
Texture mapping,
|
||||
fog,
|
||||
and all the fragment operations are applied before the fragments are written
|
||||
to the frame buffer.
|
||||
.TP
|
||||
\%\f3GL_RED\fP
|
||||
Each pixel is a single red component.
|
||||
This component is converted to the internal floating-point in
|
||||
the same way the red component of an RGBA pixel is. It is
|
||||
then converted to an RGBA pixel with green and blue set to 0,
|
||||
and alpha set to 1.
|
||||
After this conversion, the pixel is treated as if it had been read
|
||||
as an RGBA pixel.
|
||||
.TP
|
||||
\%\f3GL_GREEN\fP
|
||||
Each pixel is a single green component.
|
||||
This component is converted to the internal floating-point in
|
||||
the same way the green component of an RGBA pixel is.
|
||||
It is then converted to an RGBA pixel with red and blue set to 0,
|
||||
and alpha set to 1.
|
||||
After this conversion, the pixel is treated as if it had been read
|
||||
as an RGBA pixel.
|
||||
.TP
|
||||
\%\f3GL_BLUE\fP
|
||||
Each pixel is a single blue component.
|
||||
This component is converted to the internal floating-point in
|
||||
the same way the blue component of an RGBA pixel is.
|
||||
It is then converted to an RGBA pixel with red and green set to 0,
|
||||
and alpha set to 1.
|
||||
After this conversion, the pixel is treated as if it had been read
|
||||
as an RGBA pixel.
|
||||
.TP
|
||||
\%\f3GL_ALPHA\fP
|
||||
Each pixel is a single alpha component.
|
||||
This component is converted to the internal floating-point in
|
||||
the same way the alpha component of an RGBA pixel is.
|
||||
It is then converted to an RGBA pixel with red, green, and blue set to 0.
|
||||
After this conversion, the pixel is treated as if it had been read
|
||||
as an RGBA pixel.
|
||||
.BP
|
||||
.TP
|
||||
\%\f3GL_RGB\fP
|
||||
.TP
|
||||
\%\f3GL_BGR\fP
|
||||
Each pixel is a three-component group:
|
||||
red first, followed by green, followed by blue; for \%\f3GL_BGR\fP, the
|
||||
first component is blue, followed by green and then red.
|
||||
Each component is converted to the internal floating-point in
|
||||
the same way the red, green, and blue components of an RGBA pixel are.
|
||||
The color triple is converted to an RGBA pixel with alpha set to 1.
|
||||
After this conversion, the pixel is treated as if it had been read
|
||||
as an RGBA pixel.
|
||||
.TP
|
||||
\%\f3GL_LUMINANCE\fP
|
||||
Each pixel is a single luminance component.
|
||||
This component is converted to the internal floating-point in
|
||||
the same way the red component of an RGBA pixel is.
|
||||
It is then converted to an RGBA pixel with red, green, and blue set to the
|
||||
converted luminance value,
|
||||
and alpha set to 1.
|
||||
After this conversion, the pixel is treated as if it had been read
|
||||
as an RGBA pixel.
|
||||
.TP
|
||||
\%\f3GL_LUMINANCE_ALPHA\fP
|
||||
Each pixel is a two-component group:
|
||||
luminance first, followed by alpha.
|
||||
The two components are converted to the internal floating-point in
|
||||
the same way the red component of an RGBA pixel is.
|
||||
They are then converted to an RGBA pixel with red, green, and blue set to the
|
||||
converted luminance value,
|
||||
and alpha set to the converted alpha value.
|
||||
After this conversion, the pixel is treated as if it had been read
|
||||
as an RGBA pixel.
|
||||
.P
|
||||
The following table summarizes the meaning of the valid constants for the
|
||||
\f2type\fP parameter:
|
||||
.sp 2
|
||||
.TS
|
||||
center;
|
||||
lb lb
|
||||
l l.
|
||||
_
|
||||
Type Corresponding Type
|
||||
_
|
||||
\%\f3GL_UNSIGNED_BYTE\fP unsigned 8-bit integer
|
||||
\%\f3GL_BYTE\fP signed 8-bit integer
|
||||
\%\f3GL_BITMAP\fP single bits in unsigned 8-bit integers
|
||||
\%\f3GL_UNSIGNED_SHORT\fP unsigned 16-bit integer
|
||||
\%\f3GL_SHORT\fP signed 16-bit integer
|
||||
\%\f3GL_UNSIGNED_INT\fP unsigned 32-bit integer
|
||||
\%\f3GL_INT\fP 32-bit integer
|
||||
\%\f3GL_FLOAT\fP single-precision floating-point
|
||||
\%\f3GL_UNSIGNED_BYTE_3_3_2\fP unsigned 8-bit integer
|
||||
\%\f3GL_UNSIGNED_BYTE_2_3_3_REV\fP unsigned 8-bit integer with reversed component ordering
|
||||
\%\f3GL_UNSIGNED_SHORT_5_6_5\fP unsigned 16-bit integer
|
||||
\%\f3GL_UNSIGNED_SHORT_5_6_5_REV\fP unsigned 16-bit integer with reversed component ordering
|
||||
\%\f3GL_UNSIGNED_SHORT_4_4_4_4\fP unsigned 16-bit integer
|
||||
\%\f3GL_UNSIGNED_SHORT_4_4_4_4_REV\fP unsigned 16-bit integer with reversed component ordering
|
||||
\%\f3GL_UNSIGNED_SHORT_5_5_5_1\fP unsigned 16-bit integer
|
||||
\%\f3GL_UNSIGNED_SHORT_1_5_5_5_REV\fP unsigned 16-bit integer with reversed component ordering
|
||||
\%\f3GL_UNSIGNED_INT_8_8_8_8\fP unsigned 32-bit integer
|
||||
\%\f3GL_UNSIGNED_INT_8_8_8_8_REV\fP unsigned 32-bit integer with reversed component ordering
|
||||
\%\f3GL_UNSIGNED_INT_10_10_10_2\fP unsigned 32-bit integer
|
||||
\%\f3GL_UNSIGNED_INT_2_10_10_10_REV\fP unsigned 32-bit integer with reversed component ordering
|
||||
_
|
||||
.TE
|
||||
.sp
|
||||
.BP
|
||||
.P
|
||||
The rasterization described so far assumes pixel zoom factors of 1.
|
||||
If
|
||||
.br
|
||||
\%\f3glPixelZoom\fP is used to change the $x$ and $y$ pixel zoom factors,
|
||||
pixels are converted to fragments as follows.
|
||||
If ($x sub r$, $y sub r$) is the current raster position,
|
||||
and a given pixel is in the $n$th column and $m$th row
|
||||
of the pixel rectangle,
|
||||
then fragments are generated for pixels whose centers are in the rectangle
|
||||
with corners at
|
||||
.sp
|
||||
.RS
|
||||
.ce
|
||||
($x sub r ~+~ zoom sub x^ n$, $y sub r ~+~ zoom sub y^ m$)
|
||||
.sp
|
||||
.ce
|
||||
($x sub r ~+~ zoom sub x^ (n ~+~ 1)$, $y sub r ~+~ zoom sub y^ ( m ~+~ 1 )$)
|
||||
.ce 0
|
||||
.sp
|
||||
.RE
|
||||
.P
|
||||
where $zoom sub x$ is the value of \%\f3GL_ZOOM_X\fP and
|
||||
$zoom sub y$ is the value of \%\f3GL_ZOOM_Y\fP.
|
||||
.SH NOTES
|
||||
\%\f3GL_BGR\fP and \%\f3GL_BGRA\fP are only valid for \f2format\fP if the GL
|
||||
version is 1.2 or greater.
|
||||
.P
|
||||
\%\f3GL_UNSIGNED_BYTE_3_3_2\fP,
|
||||
\%\f3GL_UNSIGNED_BYTE_2_3_3_REV\fP,
|
||||
\%\f3GL_UNSIGNED_SHORT_5_6_5\fP,
|
||||
\%\f3GL_UNSIGNED_SHORT_5_6_5_REV\fP,
|
||||
\%\f3GL_UNSIGNED_SHORT_4_4_4_4\fP,
|
||||
\%\f3GL_UNSIGNED_SHORT_4_4_4_4_REV\fP,
|
||||
\%\f3GL_UNSIGNED_SHORT_5_5_5_1\fP,
|
||||
\%\f3GL_UNSIGNED_SHORT_1_5_5_5_REV\fP,
|
||||
\%\f3GL_UNSIGNED_INT_8_8_8_8\fP,
|
||||
\%\f3GL_UNSIGNED_INT_8_8_8_8_REV\fP,
|
||||
\%\f3GL_UNSIGNED_INT_10_10_10_2\fP, and
|
||||
\%\f3GL_UNSIGNED_INT_2_10_10_10_REV\fP are only valid for \f2type\fP if the
|
||||
GL version is 1.2 or greater.
|
||||
.SH ERRORS
|
||||
\%\f3GL_INVALID_VALUE\fP is generated if either \f2width\fP or \f2height\fP is negative.
|
||||
.P
|
||||
\%\f3GL_INVALID_ENUM\fP is generated if \f2format\fP or \f2type\fP is not one of
|
||||
the accepted values.
|
||||
.P
|
||||
\%\f3GL_INVALID_OPERATION\fP is generated if \f2format\fP is
|
||||
\%\f3GL_RED\fP,
|
||||
\%\f3GL_GREEN\fP,
|
||||
\%\f3GL_BLUE\fP,
|
||||
\%\f3GL_ALPHA\fP,
|
||||
\%\f3GL_RGB\fP,
|
||||
\%\f3GL_RGBA\fP,
|
||||
\%\f3GL_BGR\fP,
|
||||
\%\f3GL_BGRA\fP,
|
||||
\%\f3GL_LUMINANCE\fP,
|
||||
or
|
||||
\%\f3GL_LUMINANCE_ALPHA\fP,
|
||||
and the GL is in color index mode.
|
||||
.P
|
||||
\%\f3GL_INVALID_ENUM\fP is generated if \f2type\fP is \%\f3GL_BITMAP\fP and
|
||||
\f2format\fP is not either \%\f3GL_COLOR_INDEX\fP or \%\f3GL_STENCIL_INDEX\fP.
|
||||
.P
|
||||
\%\f3GL_INVALID_OPERATION\fP is generated if \f2format\fP is \%\f3GL_STENCIL_INDEX\fP
|
||||
and there is no stencil buffer.
|
||||
.P
|
||||
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glDrawPixels\fP
|
||||
is executed between the execution of \%\f3glBegin\fP
|
||||
and the corresponding execution of \%\f3glEnd\fP.
|
||||
.P
|
||||
\%\f3GL_INVALID_OPERATION\fP is generated if \f2format\fP is one
|
||||
\%\f3GL_UNSIGNED_BYTE_3_3_2\fP,
|
||||
\%\f3GL_UNSIGNED_BYTE_2_3_3_REV\fP,
|
||||
\%\f3GL_UNSIGNED_SHORT_5_6_5\fP, of
|
||||
\%\f3GL_UNSIGNED_SHORT_5_6_5_REV\fP
|
||||
and \f2format\fP is not \%\f3GL_RGB\fP.
|
||||
.P
|
||||
\%\f3GL_INVALID_OPERATION\fP is generated if \f2format\fP is one of
|
||||
\%\f3GL_UNSIGNED_SHORT_4_4_4_4\fP,
|
||||
\%\f3GL_UNSIGNED_SHORT_4_4_4_4_REV\fP,
|
||||
\%\f3GL_UNSIGNED_SHORT_5_5_5_1\fP,
|
||||
\%\f3GL_UNSIGNED_SHORT_1_5_5_5_REV\fP,
|
||||
\%\f3GL_UNSIGNED_INT_8_8_8_8\fP,
|
||||
\%\f3GL_UNSIGNED_INT_8_8_8_8_REV\fP,
|
||||
\%\f3GL_UNSIGNED_INT_10_10_10_2\fP, or
|
||||
\%\f3GL_UNSIGNED_INT_2_10_10_10_REV\fP
|
||||
and \f2format\fP is neither \%\f3GL_RGBA\fP nor \%\f3GL_BGRA\fP.
|
||||
.SH ASSOCIATED GETS
|
||||
\%\f3glGet\fP with argument \%\f3GL_CURRENT_RASTER_POSITION\fP
|
||||
.br
|
||||
\%\f3glGet\fP with argument \%\f3GL_CURRENT_RASTER_POSITION_VALID\fP
|
||||
.SH SEE ALSO
|
||||
\%\f3glAlphaFunc(3G)\fP,
|
||||
\%\f3glBlendFunc(3G)\fP,
|
||||
\%\f3glCopyPixels(3G)\fP,
|
||||
\%\f3glDepthFunc(3G)\fP,
|
||||
\%\f3glLogicOp(3G)\fP,
|
||||
\%\f3glPixelMap(3G)\fP,
|
||||
\%\f3glPixelStore(3G)\fP,
|
||||
\%\f3glPixelTransfer(3G)\fP,
|
||||
\%\f3glPixelZoom(3G)\fP,
|
||||
\%\f3glRasterPos(3G)\fP,
|
||||
\%\f3glReadPixels(3G)\fP,
|
||||
\%\f3glScissor(3G)\fP,
|
||||
\%\f3glStencilFunc(3G)\fP
|
|
@ -1,132 +0,0 @@
|
|||
'\" te
|
||||
'\"! tbl|eqn | mmdoc
|
||||
'\"macro stdmacro
|
||||
.ds Vn Version 1.2
|
||||
.ds Dt 24 September 1999
|
||||
.ds Re Release 1.2.1
|
||||
.ds Dp Jan 14 18:30
|
||||
.ds Dm 01 drawrange
|
||||
.ds Xs 22158 7 drawrangeelements.gl
|
||||
.TH GLDRAWRANGEELEMENTS 3G
|
||||
.SH NAME
|
||||
.B "glDrawRangeElements
|
||||
\- render primitives from array data
|
||||
|
||||
.SH C SPECIFICATION
|
||||
void \f3glDrawRangeElements\fP(
|
||||
GLenum \fImode\fP,
|
||||
.nf
|
||||
.ta \w'\f3void \fPglDrawRangeElements( 'u
|
||||
GLuint \fIstart\fP,
|
||||
GLuint \fIend\fP,
|
||||
GLsizei \fIcount\fP,
|
||||
GLenum \fItype\fP,
|
||||
const GLvoid \fI*indices\fP )
|
||||
.fi
|
||||
|
||||
.EQ
|
||||
delim $$
|
||||
.EN
|
||||
.SH PARAMETERS
|
||||
.TP \w'\fIindices\fP\ \ 'u
|
||||
\f2mode\fP
|
||||
Specifies what kind of primitives to render.
|
||||
Symbolic constants
|
||||
\%\f3GL_POINTS\fP,
|
||||
\%\f3GL_LINE_STRIP\fP,
|
||||
\%\f3GL_LINE_LOOP\fP,
|
||||
\%\f3GL_LINES\fP,
|
||||
\%\f3GL_TRIANGLE_STRIP\fP,
|
||||
\%\f3GL_TRIANGLE_FAN\fP,
|
||||
\%\f3GL_TRIANGLES\fP,
|
||||
\%\f3GL_QUAD_STRIP\fP,
|
||||
\%\f3GL_QUADS\fP,
|
||||
and \%\f3GL_POLYGON\fP are accepted.
|
||||
.TP
|
||||
\f2start\fP
|
||||
Specifies the minimum array index contained in \f2indices\fP.
|
||||
.TP
|
||||
\f2end\fP
|
||||
Specifies the maximum array index contained in \f2indices\fP.
|
||||
.TP
|
||||
\f2count\fP
|
||||
Specifies the number of elements to be rendered.
|
||||
.TP
|
||||
\f2type\fP
|
||||
Specifies the type of the values in \f2count\fP. Must be one of
|
||||
\%\f3GL_UNSIGNED_BYTE\fP, \%\f3GL_UNSIGNED_SHORT\fP, or
|
||||
\%\f3GL_UNSIGNED_INT\fP.
|
||||
.TP
|
||||
\f2indices\fP
|
||||
Specifies a pointer to the location where the indices are stored.
|
||||
.SH DESCRIPTION
|
||||
\%\f3glDrawRangeElements\fP is a restricted form of \%\f3glDrawElements\fP. \f2mode\fP, \f2start\fP, \f2end\fP,
|
||||
and \f2count\fP match the corresponding arguments to \%\f3glDrawElements\fP, with
|
||||
the additional constraint that all values in the arrays \f2count\fP must lie
|
||||
between \f2start\fP and \f2end\fP, inclusive.
|
||||
.P
|
||||
Implementations denote recommended maximum amounts of vertex and
|
||||
.br
|
||||
index data,
|
||||
which may be queried by calling \%\f3glGet\fP with argument
|
||||
\%\f3GL_MAX_ELEMENTS_VERTICES\fP and \%\f3GL_MAX_ELEMENTS_INDICES\fP.
|
||||
If $"end" ~-~ "start" ~+~ 1$ is greater than the value of
|
||||
\%\f3GL_MAX_ELEMENTS_VERTICES\fP, or if \f2count\fP is greater than the value of
|
||||
\%\f3GL_MAX_ELEMENTS_INDICES\fP, then the call may operate at reduced
|
||||
performance. There is no requirement that all vertices in the range
|
||||
[\f2start\fP,\ \f2end\fP] be referenced. However, the implementation may
|
||||
partially process unused vertices, reducing performance from what could
|
||||
be achieved with an optimal index set.
|
||||
.P
|
||||
When \%\f3glDrawRangeElements\fP is called, it uses \f2start\fP sequential elements from an
|
||||
enabled array, starting at \f2count\fP to construct a sequence of
|
||||
geometric primitives. \f2mode\fP specifies what kind of primitives are
|
||||
constructed, and how the array elements construct these primitives. If
|
||||
more than one array is enabled, each is used. If
|
||||
\%\f3GL_VERTEX_ARRAY\fP is not enabled, no geometric primitives are
|
||||
constructed.
|
||||
.P
|
||||
Vertex attributes that are modified by \%\f3glDrawRangeElements\fP have an
|
||||
unspecified value after \%\f3glDrawRangeElements\fP returns. For example, if
|
||||
\%\f3GL_COLOR_ARRAY\fP is enabled, the value of the current color is
|
||||
undefined after \%\f3glDrawRangeElements\fP executes. Attributes that aren't
|
||||
modified maintain their previous values.
|
||||
.SH NOTES
|
||||
\%\f3glDrawRangeElements\fP is available only if the GL version is 1.2 or greater.
|
||||
.P
|
||||
\%\f3glDrawRangeElements\fP is included in display lists. If \%\f3glDrawRangeElements\fP is entered into a
|
||||
display list,
|
||||
the necessary array data (determined by the array pointers and
|
||||
enables) is also
|
||||
entered into the display list. Because the array pointers and
|
||||
enables are client-side state, their values affect display lists
|
||||
when the lists are created, not when the lists are executed.
|
||||
.SH ERRORS
|
||||
It is an error for indices to lie outside the range [\f2start\fP,\ \f2end\fP],
|
||||
but implementations may not check for this situation. Such indices
|
||||
cause implementation-dependent behavior.
|
||||
.P
|
||||
\%\f3GL_INVALID_ENUM\fP is generated if \f2mode\fP is not an accepted value.
|
||||
.P
|
||||
\%\f3GL_INVALID_VALUE\fP is generated if \f2count\fP is negative.
|
||||
.P
|
||||
\%\f3GL_INVALID_VALUE\fP is generated if \f2end\fP $<$ \f2start\fP.
|
||||
.P
|
||||
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glDrawRangeElements\fP is executed between
|
||||
the execution of \%\f3glBegin\fP and the corresponding \%\f3glEnd\fP.
|
||||
.SH ASSOCIATED GETS
|
||||
\%\f3glGet\fP with argument \%\f3GL_MAX_ELEMENTS_VERTICES\fP
|
||||
.P
|
||||
\%\f3glGet\fP with argument \%\f3GL_MAX_ELEMENTS_INDICES\fP
|
||||
.SH SEE ALSO
|
||||
\%\f3glArrayElement(3G)\fP,
|
||||
\%\f3glColorPointer(3G)\fP,
|
||||
\%\f3glDrawArrays(3G)\fP,
|
||||
\%\f3glDrawElements(3G)\fP,
|
||||
\%\f3glEdgeFlagPointer(3G)\fP,
|
||||
\%\f3glGetPointerv(3G)\fP,
|
||||
\%\f3glIndexPointer(3G)\fP,
|
||||
\%\f3glInterleavedArrays(3G)\fP,
|
||||
\%\f3glNormalPointer(3G)\fP,
|
||||
\%\f3glTexCoordPointer(3G)\fP,
|
||||
\%\f3glVertexPointer(3G)\fP
|
|
@ -1,65 +0,0 @@
|
|||
'\" e
|
||||
'\"! eqn | mmdoc
|
||||
'\"macro stdmacro
|
||||
.ds Vn Version 1.2
|
||||
.ds Dt 24 September 1999
|
||||
.ds Re Release 1.2.1
|
||||
.ds Dp Jan 14 18:30
|
||||
.ds Dm 01 edgeflag.
|
||||
.ds Xs 46953 4 edgeflag.gl
|
||||
.TH GLEDGEFLAG 3G
|
||||
.SH NAME
|
||||
.B "glEdgeFlag, glEdgeFlagv
|
||||
\- flag edges as either boundary or nonboundary
|
||||
|
||||
.SH C SPECIFICATION
|
||||
void \f3glEdgeFlag\fP(
|
||||
GLboolean \fIflag\fP )
|
||||
.nf
|
||||
.fi
|
||||
|
||||
.SH PARAMETERS
|
||||
.TP \w'\f2flag\fP\ \ 'u
|
||||
\f2flag\fP
|
||||
Specifies the current edge flag value,
|
||||
either \%\f3GL_TRUE\fP or \%\f3GL_FALSE\fP. The initial value is \%\f3GL_TRUE\fP.
|
||||
.SH C SPECIFICATION
|
||||
void \f3glEdgeFlagv\fP(
|
||||
const GLboolean \fI*flag\fP )
|
||||
.nf
|
||||
.fi
|
||||
|
||||
.SH PARAMETERS
|
||||
.TP
|
||||
\f2flag\fP
|
||||
Specifies a pointer to an array that contains a single boolean element,
|
||||
which replaces the current edge flag value.
|
||||
.SH DESCRIPTION
|
||||
Each vertex of a polygon,
|
||||
separate triangle,
|
||||
or separate quadrilateral specified between a \%\f3glBegin\fP/\%\f3glEnd\fP pair
|
||||
is marked as the start of either a boundary or nonboundary edge.
|
||||
If the current edge flag is true when the vertex is specified,
|
||||
the vertex is marked as the start of a boundary edge.
|
||||
Otherwise, the vertex is marked as the start of a nonboundary edge.
|
||||
\%\f3glEdgeFlag\fP sets the edge flag bit to \%\f3GL_TRUE\fP if \f2flag\fP is \%\f3GL_TRUE\fP,
|
||||
and to \%\f3GL_FALSE\fP otherwise.
|
||||
.P
|
||||
The vertices of connected triangles and connected quadrilaterals are always
|
||||
marked as boundary,
|
||||
regardless of the value of the edge flag.
|
||||
.P
|
||||
Boundary and nonboundary edge flags on vertices are significant only if
|
||||
\%\f3GL_POLYGON_MODE\fP is set to \%\f3GL_POINT\fP or \%\f3GL_LINE\fP.
|
||||
See \%\f3glPolygonMode\fP.
|
||||
.SH NOTES
|
||||
The current edge flag can be updated at any time.
|
||||
In particular,
|
||||
\%\f3glEdgeFlag\fP can be called between a call to \%\f3glBegin\fP and the corresponding
|
||||
call to \%\f3glEnd\fP.
|
||||
.SH ASSOCIATED GETS
|
||||
\%\f3glGet\fP with argument \%\f3GL_EDGE_FLAG\fP
|
||||
.SH SEE ALSO
|
||||
\%\f3glBegin(3G)\fP,
|
||||
\%\f3glEdgeFlagPointer(3G)\fP,
|
||||
\%\f3glPolygonMode(3G)\fP
|
|
@ -1,100 +0,0 @@
|
|||
'\" te
|
||||
'\"! tbl|eqn | mmdoc
|
||||
'\"macro stdmacro
|
||||
.ds Vn Version 1.2
|
||||
.ds Dt 24 September 1999
|
||||
.ds Re Release 1.2.1
|
||||
.ds Dp Jan 14 18:30
|
||||
.ds Dm 01 edgeflagp
|
||||
.ds Xs 49268 6 edgeflagpointer.gl
|
||||
.TH GLEDGEFLAGPOINTER 3G
|
||||
.SH NAME
|
||||
.B "glEdgeFlagPointer
|
||||
\- define an array of edge flags
|
||||
|
||||
.SH C SPECIFICATION
|
||||
void \f3glEdgeFlagPointer\fP(
|
||||
GLsizei \fIstride\fP,
|
||||
.nf
|
||||
.ta \w'\f3void \fPglEdgeFlagPointer( 'u
|
||||
const GLvoid \fI*ptr\fP )
|
||||
.fi
|
||||
|
||||
.EQ
|
||||
delim $$
|
||||
.EN
|
||||
.SH PARAMETERS
|
||||
.TP \w'\f2stride\fP\ \ 'u
|
||||
\f2stride\fP
|
||||
Specifies the byte offset between consecutive edge flags.
|
||||
If \f2stride\fP is 0 (the initial value), the edge flags are understood
|
||||
to be tightly packed in the array. The initial value is 0.
|
||||
.TP
|
||||
\f2ptr\fP
|
||||
Specifies a pointer to the first edge flag in the array. The initial
|
||||
value is zero.
|
||||
.SH DESCRIPTION
|
||||
\%\f3glEdgeFlagPointer\fP specifies the location and data of an array of boolean edge
|
||||
flags to use when rendering. \f2stride\fP specifies the byte stride from one
|
||||
edge flag to the next allowing vertices and attributes
|
||||
to be packed into a single array or stored in separate arrays.
|
||||
(Single-array storage may be more efficient on some implementations;
|
||||
see \%\f3glInterleavedArrays\fP.)
|
||||
.P
|
||||
When an edge flag array is
|
||||
specified, \f2stride\fP and \f2ptr\fP are saved as client-side
|
||||
state.
|
||||
.P
|
||||
To enable and disable the edge flag array, call \%\f3glEnableClientState\fP and
|
||||
.br
|
||||
\%\f3glDisableClientState\fP with
|
||||
the argument \%\f3GL_EDGE_FLAG_ARRAY\fP. If enabled, the edge flag array is used
|
||||
when \%\f3glDrawArrays\fP, \%\f3glDrawElements\fP, or \%\f3glArrayElement\fP is called.
|
||||
.P
|
||||
Use \%\f3glDrawArrays\fP to construct a sequence of primitives (all of
|
||||
the same type)
|
||||
from prespecified vertex and vertex attribute arrays.
|
||||
Use \%\f3glArrayElement\fP to specify primitives
|
||||
by indexing vertices and vertex attributes and \%\f3glDrawElements\fP to
|
||||
construct a sequence of primitives by indexing vertices and vertex attributes.
|
||||
.SH NOTES
|
||||
\%\f3glEdgeFlagPointer\fP is available only if the GL version is 1.1 or greater.
|
||||
.P
|
||||
The edge flag array is initially disabled and it won't be accessed when
|
||||
.br
|
||||
\%\f3glArrayElement\fP, \%\f3glDrawElements\fP or \%\f3glDrawArrays\fP is called.
|
||||
.P
|
||||
Execution of \%\f3glEdgeFlagPointer\fP is not allowed between the execution of
|
||||
\%\f3glBegin\fP and the corresponding execution of \%\f3glEnd\fP,
|
||||
but an error may or may not be generated. If no error is generated,
|
||||
the operation is undefined.
|
||||
.P
|
||||
\%\f3glEdgeFlagPointer\fP is typically implemented on the client side.
|
||||
.P
|
||||
Edge flag array parameters are client-side state and are therefore
|
||||
not saved or restored by \%\f3glPushAttrib\fP and \%\f3glPopAttrib\fP.
|
||||
Use \%\f3glPushClientAttrib\fP and
|
||||
.br
|
||||
\%\f3glPopClientAttrib\fP instead.
|
||||
.SH ERRORS
|
||||
\%\f3GL_INVALID_ENUM\fP is generated if \f2stride\fP is negative.
|
||||
.SH ASSOCIATED GETS
|
||||
\%\f3glIsEnabled\fP with argument \%\f3GL_EDGE_FLAG_ARRAY\fP
|
||||
.br
|
||||
\%\f3glGet\fP with argument \%\f3GL_EDGE_FLAG_ARRAY_STRIDE\fP
|
||||
.br
|
||||
\%\f3glGetPointerv\fP with argument \%\f3GL_EDGE_FLAG_ARRAY_POINTER\fP
|
||||
.SH SEE ALSO
|
||||
\%\f3glArrayElement(3G)\fP,
|
||||
\%\f3glColorPointer(3G)\fP,
|
||||
\%\f3glDrawArrays(3G)\fP,
|
||||
\%\f3glDrawElements(3G)\fP,
|
||||
\%\f3glEnable(3G)\fP,
|
||||
\%\f3glGetPointerv(3G)\fP,
|
||||
\%\f3glIndexPointer(3G)\fP,
|
||||
\%\f3glNormalPointer(3G)\fP,
|
||||
\%\f3glPopClientAttrib(3G)\fP,
|
||||
.br
|
||||
\%\f3glPushClientAttrib(3G)\fP,
|
||||
\%\f3glTexCoordPointer(3G)\fP,
|
||||
\%\f3glVertexPointer(3G)\fP
|
|
@ -1,505 +0,0 @@
|
|||
'\" et
|
||||
'\"! eqn|tbl | mmdoc
|
||||
'\"macro stdmacro
|
||||
.ds Vn Version 1.2
|
||||
.ds Dt 24 September 1999
|
||||
.ds Re Release 1.2.1
|
||||
.ds Dp Jan 14 18:30
|
||||
.ds Dm 01 enable.gl
|
||||
.ds Xs 48946 14 enable.gl
|
||||
.TH GLENABLE 3G
|
||||
.SH NAME
|
||||
.B "glEnable, glDisable
|
||||
\- enable or disable server-side GL capabilities
|
||||
|
||||
.SH C SPECIFICATION
|
||||
void \f3glEnable\fP(
|
||||
GLenum \fIcap\fP )
|
||||
.nf
|
||||
.fi
|
||||
|
||||
.SH PARAMETERS
|
||||
.TP \w'\f2cap\fP\ \ 'u
|
||||
\f2cap\fP
|
||||
Specifies a symbolic constant indicating a GL capability.
|
||||
.SH C SPECIFICATION
|
||||
void \f3glDisable\fP(
|
||||
GLenum \fIcap\fP )
|
||||
.nf
|
||||
.fi
|
||||
|
||||
.SH PARAMETERS
|
||||
.TP
|
||||
\f2cap\fP
|
||||
Specifies a symbolic constant indicating a GL capability.
|
||||
.SH DESCRIPTION
|
||||
\%\f3glEnable\fP and \%\f3glDisable\fP enable and disable various capabilities.
|
||||
Use \%\f3glIsEnabled\fP or \%\f3glGet\fP to determine the current setting
|
||||
of any capability. The initial value for each capability with the
|
||||
exception of \%\f3GL_DITHER\fP is \%\f3GL_FALSE\fP. The initial value for
|
||||
\%\f3GL_DITHER\fP is \%\f3GL_TRUE\fP.
|
||||
.P
|
||||
Both \%\f3glEnable\fP and \%\f3glDisable\fP take a single argument, \f2cap\fP,
|
||||
which can assume one of the following values:
|
||||
.TP 25
|
||||
\%\f3GL_ALPHA_TEST\fP
|
||||
If enabled,
|
||||
do alpha testing. See
|
||||
\%\f3glAlphaFunc\fP.
|
||||
.TP
|
||||
\%\f3GL_AUTO_NORMAL\fP
|
||||
If enabled,
|
||||
generate normal vectors when either
|
||||
\%\f3GL_MAP2_VERTEX_3\fP or
|
||||
\%\f3GL_MAP2_VERTEX_4\fP is used to generate vertices.
|
||||
See \%\f3glMap2\fP.
|
||||
.TP
|
||||
\%\f3GL_BLEND\fP
|
||||
If enabled,
|
||||
blend the incoming RGBA color values with the values in the color
|
||||
buffers. See \%\f3glBlendFunc\fP.
|
||||
.TP
|
||||
\%\f3GL_CLIP_PLANE\fP\f2i\fP
|
||||
If enabled,
|
||||
clip geometry against user-defined clipping plane \f2i\fP.
|
||||
See \%\f3glClipPlane\fP.
|
||||
.TP
|
||||
\%\f3GL_COLOR_LOGIC_OP\fP
|
||||
If enabled,
|
||||
apply the currently selected logical operation to the incoming RGBA
|
||||
color and color buffer values. See \%\f3glLogicOp\fP.
|
||||
.TP
|
||||
\%\f3GL_COLOR_MATERIAL\fP
|
||||
If enabled,
|
||||
have one or more material parameters track the current color.
|
||||
See \%\f3glColorMaterial\fP.
|
||||
.TP
|
||||
\%\f3GL_COLOR_TABLE\fP
|
||||
If enabled,
|
||||
preform a color table lookup on the incoming RGBA color values.
|
||||
See \%\f3glColorTable\fP.
|
||||
.TP
|
||||
\%\f3GL_CONVOLUTION_1D\fP
|
||||
If enabled,
|
||||
perform a 1D convolution operation on incoming RGBA color values.
|
||||
See \%\f3glConvolutionFilter1D\fP.
|
||||
.TP
|
||||
\%\f3GL_CONVOLUTION_2D\fP
|
||||
If enabled,
|
||||
perform a 2D convolution operation on incoming RGBA color values.
|
||||
See \%\f3glConvolutionFilter2D\fP.
|
||||
.TP
|
||||
\%\f3GL_CULL_FACE\fP
|
||||
If enabled,
|
||||
cull polygons based on their winding in window coordinates.
|
||||
See \%\f3glCullFace\fP.
|
||||
.TP
|
||||
\%\f3GL_DEPTH_TEST\fP
|
||||
If enabled,
|
||||
do depth comparisons and update the depth buffer. Note that even if
|
||||
the depth buffer exists and the depth mask is non-zero, the
|
||||
depth buffer is not updated if the depth test is disabled. See
|
||||
\%\f3glDepthFunc\fP and
|
||||
.br
|
||||
\%\f3glDepthRange\fP.
|
||||
.TP
|
||||
\%\f3GL_DITHER\fP
|
||||
If enabled,
|
||||
dither color components or indices before they are written to the
|
||||
color buffer.
|
||||
.TP
|
||||
\%\f3GL_FOG\fP
|
||||
If enabled,
|
||||
blend a fog color into the posttexturing color.
|
||||
See \%\f3glFog\fP.
|
||||
.TP
|
||||
\%\f3GL_HISTOGRAM\fP
|
||||
If enabled,
|
||||
histogram incoming RGBA color values.
|
||||
See \%\f3glHistogram\fP.
|
||||
.TP
|
||||
\%\f3GL_INDEX_LOGIC_OP\fP
|
||||
If enabled,
|
||||
apply the currently selected logical operation to the incoming index and color
|
||||
buffer indices. See
|
||||
.br
|
||||
\%\f3glLogicOp\fP.
|
||||
.TP
|
||||
\%\f3GL_LIGHT\fP\f2i\fP
|
||||
If enabled,
|
||||
include light \f2i\fP in the evaluation of the lighting
|
||||
equation. See \%\f3glLightModel\fP and \%\f3glLight\fP.
|
||||
.TP
|
||||
\%\f3GL_LIGHTING\fP
|
||||
If enabled,
|
||||
use the current lighting parameters to compute the vertex color or index.
|
||||
Otherwise, simply associate the current color or index with each
|
||||
vertex. See
|
||||
.br
|
||||
\%\f3glMaterial\fP, \%\f3glLightModel\fP, and \%\f3glLight\fP.
|
||||
.TP
|
||||
\%\f3GL_LINE_SMOOTH\fP
|
||||
If enabled,
|
||||
draw lines with correct filtering.
|
||||
Otherwise,
|
||||
draw aliased lines.
|
||||
See \%\f3glLineWidth\fP.
|
||||
.TP
|
||||
\%\f3GL_LINE_STIPPLE\fP
|
||||
If enabled,
|
||||
use the current line stipple pattern when drawing lines. See
|
||||
\%\f3glLineStipple\fP.
|
||||
.TP
|
||||
\%\f3GL_MAP1_COLOR_4\fP
|
||||
If enabled,
|
||||
calls to
|
||||
\%\f3glEvalCoord1\fP,
|
||||
\%\f3glEvalMesh1\fP, and
|
||||
\%\f3glEvalPoint1\fP generate RGBA values.
|
||||
See \%\f3glMap1\fP.
|
||||
.TP
|
||||
\%\f3GL_MAP1_INDEX\fP
|
||||
If enabled,
|
||||
calls to
|
||||
\%\f3glEvalCoord1\fP,
|
||||
\%\f3glEvalMesh1\fP, and
|
||||
\%\f3glEvalPoint1\fP generate color indices.
|
||||
See \%\f3glMap1\fP.
|
||||
.TP
|
||||
\%\f3GL_MAP1_NORMAL\fP
|
||||
If enabled,
|
||||
calls to
|
||||
\%\f3glEvalCoord1\fP,
|
||||
\%\f3glEvalMesh1\fP, and
|
||||
\%\f3glEvalPoint1\fP generate normals.
|
||||
See \%\f3glMap1\fP.
|
||||
.TP
|
||||
\%\f3GL_MAP1_TEXTURE_COORD_1\fP
|
||||
If enabled,
|
||||
calls to
|
||||
\%\f3glEvalCoord1\fP,
|
||||
\%\f3glEvalMesh1\fP, and
|
||||
\%\f3glEvalPoint1\fP generate
|
||||
\f2s\fP
|
||||
texture coordinates.
|
||||
See \%\f3glMap1\fP.
|
||||
.TP
|
||||
\%\f3GL_MAP1_TEXTURE_COORD_2\fP
|
||||
If enabled,
|
||||
calls to
|
||||
\%\f3glEvalCoord1\fP,
|
||||
\%\f3glEvalMesh1\fP, and
|
||||
\%\f3glEvalPoint1\fP generate
|
||||
\f2s\fP and
|
||||
\f2t\fP texture coordinates.
|
||||
See \%\f3glMap1\fP.
|
||||
.TP
|
||||
\%\f3GL_MAP1_TEXTURE_COORD_3\fP
|
||||
If enabled,
|
||||
calls to
|
||||
\%\f3glEvalCoord1\fP,
|
||||
\%\f3glEvalMesh1\fP, and
|
||||
\%\f3glEvalPoint1\fP generate
|
||||
\f2s\fP,
|
||||
\f2t\fP, and
|
||||
\f2r\fP texture coordinates.
|
||||
See \%\f3glMap1\fP.
|
||||
.TP
|
||||
\%\f3GL_MAP1_TEXTURE_COORD_4\fP
|
||||
If enabled,
|
||||
calls to
|
||||
\%\f3glEvalCoord1\fP,
|
||||
\%\f3glEvalMesh1\fP, and
|
||||
\%\f3glEvalPoint1\fP generate
|
||||
\f2s\fP,
|
||||
\f2t\fP,
|
||||
\f2r\fP, and
|
||||
\f2q\fP texture coordinates.
|
||||
See \%\f3glMap1\fP.
|
||||
.TP
|
||||
\%\f3GL_MAP1_VERTEX_3\fP
|
||||
If enabled,
|
||||
calls to
|
||||
\%\f3glEvalCoord1\fP,
|
||||
\%\f3glEvalMesh1\fP, and
|
||||
\%\f3glEvalPoint1\fP generate
|
||||
\f2x\fP, \f2y\fP, and \f2z\fP vertex coordinates.
|
||||
See \%\f3glMap1\fP.
|
||||
.TP
|
||||
\%\f3GL_MAP1_VERTEX_4\fP
|
||||
If enabled,
|
||||
calls to
|
||||
\%\f3glEvalCoord1\fP,
|
||||
\%\f3glEvalMesh1\fP, and
|
||||
\%\f3glEvalPoint1\fP generate
|
||||
homogeneous
|
||||
\f2x\fP,
|
||||
\f2y\fP,
|
||||
\f2z\fP, and
|
||||
\f2w\fP vertex coordinates.
|
||||
See \%\f3glMap1\fP.
|
||||
.TP
|
||||
\%\f3GL_MAP2_COLOR_4\fP
|
||||
If enabled,
|
||||
calls to
|
||||
\%\f3glEvalCoord2\fP,
|
||||
\%\f3glEvalMesh2\fP, and
|
||||
\%\f3glEvalPoint2\fP generate RGBA values.
|
||||
See \%\f3glMap2\fP.
|
||||
.TP
|
||||
\%\f3GL_MAP2_INDEX\fP
|
||||
If enabled,
|
||||
calls to
|
||||
\%\f3glEvalCoord2\fP,
|
||||
\%\f3glEvalMesh2\fP, and
|
||||
\%\f3glEvalPoint2\fP generate color indices.
|
||||
See \%\f3glMap2\fP.
|
||||
.TP
|
||||
\%\f3GL_MAP2_NORMAL\fP
|
||||
If enabled,
|
||||
calls to
|
||||
\%\f3glEvalCoord2\fP,
|
||||
\%\f3glEvalMesh2\fP, and
|
||||
\%\f3glEvalPoint2\fP generate normals.
|
||||
See \%\f3glMap2\fP.
|
||||
.TP
|
||||
\%\f3GL_MAP2_TEXTURE_COORD_1\fP
|
||||
If enabled,
|
||||
calls to
|
||||
\%\f3glEvalCoord2\fP,
|
||||
\%\f3glEvalMesh2\fP, and
|
||||
\%\f3glEvalPoint2\fP generate
|
||||
\f2s\fP
|
||||
texture coordinates.
|
||||
See \%\f3glMap2\fP.
|
||||
.TP
|
||||
\%\f3GL_MAP2_TEXTURE_COORD_2\fP
|
||||
If enabled,
|
||||
calls to
|
||||
\%\f3glEvalCoord2\fP,
|
||||
\%\f3glEvalMesh2\fP, and
|
||||
\%\f3glEvalPoint2\fP generate
|
||||
\f2s\fP and
|
||||
\f2t\fP texture coordinates.
|
||||
See \%\f3glMap2\fP.
|
||||
.TP
|
||||
\%\f3GL_MAP2_TEXTURE_COORD_3\fP
|
||||
If enabled,
|
||||
calls to
|
||||
\%\f3glEvalCoord2\fP,
|
||||
\%\f3glEvalMesh2\fP, and
|
||||
\%\f3glEvalPoint2\fP generate
|
||||
\f2s\fP,
|
||||
\f2t\fP, and
|
||||
\f2r\fP texture coordinates.
|
||||
See \%\f3glMap2\fP.
|
||||
.TP
|
||||
\%\f3GL_MAP2_TEXTURE_COORD_4\fP
|
||||
If enabled,
|
||||
calls to
|
||||
\%\f3glEvalCoord2\fP,
|
||||
\%\f3glEvalMesh2\fP, and
|
||||
\%\f3glEvalPoint2\fP generate
|
||||
\f2s\fP,
|
||||
\f2t\fP,
|
||||
\f2r\fP, and
|
||||
\f2q\fP texture coordinates.
|
||||
See \%\f3glMap2\fP.
|
||||
.TP
|
||||
\%\f3GL_MAP2_VERTEX_3\fP
|
||||
If enabled,
|
||||
calls to
|
||||
\%\f3glEvalCoord2\fP,
|
||||
\%\f3glEvalMesh2\fP, and
|
||||
\%\f3glEvalPoint2\fP generate
|
||||
\f2x\fP, \f2y\fP, and \f2z\fP vertex coordinates.
|
||||
See \%\f3glMap2\fP.
|
||||
.TP
|
||||
\%\f3GL_MAP2_VERTEX_4\fP
|
||||
If enabled,
|
||||
calls to
|
||||
\%\f3glEvalCoord2\fP,
|
||||
\%\f3glEvalMesh2\fP, and
|
||||
\%\f3glEvalPoint2\fP generate
|
||||
homogeneous
|
||||
\f2x\fP,
|
||||
\f2y\fP,
|
||||
\f2z\fP, and
|
||||
\f2w\fP vertex coordinates.
|
||||
See \%\f3glMap2\fP.
|
||||
.TP
|
||||
\%\f3GL_MINMAX\fP
|
||||
If enabled,
|
||||
compute the minimum and maximum values of incoming RGBA color values.
|
||||
See \%\f3glMinmax\fP.
|
||||
.TP
|
||||
\%\f3GL_NORMALIZE\fP
|
||||
If enabled,
|
||||
normal vectors specified with \%\f3glNormal\fP are scaled to unit length
|
||||
after transformation. See \%\f3glNormal\fP.
|
||||
.TP
|
||||
\%\f3GL_POINT_SMOOTH\fP
|
||||
If enabled,
|
||||
draw points with proper filtering.
|
||||
Otherwise,
|
||||
draw aliased points.
|
||||
See \%\f3glPointSize\fP.
|
||||
.TP
|
||||
\%\f3GL_POLYGON_OFFSET_FILL\fP
|
||||
If enabled, and if the polygon is rendered in
|
||||
\%\f3GL_FILL\fP mode, an offset is added to depth values of a polygon's
|
||||
fragments before the depth comparison is performed.
|
||||
See \%\f3glPolygonOffset\fP.
|
||||
.TP
|
||||
\%\f3GL_POLYGON_OFFSET_LINE\fP
|
||||
If enabled, and if the polygon is rendered in
|
||||
\%\f3GL_LINE\fP mode, an offset is added to depth values of a polygon's
|
||||
fragments before the depth comparison is performed. See \%\f3glPolygonOffset\fP.
|
||||
.TP
|
||||
\%\f3GL_POLYGON_OFFSET_POINT\fP
|
||||
If enabled, an offset is added to depth values of a polygon's fragments
|
||||
before the depth comparison is performed, if the polygon is rendered in
|
||||
\%\f3GL_POINT\fP mode. See \%\f3glPolygonOffset\fP.
|
||||
.TP
|
||||
\%\f3GL_POLYGON_SMOOTH\fP
|
||||
If enabled, draw polygons with proper filtering.
|
||||
Otherwise, draw aliased polygons. For correct anti-aliased polygons,
|
||||
an alpha buffer is needed and the polygons must be sorted front to
|
||||
back.
|
||||
.TP
|
||||
\%\f3GL_POLYGON_STIPPLE\fP
|
||||
If enabled,
|
||||
use the current polygon stipple pattern when rendering
|
||||
polygons. See \%\f3glPolygonStipple\fP.
|
||||
.TP
|
||||
\%\f3GL_POST_COLOR_MATRIX_COLOR_TABLE\fP
|
||||
If enabled,
|
||||
preform a color table lookup on RGBA color values after color matrix
|
||||
transformation.
|
||||
See \%\f3glColorTable\fP.
|
||||
.TP
|
||||
\%\f3GL_POST_CONVOLUTION_COLOR_TABLE\fP
|
||||
If enabled,
|
||||
preform a color table lookup on RGBA color values after convolution.
|
||||
See \%\f3glColorTable\fP.
|
||||
.TP
|
||||
\%\f3GL_RESCALE_NORMAL\fP
|
||||
If enabled, normal vectors specified with \%\f3glNormal\fP are scaled to
|
||||
unit length after transformation. See \%\f3glNormal\fP.
|
||||
.TP
|
||||
\%\f3GL_SEPARABLE_2D\fP
|
||||
If enabled, perform a two-dimensional convolution operation using a separable
|
||||
convolution filter on incoming RGBA color values.
|
||||
See \%\f3glSeparableFilter2D\fP.
|
||||
.TP
|
||||
\%\f3GL_SCISSOR_TEST\fP
|
||||
If enabled,
|
||||
discard fragments that are outside the scissor rectangle.
|
||||
See \%\f3glScissor\fP.
|
||||
.TP
|
||||
\%\f3GL_STENCIL_TEST\fP
|
||||
If enabled,
|
||||
do stencil testing and update the stencil buffer.
|
||||
See \%\f3glStencilFunc\fP and \%\f3glStencilOp\fP.
|
||||
.TP
|
||||
\%\f3GL_TEXTURE_1D\fP
|
||||
If enabled, one-dimensional texturing is performed
|
||||
(unless two- or three-dimensional texturing is also enabled).
|
||||
See \%\f3glTexImage1D\fP.
|
||||
.TP
|
||||
\%\f3GL_TEXTURE_2D\fP
|
||||
If enabled, two-dimensional texturing is performed
|
||||
(unless three-dimensional texturing is also enabled). See \%\f3glTexImage2D\fP.
|
||||
.TP
|
||||
\%\f3GL_TEXTURE_3D\fP
|
||||
If enabled, three-dimensional texturing is performed. See \%\f3glTexImage3D\fP.
|
||||
.TP
|
||||
\%\f3GL_TEXTURE_GEN_Q\fP
|
||||
If enabled,
|
||||
the \f2q\fP texture coordinate is computed using
|
||||
the texture generation function defined with \%\f3glTexGen\fP.
|
||||
Otherwise, the current \f2q\fP texture coordinate is used.
|
||||
See \%\f3glTexGen\fP.
|
||||
.TP
|
||||
\%\f3GL_TEXTURE_GEN_R\fP
|
||||
If enabled,
|
||||
the \f2r\fP texture coordinate is computed using
|
||||
the texture generation function defined with \%\f3glTexGen\fP.
|
||||
Otherwise, the current \f2r\fP texture coordinate is used.
|
||||
See \%\f3glTexGen\fP.
|
||||
.TP
|
||||
\%\f3GL_TEXTURE_GEN_S\fP
|
||||
If enabled,
|
||||
the \f2s\fP texture coordinate is computed using
|
||||
the texture generation function defined with \%\f3glTexGen\fP.
|
||||
Otherwise, the current \f2s\fP texture coordinate is used.
|
||||
See \%\f3glTexGen\fP.
|
||||
.TP
|
||||
\%\f3GL_TEXTURE_GEN_T\fP
|
||||
If enabled,
|
||||
the \f2t\fP texture coordinate is computed using
|
||||
the texture generation function defined with \%\f3glTexGen\fP.
|
||||
Otherwise, the current \f2t\fP texture coordinate is used.
|
||||
See \%\f3glTexGen\fP.
|
||||
.SH NOTES
|
||||
\%\f3GL_POLYGON_OFFSET_FILL\fP, \%\f3GL_POLYGON_OFFSET_LINE\fP,
|
||||
\%\f3GL_POLYGON_OFFSET_POINT\fP,
|
||||
\%\f3GL_COLOR_LOGIC_OP\fP, and \%\f3GL_INDEX_LOGIC_OP\fP are available
|
||||
only if the GL version is 1.1 or greater.
|
||||
.P
|
||||
\%\f3GL_RESCALE_NORMAL\fP, and \%\f3GL_TEXTURE_3D\fP are available only if the
|
||||
GL version is 1.2 or greater.
|
||||
.P
|
||||
\%\f3GL_COLOR_TABLE\fP, \%\f3GL_CONVOLUTION_1D\fP, \%\f3GL_CONVOLUTION_2D\fP,
|
||||
\%\f3GL_HISTOGRAM\fP, \%\f3GL_MINMAX\fP,
|
||||
\%\f3GL_POST_COLOR_MATRIX_COLOR_TABLE\fP,
|
||||
\%\f3GL_POST_CONVOLUTION_COLOR_TABLE\fP, and
|
||||
\%\f3GL_SEPARABLE_2D\fP are available only if \%\f3GL_ARB_imaging\fP is returned
|
||||
from \%\f3glGet\fP with an argument of \%\f3GL_EXTENSIONS\fP.
|
||||
.P
|
||||
If \%\f3GL_ARB_multitexture\fP is supported, \%\f3GL_TEXTURE_1D\fP,
|
||||
\%\f3GL_TEXTURE_2D\fP, \%\f3GL_TEXTURE_3D\fP, \%\f3GL_TEXTURE_GEN_S\fP,
|
||||
\%\f3GL_TEXTURE_GEN_T\fP, \%\f3GL_TEXTURE_GEN_R\fP, and \%\f3GL_TEXTURE_GEN_Q\fP
|
||||
enable or disable the respective state for the active texture unit
|
||||
specified with \%\f3glActiveTextureARB\fP.
|
||||
.SH ERRORS
|
||||
\%\f3GL_INVALID_ENUM\fP is generated if \f2cap\fP is not one of the values
|
||||
listed previously.
|
||||
.P
|
||||
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glEnable\fP or \%\f3glDisable\fP
|
||||
is executed between the execution of \%\f3glBegin\fP
|
||||
and the corresponding execution of \%\f3glEnd\fP.
|
||||
.SH SEE ALSO
|
||||
\%\f3glActiveTextureARB(3G)\fP,
|
||||
\%\f3glAlphaFunc(3G)\fP,
|
||||
\%\f3glBlendFunc(3G)\fP,
|
||||
\%\f3glClipPlane(3G)\fP,
|
||||
\%\f3glColorMaterial(3G)\fP,
|
||||
\%\f3glCullFace(3G)\fP,
|
||||
\%\f3glDepthFunc(3G)\fP,
|
||||
\%\f3glDepthRange(3G)\fP,
|
||||
\%\f3glEnableClientState(3G)\fP,
|
||||
\%\f3glFog(3G)\fP,
|
||||
\%\f3glGet(3G)\fP,
|
||||
\%\f3glIsEnabled(3G)\fP,
|
||||
\%\f3glLight(3G)\fP,
|
||||
\%\f3glLightModel(3G)\fP,
|
||||
\%\f3glLineWidth(3G)\fP,
|
||||
\%\f3glLineStipple(3G)\fP,
|
||||
\%\f3glLogicOp(3G)\fP,
|
||||
\%\f3glMap1(3G)\fP,
|
||||
\%\f3glMap2(3G)\fP,
|
||||
\%\f3glMaterial(3G)\fP,
|
||||
\%\f3glNormal(3G)\fP,
|
||||
\%\f3glPointSize(3G)\fP,
|
||||
\%\f3glPolygonMode(3G)\fP,
|
||||
\%\f3glPolygonOffset(3G)\fP,
|
||||
\%\f3glPolygonStipple(3G)\fP,
|
||||
\%\f3glScissor(3G)\fP,
|
||||
\%\f3glStencilFunc(3G)\fP,
|
||||
\%\f3glStencilOp(3G)\fP,
|
||||
\%\f3glTexGen(3G)\fP,
|
||||
\%\f3glTexImage1D(3G)\fP,
|
||||
\%\f3glTexImage2D(3G)\fP,
|
||||
\%\f3glTexImage3D(3G)\fP
|
||||
|
|
@ -1,115 +0,0 @@
|
|||
.\" $XFree86$
|
||||
'\" te
|
||||
'\"! tbl|eqn | mmdoc
|
||||
'\"macro stdmacro
|
||||
.ds Vn Version 1.2
|
||||
.ds Dt 24 September 1999
|
||||
.ds Re Release 1.2.1
|
||||
.ds Dp Jan 14 18:30
|
||||
.ds Dm 01 enablecli
|
||||
.ds Xs 64367 6 enableclientstate.gl
|
||||
.TH GLENABLECLIENTSTATE 3G
|
||||
.SH NAME
|
||||
.B "glEnableClientState, glDisableClientState
|
||||
\- enable or disable client-side capability
|
||||
|
||||
.SH C SPECIFICATION
|
||||
void \f3glEnableClientState\fP(
|
||||
GLenum cap); \fI1.1\fP )
|
||||
.nf
|
||||
.fi
|
||||
|
||||
.EN
|
||||
.SH PARAMETERS
|
||||
.TP \w'\f21.1\fP\ \ 'u
|
||||
\f21.1\fP
|
||||
Specifies the capability to enable.
|
||||
Symbolic constants
|
||||
\%\f3GL_COLOR_ARRAY\fP,
|
||||
\%\f3GL_EDGE_FLAG_ARRAY\fP,
|
||||
\%\f3GL_INDEX_ARRAY\fP,
|
||||
\%\f3GL_NORMAL_ARRAY\fP,
|
||||
\%\f3GL_TEXTURE_COORD_ARRAY\fP, and
|
||||
\%\f3GL_VERTEX_ARRAY\fP
|
||||
are accepted.
|
||||
.SH C SPECIFICATION
|
||||
void \f3glDisableClientState\fP(
|
||||
GLenum cap); \fI1.1\fP )
|
||||
.nf
|
||||
.fi
|
||||
|
||||
.SH PARAMETERS
|
||||
.TP
|
||||
\f21.1\fP
|
||||
Specifies the capability to disable.
|
||||
.SH DESCRIPTION
|
||||
\%\f3glEnableClientState\fP and \%\f3glDisableClientState\fP
|
||||
enable or disable individual client-side capabilities. By default, all
|
||||
client-side capabilities are disabled.
|
||||
Both
|
||||
\%\f3glEnableClientState\fP and \%\f3glDisableClientState\fP take a
|
||||
single argument, \f21.1\fP, which can assume one of the following
|
||||
values:
|
||||
.TP 25
|
||||
\%\f3GL_COLOR_ARRAY\fP
|
||||
If enabled, the color array is enabled for writing and used during
|
||||
rendering when \%\f3glArrayElement\fP, \%\f3glDrawArrays\fP,
|
||||
\%\f3glDrawElement\fP, or \%\f3glDrawRangeElements\fP is called. See
|
||||
\%\f3glColorPointer\fP.
|
||||
.TP
|
||||
\%\f3GL_EDGE_FLAG_ARRAY\fP
|
||||
If enabled, the edge flag array is enabled for writing and used during
|
||||
rendering when \%\f3glArrayElement\fP, \%\f3glDrawArrays\fP,
|
||||
\%\f3glDrawElement\fP, or \%\f3glDrawRangeElements\fP is called. See
|
||||
\%\f3glEdgeFlagPointer\fP.
|
||||
.TP
|
||||
\%\f3GL_INDEX_ARRAY\fP
|
||||
If enabled, the index array is enabled for writing and used during
|
||||
rendering when \%\f3glArrayElement\fP, \%\f3glDrawArrays\fP,
|
||||
\%\f3glDrawElement\fP, or \%\f3glDrawRangeElements\fP is called. See
|
||||
\%\f3glIndexPointer\fP.
|
||||
.TP
|
||||
\%\f3GL_NORMAL_ARRAY\fP
|
||||
If enabled, the normal array is enabled for writing and used during
|
||||
rendering when \%\f3glArrayElement\fP, \%\f3glDrawArrays\fP,
|
||||
\%\f3glDrawElement\fP, or \%\f3glDrawRangeElements\fP is called. See
|
||||
\%\f3glNormalPointer\fP.
|
||||
.TP
|
||||
\%\f3GL_TEXTURE_COORD_ARRAY\fP
|
||||
If enabled, the texture coordinate array is enabled for writing and used during
|
||||
rendering when \%\f3glArrayElement\fP, \%\f3glDrawArrays\fP,
|
||||
\%\f3glDrawElement\fP, or \%\f3glDrawRangeElements\fP is called. See
|
||||
\%\f3glTexCoordPointer\fP.
|
||||
.TP
|
||||
\%\f3GL_VERTEX_ARRAY\fP
|
||||
If enabled, the vertex array is enabled for writing and used during
|
||||
rendering when \%\f3glArrayElement\fP, \%\f3glDrawArrays\fP,
|
||||
\%\f3glDrawElement\fP, or \%\f3glDrawRangeElements\fP is called. See
|
||||
\%\f3glVertexPointer\fP.
|
||||
.SH NOTES
|
||||
\%\f3glEnableClientState\fP is available only if the GL version is 1.1 or greater.
|
||||
.P
|
||||
If \%\f3GL_ARB_multitexture\fP is supported, enabling and disabling
|
||||
\%\f3GL_TEXTURE_COORD_ARRAY\fP affects the active client texture unit.
|
||||
The active client texture unit is controlled with
|
||||
\%\f3glClientActiveTextureARB\fP.
|
||||
.SH ERRORS
|
||||
\%\f3GL_INVALID_ENUM\fP is generated if \f21.1\fP is not an accepted value.
|
||||
.P
|
||||
\%\f3glEnableClientState\fP is not allowed between the execution of \%\f3glBegin\fP and the
|
||||
corresponding \%\f3glEnd\fP, but an error may or may not be generated. If
|
||||
no error is generated, the behavior is undefined.
|
||||
.SH SEE ALSO
|
||||
\%\f3glArrayElement(3G)\fP,
|
||||
\%\f3glClientActiveTextureARB(3G)\fP,
|
||||
\%\f3glColorPointer(3G)\fP,
|
||||
\%\f3glDrawArrays(3G)\fP,
|
||||
\%\f3glDrawElements(3G)\fP,
|
||||
\%\f3glEdgeFlagPointer(3G)\fP,
|
||||
\%\f3glEnable(3G)\fP,
|
||||
\%\f3glGetPointerv(3G)\fP,
|
||||
\%\f3glIndexPointer(3G)\fP,
|
||||
\%\f3glInterleavedArrays(3G)\fP,
|
||||
\%\f3glNormalPointer(3G)\fP,
|
||||
\%\f3glTexCoordPointer(3G)\fP,
|
||||
\%\f3glVertexPointer(3G)\fP
|
|
@ -1,226 +0,0 @@
|
|||
'\" te
|
||||
'\"! tbl|eqn | mmdoc
|
||||
'\"macro stdmacro
|
||||
.ds Vn Version 1.2
|
||||
.ds Dt 24 September 1999
|
||||
.ds Re Release 1.2.1
|
||||
.ds Dp Jan 14 18:30
|
||||
.ds Dm 01 evalcoord
|
||||
.ds Xs 42414 8 evalcoord.gl
|
||||
.TH GLEVALCOORD 3G
|
||||
.SH NAME
|
||||
.B "glEvalCoord1d, glEvalCoord1f, glEvalCoord2d, glEvalCoord2f, glEvalCoord1dv, glEvalCoord1fv, glEvalCoord2dv, glEvalCoord2fv
|
||||
\- evaluate enabled one- and two-dimensional maps
|
||||
|
||||
.EQ
|
||||
delim $$
|
||||
.EN
|
||||
.SH C SPECIFICATION
|
||||
void \f3glEvalCoord1d\fP(
|
||||
GLdouble \fIu\fP )
|
||||
.nf
|
||||
.fi
|
||||
void \f3glEvalCoord1f\fP(
|
||||
GLfloat \fIu\fP )
|
||||
.nf
|
||||
.fi
|
||||
void \f3glEvalCoord2d\fP(
|
||||
GLdouble \fIu\fP,
|
||||
.nf
|
||||
.ta \w'\f3void \fPglEvalCoord2d( 'u
|
||||
GLdouble \fIv\fP )
|
||||
.fi
|
||||
void \f3glEvalCoord2f\fP(
|
||||
GLfloat \fIu\fP,
|
||||
.nf
|
||||
.ta \w'\f3void \fPglEvalCoord2f( 'u
|
||||
GLfloat \fIv\fP )
|
||||
.fi
|
||||
|
||||
.SH PARAMETERS
|
||||
.TP \w'\f2u\fP\ \ 'u
|
||||
\f2u\fP
|
||||
Specifies a value that is the domain coordinate $u$ to the basis function
|
||||
defined in a previous \%\f3glMap1\fP or \%\f3glMap2\fP command.
|
||||
.TP
|
||||
\f2v\fP
|
||||
Specifies a value that is the domain coordinate $v$ to the basis function
|
||||
defined in a previous \%\f3glMap2\fP command.
|
||||
This argument is not present in a \%\f3glEvalCoord1\fP command.
|
||||
.SH C SPECIFICATION
|
||||
void \f3glEvalCoord1dv\fP(
|
||||
const GLdouble \fI*u\fP )
|
||||
.nf
|
||||
.fi
|
||||
void \f3glEvalCoord1fv\fP(
|
||||
const GLfloat \fI*u\fP )
|
||||
.nf
|
||||
.fi
|
||||
void \f3glEvalCoord2dv\fP(
|
||||
const GLdouble \fI*u\fP )
|
||||
.nf
|
||||
.fi
|
||||
void \f3glEvalCoord2fv\fP(
|
||||
const GLfloat \fI*u\fP )
|
||||
.nf
|
||||
.fi
|
||||
|
||||
.SH PARAMETERS
|
||||
.TP
|
||||
\f2u\fP
|
||||
Specifies a pointer to an array containing
|
||||
either one or two domain coordinates.
|
||||
The first coordinate is $u$.
|
||||
The second coordinate is $v$,
|
||||
which is present only in \%\f3glEvalCoord2\fP versions.
|
||||
.SH DESCRIPTION
|
||||
\%\f3glEvalCoord1\fP evaluates enabled one-dimensional maps at argument
|
||||
\f2u\fP.
|
||||
\%\f3glEvalCoord2\fP does the same for two-dimensional maps using
|
||||
two domain values,
|
||||
\f2u\fP and \f2v\fP.
|
||||
To define a map, call \%\f3glMap1\fP and \%\f3glMap2\fP; to enable and
|
||||
disable it, call \%\f3glEnable\fP and \%\f3glDisable\fP.
|
||||
.P
|
||||
When one of the \%\f3glEvalCoord\fP commands is issued,
|
||||
all currently enabled maps of the indicated dimension are evaluated.
|
||||
Then,
|
||||
for each enabled map,
|
||||
it is as if the corresponding GL command had been issued with the
|
||||
computed value.
|
||||
That is,
|
||||
if \%\f3GL_MAP1_INDEX\fP or
|
||||
\%\f3GL_MAP2_INDEX\fP is enabled,
|
||||
a \%\f3glIndex\fP command is simulated.
|
||||
If \%\f3GL_MAP1_COLOR_4\fP or
|
||||
\%\f3GL_MAP2_COLOR_4\fP is enabled,
|
||||
a \%\f3glColor\fP command is simulated.
|
||||
If \%\f3GL_MAP1_NORMAL\fP or \%\f3GL_MAP2_NORMAL\fP is enabled,
|
||||
a normal vector is produced,
|
||||
and if any of
|
||||
\%\f3GL_MAP1_TEXTURE_COORD_1\fP,
|
||||
\%\f3GL_MAP1_TEXTURE_COORD_2\fP,
|
||||
\%\f3GL_MAP1_TEXTURE_COORD_3\fP,
|
||||
\%\f3GL_MAP1_TEXTURE_COORD_4\fP,
|
||||
\%\f3GL_MAP2_TEXTURE_COORD_1\fP,
|
||||
\%\f3GL_MAP2_TEXTURE_COORD_2\fP,
|
||||
\%\f3GL_MAP2_TEXTURE_COORD_3\fP, or
|
||||
\%\f3GL_MAP2_TEXTURE_COORD_4\fP is enabled, then an appropriate \%\f3glTexCoord\fP command is simulated.
|
||||
.P
|
||||
For color,
|
||||
color index,
|
||||
normal,
|
||||
and texture coordinates the GL uses evaluated values instead of current values for those evaluations
|
||||
that are enabled,
|
||||
and current values otherwise,
|
||||
However,
|
||||
the evaluated values do not update the current values.
|
||||
Thus, if \%\f3glVertex\fP commands are interspersed with \%\f3glEvalCoord\fP
|
||||
commands, the color,
|
||||
normal,
|
||||
and texture coordinates associated with the \%\f3glVertex\fP commands are not
|
||||
affected by the values generated by the \%\f3glEvalCoord\fP commands,
|
||||
but only by the most recent
|
||||
\%\f3glColor\fP,
|
||||
\%\f3glIndex\fP,
|
||||
\%\f3glNormal\fP, and
|
||||
\%\f3glTexCoord\fP commands.
|
||||
.P
|
||||
No commands are issued for maps that are not enabled.
|
||||
If more than one texture evaluation is enabled for a particular dimension
|
||||
(for example, \%\f3GL_MAP2_TEXTURE_COORD_1\fP and
|
||||
\%\f3GL_MAP2_TEXTURE_COORD_2\fP),
|
||||
then only the evaluation of the map that produces the larger
|
||||
number of coordinates
|
||||
(in this case, \%\f3GL_MAP2_TEXTURE_COORD_2\fP)
|
||||
is carried out.
|
||||
\%\f3GL_MAP1_VERTEX_4\fP overrides \%\f3GL_MAP1_VERTEX_3\fP,
|
||||
and
|
||||
\%\f3GL_MAP2_VERTEX_4\fP overrides \%\f3GL_MAP2_VERTEX_3\fP,
|
||||
in the same manner.
|
||||
If neither a three- nor a four-component vertex map is enabled for the
|
||||
specified dimension,
|
||||
the \%\f3glEvalCoord\fP command is ignored.
|
||||
.P
|
||||
If you have enabled automatic normal generation,
|
||||
by calling \%\f3glEnable\fP with argument \%\f3GL_AUTO_NORMAL\fP,
|
||||
\%\f3glEvalCoord2\fP generates surface normals analytically,
|
||||
regardless of the contents or enabling of the \%\f3GL_MAP2_NORMAL\fP map.
|
||||
Let
|
||||
.sp
|
||||
.ce
|
||||
.EQ
|
||||
bold m ~=~ {partial bold p} over {partial u} ~times~
|
||||
{partial bold p} over {partial v}
|
||||
.EN
|
||||
.ce 0
|
||||
.sp
|
||||
.br
|
||||
Then the generated normal $ bold n $ is
|
||||
.br
|
||||
.ce
|
||||
$bold n ~=~ bold m over { || bold m || }$
|
||||
.ce 0
|
||||
.sp
|
||||
.br
|
||||
If automatic normal generation is disabled,
|
||||
the corresponding normal map \%\f3GL_MAP2_NORMAL\fP,
|
||||
if enabled,
|
||||
is used to produce a normal.
|
||||
If neither automatic normal generation nor a normal map is enabled,
|
||||
no normal is generated for
|
||||
\%\f3glEvalCoord2\fP commands.
|
||||
.SH ASSOCIATED GETS
|
||||
.nf
|
||||
\%\f3glIsEnabled\fP with argument \%\f3GL_MAP1_VERTEX_3\fP
|
||||
.br
|
||||
\%\f3glIsEnabled\fP with argument \%\f3GL_MAP1_VERTEX_4\fP
|
||||
.br
|
||||
\%\f3glIsEnabled\fP with argument \%\f3GL_MAP1_INDEX\fP
|
||||
.br
|
||||
\%\f3glIsEnabled\fP with argument \%\f3GL_MAP1_COLOR_4\fP
|
||||
.br
|
||||
\%\f3glIsEnabled\fP with argument \%\f3GL_MAP1_NORMAL\fP
|
||||
.br
|
||||
\%\f3glIsEnabled\fP with argument \%\f3GL_MAP1_TEXTURE_COORD_1\fP
|
||||
.br
|
||||
\%\f3glIsEnabled\fP with argument \%\f3GL_MAP1_TEXTURE_COORD_2\fP
|
||||
.br
|
||||
\%\f3glIsEnabled\fP with argument \%\f3GL_MAP1_TEXTURE_COORD_3\fP
|
||||
.br
|
||||
\%\f3glIsEnabled\fP with argument \%\f3GL_MAP1_TEXTURE_COORD_4\fP
|
||||
.br
|
||||
\%\f3glIsEnabled\fP with argument \%\f3GL_MAP2_VERTEX_3\fP
|
||||
.br
|
||||
\%\f3glIsEnabled\fP with argument \%\f3GL_MAP2_VERTEX_4\fP
|
||||
.br
|
||||
\%\f3glIsEnabled\fP with argument \%\f3GL_MAP2_INDEX\fP
|
||||
.br
|
||||
\%\f3glIsEnabled\fP with argument \%\f3GL_MAP2_COLOR_4\fP
|
||||
.br
|
||||
\%\f3glIsEnabled\fP with argument \%\f3GL_MAP2_NORMAL\fP
|
||||
.br
|
||||
\%\f3glIsEnabled\fP with argument \%\f3GL_MAP2_TEXTURE_COORD_1\fP
|
||||
.br
|
||||
\%\f3glIsEnabled\fP with argument \%\f3GL_MAP2_TEXTURE_COORD_2\fP
|
||||
.br
|
||||
\%\f3glIsEnabled\fP with argument \%\f3GL_MAP2_TEXTURE_COORD_3\fP
|
||||
.br
|
||||
\%\f3glIsEnabled\fP with argument \%\f3GL_MAP2_TEXTURE_COORD_4\fP
|
||||
.br
|
||||
\%\f3glIsEnabled\fP with argument \%\f3GL_AUTO_NORMAL\fP
|
||||
.br
|
||||
\%\f3glGetMap\fP
|
||||
.SH SEE ALSO
|
||||
\%\f3glBegin(3G)\fP,
|
||||
\%\f3glColor(3G)\fP,
|
||||
\%\f3glEnable(3G)\fP,
|
||||
\%\f3glEvalMesh(3G)\fP,
|
||||
\%\f3glEvalPoint(3G)\fP,
|
||||
\%\f3glIndex(3G)\fP,
|
||||
\%\f3glMap1(3G)\fP,
|
||||
\%\f3glMap2(3G)\fP,
|
||||
\%\f3glMapGrid(3G)\fP,
|
||||
\%\f3glNormal(3G)\fP,
|
||||
\%\f3glTexCoord(3G)\fP,
|
||||
\%\f3glVertex(3G)\fP
|
|
@ -1,189 +0,0 @@
|
|||
'\" e
|
||||
'\"! eqn | mmdoc
|
||||
'\"macro stdmacro
|
||||
.ds Vn Version 1.2
|
||||
.ds Dt 24 September 1999
|
||||
.ds Re Release 1.2.1
|
||||
.ds Dp Jan 14 18:30
|
||||
.ds Dm 01 evalmesh.
|
||||
.ds Xs 32277 7 evalmesh.gl
|
||||
.TH GLEVALMESH 3G
|
||||
.SH NAME
|
||||
.B "glEvalMesh1, glEvalMesh2
|
||||
\- compute a one- or two-dimensional grid of points or lines
|
||||
|
||||
.SH C SPECIFICATION
|
||||
void \f3glEvalMesh1\fP(
|
||||
GLenum \fImode\fP,
|
||||
.nf
|
||||
.ta \w'\f3void \fPglEvalMesh1( 'u
|
||||
GLint \fIi1\fP,
|
||||
GLint \fIi2\fP )
|
||||
.fi
|
||||
|
||||
.EQ
|
||||
delim $$
|
||||
.EN
|
||||
.SH PARAMETERS
|
||||
.TP \w'\f2mode\fP\ \ 'u
|
||||
\f2mode\fP
|
||||
In \%\f3glEvalMesh1\fP, specifies whether to compute a one-dimensional mesh of points or lines.
|
||||
Symbolic constants
|
||||
\%\f3GL_POINT\fP and
|
||||
\%\f3GL_LINE\fP are accepted.
|
||||
.TP
|
||||
\f2i1\fP, \f2i2\fP
|
||||
Specify the first and last integer values for grid domain variable $i$.
|
||||
.SH C SPECIFICATION
|
||||
void \f3glEvalMesh2\fP(
|
||||
GLenum \fImode\fP,
|
||||
.nf
|
||||
.ta \w'\f3void \fPglEvalMesh2( 'u
|
||||
GLint \fIi1\fP,
|
||||
GLint \fIi2\fP,
|
||||
GLint \fIj1\fP,
|
||||
GLint \fIj2\fP )
|
||||
.fi
|
||||
|
||||
.SH PARAMETERS
|
||||
.TP
|
||||
\f2mode\fP
|
||||
In \%\f3glEvalMesh2\fP, specifies whether to compute a two-dimensional mesh of points, lines,
|
||||
or polygons.
|
||||
Symbolic constants
|
||||
\%\f3GL_POINT\fP,
|
||||
\%\f3GL_LINE\fP, and
|
||||
\%\f3GL_FILL\fP are accepted.
|
||||
.TP
|
||||
\f2i1\fP, \f2i2\fP
|
||||
Specify the first and last integer values for grid domain variable $i$.
|
||||
.TP
|
||||
\f2j1\fP, \f2j2\fP
|
||||
Specify the first and last integer values for grid domain variable $j$.
|
||||
.SH DESCRIPTION
|
||||
\%\f3glMapGrid\fP and \%\f3glEvalMesh\fP are used in tandem to efficiently
|
||||
generate and evaluate a series of evenly-spaced map domain values.
|
||||
\%\f3glEvalMesh\fP steps through the integer domain of a one- or two-dimensional grid,
|
||||
whose range is the domain of the evaluation maps specified by
|
||||
\%\f3glMap1\fP and \%\f3glMap2\fP.
|
||||
\f2mode\fP determines whether the resulting vertices are connected as
|
||||
points,
|
||||
lines,
|
||||
or filled polygons.
|
||||
.P
|
||||
In the one-dimensional case,
|
||||
\%\f3glEvalMesh1\fP,
|
||||
the mesh is generated as if the following code fragment were executed:
|
||||
.nf
|
||||
.IP
|
||||
\f7
|
||||
glBegin( \f2type\f7 );
|
||||
for ( i = \f2i1\fP; i <= \f2i2\fP; i += 1 )
|
||||
glEvalCoord1( i$^cdot^DELTA u ~+~ u sub 1$ );
|
||||
glEnd();
|
||||
\fP
|
||||
.RE
|
||||
.fi
|
||||
where
|
||||
.sp
|
||||
.in
|
||||
$ DELTA u ~=~ (u sub 2 ~-~ u sub 1 ) ^/^ n$
|
||||
.sp
|
||||
.in 0
|
||||
.P
|
||||
and $n$, $u sub 1$, and $u sub 2$ are the arguments to the most recent
|
||||
\%\f3glMapGrid1\fP command.
|
||||
\f2type\fP is \%\f3GL_POINTS\fP if \f2mode\fP is \%\f3GL_POINT\fP,
|
||||
or \%\f3GL_LINES\fP if \f2mode\fP is \%\f3GL_LINE\fP.
|
||||
.P
|
||||
The one absolute numeric requirement is that if $i ~=~ n$, then the
|
||||
value computed from $ i^cdot^DELTA u ~+~ u sub 1$ is exactly $u sub 2$.
|
||||
.P
|
||||
In the two-dimensional case, \%\f3glEvalMesh2\fP, let
|
||||
.nf
|
||||
.IP
|
||||
$ DELTA u ~=~ mark ( u sub 2 ~-~ u sub 1 ) ^/^ n$
|
||||
.sp
|
||||
$ DELTA v ~=~ lineup ( v sub 2 ~-~ v sub 1 ) ^/^ m$,
|
||||
.fi
|
||||
.RE
|
||||
.P
|
||||
where $n$, $u sub 1$, $u sub 2$, $m$, $v sub 1$, and $v sub 2$ are the
|
||||
arguments to the most recent \%\f3glMapGrid2\fP command. Then, if
|
||||
\f2mode\fP is \%\f3GL_FILL\fP, the \%\f3glEvalMesh2\fP command is equivalent
|
||||
to:
|
||||
.nf
|
||||
.IP
|
||||
\f7
|
||||
for ( j = \f2j1\fP; j < \f2j2\fP; j += 1 ) {
|
||||
glBegin( GL_QUAD_STRIP );
|
||||
for ( i = \f2i1\fP; i <= \f2i2\fP; i += 1 ) {
|
||||
glEvalCoord2( i$^cdot^DELTA u ~+~ u sub 1$, j$^cdot^DELTA v ~+~ v sub 1$ );
|
||||
glEvalCoord2( i$^cdot^DELTA u ~+~ u sub 1$, (j+1)$^cdot^DELTA v ~+~ v sub 1$ );
|
||||
}
|
||||
glEnd();
|
||||
}
|
||||
\fP
|
||||
.RE
|
||||
.fi
|
||||
.P
|
||||
If \f2mode\fP is \%\f3GL_LINE\fP, then a call to \%\f3glEvalMesh2\fP is equivalent to:
|
||||
.nf
|
||||
.IP
|
||||
\f7
|
||||
for ( j = \f2j1\fP; j <= \f2j2\fP; j += 1 ) {
|
||||
glBegin( GL_LINE_STRIP );
|
||||
for ( i = \f2i1\fP; i <= \f2i2\fP; i += 1 )
|
||||
glEvalCoord2( i$^cdot^DELTA u ~+~ u sub 1$, j$^cdot^DELTA v ~+~ v sub 1$ );
|
||||
glEnd();
|
||||
}
|
||||
.sp
|
||||
for ( i = \f2i1\fP; i <= \f2i2\fP; i += 1 ) {
|
||||
glBegin( GL_LINE_STRIP );
|
||||
for ( j = \f2j1\fP; j <= \f2j1\fP; j += 1 )
|
||||
glEvalCoord2( i$^cdot^DELTA u ~+~ u sub 1$, j$^cdot^DELTA v ~+~ v sub 1 $ );
|
||||
glEnd();
|
||||
}
|
||||
\fP
|
||||
.RE
|
||||
.fi
|
||||
.P
|
||||
And finally, if \f2mode\fP is \%\f3GL_POINT\fP, then a call to
|
||||
\%\f3glEvalMesh2\fP is equivalent to:
|
||||
.nf
|
||||
.IP
|
||||
\f7
|
||||
glBegin( GL_POINTS );
|
||||
for ( j = \f2j1\fP; j <= \f2j2\fP; j += 1 )
|
||||
for ( i = \f2i1\fP; i <= \f2i2\fP; i += 1 )
|
||||
glEvalCoord2( i$^cdot^DELTA u ~+~ u sub 1$, j$^cdot^DELTA v ~+~ v sub 1$ );
|
||||
glEnd();
|
||||
\fP
|
||||
.RE
|
||||
.fi
|
||||
.P
|
||||
In all three cases, the only absolute numeric requirements are that if $i~=~n$,
|
||||
then the value computed from $i^cdot^DELTA u ~+~ u sub 1$ is exactly $u
|
||||
sub 2$, and if $j~=~m$, then the value computed from
|
||||
$j ^cdot^ DELTA v ~+~ v sub 1$ is exactly $v sub 2$.
|
||||
.SH ERRORS
|
||||
\%\f3GL_INVALID_ENUM\fP is generated if \f2mode\fP is not an accepted value.
|
||||
.P
|
||||
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glEvalMesh\fP
|
||||
is executed between the execution of \%\f3glBegin\fP
|
||||
and the corresponding execution of \%\f3glEnd\fP.
|
||||
.SH ASSOCIATED GETS
|
||||
\%\f3glGet\fP with argument \%\f3GL_MAP1_GRID_DOMAIN\fP
|
||||
.br
|
||||
\%\f3glGet\fP with argument \%\f3GL_MAP2_GRID_DOMAIN\fP
|
||||
.br
|
||||
\%\f3glGet\fP with argument \%\f3GL_MAP1_GRID_SEGMENTS\fP
|
||||
.br
|
||||
\%\f3glGet\fP with argument \%\f3GL_MAP2_GRID_SEGMENTS\fP
|
||||
.SH SEE ALSO
|
||||
\%\f3glBegin(3G)\fP,
|
||||
\%\f3glEvalCoord(3G)\fP,
|
||||
\%\f3glEvalPoint(3G)\fP,
|
||||
\%\f3glMap1(3G)\fP,
|
||||
\%\f3glMap2(3G)\fP,
|
||||
\%\f3glMapGrid(3G)\fP
|
|
@ -1,101 +0,0 @@
|
|||
'\" e
|
||||
'\"! eqn | mmdoc
|
||||
'\"macro stdmacro
|
||||
.ds Vn Version 1.2
|
||||
.ds Dt 24 September 1999
|
||||
.ds Re Release 1.2.1
|
||||
.ds Dp Jan 14 18:30
|
||||
.ds Dm 01 evalpoint
|
||||
.ds Xs 57169 5 evalpoint.gl
|
||||
.TH GLEVALPOINT 3G
|
||||
.SH NAME
|
||||
.B "glEvalPoint1, glEvalPoint2
|
||||
\- generate and evaluate a single point in a mesh
|
||||
|
||||
.SH C SPECIFICATION
|
||||
void \f3glEvalPoint1\fP(
|
||||
GLint \fIi\fP )
|
||||
.nf
|
||||
.fi
|
||||
void \f3glEvalPoint2\fP(
|
||||
GLint \fIi\fP,
|
||||
.nf
|
||||
.ta \w'\f3void \fPglEvalPoint2( 'u
|
||||
GLint \fIj\fP )
|
||||
.fi
|
||||
|
||||
.EQ
|
||||
delim $$
|
||||
.EN
|
||||
.SH PARAMETERS
|
||||
.TP \w'\f2i\fP\ \ 'u
|
||||
\f2i\fP
|
||||
Specifies the integer value for grid domain variable $i$.
|
||||
.TP
|
||||
\f2j\fP
|
||||
Specifies the integer value for grid domain variable $j$
|
||||
(\%\f3glEvalPoint2\fP only).
|
||||
.SH DESCRIPTION
|
||||
\%\f3glMapGrid\fP and \%\f3glEvalMesh\fP are used in tandem to efficiently
|
||||
generate and evaluate a series of evenly spaced map domain values.
|
||||
\%\f3glEvalPoint\fP can be used to evaluate a single grid point in the same gridspace
|
||||
that is traversed by \%\f3glEvalMesh\fP.
|
||||
Calling \%\f3glEvalPoint1\fP is equivalent to calling
|
||||
.nf
|
||||
.IP
|
||||
\f7
|
||||
glEvalCoord1( i$^cdot^DELTA u ~+~ u sub 1$ );
|
||||
\fP
|
||||
.RE
|
||||
.fi
|
||||
where
|
||||
.sp
|
||||
.in
|
||||
$DELTA u ~=~ ( u sub 2 - u sub 1 ) ^/^ n$
|
||||
.in 0
|
||||
.sp
|
||||
.P
|
||||
and $n$, $u sub 1$, and $u sub 2$
|
||||
are the arguments to the most recent \%\f3glMapGrid1\fP command.
|
||||
The one absolute numeric requirement is that if $i~=~n$,
|
||||
then the value computed from
|
||||
$i ^cdot^ DELTA u ~+~ u sub 1$ is exactly $u sub 2$.
|
||||
.P
|
||||
In the two-dimensional case, \%\f3glEvalPoint2\fP, let
|
||||
.nf
|
||||
.IP
|
||||
$DELTA u ~=~ mark ( u sub 2 - u sub 1 ) ^/^ n$
|
||||
.sp
|
||||
$DELTA v ~=~ mark ( v sub 2 - v sub 1 ) ^/^ m,$
|
||||
.RE
|
||||
.fi
|
||||
.P
|
||||
where $n$, $u sub 1$, $u sub 2$, $m$, $v sub 1$, and $v sub 2$
|
||||
are the arguments to the most recent \%\f3glMapGrid2\fP command.
|
||||
Then the \%\f3glEvalPoint2\fP command is equivalent to calling
|
||||
.nf
|
||||
.IP
|
||||
\f7
|
||||
glEvalCoord2( i$^cdot^DELTA u ~+~ u sub 1$, j$^cdot^DELTA v ~+~ v sub 1$ );
|
||||
\fP
|
||||
.RE
|
||||
.fi
|
||||
The only absolute numeric requirements are that if $i~=~n$,
|
||||
then the value computed from
|
||||
$i ^cdot^DELTA u ~+~ u sub 1$ is exactly $u sub 2$,
|
||||
and if $j~=~m$, then the value computed from
|
||||
$i ^cdot^DELTA v ~+~ v sub 1$ is exactly $v sub 2$.
|
||||
.SH ASSOCIATED GETS
|
||||
\%\f3glGet\fP with argument \%\f3GL_MAP1_GRID_DOMAIN\fP
|
||||
.br
|
||||
\%\f3glGet\fP with argument \%\f3GL_MAP2_GRID_DOMAIN\fP
|
||||
.br
|
||||
\%\f3glGet\fP with argument \%\f3GL_MAP1_GRID_SEGMENTS\fP
|
||||
.br
|
||||
\%\f3glGet\fP with argument \%\f3GL_MAP2_GRID_SEGMENTS\fP
|
||||
.SH SEE ALSO
|
||||
\%\f3glEvalCoord(3G)\fP,
|
||||
\%\f3glEvalMesh(3G)\fP,
|
||||
\%\f3glMap1(3G)\fP,
|
||||
\%\f3glMap2(3G)\fP,
|
||||
\%\f3glMapGrid(3G)\fP
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue