head 1.18; access; symbols pkgsrc-2023Q4:1.18.0.6 pkgsrc-2023Q4-base:1.18 pkgsrc-2023Q3:1.18.0.4 pkgsrc-2023Q3-base:1.18 pkgsrc-2023Q2:1.18.0.2 pkgsrc-2023Q2-base:1.18 pkgsrc-2023Q1:1.17.0.6 pkgsrc-2023Q1-base:1.17 pkgsrc-2022Q4:1.17.0.4 pkgsrc-2022Q4-base:1.17 pkgsrc-2022Q3:1.17.0.2 pkgsrc-2022Q3-base:1.17 pkgsrc-2022Q2:1.16.0.20 pkgsrc-2022Q2-base:1.16 pkgsrc-2022Q1:1.16.0.18 pkgsrc-2022Q1-base:1.16 pkgsrc-2021Q4:1.16.0.16 pkgsrc-2021Q4-base:1.16 pkgsrc-2021Q3:1.16.0.14 pkgsrc-2021Q3-base:1.16 pkgsrc-2021Q2:1.16.0.12 pkgsrc-2021Q2-base:1.16 pkgsrc-2021Q1:1.16.0.10 pkgsrc-2021Q1-base:1.16 pkgsrc-2020Q4:1.16.0.8 pkgsrc-2020Q4-base:1.16 pkgsrc-2020Q3:1.16.0.6 pkgsrc-2020Q3-base:1.16 pkgsrc-2020Q2:1.16.0.4 pkgsrc-2020Q2-base:1.16 pkgsrc-2020Q1:1.16.0.2 pkgsrc-2020Q1-base:1.16 pkgsrc-2019Q4:1.15.0.4 pkgsrc-2019Q4-base:1.15 pkgsrc-2019Q3:1.13.0.2 pkgsrc-2019Q3-base:1.13 pkgsrc-2019Q2:1.12.0.12 pkgsrc-2019Q2-base:1.12 pkgsrc-2019Q1:1.12.0.10 pkgsrc-2019Q1-base:1.12 pkgsrc-2018Q4:1.12.0.8 pkgsrc-2018Q4-base:1.12 pkgsrc-2018Q3:1.12.0.6 pkgsrc-2018Q3-base:1.12 pkgsrc-2018Q2:1.12.0.4 pkgsrc-2018Q2-base:1.12 pkgsrc-2018Q1:1.12.0.2 pkgsrc-2018Q1-base:1.12 pkgsrc-2017Q4:1.11.0.24 pkgsrc-2017Q4-base:1.11 pkgsrc-2017Q3:1.11.0.22 pkgsrc-2017Q3-base:1.11 pkgsrc-2017Q2:1.11.0.18 pkgsrc-2017Q2-base:1.11 pkgsrc-2017Q1:1.11.0.16 pkgsrc-2017Q1-base:1.11 pkgsrc-2016Q4:1.11.0.14 pkgsrc-2016Q4-base:1.11 pkgsrc-2016Q3:1.11.0.12 pkgsrc-2016Q3-base:1.11 pkgsrc-2016Q2:1.11.0.10 pkgsrc-2016Q2-base:1.11 pkgsrc-2016Q1:1.11.0.8 pkgsrc-2016Q1-base:1.11 pkgsrc-2015Q4:1.11.0.6 pkgsrc-2015Q4-base:1.11 pkgsrc-2015Q3:1.11.0.4 pkgsrc-2015Q3-base:1.11 pkgsrc-2015Q2:1.11.0.2 pkgsrc-2015Q2-base:1.11 pkgsrc-2015Q1:1.10.0.16 pkgsrc-2015Q1-base:1.10 pkgsrc-2014Q4:1.10.0.14 pkgsrc-2014Q4-base:1.10 pkgsrc-2014Q3:1.10.0.12 pkgsrc-2014Q3-base:1.10 pkgsrc-2014Q2:1.10.0.10 pkgsrc-2014Q2-base:1.10 pkgsrc-2014Q1:1.10.0.8 pkgsrc-2014Q1-base:1.10 pkgsrc-2013Q4:1.10.0.6 pkgsrc-2013Q4-base:1.10 pkgsrc-2013Q3:1.10.0.4 pkgsrc-2013Q3-base:1.10 pkgsrc-2013Q2:1.10.0.2 pkgsrc-2013Q2-base:1.10 pkgsrc-2013Q1:1.9.0.34 pkgsrc-2013Q1-base:1.9 pkgsrc-2012Q4:1.9.0.32 pkgsrc-2012Q4-base:1.9 pkgsrc-2012Q3:1.9.0.30 pkgsrc-2012Q3-base:1.9 pkgsrc-2012Q2:1.9.0.28 pkgsrc-2012Q2-base:1.9 pkgsrc-2012Q1:1.9.0.26 pkgsrc-2012Q1-base:1.9 pkgsrc-2011Q4:1.9.0.24 pkgsrc-2011Q4-base:1.9 pkgsrc-2011Q3:1.9.0.22 pkgsrc-2011Q3-base:1.9 pkgsrc-2011Q2:1.9.0.20 pkgsrc-2011Q2-base:1.9 pkgsrc-2011Q1:1.9.0.18 pkgsrc-2011Q1-base:1.9 pkgsrc-2010Q4:1.9.0.16 pkgsrc-2010Q4-base:1.9 pkgsrc-2010Q3:1.9.0.14 pkgsrc-2010Q3-base:1.9 pkgsrc-2010Q2:1.9.0.12 pkgsrc-2010Q2-base:1.9 pkgsrc-2010Q1:1.9.0.10 pkgsrc-2010Q1-base:1.9 pkgsrc-2009Q4:1.9.0.8 pkgsrc-2009Q4-base:1.9 pkgsrc-2009Q3:1.9.0.6 pkgsrc-2009Q3-base:1.9 pkgsrc-2009Q2:1.9.0.4 pkgsrc-2009Q2-base:1.9 pkgsrc-2009Q1:1.9.0.2 pkgsrc-2009Q1-base:1.9 pkgsrc-2008Q4:1.8.0.2 pkgsrc-2008Q4-base:1.8 pkgsrc-2008Q3:1.7.0.22 pkgsrc-2008Q3-base:1.7 cube-native-xorg:1.7.0.20 cube-native-xorg-base:1.7 pkgsrc-2008Q2:1.7.0.18 pkgsrc-2008Q2-base:1.7 cwrapper:1.7.0.16 pkgsrc-2008Q1:1.7.0.14 pkgsrc-2008Q1-base:1.7 pkgsrc-2007Q4:1.7.0.12 pkgsrc-2007Q4-base:1.7 pkgsrc-2007Q3:1.7.0.10 pkgsrc-2007Q3-base:1.7 pkgsrc-2007Q2:1.7.0.8 pkgsrc-2007Q2-base:1.7 pkgsrc-2007Q1:1.7.0.6 pkgsrc-2007Q1-base:1.7 pkgsrc-2006Q4:1.7.0.4 pkgsrc-2006Q4-base:1.7 pkgsrc-2006Q3:1.7.0.2 pkgsrc-2006Q3-base:1.7 pkgsrc-2006Q2:1.5.0.2 pkgsrc-2006Q2-base:1.5 pkgsrc-2006Q1:1.3.0.2 pkgsrc-2006Q1-base:1.3 pkgsrc-2005Q4:1.2.0.10 pkgsrc-2005Q4-base:1.2 pkgsrc-2005Q3:1.2.0.8 pkgsrc-2005Q3-base:1.2 pkgsrc-2005Q2:1.2.0.6 pkgsrc-2005Q2-base:1.2 pkgsrc-2005Q1:1.2.0.4 pkgsrc-2005Q1-base:1.2 pkgsrc-2004Q4:1.2.0.2 pkgsrc-2004Q4-base:1.2 pkgsrc-2004Q3:1.1.1.1.0.4 pkgsrc-2004Q3-base:1.1.1.1 pkgsrc-2004Q2:1.1.1.1.0.2 pkgsrc-2004Q2-base:1.1.1.1 pkgsrc-base:1.1.1.1 TNF:1.1.1; locks; strict; comment @# @; 1.18 date 2023.05.03.15.20.41; author triaxx; state Exp; branches; next 1.17; commitid 4Zdi54iDB9P9WwnE; 1.17 date 2022.08.11.05.08.40; author gutteridge; state Exp; branches; next 1.16; commitid yKydzoO42ClN3qPD; 1.16 date 2020.03.08.16.47.46; author wiz; state Exp; branches; next 1.15; commitid rcNYzTQo8icypCZB; 1.15 date 2019.11.02.22.37.56; author rillig; state Exp; branches; next 1.14; commitid amORVXK58QMYqkJB; 1.14 date 2019.10.03.11.17.51; author nia; state Exp; branches; next 1.13; commitid d0el4dFQDcWtDpFB; 1.13 date 2019.09.23.11.53.48; author nia; state Exp; branches; next 1.12; commitid veponjTZiIWH98EB; 1.12 date 2018.01.07.13.04.13; author rillig; state Exp; branches; next 1.11; commitid dlppcM1x04atAWlA; 1.11 date 2015.04.25.14.23.10; author tnn; state Exp; branches; next 1.10; commitid fkfRjMEDCPfoNYiy; 1.10 date 2013.05.04.14.32.20; author rodent; state Exp; branches; next 1.9; 1.9 date 2009.03.20.19.24.38; author joerg; state Exp; branches; next 1.8; 1.8 date 2008.11.08.01.10.12; author obache; state Exp; branches; next 1.7; 1.7 date 2006.07.08.23.10.51; author jlam; state Exp; branches; next 1.6; 1.6 date 2006.07.08.22.39.18; author jlam; state Exp; branches; next 1.5; 1.5 date 2006.04.12.10.27.17; author rillig; state Exp; branches; next 1.4; 1.4 date 2006.04.06.06.22.01; author reed; state Exp; branches; next 1.3; 1.3 date 2006.02.05.23.09.30; author joerg; state Exp; branches; next 1.2; 1.2 date 2004.10.03.00.14.50; author tv; state Exp; branches; next 1.1; 1.1 date 2004.04.19.18.36.02; author xtraeme; state Exp; branches 1.1.1.1; next ; 1.1.1.1 date 2004.04.19.18.36.02; author xtraeme; state Exp; branches; next ; desc @@ 1.18 log @freeglut: Update to 3.4.0 pkgsrc changes: --------------- * Remove patches which have been merged upstream. * Apply recommandations of pkglint for tests on PKG_BUILD_OPTIONS. upstream changes: ----------------- * Add GLUT_ACTIVE_SUPER modifier, and corresponding GLUT_KEY_SUPER_L and GLUT_KEY_SUPER_R special keys. These map to Windows/Command keys. * Fix RGB mode (GLUT_RGBA) colors on 8bpp displays on windows (construct default RGB332 palette). * Fix indexed color context creation on X11 and windows (GLUT_INDEX). * Add missing colormap management functions for X11 and windows (glutSetColor, glutGetColor). * Fix crash when calling glutTimerFuncUcall. * Fix FreeBSD build by essentially disabling the joystick code for newer FreeBSD versions. It will eventually need to be replaced/fixed. * Add fallbacks for the old GLX (<1.3) context creation API (glXChooseVisual/glXCreateContext), makes us compatible with IRIX 5.x and other old UNIX systems. * Add fallbacks for OpenGL 1.0 (no vertex arrays/client state). * Use nanosleep instead of usleep on UNIX, which is more widely supported on old UNIX systems. * Fix build on X11 if GL_SAMPLES is not defined. * Fix overly strict context version checking on Android leading to context creation failure in some cases. * Fix GLUT_CURSOR_INFO on windows, should be IDC_HAND, not IDC_HELP. * Fix mismatched font declarations on X11. * Add alternative simple ways to build freeglut with native tools only, without having to use cmake. * Fix build on windows with cmake 3.0.0. Explicitly link with gdi32. * Fix build on MSVC 2005. * Fix build on MacOS X. Link with all the necessary X libraries. * Fix build on SGI IRIX. * Fix build on Android (mismatched function prototypes and missing glutCreateMenuUcall). * Add support for the ninja multi-config generator. * Removed spurious dependency on a C++ compiler. One of the demos was being compiled as C++ for no reason. * Silence unnecessary warnings when VBOs or GLSL are not available. * New demo programs: 3dview, keyboard, joystick. * Documentation: added MacOS X build instructions. * Made it possible to eventually support building freeglut as a single compilation unit, by avoiding name conflicts on static variables. * Other minor fixes. @ text @# $NetBSD: buildlink3.mk,v 1.17 2022/08/11 05:08:40 gutteridge Exp $ BUILDLINK_TREE+= freeglut .if !defined(FREEGLUT_BUILDLINK3_MK) FREEGLUT_BUILDLINK3_MK:= BUILDLINK_API_DEPENDS.freeglut+= freeglut>=2.2.0 BUILDLINK_ABI_DEPENDS.freeglut+= freeglut>=3.2.2nb1 BUILDLINK_PKGSRCDIR.freeglut?= ../../graphics/freeglut .include "../../graphics/MesaLib/buildlink3.mk" .include "../../graphics/glu/buildlink3.mk" pkgbase:= freeglut .include "../../mk/pkg-build-options.mk" .if ${PKG_BUILD_OPTIONS.freeglut:Mwayland} . include "../../devel/wayland/buildlink3.mk" .endif .if ${PKG_BUILD_OPTIONS.freeglut:Mx11} . include "../../x11/libXi/buildlink3.mk" . include "../../x11/libXrandr/buildlink3.mk" . include "../../x11/libXxf86vm/buildlink3.mk" . include "../../x11/libX11/buildlink3.mk" .endif .endif # FREEGLUT_BUILDLINK3_MK BUILDLINK_TREE+= -freeglut @ 1.17 log @Bump all dependent packages of wayland (belatedly) The package changed with the addition of its libepoll-shim dependency. Otherwise, we can get: ERROR: libepoll-shim>=0.0.20210418 is not installed; can't buildlink files. @ text @d1 1 a1 1 # $NetBSD: buildlink3.mk,v 1.16 2020/03/08 16:47:46 wiz Exp $ d19 1 a19 1 .if !empty(PKG_BUILD_OPTIONS.freeglut:Mwayland) d23 1 a23 1 .if !empty(PKG_BUILD_OPTIONS.freeglut:Mx11) @ 1.16 log @*: recursive bump for libffi @ text @d1 1 a1 1 # $NetBSD: buildlink3.mk,v 1.15 2019/11/02 22:37:56 rillig Exp $ d9 1 a9 1 BUILDLINK_ABI_DEPENDS.freeglut+= freeglut>=3.2.1nb2 @ 1.15 log @graphics: align variable assignments pkglint -Wall -F --only aligned --only indent -r No manual corrections. @ text @d1 1 a1 1 # $NetBSD: buildlink3.mk,v 1.14 2019/10/03 11:17:51 nia Exp $ d9 1 a9 1 BUILDLINK_ABI_DEPENDS.freeglut+= freeglut>=2.8.1nb1 @ 1.14 log @freeglut: Update to 3.2.0 No changelog. @ text @d1 1 a1 1 # $NetBSD: buildlink3.mk,v 1.13 2019/09/23 11:53:48 nia Exp $ d19 10 a28 10 . if !empty(PKG_BUILD_OPTIONS.freeglut:Mwayland) . include "../../devel/wayland/buildlink3.mk" . endif . if !empty(PKG_BUILD_OPTIONS.freeglut:Mx11) . include "../../x11/libXi/buildlink3.mk" . include "../../x11/libXrandr/buildlink3.mk" . include "../../x11/libXxf86vm/buildlink3.mk" . include "../../x11/libX11/buildlink3.mk" . endif @ 1.13 log @freeglut: Installed headers use glu.h, pull in glu in buildlink3. @ text @d1 1 a1 1 # $NetBSD: buildlink3.mk,v 1.12 2018/01/07 13:04:13 rillig Exp $ d14 15 a28 5 .include "../../x11/libXi/buildlink3.mk" .include "../../x11/libXrandr/buildlink3.mk" .include "../../x11/libXxf86vm/buildlink3.mk" .include "../../x11/libX11/buildlink3.mk" .include "../../mk/dlopen.buildlink3.mk" @ 1.12 log @Fix indentation in buildlink3.mk files. The actual fix as been done by "pkglint -F */*/buildlink3.mk", and was reviewed manually. There are some .include lines that still are indented with zero spaces although the surrounding .if is indented. This is existing practice. @ text @d1 1 a1 1 # $NetBSD: buildlink3.mk,v 1.11 2015/04/25 14:23:10 tnn Exp $ d13 1 @ 1.11 log @Recursive revbump following MesaLib update, categories g through n. @ text @d1 1 a1 1 # $NetBSD: buildlink3.mk,v 1.10 2013/05/04 14:32:20 rodent Exp $ d10 1 a10 1 BUILDLINK_PKGSRCDIR.freeglut?= ../../graphics/freeglut @ 1.10 log @Updated to latest stable release. Added dependencies required during configure. Added dependencies which are linked to buildlink3.mk. Removed glu from buildlink3.mk, as the resulting library doesn't link to it. patches/patch-{a,b} were commited upstream - removed. Added patch to fix usb.h include on NetBSD. From NEWS: * Tons of bug fixes * Added deprecated, but working Joystick API. * Added new constant GLUT_INIT_STATE for glutGet() to check if freeglut is already initialized. * Added new API entry for full-screen mode void glutFullScreenToggle( void ); with a related new constant GLUT_FULL_SCREEN for glutGet(). * Added new API entry to de-initialize freeglut: void glutExit( void ); * Added more special keys: GLUT_KEY_NUM_LOCK, GLUT_KEY_BEGIN GLUT_KEY_DELETE * Added support for windows without captions and/or borders via two new constants GLUT_CAPTIONLESS and GLUT_BORDERLESS for glutInitDisplayMode (currently works for Windows only). * Added support for multisampling: The number of samples per pixel to use when GLUT_MULTISAMPLE is specified in glutInitDisplayMode() can be set via glutSetOption() with parameter GLUT_MULTISAMPLE now. glutGet() with the same token retrieves that value. The possible number of samples per pixels can be queried via the new API entry int *glutGetModeValues( GLenum mode, int *size ); with mode GLUT_MULTISAMPLE. (glutGetModeValues() currently only works for X11) * Added new constant GLUT_AUX for glutSetOption() to set the number of auxiliary buffers. The possible number of auxiliary buffers can be queried via glutGetModeValues with mode GLUT_AUX. * Added support for versioned (i.e. 3.0) OpenGL contexts: New API entries void glutInitContextVersion( int majorVersion, int minorVersion ); void glutInitContextFlags( int flags ); with related new constants GLUT_DEBUG and GLUT_FORWARD_COMPATIBLE for the latter API entry. Added new constants GLUT_INIT_MAJOR_VERSION, GLUT_INIT_MINOR_VERSION and GLUT_INIT_FLAGS for glutGet(). @ text @d1 1 a1 1 # $NetBSD: buildlink3.mk,v 1.9 2009/03/20 19:24:38 joerg Exp $ d9 1 a9 1 BUILDLINK_ABI_DEPENDS.freeglut+= freeglut>=2.2.0nb3 @ 1.9 log @Simply and speed up buildlink3.mk files and processing. This changes the buildlink3.mk files to use an include guard for the recursive include. The use of BUILDLINK_DEPTH, BUILDLINK_DEPENDS, BUILDLINK_PACKAGES and BUILDLINK_ORDER is handled by a single new variable BUILDLINK_TREE. Each buildlink3.mk file adds a pair of enter/exit marker, which can be used to reconstruct the tree and to determine first level includes. Avoiding := for large variables (BUILDLINK_ORDER) speeds up parse time as += has linear complexity. The include guard reduces system time by avoiding reading files over and over again. For complex packages this reduces both %user and %sys time to half of the former time. @ text @d1 1 a1 1 # $NetBSD: buildlink3.mk,v 1.8 2008/11/08 01:10:12 obache Exp $ d13 5 a17 1 .include "../../graphics/glu/buildlink3.mk" @ 1.8 log @Need buildlink GL and GLU headers. @ text @d1 1 a1 1 # $NetBSD: buildlink3.mk,v 1.7 2006/07/08 23:10:51 jlam Exp $ d3 1 a3 2 BUILDLINK_DEPTH:= ${BUILDLINK_DEPTH}+ FREEGLUT_BUILDLINK3_MK:= ${FREEGLUT_BUILDLINK3_MK}+ d5 2 a6 3 .if !empty(BUILDLINK_DEPTH:M+) BUILDLINK_DEPENDS+= freeglut .endif a7 5 BUILDLINK_PACKAGES:= ${BUILDLINK_PACKAGES:Nfreeglut} BUILDLINK_PACKAGES+= freeglut BUILDLINK_ORDER:= ${BUILDLINK_ORDER} ${BUILDLINK_DEPTH}freeglut .if !empty(FREEGLUT_BUILDLINK3_MK:M+) a10 1 .endif # FREEGLUT_BUILDLINK3_MK d14 1 d16 1 a16 1 BUILDLINK_DEPTH:= ${BUILDLINK_DEPTH:S/+$//} @ 1.7 log @Change the format of BUILDLINK_ORDER to contain depth information as well, and add a new helper target and script, "show-buildlink3", that outputs a listing of the buildlink3.mk files included as well as the depth at which they are included. For example, "make show-buildlink3" in fonts/Xft2 displays: zlib fontconfig iconv zlib freetype2 expat freetype2 Xrender renderproto @ text @d1 1 a1 1 # $NetBSD: buildlink3.mk,v 1.6 2006/07/08 22:39:18 jlam Exp $ d20 3 @ 1.6 log @Track information in a new variable BUILDLINK_ORDER that informs us of the order in which buildlink3.mk files are (recursively) included by a package Makefile. @ text @d1 1 a1 1 # $NetBSD: buildlink3.mk,v 1.5 2006/04/12 10:27:17 rillig Exp $ d12 1 a12 1 BUILDLINK_ORDER+= freeglut @ 1.5 log @Aligned the last line of the buildlink3.mk files with the first line, so that they look nicer. @ text @d1 1 a1 1 # $NetBSD: buildlink3.mk,v 1.4 2006/04/06 06:22:01 reed Exp $ d12 1 @ 1.4 log @Over 1200 files touched but no revisions bumped :) RECOMMENDED is removed. It becomes ABI_DEPENDS. BUILDLINK_RECOMMENDED.foo becomes BUILDLINK_ABI_DEPENDS.foo. BUILDLINK_DEPENDS.foo becomes BUILDLINK_API_DEPENDS.foo. BUILDLINK_DEPENDS does not change. IGNORE_RECOMMENDED (which defaulted to "no") becomes USE_ABI_DEPENDS which defaults to "yes". Added to obsolete.mk checking for IGNORE_RECOMMENDED. I did not manually go through and fix any aesthetic tab/spacing issues. I have tested the above patch on DragonFly building and packaging subversion and pkglint and their many dependencies. I have also tested USE_ABI_DEPENDS=no on my NetBSD workstation (where I have used IGNORE_RECOMMENDED for a long time). I have been an active user of IGNORE_RECOMMENDED since it was available. As suggested, I removed the documentation sentences suggesting bumping for "security" issues. As discussed on tech-pkg. I will commit to revbump, pkglint, pkg_install, createbuildlink separately. Note that if you use wip, it will fail! I will commit to pkgsrc-wip later (within day). @ text @d1 1 a1 1 # $NetBSD: buildlink3.mk,v 1.3 2006/02/05 23:09:30 joerg Exp $ d19 1 a19 1 BUILDLINK_DEPTH:= ${BUILDLINK_DEPTH:S/+$//} @ 1.3 log @Recursive revision bump / recommended bump for gettext ABI change. @ text @d1 1 a1 1 # $NetBSD: buildlink3.mk,v 1.2 2004/10/03 00:14:50 tv Exp $ d14 2 a15 2 BUILDLINK_DEPENDS.freeglut+= freeglut>=2.2.0 BUILDLINK_RECOMMENDED.freeglut+= freeglut>=2.2.0nb3 @ 1.2 log @Libtool fix for PR pkg/26633, and other issues. Update libtool to 1.5.10 in the process. (More information on tech-pkg.) Bump PKGREVISION and BUILDLINK_DEPENDS of all packages using libtool and installing .la files. Bump PKGREVISION (only) of all packages depending directly on the above via a buildlink3 include. @ text @d1 1 a1 1 # $NetBSD: buildlink3.mk,v 1.1.1.1 2004/04/19 18:36:02 xtraeme Exp $ d15 1 a15 1 BUILDLINK_RECOMMENDED.freeglut+= freeglut>=2.2.0nb2 @ 1.1 log @Initial revision @ text @d1 1 a1 1 # $NetBSD$ d15 1 @ 1.1.1.1 log @Initial import of freeglut-2.2.0, from pkgsrc-wip. freeglut is a completely OpenSourced alternative to the OpenGL Utility Toolkit (GLUT) library. GLUT was originally written by Mark Kilgard to support the sample programs in the second edition OpenGL 'RedBook'. Since then, GLUT has been used in a wide variety of practical applications because it is simple, universally available and highly portable. @ text @@