summaryrefslogtreecommitdiff
path: root/packages/extra
diff options
context:
space:
mode:
authormarco <marco@3ad0048d-3df7-0310-abae-a5850022a9f2>2008-01-26 21:00:05 +0000
committermarco <marco@3ad0048d-3df7-0310-abae-a5850022a9f2>2008-01-26 21:00:05 +0000
commit56d40fd1ebbd8bf4ad772b2f9bc888655dcf8d4e (patch)
treec67c29ea7e59a2bf15c88a92b19ea6dfab2fc4e0 /packages/extra
parent6101b09806e25e9078f5db1587ff8fdbcd462670 (diff)
downloadfpc-56d40fd1ebbd8bf4ad772b2f9bc888655dcf8d4e.tar.gz
* opengl deleted
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@9974 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'packages/extra')
-rw-r--r--packages/extra/opengl/Makefile2395
-rw-r--r--packages/extra/opengl/Makefile.fpc33
-rw-r--r--packages/extra/opengl/examples/Makefile2172
-rw-r--r--packages/extra/opengl/examples/Makefile.fpc28
-rw-r--r--packages/extra/opengl/examples/bounce.pp246
-rw-r--r--packages/extra/opengl/examples/glutdemo.pp134
-rw-r--r--packages/extra/opengl/examples/glxtest.pp110
-rw-r--r--packages/extra/opengl/examples/morph3d.pp915
-rw-r--r--packages/extra/opengl/examples/radblur.pp375
-rw-r--r--packages/extra/opengl/fpmake.inc17
-rw-r--r--packages/extra/opengl/fpmake.pp17
-rw-r--r--packages/extra/opengl/gl.pp2346
-rw-r--r--packages/extra/opengl/glext.pp9547
-rw-r--r--packages/extra/opengl/glu.pp572
-rw-r--r--packages/extra/opengl/glunits.txt46
-rw-r--r--packages/extra/opengl/glut.pp2102
-rw-r--r--packages/extra/opengl/glx.pp240
-rw-r--r--packages/extra/opengl/readme22
-rw-r--r--packages/extra/opengl/tinygl.inc846
-rw-r--r--packages/extra/opengl/tinyglh.inc165
20 files changed, 0 insertions, 22328 deletions
diff --git a/packages/extra/opengl/Makefile b/packages/extra/opengl/Makefile
deleted file mode 100644
index 4fd0b68c9a..0000000000
--- a/packages/extra/opengl/Makefile
+++ /dev/null
@@ -1,2395 +0,0 @@
-#
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2007/11/08]
-#
-default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-darwin x86_64-win64 x86_64-embedded arm-linux arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian powerpc64-linux powerpc64-darwin powerpc64-embedded
-BSDs = freebsd netbsd openbsd darwin
-UNIXs = linux $(BSDs) solaris qnx
-LIMIT83fs = go32v2 os2 emx watcom
-OSNeedsComspecToRunBatch = go32v2 watcom
-FORCE:
-.PHONY: FORCE
-override PATH:=$(patsubst %/,%,$(subst \,/,$(PATH)))
-ifneq ($(findstring darwin,$(OSTYPE)),)
-inUnix=1 #darwin
-SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
-else
-ifeq ($(findstring ;,$(PATH)),)
-inUnix=1
-SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
-else
-SEARCHPATH:=$(subst ;, ,$(PATH))
-endif
-endif
-SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
-PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
-ifeq ($(PWD),)
-PWD:=$(strip $(wildcard $(addsuffix /pwd,$(SEARCHPATH))))
-ifeq ($(PWD),)
-$(error You need the GNU utils package to use this Makefile)
-else
-PWD:=$(firstword $(PWD))
-SRCEXEEXT=
-endif
-else
-PWD:=$(firstword $(PWD))
-SRCEXEEXT=.exe
-endif
-ifndef inUnix
-ifeq ($(OS),Windows_NT)
-inWinNT=1
-else
-ifdef OS2_SHELL
-inOS2=1
-endif
-endif
-else
-ifneq ($(findstring cygdrive,$(PATH)),)
-inCygWin=1
-endif
-endif
-ifdef inUnix
-SRCBATCHEXT=.sh
-else
-ifdef inOS2
-SRCBATCHEXT=.cmd
-else
-SRCBATCHEXT=.bat
-endif
-endif
-ifdef COMSPEC
-ifneq ($(findstring $(OS_SOURCE),$(OSNeedsComspecToRunBatch)),)
-RUNBATCH=$(COMSPEC) /C
-endif
-endif
-ifdef inUnix
-PATHSEP=/
-else
-PATHSEP:=$(subst /,\,/)
-ifdef inCygWin
-PATHSEP=/
-endif
-endif
-ifdef PWD
-BASEDIR:=$(subst \,/,$(shell $(PWD)))
-ifdef inCygWin
-ifneq ($(findstring /cygdrive/,$(BASEDIR)),)
-BASENODIR:=$(patsubst /cygdrive%,%,$(BASEDIR))
-BASEDRIVE:=$(firstword $(subst /, ,$(BASENODIR)))
-BASEDIR:=$(subst /cygdrive/$(BASEDRIVE)/,$(BASEDRIVE):/,$(BASEDIR))
-endif
-endif
-else
-BASEDIR=.
-endif
-ifdef inOS2
-ifndef ECHO
-ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(ECHO),)
-ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(ECHO),)
-ECHO=echo
-else
-ECHO:=$(firstword $(ECHO))
-endif
-else
-ECHO:=$(firstword $(ECHO))
-endif
-endif
-export ECHO
-endif
-override DEFAULT_FPCDIR=../../..
-ifndef FPC
-ifdef PP
-FPC=$(PP)
-endif
-endif
-ifndef FPC
-FPCPROG:=$(strip $(wildcard $(addsuffix /fpc$(SRCEXEEXT),$(SEARCHPATH))))
-ifneq ($(FPCPROG),)
-FPCPROG:=$(firstword $(FPCPROG))
-ifneq ($(CPU_TARGET),)
-FPC:=$(shell $(FPCPROG) -P$(CPU_TARGET) -PB)
-else
-FPC:=$(shell $(FPCPROG) -PB)
-endif
-ifneq ($(findstring Error,$(FPC)),)
-override FPC=$(firstword $(strip $(wildcard $(addsuffix /ppc386$(SRCEXEEXT),$(SEARCHPATH)))))
-endif
-else
-override FPC=$(firstword $(strip $(wildcard $(addsuffix /ppc386$(SRCEXEEXT),$(SEARCHPATH)))))
-endif
-endif
-override FPC:=$(subst $(SRCEXEEXT),,$(FPC))
-override FPC:=$(subst \,/,$(FPC))$(SRCEXEEXT)
-FOUNDFPC:=$(strip $(wildcard $(FPC)))
-ifeq ($(FOUNDFPC),)
-FOUNDFPC=$(strip $(wildcard $(addsuffix /$(FPC),$(SEARCHPATH))))
-ifeq ($(FOUNDFPC),)
-$(error Compiler $(FPC) not found)
-endif
-endif
-ifndef FPC_COMPILERINFO
-FPC_COMPILERINFO:=$(shell $(FPC) -iVSPTPSOTO)
-endif
-ifndef FPC_VERSION
-FPC_VERSION:=$(word 1,$(FPC_COMPILERINFO))
-endif
-export FPC FPC_VERSION FPC_COMPILERINFO
-unexport CHECKDEPEND ALLDEPENDENCIES
-ifndef CPU_TARGET
-ifdef CPU_TARGET_DEFAULT
-CPU_TARGET=$(CPU_TARGET_DEFAULT)
-endif
-endif
-ifndef OS_TARGET
-ifdef OS_TARGET_DEFAULT
-OS_TARGET=$(OS_TARGET_DEFAULT)
-endif
-endif
-ifneq ($(words $(FPC_COMPILERINFO)),5)
-FPC_COMPILERINFO+=$(shell $(FPC) -iSP)
-FPC_COMPILERINFO+=$(shell $(FPC) -iTP)
-FPC_COMPILERINFO+=$(shell $(FPC) -iSO)
-FPC_COMPILERINFO+=$(shell $(FPC) -iTO)
-endif
-ifndef CPU_SOURCE
-CPU_SOURCE:=$(word 2,$(FPC_COMPILERINFO))
-endif
-ifndef CPU_TARGET
-CPU_TARGET:=$(word 3,$(FPC_COMPILERINFO))
-endif
-ifndef OS_SOURCE
-OS_SOURCE:=$(word 4,$(FPC_COMPILERINFO))
-endif
-ifndef OS_TARGET
-OS_TARGET:=$(word 5,$(FPC_COMPILERINFO))
-endif
-FULL_TARGET=$(CPU_TARGET)-$(OS_TARGET)
-FULL_SOURCE=$(CPU_SOURCE)-$(OS_SOURCE)
-ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
-TARGETSUFFIX=$(OS_TARGET)
-SOURCESUFFIX=$(OS_SOURCE)
-else
-TARGETSUFFIX=$(FULL_TARGET)
-SOURCESUFFIX=$(FULL_SOURCE)
-endif
-ifneq ($(FULL_TARGET),$(FULL_SOURCE))
-CROSSCOMPILE=1
-endif
-ifeq ($(findstring makefile,$(MAKECMDGOALS)),)
-ifeq ($(findstring $(FULL_TARGET),$(MAKEFILETARGETS)),)
-$(error The Makefile doesn't support target $(FULL_TARGET), please run fpcmake first)
-endif
-endif
-ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
-BSDhier=1
-endif
-ifeq ($(OS_TARGET),linux)
-linuxHier=1
-endif
-export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE TARGETSUFFIX SOURCESUFFIX CROSSCOMPILE
-ifdef FPCDIR
-override FPCDIR:=$(subst \,/,$(FPCDIR))
-ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
-override FPCDIR=wrong
-endif
-else
-override FPCDIR=wrong
-endif
-ifdef DEFAULT_FPCDIR
-ifeq ($(FPCDIR),wrong)
-override FPCDIR:=$(subst \,/,$(DEFAULT_FPCDIR))
-ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
-override FPCDIR=wrong
-endif
-endif
-endif
-ifeq ($(FPCDIR),wrong)
-ifdef inUnix
-override FPCDIR=/usr/local/lib/fpc/$(FPC_VERSION)
-ifeq ($(wildcard $(FPCDIR)/units),)
-override FPCDIR=/usr/lib/fpc/$(FPC_VERSION)
-endif
-else
-override FPCDIR:=$(subst /$(FPC),,$(firstword $(strip $(wildcard $(addsuffix /$(FPC),$(SEARCHPATH))))))
-override FPCDIR:=$(FPCDIR)/..
-ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
-override FPCDIR:=$(FPCDIR)/..
-ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
-override FPCDIR:=$(BASEDIR)
-ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
-override FPCDIR=c:/pp
-endif
-endif
-endif
-endif
-endif
-ifndef CROSSBINDIR
-CROSSBINDIR:=$(wildcard $(FPCDIR)/bin/$(TARGETSUFFIX))
-endif
-ifndef BINUTILSPREFIX
-ifndef CROSSBINDIR
-ifdef CROSSCOMPILE
-BINUTILSPREFIX=$(CPU_TARGET)-$(OS_TARGET)-
-endif
-endif
-endif
-UNITSDIR:=$(wildcard $(FPCDIR)/units/$(TARGETSUFFIX))
-ifeq ($(UNITSDIR),)
-UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET))
-endif
-PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages $(FPCDIR)/packages/base $(FPCDIR)/packages/extra)
-override PACKAGE_NAME=opengl
-override PACKAGE_VERSION=2.0.0
-ifeq ($(FULL_TARGET),i386-linux)
-override TARGET_UNITS+=gl glu glut glx glext
-endif
-ifeq ($(FULL_TARGET),i386-go32v2)
-override TARGET_UNITS+=gl glu glut
-endif
-ifeq ($(FULL_TARGET),i386-win32)
-override TARGET_UNITS+=gl glu glut glext
-endif
-ifeq ($(FULL_TARGET),i386-os2)
-override TARGET_UNITS+=gl glu glut
-endif
-ifeq ($(FULL_TARGET),i386-freebsd)
-override TARGET_UNITS+=gl glu glut glx glext
-endif
-ifeq ($(FULL_TARGET),i386-beos)
-override TARGET_UNITS+=gl glu glut
-endif
-ifeq ($(FULL_TARGET),i386-netbsd)
-override TARGET_UNITS+=gl glu glut glx glext
-endif
-ifeq ($(FULL_TARGET),i386-solaris)
-override TARGET_UNITS+=gl glu glut
-endif
-ifeq ($(FULL_TARGET),i386-qnx)
-override TARGET_UNITS+=gl glu glut
-endif
-ifeq ($(FULL_TARGET),i386-netware)
-override TARGET_UNITS+=gl glu glut
-endif
-ifeq ($(FULL_TARGET),i386-openbsd)
-override TARGET_UNITS+=gl glu glut glx glext
-endif
-ifeq ($(FULL_TARGET),i386-wdosx)
-override TARGET_UNITS+=gl glu glut
-endif
-ifeq ($(FULL_TARGET),i386-darwin)
-override TARGET_UNITS+=gl glu glut glx glext
-endif
-ifeq ($(FULL_TARGET),i386-emx)
-override TARGET_UNITS+=gl glu glut
-endif
-ifeq ($(FULL_TARGET),i386-watcom)
-override TARGET_UNITS+=gl glu glut
-endif
-ifeq ($(FULL_TARGET),i386-netwlibc)
-override TARGET_UNITS+=gl glu glut
-endif
-ifeq ($(FULL_TARGET),i386-wince)
-override TARGET_UNITS+=gl glu glut
-endif
-ifeq ($(FULL_TARGET),i386-embedded)
-override TARGET_UNITS+=gl glu glut
-endif
-ifeq ($(FULL_TARGET),i386-symbian)
-override TARGET_UNITS+=gl glu glut
-endif
-ifeq ($(FULL_TARGET),m68k-linux)
-override TARGET_UNITS+=gl glu glut glx glext
-endif
-ifeq ($(FULL_TARGET),m68k-freebsd)
-override TARGET_UNITS+=gl glu glut glx glext
-endif
-ifeq ($(FULL_TARGET),m68k-netbsd)
-override TARGET_UNITS+=gl glu glut glx glext
-endif
-ifeq ($(FULL_TARGET),m68k-amiga)
-override TARGET_UNITS+=gl glu glut
-endif
-ifeq ($(FULL_TARGET),m68k-atari)
-override TARGET_UNITS+=gl glu glut
-endif
-ifeq ($(FULL_TARGET),m68k-openbsd)
-override TARGET_UNITS+=gl glu glut glx glext
-endif
-ifeq ($(FULL_TARGET),m68k-palmos)
-override TARGET_UNITS+=gl glu glut
-endif
-ifeq ($(FULL_TARGET),m68k-embedded)
-override TARGET_UNITS+=gl glu glut
-endif
-ifeq ($(FULL_TARGET),powerpc-linux)
-override TARGET_UNITS+=gl glu glut glx glext
-endif
-ifeq ($(FULL_TARGET),powerpc-netbsd)
-override TARGET_UNITS+=gl glu glut glx glext
-endif
-ifeq ($(FULL_TARGET),powerpc-amiga)
-override TARGET_UNITS+=gl glu glut
-endif
-ifeq ($(FULL_TARGET),powerpc-macos)
-override TARGET_UNITS+=gl glu glut
-endif
-ifeq ($(FULL_TARGET),powerpc-darwin)
-override TARGET_UNITS+=gl glu glut glx glext
-endif
-ifeq ($(FULL_TARGET),powerpc-morphos)
-override TARGET_UNITS+=gl glu glut
-endif
-ifeq ($(FULL_TARGET),powerpc-embedded)
-override TARGET_UNITS+=gl glu glut
-endif
-ifeq ($(FULL_TARGET),sparc-linux)
-override TARGET_UNITS+=gl glu glut glx glext
-endif
-ifeq ($(FULL_TARGET),sparc-netbsd)
-override TARGET_UNITS+=gl glu glut glx glext
-endif
-ifeq ($(FULL_TARGET),sparc-solaris)
-override TARGET_UNITS+=gl glu glut
-endif
-ifeq ($(FULL_TARGET),sparc-embedded)
-override TARGET_UNITS+=gl glu glut
-endif
-ifeq ($(FULL_TARGET),x86_64-linux)
-override TARGET_UNITS+=gl glu glut glx glext
-endif
-ifeq ($(FULL_TARGET),x86_64-freebsd)
-override TARGET_UNITS+=gl glu glut glx glext
-endif
-ifeq ($(FULL_TARGET),x86_64-darwin)
-override TARGET_UNITS+=gl glu glut glx glext
-endif
-ifeq ($(FULL_TARGET),x86_64-win64)
-override TARGET_UNITS+=gl glu glut
-endif
-ifeq ($(FULL_TARGET),x86_64-embedded)
-override TARGET_UNITS+=gl glu glut
-endif
-ifeq ($(FULL_TARGET),arm-linux)
-override TARGET_UNITS+=gl glu glut glx glext
-endif
-ifeq ($(FULL_TARGET),arm-palmos)
-override TARGET_UNITS+=gl glu glut
-endif
-ifeq ($(FULL_TARGET),arm-wince)
-override TARGET_UNITS+=gl glu glut
-endif
-ifeq ($(FULL_TARGET),arm-gba)
-override TARGET_UNITS+=gl glu glut
-endif
-ifeq ($(FULL_TARGET),arm-nds)
-override TARGET_UNITS+=gl glu glut
-endif
-ifeq ($(FULL_TARGET),arm-embedded)
-override TARGET_UNITS+=gl glu glut
-endif
-ifeq ($(FULL_TARGET),arm-symbian)
-override TARGET_UNITS+=gl glu glut
-endif
-ifeq ($(FULL_TARGET),powerpc64-linux)
-override TARGET_UNITS+=gl glu glut glx glext
-endif
-ifeq ($(FULL_TARGET),powerpc64-darwin)
-override TARGET_UNITS+=gl glu glut glx glext
-endif
-ifeq ($(FULL_TARGET),powerpc64-embedded)
-override TARGET_UNITS+=gl glu glut
-endif
-ifeq ($(FULL_TARGET),i386-linux)
-override TARGET_EXAMPLEDIRS+=examples
-endif
-ifeq ($(FULL_TARGET),i386-go32v2)
-override TARGET_EXAMPLEDIRS+=examples
-endif
-ifeq ($(FULL_TARGET),i386-win32)
-override TARGET_EXAMPLEDIRS+=examples
-endif
-ifeq ($(FULL_TARGET),i386-os2)
-override TARGET_EXAMPLEDIRS+=examples
-endif
-ifeq ($(FULL_TARGET),i386-freebsd)
-override TARGET_EXAMPLEDIRS+=examples
-endif
-ifeq ($(FULL_TARGET),i386-beos)
-override TARGET_EXAMPLEDIRS+=examples
-endif
-ifeq ($(FULL_TARGET),i386-netbsd)
-override TARGET_EXAMPLEDIRS+=examples
-endif
-ifeq ($(FULL_TARGET),i386-solaris)
-override TARGET_EXAMPLEDIRS+=examples
-endif
-ifeq ($(FULL_TARGET),i386-qnx)
-override TARGET_EXAMPLEDIRS+=examples
-endif
-ifeq ($(FULL_TARGET),i386-netware)
-override TARGET_EXAMPLEDIRS+=examples
-endif
-ifeq ($(FULL_TARGET),i386-openbsd)
-override TARGET_EXAMPLEDIRS+=examples
-endif
-ifeq ($(FULL_TARGET),i386-wdosx)
-override TARGET_EXAMPLEDIRS+=examples
-endif
-ifeq ($(FULL_TARGET),i386-darwin)
-override TARGET_EXAMPLEDIRS+=examples
-endif
-ifeq ($(FULL_TARGET),i386-emx)
-override TARGET_EXAMPLEDIRS+=examples
-endif
-ifeq ($(FULL_TARGET),i386-watcom)
-override TARGET_EXAMPLEDIRS+=examples
-endif
-ifeq ($(FULL_TARGET),i386-netwlibc)
-override TARGET_EXAMPLEDIRS+=examples
-endif
-ifeq ($(FULL_TARGET),i386-wince)
-override TARGET_EXAMPLEDIRS+=examples
-endif
-ifeq ($(FULL_TARGET),i386-embedded)
-override TARGET_EXAMPLEDIRS+=examples
-endif
-ifeq ($(FULL_TARGET),i386-symbian)
-override TARGET_EXAMPLEDIRS+=examples
-endif
-ifeq ($(FULL_TARGET),m68k-linux)
-override TARGET_EXAMPLEDIRS+=examples
-endif
-ifeq ($(FULL_TARGET),m68k-freebsd)
-override TARGET_EXAMPLEDIRS+=examples
-endif
-ifeq ($(FULL_TARGET),m68k-netbsd)
-override TARGET_EXAMPLEDIRS+=examples
-endif
-ifeq ($(FULL_TARGET),m68k-amiga)
-override TARGET_EXAMPLEDIRS+=examples
-endif
-ifeq ($(FULL_TARGET),m68k-atari)
-override TARGET_EXAMPLEDIRS+=examples
-endif
-ifeq ($(FULL_TARGET),m68k-openbsd)
-override TARGET_EXAMPLEDIRS+=examples
-endif
-ifeq ($(FULL_TARGET),m68k-palmos)
-override TARGET_EXAMPLEDIRS+=examples
-endif
-ifeq ($(FULL_TARGET),m68k-embedded)
-override TARGET_EXAMPLEDIRS+=examples
-endif
-ifeq ($(FULL_TARGET),powerpc-linux)
-override TARGET_EXAMPLEDIRS+=examples
-endif
-ifeq ($(FULL_TARGET),powerpc-netbsd)
-override TARGET_EXAMPLEDIRS+=examples
-endif
-ifeq ($(FULL_TARGET),powerpc-amiga)
-override TARGET_EXAMPLEDIRS+=examples
-endif
-ifeq ($(FULL_TARGET),powerpc-macos)
-override TARGET_EXAMPLEDIRS+=examples
-endif
-ifeq ($(FULL_TARGET),powerpc-darwin)
-override TARGET_EXAMPLEDIRS+=examples
-endif
-ifeq ($(FULL_TARGET),powerpc-morphos)
-override TARGET_EXAMPLEDIRS+=examples
-endif
-ifeq ($(FULL_TARGET),powerpc-embedded)
-override TARGET_EXAMPLEDIRS+=examples
-endif
-ifeq ($(FULL_TARGET),sparc-linux)
-override TARGET_EXAMPLEDIRS+=examples
-endif
-ifeq ($(FULL_TARGET),sparc-netbsd)
-override TARGET_EXAMPLEDIRS+=examples
-endif
-ifeq ($(FULL_TARGET),sparc-solaris)
-override TARGET_EXAMPLEDIRS+=examples
-endif
-ifeq ($(FULL_TARGET),sparc-embedded)
-override TARGET_EXAMPLEDIRS+=examples
-endif
-ifeq ($(FULL_TARGET),x86_64-linux)
-override TARGET_EXAMPLEDIRS+=examples
-endif
-ifeq ($(FULL_TARGET),x86_64-freebsd)
-override TARGET_EXAMPLEDIRS+=examples
-endif
-ifeq ($(FULL_TARGET),x86_64-darwin)
-override TARGET_EXAMPLEDIRS+=examples
-endif
-ifeq ($(FULL_TARGET),x86_64-win64)
-override TARGET_EXAMPLEDIRS+=examples
-endif
-ifeq ($(FULL_TARGET),x86_64-embedded)
-override TARGET_EXAMPLEDIRS+=examples
-endif
-ifeq ($(FULL_TARGET),arm-linux)
-override TARGET_EXAMPLEDIRS+=examples
-endif
-ifeq ($(FULL_TARGET),arm-palmos)
-override TARGET_EXAMPLEDIRS+=examples
-endif
-ifeq ($(FULL_TARGET),arm-wince)
-override TARGET_EXAMPLEDIRS+=examples
-endif
-ifeq ($(FULL_TARGET),arm-gba)
-override TARGET_EXAMPLEDIRS+=examples
-endif
-ifeq ($(FULL_TARGET),arm-nds)
-override TARGET_EXAMPLEDIRS+=examples
-endif
-ifeq ($(FULL_TARGET),arm-embedded)
-override TARGET_EXAMPLEDIRS+=examples
-endif
-ifeq ($(FULL_TARGET),arm-symbian)
-override TARGET_EXAMPLEDIRS+=examples
-endif
-ifeq ($(FULL_TARGET),powerpc64-linux)
-override TARGET_EXAMPLEDIRS+=examples
-endif
-ifeq ($(FULL_TARGET),powerpc64-darwin)
-override TARGET_EXAMPLEDIRS+=examples
-endif
-ifeq ($(FULL_TARGET),powerpc64-embedded)
-override TARGET_EXAMPLEDIRS+=examples
-endif
-override INSTALL_FPCPACKAGE=y
-ifdef REQUIRE_UNITSDIR
-override UNITSDIR+=$(REQUIRE_UNITSDIR)
-endif
-ifdef REQUIRE_PACKAGESDIR
-override PACKAGESDIR+=$(REQUIRE_PACKAGESDIR)
-endif
-ifdef ZIPINSTALL
-ifneq ($(findstring $(OS_TARGET),$(UNIXs)),)
-UNIXHier=1
-endif
-else
-ifneq ($(findstring $(OS_SOURCE),$(UNIXs)),)
-UNIXHier=1
-endif
-endif
-ifndef INSTALL_PREFIX
-ifdef PREFIX
-INSTALL_PREFIX=$(PREFIX)
-endif
-endif
-ifndef INSTALL_PREFIX
-ifdef UNIXHier
-INSTALL_PREFIX=/usr/local
-else
-ifdef INSTALL_FPCPACKAGE
-INSTALL_BASEDIR:=/pp
-else
-INSTALL_BASEDIR:=/$(PACKAGE_NAME)
-endif
-endif
-endif
-export INSTALL_PREFIX
-ifdef INSTALL_FPCSUBDIR
-export INSTALL_FPCSUBDIR
-endif
-ifndef DIST_DESTDIR
-DIST_DESTDIR:=$(BASEDIR)
-endif
-export DIST_DESTDIR
-ifndef COMPILER_UNITTARGETDIR
-ifdef PACKAGEDIR_MAIN
-COMPILER_UNITTARGETDIR=$(PACKAGEDIR_MAIN)/units/$(TARGETSUFFIX)
-else
-COMPILER_UNITTARGETDIR=units/$(TARGETSUFFIX)
-endif
-endif
-ifndef COMPILER_TARGETDIR
-COMPILER_TARGETDIR=.
-endif
-ifndef INSTALL_BASEDIR
-ifdef UNIXHier
-ifdef INSTALL_FPCPACKAGE
-INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
-else
-INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/$(PACKAGE_NAME)
-endif
-else
-INSTALL_BASEDIR:=$(INSTALL_PREFIX)
-endif
-endif
-ifndef INSTALL_BINDIR
-ifdef UNIXHier
-INSTALL_BINDIR:=$(INSTALL_PREFIX)/bin
-else
-INSTALL_BINDIR:=$(INSTALL_BASEDIR)/bin
-ifdef INSTALL_FPCPACKAGE
-ifdef CROSSCOMPILE
-ifdef CROSSINSTALL
-INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(SOURCESUFFIX)
-else
-INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(TARGETSUFFIX)
-endif
-else
-INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(TARGETSUFFIX)
-endif
-endif
-endif
-endif
-ifndef INSTALL_UNITDIR
-INSTALL_UNITDIR:=$(INSTALL_BASEDIR)/units/$(TARGETSUFFIX)
-ifdef INSTALL_FPCPACKAGE
-ifdef PACKAGE_NAME
-INSTALL_UNITDIR:=$(INSTALL_UNITDIR)/$(PACKAGE_NAME)
-endif
-endif
-endif
-ifndef INSTALL_LIBDIR
-ifdef UNIXHier
-INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
-else
-INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
-endif
-endif
-ifndef INSTALL_SOURCEDIR
-ifdef UNIXHier
-ifdef BSDhier
-SRCPREFIXDIR=share/src
-else
-ifdef linuxHier
-SRCPREFIXDIR=share/src
-else
-SRCPREFIXDIR=src
-endif
-endif
-ifdef INSTALL_FPCPACKAGE
-ifdef INSTALL_FPCSUBDIR
-INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
-else
-INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
-endif
-else
-INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
-endif
-else
-ifdef INSTALL_FPCPACKAGE
-ifdef INSTALL_FPCSUBDIR
-INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
-else
-INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(PACKAGE_NAME)
-endif
-else
-INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source
-endif
-endif
-endif
-ifndef INSTALL_DOCDIR
-ifdef UNIXHier
-ifdef BSDhier
-DOCPREFIXDIR=share/doc
-else
-ifdef linuxHier
-DOCPREFIXDIR=share/doc
-else
-DOCPREFIXDIR=doc
-endif
-endif
-ifdef INSTALL_FPCPACKAGE
-INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
-else
-INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
-endif
-else
-ifdef INSTALL_FPCPACKAGE
-INSTALL_DOCDIR:=$(INSTALL_BASEDIR)/doc/$(PACKAGE_NAME)
-else
-INSTALL_DOCDIR:=$(INSTALL_BASEDIR)/doc
-endif
-endif
-endif
-ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXHier
-ifdef INSTALL_FPCPACKAGE
-ifdef BSDhier
-INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
-else
-ifdef linuxHier
-INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples
-else
-INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
-endif
-endif
-else
-ifdef BSDhier
-INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
-else
-ifdef linuxHier
-INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
-else
-INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
-endif
-endif
-endif
-else
-ifdef INSTALL_FPCPACKAGE
-INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
-else
-INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples
-endif
-endif
-endif
-ifndef INSTALL_DATADIR
-INSTALL_DATADIR=$(INSTALL_BASEDIR)
-endif
-ifndef INSTALL_SHAREDDIR
-INSTALL_SHAREDDIR=$(INSTALL_PREFIX)/lib
-endif
-ifdef CROSSCOMPILE
-ifndef CROSSBINDIR
-CROSSBINDIR:=$(wildcard $(CROSSTARGETDIR)/bin/$(SOURCESUFFIX))
-ifeq ($(CROSSBINDIR),)
-CROSSBINDIR:=$(wildcard $(INSTALL_BASEDIR)/cross/$(TARGETSUFFIX)/bin/$(FULL_SOURCE))
-endif
-endif
-else
-CROSSBINDIR=
-endif
-ifeq ($(OS_SOURCE),linux)
-ifndef GCCLIBDIR
-ifeq ($(CPU_TARGET),i386)
-ifneq ($(findstring x86_64,$(shell uname -a)),)
-ifeq ($(BINUTILSPREFIX),)
-GCCLIBDIR:=$(shell dirname `gcc -m32 -print-libgcc-file-name`)
-endif
-endif
-endif
-ifeq ($(CPU_TARGET),powerpc64)
-ifeq ($(BINUTILSPREFIX),)
-GCCLIBDIR:=$(shell dirname `gcc -m64 -print-libgcc-file-name`)
-endif
-endif
-endif
-ifndef GCCLIBDIR
-CROSSGCC=$(strip $(wildcard $(addsuffix /$(BINUTILSPREFIX)gcc$(SRCEXEEXT),$(SEARCHPATH))))
-ifneq ($(CROSSGCC),)
-GCCLIBDIR:=$(shell dirname `$(CROSSGCC) -print-libgcc-file-name`)
-endif
-endif
-ifndef OTHERLIBDIR
-OTHERLIBDIR:=$(shell grep -v "^\#" /etc/ld.so.conf | awk '{ ORS=" "; print $1 }')
-endif
-endif
-ifdef inUnix
-ifeq ($(OS_SOURCE),netbsd)
-OTHERLIBDIR+=/usr/pkg/lib
-endif
-export GCCLIBDIR OTHERLIB
-endif
-BATCHEXT=.bat
-LOADEREXT=.as
-EXEEXT=.exe
-PPLEXT=.ppl
-PPUEXT=.ppu
-OEXT=.o
-ASMEXT=.s
-SMARTEXT=.sl
-STATICLIBEXT=.a
-SHAREDLIBEXT=.so
-SHAREDLIBPREFIX=libfp
-STATICLIBPREFIX=libp
-IMPORTLIBPREFIX=libimp
-RSTEXT=.rst
-ifeq ($(findstring 1.0.,$(FPC_VERSION)),)
-ifeq ($(OS_TARGET),go32v1)
-STATICLIBPREFIX=
-SHORTSUFFIX=v1
-endif
-ifeq ($(OS_TARGET),go32v2)
-STATICLIBPREFIX=
-SHORTSUFFIX=dos
-endif
-ifeq ($(OS_TARGET),watcom)
-STATICLIBPREFIX=
-OEXT=.obj
-ASMEXT=.asm
-SHAREDLIBEXT=.dll
-SHORTSUFFIX=wat
-endif
-ifeq ($(OS_TARGET),linux)
-BATCHEXT=.sh
-EXEEXT=
-HASSHAREDLIB=1
-SHORTSUFFIX=lnx
-endif
-ifeq ($(OS_TARGET),freebsd)
-BATCHEXT=.sh
-EXEEXT=
-HASSHAREDLIB=1
-SHORTSUFFIX=fbs
-endif
-ifeq ($(OS_TARGET),netbsd)
-BATCHEXT=.sh
-EXEEXT=
-HASSHAREDLIB=1
-SHORTSUFFIX=nbs
-endif
-ifeq ($(OS_TARGET),openbsd)
-BATCHEXT=.sh
-EXEEXT=
-HASSHAREDLIB=1
-SHORTSUFFIX=obs
-endif
-ifeq ($(OS_TARGET),win32)
-SHAREDLIBEXT=.dll
-SHORTSUFFIX=w32
-endif
-ifeq ($(OS_TARGET),os2)
-BATCHEXT=.cmd
-AOUTEXT=.out
-STATICLIBPREFIX=
-SHAREDLIBEXT=.dll
-SHORTSUFFIX=os2
-ECHO=echo
-endif
-ifeq ($(OS_TARGET),emx)
-BATCHEXT=.cmd
-AOUTEXT=.out
-STATICLIBPREFIX=
-SHAREDLIBEXT=.dll
-SHORTSUFFIX=emx
-ECHO=echo
-endif
-ifeq ($(OS_TARGET),amiga)
-EXEEXT=
-SHAREDLIBEXT=.library
-SHORTSUFFIX=amg
-endif
-ifeq ($(OS_TARGET),morphos)
-EXEEXT=
-SHAREDLIBEXT=.library
-SHORTSUFFIX=mos
-endif
-ifeq ($(OS_TARGET),atari)
-EXEEXT=.ttp
-SHORTSUFFIX=ata
-endif
-ifeq ($(OS_TARGET),beos)
-BATCHEXT=.sh
-EXEEXT=
-SHORTSUFFIX=be
-endif
-ifeq ($(OS_TARGET),solaris)
-BATCHEXT=.sh
-EXEEXT=
-SHORTSUFFIX=sun
-endif
-ifeq ($(OS_TARGET),qnx)
-BATCHEXT=.sh
-EXEEXT=
-SHORTSUFFIX=qnx
-endif
-ifeq ($(OS_TARGET),netware)
-EXEEXT=.nlm
-STATICLIBPREFIX=
-SHORTSUFFIX=nw
-endif
-ifeq ($(OS_TARGET),netwlibc)
-EXEEXT=.nlm
-STATICLIBPREFIX=
-SHORTSUFFIX=nwl
-endif
-ifeq ($(OS_TARGET),macos)
-BATCHEXT=
-EXEEXT=
-DEBUGSYMEXT=.xcoff
-SHORTSUFFIX=mac
-endif
-ifeq ($(OS_TARGET),darwin)
-BATCHEXT=.sh
-EXEEXT=
-HASSHAREDLIB=1
-SHORTSUFFIX=dwn
-endif
-ifeq ($(OS_TARGET),gba)
-EXEEXT=.gba
-SHAREDLIBEXT=.so
-SHORTSUFFIX=gba
-endif
-ifeq ($(OS_TARGET),symbian)
-SHAREDLIBEXT=.dll
-SHORTSUFFIX=symbian
-endif
-else
-ifeq ($(OS_TARGET),go32v1)
-PPUEXT=.pp1
-OEXT=.o1
-ASMEXT=.s1
-SMARTEXT=.sl1
-STATICLIBEXT=.a1
-SHAREDLIBEXT=.so1
-STATICLIBPREFIX=
-SHORTSUFFIX=v1
-endif
-ifeq ($(OS_TARGET),go32v2)
-STATICLIBPREFIX=
-SHORTSUFFIX=dos
-endif
-ifeq ($(OS_TARGET),watcom)
-STATICLIBPREFIX=
-SHORTSUFFIX=wat
-endif
-ifeq ($(OS_TARGET),linux)
-BATCHEXT=.sh
-EXEEXT=
-HASSHAREDLIB=1
-SHORTSUFFIX=lnx
-endif
-ifeq ($(OS_TARGET),freebsd)
-BATCHEXT=.sh
-EXEEXT=
-HASSHAREDLIB=1
-SHORTSUFFIX=fbs
-endif
-ifeq ($(OS_TARGET),netbsd)
-BATCHEXT=.sh
-EXEEXT=
-HASSHAREDLIB=1
-SHORTSUFFIX=nbs
-endif
-ifeq ($(OS_TARGET),openbsd)
-BATCHEXT=.sh
-EXEEXT=
-HASSHAREDLIB=1
-SHORTSUFFIX=obs
-endif
-ifeq ($(OS_TARGET),win32)
-PPUEXT=.ppw
-OEXT=.ow
-ASMEXT=.sw
-SMARTEXT=.slw
-STATICLIBEXT=.aw
-SHAREDLIBEXT=.dll
-SHORTSUFFIX=w32
-endif
-ifeq ($(OS_TARGET),os2)
-BATCHEXT=.cmd
-PPUEXT=.ppo
-ASMEXT=.so2
-OEXT=.oo2
-AOUTEXT=.out
-SMARTEXT=.sl2
-STATICLIBPREFIX=
-STATICLIBEXT=.ao2
-SHAREDLIBEXT=.dll
-SHORTSUFFIX=os2
-ECHO=echo
-endif
-ifeq ($(OS_TARGET),amiga)
-EXEEXT=
-PPUEXT=.ppu
-ASMEXT=.s
-OEXT=.o
-SMARTEXT=.sl
-STATICLIBEXT=.a
-SHAREDLIBEXT=.library
-SHORTSUFFIX=amg
-endif
-ifeq ($(OS_TARGET),atari)
-PPUEXT=.ppu
-ASMEXT=.s
-OEXT=.o
-SMARTEXT=.sl
-STATICLIBEXT=.a
-EXEEXT=.ttp
-SHORTSUFFIX=ata
-endif
-ifeq ($(OS_TARGET),beos)
-BATCHEXT=.sh
-PPUEXT=.ppu
-ASMEXT=.s
-OEXT=.o
-SMARTEXT=.sl
-STATICLIBEXT=.a
-EXEEXT=
-SHORTSUFFIX=be
-endif
-ifeq ($(OS_TARGET),solaris)
-BATCHEXT=.sh
-PPUEXT=.ppu
-ASMEXT=.s
-OEXT=.o
-SMARTEXT=.sl
-STATICLIBEXT=.a
-EXEEXT=
-SHORTSUFFIX=sun
-endif
-ifeq ($(OS_TARGET),qnx)
-BATCHEXT=.sh
-PPUEXT=.ppu
-ASMEXT=.s
-OEXT=.o
-SMARTEXT=.sl
-STATICLIBEXT=.a
-EXEEXT=
-SHORTSUFFIX=qnx
-endif
-ifeq ($(OS_TARGET),netware)
-STATICLIBPREFIX=
-PPUEXT=.ppu
-OEXT=.o
-ASMEXT=.s
-SMARTEXT=.sl
-STATICLIBEXT=.a
-SHAREDLIBEXT=.nlm
-EXEEXT=.nlm
-SHORTSUFFIX=nw
-endif
-ifeq ($(OS_TARGET),netwlibc)
-STATICLIBPREFIX=
-PPUEXT=.ppu
-OEXT=.o
-ASMEXT=.s
-SMARTEXT=.sl
-STATICLIBEXT=.a
-SHAREDLIBEXT=.nlm
-EXEEXT=.nlm
-SHORTSUFFIX=nwl
-endif
-ifeq ($(OS_TARGET),macos)
-BATCHEXT=
-PPUEXT=.ppu
-ASMEXT=.s
-OEXT=.o
-SMARTEXT=.sl
-STATICLIBEXT=.a
-EXEEXT=
-DEBUGSYMEXT=.xcoff
-SHORTSUFFIX=mac
-endif
-endif
-ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
-FPCMADE=fpcmade.$(SHORTSUFFIX)
-ZIPSUFFIX=$(SHORTSUFFIX)
-ZIPCROSSPREFIX=
-ZIPSOURCESUFFIX=src
-ZIPEXAMPLESUFFIX=exm
-else
-FPCMADE=fpcmade.$(TARGETSUFFIX)
-ZIPSOURCESUFFIX=.source
-ZIPEXAMPLESUFFIX=.examples
-ifdef CROSSCOMPILE
-ZIPSUFFIX=.$(SOURCESUFFIX)
-ZIPCROSSPREFIX=$(TARGETSUFFIX)-
-else
-ZIPSUFFIX=.$(TARGETSUFFIX)
-ZIPCROSSPREFIX=
-endif
-endif
-ifndef ECHO
-ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(ECHO),)
-ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(ECHO),)
-ECHO= __missing_command_ECHO
-else
-ECHO:=$(firstword $(ECHO))
-endif
-else
-ECHO:=$(firstword $(ECHO))
-endif
-endif
-export ECHO
-ifndef DATE
-DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(DATE),)
-DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(DATE),)
-DATE= __missing_command_DATE
-else
-DATE:=$(firstword $(DATE))
-endif
-else
-DATE:=$(firstword $(DATE))
-endif
-endif
-export DATE
-ifndef GINSTALL
-GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(GINSTALL),)
-GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(GINSTALL),)
-GINSTALL= __missing_command_GINSTALL
-else
-GINSTALL:=$(firstword $(GINSTALL))
-endif
-else
-GINSTALL:=$(firstword $(GINSTALL))
-endif
-endif
-export GINSTALL
-ifndef CPPROG
-CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(CPPROG),)
-CPPROG= __missing_command_CPPROG
-else
-CPPROG:=$(firstword $(CPPROG))
-endif
-endif
-export CPPROG
-ifndef RMPROG
-RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(RMPROG),)
-RMPROG= __missing_command_RMPROG
-else
-RMPROG:=$(firstword $(RMPROG))
-endif
-endif
-export RMPROG
-ifndef MVPROG
-MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(MVPROG),)
-MVPROG= __missing_command_MVPROG
-else
-MVPROG:=$(firstword $(MVPROG))
-endif
-endif
-export MVPROG
-ifndef MKDIRPROG
-MKDIRPROG:=$(strip $(wildcard $(addsuffix /gmkdir$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(MKDIRPROG),)
-MKDIRPROG:=$(strip $(wildcard $(addsuffix /mkdir$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(MKDIRPROG),)
-MKDIRPROG= __missing_command_MKDIRPROG
-else
-MKDIRPROG:=$(firstword $(MKDIRPROG))
-endif
-else
-MKDIRPROG:=$(firstword $(MKDIRPROG))
-endif
-endif
-export MKDIRPROG
-ifndef ECHOREDIR
-ifndef inUnix
-ECHOREDIR=echo
-else
-ECHOREDIR=$(ECHO)
-endif
-endif
-ifndef COPY
-COPY:=$(CPPROG) -fp
-endif
-ifndef COPYTREE
-COPYTREE:=$(CPPROG) -Rfp
-endif
-ifndef MKDIRTREE
-MKDIRTREE:=$(MKDIRPROG) -p
-endif
-ifndef MOVE
-MOVE:=$(MVPROG) -f
-endif
-ifndef DEL
-DEL:=$(RMPROG) -f
-endif
-ifndef DELTREE
-DELTREE:=$(RMPROG) -rf
-endif
-ifndef INSTALL
-ifdef inUnix
-INSTALL:=$(GINSTALL) -c -m 644
-else
-INSTALL:=$(COPY)
-endif
-endif
-ifndef INSTALLEXE
-ifdef inUnix
-INSTALLEXE:=$(GINSTALL) -c -m 755
-else
-INSTALLEXE:=$(COPY)
-endif
-endif
-ifndef MKDIR
-MKDIR:=$(GINSTALL) -m 755 -d
-endif
-export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
-ifndef PPUMOVE
-PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(PPUMOVE),)
-PPUMOVE= __missing_command_PPUMOVE
-else
-PPUMOVE:=$(firstword $(PPUMOVE))
-endif
-endif
-export PPUMOVE
-ifndef FPCMAKE
-FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(FPCMAKE),)
-FPCMAKE= __missing_command_FPCMAKE
-else
-FPCMAKE:=$(firstword $(FPCMAKE))
-endif
-endif
-export FPCMAKE
-ifndef ZIPPROG
-ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(ZIPPROG),)
-ZIPPROG= __missing_command_ZIPPROG
-else
-ZIPPROG:=$(firstword $(ZIPPROG))
-endif
-endif
-export ZIPPROG
-ifndef TARPROG
-TARPROG:=$(strip $(wildcard $(addsuffix /gtar$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(TARPROG),)
-TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(TARPROG),)
-TARPROG= __missing_command_TARPROG
-else
-TARPROG:=$(firstword $(TARPROG))
-endif
-else
-TARPROG:=$(firstword $(TARPROG))
-endif
-endif
-export TARPROG
-ASNAME=$(BINUTILSPREFIX)as
-LDNAME=$(BINUTILSPREFIX)ld
-ARNAME=$(BINUTILSPREFIX)ar
-RCNAME=$(BINUTILSPREFIX)rc
-ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
-ifeq ($(OS_TARGET),win32)
-ifeq ($(CROSSBINDIR),)
-ASNAME=asw
-LDNAME=ldw
-ARNAME=arw
-endif
-endif
-endif
-ifndef ASPROG
-ifdef CROSSBINDIR
-ASPROG=$(CROSSBINDIR)/$(ASNAME)$(SRCEXEEXT)
-else
-ASPROG=$(ASNAME)
-endif
-endif
-ifndef LDPROG
-ifdef CROSSBINDIR
-LDPROG=$(CROSSBINDIR)/$(LDNAME)$(SRCEXEEXT)
-else
-LDPROG=$(LDNAME)
-endif
-endif
-ifndef RCPROG
-ifdef CROSSBINDIR
-RCPROG=$(CROSSBINDIR)/$(RCNAME)$(SRCEXEEXT)
-else
-RCPROG=$(RCNAME)
-endif
-endif
-ifndef ARPROG
-ifdef CROSSBINDIR
-ARPROG=$(CROSSBINDIR)/$(ARNAME)$(SRCEXEEXT)
-else
-ARPROG=$(ARNAME)
-endif
-endif
-AS=$(ASPROG)
-LD=$(LDPROG)
-RC=$(RCPROG)
-AR=$(ARPROG)
-PPAS=ppas$(SRCBATCHEXT)
-ifdef inUnix
-LDCONFIG=ldconfig
-else
-LDCONFIG=
-endif
-ifdef DATE
-DATESTR:=$(shell $(DATE) +%Y%m%d)
-else
-DATESTR=
-endif
-ifndef UPXPROG
-ifeq ($(OS_TARGET),go32v2)
-UPXPROG:=1
-endif
-ifeq ($(OS_TARGET),win32)
-UPXPROG:=1
-endif
-ifdef UPXPROG
-UPXPROG:=$(strip $(wildcard $(addsuffix /upx$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(UPXPROG),)
-UPXPROG=
-else
-UPXPROG:=$(firstword $(UPXPROG))
-endif
-else
-UPXPROG=
-endif
-endif
-export UPXPROG
-ZIPOPT=-9
-ZIPEXT=.zip
-ifeq ($(USETAR),bz2)
-TAROPT=vj
-TAREXT=.tar.bz2
-else
-TAROPT=vz
-TAREXT=.tar.gz
-endif
-override REQUIRE_PACKAGES=rtl
-ifeq ($(FULL_TARGET),i386-linux)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_X11=1
-endif
-ifeq ($(FULL_TARGET),i386-go32v2)
-REQUIRE_PACKAGES_RTL=1
-endif
-ifeq ($(FULL_TARGET),i386-win32)
-REQUIRE_PACKAGES_RTL=1
-endif
-ifeq ($(FULL_TARGET),i386-os2)
-REQUIRE_PACKAGES_RTL=1
-endif
-ifeq ($(FULL_TARGET),i386-freebsd)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_X11=1
-endif
-ifeq ($(FULL_TARGET),i386-beos)
-REQUIRE_PACKAGES_RTL=1
-endif
-ifeq ($(FULL_TARGET),i386-netbsd)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_X11=1
-endif
-ifeq ($(FULL_TARGET),i386-solaris)
-REQUIRE_PACKAGES_RTL=1
-endif
-ifeq ($(FULL_TARGET),i386-qnx)
-REQUIRE_PACKAGES_RTL=1
-endif
-ifeq ($(FULL_TARGET),i386-netware)
-REQUIRE_PACKAGES_RTL=1
-endif
-ifeq ($(FULL_TARGET),i386-openbsd)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_X11=1
-endif
-ifeq ($(FULL_TARGET),i386-wdosx)
-REQUIRE_PACKAGES_RTL=1
-endif
-ifeq ($(FULL_TARGET),i386-darwin)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_X11=1
-endif
-ifeq ($(FULL_TARGET),i386-emx)
-REQUIRE_PACKAGES_RTL=1
-endif
-ifeq ($(FULL_TARGET),i386-watcom)
-REQUIRE_PACKAGES_RTL=1
-endif
-ifeq ($(FULL_TARGET),i386-netwlibc)
-REQUIRE_PACKAGES_RTL=1
-endif
-ifeq ($(FULL_TARGET),i386-wince)
-REQUIRE_PACKAGES_RTL=1
-endif
-ifeq ($(FULL_TARGET),i386-embedded)
-REQUIRE_PACKAGES_RTL=1
-endif
-ifeq ($(FULL_TARGET),i386-symbian)
-REQUIRE_PACKAGES_RTL=1
-endif
-ifeq ($(FULL_TARGET),m68k-linux)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_X11=1
-endif
-ifeq ($(FULL_TARGET),m68k-freebsd)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_X11=1
-endif
-ifeq ($(FULL_TARGET),m68k-netbsd)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_X11=1
-endif
-ifeq ($(FULL_TARGET),m68k-amiga)
-REQUIRE_PACKAGES_RTL=1
-endif
-ifeq ($(FULL_TARGET),m68k-atari)
-REQUIRE_PACKAGES_RTL=1
-endif
-ifeq ($(FULL_TARGET),m68k-openbsd)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_X11=1
-endif
-ifeq ($(FULL_TARGET),m68k-palmos)
-REQUIRE_PACKAGES_RTL=1
-endif
-ifeq ($(FULL_TARGET),m68k-embedded)
-REQUIRE_PACKAGES_RTL=1
-endif
-ifeq ($(FULL_TARGET),powerpc-linux)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_X11=1
-endif
-ifeq ($(FULL_TARGET),powerpc-netbsd)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_X11=1
-endif
-ifeq ($(FULL_TARGET),powerpc-amiga)
-REQUIRE_PACKAGES_RTL=1
-endif
-ifeq ($(FULL_TARGET),powerpc-macos)
-REQUIRE_PACKAGES_RTL=1
-endif
-ifeq ($(FULL_TARGET),powerpc-darwin)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_X11=1
-endif
-ifeq ($(FULL_TARGET),powerpc-morphos)
-REQUIRE_PACKAGES_RTL=1
-endif
-ifeq ($(FULL_TARGET),powerpc-embedded)
-REQUIRE_PACKAGES_RTL=1
-endif
-ifeq ($(FULL_TARGET),sparc-linux)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_X11=1
-endif
-ifeq ($(FULL_TARGET),sparc-netbsd)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_X11=1
-endif
-ifeq ($(FULL_TARGET),sparc-solaris)
-REQUIRE_PACKAGES_RTL=1
-endif
-ifeq ($(FULL_TARGET),sparc-embedded)
-REQUIRE_PACKAGES_RTL=1
-endif
-ifeq ($(FULL_TARGET),x86_64-linux)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_X11=1
-endif
-ifeq ($(FULL_TARGET),x86_64-freebsd)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_X11=1
-endif
-ifeq ($(FULL_TARGET),x86_64-darwin)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_X11=1
-endif
-ifeq ($(FULL_TARGET),x86_64-win64)
-REQUIRE_PACKAGES_RTL=1
-endif
-ifeq ($(FULL_TARGET),x86_64-embedded)
-REQUIRE_PACKAGES_RTL=1
-endif
-ifeq ($(FULL_TARGET),arm-linux)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_X11=1
-endif
-ifeq ($(FULL_TARGET),arm-palmos)
-REQUIRE_PACKAGES_RTL=1
-endif
-ifeq ($(FULL_TARGET),arm-wince)
-REQUIRE_PACKAGES_RTL=1
-endif
-ifeq ($(FULL_TARGET),arm-gba)
-REQUIRE_PACKAGES_RTL=1
-endif
-ifeq ($(FULL_TARGET),arm-nds)
-REQUIRE_PACKAGES_RTL=1
-endif
-ifeq ($(FULL_TARGET),arm-embedded)
-REQUIRE_PACKAGES_RTL=1
-endif
-ifeq ($(FULL_TARGET),arm-symbian)
-REQUIRE_PACKAGES_RTL=1
-endif
-ifeq ($(FULL_TARGET),powerpc64-linux)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_X11=1
-endif
-ifeq ($(FULL_TARGET),powerpc64-darwin)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_X11=1
-endif
-ifeq ($(FULL_TARGET),powerpc64-embedded)
-REQUIRE_PACKAGES_RTL=1
-endif
-ifdef REQUIRE_PACKAGES_RTL
-PACKAGEDIR_RTL:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /rtl/Makefile.fpc,$(PACKAGESDIR))))))
-ifneq ($(PACKAGEDIR_RTL),)
-ifneq ($(wildcard $(PACKAGEDIR_RTL)/units/$(TARGETSUFFIX)),)
-UNITDIR_RTL=$(PACKAGEDIR_RTL)/units/$(TARGETSUFFIX)
-else
-UNITDIR_RTL=$(PACKAGEDIR_RTL)
-endif
-ifdef CHECKDEPEND
-$(PACKAGEDIR_RTL)/$(FPCMADE):
- $(MAKE) -C $(PACKAGEDIR_RTL) $(FPCMADE)
-override ALLDEPENDENCIES+=$(PACKAGEDIR_RTL)/$(FPCMADE)
-endif
-else
-PACKAGEDIR_RTL=
-UNITDIR_RTL:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /rtl/Package.fpc,$(UNITSDIR)))))
-ifneq ($(UNITDIR_RTL),)
-UNITDIR_RTL:=$(firstword $(UNITDIR_RTL))
-else
-UNITDIR_RTL=
-endif
-endif
-ifdef UNITDIR_RTL
-override COMPILER_UNITDIR+=$(UNITDIR_RTL)
-endif
-endif
-ifdef REQUIRE_PACKAGES_X11
-PACKAGEDIR_X11:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /x11/Makefile.fpc,$(PACKAGESDIR))))))
-ifneq ($(PACKAGEDIR_X11),)
-ifneq ($(wildcard $(PACKAGEDIR_X11)/units/$(TARGETSUFFIX)),)
-UNITDIR_X11=$(PACKAGEDIR_X11)/units/$(TARGETSUFFIX)
-else
-UNITDIR_X11=$(PACKAGEDIR_X11)
-endif
-ifdef CHECKDEPEND
-$(PACKAGEDIR_X11)/$(FPCMADE):
- $(MAKE) -C $(PACKAGEDIR_X11) $(FPCMADE)
-override ALLDEPENDENCIES+=$(PACKAGEDIR_X11)/$(FPCMADE)
-endif
-else
-PACKAGEDIR_X11=
-UNITDIR_X11:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /x11/Package.fpc,$(UNITSDIR)))))
-ifneq ($(UNITDIR_X11),)
-UNITDIR_X11:=$(firstword $(UNITDIR_X11))
-else
-UNITDIR_X11=
-endif
-endif
-ifdef UNITDIR_X11
-override COMPILER_UNITDIR+=$(UNITDIR_X11)
-endif
-endif
-ifndef NOCPUDEF
-override FPCOPTDEF=$(CPU_TARGET)
-endif
-ifneq ($(OS_TARGET),$(OS_SOURCE))
-override FPCOPT+=-T$(OS_TARGET)
-endif
-ifneq ($(CPU_TARGET),$(CPU_SOURCE))
-override FPCOPT+=-P$(CPU_TARGET)
-endif
-ifeq ($(OS_SOURCE),openbsd)
-override FPCOPT+=-FD$(NEW_BINUTILS_PATH)
-endif
-ifndef CROSSBOOTSTRAP
-ifneq ($(BINUTILSPREFIX),)
-override FPCOPT+=-XP$(BINUTILSPREFIX)
-endif
-ifneq ($(BINUTILSPREFIX),)
-override FPCOPT+=-Xr$(RLINKPATH)
-endif
-endif
-ifdef UNITDIR
-override FPCOPT+=$(addprefix -Fu,$(UNITDIR))
-endif
-ifdef LIBDIR
-override FPCOPT+=$(addprefix -Fl,$(LIBDIR))
-endif
-ifdef OBJDIR
-override FPCOPT+=$(addprefix -Fo,$(OBJDIR))
-endif
-ifdef INCDIR
-override FPCOPT+=$(addprefix -Fi,$(INCDIR))
-endif
-ifdef LINKSMART
-override FPCOPT+=-XX
-endif
-ifdef CREATESMART
-override FPCOPT+=-CX
-endif
-ifdef DEBUG
-override FPCOPT+=-gl
-override FPCOPTDEF+=DEBUG
-endif
-ifdef RELEASE
-ifneq ($(findstring 2.0.,$(FPC_VERSION)),)
-ifeq ($(CPU_TARGET),i386)
-FPCCPUOPT:=-OG2p3
-endif
-ifeq ($(CPU_TARGET),powerpc)
-FPCCPUOPT:=-O1r
-endif
-else
-FPCCPUOPT:=-O2
-endif
-override FPCOPT+=-Ur -Xs $(FPCCPUOPT) -n
-override FPCOPTDEF+=RELEASE
-endif
-ifdef STRIP
-override FPCOPT+=-Xs
-endif
-ifdef OPTIMIZE
-override FPCOPT+=-O2
-endif
-ifdef VERBOSE
-override FPCOPT+=-vwni
-endif
-ifdef COMPILER_OPTIONS
-override FPCOPT+=$(COMPILER_OPTIONS)
-endif
-ifdef COMPILER_UNITDIR
-override FPCOPT+=$(addprefix -Fu,$(COMPILER_UNITDIR))
-endif
-ifdef COMPILER_LIBRARYDIR
-override FPCOPT+=$(addprefix -Fl,$(COMPILER_LIBRARYDIR))
-endif
-ifdef COMPILER_OBJECTDIR
-override FPCOPT+=$(addprefix -Fo,$(COMPILER_OBJECTDIR))
-endif
-ifdef COMPILER_INCLUDEDIR
-override FPCOPT+=$(addprefix -Fi,$(COMPILER_INCLUDEDIR))
-endif
-ifdef CROSSBINDIR
-override FPCOPT+=-FD$(CROSSBINDIR)
-endif
-ifdef COMPILER_TARGETDIR
-override FPCOPT+=-FE$(COMPILER_TARGETDIR)
-ifeq ($(COMPILER_TARGETDIR),.)
-override TARGETDIRPREFIX=
-else
-override TARGETDIRPREFIX=$(COMPILER_TARGETDIR)/
-endif
-endif
-ifdef COMPILER_UNITTARGETDIR
-override FPCOPT+=-FU$(COMPILER_UNITTARGETDIR)
-ifeq ($(COMPILER_UNITTARGETDIR),.)
-override UNITTARGETDIRPREFIX=
-else
-override UNITTARGETDIRPREFIX=$(COMPILER_UNITTARGETDIR)/
-endif
-else
-ifdef COMPILER_TARGETDIR
-override COMPILER_UNITTARGETDIR=$(COMPILER_TARGETDIR)
-override UNITTARGETDIRPREFIX=$(TARGETDIRPREFIX)
-endif
-endif
-ifdef CREATESHARED
-override FPCOPT+=-Cg
-ifeq ($(CPU_TARGET),i386)
-override FPCOPT+=-Aas
-endif
-endif
-ifeq ($(findstring 2.0.,$(FPC_VERSION)),)
-ifeq ($(OS_TARGET),linux)
-ifeq ($(CPU_TARGET),x86_64)
-override FPCOPT+=-Cg
-endif
-endif
-endif
-ifdef LINKSHARED
-endif
-ifdef GCCLIBDIR
-override FPCOPT+=-Fl$(GCCLIBDIR)
-endif
-ifdef OTHERLIBDIR
-override FPCOPT+=$(addprefix -Fl,$(OTHERLIBDIR))
-endif
-ifdef OPT
-override FPCOPT+=$(OPT)
-endif
-ifdef FPCOPTDEF
-override FPCOPT+=$(addprefix -d,$(FPCOPTDEF))
-endif
-ifdef CFGFILE
-override FPCOPT+=@$(CFGFILE)
-endif
-ifdef USEENV
-override FPCEXTCMD:=$(FPCOPT)
-override FPCOPT:=!FPCEXTCMD
-export FPCEXTCMD
-endif
-override AFULL_TARGET=$(CPU_TARGET)-$(OS_TARGET)
-override AFULL_SOURCE=$(CPU_SOURCE)-$(OS_SOURCE)
-ifneq ($(AFULL_TARGET),$(AFULL_SOURCE))
-override ACROSSCOMPILE=1
-endif
-ifdef ACROSSCOMPILE
-override FPCOPT+=$(CROSSOPT)
-endif
-override COMPILER:=$(FPC) $(FPCOPT)
-ifeq (,$(findstring -s ,$(COMPILER)))
-EXECPPAS=
-else
-ifeq ($(FULL_SOURCE),$(FULL_TARGET))
-ifdef RUNBATCH
-EXECPPAS:=@$(RUNBATCH) $(PPAS)
-else
-EXECPPAS:=@$(PPAS)
-endif
-endif
-endif
-.PHONY: fpc_units
-ifneq ($(TARGET_UNITS),)
-override ALLTARGET+=fpc_units
-override UNITPPUFILES=$(addsuffix $(PPUEXT),$(TARGET_UNITS))
-override IMPLICITUNITPPUFILES=$(addsuffix $(PPUEXT),$(TARGET_IMPLICITUNITS))
-override INSTALLPPUFILES+=$(UNITPPUFILES) $(IMPLICITUNITPPUFILES)
-override CLEANPPUFILES+=$(UNITPPUFILES) $(IMPLICITUNITPPUFILES)
-endif
-fpc_units: $(COMPILER_UNITTARGETDIR) $(UNITPPUFILES)
-ifdef TARGET_RSTS
-override RSTFILES=$(addsuffix $(RSTEXT),$(TARGET_RSTS))
-override CLEANRSTFILES+=$(RSTFILES)
-endif
-.PHONY: fpc_examples
-ifneq ($(TARGET_EXAMPLES),)
-HASEXAMPLES=1
-override EXAMPLESOURCEFILES:=$(wildcard $(addsuffix .pp,$(TARGET_EXAMPLES)) $(addsuffix .pas,$(TARGET_EXAMPLES)) $(addsuffix .lpr,$(TARGET_EXAMPLES)) $(addsuffix .dpr,$(TARGET_EXAMPLES)))
-override EXAMPLEFILES:=$(addsuffix $(EXEEXT),$(TARGET_EXAMPLES))
-override EXAMPLEOFILES:=$(addsuffix $(OEXT),$(TARGET_EXAMPLES)) $(addprefix $(STATICLIBPREFIX),$(addsuffix $(STATICLIBEXT),$(TARGET_EXAMPLES))) $(addprefix $(IMPORTLIBPREFIX),$(addsuffix $(STATICLIBEXT),$(TARGET_EXAMPLES)))
-override CLEANEXEFILES+=$(EXAMPLEFILES) $(EXAMPLEOFILES)
-ifeq ($(OS_TARGET),os2)
-override CLEANEXEFILES+=$(addsuffix $(AOUTEXT),$(TARGET_EXAMPLES))
-endif
-ifeq ($(OS_TARGET),emx)
-override CLEANEXEFILES+=$(addsuffix $(AOUTEXT),$(TARGET_EXAMPLES))
-endif
-endif
-ifneq ($(TARGET_EXAMPLEDIRS),)
-HASEXAMPLES=1
-endif
-fpc_examples: all $(EXAMPLEFILES) $(addsuffix _all,$(TARGET_EXAMPLEDIRS))
-.PHONY: fpc_all fpc_smart fpc_debug fpc_release fpc_shared
-$(FPCMADE): $(ALLDEPENDENCIES) $(ALLTARGET)
- @$(ECHOREDIR) Compiled > $(FPCMADE)
-fpc_all: $(FPCMADE)
-fpc_smart:
- $(MAKE) all LINKSMART=1 CREATESMART=1
-fpc_debug:
- $(MAKE) all DEBUG=1
-fpc_release:
- $(MAKE) all RELEASE=1
-.SUFFIXES: $(EXEEXT) $(PPUEXT) $(OEXT) .pas .lpr .dpr .pp .rc .res
-$(COMPILER_UNITTARGETDIR):
- $(MKDIRTREE) $(COMPILER_UNITTARGETDIR)
-$(COMPILER_TARGETDIR):
- $(MKDIRTREE) $(COMPILER_TARGETDIR)
-%$(PPUEXT): %.pp
- $(COMPILER) $<
- $(EXECPPAS)
-%$(PPUEXT): %.pas
- $(COMPILER) $<
- $(EXECPPAS)
-%$(EXEEXT): %.pp
- $(COMPILER) $<
- $(EXECPPAS)
-%$(EXEEXT): %.pas
- $(COMPILER) $<
- $(EXECPPAS)
-%$(EXEEXT): %.lpr
- $(COMPILER) $<
- $(EXECPPAS)
-%$(EXEEXT): %.dpr
- $(COMPILER) $<
- $(EXECPPAS)
-%.res: %.rc
- windres -i $< -o $@
-vpath %.pp $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
-vpath %.pas $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
-vpath %.lpr $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
-vpath %.dpr $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
-vpath %.inc $(COMPILER_INCLUDEDIR)
-vpath %$(OEXT) $(COMPILER_UNITTARGETDIR)
-vpath %$(PPUEXT) $(COMPILER_UNITTARGETDIR)
-.PHONY: fpc_shared
-override INSTALLTARGET+=fpc_shared_install
-ifndef SHARED_LIBVERSION
-SHARED_LIBVERSION=$(FPC_VERSION)
-endif
-ifndef SHARED_LIBNAME
-SHARED_LIBNAME=$(PACKAGE_NAME)
-endif
-ifndef SHARED_FULLNAME
-SHARED_FULLNAME=$(SHAREDLIBPREFIX)$(SHARED_LIBNAME)-$(SHARED_LIBVERSION)$(SHAREDLIBEXT)
-endif
-ifndef SHARED_LIBUNITS
-SHARED_LIBUNITS:=$(TARGET_UNITS) $(TARGET_IMPLICITUNITS)
-override SHARED_LIBUNITS:=$(filter-out $(INSTALL_BUILDUNIT),$(SHARED_LIBUNITS))
-endif
-fpc_shared:
-ifdef HASSHAREDLIB
- $(MAKE) all CREATESHARED=1 LINKSHARED=1 CREATESMART=1
-ifneq ($(SHARED_BUILD),n)
- $(PPUMOVE) -q $(SHARED_LIBUNITS) -i$(COMPILER_UNITTARGETDIR) -o$(SHARED_FULLNAME) -d$(COMPILER_UNITTARGETDIR)
-endif
-else
- @$(ECHO) Shared Libraries not supported
-endif
-fpc_shared_install:
-ifneq ($(SHARED_BUILD),n)
-ifneq ($(SHARED_LIBUNITS),)
-ifneq ($(wildcard $(COMPILER_UNITTARGETDIR)/$(SHARED_FULLNAME)),)
- $(INSTALL) $(COMPILER_UNITTARGETDIR)/$(SHARED_FULLNAME) $(INSTALL_SHAREDDIR)
-endif
-endif
-endif
-.PHONY: fpc_install fpc_sourceinstall fpc_exampleinstall
-ifdef INSTALL_UNITS
-override INSTALLPPUFILES+=$(addsuffix $(PPUEXT),$(INSTALL_UNITS))
-endif
-ifdef INSTALL_BUILDUNIT
-override INSTALLPPUFILES:=$(filter-out $(INSTALL_BUILDUNIT)$(PPUEXT),$(INSTALLPPUFILES))
-endif
-ifdef INSTALLPPUFILES
-override INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES))) $(addprefix $(IMPORTLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES)))
-ifneq ($(UNITTARGETDIRPREFIX),)
-override INSTALLPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(notdir $(INSTALLPPUFILES)))
-override INSTALLPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(notdir $(INSTALLPPULINKFILES))))
-endif
-override INSTALL_CREATEPACKAGEFPC=1
-endif
-ifdef INSTALLEXEFILES
-ifneq ($(TARGETDIRPREFIX),)
-override INSTALLEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(notdir $(INSTALLEXEFILES)))
-endif
-endif
-fpc_install: all $(INSTALLTARGET)
-ifdef INSTALLEXEFILES
- $(MKDIR) $(INSTALL_BINDIR)
-ifdef UPXPROG
- -$(UPXPROG) $(INSTALLEXEFILES)
-endif
- $(INSTALLEXE) $(INSTALLEXEFILES) $(INSTALL_BINDIR)
-endif
-ifdef INSTALL_CREATEPACKAGEFPC
-ifdef FPCMAKE
-ifdef PACKAGE_VERSION
-ifneq ($(wildcard Makefile.fpc),)
- $(FPCMAKE) -p -T$(CPU_TARGET)-$(OS_TARGET) Makefile.fpc
- $(MKDIR) $(INSTALL_UNITDIR)
- $(INSTALL) Package.fpc $(INSTALL_UNITDIR)
-endif
-endif
-endif
-endif
-ifdef INSTALLPPUFILES
- $(MKDIR) $(INSTALL_UNITDIR)
- $(INSTALL) $(INSTALLPPUFILES) $(INSTALL_UNITDIR)
-ifneq ($(INSTALLPPULINKFILES),)
- $(INSTALL) $(INSTALLPPULINKFILES) $(INSTALL_UNITDIR)
-endif
-ifneq ($(wildcard $(LIB_FULLNAME)),)
- $(MKDIR) $(INSTALL_LIBDIR)
- $(INSTALL) $(LIB_FULLNAME) $(INSTALL_LIBDIR)
-ifdef inUnix
- ln -sf $(LIB_FULLNAME) $(INSTALL_LIBDIR)/$(LIB_NAME)
-endif
-endif
-endif
-ifdef INSTALL_FILES
- $(MKDIR) $(INSTALL_DATADIR)
- $(INSTALL) $(INSTALL_FILES) $(INSTALL_DATADIR)
-endif
-fpc_sourceinstall: distclean
- $(MKDIR) $(INSTALL_SOURCEDIR)
- $(COPYTREE) $(BASEDIR)/* $(INSTALL_SOURCEDIR)
-fpc_exampleinstall: $(addsuffix _distclean,$(TARGET_EXAMPLEDIRS))
-ifdef HASEXAMPLES
- $(MKDIR) $(INSTALL_EXAMPLEDIR)
-endif
-ifdef EXAMPLESOURCEFILES
- $(COPY) $(EXAMPLESOURCEFILES) $(INSTALL_EXAMPLEDIR)
-endif
-ifdef TARGET_EXAMPLEDIRS
- $(COPYTREE) $(addsuffix /*,$(TARGET_EXAMPLEDIRS)) $(INSTALL_EXAMPLEDIR)
-endif
-.PHONY: fpc_distinstall
-fpc_distinstall: install exampleinstall
-.PHONY: fpc_zipinstall fpc_zipsourceinstall fpc_zipexampleinstall
-ifndef PACKDIR
-ifndef inUnix
-PACKDIR=$(BASEDIR)/../fpc-pack
-else
-PACKDIR=/tmp/fpc-pack
-endif
-endif
-ifndef ZIPNAME
-ifdef DIST_ZIPNAME
-ZIPNAME=$(DIST_ZIPNAME)
-else
-ZIPNAME=$(PACKAGE_NAME)
-endif
-endif
-ifndef FULLZIPNAME
-FULLZIPNAME=$(ZIPCROSSPREFIX)$(ZIPPREFIX)$(ZIPNAME)$(ZIPSUFFIX)
-endif
-ifndef ZIPTARGET
-ifdef DIST_ZIPTARGET
-ZIPTARGET=DIST_ZIPTARGET
-else
-ZIPTARGET=install
-endif
-endif
-ifndef USEZIP
-ifdef inUnix
-USETAR=1
-endif
-endif
-ifndef inUnix
-USEZIPWRAPPER=1
-endif
-ifdef USEZIPWRAPPER
-ZIPPATHSEP=$(PATHSEP)
-ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(SRCBATCHEXT))
-else
-ZIPPATHSEP=/
-endif
-ZIPCMD_CDPACK:=cd $(subst /,$(ZIPPATHSEP),$(PACKDIR))
-ZIPCMD_CDBASE:=cd $(subst /,$(ZIPPATHSEP),$(BASEDIR))
-ifdef USETAR
-ZIPDESTFILE:=$(DIST_DESTDIR)/$(FULLZIPNAME)$(TAREXT)
-ZIPCMD_ZIP:=$(TARPROG) cf$(TAROPT) $(ZIPDESTFILE) *
-else
-ZIPDESTFILE:=$(DIST_DESTDIR)/$(FULLZIPNAME)$(ZIPEXT)
-ZIPCMD_ZIP:=$(subst /,$(ZIPPATHSEP),$(ZIPPROG)) -Dr $(ZIPOPT) $(ZIPDESTFILE) *
-endif
-fpc_zipinstall:
- $(MAKE) $(ZIPTARGET) INSTALL_PREFIX=$(PACKDIR) ZIPINSTALL=1
- $(MKDIR) $(DIST_DESTDIR)
- $(DEL) $(ZIPDESTFILE)
-ifdef USEZIPWRAPPER
-ifneq ($(ECHOREDIR),echo)
- $(ECHOREDIR) -e "$(subst \,\\,$(ZIPCMD_CDPACK))" > $(ZIPWRAPPER)
- $(ECHOREDIR) -e "$(subst \,\\,$(ZIPCMD_ZIP))" >> $(ZIPWRAPPER)
- $(ECHOREDIR) -e "$(subst \,\\,$(ZIPCMD_CDBASE))" >> $(ZIPWRAPPER)
-else
- echo $(ZIPCMD_CDPACK) > $(ZIPWRAPPER)
- echo $(ZIPCMD_ZIP) >> $(ZIPWRAPPER)
- echo $(ZIPCMD_CDBASE) >> $(ZIPWRAPPER)
-endif
-ifdef inUnix
- /bin/sh $(ZIPWRAPPER)
-else
-ifdef RUNBATCH
- $(RUNBATCH) (ZIPWRAPPER)
-else
- $(ZIPWRAPPER)
-endif
-endif
- $(DEL) $(ZIPWRAPPER)
-else
- $(ZIPCMD_CDPACK) ; $(ZIPCMD_ZIP) ; $(ZIPCMD_CDBASE)
-endif
- $(DELTREE) $(PACKDIR)
-fpc_zipsourceinstall:
- $(MAKE) fpc_zipinstall ZIPTARGET=sourceinstall ZIPSUFFIX=$(ZIPSOURCESUFFIX)
-fpc_zipexampleinstall:
-ifdef HASEXAMPLES
- $(MAKE) fpc_zipinstall ZIPTARGET=exampleinstall ZIPSUFFIX=$(ZIPEXAMPLESUFFIX)
-endif
-fpc_zipdistinstall:
- $(MAKE) fpc_zipinstall ZIPTARGET=distinstall
-.PHONY: fpc_clean fpc_cleanall fpc_distclean
-ifdef EXEFILES
-override CLEANEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(CLEANEXEFILES))
-endif
-ifdef CLEAN_UNITS
-override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
-endif
-ifdef CLEANPPUFILES
-override CLEANPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES))) $(addprefix $(IMPORTLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES)))
-ifdef DEBUGSYMEXT
-override CLEANPPULINKFILES+=$(subst $(PPUEXT),$(DEBUGSYMEXT),$(CLEANPPUFILES))
-endif
-override CLEANPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPUFILES))
-override CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
-endif
-fpc_clean: $(CLEANTARGET)
-ifdef CLEANEXEFILES
- -$(DEL) $(CLEANEXEFILES)
-endif
-ifdef CLEANPPUFILES
- -$(DEL) $(CLEANPPUFILES)
-endif
-ifneq ($(CLEANPPULINKFILES),)
- -$(DEL) $(CLEANPPULINKFILES)
-endif
-ifdef CLEANRSTFILES
- -$(DEL) $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANRSTFILES))
-endif
-ifdef CLEAN_FILES
- -$(DEL) $(CLEAN_FILES)
-endif
-ifdef LIB_NAME
- -$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
-endif
- -$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
- -$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
-fpc_cleanall: $(CLEANTARGET)
-ifdef CLEANEXEFILES
- -$(DEL) $(CLEANEXEFILES)
-endif
-ifdef COMPILER_UNITTARGETDIR
-ifdef CLEANPPUFILES
- -$(DEL) $(CLEANPPUFILES)
-endif
-ifneq ($(CLEANPPULINKFILES),)
- -$(DEL) $(CLEANPPULINKFILES)
-endif
-ifdef CLEANRSTFILES
- -$(DEL) $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANRSTFILES))
-endif
-endif
- -$(DELTREE) units
- -$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
-ifneq ($(PPUEXT),.ppu)
- -$(DEL) *.o *.ppu *.a
-endif
- -$(DELTREE) *$(SMARTEXT)
- -$(DEL) fpcmade.* Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
- -$(DEL) *_ppas$(BATCHEXT)
-ifdef AOUTEXT
- -$(DEL) *$(AOUTEXT)
-endif
-ifdef DEBUGSYMEXT
- -$(DEL) *$(DEBUGSYMEXT)
-endif
-fpc_distclean: cleanall
-.PHONY: fpc_baseinfo
-override INFORULES+=fpc_baseinfo
-fpc_baseinfo:
- @$(ECHO)
- @$(ECHO) == Package info ==
- @$(ECHO) Package Name..... $(PACKAGE_NAME)
- @$(ECHO) Package Version.. $(PACKAGE_VERSION)
- @$(ECHO)
- @$(ECHO) == Configuration info ==
- @$(ECHO)
- @$(ECHO) FPC.......... $(FPC)
- @$(ECHO) FPC Version.. $(FPC_VERSION)
- @$(ECHO) Source CPU... $(CPU_SOURCE)
- @$(ECHO) Target CPU... $(CPU_TARGET)
- @$(ECHO) Source OS.... $(OS_SOURCE)
- @$(ECHO) Target OS.... $(OS_TARGET)
- @$(ECHO) Full Source.. $(FULL_SOURCE)
- @$(ECHO) Full Target.. $(FULL_TARGET)
- @$(ECHO) SourceSuffix. $(SOURCESUFFIX)
- @$(ECHO) TargetSuffix. $(TARGETSUFFIX)
- @$(ECHO)
- @$(ECHO) == Directory info ==
- @$(ECHO)
- @$(ECHO) Required pkgs... $(REQUIRE_PACKAGES)
- @$(ECHO)
- @$(ECHO) Basedir......... $(BASEDIR)
- @$(ECHO) FPCDir.......... $(FPCDIR)
- @$(ECHO) CrossBinDir..... $(CROSSBINDIR)
- @$(ECHO) UnitsDir........ $(UNITSDIR)
- @$(ECHO) PackagesDir..... $(PACKAGESDIR)
- @$(ECHO)
- @$(ECHO) GCC library..... $(GCCLIBDIR)
- @$(ECHO) Other library... $(OTHERLIBDIR)
- @$(ECHO)
- @$(ECHO) == Tools info ==
- @$(ECHO)
- @$(ECHO) As........ $(AS)
- @$(ECHO) Ld........ $(LD)
- @$(ECHO) Ar........ $(AR)
- @$(ECHO) Rc........ $(RC)
- @$(ECHO)
- @$(ECHO) Mv........ $(MVPROG)
- @$(ECHO) Cp........ $(CPPROG)
- @$(ECHO) Rm........ $(RMPROG)
- @$(ECHO) GInstall.. $(GINSTALL)
- @$(ECHO) Echo...... $(ECHO)
- @$(ECHO) Shell..... $(SHELL)
- @$(ECHO) Date...... $(DATE)
- @$(ECHO) FPCMake... $(FPCMAKE)
- @$(ECHO) PPUMove... $(PPUMOVE)
- @$(ECHO) Upx....... $(UPXPROG)
- @$(ECHO) Zip....... $(ZIPPROG)
- @$(ECHO)
- @$(ECHO) == Object info ==
- @$(ECHO)
- @$(ECHO) Target Loaders........ $(TARGET_LOADERS)
- @$(ECHO) Target Units.......... $(TARGET_UNITS)
- @$(ECHO) Target Implicit Units. $(TARGET_IMPLICITUNITS)
- @$(ECHO) Target Programs....... $(TARGET_PROGRAMS)
- @$(ECHO) Target Dirs........... $(TARGET_DIRS)
- @$(ECHO) Target Examples....... $(TARGET_EXAMPLES)
- @$(ECHO) Target ExampleDirs.... $(TARGET_EXAMPLEDIRS)
- @$(ECHO)
- @$(ECHO) Clean Units......... $(CLEAN_UNITS)
- @$(ECHO) Clean Files......... $(CLEAN_FILES)
- @$(ECHO)
- @$(ECHO) Install Units....... $(INSTALL_UNITS)
- @$(ECHO) Install Files....... $(INSTALL_FILES)
- @$(ECHO)
- @$(ECHO) == Install info ==
- @$(ECHO)
- @$(ECHO) DateStr.............. $(DATESTR)
- @$(ECHO) ZipName.............. $(ZIPNAME)
- @$(ECHO) ZipPrefix............ $(ZIPPREFIX)
- @$(ECHO) ZipCrossPrefix....... $(ZIPCROSSPREFIX)
- @$(ECHO) ZipSuffix............ $(ZIPSUFFIX)
- @$(ECHO) FullZipName.......... $(FULLZIPNAME)
- @$(ECHO) Install FPC Package.. $(INSTALL_FPCPACKAGE)
- @$(ECHO)
- @$(ECHO) Install base dir..... $(INSTALL_BASEDIR)
- @$(ECHO) Install binary dir... $(INSTALL_BINDIR)
- @$(ECHO) Install library dir.. $(INSTALL_LIBDIR)
- @$(ECHO) Install units dir.... $(INSTALL_UNITDIR)
- @$(ECHO) Install source dir... $(INSTALL_SOURCEDIR)
- @$(ECHO) Install doc dir...... $(INSTALL_DOCDIR)
- @$(ECHO) Install example dir.. $(INSTALL_EXAMPLEDIR)
- @$(ECHO) Install data dir..... $(INSTALL_DATADIR)
- @$(ECHO)
- @$(ECHO) Dist destination dir. $(DIST_DESTDIR)
- @$(ECHO) Dist zip name........ $(DIST_ZIPNAME)
- @$(ECHO)
-.PHONY: fpc_info
-fpc_info: $(INFORULES)
-.PHONY: fpc_makefile fpc_makefiles fpc_makefile_sub1 fpc_makefile_sub2 \
- fpc_makefile_dirs
-fpc_makefile:
- $(FPCMAKE) -w -T$(OS_TARGET) Makefile.fpc
-fpc_makefile_sub1:
-ifdef TARGET_DIRS
- $(FPCMAKE) -w -T$(OS_TARGET) $(addsuffix /Makefile.fpc,$(TARGET_DIRS))
-endif
-ifdef TARGET_EXAMPLEDIRS
- $(FPCMAKE) -w -T$(OS_TARGET) $(addsuffix /Makefile.fpc,$(TARGET_EXAMPLEDIRS))
-endif
-fpc_makefile_sub2: $(addsuffix _makefile_dirs,$(TARGET_DIRS) $(TARGET_EXAMPLEDIRS))
-fpc_makefile_dirs: fpc_makefile_sub1 fpc_makefile_sub2
-fpc_makefiles: fpc_makefile fpc_makefile_dirs
-ifeq ($(FULL_TARGET),i386-linux)
-TARGET_EXAMPLEDIRS_EXAMPLES=1
-endif
-ifeq ($(FULL_TARGET),i386-go32v2)
-TARGET_EXAMPLEDIRS_EXAMPLES=1
-endif
-ifeq ($(FULL_TARGET),i386-win32)
-TARGET_EXAMPLEDIRS_EXAMPLES=1
-endif
-ifeq ($(FULL_TARGET),i386-os2)
-TARGET_EXAMPLEDIRS_EXAMPLES=1
-endif
-ifeq ($(FULL_TARGET),i386-freebsd)
-TARGET_EXAMPLEDIRS_EXAMPLES=1
-endif
-ifeq ($(FULL_TARGET),i386-beos)
-TARGET_EXAMPLEDIRS_EXAMPLES=1
-endif
-ifeq ($(FULL_TARGET),i386-netbsd)
-TARGET_EXAMPLEDIRS_EXAMPLES=1
-endif
-ifeq ($(FULL_TARGET),i386-solaris)
-TARGET_EXAMPLEDIRS_EXAMPLES=1
-endif
-ifeq ($(FULL_TARGET),i386-qnx)
-TARGET_EXAMPLEDIRS_EXAMPLES=1
-endif
-ifeq ($(FULL_TARGET),i386-netware)
-TARGET_EXAMPLEDIRS_EXAMPLES=1
-endif
-ifeq ($(FULL_TARGET),i386-openbsd)
-TARGET_EXAMPLEDIRS_EXAMPLES=1
-endif
-ifeq ($(FULL_TARGET),i386-wdosx)
-TARGET_EXAMPLEDIRS_EXAMPLES=1
-endif
-ifeq ($(FULL_TARGET),i386-darwin)
-TARGET_EXAMPLEDIRS_EXAMPLES=1
-endif
-ifeq ($(FULL_TARGET),i386-emx)
-TARGET_EXAMPLEDIRS_EXAMPLES=1
-endif
-ifeq ($(FULL_TARGET),i386-watcom)
-TARGET_EXAMPLEDIRS_EXAMPLES=1
-endif
-ifeq ($(FULL_TARGET),i386-netwlibc)
-TARGET_EXAMPLEDIRS_EXAMPLES=1
-endif
-ifeq ($(FULL_TARGET),i386-wince)
-TARGET_EXAMPLEDIRS_EXAMPLES=1
-endif
-ifeq ($(FULL_TARGET),i386-embedded)
-TARGET_EXAMPLEDIRS_EXAMPLES=1
-endif
-ifeq ($(FULL_TARGET),i386-symbian)
-TARGET_EXAMPLEDIRS_EXAMPLES=1
-endif
-ifeq ($(FULL_TARGET),m68k-linux)
-TARGET_EXAMPLEDIRS_EXAMPLES=1
-endif
-ifeq ($(FULL_TARGET),m68k-freebsd)
-TARGET_EXAMPLEDIRS_EXAMPLES=1
-endif
-ifeq ($(FULL_TARGET),m68k-netbsd)
-TARGET_EXAMPLEDIRS_EXAMPLES=1
-endif
-ifeq ($(FULL_TARGET),m68k-amiga)
-TARGET_EXAMPLEDIRS_EXAMPLES=1
-endif
-ifeq ($(FULL_TARGET),m68k-atari)
-TARGET_EXAMPLEDIRS_EXAMPLES=1
-endif
-ifeq ($(FULL_TARGET),m68k-openbsd)
-TARGET_EXAMPLEDIRS_EXAMPLES=1
-endif
-ifeq ($(FULL_TARGET),m68k-palmos)
-TARGET_EXAMPLEDIRS_EXAMPLES=1
-endif
-ifeq ($(FULL_TARGET),m68k-embedded)
-TARGET_EXAMPLEDIRS_EXAMPLES=1
-endif
-ifeq ($(FULL_TARGET),powerpc-linux)
-TARGET_EXAMPLEDIRS_EXAMPLES=1
-endif
-ifeq ($(FULL_TARGET),powerpc-netbsd)
-TARGET_EXAMPLEDIRS_EXAMPLES=1
-endif
-ifeq ($(FULL_TARGET),powerpc-amiga)
-TARGET_EXAMPLEDIRS_EXAMPLES=1
-endif
-ifeq ($(FULL_TARGET),powerpc-macos)
-TARGET_EXAMPLEDIRS_EXAMPLES=1
-endif
-ifeq ($(FULL_TARGET),powerpc-darwin)
-TARGET_EXAMPLEDIRS_EXAMPLES=1
-endif
-ifeq ($(FULL_TARGET),powerpc-morphos)
-TARGET_EXAMPLEDIRS_EXAMPLES=1
-endif
-ifeq ($(FULL_TARGET),powerpc-embedded)
-TARGET_EXAMPLEDIRS_EXAMPLES=1
-endif
-ifeq ($(FULL_TARGET),sparc-linux)
-TARGET_EXAMPLEDIRS_EXAMPLES=1
-endif
-ifeq ($(FULL_TARGET),sparc-netbsd)
-TARGET_EXAMPLEDIRS_EXAMPLES=1
-endif
-ifeq ($(FULL_TARGET),sparc-solaris)
-TARGET_EXAMPLEDIRS_EXAMPLES=1
-endif
-ifeq ($(FULL_TARGET),sparc-embedded)
-TARGET_EXAMPLEDIRS_EXAMPLES=1
-endif
-ifeq ($(FULL_TARGET),x86_64-linux)
-TARGET_EXAMPLEDIRS_EXAMPLES=1
-endif
-ifeq ($(FULL_TARGET),x86_64-freebsd)
-TARGET_EXAMPLEDIRS_EXAMPLES=1
-endif
-ifeq ($(FULL_TARGET),x86_64-darwin)
-TARGET_EXAMPLEDIRS_EXAMPLES=1
-endif
-ifeq ($(FULL_TARGET),x86_64-win64)
-TARGET_EXAMPLEDIRS_EXAMPLES=1
-endif
-ifeq ($(FULL_TARGET),x86_64-embedded)
-TARGET_EXAMPLEDIRS_EXAMPLES=1
-endif
-ifeq ($(FULL_TARGET),arm-linux)
-TARGET_EXAMPLEDIRS_EXAMPLES=1
-endif
-ifeq ($(FULL_TARGET),arm-palmos)
-TARGET_EXAMPLEDIRS_EXAMPLES=1
-endif
-ifeq ($(FULL_TARGET),arm-wince)
-TARGET_EXAMPLEDIRS_EXAMPLES=1
-endif
-ifeq ($(FULL_TARGET),arm-gba)
-TARGET_EXAMPLEDIRS_EXAMPLES=1
-endif
-ifeq ($(FULL_TARGET),arm-nds)
-TARGET_EXAMPLEDIRS_EXAMPLES=1
-endif
-ifeq ($(FULL_TARGET),arm-embedded)
-TARGET_EXAMPLEDIRS_EXAMPLES=1
-endif
-ifeq ($(FULL_TARGET),arm-symbian)
-TARGET_EXAMPLEDIRS_EXAMPLES=1
-endif
-ifeq ($(FULL_TARGET),powerpc64-linux)
-TARGET_EXAMPLEDIRS_EXAMPLES=1
-endif
-ifeq ($(FULL_TARGET),powerpc64-darwin)
-TARGET_EXAMPLEDIRS_EXAMPLES=1
-endif
-ifeq ($(FULL_TARGET),powerpc64-embedded)
-TARGET_EXAMPLEDIRS_EXAMPLES=1
-endif
-ifdef TARGET_EXAMPLEDIRS_EXAMPLES
-examples_all:
- $(MAKE) -C examples all
-examples_debug:
- $(MAKE) -C examples debug
-examples_smart:
- $(MAKE) -C examples smart
-examples_release:
- $(MAKE) -C examples release
-examples_units:
- $(MAKE) -C examples units
-examples_examples:
- $(MAKE) -C examples examples
-examples_shared:
- $(MAKE) -C examples shared
-examples_install:
- $(MAKE) -C examples install
-examples_sourceinstall:
- $(MAKE) -C examples sourceinstall
-examples_exampleinstall:
- $(MAKE) -C examples exampleinstall
-examples_distinstall:
- $(MAKE) -C examples distinstall
-examples_zipinstall:
- $(MAKE) -C examples zipinstall
-examples_zipsourceinstall:
- $(MAKE) -C examples zipsourceinstall
-examples_zipexampleinstall:
- $(MAKE) -C examples zipexampleinstall
-examples_zipdistinstall:
- $(MAKE) -C examples zipdistinstall
-examples_clean:
- $(MAKE) -C examples clean
-examples_distclean:
- $(MAKE) -C examples distclean
-examples_cleanall:
- $(MAKE) -C examples cleanall
-examples_info:
- $(MAKE) -C examples info
-examples_makefiles:
- $(MAKE) -C examples makefiles
-examples:
- $(MAKE) -C examples all
-.PHONY: examples_all examples_debug examples_smart examples_release examples_units examples_examples examples_shared examples_install examples_sourceinstall examples_exampleinstall examples_distinstall examples_zipinstall examples_zipsourceinstall examples_zipexampleinstall examples_zipdistinstall examples_clean examples_distclean examples_cleanall examples_info examples_makefiles examples
-endif
-all: fpc_all
-debug: fpc_debug
-smart: fpc_smart
-release: fpc_release
-units: fpc_units
-examples: fpc_examples
-shared: fpc_shared
-install: fpc_install
-sourceinstall: fpc_sourceinstall
-exampleinstall: fpc_exampleinstall
-distinstall: fpc_distinstall
-zipinstall: fpc_zipinstall
-zipsourceinstall: fpc_zipsourceinstall
-zipexampleinstall: fpc_zipexampleinstall
-zipdistinstall: fpc_zipdistinstall
-clean: fpc_clean $(addsuffix _clean,$(TARGET_EXAMPLEDIRS))
-distclean: fpc_distclean
-cleanall: fpc_cleanall
-info: fpc_info
-makefiles: fpc_makefiles
-.PHONY: all debug smart release units examples shared install sourceinstall exampleinstall distinstall zipinstall zipsourceinstall zipexampleinstall zipdistinstall clean distclean cleanall info makefiles
-ifneq ($(wildcard fpcmake.loc),)
-include fpcmake.loc
-endif
-.NOTPARALLEL:
diff --git a/packages/extra/opengl/Makefile.fpc b/packages/extra/opengl/Makefile.fpc
deleted file mode 100644
index 53f22c098e..0000000000
--- a/packages/extra/opengl/Makefile.fpc
+++ /dev/null
@@ -1,33 +0,0 @@
-#
-# Makefile.fpc for OpenGL for FPC
-#
-
-[package]
-name=opengl
-version=2.0.0
-
-[require]
-packages_linux=x11
-packages_freebsd=x11
-packages_netbsd=x11
-packages_openbsd=x11
-packages_darwin=x11
-
-[target]
-units=gl glu glut
-units_win32=glext
-units_linux=glx glext
-units_freebsd=glx glext
-units_netbsd=glx glext
-units_openbsd=glx glext
-units_darwin=glx glext
-exampledirs=examples
-
-[install]
-fpcpackage=y
-
-[default]
-fpcdir=../../..
-
-[rules]
-.NOTPARALLEL:
diff --git a/packages/extra/opengl/examples/Makefile b/packages/extra/opengl/examples/Makefile
deleted file mode 100644
index 9a1d420fef..0000000000
--- a/packages/extra/opengl/examples/Makefile
+++ /dev/null
@@ -1,2172 +0,0 @@
-#
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2007/11/08]
-#
-default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-darwin x86_64-win64 x86_64-embedded arm-linux arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian powerpc64-linux powerpc64-darwin powerpc64-embedded
-BSDs = freebsd netbsd openbsd darwin
-UNIXs = linux $(BSDs) solaris qnx
-LIMIT83fs = go32v2 os2 emx watcom
-OSNeedsComspecToRunBatch = go32v2 watcom
-FORCE:
-.PHONY: FORCE
-override PATH:=$(patsubst %/,%,$(subst \,/,$(PATH)))
-ifneq ($(findstring darwin,$(OSTYPE)),)
-inUnix=1 #darwin
-SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
-else
-ifeq ($(findstring ;,$(PATH)),)
-inUnix=1
-SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
-else
-SEARCHPATH:=$(subst ;, ,$(PATH))
-endif
-endif
-SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
-PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
-ifeq ($(PWD),)
-PWD:=$(strip $(wildcard $(addsuffix /pwd,$(SEARCHPATH))))
-ifeq ($(PWD),)
-$(error You need the GNU utils package to use this Makefile)
-else
-PWD:=$(firstword $(PWD))
-SRCEXEEXT=
-endif
-else
-PWD:=$(firstword $(PWD))
-SRCEXEEXT=.exe
-endif
-ifndef inUnix
-ifeq ($(OS),Windows_NT)
-inWinNT=1
-else
-ifdef OS2_SHELL
-inOS2=1
-endif
-endif
-else
-ifneq ($(findstring cygdrive,$(PATH)),)
-inCygWin=1
-endif
-endif
-ifdef inUnix
-SRCBATCHEXT=.sh
-else
-ifdef inOS2
-SRCBATCHEXT=.cmd
-else
-SRCBATCHEXT=.bat
-endif
-endif
-ifdef COMSPEC
-ifneq ($(findstring $(OS_SOURCE),$(OSNeedsComspecToRunBatch)),)
-RUNBATCH=$(COMSPEC) /C
-endif
-endif
-ifdef inUnix
-PATHSEP=/
-else
-PATHSEP:=$(subst /,\,/)
-ifdef inCygWin
-PATHSEP=/
-endif
-endif
-ifdef PWD
-BASEDIR:=$(subst \,/,$(shell $(PWD)))
-ifdef inCygWin
-ifneq ($(findstring /cygdrive/,$(BASEDIR)),)
-BASENODIR:=$(patsubst /cygdrive%,%,$(BASEDIR))
-BASEDRIVE:=$(firstword $(subst /, ,$(BASENODIR)))
-BASEDIR:=$(subst /cygdrive/$(BASEDRIVE)/,$(BASEDRIVE):/,$(BASEDIR))
-endif
-endif
-else
-BASEDIR=.
-endif
-ifdef inOS2
-ifndef ECHO
-ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(ECHO),)
-ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(ECHO),)
-ECHO=echo
-else
-ECHO:=$(firstword $(ECHO))
-endif
-else
-ECHO:=$(firstword $(ECHO))
-endif
-endif
-export ECHO
-endif
-override DEFAULT_FPCDIR=../../../..
-ifndef FPC
-ifdef PP
-FPC=$(PP)
-endif
-endif
-ifndef FPC
-FPCPROG:=$(strip $(wildcard $(addsuffix /fpc$(SRCEXEEXT),$(SEARCHPATH))))
-ifneq ($(FPCPROG),)
-FPCPROG:=$(firstword $(FPCPROG))
-ifneq ($(CPU_TARGET),)
-FPC:=$(shell $(FPCPROG) -P$(CPU_TARGET) -PB)
-else
-FPC:=$(shell $(FPCPROG) -PB)
-endif
-ifneq ($(findstring Error,$(FPC)),)
-override FPC=$(firstword $(strip $(wildcard $(addsuffix /ppc386$(SRCEXEEXT),$(SEARCHPATH)))))
-endif
-else
-override FPC=$(firstword $(strip $(wildcard $(addsuffix /ppc386$(SRCEXEEXT),$(SEARCHPATH)))))
-endif
-endif
-override FPC:=$(subst $(SRCEXEEXT),,$(FPC))
-override FPC:=$(subst \,/,$(FPC))$(SRCEXEEXT)
-FOUNDFPC:=$(strip $(wildcard $(FPC)))
-ifeq ($(FOUNDFPC),)
-FOUNDFPC=$(strip $(wildcard $(addsuffix /$(FPC),$(SEARCHPATH))))
-ifeq ($(FOUNDFPC),)
-$(error Compiler $(FPC) not found)
-endif
-endif
-ifndef FPC_COMPILERINFO
-FPC_COMPILERINFO:=$(shell $(FPC) -iVSPTPSOTO)
-endif
-ifndef FPC_VERSION
-FPC_VERSION:=$(word 1,$(FPC_COMPILERINFO))
-endif
-export FPC FPC_VERSION FPC_COMPILERINFO
-unexport CHECKDEPEND ALLDEPENDENCIES
-ifndef CPU_TARGET
-ifdef CPU_TARGET_DEFAULT
-CPU_TARGET=$(CPU_TARGET_DEFAULT)
-endif
-endif
-ifndef OS_TARGET
-ifdef OS_TARGET_DEFAULT
-OS_TARGET=$(OS_TARGET_DEFAULT)
-endif
-endif
-ifneq ($(words $(FPC_COMPILERINFO)),5)
-FPC_COMPILERINFO+=$(shell $(FPC) -iSP)
-FPC_COMPILERINFO+=$(shell $(FPC) -iTP)
-FPC_COMPILERINFO+=$(shell $(FPC) -iSO)
-FPC_COMPILERINFO+=$(shell $(FPC) -iTO)
-endif
-ifndef CPU_SOURCE
-CPU_SOURCE:=$(word 2,$(FPC_COMPILERINFO))
-endif
-ifndef CPU_TARGET
-CPU_TARGET:=$(word 3,$(FPC_COMPILERINFO))
-endif
-ifndef OS_SOURCE
-OS_SOURCE:=$(word 4,$(FPC_COMPILERINFO))
-endif
-ifndef OS_TARGET
-OS_TARGET:=$(word 5,$(FPC_COMPILERINFO))
-endif
-FULL_TARGET=$(CPU_TARGET)-$(OS_TARGET)
-FULL_SOURCE=$(CPU_SOURCE)-$(OS_SOURCE)
-ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
-TARGETSUFFIX=$(OS_TARGET)
-SOURCESUFFIX=$(OS_SOURCE)
-else
-TARGETSUFFIX=$(FULL_TARGET)
-SOURCESUFFIX=$(FULL_SOURCE)
-endif
-ifneq ($(FULL_TARGET),$(FULL_SOURCE))
-CROSSCOMPILE=1
-endif
-ifeq ($(findstring makefile,$(MAKECMDGOALS)),)
-ifeq ($(findstring $(FULL_TARGET),$(MAKEFILETARGETS)),)
-$(error The Makefile doesn't support target $(FULL_TARGET), please run fpcmake first)
-endif
-endif
-ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
-BSDhier=1
-endif
-ifeq ($(OS_TARGET),linux)
-linuxHier=1
-endif
-export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE TARGETSUFFIX SOURCESUFFIX CROSSCOMPILE
-ifdef FPCDIR
-override FPCDIR:=$(subst \,/,$(FPCDIR))
-ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
-override FPCDIR=wrong
-endif
-else
-override FPCDIR=wrong
-endif
-ifdef DEFAULT_FPCDIR
-ifeq ($(FPCDIR),wrong)
-override FPCDIR:=$(subst \,/,$(DEFAULT_FPCDIR))
-ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
-override FPCDIR=wrong
-endif
-endif
-endif
-ifeq ($(FPCDIR),wrong)
-ifdef inUnix
-override FPCDIR=/usr/local/lib/fpc/$(FPC_VERSION)
-ifeq ($(wildcard $(FPCDIR)/units),)
-override FPCDIR=/usr/lib/fpc/$(FPC_VERSION)
-endif
-else
-override FPCDIR:=$(subst /$(FPC),,$(firstword $(strip $(wildcard $(addsuffix /$(FPC),$(SEARCHPATH))))))
-override FPCDIR:=$(FPCDIR)/..
-ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
-override FPCDIR:=$(FPCDIR)/..
-ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
-override FPCDIR:=$(BASEDIR)
-ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
-override FPCDIR=c:/pp
-endif
-endif
-endif
-endif
-endif
-ifndef CROSSBINDIR
-CROSSBINDIR:=$(wildcard $(FPCDIR)/bin/$(TARGETSUFFIX))
-endif
-ifndef BINUTILSPREFIX
-ifndef CROSSBINDIR
-ifdef CROSSCOMPILE
-BINUTILSPREFIX=$(CPU_TARGET)-$(OS_TARGET)-
-endif
-endif
-endif
-UNITSDIR:=$(wildcard $(FPCDIR)/units/$(TARGETSUFFIX))
-ifeq ($(UNITSDIR),)
-UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET))
-endif
-PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages $(FPCDIR)/packages/base $(FPCDIR)/packages/extra)
-ifeq ($(FULL_TARGET),i386-linux)
-override TARGET_PROGRAMS+=glutdemo morph3d bounce radblur glxtest
-endif
-ifeq ($(FULL_TARGET),i386-go32v2)
-override TARGET_PROGRAMS+=glutdemo morph3d bounce radblur
-endif
-ifeq ($(FULL_TARGET),i386-win32)
-override TARGET_PROGRAMS+=glutdemo morph3d bounce radblur
-endif
-ifeq ($(FULL_TARGET),i386-os2)
-override TARGET_PROGRAMS+=glutdemo morph3d bounce radblur
-endif
-ifeq ($(FULL_TARGET),i386-freebsd)
-override TARGET_PROGRAMS+=glutdemo morph3d bounce radblur glxtest
-endif
-ifeq ($(FULL_TARGET),i386-beos)
-override TARGET_PROGRAMS+=glutdemo morph3d bounce radblur
-endif
-ifeq ($(FULL_TARGET),i386-netbsd)
-override TARGET_PROGRAMS+=glutdemo morph3d bounce radblur glxtest
-endif
-ifeq ($(FULL_TARGET),i386-solaris)
-override TARGET_PROGRAMS+=glutdemo morph3d bounce radblur
-endif
-ifeq ($(FULL_TARGET),i386-qnx)
-override TARGET_PROGRAMS+=glutdemo morph3d bounce radblur
-endif
-ifeq ($(FULL_TARGET),i386-netware)
-override TARGET_PROGRAMS+=glutdemo morph3d bounce radblur
-endif
-ifeq ($(FULL_TARGET),i386-openbsd)
-override TARGET_PROGRAMS+=glutdemo morph3d bounce radblur glxtest
-endif
-ifeq ($(FULL_TARGET),i386-wdosx)
-override TARGET_PROGRAMS+=glutdemo morph3d bounce radblur
-endif
-ifeq ($(FULL_TARGET),i386-darwin)
-override TARGET_PROGRAMS+=glutdemo morph3d bounce radblur glxtest
-endif
-ifeq ($(FULL_TARGET),i386-emx)
-override TARGET_PROGRAMS+=glutdemo morph3d bounce radblur
-endif
-ifeq ($(FULL_TARGET),i386-watcom)
-override TARGET_PROGRAMS+=glutdemo morph3d bounce radblur
-endif
-ifeq ($(FULL_TARGET),i386-netwlibc)
-override TARGET_PROGRAMS+=glutdemo morph3d bounce radblur
-endif
-ifeq ($(FULL_TARGET),i386-wince)
-override TARGET_PROGRAMS+=glutdemo morph3d bounce radblur
-endif
-ifeq ($(FULL_TARGET),i386-embedded)
-override TARGET_PROGRAMS+=glutdemo morph3d bounce radblur
-endif
-ifeq ($(FULL_TARGET),i386-symbian)
-override TARGET_PROGRAMS+=glutdemo morph3d bounce radblur
-endif
-ifeq ($(FULL_TARGET),m68k-linux)
-override TARGET_PROGRAMS+=glutdemo morph3d bounce radblur glxtest
-endif
-ifeq ($(FULL_TARGET),m68k-freebsd)
-override TARGET_PROGRAMS+=glutdemo morph3d bounce radblur glxtest
-endif
-ifeq ($(FULL_TARGET),m68k-netbsd)
-override TARGET_PROGRAMS+=glutdemo morph3d bounce radblur glxtest
-endif
-ifeq ($(FULL_TARGET),m68k-amiga)
-override TARGET_PROGRAMS+=glutdemo morph3d bounce radblur
-endif
-ifeq ($(FULL_TARGET),m68k-atari)
-override TARGET_PROGRAMS+=glutdemo morph3d bounce radblur
-endif
-ifeq ($(FULL_TARGET),m68k-openbsd)
-override TARGET_PROGRAMS+=glutdemo morph3d bounce radblur glxtest
-endif
-ifeq ($(FULL_TARGET),m68k-palmos)
-override TARGET_PROGRAMS+=glutdemo morph3d bounce radblur
-endif
-ifeq ($(FULL_TARGET),m68k-embedded)
-override TARGET_PROGRAMS+=glutdemo morph3d bounce radblur
-endif
-ifeq ($(FULL_TARGET),powerpc-linux)
-override TARGET_PROGRAMS+=glutdemo morph3d bounce radblur glxtest
-endif
-ifeq ($(FULL_TARGET),powerpc-netbsd)
-override TARGET_PROGRAMS+=glutdemo morph3d bounce radblur glxtest
-endif
-ifeq ($(FULL_TARGET),powerpc-amiga)
-override TARGET_PROGRAMS+=glutdemo morph3d bounce radblur
-endif
-ifeq ($(FULL_TARGET),powerpc-macos)
-override TARGET_PROGRAMS+=glutdemo morph3d bounce radblur
-endif
-ifeq ($(FULL_TARGET),powerpc-darwin)
-override TARGET_PROGRAMS+=glutdemo morph3d bounce radblur glxtest
-endif
-ifeq ($(FULL_TARGET),powerpc-morphos)
-override TARGET_PROGRAMS+=glutdemo morph3d bounce radblur
-endif
-ifeq ($(FULL_TARGET),powerpc-embedded)
-override TARGET_PROGRAMS+=glutdemo morph3d bounce radblur
-endif
-ifeq ($(FULL_TARGET),sparc-linux)
-override TARGET_PROGRAMS+=glutdemo morph3d bounce radblur glxtest
-endif
-ifeq ($(FULL_TARGET),sparc-netbsd)
-override TARGET_PROGRAMS+=glutdemo morph3d bounce radblur glxtest
-endif
-ifeq ($(FULL_TARGET),sparc-solaris)
-override TARGET_PROGRAMS+=glutdemo morph3d bounce radblur
-endif
-ifeq ($(FULL_TARGET),sparc-embedded)
-override TARGET_PROGRAMS+=glutdemo morph3d bounce radblur
-endif
-ifeq ($(FULL_TARGET),x86_64-linux)
-override TARGET_PROGRAMS+=glutdemo morph3d bounce radblur glxtest
-endif
-ifeq ($(FULL_TARGET),x86_64-freebsd)
-override TARGET_PROGRAMS+=glutdemo morph3d bounce radblur glxtest
-endif
-ifeq ($(FULL_TARGET),x86_64-darwin)
-override TARGET_PROGRAMS+=glutdemo morph3d bounce radblur glxtest
-endif
-ifeq ($(FULL_TARGET),x86_64-win64)
-override TARGET_PROGRAMS+=glutdemo morph3d bounce radblur
-endif
-ifeq ($(FULL_TARGET),x86_64-embedded)
-override TARGET_PROGRAMS+=glutdemo morph3d bounce radblur
-endif
-ifeq ($(FULL_TARGET),arm-linux)
-override TARGET_PROGRAMS+=glutdemo morph3d bounce radblur glxtest
-endif
-ifeq ($(FULL_TARGET),arm-palmos)
-override TARGET_PROGRAMS+=glutdemo morph3d bounce radblur
-endif
-ifeq ($(FULL_TARGET),arm-wince)
-override TARGET_PROGRAMS+=glutdemo morph3d bounce radblur
-endif
-ifeq ($(FULL_TARGET),arm-gba)
-override TARGET_PROGRAMS+=glutdemo morph3d bounce radblur
-endif
-ifeq ($(FULL_TARGET),arm-nds)
-override TARGET_PROGRAMS+=glutdemo morph3d bounce radblur
-endif
-ifeq ($(FULL_TARGET),arm-embedded)
-override TARGET_PROGRAMS+=glutdemo morph3d bounce radblur
-endif
-ifeq ($(FULL_TARGET),arm-symbian)
-override TARGET_PROGRAMS+=glutdemo morph3d bounce radblur
-endif
-ifeq ($(FULL_TARGET),powerpc64-linux)
-override TARGET_PROGRAMS+=glutdemo morph3d bounce radblur glxtest
-endif
-ifeq ($(FULL_TARGET),powerpc64-darwin)
-override TARGET_PROGRAMS+=glutdemo morph3d bounce radblur glxtest
-endif
-ifeq ($(FULL_TARGET),powerpc64-embedded)
-override TARGET_PROGRAMS+=glutdemo morph3d bounce radblur
-endif
-override INSTALL_FPCPACKAGE=y
-ifeq ($(FULL_TARGET),i386-linux)
-override COMPILER_OPTIONS+=-S2h
-endif
-ifeq ($(FULL_TARGET),i386-go32v2)
-override COMPILER_OPTIONS+=-S2h
-endif
-ifeq ($(FULL_TARGET),i386-win32)
-override COMPILER_OPTIONS+=-S2h
-endif
-ifeq ($(FULL_TARGET),i386-os2)
-override COMPILER_OPTIONS+=-S2h
-endif
-ifeq ($(FULL_TARGET),i386-freebsd)
-override COMPILER_OPTIONS+=-S2h
-endif
-ifeq ($(FULL_TARGET),i386-beos)
-override COMPILER_OPTIONS+=-S2h
-endif
-ifeq ($(FULL_TARGET),i386-netbsd)
-override COMPILER_OPTIONS+=-S2h
-endif
-ifeq ($(FULL_TARGET),i386-solaris)
-override COMPILER_OPTIONS+=-S2h
-endif
-ifeq ($(FULL_TARGET),i386-qnx)
-override COMPILER_OPTIONS+=-S2h
-endif
-ifeq ($(FULL_TARGET),i386-netware)
-override COMPILER_OPTIONS+=-S2h
-endif
-ifeq ($(FULL_TARGET),i386-openbsd)
-override COMPILER_OPTIONS+=-S2h
-endif
-ifeq ($(FULL_TARGET),i386-wdosx)
-override COMPILER_OPTIONS+=-S2h
-endif
-ifeq ($(FULL_TARGET),i386-darwin)
-override COMPILER_OPTIONS+=-S2h
-endif
-ifeq ($(FULL_TARGET),i386-emx)
-override COMPILER_OPTIONS+=-S2h
-endif
-ifeq ($(FULL_TARGET),i386-watcom)
-override COMPILER_OPTIONS+=-S2h
-endif
-ifeq ($(FULL_TARGET),i386-netwlibc)
-override COMPILER_OPTIONS+=-S2h
-endif
-ifeq ($(FULL_TARGET),i386-wince)
-override COMPILER_OPTIONS+=-S2h
-endif
-ifeq ($(FULL_TARGET),i386-embedded)
-override COMPILER_OPTIONS+=-S2h
-endif
-ifeq ($(FULL_TARGET),i386-symbian)
-override COMPILER_OPTIONS+=-S2h
-endif
-ifeq ($(FULL_TARGET),m68k-linux)
-override COMPILER_OPTIONS+=-S2h
-endif
-ifeq ($(FULL_TARGET),m68k-freebsd)
-override COMPILER_OPTIONS+=-S2h
-endif
-ifeq ($(FULL_TARGET),m68k-netbsd)
-override COMPILER_OPTIONS+=-S2h
-endif
-ifeq ($(FULL_TARGET),m68k-amiga)
-override COMPILER_OPTIONS+=-S2h
-endif
-ifeq ($(FULL_TARGET),m68k-atari)
-override COMPILER_OPTIONS+=-S2h
-endif
-ifeq ($(FULL_TARGET),m68k-openbsd)
-override COMPILER_OPTIONS+=-S2h
-endif
-ifeq ($(FULL_TARGET),m68k-palmos)
-override COMPILER_OPTIONS+=-S2h
-endif
-ifeq ($(FULL_TARGET),m68k-embedded)
-override COMPILER_OPTIONS+=-S2h
-endif
-ifeq ($(FULL_TARGET),powerpc-linux)
-override COMPILER_OPTIONS+=-S2h
-endif
-ifeq ($(FULL_TARGET),powerpc-netbsd)
-override COMPILER_OPTIONS+=-S2h
-endif
-ifeq ($(FULL_TARGET),powerpc-amiga)
-override COMPILER_OPTIONS+=-S2h
-endif
-ifeq ($(FULL_TARGET),powerpc-macos)
-override COMPILER_OPTIONS+=-S2h
-endif
-ifeq ($(FULL_TARGET),powerpc-darwin)
-override COMPILER_OPTIONS+=-S2h
-endif
-ifeq ($(FULL_TARGET),powerpc-morphos)
-override COMPILER_OPTIONS+=-S2h
-endif
-ifeq ($(FULL_TARGET),powerpc-embedded)
-override COMPILER_OPTIONS+=-S2h
-endif
-ifeq ($(FULL_TARGET),sparc-linux)
-override COMPILER_OPTIONS+=-S2h
-endif
-ifeq ($(FULL_TARGET),sparc-netbsd)
-override COMPILER_OPTIONS+=-S2h
-endif
-ifeq ($(FULL_TARGET),sparc-solaris)
-override COMPILER_OPTIONS+=-S2h
-endif
-ifeq ($(FULL_TARGET),sparc-embedded)
-override COMPILER_OPTIONS+=-S2h
-endif
-ifeq ($(FULL_TARGET),x86_64-linux)
-override COMPILER_OPTIONS+=-S2h
-endif
-ifeq ($(FULL_TARGET),x86_64-freebsd)
-override COMPILER_OPTIONS+=-S2h
-endif
-ifeq ($(FULL_TARGET),x86_64-darwin)
-override COMPILER_OPTIONS+=-S2h
-endif
-ifeq ($(FULL_TARGET),x86_64-win64)
-override COMPILER_OPTIONS+=-S2h
-endif
-ifeq ($(FULL_TARGET),x86_64-embedded)
-override COMPILER_OPTIONS+=-S2h
-endif
-ifeq ($(FULL_TARGET),arm-linux)
-override COMPILER_OPTIONS+=-S2h
-endif
-ifeq ($(FULL_TARGET),arm-palmos)
-override COMPILER_OPTIONS+=-S2h
-endif
-ifeq ($(FULL_TARGET),arm-wince)
-override COMPILER_OPTIONS+=-S2h
-endif
-ifeq ($(FULL_TARGET),arm-gba)
-override COMPILER_OPTIONS+=-S2h
-endif
-ifeq ($(FULL_TARGET),arm-nds)
-override COMPILER_OPTIONS+=-S2h
-endif
-ifeq ($(FULL_TARGET),arm-embedded)
-override COMPILER_OPTIONS+=-S2h
-endif
-ifeq ($(FULL_TARGET),arm-symbian)
-override COMPILER_OPTIONS+=-S2h
-endif
-ifeq ($(FULL_TARGET),powerpc64-linux)
-override COMPILER_OPTIONS+=-S2h
-endif
-ifeq ($(FULL_TARGET),powerpc64-darwin)
-override COMPILER_OPTIONS+=-S2h
-endif
-ifeq ($(FULL_TARGET),powerpc64-embedded)
-override COMPILER_OPTIONS+=-S2h
-endif
-ifdef REQUIRE_UNITSDIR
-override UNITSDIR+=$(REQUIRE_UNITSDIR)
-endif
-ifdef REQUIRE_PACKAGESDIR
-override PACKAGESDIR+=$(REQUIRE_PACKAGESDIR)
-endif
-ifdef ZIPINSTALL
-ifneq ($(findstring $(OS_TARGET),$(UNIXs)),)
-UNIXHier=1
-endif
-else
-ifneq ($(findstring $(OS_SOURCE),$(UNIXs)),)
-UNIXHier=1
-endif
-endif
-ifndef INSTALL_PREFIX
-ifdef PREFIX
-INSTALL_PREFIX=$(PREFIX)
-endif
-endif
-ifndef INSTALL_PREFIX
-ifdef UNIXHier
-INSTALL_PREFIX=/usr/local
-else
-ifdef INSTALL_FPCPACKAGE
-INSTALL_BASEDIR:=/pp
-else
-INSTALL_BASEDIR:=/$(PACKAGE_NAME)
-endif
-endif
-endif
-export INSTALL_PREFIX
-ifdef INSTALL_FPCSUBDIR
-export INSTALL_FPCSUBDIR
-endif
-ifndef DIST_DESTDIR
-DIST_DESTDIR:=$(BASEDIR)
-endif
-export DIST_DESTDIR
-ifndef COMPILER_UNITTARGETDIR
-ifdef PACKAGEDIR_MAIN
-COMPILER_UNITTARGETDIR=$(PACKAGEDIR_MAIN)/units/$(TARGETSUFFIX)
-else
-COMPILER_UNITTARGETDIR=units/$(TARGETSUFFIX)
-endif
-endif
-ifndef COMPILER_TARGETDIR
-COMPILER_TARGETDIR=.
-endif
-ifndef INSTALL_BASEDIR
-ifdef UNIXHier
-ifdef INSTALL_FPCPACKAGE
-INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
-else
-INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/$(PACKAGE_NAME)
-endif
-else
-INSTALL_BASEDIR:=$(INSTALL_PREFIX)
-endif
-endif
-ifndef INSTALL_BINDIR
-ifdef UNIXHier
-INSTALL_BINDIR:=$(INSTALL_PREFIX)/bin
-else
-INSTALL_BINDIR:=$(INSTALL_BASEDIR)/bin
-ifdef INSTALL_FPCPACKAGE
-ifdef CROSSCOMPILE
-ifdef CROSSINSTALL
-INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(SOURCESUFFIX)
-else
-INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(TARGETSUFFIX)
-endif
-else
-INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(TARGETSUFFIX)
-endif
-endif
-endif
-endif
-ifndef INSTALL_UNITDIR
-INSTALL_UNITDIR:=$(INSTALL_BASEDIR)/units/$(TARGETSUFFIX)
-ifdef INSTALL_FPCPACKAGE
-ifdef PACKAGE_NAME
-INSTALL_UNITDIR:=$(INSTALL_UNITDIR)/$(PACKAGE_NAME)
-endif
-endif
-endif
-ifndef INSTALL_LIBDIR
-ifdef UNIXHier
-INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
-else
-INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
-endif
-endif
-ifndef INSTALL_SOURCEDIR
-ifdef UNIXHier
-ifdef BSDhier
-SRCPREFIXDIR=share/src
-else
-ifdef linuxHier
-SRCPREFIXDIR=share/src
-else
-SRCPREFIXDIR=src
-endif
-endif
-ifdef INSTALL_FPCPACKAGE
-ifdef INSTALL_FPCSUBDIR
-INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
-else
-INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
-endif
-else
-INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
-endif
-else
-ifdef INSTALL_FPCPACKAGE
-ifdef INSTALL_FPCSUBDIR
-INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
-else
-INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(PACKAGE_NAME)
-endif
-else
-INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source
-endif
-endif
-endif
-ifndef INSTALL_DOCDIR
-ifdef UNIXHier
-ifdef BSDhier
-DOCPREFIXDIR=share/doc
-else
-ifdef linuxHier
-DOCPREFIXDIR=share/doc
-else
-DOCPREFIXDIR=doc
-endif
-endif
-ifdef INSTALL_FPCPACKAGE
-INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
-else
-INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
-endif
-else
-ifdef INSTALL_FPCPACKAGE
-INSTALL_DOCDIR:=$(INSTALL_BASEDIR)/doc/$(PACKAGE_NAME)
-else
-INSTALL_DOCDIR:=$(INSTALL_BASEDIR)/doc
-endif
-endif
-endif
-ifndef INSTALL_EXAMPLEDIR
-ifdef UNIXHier
-ifdef INSTALL_FPCPACKAGE
-ifdef BSDhier
-INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
-else
-ifdef linuxHier
-INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples
-else
-INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
-endif
-endif
-else
-ifdef BSDhier
-INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
-else
-ifdef linuxHier
-INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
-else
-INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
-endif
-endif
-endif
-else
-ifdef INSTALL_FPCPACKAGE
-INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
-else
-INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples
-endif
-endif
-endif
-ifndef INSTALL_DATADIR
-INSTALL_DATADIR=$(INSTALL_BASEDIR)
-endif
-ifndef INSTALL_SHAREDDIR
-INSTALL_SHAREDDIR=$(INSTALL_PREFIX)/lib
-endif
-ifdef CROSSCOMPILE
-ifndef CROSSBINDIR
-CROSSBINDIR:=$(wildcard $(CROSSTARGETDIR)/bin/$(SOURCESUFFIX))
-ifeq ($(CROSSBINDIR),)
-CROSSBINDIR:=$(wildcard $(INSTALL_BASEDIR)/cross/$(TARGETSUFFIX)/bin/$(FULL_SOURCE))
-endif
-endif
-else
-CROSSBINDIR=
-endif
-ifeq ($(OS_SOURCE),linux)
-ifndef GCCLIBDIR
-ifeq ($(CPU_TARGET),i386)
-ifneq ($(findstring x86_64,$(shell uname -a)),)
-ifeq ($(BINUTILSPREFIX),)
-GCCLIBDIR:=$(shell dirname `gcc -m32 -print-libgcc-file-name`)
-endif
-endif
-endif
-ifeq ($(CPU_TARGET),powerpc64)
-ifeq ($(BINUTILSPREFIX),)
-GCCLIBDIR:=$(shell dirname `gcc -m64 -print-libgcc-file-name`)
-endif
-endif
-endif
-ifndef GCCLIBDIR
-CROSSGCC=$(strip $(wildcard $(addsuffix /$(BINUTILSPREFIX)gcc$(SRCEXEEXT),$(SEARCHPATH))))
-ifneq ($(CROSSGCC),)
-GCCLIBDIR:=$(shell dirname `$(CROSSGCC) -print-libgcc-file-name`)
-endif
-endif
-ifndef OTHERLIBDIR
-OTHERLIBDIR:=$(shell grep -v "^\#" /etc/ld.so.conf | awk '{ ORS=" "; print $1 }')
-endif
-endif
-ifdef inUnix
-ifeq ($(OS_SOURCE),netbsd)
-OTHERLIBDIR+=/usr/pkg/lib
-endif
-export GCCLIBDIR OTHERLIB
-endif
-BATCHEXT=.bat
-LOADEREXT=.as
-EXEEXT=.exe
-PPLEXT=.ppl
-PPUEXT=.ppu
-OEXT=.o
-ASMEXT=.s
-SMARTEXT=.sl
-STATICLIBEXT=.a
-SHAREDLIBEXT=.so
-SHAREDLIBPREFIX=libfp
-STATICLIBPREFIX=libp
-IMPORTLIBPREFIX=libimp
-RSTEXT=.rst
-ifeq ($(findstring 1.0.,$(FPC_VERSION)),)
-ifeq ($(OS_TARGET),go32v1)
-STATICLIBPREFIX=
-SHORTSUFFIX=v1
-endif
-ifeq ($(OS_TARGET),go32v2)
-STATICLIBPREFIX=
-SHORTSUFFIX=dos
-endif
-ifeq ($(OS_TARGET),watcom)
-STATICLIBPREFIX=
-OEXT=.obj
-ASMEXT=.asm
-SHAREDLIBEXT=.dll
-SHORTSUFFIX=wat
-endif
-ifeq ($(OS_TARGET),linux)
-BATCHEXT=.sh
-EXEEXT=
-HASSHAREDLIB=1
-SHORTSUFFIX=lnx
-endif
-ifeq ($(OS_TARGET),freebsd)
-BATCHEXT=.sh
-EXEEXT=
-HASSHAREDLIB=1
-SHORTSUFFIX=fbs
-endif
-ifeq ($(OS_TARGET),netbsd)
-BATCHEXT=.sh
-EXEEXT=
-HASSHAREDLIB=1
-SHORTSUFFIX=nbs
-endif
-ifeq ($(OS_TARGET),openbsd)
-BATCHEXT=.sh
-EXEEXT=
-HASSHAREDLIB=1
-SHORTSUFFIX=obs
-endif
-ifeq ($(OS_TARGET),win32)
-SHAREDLIBEXT=.dll
-SHORTSUFFIX=w32
-endif
-ifeq ($(OS_TARGET),os2)
-BATCHEXT=.cmd
-AOUTEXT=.out
-STATICLIBPREFIX=
-SHAREDLIBEXT=.dll
-SHORTSUFFIX=os2
-ECHO=echo
-endif
-ifeq ($(OS_TARGET),emx)
-BATCHEXT=.cmd
-AOUTEXT=.out
-STATICLIBPREFIX=
-SHAREDLIBEXT=.dll
-SHORTSUFFIX=emx
-ECHO=echo
-endif
-ifeq ($(OS_TARGET),amiga)
-EXEEXT=
-SHAREDLIBEXT=.library
-SHORTSUFFIX=amg
-endif
-ifeq ($(OS_TARGET),morphos)
-EXEEXT=
-SHAREDLIBEXT=.library
-SHORTSUFFIX=mos
-endif
-ifeq ($(OS_TARGET),atari)
-EXEEXT=.ttp
-SHORTSUFFIX=ata
-endif
-ifeq ($(OS_TARGET),beos)
-BATCHEXT=.sh
-EXEEXT=
-SHORTSUFFIX=be
-endif
-ifeq ($(OS_TARGET),solaris)
-BATCHEXT=.sh
-EXEEXT=
-SHORTSUFFIX=sun
-endif
-ifeq ($(OS_TARGET),qnx)
-BATCHEXT=.sh
-EXEEXT=
-SHORTSUFFIX=qnx
-endif
-ifeq ($(OS_TARGET),netware)
-EXEEXT=.nlm
-STATICLIBPREFIX=
-SHORTSUFFIX=nw
-endif
-ifeq ($(OS_TARGET),netwlibc)
-EXEEXT=.nlm
-STATICLIBPREFIX=
-SHORTSUFFIX=nwl
-endif
-ifeq ($(OS_TARGET),macos)
-BATCHEXT=
-EXEEXT=
-DEBUGSYMEXT=.xcoff
-SHORTSUFFIX=mac
-endif
-ifeq ($(OS_TARGET),darwin)
-BATCHEXT=.sh
-EXEEXT=
-HASSHAREDLIB=1
-SHORTSUFFIX=dwn
-endif
-ifeq ($(OS_TARGET),gba)
-EXEEXT=.gba
-SHAREDLIBEXT=.so
-SHORTSUFFIX=gba
-endif
-ifeq ($(OS_TARGET),symbian)
-SHAREDLIBEXT=.dll
-SHORTSUFFIX=symbian
-endif
-else
-ifeq ($(OS_TARGET),go32v1)
-PPUEXT=.pp1
-OEXT=.o1
-ASMEXT=.s1
-SMARTEXT=.sl1
-STATICLIBEXT=.a1
-SHAREDLIBEXT=.so1
-STATICLIBPREFIX=
-SHORTSUFFIX=v1
-endif
-ifeq ($(OS_TARGET),go32v2)
-STATICLIBPREFIX=
-SHORTSUFFIX=dos
-endif
-ifeq ($(OS_TARGET),watcom)
-STATICLIBPREFIX=
-SHORTSUFFIX=wat
-endif
-ifeq ($(OS_TARGET),linux)
-BATCHEXT=.sh
-EXEEXT=
-HASSHAREDLIB=1
-SHORTSUFFIX=lnx
-endif
-ifeq ($(OS_TARGET),freebsd)
-BATCHEXT=.sh
-EXEEXT=
-HASSHAREDLIB=1
-SHORTSUFFIX=fbs
-endif
-ifeq ($(OS_TARGET),netbsd)
-BATCHEXT=.sh
-EXEEXT=
-HASSHAREDLIB=1
-SHORTSUFFIX=nbs
-endif
-ifeq ($(OS_TARGET),openbsd)
-BATCHEXT=.sh
-EXEEXT=
-HASSHAREDLIB=1
-SHORTSUFFIX=obs
-endif
-ifeq ($(OS_TARGET),win32)
-PPUEXT=.ppw
-OEXT=.ow
-ASMEXT=.sw
-SMARTEXT=.slw
-STATICLIBEXT=.aw
-SHAREDLIBEXT=.dll
-SHORTSUFFIX=w32
-endif
-ifeq ($(OS_TARGET),os2)
-BATCHEXT=.cmd
-PPUEXT=.ppo
-ASMEXT=.so2
-OEXT=.oo2
-AOUTEXT=.out
-SMARTEXT=.sl2
-STATICLIBPREFIX=
-STATICLIBEXT=.ao2
-SHAREDLIBEXT=.dll
-SHORTSUFFIX=os2
-ECHO=echo
-endif
-ifeq ($(OS_TARGET),amiga)
-EXEEXT=
-PPUEXT=.ppu
-ASMEXT=.s
-OEXT=.o
-SMARTEXT=.sl
-STATICLIBEXT=.a
-SHAREDLIBEXT=.library
-SHORTSUFFIX=amg
-endif
-ifeq ($(OS_TARGET),atari)
-PPUEXT=.ppu
-ASMEXT=.s
-OEXT=.o
-SMARTEXT=.sl
-STATICLIBEXT=.a
-EXEEXT=.ttp
-SHORTSUFFIX=ata
-endif
-ifeq ($(OS_TARGET),beos)
-BATCHEXT=.sh
-PPUEXT=.ppu
-ASMEXT=.s
-OEXT=.o
-SMARTEXT=.sl
-STATICLIBEXT=.a
-EXEEXT=
-SHORTSUFFIX=be
-endif
-ifeq ($(OS_TARGET),solaris)
-BATCHEXT=.sh
-PPUEXT=.ppu
-ASMEXT=.s
-OEXT=.o
-SMARTEXT=.sl
-STATICLIBEXT=.a
-EXEEXT=
-SHORTSUFFIX=sun
-endif
-ifeq ($(OS_TARGET),qnx)
-BATCHEXT=.sh
-PPUEXT=.ppu
-ASMEXT=.s
-OEXT=.o
-SMARTEXT=.sl
-STATICLIBEXT=.a
-EXEEXT=
-SHORTSUFFIX=qnx
-endif
-ifeq ($(OS_TARGET),netware)
-STATICLIBPREFIX=
-PPUEXT=.ppu
-OEXT=.o
-ASMEXT=.s
-SMARTEXT=.sl
-STATICLIBEXT=.a
-SHAREDLIBEXT=.nlm
-EXEEXT=.nlm
-SHORTSUFFIX=nw
-endif
-ifeq ($(OS_TARGET),netwlibc)
-STATICLIBPREFIX=
-PPUEXT=.ppu
-OEXT=.o
-ASMEXT=.s
-SMARTEXT=.sl
-STATICLIBEXT=.a
-SHAREDLIBEXT=.nlm
-EXEEXT=.nlm
-SHORTSUFFIX=nwl
-endif
-ifeq ($(OS_TARGET),macos)
-BATCHEXT=
-PPUEXT=.ppu
-ASMEXT=.s
-OEXT=.o
-SMARTEXT=.sl
-STATICLIBEXT=.a
-EXEEXT=
-DEBUGSYMEXT=.xcoff
-SHORTSUFFIX=mac
-endif
-endif
-ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
-FPCMADE=fpcmade.$(SHORTSUFFIX)
-ZIPSUFFIX=$(SHORTSUFFIX)
-ZIPCROSSPREFIX=
-ZIPSOURCESUFFIX=src
-ZIPEXAMPLESUFFIX=exm
-else
-FPCMADE=fpcmade.$(TARGETSUFFIX)
-ZIPSOURCESUFFIX=.source
-ZIPEXAMPLESUFFIX=.examples
-ifdef CROSSCOMPILE
-ZIPSUFFIX=.$(SOURCESUFFIX)
-ZIPCROSSPREFIX=$(TARGETSUFFIX)-
-else
-ZIPSUFFIX=.$(TARGETSUFFIX)
-ZIPCROSSPREFIX=
-endif
-endif
-ifndef ECHO
-ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(ECHO),)
-ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(ECHO),)
-ECHO= __missing_command_ECHO
-else
-ECHO:=$(firstword $(ECHO))
-endif
-else
-ECHO:=$(firstword $(ECHO))
-endif
-endif
-export ECHO
-ifndef DATE
-DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(DATE),)
-DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(DATE),)
-DATE= __missing_command_DATE
-else
-DATE:=$(firstword $(DATE))
-endif
-else
-DATE:=$(firstword $(DATE))
-endif
-endif
-export DATE
-ifndef GINSTALL
-GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(GINSTALL),)
-GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(GINSTALL),)
-GINSTALL= __missing_command_GINSTALL
-else
-GINSTALL:=$(firstword $(GINSTALL))
-endif
-else
-GINSTALL:=$(firstword $(GINSTALL))
-endif
-endif
-export GINSTALL
-ifndef CPPROG
-CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(CPPROG),)
-CPPROG= __missing_command_CPPROG
-else
-CPPROG:=$(firstword $(CPPROG))
-endif
-endif
-export CPPROG
-ifndef RMPROG
-RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(RMPROG),)
-RMPROG= __missing_command_RMPROG
-else
-RMPROG:=$(firstword $(RMPROG))
-endif
-endif
-export RMPROG
-ifndef MVPROG
-MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(MVPROG),)
-MVPROG= __missing_command_MVPROG
-else
-MVPROG:=$(firstword $(MVPROG))
-endif
-endif
-export MVPROG
-ifndef MKDIRPROG
-MKDIRPROG:=$(strip $(wildcard $(addsuffix /gmkdir$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(MKDIRPROG),)
-MKDIRPROG:=$(strip $(wildcard $(addsuffix /mkdir$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(MKDIRPROG),)
-MKDIRPROG= __missing_command_MKDIRPROG
-else
-MKDIRPROG:=$(firstword $(MKDIRPROG))
-endif
-else
-MKDIRPROG:=$(firstword $(MKDIRPROG))
-endif
-endif
-export MKDIRPROG
-ifndef ECHOREDIR
-ifndef inUnix
-ECHOREDIR=echo
-else
-ECHOREDIR=$(ECHO)
-endif
-endif
-ifndef COPY
-COPY:=$(CPPROG) -fp
-endif
-ifndef COPYTREE
-COPYTREE:=$(CPPROG) -Rfp
-endif
-ifndef MKDIRTREE
-MKDIRTREE:=$(MKDIRPROG) -p
-endif
-ifndef MOVE
-MOVE:=$(MVPROG) -f
-endif
-ifndef DEL
-DEL:=$(RMPROG) -f
-endif
-ifndef DELTREE
-DELTREE:=$(RMPROG) -rf
-endif
-ifndef INSTALL
-ifdef inUnix
-INSTALL:=$(GINSTALL) -c -m 644
-else
-INSTALL:=$(COPY)
-endif
-endif
-ifndef INSTALLEXE
-ifdef inUnix
-INSTALLEXE:=$(GINSTALL) -c -m 755
-else
-INSTALLEXE:=$(COPY)
-endif
-endif
-ifndef MKDIR
-MKDIR:=$(GINSTALL) -m 755 -d
-endif
-export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
-ifndef PPUMOVE
-PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(PPUMOVE),)
-PPUMOVE= __missing_command_PPUMOVE
-else
-PPUMOVE:=$(firstword $(PPUMOVE))
-endif
-endif
-export PPUMOVE
-ifndef FPCMAKE
-FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(FPCMAKE),)
-FPCMAKE= __missing_command_FPCMAKE
-else
-FPCMAKE:=$(firstword $(FPCMAKE))
-endif
-endif
-export FPCMAKE
-ifndef ZIPPROG
-ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(ZIPPROG),)
-ZIPPROG= __missing_command_ZIPPROG
-else
-ZIPPROG:=$(firstword $(ZIPPROG))
-endif
-endif
-export ZIPPROG
-ifndef TARPROG
-TARPROG:=$(strip $(wildcard $(addsuffix /gtar$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(TARPROG),)
-TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(TARPROG),)
-TARPROG= __missing_command_TARPROG
-else
-TARPROG:=$(firstword $(TARPROG))
-endif
-else
-TARPROG:=$(firstword $(TARPROG))
-endif
-endif
-export TARPROG
-ASNAME=$(BINUTILSPREFIX)as
-LDNAME=$(BINUTILSPREFIX)ld
-ARNAME=$(BINUTILSPREFIX)ar
-RCNAME=$(BINUTILSPREFIX)rc
-ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
-ifeq ($(OS_TARGET),win32)
-ifeq ($(CROSSBINDIR),)
-ASNAME=asw
-LDNAME=ldw
-ARNAME=arw
-endif
-endif
-endif
-ifndef ASPROG
-ifdef CROSSBINDIR
-ASPROG=$(CROSSBINDIR)/$(ASNAME)$(SRCEXEEXT)
-else
-ASPROG=$(ASNAME)
-endif
-endif
-ifndef LDPROG
-ifdef CROSSBINDIR
-LDPROG=$(CROSSBINDIR)/$(LDNAME)$(SRCEXEEXT)
-else
-LDPROG=$(LDNAME)
-endif
-endif
-ifndef RCPROG
-ifdef CROSSBINDIR
-RCPROG=$(CROSSBINDIR)/$(RCNAME)$(SRCEXEEXT)
-else
-RCPROG=$(RCNAME)
-endif
-endif
-ifndef ARPROG
-ifdef CROSSBINDIR
-ARPROG=$(CROSSBINDIR)/$(ARNAME)$(SRCEXEEXT)
-else
-ARPROG=$(ARNAME)
-endif
-endif
-AS=$(ASPROG)
-LD=$(LDPROG)
-RC=$(RCPROG)
-AR=$(ARPROG)
-PPAS=ppas$(SRCBATCHEXT)
-ifdef inUnix
-LDCONFIG=ldconfig
-else
-LDCONFIG=
-endif
-ifdef DATE
-DATESTR:=$(shell $(DATE) +%Y%m%d)
-else
-DATESTR=
-endif
-ifndef UPXPROG
-ifeq ($(OS_TARGET),go32v2)
-UPXPROG:=1
-endif
-ifeq ($(OS_TARGET),win32)
-UPXPROG:=1
-endif
-ifdef UPXPROG
-UPXPROG:=$(strip $(wildcard $(addsuffix /upx$(SRCEXEEXT),$(SEARCHPATH))))
-ifeq ($(UPXPROG),)
-UPXPROG=
-else
-UPXPROG:=$(firstword $(UPXPROG))
-endif
-else
-UPXPROG=
-endif
-endif
-export UPXPROG
-ZIPOPT=-9
-ZIPEXT=.zip
-ifeq ($(USETAR),bz2)
-TAROPT=vj
-TAREXT=.tar.bz2
-else
-TAROPT=vz
-TAREXT=.tar.gz
-endif
-override REQUIRE_PACKAGES=rtl opengl
-ifeq ($(FULL_TARGET),i386-linux)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_X11=1
-REQUIRE_PACKAGES_OPENGL=1
-endif
-ifeq ($(FULL_TARGET),i386-go32v2)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_OPENGL=1
-endif
-ifeq ($(FULL_TARGET),i386-win32)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_OPENGL=1
-endif
-ifeq ($(FULL_TARGET),i386-os2)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_OPENGL=1
-endif
-ifeq ($(FULL_TARGET),i386-freebsd)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_X11=1
-REQUIRE_PACKAGES_OPENGL=1
-endif
-ifeq ($(FULL_TARGET),i386-beos)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_OPENGL=1
-endif
-ifeq ($(FULL_TARGET),i386-netbsd)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_X11=1
-REQUIRE_PACKAGES_OPENGL=1
-endif
-ifeq ($(FULL_TARGET),i386-solaris)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_OPENGL=1
-endif
-ifeq ($(FULL_TARGET),i386-qnx)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_OPENGL=1
-endif
-ifeq ($(FULL_TARGET),i386-netware)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_OPENGL=1
-endif
-ifeq ($(FULL_TARGET),i386-openbsd)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_X11=1
-REQUIRE_PACKAGES_OPENGL=1
-endif
-ifeq ($(FULL_TARGET),i386-wdosx)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_OPENGL=1
-endif
-ifeq ($(FULL_TARGET),i386-darwin)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_X11=1
-REQUIRE_PACKAGES_OPENGL=1
-endif
-ifeq ($(FULL_TARGET),i386-emx)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_OPENGL=1
-endif
-ifeq ($(FULL_TARGET),i386-watcom)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_OPENGL=1
-endif
-ifeq ($(FULL_TARGET),i386-netwlibc)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_OPENGL=1
-endif
-ifeq ($(FULL_TARGET),i386-wince)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_OPENGL=1
-endif
-ifeq ($(FULL_TARGET),i386-embedded)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_OPENGL=1
-endif
-ifeq ($(FULL_TARGET),i386-symbian)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_OPENGL=1
-endif
-ifeq ($(FULL_TARGET),m68k-linux)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_X11=1
-REQUIRE_PACKAGES_OPENGL=1
-endif
-ifeq ($(FULL_TARGET),m68k-freebsd)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_X11=1
-REQUIRE_PACKAGES_OPENGL=1
-endif
-ifeq ($(FULL_TARGET),m68k-netbsd)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_X11=1
-REQUIRE_PACKAGES_OPENGL=1
-endif
-ifeq ($(FULL_TARGET),m68k-amiga)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_OPENGL=1
-endif
-ifeq ($(FULL_TARGET),m68k-atari)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_OPENGL=1
-endif
-ifeq ($(FULL_TARGET),m68k-openbsd)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_X11=1
-REQUIRE_PACKAGES_OPENGL=1
-endif
-ifeq ($(FULL_TARGET),m68k-palmos)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_OPENGL=1
-endif
-ifeq ($(FULL_TARGET),m68k-embedded)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_OPENGL=1
-endif
-ifeq ($(FULL_TARGET),powerpc-linux)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_X11=1
-REQUIRE_PACKAGES_OPENGL=1
-endif
-ifeq ($(FULL_TARGET),powerpc-netbsd)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_X11=1
-REQUIRE_PACKAGES_OPENGL=1
-endif
-ifeq ($(FULL_TARGET),powerpc-amiga)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_OPENGL=1
-endif
-ifeq ($(FULL_TARGET),powerpc-macos)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_OPENGL=1
-endif
-ifeq ($(FULL_TARGET),powerpc-darwin)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_X11=1
-REQUIRE_PACKAGES_OPENGL=1
-endif
-ifeq ($(FULL_TARGET),powerpc-morphos)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_OPENGL=1
-endif
-ifeq ($(FULL_TARGET),powerpc-embedded)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_OPENGL=1
-endif
-ifeq ($(FULL_TARGET),sparc-linux)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_X11=1
-REQUIRE_PACKAGES_OPENGL=1
-endif
-ifeq ($(FULL_TARGET),sparc-netbsd)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_X11=1
-REQUIRE_PACKAGES_OPENGL=1
-endif
-ifeq ($(FULL_TARGET),sparc-solaris)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_OPENGL=1
-endif
-ifeq ($(FULL_TARGET),sparc-embedded)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_OPENGL=1
-endif
-ifeq ($(FULL_TARGET),x86_64-linux)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_X11=1
-REQUIRE_PACKAGES_OPENGL=1
-endif
-ifeq ($(FULL_TARGET),x86_64-freebsd)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_X11=1
-REQUIRE_PACKAGES_OPENGL=1
-endif
-ifeq ($(FULL_TARGET),x86_64-darwin)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_X11=1
-REQUIRE_PACKAGES_OPENGL=1
-endif
-ifeq ($(FULL_TARGET),x86_64-win64)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_OPENGL=1
-endif
-ifeq ($(FULL_TARGET),x86_64-embedded)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_OPENGL=1
-endif
-ifeq ($(FULL_TARGET),arm-linux)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_X11=1
-REQUIRE_PACKAGES_OPENGL=1
-endif
-ifeq ($(FULL_TARGET),arm-palmos)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_OPENGL=1
-endif
-ifeq ($(FULL_TARGET),arm-wince)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_OPENGL=1
-endif
-ifeq ($(FULL_TARGET),arm-gba)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_OPENGL=1
-endif
-ifeq ($(FULL_TARGET),arm-nds)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_OPENGL=1
-endif
-ifeq ($(FULL_TARGET),arm-embedded)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_OPENGL=1
-endif
-ifeq ($(FULL_TARGET),arm-symbian)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_OPENGL=1
-endif
-ifeq ($(FULL_TARGET),powerpc64-linux)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_X11=1
-REQUIRE_PACKAGES_OPENGL=1
-endif
-ifeq ($(FULL_TARGET),powerpc64-darwin)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_X11=1
-REQUIRE_PACKAGES_OPENGL=1
-endif
-ifeq ($(FULL_TARGET),powerpc64-embedded)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_OPENGL=1
-endif
-ifdef REQUIRE_PACKAGES_RTL
-PACKAGEDIR_RTL:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /rtl/Makefile.fpc,$(PACKAGESDIR))))))
-ifneq ($(PACKAGEDIR_RTL),)
-ifneq ($(wildcard $(PACKAGEDIR_RTL)/units/$(TARGETSUFFIX)),)
-UNITDIR_RTL=$(PACKAGEDIR_RTL)/units/$(TARGETSUFFIX)
-else
-UNITDIR_RTL=$(PACKAGEDIR_RTL)
-endif
-ifdef CHECKDEPEND
-$(PACKAGEDIR_RTL)/$(FPCMADE):
- $(MAKE) -C $(PACKAGEDIR_RTL) $(FPCMADE)
-override ALLDEPENDENCIES+=$(PACKAGEDIR_RTL)/$(FPCMADE)
-endif
-else
-PACKAGEDIR_RTL=
-UNITDIR_RTL:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /rtl/Package.fpc,$(UNITSDIR)))))
-ifneq ($(UNITDIR_RTL),)
-UNITDIR_RTL:=$(firstword $(UNITDIR_RTL))
-else
-UNITDIR_RTL=
-endif
-endif
-ifdef UNITDIR_RTL
-override COMPILER_UNITDIR+=$(UNITDIR_RTL)
-endif
-endif
-ifdef REQUIRE_PACKAGES_X11
-PACKAGEDIR_X11:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /x11/Makefile.fpc,$(PACKAGESDIR))))))
-ifneq ($(PACKAGEDIR_X11),)
-ifneq ($(wildcard $(PACKAGEDIR_X11)/units/$(TARGETSUFFIX)),)
-UNITDIR_X11=$(PACKAGEDIR_X11)/units/$(TARGETSUFFIX)
-else
-UNITDIR_X11=$(PACKAGEDIR_X11)
-endif
-ifdef CHECKDEPEND
-$(PACKAGEDIR_X11)/$(FPCMADE):
- $(MAKE) -C $(PACKAGEDIR_X11) $(FPCMADE)
-override ALLDEPENDENCIES+=$(PACKAGEDIR_X11)/$(FPCMADE)
-endif
-else
-PACKAGEDIR_X11=
-UNITDIR_X11:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /x11/Package.fpc,$(UNITSDIR)))))
-ifneq ($(UNITDIR_X11),)
-UNITDIR_X11:=$(firstword $(UNITDIR_X11))
-else
-UNITDIR_X11=
-endif
-endif
-ifdef UNITDIR_X11
-override COMPILER_UNITDIR+=$(UNITDIR_X11)
-endif
-endif
-ifdef REQUIRE_PACKAGES_OPENGL
-PACKAGEDIR_OPENGL:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /opengl/Makefile.fpc,$(PACKAGESDIR))))))
-ifneq ($(PACKAGEDIR_OPENGL),)
-ifneq ($(wildcard $(PACKAGEDIR_OPENGL)/units/$(TARGETSUFFIX)),)
-UNITDIR_OPENGL=$(PACKAGEDIR_OPENGL)/units/$(TARGETSUFFIX)
-else
-UNITDIR_OPENGL=$(PACKAGEDIR_OPENGL)
-endif
-ifdef CHECKDEPEND
-$(PACKAGEDIR_OPENGL)/$(FPCMADE):
- $(MAKE) -C $(PACKAGEDIR_OPENGL) $(FPCMADE)
-override ALLDEPENDENCIES+=$(PACKAGEDIR_OPENGL)/$(FPCMADE)
-endif
-else
-PACKAGEDIR_OPENGL=
-UNITDIR_OPENGL:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /opengl/Package.fpc,$(UNITSDIR)))))
-ifneq ($(UNITDIR_OPENGL),)
-UNITDIR_OPENGL:=$(firstword $(UNITDIR_OPENGL))
-else
-UNITDIR_OPENGL=
-endif
-endif
-ifdef UNITDIR_OPENGL
-override COMPILER_UNITDIR+=$(UNITDIR_OPENGL)
-endif
-endif
-ifndef NOCPUDEF
-override FPCOPTDEF=$(CPU_TARGET)
-endif
-ifneq ($(OS_TARGET),$(OS_SOURCE))
-override FPCOPT+=-T$(OS_TARGET)
-endif
-ifneq ($(CPU_TARGET),$(CPU_SOURCE))
-override FPCOPT+=-P$(CPU_TARGET)
-endif
-ifeq ($(OS_SOURCE),openbsd)
-override FPCOPT+=-FD$(NEW_BINUTILS_PATH)
-endif
-ifndef CROSSBOOTSTRAP
-ifneq ($(BINUTILSPREFIX),)
-override FPCOPT+=-XP$(BINUTILSPREFIX)
-endif
-ifneq ($(BINUTILSPREFIX),)
-override FPCOPT+=-Xr$(RLINKPATH)
-endif
-endif
-ifdef UNITDIR
-override FPCOPT+=$(addprefix -Fu,$(UNITDIR))
-endif
-ifdef LIBDIR
-override FPCOPT+=$(addprefix -Fl,$(LIBDIR))
-endif
-ifdef OBJDIR
-override FPCOPT+=$(addprefix -Fo,$(OBJDIR))
-endif
-ifdef INCDIR
-override FPCOPT+=$(addprefix -Fi,$(INCDIR))
-endif
-ifdef LINKSMART
-override FPCOPT+=-XX
-endif
-ifdef CREATESMART
-override FPCOPT+=-CX
-endif
-ifdef DEBUG
-override FPCOPT+=-gl
-override FPCOPTDEF+=DEBUG
-endif
-ifdef RELEASE
-ifneq ($(findstring 2.0.,$(FPC_VERSION)),)
-ifeq ($(CPU_TARGET),i386)
-FPCCPUOPT:=-OG2p3
-endif
-ifeq ($(CPU_TARGET),powerpc)
-FPCCPUOPT:=-O1r
-endif
-else
-FPCCPUOPT:=-O2
-endif
-override FPCOPT+=-Ur -Xs $(FPCCPUOPT) -n
-override FPCOPTDEF+=RELEASE
-endif
-ifdef STRIP
-override FPCOPT+=-Xs
-endif
-ifdef OPTIMIZE
-override FPCOPT+=-O2
-endif
-ifdef VERBOSE
-override FPCOPT+=-vwni
-endif
-ifdef COMPILER_OPTIONS
-override FPCOPT+=$(COMPILER_OPTIONS)
-endif
-ifdef COMPILER_UNITDIR
-override FPCOPT+=$(addprefix -Fu,$(COMPILER_UNITDIR))
-endif
-ifdef COMPILER_LIBRARYDIR
-override FPCOPT+=$(addprefix -Fl,$(COMPILER_LIBRARYDIR))
-endif
-ifdef COMPILER_OBJECTDIR
-override FPCOPT+=$(addprefix -Fo,$(COMPILER_OBJECTDIR))
-endif
-ifdef COMPILER_INCLUDEDIR
-override FPCOPT+=$(addprefix -Fi,$(COMPILER_INCLUDEDIR))
-endif
-ifdef CROSSBINDIR
-override FPCOPT+=-FD$(CROSSBINDIR)
-endif
-ifdef COMPILER_TARGETDIR
-override FPCOPT+=-FE$(COMPILER_TARGETDIR)
-ifeq ($(COMPILER_TARGETDIR),.)
-override TARGETDIRPREFIX=
-else
-override TARGETDIRPREFIX=$(COMPILER_TARGETDIR)/
-endif
-endif
-ifdef COMPILER_UNITTARGETDIR
-override FPCOPT+=-FU$(COMPILER_UNITTARGETDIR)
-ifeq ($(COMPILER_UNITTARGETDIR),.)
-override UNITTARGETDIRPREFIX=
-else
-override UNITTARGETDIRPREFIX=$(COMPILER_UNITTARGETDIR)/
-endif
-else
-ifdef COMPILER_TARGETDIR
-override COMPILER_UNITTARGETDIR=$(COMPILER_TARGETDIR)
-override UNITTARGETDIRPREFIX=$(TARGETDIRPREFIX)
-endif
-endif
-ifdef CREATESHARED
-override FPCOPT+=-Cg
-ifeq ($(CPU_TARGET),i386)
-override FPCOPT+=-Aas
-endif
-endif
-ifeq ($(findstring 2.0.,$(FPC_VERSION)),)
-ifeq ($(OS_TARGET),linux)
-ifeq ($(CPU_TARGET),x86_64)
-override FPCOPT+=-Cg
-endif
-endif
-endif
-ifdef LINKSHARED
-endif
-ifdef GCCLIBDIR
-override FPCOPT+=-Fl$(GCCLIBDIR)
-endif
-ifdef OTHERLIBDIR
-override FPCOPT+=$(addprefix -Fl,$(OTHERLIBDIR))
-endif
-ifdef OPT
-override FPCOPT+=$(OPT)
-endif
-ifdef FPCOPTDEF
-override FPCOPT+=$(addprefix -d,$(FPCOPTDEF))
-endif
-ifdef CFGFILE
-override FPCOPT+=@$(CFGFILE)
-endif
-ifdef USEENV
-override FPCEXTCMD:=$(FPCOPT)
-override FPCOPT:=!FPCEXTCMD
-export FPCEXTCMD
-endif
-override AFULL_TARGET=$(CPU_TARGET)-$(OS_TARGET)
-override AFULL_SOURCE=$(CPU_SOURCE)-$(OS_SOURCE)
-ifneq ($(AFULL_TARGET),$(AFULL_SOURCE))
-override ACROSSCOMPILE=1
-endif
-ifdef ACROSSCOMPILE
-override FPCOPT+=$(CROSSOPT)
-endif
-override COMPILER:=$(FPC) $(FPCOPT)
-ifeq (,$(findstring -s ,$(COMPILER)))
-EXECPPAS=
-else
-ifeq ($(FULL_SOURCE),$(FULL_TARGET))
-ifdef RUNBATCH
-EXECPPAS:=@$(RUNBATCH) $(PPAS)
-else
-EXECPPAS:=@$(PPAS)
-endif
-endif
-endif
-.PHONY: fpc_exes
-ifndef CROSSINSTALL
-ifneq ($(TARGET_PROGRAMS),)
-override EXEFILES=$(addsuffix $(EXEEXT),$(TARGET_PROGRAMS))
-override EXEOFILES:=$(addsuffix $(OEXT),$(TARGET_PROGRAMS)) $(addprefix $(STATICLIBPREFIX),$(addsuffix $(STATICLIBEXT),$(TARGET_PROGRAMS))) $(addprefix $(IMPORTLIBPREFIX),$(addsuffix $(STATICLIBEXT),$(TARGET_PROGRAMS)))
-override ALLTARGET+=fpc_exes
-override INSTALLEXEFILES+=$(EXEFILES)
-override CLEANEXEFILES+=$(EXEFILES) $(EXEOFILES)
-ifeq ($(OS_TARGET),os2)
-override CLEANEXEFILES+=$(addsuffix $(AOUTEXT),$(TARGET_PROGRAMS))
-endif
-ifeq ($(OS_TARGET),emx)
-override CLEANEXEFILES+=$(addsuffix $(AOUTEXT),$(TARGET_PROGRAMS))
-endif
-endif
-endif
-fpc_exes: $(COMPILER_TARGETDIR) $(COMPILER_UNITTARGETDIR) $(EXEFILES)
-ifdef TARGET_RSTS
-override RSTFILES=$(addsuffix $(RSTEXT),$(TARGET_RSTS))
-override CLEANRSTFILES+=$(RSTFILES)
-endif
-.PHONY: fpc_all fpc_smart fpc_debug fpc_release fpc_shared
-$(FPCMADE): $(ALLDEPENDENCIES) $(ALLTARGET)
- @$(ECHOREDIR) Compiled > $(FPCMADE)
-fpc_all: $(FPCMADE)
-fpc_smart:
- $(MAKE) all LINKSMART=1 CREATESMART=1
-fpc_debug:
- $(MAKE) all DEBUG=1
-fpc_release:
- $(MAKE) all RELEASE=1
-.SUFFIXES: $(EXEEXT) $(PPUEXT) $(OEXT) .pas .lpr .dpr .pp .rc .res
-$(COMPILER_UNITTARGETDIR):
- $(MKDIRTREE) $(COMPILER_UNITTARGETDIR)
-$(COMPILER_TARGETDIR):
- $(MKDIRTREE) $(COMPILER_TARGETDIR)
-%$(PPUEXT): %.pp
- $(COMPILER) $<
- $(EXECPPAS)
-%$(PPUEXT): %.pas
- $(COMPILER) $<
- $(EXECPPAS)
-%$(EXEEXT): %.pp
- $(COMPILER) $<
- $(EXECPPAS)
-%$(EXEEXT): %.pas
- $(COMPILER) $<
- $(EXECPPAS)
-%$(EXEEXT): %.lpr
- $(COMPILER) $<
- $(EXECPPAS)
-%$(EXEEXT): %.dpr
- $(COMPILER) $<
- $(EXECPPAS)
-%.res: %.rc
- windres -i $< -o $@
-vpath %.pp $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
-vpath %.pas $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
-vpath %.lpr $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
-vpath %.dpr $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
-vpath %.inc $(COMPILER_INCLUDEDIR)
-vpath %$(OEXT) $(COMPILER_UNITTARGETDIR)
-vpath %$(PPUEXT) $(COMPILER_UNITTARGETDIR)
-.PHONY: fpc_shared
-override INSTALLTARGET+=fpc_shared_install
-ifndef SHARED_LIBVERSION
-SHARED_LIBVERSION=$(FPC_VERSION)
-endif
-ifndef SHARED_LIBNAME
-SHARED_LIBNAME=$(PACKAGE_NAME)
-endif
-ifndef SHARED_FULLNAME
-SHARED_FULLNAME=$(SHAREDLIBPREFIX)$(SHARED_LIBNAME)-$(SHARED_LIBVERSION)$(SHAREDLIBEXT)
-endif
-ifndef SHARED_LIBUNITS
-SHARED_LIBUNITS:=$(TARGET_UNITS) $(TARGET_IMPLICITUNITS)
-override SHARED_LIBUNITS:=$(filter-out $(INSTALL_BUILDUNIT),$(SHARED_LIBUNITS))
-endif
-fpc_shared:
-ifdef HASSHAREDLIB
- $(MAKE) all CREATESHARED=1 LINKSHARED=1 CREATESMART=1
-ifneq ($(SHARED_BUILD),n)
- $(PPUMOVE) -q $(SHARED_LIBUNITS) -i$(COMPILER_UNITTARGETDIR) -o$(SHARED_FULLNAME) -d$(COMPILER_UNITTARGETDIR)
-endif
-else
- @$(ECHO) Shared Libraries not supported
-endif
-fpc_shared_install:
-ifneq ($(SHARED_BUILD),n)
-ifneq ($(SHARED_LIBUNITS),)
-ifneq ($(wildcard $(COMPILER_UNITTARGETDIR)/$(SHARED_FULLNAME)),)
- $(INSTALL) $(COMPILER_UNITTARGETDIR)/$(SHARED_FULLNAME) $(INSTALL_SHAREDDIR)
-endif
-endif
-endif
-.PHONY: fpc_install fpc_sourceinstall fpc_exampleinstall
-ifdef INSTALL_UNITS
-override INSTALLPPUFILES+=$(addsuffix $(PPUEXT),$(INSTALL_UNITS))
-endif
-ifdef INSTALL_BUILDUNIT
-override INSTALLPPUFILES:=$(filter-out $(INSTALL_BUILDUNIT)$(PPUEXT),$(INSTALLPPUFILES))
-endif
-ifdef INSTALLPPUFILES
-override INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES))) $(addprefix $(IMPORTLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES)))
-ifneq ($(UNITTARGETDIRPREFIX),)
-override INSTALLPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(notdir $(INSTALLPPUFILES)))
-override INSTALLPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(notdir $(INSTALLPPULINKFILES))))
-endif
-override INSTALL_CREATEPACKAGEFPC=1
-endif
-ifdef INSTALLEXEFILES
-ifneq ($(TARGETDIRPREFIX),)
-override INSTALLEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(notdir $(INSTALLEXEFILES)))
-endif
-endif
-fpc_install: all $(INSTALLTARGET)
-ifdef INSTALLEXEFILES
- $(MKDIR) $(INSTALL_BINDIR)
-ifdef UPXPROG
- -$(UPXPROG) $(INSTALLEXEFILES)
-endif
- $(INSTALLEXE) $(INSTALLEXEFILES) $(INSTALL_BINDIR)
-endif
-ifdef INSTALL_CREATEPACKAGEFPC
-ifdef FPCMAKE
-ifdef PACKAGE_VERSION
-ifneq ($(wildcard Makefile.fpc),)
- $(FPCMAKE) -p -T$(CPU_TARGET)-$(OS_TARGET) Makefile.fpc
- $(MKDIR) $(INSTALL_UNITDIR)
- $(INSTALL) Package.fpc $(INSTALL_UNITDIR)
-endif
-endif
-endif
-endif
-ifdef INSTALLPPUFILES
- $(MKDIR) $(INSTALL_UNITDIR)
- $(INSTALL) $(INSTALLPPUFILES) $(INSTALL_UNITDIR)
-ifneq ($(INSTALLPPULINKFILES),)
- $(INSTALL) $(INSTALLPPULINKFILES) $(INSTALL_UNITDIR)
-endif
-ifneq ($(wildcard $(LIB_FULLNAME)),)
- $(MKDIR) $(INSTALL_LIBDIR)
- $(INSTALL) $(LIB_FULLNAME) $(INSTALL_LIBDIR)
-ifdef inUnix
- ln -sf $(LIB_FULLNAME) $(INSTALL_LIBDIR)/$(LIB_NAME)
-endif
-endif
-endif
-ifdef INSTALL_FILES
- $(MKDIR) $(INSTALL_DATADIR)
- $(INSTALL) $(INSTALL_FILES) $(INSTALL_DATADIR)
-endif
-fpc_sourceinstall: distclean
- $(MKDIR) $(INSTALL_SOURCEDIR)
- $(COPYTREE) $(BASEDIR)/* $(INSTALL_SOURCEDIR)
-fpc_exampleinstall: $(addsuffix _distclean,$(TARGET_EXAMPLEDIRS))
-ifdef HASEXAMPLES
- $(MKDIR) $(INSTALL_EXAMPLEDIR)
-endif
-ifdef EXAMPLESOURCEFILES
- $(COPY) $(EXAMPLESOURCEFILES) $(INSTALL_EXAMPLEDIR)
-endif
-ifdef TARGET_EXAMPLEDIRS
- $(COPYTREE) $(addsuffix /*,$(TARGET_EXAMPLEDIRS)) $(INSTALL_EXAMPLEDIR)
-endif
-.PHONY: fpc_clean fpc_cleanall fpc_distclean
-ifdef EXEFILES
-override CLEANEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(CLEANEXEFILES))
-endif
-ifdef CLEAN_UNITS
-override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
-endif
-ifdef CLEANPPUFILES
-override CLEANPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES))) $(addprefix $(IMPORTLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES)))
-ifdef DEBUGSYMEXT
-override CLEANPPULINKFILES+=$(subst $(PPUEXT),$(DEBUGSYMEXT),$(CLEANPPUFILES))
-endif
-override CLEANPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPUFILES))
-override CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
-endif
-fpc_clean: $(CLEANTARGET)
-ifdef CLEANEXEFILES
- -$(DEL) $(CLEANEXEFILES)
-endif
-ifdef CLEANPPUFILES
- -$(DEL) $(CLEANPPUFILES)
-endif
-ifneq ($(CLEANPPULINKFILES),)
- -$(DEL) $(CLEANPPULINKFILES)
-endif
-ifdef CLEANRSTFILES
- -$(DEL) $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANRSTFILES))
-endif
-ifdef CLEAN_FILES
- -$(DEL) $(CLEAN_FILES)
-endif
-ifdef LIB_NAME
- -$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
-endif
- -$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
- -$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
-fpc_cleanall: $(CLEANTARGET)
-ifdef CLEANEXEFILES
- -$(DEL) $(CLEANEXEFILES)
-endif
-ifdef COMPILER_UNITTARGETDIR
-ifdef CLEANPPUFILES
- -$(DEL) $(CLEANPPUFILES)
-endif
-ifneq ($(CLEANPPULINKFILES),)
- -$(DEL) $(CLEANPPULINKFILES)
-endif
-ifdef CLEANRSTFILES
- -$(DEL) $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANRSTFILES))
-endif
-endif
- -$(DELTREE) units
- -$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
-ifneq ($(PPUEXT),.ppu)
- -$(DEL) *.o *.ppu *.a
-endif
- -$(DELTREE) *$(SMARTEXT)
- -$(DEL) fpcmade.* Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
- -$(DEL) *_ppas$(BATCHEXT)
-ifdef AOUTEXT
- -$(DEL) *$(AOUTEXT)
-endif
-ifdef DEBUGSYMEXT
- -$(DEL) *$(DEBUGSYMEXT)
-endif
-fpc_distclean: cleanall
-.PHONY: fpc_baseinfo
-override INFORULES+=fpc_baseinfo
-fpc_baseinfo:
- @$(ECHO)
- @$(ECHO) == Package info ==
- @$(ECHO) Package Name..... $(PACKAGE_NAME)
- @$(ECHO) Package Version.. $(PACKAGE_VERSION)
- @$(ECHO)
- @$(ECHO) == Configuration info ==
- @$(ECHO)
- @$(ECHO) FPC.......... $(FPC)
- @$(ECHO) FPC Version.. $(FPC_VERSION)
- @$(ECHO) Source CPU... $(CPU_SOURCE)
- @$(ECHO) Target CPU... $(CPU_TARGET)
- @$(ECHO) Source OS.... $(OS_SOURCE)
- @$(ECHO) Target OS.... $(OS_TARGET)
- @$(ECHO) Full Source.. $(FULL_SOURCE)
- @$(ECHO) Full Target.. $(FULL_TARGET)
- @$(ECHO) SourceSuffix. $(SOURCESUFFIX)
- @$(ECHO) TargetSuffix. $(TARGETSUFFIX)
- @$(ECHO)
- @$(ECHO) == Directory info ==
- @$(ECHO)
- @$(ECHO) Required pkgs... $(REQUIRE_PACKAGES)
- @$(ECHO)
- @$(ECHO) Basedir......... $(BASEDIR)
- @$(ECHO) FPCDir.......... $(FPCDIR)
- @$(ECHO) CrossBinDir..... $(CROSSBINDIR)
- @$(ECHO) UnitsDir........ $(UNITSDIR)
- @$(ECHO) PackagesDir..... $(PACKAGESDIR)
- @$(ECHO)
- @$(ECHO) GCC library..... $(GCCLIBDIR)
- @$(ECHO) Other library... $(OTHERLIBDIR)
- @$(ECHO)
- @$(ECHO) == Tools info ==
- @$(ECHO)
- @$(ECHO) As........ $(AS)
- @$(ECHO) Ld........ $(LD)
- @$(ECHO) Ar........ $(AR)
- @$(ECHO) Rc........ $(RC)
- @$(ECHO)
- @$(ECHO) Mv........ $(MVPROG)
- @$(ECHO) Cp........ $(CPPROG)
- @$(ECHO) Rm........ $(RMPROG)
- @$(ECHO) GInstall.. $(GINSTALL)
- @$(ECHO) Echo...... $(ECHO)
- @$(ECHO) Shell..... $(SHELL)
- @$(ECHO) Date...... $(DATE)
- @$(ECHO) FPCMake... $(FPCMAKE)
- @$(ECHO) PPUMove... $(PPUMOVE)
- @$(ECHO) Upx....... $(UPXPROG)
- @$(ECHO) Zip....... $(ZIPPROG)
- @$(ECHO)
- @$(ECHO) == Object info ==
- @$(ECHO)
- @$(ECHO) Target Loaders........ $(TARGET_LOADERS)
- @$(ECHO) Target Units.......... $(TARGET_UNITS)
- @$(ECHO) Target Implicit Units. $(TARGET_IMPLICITUNITS)
- @$(ECHO) Target Programs....... $(TARGET_PROGRAMS)
- @$(ECHO) Target Dirs........... $(TARGET_DIRS)
- @$(ECHO) Target Examples....... $(TARGET_EXAMPLES)
- @$(ECHO) Target ExampleDirs.... $(TARGET_EXAMPLEDIRS)
- @$(ECHO)
- @$(ECHO) Clean Units......... $(CLEAN_UNITS)
- @$(ECHO) Clean Files......... $(CLEAN_FILES)
- @$(ECHO)
- @$(ECHO) Install Units....... $(INSTALL_UNITS)
- @$(ECHO) Install Files....... $(INSTALL_FILES)
- @$(ECHO)
- @$(ECHO) == Install info ==
- @$(ECHO)
- @$(ECHO) DateStr.............. $(DATESTR)
- @$(ECHO) ZipName.............. $(ZIPNAME)
- @$(ECHO) ZipPrefix............ $(ZIPPREFIX)
- @$(ECHO) ZipCrossPrefix....... $(ZIPCROSSPREFIX)
- @$(ECHO) ZipSuffix............ $(ZIPSUFFIX)
- @$(ECHO) FullZipName.......... $(FULLZIPNAME)
- @$(ECHO) Install FPC Package.. $(INSTALL_FPCPACKAGE)
- @$(ECHO)
- @$(ECHO) Install base dir..... $(INSTALL_BASEDIR)
- @$(ECHO) Install binary dir... $(INSTALL_BINDIR)
- @$(ECHO) Install library dir.. $(INSTALL_LIBDIR)
- @$(ECHO) Install units dir.... $(INSTALL_UNITDIR)
- @$(ECHO) Install source dir... $(INSTALL_SOURCEDIR)
- @$(ECHO) Install doc dir...... $(INSTALL_DOCDIR)
- @$(ECHO) Install example dir.. $(INSTALL_EXAMPLEDIR)
- @$(ECHO) Install data dir..... $(INSTALL_DATADIR)
- @$(ECHO)
- @$(ECHO) Dist destination dir. $(DIST_DESTDIR)
- @$(ECHO) Dist zip name........ $(DIST_ZIPNAME)
- @$(ECHO)
-.PHONY: fpc_info
-fpc_info: $(INFORULES)
-.PHONY: fpc_makefile fpc_makefiles fpc_makefile_sub1 fpc_makefile_sub2 \
- fpc_makefile_dirs
-fpc_makefile:
- $(FPCMAKE) -w -T$(OS_TARGET) Makefile.fpc
-fpc_makefile_sub1:
-ifdef TARGET_DIRS
- $(FPCMAKE) -w -T$(OS_TARGET) $(addsuffix /Makefile.fpc,$(TARGET_DIRS))
-endif
-ifdef TARGET_EXAMPLEDIRS
- $(FPCMAKE) -w -T$(OS_TARGET) $(addsuffix /Makefile.fpc,$(TARGET_EXAMPLEDIRS))
-endif
-fpc_makefile_sub2: $(addsuffix _makefile_dirs,$(TARGET_DIRS) $(TARGET_EXAMPLEDIRS))
-fpc_makefile_dirs: fpc_makefile_sub1 fpc_makefile_sub2
-fpc_makefiles: fpc_makefile fpc_makefile_dirs
-all: fpc_all
-debug: fpc_debug
-smart: fpc_smart
-release: fpc_release
-units: fpc_units
-examples:
-shared: fpc_shared
-install: fpc_install
-sourceinstall: fpc_sourceinstall
-exampleinstall: fpc_exampleinstall
-distinstall:
-zipinstall:
-zipsourceinstall:
-zipexampleinstall:
-zipdistinstall:
-clean: fpc_clean
-distclean: fpc_distclean
-cleanall: fpc_cleanall
-info: fpc_info
-makefiles: fpc_makefiles
-.PHONY: all debug smart release units examples shared install sourceinstall exampleinstall distinstall zipinstall zipsourceinstall zipexampleinstall zipdistinstall clean distclean cleanall info makefiles
-ifneq ($(wildcard fpcmake.loc),)
-include fpcmake.loc
-endif
-.NOTPARALLEL:
diff --git a/packages/extra/opengl/examples/Makefile.fpc b/packages/extra/opengl/examples/Makefile.fpc
deleted file mode 100644
index cdccbc173e..0000000000
--- a/packages/extra/opengl/examples/Makefile.fpc
+++ /dev/null
@@ -1,28 +0,0 @@
-#
-# Makefile.fpc for GL demos
-#
-
-[target]
-programs=glutdemo morph3d bounce radblur
-programs_linux=glxtest
-programs_freebsd=glxtest
-programs_netbsd=glxtest
-programs_openbsd=glxtest
-programs_darwin=glxtest
-
-[require]
-packages=opengl
-
-[install]
-fpcpackage=y
-
-[compiler]
-options=-S2h
-
-[default]
-fpcdir=../../../..
-
-
-
-[rules]
-.NOTPARALLEL:
diff --git a/packages/extra/opengl/examples/bounce.pp b/packages/extra/opengl/examples/bounce.pp
deleted file mode 100644
index b0ff677c1d..0000000000
--- a/packages/extra/opengl/examples/bounce.pp
+++ /dev/null
@@ -1,246 +0,0 @@
-{
- Bouncing ball demo. Color index mode only!
-
- This program is in the public domain
- Brian Paul
-
- Converted to Pascal by Peter Vreman
-}
-program bounce;
-
-{$mode objfpc}
-
-uses
- gl,glut;
-
-const
- RED=1;
- WHITE=2;
- CYAN=3;
-
-var
- IndexMode : Boolean;
- Ball : GLuint;
-
-const
- Zrot : GLfloat = 0.0;
- Zstep : GLfloat = 6.0;
- Xpos : GLfloat = 0.0;
- Ypos : GLfloat = 1.0;
- Xvel : GLfloat = 0.2;
- Yvel : GLfloat = 0.0;
- Xmin : GLfloat = -4.0;
- Xmax : GLfloat = 4.0;
- Ymin : GLfloat = -3.8;
- Ymax : GLfloat = 4.0;
- G : GLfloat = -0.1;
-
-
-function make_ball:GLuint;
-var
- list : GLuint;
- a,b,
- ar,br : GLFloat;
- da,db,
- dar : GLFloat;
- radius : GLFloat;
- color : boolean;
- x,y,z : GLFloat;
-begin
- da:=18.0;
- db:=18.0;
- radius:=1.0;
-
- list := glGenLists(1);
-
- glNewList(list, GL_COMPILE);
-
- color := false;
- a:=-90.0;
- while (a+da<=90.0) do
- begin
- glBegin(GL_QUAD_STRIP);
-
- b:=0.0;
- while (b<=360.0) do
- begin
- if (color) then
- begin
- glIndexi(RED);
- glColor3f(1, 0, 0);
- end
- else
- begin
- glIndexi(WHITE);
- glColor3f(1, 1, 1);
- end;
-
- ar:=a * 3.14159/180.0;
- br:=b * 3.14159/180.0;
- x := COS(br) * COS(ar);
- y := SIN(br) * COS(ar);
- z := SIN(ar);
- glVertex3f(x, y, z);
-
- dar:=da * 3.14159/180.0;
- x := radius * COS(br) * COS(ar + dar);
- y := radius * SIN(br) * COS(ar + dar);
- z := radius * SIN(ar + dar);
- glVertex3f(x, y, z);
-
- color := not color;
- b:=b+db;
- end;
-
- glEnd();
- a:=a+da;
- end;
-
- glEndList();
-
- make_ball:=list;
-end;
-
-
-procedure reshape(width,height:longint); cdecl;
-var
- aspect : glFloat;
-begin
- aspect := glfloat(width) / glfloat(height);
- glViewport(0, 0, width, height);
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-6.0 * aspect, 6.0 * aspect, -6.0, 6.0, -6.0, 6.0);
- glMatrixMode(GL_MODELVIEW);
-end;
-
-
-procedure key(k:byte;x,y:longint); cdecl;
-begin
- case k of
- 27 :
- halt(0);
- end;
-end;
-
-
-procedure draw; cdecl;
-var
- i : GLint;
-begin
- glClear(GL_COLOR_BUFFER_BIT);
-
- glIndexi(CYAN);
- glColor3f(0, 1, 1);
- glBegin(GL_LINES);
- for i:=-5 to 5 do
- begin
- glVertex2i(i, -5);
- glVertex2i(i, 5);
- end;
- for i:=-5 to 5 do
- begin
- glVertex2i(-5, i);
- glVertex2i(5, i);
- end;
- for i:=-5 to 5 do
- begin
- glVertex2i(i, -5);
- glVertex2f(i * 1.15, -5.9);
- end;
- glVertex2f(-5.3, -5.35);
- glVertex2f(5.3, -5.35);
- glVertex2f(-5.75, -5.9);
- glVertex2f(5.75, -5.9);
- glEnd();
-
- glPushMatrix();
- glTranslatef(Xpos, Ypos, 0.0);
- glScalef(2.0, 2.0, 2.0);
- glRotatef(8.0, 0.0, 0.0, 1.0);
- glRotatef(90.0, 1.0, 0.0, 0.0);
- glRotatef(Zrot, 0.0, 0.0, 1.0);
-
- glCallList(Ball);
-
- glPopMatrix();
-
- glFlush();
- glutSwapBuffers();
-end;
-
-
-const
- vel0 : glfloat = -100.0;
-procedure idle; cdecl;
-begin
- Zrot:=Zrot+Zstep;
- Xpos:=Xpos+Xvel;
- if (Xpos >= Xmax) then
- begin
- Xpos := Xmax;
- Xvel := -Xvel;
- Zstep := -Zstep;
- end;
- if (Xpos <= Xmin) then
- begin
- Xpos := Xmin;
- Xvel := -Xvel;
- Zstep := -Zstep;
- end;
- Ypos:=Ypos+Yvel;
- Yvel:=Yvel+G;
- if (Ypos < Ymin) then
- begin
- Ypos := Ymin;
- if (vel0 = -100.0) then
- vel0 := abs(Yvel);
- Yvel := vel0;
- end;
- glutPostRedisplay();
-end;
-
-
-procedure visible(vis:longint); cdecl;
-begin
- if (vis=GLUT_VISIBLE) then
- glutIdleFunc(@idle)
- else
- glutIdleFunc(nil);
-end;
-
-
-begin
- glutInit(@argc, argv);
- glutInitWindowPosition(0, 0);
- glutInitWindowSize(600, 450);
-
- if paramcount>1 then
- IndexMode:=(paramstr(1)='-ci');
-
- if (IndexMode) then
- glutInitDisplayMode(GLUT_INDEX or GLUT_DOUBLE)
- else
- glutInitDisplayMode(GLUT_RGB or GLUT_DOUBLE);
-
- glutCreateWindow('Bounce');
- Ball := make_ball();
- glCullFace(GL_BACK);
- glEnable(GL_CULL_FACE);
- glDisable(GL_DITHER);
- glShadeModel(GL_FLAT);
-
- glutDisplayFunc(@draw);
- glutReshapeFunc(@reshape);
- glutVisibilityFunc(@visible);
- glutKeyboardFunc(@key);
-
- if (IndexMode) then
- begin
- glutSetColor(RED, 1.0, 0.0, 0.0);
- glutSetColor(WHITE, 1.0, 1.0, 1.0);
- glutSetColor(CYAN, 0.0, 1.0, 1.0);
- end;
-
- glutMainLoop();
-end.
diff --git a/packages/extra/opengl/examples/glutdemo.pp b/packages/extra/opengl/examples/glutdemo.pp
deleted file mode 100644
index f59df1feb9..0000000000
--- a/packages/extra/opengl/examples/glutdemo.pp
+++ /dev/null
@@ -1,134 +0,0 @@
-{
- GL units for Free Pascal - GLUT demo
- 1999 Sebastian Guenther, sguenther@gmx.de
-
- You may use this source as starting point for your own programs; consider it
- as Public Domain.
-}
-
-{$mode objfpc}
-
-program GLUTDemo;
-uses
- GL, GLU, GLUT;
-
-const
-
- FPCImg: array[0..4, 0..10] of Byte =
- ((1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1),
- (1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0),
- (1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0),
- (1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0),
- (1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1));
-
-var
- counter: Integer;
-
-
-const
- colors: array[0..7, 0..2] of Single =
- ((0, 0, 0), (0, 0, 1), (0, 1, 0), (0, 1, 1),
- (1, 0, 0), (1, 0, 1), (1, 1, 0), (1, 1, 1));
- corners: array[0..7, 0..2] of Single =
- ((-1, -1, -1), (+1, -1, -1), (+1, +1, -1), (-1, +1, -1),
- (-1, -1, +1), (+1, -1, +1), (+1, +1, +1), (-1, +1, +1));
-
-
-procedure DrawCube;
- procedure DrawSide(i1, i2, i3, i4: Integer);
- begin
- glColor4f (colors [i1, 0], colors [i1, 1], colors [i1, 2], 0.5);
- glVertex3f(corners[i1, 0], corners[i1, 1], corners[i1, 2]);
- glColor4f (colors [i2, 0], colors [i2, 1], colors [i2, 2], 0.5);
- glVertex3f(corners[i2, 0], corners[i2, 1], corners[i2, 2]);
- glColor4f (colors [i3, 0], colors [i3, 1], colors [i3, 2], 0.5);
- glVertex3f(corners[i3, 0], corners[i3, 1], corners[i3, 2]);
-
- glVertex3f(corners[i4, 0], corners[i4, 1], corners[i4, 2]);
- end;
-begin
- glBegin(GL_QUADS);
- DrawSide(4, 5, 6, 7); // Front
- DrawSide(3, 2, 1, 0); // Back
- DrawSide(2, 3, 7, 6); // Top
- DrawSide(0, 1, 5, 4); // Bottom
- DrawSide(4, 7, 3, 0); // Left
- DrawSide(1, 2, 6, 5); // Right
- glEnd;
-end;
-
-
-procedure DisplayWindow; cdecl;
-var
- x, y: Integer;
-begin
- Inc(counter);
-
- glClearColor(0, 0, 0.2, 1);
- glClear(GL_COLOR_BUFFER_BIT+GL_DEPTH_BUFFER_BIT);
-
- glPushMatrix;
- glTranslatef(0, 0, Sin(Single(counter) / 20.0) * 5.0 - 5.0);
- glRotatef(Sin(Single(counter) / 200.0) * 720.0, 0, 1, 0);
- glRotatef(counter, 0, 0, 1);
-
- for y := 0 to 4 do
- for x := 0 to 10 do
- if FPCImg[y, x] > 0 then begin
- glPushMatrix;
- glRotatef(x * Sin(Single(counter) / 5.0), 0, 1, 0);
- glRotatef(y * Sin(Single(counter) / 12.0) * 4.0, 0, 0, 1);
- glTranslatef((x - 5) * 1, (2 - y) * 1, 0);
- glScalef(0.4, 0.4, 0.4);
- glRotatef(counter, 0.5, 1, 0);
- DrawCube;
- glPopMatrix;
- end;
-
- glPopMatrix;
-
- Inc(counter);
-
- glutSwapBuffers;
-end;
-
-procedure OnTimer(value: Integer); cdecl;
-begin
- glutPostRedisplay;
- glutTimerFunc(20, @OnTimer, 0);
-end;
-
-begin
- glutInit(@argc, argv);
-
- glutInitDisplayMode(GLUT_RGB or GLUT_DOUBLE or GLUT_DEPTH);
- glutCreateWindow('Free Pascal GLUT demo');
- glutDisplayFunc(@DisplayWindow);
- glutTimerFunc(20, @OnTimer, 0);
-
- WriteLn;
- WriteLn('GL info:');
- WriteLn(' Vendor: ', PChar(glGetString(GL_VENDOR)));
- WriteLn(' Renderer: ', PChar(glGetString(GL_RENDERER)));
- WriteLn(' Version: ', PChar(glGetString(GL_VERSION)));
- WriteLn(' Extensions: ', PChar(glGetString(GL_EXTENSIONS)));
-
- // Enable backface culling
- glEnable(GL_CULL_FACE);
-
- // Set up depth buffer
- glEnable(GL_DEPTH_TEST);
- glDepthFunc(GL_LESS);
-
- // Set up projection matrix
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity;
- gluPerspective(90, 1.3, 0.1, 100);
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity;
- glTranslatef(0, 0, -5.5);
-
- WriteLn('Starting...');
- glutMainLoop;
-
-end.
diff --git a/packages/extra/opengl/examples/glxtest.pp b/packages/extra/opengl/examples/glxtest.pp
deleted file mode 100644
index 1bb52f95be..0000000000
--- a/packages/extra/opengl/examples/glxtest.pp
+++ /dev/null
@@ -1,110 +0,0 @@
-{
- GLX demo for FreePascal
- 2005 Bart Tierens, BTierens@netscape.net
-
- This program is in the public domain
-
- Warning: This demo works only with FreePascal 2.1 and better, due to changes to the glx header
-}
-program glxTest;
-
-{$MODE delphi}
-
-uses glx,unix,x,xlib,xutil,gl,glu;
-
-var
- attr: Array[0..8] of integer = (GLX_RGBA,GLX_RED_SIZE,1,GLX_GREEN_SIZE,1,GLX_BLUE_SIZE,1,GLX_DOUBLEBUFFER,none);
- visinfo: PXVisualInfo;
- cm: TColormap;
- winAttr: TXSetWindowAttributes;
- glXCont: GLXContext;
- dpy: PDisplay;
- win: TWindow;
-
-procedure redraw();
-begin
- glClear(GL_COLOR_BUFFER_BIT);
-
- glTranslatef(-0.5,-0.5,-2);
- glBegin(GL_QUADS);
- glColor3f(1,0,0);
- glVertex3f(0,0,0);
- glColor3f(0,1,0);
- glVertex3f(1,0,0);
- glColor3f(0,0,1);
- glVertex3f(1,1,0);
- glColor3f(1,1,1);
- glVertex3f(0,1,0);
- glEnd();
-
- glXSwapBuffers(dpy, win); //Swap the buffers
-end;
-
-procedure resize(width,height: integer);
-begin
- glViewport(0,0,width,height);
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- gluPerspective(45,width/height,0.1,200);
- glMatrixMode(GL_MODELVIEW);
-end;
-
-procedure loop();
-var
- event: TXEvent;
-begin
- while true do
- begin
- XNextEvent(dpy,@event);
- case event._type of
- Expose: redraw();
- ConfigureNotify: resize(event.xconfigure.width,event.xconfigure.height);
- KeyPress: halt(1);
- end;
- end;
-end;
-
-var
- errorBase,eventBase: integer;
- window_title_property: TXTextProperty;
- title: String;
-begin
- initGlx();
- dpy := XOpenDisplay(nil);
- if(dpy = nil) then
- writeLn('Error: Could not connect to X server');
-
- if not (glXQueryExtension(dpy,errorBase,eventBase)) then
- writeLn('Error: GLX extension not supported');
-
- visinfo := glXChooseVisual(dpy,DefaultScreen(dpy), Attr);
- if(visinfo = nil) then
- writeLn('Error: Could not find visual');
-
- //Create a new colormap
- cm := XCreateColormap(dpy,RootWindow(dpy,visinfo.screen),visinfo.visual,AllocNone);
- winAttr.colormap := cm;
- winAttr.border_pixel := 0;
- winAttr.background_pixel := 0;
- winAttr.event_mask := ExposureMask or ButtonPressMask or StructureNotifyMask or KeyPressMask;
-
- //Create a window
- win := XCreateWindow(dpy,RootWindow(dpy,visinfo.screen),0,0,640,480,0,visinfo.depth,InputOutput,visinfo.visual,CWBorderPixel or CWColormap or CWEventMask,@winAttr);
-
- title := 'FreePascal GLX demo --------- Press any key to exit';
- XStringListToTextProperty(@title,1,@window_title_property);
- XSetWMName(dpy,win,@window_title_property);
-
- //Create an OpenGL rendering context
- glXCont := glXCreateContext(dpy,visinfo,none,true);
- if(glXCont = nil) then
- writeLn('Error: Could not create an OpenGL rendering context');
-
- //Make it current
- glXMakeCurrent(dpy,win,glXCont);
-
- //Map the window on the display
- XMapWindow(dpy,win);
-
- loop();
-end. \ No newline at end of file
diff --git a/packages/extra/opengl/examples/morph3d.pp b/packages/extra/opengl/examples/morph3d.pp
deleted file mode 100644
index 3896a24688..0000000000
--- a/packages/extra/opengl/examples/morph3d.pp
+++ /dev/null
@@ -1,915 +0,0 @@
-{
- *-
- * morph3d.c - Shows 3D morphing objects
- *
- * Converted to GLUT by brianp on 1/1/98
- * Converted to FreePascal by Peter Vreman on 9/3/2000
- *
- * This program was inspired on a WindowsNT(R)'s screen saver. It was written
- * from scratch and it was not based on any other source code.
- *
- * Porting it to xlock (the final objective of this code since the moment I
- * decided to create it) was possible by comparing the original Mesa's gear
- * demo with it's ported version, so thanks for Danny Sung for his indirect
- * help (look at gear.c in xlock source tree). NOTE: At the moment this code
- * was sent to Brian Paul for package inclusion, the XLock Version was not
- * available. In fact, I'll wait it to appear on the next Mesa release (If you
- * are reading this, it means THIS release) to send it for xlock package
- * inclusion). It will probably there be a GLUT version too.
- *
- * Thanks goes also to Brian Paul for making it possible and inexpensive
- * to use OpenGL at home. *
- * Since I'm not a native english speaker, my apologies for any gramatical
- * mistake.
- *
- * My e-mail addresses are
- *
- * vianna@cat.cbpf.br
- * and
- * marcelo@venus.rdc.puc-rio.br
- *
- * Marcelo F. Vianna (Feb-13-1997)
- */
-}
-program morph3d;
-
-{$mode objfpc}
-
-{
-This document is VERY incomplete, but tries to describe the mathematics used
-in the program. At this moment it just describes how the polyhedra are
-generated. On futhurer versions, this document will be probabbly improved.
-
-Since I'm not a native english speaker, my apologies for any gramatical
-mistake.
-
-Marcelo Fernandes Vianna
-- Undergraduate in Computer Engeneering at Catholic Pontifical University
-- of Rio de Janeiro (PUC-Rio) Brasil.
-- e-mail: vianna@cat.cbpf.br or marcelo@venus.rdc.puc-rio.br
-- Feb-13-1997
-
-POLYHEDRA GENERATION
-
-For the purpose of this program it's not sufficient to know the polyhedra
-vertexes coordinates. Since the morphing algorithm applies a nonlinear
-transformation over the surfaces (faces) of the polyhedron, each face has
-to be divided into smaller ones. The morphing algorithm needs to transform
-each vertex of these smaller faces individually. It's a very time consoming
-task.
-
-In order to reduce calculation overload, and since all the macro faces of
-the polyhedron are transformed by the same way, the generation is made by
-creating only one face of the polyhedron, morphing it and then rotating it
-around the polyhedron center.
-
-What we need to know is the face radius of the polyhedron (the radius of
-the inscribed sphere) and the angle between the center of two adjacent
-faces using the center of the sphere as the angle's vertex.
-
-The face radius of the regular polyhedra are known values which I decided
-to not waste my time calculating. Following is a table of face radius for
-the regular polyhedra with edge length = 1:
-
- TETRAHEDRON : 1/(2*sqrt(2))/sqrt(3)
- CUBE : 1/2
- OCTAHEDRON : 1/sqrt(6)
- DODECAHEDRON : T^2 * sqrt((T+2)/5) / 2 -> where T=(sqrt(5)+1)/2
- ICOSAHEDRON : (3*sqrt(3)+sqrt(15))/12
-
-I've not found any reference about the mentioned angles, so I needed to
-calculate them, not a trivial task until I figured out how :)
-Curiously these angles are the same for the tetrahedron and octahedron.
-A way to obtain this value is inscribing the tetrahedron inside the cube
-by matching their vertexes. So you'll notice that the remaining unmatched
-vertexes are in the same straight line starting in the cube/tetrahedron
-center and crossing the center of each tetrahedron's face. At this point
-it's easy to obtain the bigger angle of the isosceles triangle formed by
-the center of the cube and two opposite vertexes on the same cube face.
-The edges of this triangle have the following lenghts: sqrt(2) for the base
-and sqrt(3)/2 for the other two other edges. So the angle we want is:
- +-----------------------------------------------------------+
- | 2*ARCSIN(sqrt(2)/sqrt(3)) = 109.47122063449069174 degrees |
- +-----------------------------------------------------------+
-For the cube this angle is obvious, but just for formality it can be
-easily obtained because we also know it's isosceles edge lenghts:
-sqrt(2)/2 for the base and 1/2 for the other two edges. So the angle we
-want is:
- +-----------------------------------------------------------+
- | 2*ARCSIN((sqrt(2)/2)/1) = 90.000000000000000000 degrees |
- +-----------------------------------------------------------+
-For the octahedron we use the same idea used for the tetrahedron, but now
-we inscribe the cube inside the octahedron so that all cubes's vertexes
-matches excatly the center of each octahedron's face. It's now clear that
-this angle is the same of the thetrahedron one:
- +-----------------------------------------------------------+
- | 2*ARCSIN(sqrt(2)/sqrt(3)) = 109.47122063449069174 degrees |
- +-----------------------------------------------------------+
-For the dodecahedron it's a little bit harder because it's only relationship
-with the cube is useless to us. So we need to solve the problem by another
-way. The concept of Face radius also exists on 2D polygons with the name
-Edge radius:
- Edge Radius For Pentagon (ERp)
- ERp = (1/2)/TAN(36 degrees) * VRp = 0.6881909602355867905
- (VRp is the pentagon's vertex radio).
- Face Radius For Dodecahedron
- FRd = T^2 * sqrt((T+2)/5) / 2 = 1.1135163644116068404
-Why we need ERp? Well, ERp and FRd segments forms a 90 degrees angle,
-completing this triangle, the lesser angle is a half of the angle we are
-looking for, so this angle is:
- +-----------------------------------------------------------+
- | 2*ARCTAN(ERp/FRd) = 63.434948822922009981 degrees |
- +-----------------------------------------------------------+
-For the icosahedron we can use the same method used for dodecahedron (well
-the method used for dodecahedron may be used for all regular polyhedra)
- Edge Radius For Triangle (this one is well known: 1/3 of the triangle height)
- ERt = sin(60)/3 = sqrt(3)/6 = 0.2886751345948128655
- Face Radius For Icosahedron
- FRi= (3*sqrt(3)+sqrt(15))/12 = 0.7557613140761707538
-So the angle is:
- +-----------------------------------------------------------+
- | 2*ARCTAN(ERt/FRi) = 41.810314895778596167 degrees |
- +-----------------------------------------------------------+
-}
-
-uses
- GL,GLUT;
-
-type
- float = single;
-
-const
- Scale = 0.3;
-
-// #define sqr(A) ((A)*(A))
-
-// Increasing this values produces better image quality, the price is speed.
-// Very low values produces erroneous/incorrect plotting
- tetradivisions = 23;
- cubedivisions = 20;
- octadivisions = 21;
- dodecadivisions = 10;
- icodivisions = 15;
-
- tetraangle = 109.47122063449069174;
- cubeangle = 90.000000000000000000;
- octaangle = 109.47122063449069174;
- dodecaangle = 63.434948822922009981;
- icoangle = 41.810314895778596167;
-
-//#define Pi 3.1415926535897932385
- SQRT2 = 1.4142135623730951455;
- SQRT3 = 1.7320508075688771932;
- SQRT5 = 2.2360679774997898051;
- SQRT6 = 2.4494897427831778813;
- SQRT15 = 3.8729833462074170214;
- cossec36_2 = 0.8506508083520399322;
- cos72 = 0.3090169943749474241;
- sin72 = 0.9510565162951535721;
- cos36 = 0.8090169943749474241;
- sin36 = 0.5877852522924731292;
-
-{*************************************************************************}
-
-const
- mono : boolean=false;
- smooth : boolean=true;
-var
- WindH,WindW : GLint;
- step,seno : GLFloat;
- _object : glint;
- edgedivisions : glint;
- draw_object : procedure;
- Magnitude : glfloat;
- MaterialColor : array[0..19] of pglfloat;
-
-const
- front_shininess : array[0..0] of glfloat = (60.0);
- front_specular : array[0..3] of glfloat = ( 0.7, 0.7, 0.7, 1.0 );
- ambient : array[0..3] of glfloat = ( 0.0, 0.0, 0.0, 1.0 );
- diffuse : array[0..3] of glfloat = ( 1.0, 1.0, 1.0, 1.0 );
- position0 : array[0..3] of glfloat = ( 1.0, 1.0, 1.0, 0.0 );
- position1 : array[0..3] of glfloat = (-1.0,-1.0, 1.0, 0.0 );
- lmodel_ambient : array[0..3] of glfloat = ( 0.5, 0.5, 0.5, 1.0 );
- lmodel_twoside : array[0..0] of glfloat = (GL_TRUE);
-
- MaterialRed : array[0..3] of glfloat = ( 0.7, 0.0, 0.0, 1.0 );
- MaterialGreen : array[0..3] of glfloat = ( 0.1, 0.5, 0.2, 1.0 );
- MaterialBlue : array[0..3] of glfloat = ( 0.0, 0.0, 0.7, 1.0 );
- MaterialCyan : array[0..3] of glfloat = ( 0.2, 0.5, 0.7, 1.0 );
- MaterialYellow : array[0..3] of glfloat = ( 0.7, 0.7, 0.0, 1.0 );
- MaterialMagenta : array[0..3] of glfloat = ( 0.6, 0.2, 0.5, 1.0 );
- MaterialWhite : array[0..3] of glfloat = ( 0.7, 0.7, 0.7, 1.0 );
- MaterialGray : array[0..3] of glfloat = ( 0.2, 0.2, 0.2, 1.0 );
-
-
-procedure TRIANGLE(Edge,Amp:GLFloat; Divisions: longint; Z:GLFloat);
-var
- Xf,Yf,Xa,Yb,Xf2,Yf2 : Extended;
- Factor,Factor1,Factor2 : GLfloat;
- VertX,VertY,VertZ,NeiAX,NeiAY,NeiAZ,NeiBX,NeiBY,NeiBZ : GLfloat;
- Ax,Ay,Bx : GLfloat;
- Ri,Ti : longint;
- Vr : GLfloat;
- AmpVr2 : GLfloat;
- Zf : GLfloat;
-begin
- Vr:=(Edge)*SQRT3/3;
- AmpVr2:=(Amp)/sqr(Vr);
- Zf:=(Edge)*(Z);
-
- Ax:=(Edge)*(+0.5/(Divisions));
- Ay:=(Edge)*(-SQRT3/(2*Divisions));
- Bx:=(Edge)*(-0.5/(Divisions));
-
- for Ri:=1 to Divisions do
- begin
- glBegin(GL_TRIANGLE_STRIP);
- for Ti:=0 to Ri-1 do
- begin
- Xf:=(Ri-Ti)*Ax + Ti*Bx;
- Yf:=Vr+(Ri-Ti)*Ay + Ti*Ay;
- Xa:=Xf+0.001; Yb:=Yf+0.001;
- Xf2:=sqr(Xf);
- Yf2:=sqr(Yf);
- Factor:=1-(((Xf2)+(Yf2))*AmpVr2);
- Factor1:=1-((sqr(Xa)+Yf2)*AmpVr2);
- Factor2:=1-((Xf2+sqr(Yb))*AmpVr2);
- VertX:=Factor*Xf; VertY:=Factor*Yf; VertZ:=Factor*Zf;
- NeiAX:=Factor1*Xa-VertX; NeiAY:=Factor1*Yf-VertY; NeiAZ:=Factor1*Zf-VertZ;
- NeiBX:=Factor2*Xf-VertX; NeiBY:=Factor2*Yb-VertY; NeiBZ:=Factor2*Zf-VertZ;
- glNormal3f(NeiAY*NeiBZ-NeiAZ*NeiBY,NeiAZ*NeiBX-NeiAX*NeiBZ,NeiAX*NeiBY-NeiAY*NeiBX);
- glVertex3f(VertX, VertY, VertZ);
-
- Xf:=(Ri-Ti-1)*Ax + Ti*Bx;
- Yf:=Vr+(Ri-Ti-1)*Ay + Ti*Ay;
- Xa:=Xf+0.001; Yb:=Yf+0.001;
- Xf2:=sqr(Xf);
- Yf2:=sqr(Yf);
- Factor:=1-(((Xf2)+(Yf2))*AmpVr2);
- Factor1:=1-((sqr(Xa)+Yf2)*AmpVr2);
- Factor2:=1-((Xf2+sqr(Yb))*AmpVr2);
- VertX:=Factor*Xf; VertY:=Factor*Yf; VertZ:=Factor*Zf;
- NeiAX:=Factor1*Xa-VertX; NeiAY:=Factor1*Yf-VertY; NeiAZ:=Factor1*Zf-VertZ;
- NeiBX:=Factor2*Xf-VertX; NeiBY:=Factor2*Yb-VertY; NeiBZ:=Factor2*Zf-VertZ;
- glNormal3f(NeiAY*NeiBZ-NeiAZ*NeiBY,NeiAZ*NeiBX-NeiAX*NeiBZ,NeiAX*NeiBY-NeiAY*NeiBX);
- glVertex3f(VertX, VertY, VertZ);
- end;
- Xf:=Ri*Bx;
- Yf:=Vr+Ri*Ay;
- Xa:=Xf+0.001; Yb:=Yf+0.001;
- Xf2:=sqr(Xf);
- Yf2:=sqr(Yf);
- Factor:=1-((Xf2+Yf2)*AmpVr2);
- Factor1:=1-((sqr(Xa)+Yf2)*AmpVr2);
- Factor2:=1-((Xf2+sqr(Yb))*AmpVr2);
- VertX:=Factor*Xf; VertY:=Factor*Yf; VertZ:=Factor*Zf;
- NeiAX:=Factor1*Xa-VertX; NeiAY:=Factor1*Yf-VertY; NeiAZ:=Factor1*Zf-VertZ;
- NeiBX:=Factor2*Xf-VertX; NeiBY:=Factor2*Yb-VertY; NeiBZ:=Factor2*Zf-VertZ;
- glNormal3f(NeiAY*NeiBZ-NeiAZ*NeiBY,NeiAZ*NeiBX-NeiAX*NeiBZ,NeiAX*NeiBY-NeiAY*NeiBX);
- glVertex3f(VertX, VertY, VertZ);
- glEnd();
- end;
-end;
-
-
-procedure SQUARE(Edge,Amp:GLFloat; Divisions: longint; Z:GLFloat);
-var
- Xi,Yi : longint;
- Xf,Yf,Y,Y2,Xf2,Yf2,Xa,Yb : GLfloat;
- Factor,Factor1,Factor2 : GLfloat;
- VertX,VertY,VertZ,NeiAX,NeiAY,NeiAZ,NeiBX,NeiBY,NeiBZ : GLfloat;
- AmpVr2 : GLfloat;
- Zf : GLfloat;
-begin
- AmpVr2:=(Amp)/sqr((Edge)*SQRT2/2);
- Zf:=(Edge)*(Z);
-
- for Yi:=0 to Divisions-1 do
- begin
- Yf:=-((Edge)/2.0) + (Yi)/(Divisions)*(Edge);
- Yf2:=sqr(Yf);
- Y:=Yf+1.0/(Divisions)*(Edge);
- Y2:=sqr(Y);
- glBegin(GL_QUAD_STRIP);
- for Xi:=0 to Divisions do
- begin
- Xf:=-((Edge)/2.0) + (Xi)/(Divisions)*(Edge);
- Xf2:=sqr(Xf);
-
- Xa:=Xf+0.001; Yb:=Y+0.001;
- Factor:=1-((Xf2+Y2)*AmpVr2);
- Factor1:=1-((sqr(Xa)+Y2)*AmpVr2);
- Factor2:=1-((Xf2+sqr(Yb))*AmpVr2);
- VertX:=Factor*Xf; VertY:=Factor*Y; VertZ:=Factor*Zf;
- NeiAX:=Factor1*Xa-VertX; NeiAY:=Factor1*Y-VertY; NeiAZ:=Factor1*Zf-VertZ;
- NeiBX:=Factor2*Xf-VertX; NeiBY:=Factor2*Yb-VertY; NeiBZ:=Factor2*Zf-VertZ;
- glNormal3f(NeiAY*NeiBZ-NeiAZ*NeiBY,NeiAZ*NeiBX-NeiAX*NeiBZ,NeiAX*NeiBY-NeiAY*NeiBX);
- glVertex3f(VertX, VertY, VertZ);
-
- Xa:=Xf+0.001; Yb:=Yf+0.001;
- Factor:=1-((Xf2+Yf2)*AmpVr2);
- Factor1:=1-((sqr(Xa)+Yf2)*AmpVr2);
- Factor2:=1-((Xf2+sqr(Yb))*AmpVr2);
- VertX:=Factor*Xf; VertY:=Factor*Yf; VertZ:=Factor*Zf;
- NeiAX:=Factor1*Xa-VertX; NeiAY:=Factor1*Yf-VertY; NeiAZ:=Factor1*Zf-VertZ;
- NeiBX:=Factor2*Xf-VertX; NeiBY:=Factor2*Yb-VertY; NeiBZ:=Factor2*Zf-VertZ;
- glNormal3f(NeiAY*NeiBZ-NeiAZ*NeiBY,NeiAZ*NeiBX-NeiAX*NeiBZ,NeiAX*NeiBY-NeiAY*NeiBX);
- glVertex3f(VertX, VertY, VertZ);
- end;
- glEnd();
- end;
-end;
-
-procedure PENTAGON(Edge,Amp:GLFloat; Divisions: longint; Z:GLFloat);
-var
- Ri,Ti,Fi : longint;
- Xf,Yf,Xf2,Yf2,Xa,Yb : GLfloat;
- X,Y : array[0..5] of GLFloat;
- Factor,Factor1,Factor2 : GLfloat;
- VertX,VertY,VertZ,NeiAX,NeiAY,NeiAZ,NeiBX,NeiBY,NeiBZ : GLfloat;
- AmpVr2 : GLfloat;
- Zf : GLfloat;
-begin
- AmpVr2:=(Amp)/sqr((Edge)*cossec36_2);
- Zf:=(Edge)*(Z);
-
- for Fi:=0 to 5 do
- begin
- x[Fi]:=-cos( Fi*2*Pi/5 + Pi/10 )/(Divisions)*cossec36_2*(Edge);
- y[Fi]:=sin( Fi*2*Pi/5 + Pi/10 )/(Divisions)*cossec36_2*(Edge);
- end;
-
- for Ri:=1 to Divisions do
- begin
- for Fi:=0 to 4 do
- begin
- glBegin(GL_TRIANGLE_STRIP);
- for Ti:=0 to Ri-1 do
- begin
- Xf:=(Ri-Ti)*x[Fi] + Ti*x[Fi+1];
- Yf:=(Ri-Ti)*y[Fi] + Ti*y[Fi+1];
- Xa:=Xf+0.001; Yb:=Yf+0.001;
- Xf2:=sqr(Xf);
- Yf2:=sqr(Yf);
- Factor:=1-(((Xf2)+(Yf2))*AmpVr2);
- Factor1:=1-((sqr(Xa)+Yf2)*AmpVr2);
- Factor2:=1-((Xf2+sqr(Yb))*AmpVr2);
- VertX:=Factor*Xf; VertY:=Factor*Yf; VertZ:=Factor*Zf;
- NeiAX:=Factor1*Xa-VertX; NeiAY:=Factor1*Yf-VertY; NeiAZ:=Factor1*Zf-VertZ;
- NeiBX:=Factor2*Xf-VertX; NeiBY:=Factor2*Yb-VertY; NeiBZ:=Factor2*Zf-VertZ;
- glNormal3f(NeiAY*NeiBZ-NeiAZ*NeiBY,NeiAZ*NeiBX-NeiAX*NeiBZ,NeiAX*NeiBY-NeiAY*NeiBX);
- glVertex3f(VertX, VertY, VertZ);
-
- Xf:=(Ri-Ti-1)*x[Fi] + Ti*x[Fi+1];
- Yf:=(Ri-Ti-1)*y[Fi] + Ti*y[Fi+1];
- Xa:=Xf+0.001; Yb:=Yf+0.001;
- Xf2:=sqr(Xf);
- Yf2:=sqr(Yf);
- Factor:=1-(((Xf2)+(Yf2))*AmpVr2);
- Factor1:=1-((sqr(Xa)+Yf2)*AmpVr2);
- Factor2:=1-((Xf2+sqr(Yb))*AmpVr2);
- VertX:=Factor*Xf; VertY:=Factor*Yf; VertZ:=Factor*Zf;
- NeiAX:=Factor1*Xa-VertX; NeiAY:=Factor1*Yf-VertY; NeiAZ:=Factor1*Zf-VertZ;
- NeiBX:=Factor2*Xf-VertX; NeiBY:=Factor2*Yb-VertY; NeiBZ:=Factor2*Zf-VertZ;
- glNormal3f(NeiAY*NeiBZ-NeiAZ*NeiBY,NeiAZ*NeiBX-NeiAX*NeiBZ,NeiAX*NeiBY-NeiAY*NeiBX);
- glVertex3f(VertX, VertY, VertZ);
- end;
- Xf:=Ri*x[Fi+1];
- Yf:=Ri*y[Fi+1];
- Xa:=Xf+0.001; Yb:=Yf+0.001;
- Xf2:=sqr(Xf);
- Yf2:=sqr(Yf);
- Factor:=1-(((Xf2)+(Yf2))*AmpVr2);
- Factor1:=1-((sqr(Xa)+Yf2)*AmpVr2);
- Factor2:=1-((Xf2+sqr(Yb))*AmpVr2);
- VertX:=Factor*Xf; VertY:=Factor*Yf; VertZ:=Factor*Zf;
- NeiAX:=Factor1*Xa-VertX; NeiAY:=Factor1*Yf-VertY; NeiAZ:=Factor1*Zf-VertZ;
- NeiBX:=Factor2*Xf-VertX; NeiBY:=Factor2*Yb-VertY; NeiBZ:=Factor2*Zf-VertZ;
- glNormal3f(NeiAY*NeiBZ-NeiAZ*NeiBY,NeiAZ*NeiBX-NeiAX*NeiBZ,NeiAX*NeiBY-NeiAY*NeiBX);
- glVertex3f(VertX, VertY, VertZ);
- glEnd();
- end;
- end;
-end;
-
-
-procedure draw_tetra;
-var
- list : GLuint;
-begin
- list := glGenLists( 1 );
- glNewList( list, GL_COMPILE );
- TRIANGLE(2,seno,edgedivisions,0.5/SQRT6);
- glEndList();
-
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[0]);
- glCallList(list);
- glPushMatrix();
- glRotatef(180,0,0,1);
- glRotatef(-tetraangle,1,0,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[1]);
- glCallList(list);
- glPopMatrix();
- glPushMatrix();
- glRotatef(180,0,1,0);
- glRotatef(-180+tetraangle,0.5,SQRT3/2,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[2]);
- glCallList(list);
- glPopMatrix();
- glRotatef(180,0,1,0);
- glRotatef(-180+tetraangle,0.5,-SQRT3/2,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[3]);
- glCallList(list);
-
- glDeleteLists(list,1);
-end;
-
-
-procedure draw_cube;
-var
- list : GLuint;
-begin
- list := glGenLists( 1 );
- glNewList( list, GL_COMPILE );
- SQUARE(2, seno, edgedivisions, 0.5);
- glEndList();
-
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[0]);
- glCallList(list);
- glRotatef(cubeangle,1,0,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[1]);
- glCallList(list);
- glRotatef(cubeangle,1,0,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[2]);
- glCallList(list);
- glRotatef(cubeangle,1,0,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[3]);
- glCallList(list);
- glRotatef(cubeangle,0,1,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[4]);
- glCallList(list);
- glRotatef(2*cubeangle,0,1,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[5]);
- glCallList(list);
-
- glDeleteLists(list,1);
-end;
-
-
-procedure draw_octa;
-var
- list : GLuint;
-begin
- list := glGenLists( 1 );
- glNewList( list, GL_COMPILE );
- TRIANGLE(2,seno,edgedivisions,1/SQRT6);
- glEndList();
-
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[0]);
- glCallList(list);
- glPushMatrix();
- glRotatef(180,0,0,1);
- glRotatef(-180+octaangle,1,0,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[1]);
- glCallList(list);
- glPopMatrix();
- glPushMatrix();
- glRotatef(180,0,1,0);
- glRotatef(-octaangle,0.5,SQRT3/2,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[2]);
- glCallList(list);
- glPopMatrix();
- glPushMatrix();
- glRotatef(180,0,1,0);
- glRotatef(-octaangle,0.5,-SQRT3/2,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[3]);
- glCallList(list);
- glPopMatrix();
- glRotatef(180,1,0,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[4]);
- glCallList(list);
- glPushMatrix();
- glRotatef(180,0,0,1);
- glRotatef(-180+octaangle,1,0,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[5]);
- glCallList(list);
- glPopMatrix();
- glPushMatrix();
- glRotatef(180,0,1,0);
- glRotatef(-octaangle,0.5,SQRT3/2,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[6]);
- glCallList(list);
- glPopMatrix();
- glRotatef(180,0,1,0);
- glRotatef(-octaangle,0.5,-SQRT3/2,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[7]);
- glCallList(list);
-
- glDeleteLists(list,1);
-end;
-
-
-procedure draw_dodeca;
-const
- TAU = ((SQRT5+1)/2);
-var
- list : GLuint;
-begin
- list := glGenLists( 1 );
- glNewList( list, GL_COMPILE );
- PENTAGON(1,seno,edgedivisions,sqr(TAU) * sqrt((TAU+2)/5) / 2);
- glEndList();
-
- glPushMatrix();
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[0]);
- glCallList(list);
- glRotatef(180,0,0,1);
- glPushMatrix();
- glRotatef(-dodecaangle,1,0,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[1]);
- glCallList(list);
- glPopMatrix();
- glPushMatrix();
- glRotatef(-dodecaangle,cos72,sin72,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[2]);
- glCallList(list);
- glPopMatrix();
- glPushMatrix();
- glRotatef(-dodecaangle,cos72,-sin72,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[3]);
- glCallList(list);
- glPopMatrix();
- glPushMatrix();
- glRotatef(dodecaangle,cos36,-sin36,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[4]);
- glCallList(list);
- glPopMatrix();
- glRotatef(dodecaangle,cos36,sin36,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[5]);
- glCallList(list);
- glPopMatrix();
- glRotatef(180,1,0,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[6]);
- glCallList(list);
- glRotatef(180,0,0,1);
- glPushMatrix();
- glRotatef(-dodecaangle,1,0,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[7]);
- glCallList(list);
- glPopMatrix();
- glPushMatrix();
- glRotatef(-dodecaangle,cos72,sin72,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[8]);
- glCallList(list);
- glPopMatrix();
- glPushMatrix();
- glRotatef(-dodecaangle,cos72,-sin72,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[9]);
- glCallList(list);
- glPopMatrix();
- glPushMatrix();
- glRotatef(dodecaangle,cos36,-sin36,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[10]);
- glCallList(list);
- glPopMatrix();
- glRotatef(dodecaangle,cos36,sin36,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[11]);
- glCallList(list);
-
- glDeleteLists(list,1);
-end;
-
-
-procedure draw_ico;
-var
- list : GLuint;
-begin
- list := glGenLists( 1 );
- glNewList( list, GL_COMPILE );
- TRIANGLE(1.5,seno,edgedivisions,(3*SQRT3+SQRT15)/12);
- glEndList();
-
- glPushMatrix();
-
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[0]);
- glCallList(list);
- glPushMatrix();
- glRotatef(180,0,0,1);
- glRotatef(-icoangle,1,0,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[1]);
- glCallList(list);
- glPushMatrix();
- glRotatef(180,0,1,0);
- glRotatef(-180+icoangle,0.5,SQRT3/2,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[2]);
- glCallList(list);
- glPopMatrix();
- glRotatef(180,0,1,0);
- glRotatef(-180+icoangle,0.5,-SQRT3/2,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[3]);
- glCallList(list);
- glPopMatrix();
- glPushMatrix();
- glRotatef(180,0,1,0);
- glRotatef(-180+icoangle,0.5,SQRT3/2,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[4]);
- glCallList(list);
- glPushMatrix();
- glRotatef(180,0,1,0);
- glRotatef(-180+icoangle,0.5,SQRT3/2,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[5]);
- glCallList(list);
- glPopMatrix();
- glRotatef(180,0,0,1);
- glRotatef(-icoangle,1,0,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[6]);
- glCallList(list);
- glPopMatrix();
- glRotatef(180,0,1,0);
- glRotatef(-180+icoangle,0.5,-SQRT3/2,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[7]);
- glCallList(list);
- glPushMatrix();
- glRotatef(180,0,1,0);
- glRotatef(-180+icoangle,0.5,-SQRT3/2,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[8]);
- glCallList(list);
- glPopMatrix();
- glRotatef(180,0,0,1);
- glRotatef(-icoangle,1,0,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[9]);
- glCallList(list);
- glPopMatrix();
- glRotatef(180,1,0,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[10]);
- glCallList(list);
- glPushMatrix();
- glRotatef(180,0,0,1);
- glRotatef(-icoangle,1,0,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[11]);
- glCallList(list);
- glPushMatrix();
- glRotatef(180,0,1,0);
- glRotatef(-180+icoangle,0.5,SQRT3/2,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[12]);
- glCallList(list);
- glPopMatrix();
- glRotatef(180,0,1,0);
- glRotatef(-180+icoangle,0.5,-SQRT3/2,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[13]);
- glCallList(list);
- glPopMatrix();
- glPushMatrix();
- glRotatef(180,0,1,0);
- glRotatef(-180+icoangle,0.5,SQRT3/2,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[14]);
- glCallList(list);
- glPushMatrix();
- glRotatef(180,0,1,0);
- glRotatef(-180+icoangle,0.5,SQRT3/2,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[15]);
- glCallList(list);
- glPopMatrix();
- glRotatef(180,0,0,1);
- glRotatef(-icoangle,1,0,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[16]);
- glCallList(list);
- glPopMatrix();
- glRotatef(180,0,1,0);
- glRotatef(-180+icoangle,0.5,-SQRT3/2,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[17]);
- glCallList(list);
- glPushMatrix();
- glRotatef(180,0,1,0);
- glRotatef(-180+icoangle,0.5,-SQRT3/2,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[18]);
- glCallList(list);
- glPopMatrix();
- glRotatef(180,0,0,1);
- glRotatef(-icoangle,1,0,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[19]);
- glCallList(list);
-
- glDeleteLists(list,1);
-end;
-
-
-procedure do_draw; cdecl;
-begin
- glClear( GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT );
-
- glPushMatrix();
-
- glTranslatef( 0.0, 0.0, -10.0 );
- glScalef( Scale*WindH/WindW, Scale, Scale );
- glTranslatef(2.5*WindW/WindH*sin(step*1.11),2.5*cos(step*1.25*1.11),0);
- glRotatef(step*100,1,0,0);
- glRotatef(step*95,0,1,0);
- glRotatef(step*90,0,0,1);
-
- seno:=(sin(step)+1.0/3.0)*(4.0/5.0)*Magnitude;
-
- draw_object();
-
- glPopMatrix();
-
- glFlush();
-
- glutSwapBuffers();
-
- step:=step+0.05;
-end;
-
-
-procedure do_idle; cdecl;
-begin
- glutPostRedisplay();
-end;
-
-
-procedure do_reshape(width,height:longint); cdecl;
-begin
- WindW:=width;
- WindH:=height;
- glViewport(0, 0, width, height);
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glFrustum( -1.0, 1.0, -1.0, 1.0, 5.0, 15.0 );
- glMatrixMode(GL_MODELVIEW);
-end;
-
-
-procedure pinit;
-var
- loop : longint;
-begin
- case _object of
- 1 :
- begin
- draw_object:=@draw_tetra;
- MaterialColor[0]:=@MaterialRed;
- MaterialColor[1]:=@MaterialGreen;
- MaterialColor[2]:=@MaterialBlue;
- MaterialColor[3]:=@MaterialWhite;
- edgedivisions:=tetradivisions;
- Magnitude:=2.5;
- end;
- 2:
- begin
- draw_object:=@draw_cube;
- MaterialColor[0]:=@MaterialRed;
- MaterialColor[1]:=@MaterialGreen;
- MaterialColor[2]:=@MaterialCyan;
- MaterialColor[3]:=@MaterialMagenta;
- MaterialColor[4]:=@MaterialYellow;
- MaterialColor[5]:=@MaterialBlue;
- edgedivisions:=cubedivisions;
- Magnitude:=2.0;
- end;
- 3:
- begin
- draw_object:=@draw_octa;
- MaterialColor[0]:=MaterialRed;
- MaterialColor[1]:=MaterialGreen;
- MaterialColor[2]:=MaterialBlue;
- MaterialColor[3]:=MaterialWhite;
- MaterialColor[4]:=MaterialCyan;
- MaterialColor[5]:=MaterialMagenta;
- MaterialColor[6]:=MaterialGray;
- MaterialColor[7]:=MaterialYellow;
- edgedivisions:=octadivisions;
- Magnitude:=2.5;
- end;
- 4:
- begin
- draw_object:=@draw_dodeca;
- MaterialColor[ 0]:=MaterialRed;
- MaterialColor[ 1]:=MaterialGreen;
- MaterialColor[ 2]:=MaterialCyan;
- MaterialColor[ 3]:=MaterialBlue;
- MaterialColor[ 4]:=MaterialMagenta;
- MaterialColor[ 5]:=MaterialYellow;
- MaterialColor[ 6]:=MaterialGreen;
- MaterialColor[ 7]:=MaterialCyan;
- MaterialColor[ 8]:=MaterialRed;
- MaterialColor[ 9]:=MaterialMagenta;
- MaterialColor[10]:=MaterialBlue;
- MaterialColor[11]:=MaterialYellow;
- edgedivisions:=dodecadivisions;
- Magnitude:=2.0;
- end;
- 5:
- begin
- draw_object:=@draw_ico;
- MaterialColor[ 0]:=MaterialRed;
- MaterialColor[ 1]:=MaterialGreen;
- MaterialColor[ 2]:=MaterialBlue;
- MaterialColor[ 3]:=MaterialCyan;
- MaterialColor[ 4]:=MaterialYellow;
- MaterialColor[ 5]:=MaterialMagenta;
- MaterialColor[ 6]:=MaterialRed;
- MaterialColor[ 7]:=MaterialGreen;
- MaterialColor[ 8]:=MaterialBlue;
- MaterialColor[ 9]:=MaterialWhite;
- MaterialColor[10]:=MaterialCyan;
- MaterialColor[11]:=MaterialYellow;
- MaterialColor[12]:=MaterialMagenta;
- MaterialColor[13]:=MaterialRed;
- MaterialColor[14]:=MaterialGreen;
- MaterialColor[15]:=MaterialBlue;
- MaterialColor[16]:=MaterialCyan;
- MaterialColor[17]:=MaterialYellow;
- MaterialColor[18]:=MaterialMagenta;
- MaterialColor[19]:=MaterialGray;
- edgedivisions:=icodivisions;
- Magnitude:=2.5;
- end;
- end;
- if (mono) then
- begin
- for loop:=0 to 19 do
- MaterialColor[loop]:=MaterialGray;
- end;
- if (smooth) then
- glShadeModel( GL_SMOOTH )
- else
- glShadeModel( GL_FLAT );
-end;
-
-
-procedure do_key(k:byte;x,y:integer); cdecl;
-begin
- case Char(k) of
- '1' : _object:=1;
- '2' : _object:=2;
- '3' : _object:=3;
- '4' : _object:=4;
- '5' : _object:=5;
- ' ' : mono:=not mono;
- #13 : smooth:=not smooth;
- #27 : halt(0);
- end;
- pinit;
-end;
-
-
-begin
- writeln('Morph 3D - Shows morphing platonic polyhedra');
- writeln('Author: Marcelo Fernandes Vianna (vianna@cat.cbpf.br)');
- writeln(' [1] - Tetrahedron');
- writeln(' [2] - Hexahedron (Cube)');
- writeln(' [3] - Octahedron');
- writeln(' [4] - Dodecahedron');
- writeln(' [5] - Icosahedron');
- writeln('[SPACE] - Toggle colored faces');
- writeln('[RETURN] - Toggle smooth/flat shading');
- writeln(' [ESC] - Quit');
- _object:=3;
-
- glutInit(@argc, argv);
- glutInitWindowPosition(0,0);
- glutInitWindowSize(640,480);
-
- glutInitDisplayMode( GLUT_DEPTH + GLUT_DOUBLE + GLUT_RGB );
-
- if (glutCreateWindow('Morph 3D - Shows morphing platonic polyhedra') <= 0) then
- halt(1);
-
- glClearDepth(1.0);
- glClearColor( 0.0, 0.0, 0.0, 1.0 );
- glColor3f( 1.0, 1.0, 1.0 );
-
- glClear( GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT );
- glFlush();
- glutSwapBuffers();
-
- glLightfv(GL_LIGHT0, GL_AMBIENT, ambient);
- glLightfv(GL_LIGHT0, GL_DIFFUSE, diffuse);
- glLightfv(GL_LIGHT0, GL_POSITION, position0);
- glLightfv(GL_LIGHT1, GL_AMBIENT, ambient);
- glLightfv(GL_LIGHT1, GL_DIFFUSE, diffuse);
- glLightfv(GL_LIGHT1, GL_POSITION, position1);
- glLightModelfv(GL_LIGHT_MODEL_AMBIENT, lmodel_ambient);
- glLightModelfv(GL_LIGHT_MODEL_TWO_SIDE, lmodel_twoside);
- glEnable(GL_LIGHTING);
- glEnable(GL_LIGHT0);
- glEnable(GL_LIGHT1);
- glEnable(GL_DEPTH_TEST);
- glEnable(GL_NORMALIZE);
-
- glMaterialfv(GL_FRONT_AND_BACK, GL_SHININESS, front_shininess);
- glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, front_specular);
-
- glHint(GL_FOG_HINT, GL_FASTEST);
- glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_FASTEST);
- glHint(GL_POLYGON_SMOOTH_HINT, GL_FASTEST);
-
- pinit();
-
- glutReshapeFunc( @do_reshape );
- glutKeyboardFunc( @do_key );
- glutIdleFunc( @do_idle );
- glutDisplayFunc( @do_draw );
- glutMainLoop();
-end.
diff --git a/packages/extra/opengl/examples/radblur.pp b/packages/extra/opengl/examples/radblur.pp
deleted file mode 100644
index 60d4fb4ba9..0000000000
--- a/packages/extra/opengl/examples/radblur.pp
+++ /dev/null
@@ -1,375 +0,0 @@
-//------------------------------------------------------------------------
-//
-// Author : Dario Corno (rIo) / Jeff Molofee (NeHe)
-// Converted to Delphi : Jan Horn
-// Email : jhorn@global.co.za
-// Website : http://www.sulaco.co.za
-// Authors Web Site : http://www.spinningkids.org/rio
-// Date : 14 October 2001
-// Version : 1.0
-// Description : Radial Blur
-//
-// Adapted to FPC : Sebastian Guenther (sg@freepascal.org) 2001-11-21
-//
-//------------------------------------------------------------------------
-program RadialBlur;
-
-{$mode objfpc}
-
-uses GL, GLU, GLUT;
-
-const
- WND_TITLE = 'Radial Blur';
-
-type TVector = Array[0..2] of glFloat;
-var
- ElapsedTime : Integer; // Elapsed time between frames
-
- // Textures
- BlurTexture : glUint; // An Unsigned Int To Store The Texture Number
-
- // User vaiables
- Angle : glFloat;
- Vertexes : Array[0..3] of TVector;
- normal : TVector;
-
-const
- FPSCount : Integer = 0; // Counter for FPS
- // Lights and Materials
- globalAmbient : Array[0..3] of glFloat = (0.2, 0.2, 0.2, 1.0); // Set Ambient Lighting To Fairly Dark Light (No Color)
- Light0Pos : Array[0..3] of glFloat = (0.0, 5.0, 10.0, 1.0); // Set The Light Position
- Light0Ambient : Array[0..3] of glFloat = (0.2, 0.2, 0.2, 1.0); // More Ambient Light
- Light0Diffuse : Array[0..3] of glFloat = (0.3, 0.3, 0.3, 1.0); // Set The Diffuse Light A Bit Brighter
- Light0Specular : Array[0..3] of glFloat = (0.8, 0.8, 0.8, 1.0); // Fairly Bright Specular Lighting
-
- LmodelAmbient : Array[0..3] of glFloat = (0.2, 0.2, 0.2, 1.0); // And More Ambient Light
-
-
-function EmptyTexture : glUint;
-var txtnumber : glUint;
- pData : Pointer;
-begin
- // Create Storage Space For Texture Data (128x128x4)
- GetMem(pData, 128*128*4);
-
- glGenTextures(1, @txtnumber); // Create 1 Texture
- glBindTexture(GL_TEXTURE_2D, txtnumber); // Bind The Texture
- glTexImage2D(GL_TEXTURE_2D, 0, 4, 128, 128, 0, GL_RGBA, GL_UNSIGNED_BYTE, pData);
- glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
- glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
-
- result :=txtNumber;
-end;
-
-
-procedure ReduceToUnit(var vector : Array of glFloat);
-var length : glFLoat;
-begin
- // Calculates The Length Of The Vector
- length := sqrt((vector[0]*vector[0]) + (vector[1]*vector[1]) + (vector[2]*vector[2]));
- if Length = 0 then
- Length :=1;
-
- vector[0] :=vector[0] / length;
- vector[1] :=vector[1] / length;
- vector[2] :=vector[2] / length;
-end;
-
-
-procedure calcNormal(const v : Array of TVector; var cross : Array of glFloat);
-var v1, v2 : Array[0..2] of glFloat;
-begin
- // Finds The Vector Between 2 Points By Subtracting
- // The x,y,z Coordinates From One Point To Another.
-
- // Calculate The Vector From Point 1 To Point 0
- v1[0] := v[0][0] - v[1][0]; // Vector 1.x=Vertex[0].x-Vertex[1].x
- v1[1] := v[0][1] - v[1][1]; // Vector 1.y=Vertex[0].y-Vertex[1].y
- v1[2] := v[0][2] - v[1][2]; // Vector 1.z=Vertex[0].y-Vertex[1].z
- // Calculate The Vector From Point 2 To Point 1
- v2[0] := v[1][0] - v[2][0]; // Vector 2.x=Vertex[0].x-Vertex[1].x
- v2[1] := v[1][1] - v[2][1]; // Vector 2.y=Vertex[0].y-Vertex[1].y
- v2[2] := v[1][2] - v[2][2]; // Vector 2.z=Vertex[0].z-Vertex[1].z
- // Compute The Cross Product To Give Us A Surface Normal
- cross[0] := v1[1]*v2[2] - v1[2]*v2[1]; // Cross Product For Y - Z
- cross[1] := v1[2]*v2[0] - v1[0]*v2[2]; // Cross Product For X - Z
- cross[2] := v1[0]*v2[1] - v1[1]*v2[0]; // Cross Product For X - Y
-
- ReduceToUnit(cross); // Normalize The Vectors
-end;
-
-
-// Draws A Helix
-procedure ProcessHelix;
-const Twists = 5;
- MaterialColor : Array[1..4] of glFloat = (0.4, 0.2, 0.8, 1.0);
- Specular : Array[1..4] of glFloat = (1, 1, 1, 1);
-var x, y, z : glFLoat;
- phi, theta : Integer;
- r, u, v : glFLoat;
-begin
- glLoadIdentity(); // Reset The Modelview Matrix
- gluLookAt(0, 5, 50, 0, 0, 0, 0, 1, 0); // Eye Position (0,5,50) Center Of Scene (0,0,0), Up On Y Axis
-
- glPushMatrix(); // Push The Modelview Matrix
- glTranslatef(0,0,-50); // Translate 50 Units Into The Screen
- glRotatef(angle/2.0, 1, 0, 0); // Rotate By angle/2 On The X-Axis
- glRotatef(angle/3.0, 0, 1, 0); // Rotate By angle/3 On The Y-Axis
-
- glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE, @MaterialColor);
- glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, @specular);
-
- r :=1.5; // Radius
-
- glBegin(GL_QUADS); // Begin Drawing Quads
- phi :=0;
- while phi < 360 do
- begin
- theta :=0;
- while theta < 360*twists do
- begin
- v := phi / 180.0 * pi; // Calculate Angle Of First Point ( 0 )
- u := theta / 180.0 * pi; // Calculate Angle Of First Point ( 0 )
-
- x :=cos(u)*(2 + cos(v))*r; // Calculate x Position (1st Point)
- y :=sin(u)*(2 + cos(v))*r; // Calculate y Position (1st Point)
- z :=(u-(2*pi) + sin(v))*r; // Calculate z Position (1st Point)
-
- vertexes[0][0] :=x; // Set x Value Of First Vertex
- vertexes[0][1] :=y; // Set y Value Of First Vertex
- vertexes[0][2] :=z; // Set z Value Of First Vertex
-
- v :=(phi/180.0 * pi); // Calculate Angle Of Second Point ( 0 )
- u :=((theta+20)/180.0 * pi); // Calculate Angle Of Second Point ( 20 )
-
- x :=cos(u)*(2 + cos(v))*r; // Calculate x Position (2nd Point)
- y :=sin(u)*(2 + cos(v))*r; // Calculate y Position (2nd Point)
- z :=(u-(2*pi) + sin(v))*r; // Calculate z Position (2nd Point)
-
- vertexes[1][0] :=x; // Set x Value Of Second Vertex
- vertexes[1][1] :=y; // Set y Value Of Second Vertex
- vertexes[1][2] :=z; // Set z Value Of Second Vertex
-
- v :=(phi+20)/180.0*pi; // Calculate Angle Of Third Point ( 20 )
- u :=(theta+20)/180.0*pi; // Calculate Angle Of Third Point ( 20 )
-
- x :=cos(u)*(2 + cos(v))*r; // Calculate x Position (3rd Point)
- y :=sin(u)*(2 + cos(v))*r; // Calculate y Position (3rd Point)
- z :=(u-(2*pi) + sin(v))*r; // Calculate z Position (3rd Point)
-
- vertexes[2][0] :=x; // Set x Value Of Third Vertex
- vertexes[2][1] :=y; // Set y Value Of Third Vertex
- vertexes[2][2] :=z; // Set z Value Of Third Vertex
-
- v :=(phi+20)/180.0*pi; // Calculate Angle Of Fourth Point ( 20 )
- u :=theta / 180.0*pi; // Calculate Angle Of Fourth Point ( 0 )
-
- x :=cos(u)*(2 + cos(v))*r; // Calculate x Position (4th Point)
- y :=sin(u)*(2 + cos(v))*r; // Calculate y Position (4th Point)
- z :=(u-(2*pi) + sin(v))*r; // Calculate z Position (4th Point)
-
- vertexes[3][0] :=x; // Set x Value Of Fourth Vertex
- vertexes[3][1] :=y; // Set y Value Of Fourth Vertex
- vertexes[3][2] :=z; // Set z Value Of Fourth Vertex
-
- calcNormal(vertexes, normal); // Calculate The Quad Normal
-
- glNormal3f(normal[0],normal[1],normal[2]); // Set The Normal
-
- // Render The Quad
- glVertex3f(vertexes[0][0],vertexes[0][1],vertexes[0][2]);
- glVertex3f(vertexes[1][0],vertexes[1][1],vertexes[1][2]);
- glVertex3f(vertexes[2][0],vertexes[2][1],vertexes[2][2]);
- glVertex3f(vertexes[3][0],vertexes[3][1],vertexes[3][2]);
- theta := theta + 20;
- end;
- phi :=phi + 20;
- end;
- glEnd(); // Done Rendering Quads
- glPopMatrix(); // Pop The Matrix
-end;
-
-
-// Set Up An Ortho View
-procedure ViewOrtho;
-begin
- glMatrixMode(GL_PROJECTION); // Select Projection
- glPushMatrix(); // Push The Matrix
- glLoadIdentity(); // Reset The Matrix
- glOrtho( 0, 640 , 480 , 0, -1, 1 ); // Select Ortho Mode (640x480)
- glMatrixMode(GL_MODELVIEW); // Select Modelview Matrix
- glPushMatrix(); // Push The Matrix
- glLoadIdentity(); // Reset The Matrix
-end;
-
-
-// Set Up A Perspective View
-procedure ViewPerspective;
-begin
- glMatrixMode( GL_PROJECTION ); // Select Projection
- glPopMatrix(); // Pop The Matrix
- glMatrixMode( GL_MODELVIEW ); // Select Modelview
- glPopMatrix(); // Pop The Matrix
-end;
-
-
-// Renders To A Texture
-procedure RenderToTexture;
-begin
- glViewport(0, 0, 128, 128); // Set Our Viewport (Match Texture Size)
- ProcessHelix(); // Render The Helix
- glBindTexture(GL_TEXTURE_2D,BlurTexture); // Bind To The Blur Texture
-
- // Copy Our ViewPort To The Blur Texture (From 0,0 To 128,128... No Border)
- glCopyTexImage2D(GL_TEXTURE_2D, 0, GL_LUMINANCE, 0, 0, 128, 128, 0);
- glClearColor(0.0, 0.0, 0.5, 0.5); // Set The Clear Color To Medium Blue
- glClear(GL_COLOR_BUFFER_BIT OR GL_DEPTH_BUFFER_BIT); // Clear The Screen And Depth Buffer
- glViewport(0, 0, 640 ,480); // Set Viewport (0,0 to 640x480)
-end;
-
-
-// Draw The Blurred Image
-procedure DrawBlur(const times : Integer; const inc : glFloat);
-var spost, alpha, alphainc : glFloat;
- I : Integer;
-begin
- alpha := 0.2;
- spost := 0.0;
- glEnable(GL_TEXTURE_2D); // Enable 2D Texture Mapping
- glDisable(GL_DEPTH_TEST); // Disable Depth Testing
- glBlendFunc(GL_SRC_ALPHA,GL_ONE); // Set Blending Mode
- glEnable(GL_BLEND); // Enable Blending
- glBindTexture(GL_TEXTURE_2D,BlurTexture); // Bind To The Blur Texture
- ViewOrtho(); // Switch To An Ortho View
-
- alphainc := alpha / times; // alphainc=0.2f / Times To Render Blur
-
- glBegin(GL_QUADS); // Begin Drawing Quads
- // Number Of Times To Render Blur
- For I :=0 to times-1 do
- begin
- glColor4f(1.0, 1.0, 1.0, alpha); // Set The Alpha Value (Starts At 0.2)
- glTexCoord2f(0+spost,1-spost); // Texture Coordinate ( 0, 1 )
- glVertex2f(0,0); // First Vertex ( 0, 0 )
-
- glTexCoord2f(0+spost,0+spost); // Texture Coordinate ( 0, 0 )
- glVertex2f(0,480); // Second Vertex ( 0, 480 )
-
- glTexCoord2f(1-spost,0+spost); // Texture Coordinate ( 1, 0 )
- glVertex2f(640,480); // Third Vertex ( 640, 480 )
-
- glTexCoord2f(1-spost,1-spost); // Texture Coordinate ( 1, 1 )
- glVertex2f(640,0); // Fourth Vertex ( 640, 0 )
-
- spost := spost + inc; // Gradually Increase spost (Zooming Closer To Texture Center)
- alpha := alpha - alphainc; // Gradually Decrease alpha (Gradually Fading Image Out)
- end;
- glEnd(); // Done Drawing Quads
-
- ViewPerspective(); // Switch To A Perspective View
-
- glEnable(GL_DEPTH_TEST); // Enable Depth Testing
- glDisable(GL_TEXTURE_2D); // Disable 2D Texture Mapping
- glDisable(GL_BLEND); // Disable Blending
- glBindTexture(GL_TEXTURE_2D,0); // Unbind The Blur Texture
-end;
-
-{------------------------------------------------------------------}
-{ Function to draw the actual scene }
-{------------------------------------------------------------------}
-procedure glDraw;
-begin
- glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT); // Clear The Screen And The Depth Buffer
- glLoadIdentity(); // Reset The View
- RenderToTexture; // Render To A Texture
- ProcessHelix; // Draw Our Helix
- DrawBlur(25, 0.02); // Draw The Blur Effect
-
- angle :=ElapsedTime / 5.0; // Update angle Based On The Clock
-end;
-
-
-{------------------------------------------------------------------}
-{ Initialise OpenGL }
-{------------------------------------------------------------------}
-procedure glInit;
-begin
- glClearColor(0.0, 0.0, 0.0, 0.5); // Black Background
- glShadeModel(GL_SMOOTH); // Enables Smooth Color Shading
- glClearDepth(1.0); // Depth Buffer Setup
- glDepthFunc(GL_LESS); // The Type Of Depth Test To Do
-
- glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST); //Realy Nice perspective calculations
-
- glEnable(GL_DEPTH_TEST); // Enable Depth Buffer
- glEnable(GL_TEXTURE_2D); // Enable Texture Mapping
-
- glLightModelfv(GL_LIGHT_MODEL_AMBIENT, @LmodelAmbient); // Set The Ambient Light Model
-
- glLightModelfv(GL_LIGHT_MODEL_AMBIENT, @GlobalAmbient); // Set The Global Ambient Light Model
- glLightfv(GL_LIGHT0, GL_POSITION, @light0Pos); // Set The Lights Position
- glLightfv(GL_LIGHT0, GL_AMBIENT, @light0Ambient); // Set The Ambient Light
- glLightfv(GL_LIGHT0, GL_DIFFUSE, @light0Diffuse); // Set The Diffuse Light
- glLightfv(GL_LIGHT0, GL_SPECULAR, @light0Specular); // Set Up Specular Lighting
- glEnable(GL_LIGHTING); // Enable Lighting
- glEnable(GL_LIGHT0); // Enable Light0
-
- BlurTexture := EmptyTexture(); // Create Our Empty Texture
- glShadeModel(GL_SMOOTH); // Select Smooth Shading
- glMateriali(GL_FRONT, GL_SHININESS, 128);
-end;
-
-
-{------------------------------------------------------------------}
-{ Handle window resize }
-{------------------------------------------------------------------}
-procedure glResizeWnd(Width, Height : Integer);
-begin
- if (Height = 0) then // prevent divide by zero exception
- Height := 1;
- glViewport(0, 0, Width, Height); // Set the viewport for the OpenGL window
- glMatrixMode(GL_PROJECTION); // Change Matrix Mode to Projection
- glLoadIdentity(); // Reset View
- gluPerspective(45.0, Width/glFloat(Height), 2.0, 200.0); // Do the perspective calculations. Last value = max clipping depth
-
- glMatrixMode(GL_MODELVIEW); // Return to the modelview matrix
- glLoadIdentity(); // Reset View
-end;
-
-
-var
- DemoStart, LastTime : LongWord;
-
-
-procedure DisplayWindow; cdecl;
-begin
- Inc(FPSCount); // Increment FPS Counter
-
- LastTime :=ElapsedTime;
- ElapsedTime := glutGet(GLUT_ELAPSED_TIME) - DemoStart; // Calculate Elapsed Time
- ElapsedTime :=(LastTime + ElapsedTime) DIV 2; // Average it out for smoother movement
- glDraw;
- glutSwapBuffers;
- Inc(ElapsedTime, 10);
- glutPostRedisplay;
-end;
-
-procedure OnReshape(width, height: Integer); cdecl;
-begin
- glResizeWnd(width, height);
-end;
-
-
-begin
- glutInit(@argc, argv);
- glutInitDisplayMode(GLUT_RGB or GLUT_DOUBLE or GLUT_DEPTH);
- glutCreateWindow(WND_TITLE);
- glutDisplayFunc(@DisplayWindow);
- glutReshapeFunc(@OnReshape);
- glutInitWindowSize(640, 480);
-
- glInit;
-
- DemoStart := glutGet(GLUT_ELAPSED_TIME);
- glutMainLoop;
-end.
diff --git a/packages/extra/opengl/fpmake.inc b/packages/extra/opengl/fpmake.inc
deleted file mode 100644
index d2a65fba20..0000000000
--- a/packages/extra/opengl/fpmake.inc
+++ /dev/null
@@ -1,17 +0,0 @@
- StartPackage('opengl');
- {$IF defined(ALLPACKAGES)}
- Directory:='extra/opengl';
- {$ELSEIF defined(EXTRAPACKAGES)}
- Directory:='opengl';
- {$ENDIF}
- OS:=[linux,netbsd,freebsd,openbsd,win32,darwin,win64];
- Dependencies.Add('x11');
- T:=Targets.AddUnit('gl');
- T:=Targets.AddUnit('glu');
- T:=Targets.AddUnit('glut');
- T:=Targets.AddUnit('glext');
- T:=Targets.AddUnit('dllfuncs');
- T.OS:=[linux,freebsd,netbsd,openbsd,darwin];
- T:=Targets.AddUnit('glx');
- T.OS:=[linux,freebsd,netbsd,openbsd,darwin];
- EndPackage;
diff --git a/packages/extra/opengl/fpmake.pp b/packages/extra/opengl/fpmake.pp
deleted file mode 100644
index d4b6178682..0000000000
--- a/packages/extra/opengl/fpmake.pp
+++ /dev/null
@@ -1,17 +0,0 @@
-{$mode objfpc}{$H+}
-program fpmake;
-
-uses fpmkunit;
-
-Var
- T : TTarget;
-
-begin
- With Installer do
- begin
- { Base packages }
- {$i fpmake.inc}
- Run;
- end;
-end.
-
diff --git a/packages/extra/opengl/gl.pp b/packages/extra/opengl/gl.pp
deleted file mode 100644
index edcc998b2d..0000000000
--- a/packages/extra/opengl/gl.pp
+++ /dev/null
@@ -1,2346 +0,0 @@
-{
-
- Adaption of the delphi3d.net OpenGL units to FreePascal
- Sebastian Guenther (sg@freepascal.org) in 2002
- These units are free to use
-}
-
-(*++ BUILD Version: 0004 // Increment this if a change has global effects
-
-Copyright (c) 1985-96, Microsoft Corporation
-
-Module Name:
-
- gl.h
-
-Abstract:
-
- Procedure declarations, constant definitions and macros for the OpenGL
- component.
-
---*)
-
-{*
-** Copyright 1996 Silicon Graphics, Inc.
-** All Rights Reserved.
-**
-** This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics, Inc.;
-** the contents of this file may not be disclosed to third parties, copied or
-** duplicated in any form, in whole or in part, without the prior written
-** permission of Silicon Graphics, Inc.
-**
-** RESTRICTED RIGHTS LEGEND:
-** Use, duplication or disclosure by the Government is subject to restrictions
-** as set forth in subdivision (c)(1)(ii) of the Rights in Technical Data
-** and Computer Software clause at DFARS 252.227-7013, and/or in similar or
-** successor clauses in the FAR, DOD or NASA FAR Supplement. Unpublished -
-** rights reserved under the Copyright Laws of the United States.
-*}
-
-{******************************************************************************}
-{ Converted to Delphi by Tom Nuydens (tom@delphi3d.net) }
-{ For the latest updates, visit Delphi3D: http://www.delphi3d.net }
-{******************************************************************************}
-
-{$MODE Delphi}
-{$MACRO ON}
-{$IFDEF Windows}
- {$DEFINE extdecl := stdcall}
-{$ELSE}
- {$DEFINE extdecl := cdecl}
- {$IFDEF MorphOS}
- {$INLINE ON}
- {$DEFINE GL_UNIT}
- {$ELSE}
- {$LINKLIB c}
- {$ENDIF}
-{$ENDIF}
-
-unit GL;
-
-interface
-
-uses
- SysUtils,
- {$IFDEF Windows}
- Windows, dynlibs
- {$ELSE Windows}
- {$IFDEF MorphOS}
- TinyGL
- {$ELSE MorphOS}
- dynlibs
- {$ENDIF MorphOS}
- {$ENDIF Windows};
-
-{$IFNDEF MORPHOS}
-var
- LibGL: TLibHandle;
-{$ENDIF MORPHOS}
-
-type
- GLenum = Cardinal; PGLenum = ^GLenum;
- GLboolean = Byte; PGLboolean = ^GLboolean;
- GLbitfield = Cardinal; PGLbitfield = ^GLbitfield;
- GLbyte = ShortInt; PGLbyte = ^GLbyte;
- GLshort = SmallInt; PGLshort = ^GLshort;
- GLint = Integer; PGLint = ^GLint;
- GLsizei = Integer; PGLsizei = ^GLsizei;
- GLubyte = Byte; PGLubyte = ^GLubyte;
- GLushort = Word; PGLushort = ^GLushort;
- GLuint = Cardinal; PGLuint = ^GLuint;
- GLfloat = Single; PGLfloat = ^GLfloat;
- GLclampf = Single; PGLclampf = ^GLclampf;
- GLdouble = Double; PGLdouble = ^GLdouble;
- GLclampd = Double; PGLclampd = ^GLclampd;
-{ GLvoid = void; } PGLvoid = Pointer;
- PPGLvoid = ^PGLvoid;
-
- TGLenum = GLenum;
- TGLboolean = GLboolean;
- TGLbitfield = GLbitfield;
- TGLbyte = GLbyte;
- TGLshort = GLshort;
- TGLint = GLint;
- TGLsizei = GLsizei;
- TGLubyte = GLubyte;
- TGLushort = GLushort;
- TGLuint = GLuint;
- TGLfloat = GLfloat;
- TGLclampf = GLclampf;
- TGLdouble = GLdouble;
- TGLclampd = GLclampd;
-
-{******************************************************************************}
-
-const
- // Version
- GL_VERSION_1_1 = 1;
-
- // AccumOp
- GL_ACCUM = $0100;
- GL_LOAD = $0101;
- GL_RETURN = $0102;
- GL_MULT = $0103;
- GL_ADD = $0104;
-
- // AlphaFunction
- GL_NEVER = $0200;
- GL_LESS = $0201;
- GL_EQUAL = $0202;
- GL_LEQUAL = $0203;
- GL_GREATER = $0204;
- GL_NOTEQUAL = $0205;
- GL_GEQUAL = $0206;
- GL_ALWAYS = $0207;
-
- // AttribMask
- GL_CURRENT_BIT = $00000001;
- GL_POINT_BIT = $00000002;
- GL_LINE_BIT = $00000004;
- GL_POLYGON_BIT = $00000008;
- GL_POLYGON_STIPPLE_BIT = $00000010;
- GL_PIXEL_MODE_BIT = $00000020;
- GL_LIGHTING_BIT = $00000040;
- GL_FOG_BIT = $00000080;
- GL_DEPTH_BUFFER_BIT = $00000100;
- GL_ACCUM_BUFFER_BIT = $00000200;
- GL_STENCIL_BUFFER_BIT = $00000400;
- GL_VIEWPORT_BIT = $00000800;
- GL_TRANSFORM_BIT = $00001000;
- GL_ENABLE_BIT = $00002000;
- GL_COLOR_BUFFER_BIT = $00004000;
- GL_HINT_BIT = $00008000;
- GL_EVAL_BIT = $00010000;
- GL_LIST_BIT = $00020000;
- GL_TEXTURE_BIT = $00040000;
- GL_SCISSOR_BIT = $00080000;
- GL_ALL_ATTRIB_BITS = $000FFFFF;
-
- // BeginMode
- GL_POINTS = $0000;
- GL_LINES = $0001;
- GL_LINE_LOOP = $0002;
- GL_LINE_STRIP = $0003;
- GL_TRIANGLES = $0004;
- GL_TRIANGLE_STRIP = $0005;
- GL_TRIANGLE_FAN = $0006;
- GL_QUADS = $0007;
- GL_QUAD_STRIP = $0008;
- GL_POLYGON = $0009;
-
- // BlendingFactorDest
- GL_ZERO = 0;
- GL_ONE = 1;
- GL_SRC_COLOR = $0300;
- GL_ONE_MINUS_SRC_COLOR = $0301;
- GL_SRC_ALPHA = $0302;
- GL_ONE_MINUS_SRC_ALPHA = $0303;
- GL_DST_ALPHA = $0304;
- GL_ONE_MINUS_DST_ALPHA = $0305;
-
- // BlendingFactorSrc
- // GL_ZERO
- // GL_ONE
- GL_DST_COLOR = $0306;
- GL_ONE_MINUS_DST_COLOR = $0307;
- GL_SRC_ALPHA_SATURATE = $0308;
- // GL_SRC_ALPHA
- // GL_ONE_MINUS_SRC_ALPHA
- // GL_DST_ALPHA
- // GL_ONE_MINUS_DST_ALPHA
-
- // Boolean
- GL_TRUE = 1;
- GL_FALSE = 0;
-
- // ClearBufferMask
- // GL_COLOR_BUFFER_BIT
- // GL_ACCUM_BUFFER_BIT
- // GL_STENCIL_BUFFER_BIT
- // GL_DEPTH_BUFFER_BIT
-
- // ClientArrayType
- // GL_VERTEX_ARRAY
- // GL_NORMAL_ARRAY
- // GL_COLOR_ARRAY
- // GL_INDEX_ARRAY
- // GL_TEXTURE_COORD_ARRAY
- // GL_EDGE_FLAG_ARRAY
-
- // ClipPlaneName
- GL_CLIP_PLANE0 = $3000;
- GL_CLIP_PLANE1 = $3001;
- GL_CLIP_PLANE2 = $3002;
- GL_CLIP_PLANE3 = $3003;
- GL_CLIP_PLANE4 = $3004;
- GL_CLIP_PLANE5 = $3005;
-
- // ColorMaterialFace
- // GL_FRONT
- // GL_BACK
- // GL_FRONT_AND_BACK
-
- // ColorMaterialParameter
- // GL_AMBIENT
- // GL_DIFFUSE
- // GL_SPECULAR
- // GL_EMISSION
- // GL_AMBIENT_AND_DIFFUSE
-
- // ColorPointerType
- // GL_BYTE
- // GL_UNSIGNED_BYTE
- // GL_SHORT
- // GL_UNSIGNED_SHORT
- // GL_INT
- // GL_UNSIGNED_INT
- // GL_FLOAT
- // GL_DOUBLE
-
- // CullFaceMode
- // GL_FRONT
- // GL_BACK
- // GL_FRONT_AND_BACK
-
- // DataType
- GL_BYTE = $1400;
- GL_UNSIGNED_BYTE = $1401;
- GL_SHORT = $1402;
- GL_UNSIGNED_SHORT = $1403;
- GL_INT = $1404;
- GL_UNSIGNED_INT = $1405;
- GL_FLOAT = $1406;
- GL_2_BYTES = $1407;
- GL_3_BYTES = $1408;
- GL_4_BYTES = $1409;
- GL_DOUBLE = $140A;
-
- // DepthFunction
- // GL_NEVER
- // GL_LESS
- // GL_EQUAL
- // GL_LEQUAL
- // GL_GREATER
- // GL_NOTEQUAL
- // GL_GEQUAL
- // GL_ALWAYS
-
- // DrawBufferMode
- GL_NONE = 0;
- GL_FRONT_LEFT = $0400;
- GL_FRONT_RIGHT = $0401;
- GL_BACK_LEFT = $0402;
- GL_BACK_RIGHT = $0403;
- GL_FRONT = $0404;
- GL_BACK = $0405;
- GL_LEFT = $0406;
- GL_RIGHT = $0407;
- GL_FRONT_AND_BACK = $0408;
- GL_AUX0 = $0409;
- GL_AUX1 = $040A;
- GL_AUX2 = $040B;
- GL_AUX3 = $040C;
-
- // Enable
- // GL_FOG
- // GL_LIGHTING
- // GL_TEXTURE_1D
- // GL_TEXTURE_2D
- // GL_LINE_STIPPLE
- // GL_POLYGON_STIPPLE
- // GL_CULL_FACE
- // GL_ALPHA_TEST
- // GL_BLEND
- // GL_INDEX_LOGIC_OP
- // GL_COLOR_LOGIC_OP
- // GL_DITHER
- // GL_STENCIL_TEST
- // GL_DEPTH_TEST
- // GL_CLIP_PLANE0
- // GL_CLIP_PLANE1
- // GL_CLIP_PLANE2
- // GL_CLIP_PLANE3
- // GL_CLIP_PLANE4
- // GL_CLIP_PLANE5
- // GL_LIGHT0
- // GL_LIGHT1
- // GL_LIGHT2
- // GL_LIGHT3
- // GL_LIGHT4
- // GL_LIGHT5
- // GL_LIGHT6
- // GL_LIGHT7
- // GL_TEXTURE_GEN_S
- // GL_TEXTURE_GEN_T
- // GL_TEXTURE_GEN_R
- // GL_TEXTURE_GEN_Q
- // GL_MAP1_VERTEX_3
- // GL_MAP1_VERTEX_4
- // GL_MAP1_COLOR_4
- // GL_MAP1_INDEX
- // GL_MAP1_NORMAL
- // GL_MAP1_TEXTURE_COORD_1
- // GL_MAP1_TEXTURE_COORD_2
- // GL_MAP1_TEXTURE_COORD_3
- // GL_MAP1_TEXTURE_COORD_4
- // GL_MAP2_VERTEX_3
- // GL_MAP2_VERTEX_4
- // GL_MAP2_COLOR_4
- // GL_MAP2_INDEX
- // GL_MAP2_NORMAL
- // GL_MAP2_TEXTURE_COORD_1
- // GL_MAP2_TEXTURE_COORD_2
- // GL_MAP2_TEXTURE_COORD_3
- // GL_MAP2_TEXTURE_COORD_4
- // GL_POINT_SMOOTH
- // GL_LINE_SMOOTH
- // GL_POLYGON_SMOOTH
- // GL_SCISSOR_TEST
- // GL_COLOR_MATERIAL
- // GL_NORMALIZE
- // GL_AUTO_NORMAL
- // GL_VERTEX_ARRAY
- // GL_NORMAL_ARRAY
- // GL_COLOR_ARRAY
- // GL_INDEX_ARRAY
- // GL_TEXTURE_COORD_ARRAY
- // GL_EDGE_FLAG_ARRAY
- // GL_POLYGON_OFFSET_POINT
- // GL_POLYGON_OFFSET_LINE
- // GL_POLYGON_OFFSET_FILL
-
- // ErrorCode
- GL_NO_ERROR = 0;
- GL_INVALID_ENUM = $0500;
- GL_INVALID_VALUE = $0501;
- GL_INVALID_OPERATION = $0502;
- GL_STACK_OVERFLOW = $0503;
- GL_STACK_UNDERFLOW = $0504;
- GL_OUT_OF_MEMORY = $0505;
-
- // FeedBackMode
- GL_2D = $0600;
- GL_3D = $0601;
- GL_3D_COLOR = $0602;
- GL_3D_COLOR_TEXTURE = $0603;
- GL_4D_COLOR_TEXTURE = $0604;
-
- // FeedBackToken
- GL_PASS_THROUGH_TOKEN = $0700;
- GL_POINT_TOKEN = $0701;
- GL_LINE_TOKEN = $0702;
- GL_POLYGON_TOKEN = $0703;
- GL_BITMAP_TOKEN = $0704;
- GL_DRAW_PIXEL_TOKEN = $0705;
- GL_COPY_PIXEL_TOKEN = $0706;
- GL_LINE_RESET_TOKEN = $0707;
-
- // FogMode
- // GL_LINEAR
- GL_EXP = $0800;
- GL_EXP2 = $0801;
-
- // FogParameter
- // GL_FOG_COLOR
- // GL_FOG_DENSITY
- // GL_FOG_END
- // GL_FOG_INDEX
- // GL_FOG_MODE
- // GL_FOG_START
-
- // FrontFaceDirection
- GL_CW = $0900;
- GL_CCW = $0901;
-
- // GetMapTarget
- GL_COEFF = $0A00;
- GL_ORDER = $0A01;
- GL_DOMAIN = $0A02;
-
- // GetPixelMap
- // GL_PIXEL_MAP_I_TO_I
- // GL_PIXEL_MAP_S_TO_S
- // GL_PIXEL_MAP_I_TO_R
- // GL_PIXEL_MAP_I_TO_G
- // GL_PIXEL_MAP_I_TO_B
- // GL_PIXEL_MAP_I_TO_A
- // GL_PIXEL_MAP_R_TO_R
- // GL_PIXEL_MAP_G_TO_G
- // GL_PIXEL_MAP_B_TO_B
- // GL_PIXEL_MAP_A_TO_A
-
- // GetPointerTarget
- // GL_VERTEX_ARRAY_POINTER
- // GL_NORMAL_ARRAY_POINTER
- // GL_COLOR_ARRAY_POINTER
- // GL_INDEX_ARRAY_POINTER
- // GL_TEXTURE_COORD_ARRAY_POINTER
- // GL_EDGE_FLAG_ARRAY_POINTER
-
- // GetTarget
- GL_CURRENT_COLOR = $0B00;
- GL_CURRENT_INDEX = $0B01;
- GL_CURRENT_NORMAL = $0B02;
- GL_CURRENT_TEXTURE_COORDS = $0B03;
- GL_CURRENT_RASTER_COLOR = $0B04;
- GL_CURRENT_RASTER_INDEX = $0B05;
- GL_CURRENT_RASTER_TEXTURE_COORDS = $0B06;
- GL_CURRENT_RASTER_POSITION = $0B07;
- GL_CURRENT_RASTER_POSITION_VALID = $0B08;
- GL_CURRENT_RASTER_DISTANCE = $0B09;
- GL_POINT_SMOOTH = $0B10;
- GL_POINT_SIZE = $0B11;
- GL_POINT_SIZE_RANGE = $0B12;
- GL_POINT_SIZE_GRANULARITY = $0B13;
- GL_LINE_SMOOTH = $0B20;
- GL_LINE_WIDTH = $0B21;
- GL_LINE_WIDTH_RANGE = $0B22;
- GL_LINE_WIDTH_GRANULARITY = $0B23;
- GL_LINE_STIPPLE = $0B24;
- GL_LINE_STIPPLE_PATTERN = $0B25;
- GL_LINE_STIPPLE_REPEAT = $0B26;
- GL_LIST_MODE = $0B30;
- GL_MAX_LIST_NESTING = $0B31;
- GL_LIST_BASE = $0B32;
- GL_LIST_INDEX = $0B33;
- GL_POLYGON_MODE = $0B40;
- GL_POLYGON_SMOOTH = $0B41;
- GL_POLYGON_STIPPLE = $0B42;
- GL_EDGE_FLAG = $0B43;
- GL_CULL_FACE = $0B44;
- GL_CULL_FACE_MODE = $0B45;
- GL_FRONT_FACE = $0B46;
- GL_LIGHTING = $0B50;
- GL_LIGHT_MODEL_LOCAL_VIEWER = $0B51;
- GL_LIGHT_MODEL_TWO_SIDE = $0B52;
- GL_LIGHT_MODEL_AMBIENT = $0B53;
- GL_SHADE_MODEL = $0B54;
- GL_COLOR_MATERIAL_FACE = $0B55;
- GL_COLOR_MATERIAL_PARAMETER = $0B56;
- GL_COLOR_MATERIAL = $0B57;
- GL_FOG = $0B60;
- GL_FOG_INDEX = $0B61;
- GL_FOG_DENSITY = $0B62;
- GL_FOG_START = $0B63;
- GL_FOG_END = $0B64;
- GL_FOG_MODE = $0B65;
- GL_FOG_COLOR = $0B66;
- GL_DEPTH_RANGE = $0B70;
- GL_DEPTH_TEST = $0B71;
- GL_DEPTH_WRITEMASK = $0B72;
- GL_DEPTH_CLEAR_VALUE = $0B73;
- GL_DEPTH_FUNC = $0B74;
- GL_ACCUM_CLEAR_VALUE = $0B80;
- GL_STENCIL_TEST = $0B90;
- GL_STENCIL_CLEAR_VALUE = $0B91;
- GL_STENCIL_FUNC = $0B92;
- GL_STENCIL_VALUE_MASK = $0B93;
- GL_STENCIL_FAIL = $0B94;
- GL_STENCIL_PASS_DEPTH_FAIL = $0B95;
- GL_STENCIL_PASS_DEPTH_PASS = $0B96;
- GL_STENCIL_REF = $0B97;
- GL_STENCIL_WRITEMASK = $0B98;
- GL_MATRIX_MODE = $0BA0;
- GL_NORMALIZE = $0BA1;
- GL_VIEWPORT = $0BA2;
- GL_MODELVIEW_STACK_DEPTH = $0BA3;
- GL_PROJECTION_STACK_DEPTH = $0BA4;
- GL_TEXTURE_STACK_DEPTH = $0BA5;
- GL_MODELVIEW_MATRIX = $0BA6;
- GL_PROJECTION_MATRIX = $0BA7;
- GL_TEXTURE_MATRIX = $0BA8;
- GL_ATTRIB_STACK_DEPTH = $0BB0;
- GL_CLIENT_ATTRIB_STACK_DEPTH = $0BB1;
- GL_ALPHA_TEST = $0BC0;
- GL_ALPHA_TEST_FUNC = $0BC1;
- GL_ALPHA_TEST_REF = $0BC2;
- GL_DITHER = $0BD0;
- GL_BLEND_DST = $0BE0;
- GL_BLEND_SRC = $0BE1;
- GL_BLEND = $0BE2;
- GL_LOGIC_OP_MODE = $0BF0;
- GL_INDEX_LOGIC_OP = $0BF1;
- GL_COLOR_LOGIC_OP = $0BF2;
- GL_AUX_BUFFERS = $0C00;
- GL_DRAW_BUFFER = $0C01;
- GL_READ_BUFFER = $0C02;
- GL_SCISSOR_BOX = $0C10;
- GL_SCISSOR_TEST = $0C11;
- GL_INDEX_CLEAR_VALUE = $0C20;
- GL_INDEX_WRITEMASK = $0C21;
- GL_COLOR_CLEAR_VALUE = $0C22;
- GL_COLOR_WRITEMASK = $0C23;
- GL_INDEX_MODE = $0C30;
- GL_RGBA_MODE = $0C31;
- GL_DOUBLEBUFFER = $0C32;
- GL_STEREO = $0C33;
- GL_RENDER_MODE = $0C40;
- GL_PERSPECTIVE_CORRECTION_HINT = $0C50;
- GL_POINT_SMOOTH_HINT = $0C51;
- GL_LINE_SMOOTH_HINT = $0C52;
- GL_POLYGON_SMOOTH_HINT = $0C53;
- GL_FOG_HINT = $0C54;
- GL_TEXTURE_GEN_S = $0C60;
- GL_TEXTURE_GEN_T = $0C61;
- GL_TEXTURE_GEN_R = $0C62;
- GL_TEXTURE_GEN_Q = $0C63;
- GL_PIXEL_MAP_I_TO_I = $0C70;
- GL_PIXEL_MAP_S_TO_S = $0C71;
- GL_PIXEL_MAP_I_TO_R = $0C72;
- GL_PIXEL_MAP_I_TO_G = $0C73;
- GL_PIXEL_MAP_I_TO_B = $0C74;
- GL_PIXEL_MAP_I_TO_A = $0C75;
- GL_PIXEL_MAP_R_TO_R = $0C76;
- GL_PIXEL_MAP_G_TO_G = $0C77;
- GL_PIXEL_MAP_B_TO_B = $0C78;
- GL_PIXEL_MAP_A_TO_A = $0C79;
- GL_PIXEL_MAP_I_TO_I_SIZE = $0CB0;
- GL_PIXEL_MAP_S_TO_S_SIZE = $0CB1;
- GL_PIXEL_MAP_I_TO_R_SIZE = $0CB2;
- GL_PIXEL_MAP_I_TO_G_SIZE = $0CB3;
- GL_PIXEL_MAP_I_TO_B_SIZE = $0CB4;
- GL_PIXEL_MAP_I_TO_A_SIZE = $0CB5;
- GL_PIXEL_MAP_R_TO_R_SIZE = $0CB6;
- GL_PIXEL_MAP_G_TO_G_SIZE = $0CB7;
- GL_PIXEL_MAP_B_TO_B_SIZE = $0CB8;
- GL_PIXEL_MAP_A_TO_A_SIZE = $0CB9;
- GL_UNPACK_SWAP_BYTES = $0CF0;
- GL_UNPACK_LSB_FIRST = $0CF1;
- GL_UNPACK_ROW_LENGTH = $0CF2;
- GL_UNPACK_SKIP_ROWS = $0CF3;
- GL_UNPACK_SKIP_PIXELS = $0CF4;
- GL_UNPACK_ALIGNMENT = $0CF5;
- GL_PACK_SWAP_BYTES = $0D00;
- GL_PACK_LSB_FIRST = $0D01;
- GL_PACK_ROW_LENGTH = $0D02;
- GL_PACK_SKIP_ROWS = $0D03;
- GL_PACK_SKIP_PIXELS = $0D04;
- GL_PACK_ALIGNMENT = $0D05;
- GL_MAP_COLOR = $0D10;
- GL_MAP_STENCIL = $0D11;
- GL_INDEX_SHIFT = $0D12;
- GL_INDEX_OFFSET = $0D13;
- GL_RED_SCALE = $0D14;
- GL_RED_BIAS = $0D15;
- GL_ZOOM_X = $0D16;
- GL_ZOOM_Y = $0D17;
- GL_GREEN_SCALE = $0D18;
- GL_GREEN_BIAS = $0D19;
- GL_BLUE_SCALE = $0D1A;
- GL_BLUE_BIAS = $0D1B;
- GL_ALPHA_SCALE = $0D1C;
- GL_ALPHA_BIAS = $0D1D;
- GL_DEPTH_SCALE = $0D1E;
- GL_DEPTH_BIAS = $0D1F;
- GL_MAX_EVAL_ORDER = $0D30;
- GL_MAX_LIGHTS = $0D31;
- GL_MAX_CLIP_PLANES = $0D32;
- GL_MAX_TEXTURE_SIZE = $0D33;
- GL_MAX_PIXEL_MAP_TABLE = $0D34;
- GL_MAX_ATTRIB_STACK_DEPTH = $0D35;
- GL_MAX_MODELVIEW_STACK_DEPTH = $0D36;
- GL_MAX_NAME_STACK_DEPTH = $0D37;
- GL_MAX_PROJECTION_STACK_DEPTH = $0D38;
- GL_MAX_TEXTURE_STACK_DEPTH = $0D39;
- GL_MAX_VIEWPORT_DIMS = $0D3A;
- GL_MAX_CLIENT_ATTRIB_STACK_DEPTH = $0D3B;
- GL_SUBPIXEL_BITS = $0D50;
- GL_INDEX_BITS = $0D51;
- GL_RED_BITS = $0D52;
- GL_GREEN_BITS = $0D53;
- GL_BLUE_BITS = $0D54;
- GL_ALPHA_BITS = $0D55;
- GL_DEPTH_BITS = $0D56;
- GL_STENCIL_BITS = $0D57;
- GL_ACCUM_RED_BITS = $0D58;
- GL_ACCUM_GREEN_BITS = $0D59;
- GL_ACCUM_BLUE_BITS = $0D5A;
- GL_ACCUM_ALPHA_BITS = $0D5B;
- GL_NAME_STACK_DEPTH = $0D70;
- GL_AUTO_NORMAL = $0D80;
- GL_MAP1_COLOR_4 = $0D90;
- GL_MAP1_INDEX = $0D91;
- GL_MAP1_NORMAL = $0D92;
- GL_MAP1_TEXTURE_COORD_1 = $0D93;
- GL_MAP1_TEXTURE_COORD_2 = $0D94;
- GL_MAP1_TEXTURE_COORD_3 = $0D95;
- GL_MAP1_TEXTURE_COORD_4 = $0D96;
- GL_MAP1_VERTEX_3 = $0D97;
- GL_MAP1_VERTEX_4 = $0D98;
- GL_MAP2_COLOR_4 = $0DB0;
- GL_MAP2_INDEX = $0DB1;
- GL_MAP2_NORMAL = $0DB2;
- GL_MAP2_TEXTURE_COORD_1 = $0DB3;
- GL_MAP2_TEXTURE_COORD_2 = $0DB4;
- GL_MAP2_TEXTURE_COORD_3 = $0DB5;
- GL_MAP2_TEXTURE_COORD_4 = $0DB6;
- GL_MAP2_VERTEX_3 = $0DB7;
- GL_MAP2_VERTEX_4 = $0DB8;
- GL_MAP1_GRID_DOMAIN = $0DD0;
- GL_MAP1_GRID_SEGMENTS = $0DD1;
- GL_MAP2_GRID_DOMAIN = $0DD2;
- GL_MAP2_GRID_SEGMENTS = $0DD3;
- GL_TEXTURE_1D = $0DE0;
- GL_TEXTURE_2D = $0DE1;
- GL_FEEDBACK_BUFFER_POINTER = $0DF0;
- GL_FEEDBACK_BUFFER_SIZE = $0DF1;
- GL_FEEDBACK_BUFFER_TYPE = $0DF2;
- GL_SELECTION_BUFFER_POINTER = $0DF3;
- GL_SELECTION_BUFFER_SIZE = $0DF4;
- // GL_TEXTURE_BINDING_1D
- // GL_TEXTURE_BINDING_2D
- // GL_VERTEX_ARRAY
- // GL_NORMAL_ARRAY
- // GL_COLOR_ARRAY
- // GL_INDEX_ARRAY
- // GL_TEXTURE_COORD_ARRAY
- // GL_EDGE_FLAG_ARRAY
- // GL_VERTEX_ARRAY_SIZE
- // GL_VERTEX_ARRAY_TYPE
- // GL_VERTEX_ARRAY_STRIDE
- // GL_NORMAL_ARRAY_TYPE
- // GL_NORMAL_ARRAY_STRIDE
- // GL_COLOR_ARRAY_SIZE
- // GL_COLOR_ARRAY_TYPE
- // GL_COLOR_ARRAY_STRIDE
- // GL_INDEX_ARRAY_TYPE
- // GL_INDEX_ARRAY_STRIDE
- // GL_TEXTURE_COORD_ARRAY_SIZE
- // GL_TEXTURE_COORD_ARRAY_TYPE
- // GL_TEXTURE_COORD_ARRAY_STRIDE
- // GL_EDGE_FLAG_ARRAY_STRIDE
- // GL_POLYGON_OFFSET_FACTOR
- // GL_POLYGON_OFFSET_UNITS
-
- // GetTextureParameter
- // GL_TEXTURE_MAG_FILTER
- // GL_TEXTURE_MIN_FILTER
- // GL_TEXTURE_WRAP_S
- // GL_TEXTURE_WRAP_T
- GL_TEXTURE_WIDTH = $1000;
- GL_TEXTURE_HEIGHT = $1001;
- GL_TEXTURE_INTERNAL_FORMAT = $1003;
- GL_TEXTURE_BORDER_COLOR = $1004;
- GL_TEXTURE_BORDER = $1005;
- // GL_TEXTURE_RED_SIZE
- // GL_TEXTURE_GREEN_SIZE
- // GL_TEXTURE_BLUE_SIZE
- // GL_TEXTURE_ALPHA_SIZE
- // GL_TEXTURE_LUMINANCE_SIZE
- // GL_TEXTURE_INTENSITY_SIZE
- // GL_TEXTURE_PRIORITY
- // GL_TEXTURE_RESIDENT
-
- // HintMode
- GL_DONT_CARE = $1100;
- GL_FASTEST = $1101;
- GL_NICEST = $1102;
-
- // HintTarget
- // GL_PERSPECTIVE_CORRECTION_HINT
- // GL_POINT_SMOOTH_HINT
- // GL_LINE_SMOOTH_HINT
- // GL_POLYGON_SMOOTH_HINT
- // GL_FOG_HINT
-
- // IndexPointerType
- // GL_SHORT
- // GL_INT
- // GL_FLOAT
- // GL_DOUBLE
-
- // LightModelParameter
- // GL_LIGHT_MODEL_AMBIENT
- // GL_LIGHT_MODEL_LOCAL_VIEWER
- // GL_LIGHT_MODEL_TWO_SIDE
-
- // LightName
- GL_LIGHT0 = $4000;
- GL_LIGHT1 = $4001;
- GL_LIGHT2 = $4002;
- GL_LIGHT3 = $4003;
- GL_LIGHT4 = $4004;
- GL_LIGHT5 = $4005;
- GL_LIGHT6 = $4006;
- GL_LIGHT7 = $4007;
-
- // LightParameter
- GL_AMBIENT = $1200;
- GL_DIFFUSE = $1201;
- GL_SPECULAR = $1202;
- GL_POSITION = $1203;
- GL_SPOT_DIRECTION = $1204;
- GL_SPOT_EXPONENT = $1205;
- GL_SPOT_CUTOFF = $1206;
- GL_CONSTANT_ATTENUATION = $1207;
- GL_LINEAR_ATTENUATION = $1208;
- GL_QUADRATIC_ATTENUATION = $1209;
-
- // InterleavedArrays
- // GL_V2F
- // GL_V3F
- // GL_C4UB_V2F
- // GL_C4UB_V3F
- // GL_C3F_V3F
- // GL_N3F_V3F
- // GL_C4F_N3F_V3F
- // GL_T2F_V3F
- // GL_T4F_V4F
- // GL_T2F_C4UB_V3F
- // GL_T2F_C3F_V3F
- // GL_T2F_N3F_V3F
- // GL_T2F_C4F_N3F_V3F
- // GL_T4F_C4F_N3F_V4F
-
- // ListMode
- GL_COMPILE = $1300;
- GL_COMPILE_AND_EXECUTE = $1301;
-
- // ListNameType
- // GL_BYTE
- // GL_UNSIGNED_BYTE
- // GL_SHORT
- // GL_UNSIGNED_SHORT
- // GL_INT
- // GL_UNSIGNED_INT
- // GL_FLOAT
- // GL_2_BYTES
- // GL_3_BYTES
- // GL_4_BYTES
-
- // LogicOp
- GL_CLEAR = $1500;
- GL_AND = $1501;
- GL_AND_REVERSE = $1502;
- GL_COPY = $1503;
- GL_AND_INVERTED = $1504;
- GL_NOOP = $1505;
- GL_XOR = $1506;
- GL_OR = $1507;
- GL_NOR = $1508;
- GL_EQUIV = $1509;
- GL_INVERT = $150A;
- GL_OR_REVERSE = $150B;
- GL_COPY_INVERTED = $150C;
- GL_OR_INVERTED = $150D;
- GL_NAND = $150E;
- GL_SET = $150F;
-
- // MapTarget
- // GL_MAP1_COLOR_4
- // GL_MAP1_INDEX
- // GL_MAP1_NORMAL
- // GL_MAP1_TEXTURE_COORD_1
- // GL_MAP1_TEXTURE_COORD_2
- // GL_MAP1_TEXTURE_COORD_3
- // GL_MAP1_TEXTURE_COORD_4
- // GL_MAP1_VERTEX_3
- // GL_MAP1_VERTEX_4
- // GL_MAP2_COLOR_4
- // GL_MAP2_INDEX
- // GL_MAP2_NORMAL
- // GL_MAP2_TEXTURE_COORD_1
- // GL_MAP2_TEXTURE_COORD_2
- // GL_MAP2_TEXTURE_COORD_3
- // GL_MAP2_TEXTURE_COORD_4
- // GL_MAP2_VERTEX_3
- // GL_MAP2_VERTEX_4
-
- // MaterialFace
- // GL_FRONT
- // GL_BACK
- // GL_FRONT_AND_BACK
-
- // MaterialParameter
- GL_EMISSION = $1600;
- GL_SHININESS = $1601;
- GL_AMBIENT_AND_DIFFUSE = $1602;
- GL_COLOR_INDEXES = $1603;
- // GL_AMBIENT
- // GL_DIFFUSE
- // GL_SPECULAR
-
- // MatrixMode
- GL_MODELVIEW = $1700;
- GL_PROJECTION = $1701;
- GL_TEXTURE = $1702;
-
- // MeshMode1
- // GL_POINT
- // GL_LINE
-
- // MeshMode2
- // GL_POINT
- // GL_LINE
- // GL_FILL
-
- // NormalPointerType
- // GL_BYTE
- // GL_SHORT
- // GL_INT
- // GL_FLOAT
- // GL_DOUBLE
-
- // PixelCopyType
- GL_COLOR = $1800;
- GL_DEPTH = $1801;
- GL_STENCIL = $1802;
-
- // PixelFormat
- GL_COLOR_INDEX = $1900;
- GL_STENCIL_INDEX = $1901;
- GL_DEPTH_COMPONENT = $1902;
- GL_RED = $1903;
- GL_GREEN = $1904;
- GL_BLUE = $1905;
- GL_ALPHA = $1906;
- GL_RGB = $1907;
- GL_RGBA = $1908;
- GL_LUMINANCE = $1909;
- GL_LUMINANCE_ALPHA = $190A;
-
- // PixelMap
- // GL_PIXEL_MAP_I_TO_I
- // GL_PIXEL_MAP_S_TO_S
- // GL_PIXEL_MAP_I_TO_R
- // GL_PIXEL_MAP_I_TO_G
- // GL_PIXEL_MAP_I_TO_B
- // GL_PIXEL_MAP_I_TO_A
- // GL_PIXEL_MAP_R_TO_R
- // GL_PIXEL_MAP_G_TO_G
- // GL_PIXEL_MAP_B_TO_B
- // GL_PIXEL_MAP_A_TO_A
-
- // PixelStore
- // GL_UNPACK_SWAP_BYTES
- // GL_UNPACK_LSB_FIRST
- // GL_UNPACK_ROW_LENGTH
- // GL_UNPACK_SKIP_ROWS
- // GL_UNPACK_SKIP_PIXELS
- // GL_UNPACK_ALIGNMENT
- // GL_PACK_SWAP_BYTES
- // GL_PACK_LSB_FIRST
- // GL_PACK_ROW_LENGTH
- // GL_PACK_SKIP_ROWS
- // GL_PACK_SKIP_PIXELS
- // GL_PACK_ALIGNMENT
-
- // PixelTransfer
- // GL_MAP_COLOR
- // GL_MAP_STENCIL
- // GL_INDEX_SHIFT
- // GL_INDEX_OFFSET
- // GL_RED_SCALE
- // GL_RED_BIAS
- // GL_GREEN_SCALE
- // GL_GREEN_BIAS
- // GL_BLUE_SCALE
- // GL_BLUE_BIAS
- // GL_ALPHA_SCALE
- // GL_ALPHA_BIAS
- // GL_DEPTH_SCALE
- // GL_DEPTH_BIAS
-
- // PixelType
- GL_BITMAP = $1A00;
- // GL_BYTE
- // GL_UNSIGNED_BYTE
- // GL_SHORT
- // GL_UNSIGNED_SHORT
- // GL_INT
- // GL_UNSIGNED_INT
- // GL_FLOAT
-
- // PolygonMode
- GL_POINT = $1B00;
- GL_LINE = $1B01;
- GL_FILL = $1B02;
-
- // ReadBufferMode
- // GL_FRONT_LEFT
- // GL_FRONT_RIGHT
- // GL_BACK_LEFT
- // GL_BACK_RIGHT
- // GL_FRONT
- // GL_BACK
- // GL_LEFT
- // GL_RIGHT
- // GL_AUX0
- // GL_AUX1
- // GL_AUX2
- // GL_AUX3
-
- // RenderingMode
- GL_RENDER = $1C00;
- GL_FEEDBACK = $1C01;
- GL_SELECT = $1C02;
-
- // ShadingModel
- GL_FLAT = $1D00;
- GL_SMOOTH = $1D01;
-
- // StencilFunction
- // GL_NEVER
- // GL_LESS
- // GL_EQUAL
- // GL_LEQUAL
- // GL_GREATER
- // GL_NOTEQUAL
- // GL_GEQUAL
- // GL_ALWAYS
-
- // StencilOp
- // GL_ZERO
- GL_KEEP = $1E00;
- GL_REPLACE = $1E01;
- GL_INCR = $1E02;
- GL_DECR = $1E03;
- // GL_INVERT
-
- // StringName
- GL_VENDOR = $1F00;
- GL_RENDERER = $1F01;
- GL_VERSION = $1F02;
- GL_EXTENSIONS = $1F03;
-
- // TextureCoordName
- GL_S = $2000;
- GL_T = $2001;
- GL_R = $2002;
- GL_Q = $2003;
-
- // TexCoordPointerType
- // GL_SHORT
- // GL_INT
- // GL_FLOAT
- // GL_DOUBLE
-
- // TextureEnvMode
- GL_MODULATE = $2100;
- GL_DECAL = $2101;
- // GL_BLEND
- // GL_REPLACE
-
- // TextureEnvParameter
- GL_TEXTURE_ENV_MODE = $2200;
- GL_TEXTURE_ENV_COLOR = $2201;
-
- // TextureEnvTarget
- GL_TEXTURE_ENV = $2300;
-
- // TextureGenMode
- GL_EYE_LINEAR = $2400;
- GL_OBJECT_LINEAR = $2401;
- GL_SPHERE_MAP = $2402;
-
- // TextureGenParameter
- GL_TEXTURE_GEN_MODE = $2500;
- GL_OBJECT_PLANE = $2501;
- GL_EYE_PLANE = $2502;
-
- // TextureMagFilter
- GL_NEAREST = $2600;
- GL_LINEAR = $2601;
-
- // TextureMinFilter
- // GL_NEAREST
- // GL_LINEAR
- GL_NEAREST_MIPMAP_NEAREST = $2700;
- GL_LINEAR_MIPMAP_NEAREST = $2701;
- GL_NEAREST_MIPMAP_LINEAR = $2702;
- GL_LINEAR_MIPMAP_LINEAR = $2703;
-
- // TextureParameterName
- GL_TEXTURE_MAG_FILTER = $2800;
- GL_TEXTURE_MIN_FILTER = $2801;
- GL_TEXTURE_WRAP_S = $2802;
- GL_TEXTURE_WRAP_T = $2803;
- // GL_TEXTURE_BORDER_COLOR
- // GL_TEXTURE_PRIORITY
-
- // TextureTarget
- // GL_TEXTURE_1D
- // GL_TEXTURE_2D
- // GL_PROXY_TEXTURE_1D
- // GL_PROXY_TEXTURE_2D
-
- // TextureWrapMode
- GL_CLAMP = $2900;
- GL_REPEAT = $2901;
-
- // VertexPointerType
- // GL_SHORT
- // GL_INT
- // GL_FLOAT
- // GL_DOUBLE
-
- // ClientAttribMask
- GL_CLIENT_PIXEL_STORE_BIT = $00000001;
- GL_CLIENT_VERTEX_ARRAY_BIT = $00000002;
- GL_CLIENT_ALL_ATTRIB_BITS = $FFFFFFFF;
-
- // polygon_offset
- GL_POLYGON_OFFSET_FACTOR = $8038;
- GL_POLYGON_OFFSET_UNITS = $2A00;
- GL_POLYGON_OFFSET_POINT = $2A01;
- GL_POLYGON_OFFSET_LINE = $2A02;
- GL_POLYGON_OFFSET_FILL = $8037;
-
- // texture
- GL_ALPHA4 = $803B;
- GL_ALPHA8 = $803C;
- GL_ALPHA12 = $803D;
- GL_ALPHA16 = $803E;
- GL_LUMINANCE4 = $803F;
- GL_LUMINANCE8 = $8040;
- GL_LUMINANCE12 = $8041;
- GL_LUMINANCE16 = $8042;
- GL_LUMINANCE4_ALPHA4 = $8043;
- GL_LUMINANCE6_ALPHA2 = $8044;
- GL_LUMINANCE8_ALPHA8 = $8045;
- GL_LUMINANCE12_ALPHA4 = $8046;
- GL_LUMINANCE12_ALPHA12 = $8047;
- GL_LUMINANCE16_ALPHA16 = $8048;
- GL_INTENSITY = $8049;
- GL_INTENSITY4 = $804A;
- GL_INTENSITY8 = $804B;
- GL_INTENSITY12 = $804C;
- GL_INTENSITY16 = $804D;
- GL_R3_G3_B2 = $2A10;
- GL_RGB4 = $804F;
- GL_RGB5 = $8050;
- GL_RGB8 = $8051;
- GL_RGB10 = $8052;
- GL_RGB12 = $8053;
- GL_RGB16 = $8054;
- GL_RGBA2 = $8055;
- GL_RGBA4 = $8056;
- GL_RGB5_A1 = $8057;
- GL_RGBA8 = $8058;
- GL_RGB10_A2 = $8059;
- GL_RGBA12 = $805A;
- GL_RGBA16 = $805B;
- GL_TEXTURE_RED_SIZE = $805C;
- GL_TEXTURE_GREEN_SIZE = $805D;
- GL_TEXTURE_BLUE_SIZE = $805E;
- GL_TEXTURE_ALPHA_SIZE = $805F;
- GL_TEXTURE_LUMINANCE_SIZE = $8060;
- GL_TEXTURE_INTENSITY_SIZE = $8061;
- GL_PROXY_TEXTURE_1D = $8063;
- GL_PROXY_TEXTURE_2D = $8064;
-
- // texture_object
- GL_TEXTURE_PRIORITY = $8066;
- GL_TEXTURE_RESIDENT = $8067;
- GL_TEXTURE_BINDING_1D = $8068;
- GL_TEXTURE_BINDING_2D = $8069;
-
- // vertex_array
- GL_VERTEX_ARRAY = $8074;
- GL_NORMAL_ARRAY = $8075;
- GL_COLOR_ARRAY = $8076;
- GL_INDEX_ARRAY = $8077;
- GL_TEXTURE_COORD_ARRAY = $8078;
- GL_EDGE_FLAG_ARRAY = $8079;
- GL_VERTEX_ARRAY_SIZE = $807A;
- GL_VERTEX_ARRAY_TYPE = $807B;
- GL_VERTEX_ARRAY_STRIDE = $807C;
- GL_NORMAL_ARRAY_TYPE = $807E;
- GL_NORMAL_ARRAY_STRIDE = $807F;
- GL_COLOR_ARRAY_SIZE = $8081;
- GL_COLOR_ARRAY_TYPE = $8082;
- GL_COLOR_ARRAY_STRIDE = $8083;
- GL_INDEX_ARRAY_TYPE = $8085;
- GL_INDEX_ARRAY_STRIDE = $8086;
- GL_TEXTURE_COORD_ARRAY_SIZE = $8088;
- GL_TEXTURE_COORD_ARRAY_TYPE = $8089;
- GL_TEXTURE_COORD_ARRAY_STRIDE = $808A;
- GL_EDGE_FLAG_ARRAY_STRIDE = $808C;
- GL_VERTEX_ARRAY_POINTER = $808E;
- GL_NORMAL_ARRAY_POINTER = $808F;
- GL_COLOR_ARRAY_POINTER = $8090;
- GL_INDEX_ARRAY_POINTER = $8091;
- GL_TEXTURE_COORD_ARRAY_POINTER = $8092;
- GL_EDGE_FLAG_ARRAY_POINTER = $8093;
- GL_V2F = $2A20;
- GL_V3F = $2A21;
- GL_C4UB_V2F = $2A22;
- GL_C4UB_V3F = $2A23;
- GL_C3F_V3F = $2A24;
- GL_N3F_V3F = $2A25;
- GL_C4F_N3F_V3F = $2A26;
- GL_T2F_V3F = $2A27;
- GL_T4F_V4F = $2A28;
- GL_T2F_C4UB_V3F = $2A29;
- GL_T2F_C3F_V3F = $2A2A;
- GL_T2F_N3F_V3F = $2A2B;
- GL_T2F_C4F_N3F_V3F = $2A2C;
- GL_T4F_C4F_N3F_V4F = $2A2D;
-
- // Extensions
- GL_EXT_vertex_array = 1;
- GL_WIN_swap_hint = 1;
- GL_EXT_bgra = 1;
- GL_EXT_paletted_texture = 1;
-
- // EXT_vertex_array
- GL_VERTEX_ARRAY_EXT = $8074;
- GL_NORMAL_ARRAY_EXT = $8075;
- GL_COLOR_ARRAY_EXT = $8076;
- GL_INDEX_ARRAY_EXT = $8077;
- GL_TEXTURE_COORD_ARRAY_EXT = $8078;
- GL_EDGE_FLAG_ARRAY_EXT = $8079;
- GL_VERTEX_ARRAY_SIZE_EXT = $807A;
- GL_VERTEX_ARRAY_TYPE_EXT = $807B;
- GL_VERTEX_ARRAY_STRIDE_EXT = $807C;
- GL_VERTEX_ARRAY_COUNT_EXT = $807D;
- GL_NORMAL_ARRAY_TYPE_EXT = $807E;
- GL_NORMAL_ARRAY_STRIDE_EXT = $807F;
- GL_NORMAL_ARRAY_COUNT_EXT = $8080;
- GL_COLOR_ARRAY_SIZE_EXT = $8081;
- GL_COLOR_ARRAY_TYPE_EXT = $8082;
- GL_COLOR_ARRAY_STRIDE_EXT = $8083;
- GL_COLOR_ARRAY_COUNT_EXT = $8084;
- GL_INDEX_ARRAY_TYPE_EXT = $8085;
- GL_INDEX_ARRAY_STRIDE_EXT = $8086;
- GL_INDEX_ARRAY_COUNT_EXT = $8087;
- GL_TEXTURE_COORD_ARRAY_SIZE_EXT = $8088;
- GL_TEXTURE_COORD_ARRAY_TYPE_EXT = $8089;
- GL_TEXTURE_COORD_ARRAY_STRIDE_EXT = $808A;
- GL_TEXTURE_COORD_ARRAY_COUNT_EXT = $808B;
- GL_EDGE_FLAG_ARRAY_STRIDE_EXT = $808C;
- GL_EDGE_FLAG_ARRAY_COUNT_EXT = $808D;
- GL_VERTEX_ARRAY_POINTER_EXT = $808E;
- GL_NORMAL_ARRAY_POINTER_EXT = $808F;
- GL_COLOR_ARRAY_POINTER_EXT = $8090;
- GL_INDEX_ARRAY_POINTER_EXT = $8091;
- GL_TEXTURE_COORD_ARRAY_POINTER_EXT = $8092;
- GL_EDGE_FLAG_ARRAY_POINTER_EXT = $8093;
- GL_DOUBLE_EXT = GL_DOUBLE;
-
- // EXT_bgra
- GL_BGR_EXT = $80E0;
- GL_BGRA_EXT = $80E1;
-
- // EXT_paletted_texture
-
- // These must match the GL_COLOR_TABLE_*_SGI enumerants
- GL_COLOR_TABLE_FORMAT_EXT = $80D8;
- GL_COLOR_TABLE_WIDTH_EXT = $80D9;
- GL_COLOR_TABLE_RED_SIZE_EXT = $80DA;
- GL_COLOR_TABLE_GREEN_SIZE_EXT = $80DB;
- GL_COLOR_TABLE_BLUE_SIZE_EXT = $80DC;
- GL_COLOR_TABLE_ALPHA_SIZE_EXT = $80DD;
- GL_COLOR_TABLE_LUMINANCE_SIZE_EXT = $80DE;
- GL_COLOR_TABLE_INTENSITY_SIZE_EXT = $80DF;
-
- GL_COLOR_INDEX1_EXT = $80E2;
- GL_COLOR_INDEX2_EXT = $80E3;
- GL_COLOR_INDEX4_EXT = $80E4;
- GL_COLOR_INDEX8_EXT = $80E5;
- GL_COLOR_INDEX12_EXT = $80E6;
- GL_COLOR_INDEX16_EXT = $80E7;
-
- // For compatibility with OpenGL v1.0
- GL_LOGIC_OP = GL_INDEX_LOGIC_OP;
- GL_TEXTURE_COMPONENTS = GL_TEXTURE_INTERNAL_FORMAT;
-
-{******************************************************************************}
-
-{$IFDEF MORPHOS}
-
-{ MorphOS GL works differently due to different dynamic-library handling on Amiga-like }
-{ systems, so its headers are included here. }
-{$INCLUDE tinyglh.inc}
-
-{$ELSE MORPHOS}
-var
- glAccum: procedure(op: GLenum; value: GLfloat); extdecl;
- glAlphaFunc: procedure(func: GLenum; ref: GLclampf); extdecl;
- glAreTexturesResident: function (n: GLsizei; const textures: PGLuint; residences: PGLboolean): GLboolean; extdecl;
- glArrayElement: procedure(i: GLint); extdecl;
- glBegin: procedure(mode: GLenum); extdecl;
- glBindTexture: procedure(target: GLenum; texture: GLuint); extdecl;
- glBitmap: procedure (width, height: GLsizei; xorig, yorig: GLfloat; xmove, ymove: GLfloat; const bitmap: PGLubyte); extdecl;
- glBlendFunc: procedure(sfactor, dfactor: GLenum); extdecl;
- glCallList: procedure(list: GLuint); extdecl;
- glCallLists: procedure(n: GLsizei; atype: GLenum; const lists: Pointer); extdecl;
- glClear: procedure(mask: GLbitfield); extdecl;
- glClearAccum: procedure(red, green, blue, alpha: GLfloat); extdecl;
- glClearColor: procedure(red, green, blue, alpha: GLclampf); extdecl;
- glClearDepth: procedure(depth: GLclampd); extdecl;
- glClearIndex: procedure(c: GLfloat); extdecl;
- glClearStencil: procedure(s: GLint); extdecl;
- glClipPlane: procedure(plane: GLenum; const equation: PGLdouble); extdecl;
- glColor3b: procedure(red, green, blue: GLbyte); extdecl;
- glColor3bv: procedure(const v: PGLbyte); extdecl;
- glColor3d: procedure(red, green, blue: GLdouble); extdecl;
- glColor3dv: procedure(const v: PGLdouble); extdecl;
- glColor3f: procedure(red, green, blue: GLfloat); extdecl;
- glColor3fv: procedure(const v: PGLfloat); extdecl;
- glColor3i: procedure(red, green, blue: GLint); extdecl;
- glColor3iv: procedure(const v: PGLint); extdecl;
- glColor3s: procedure(red, green, blue: GLshort); extdecl;
- glColor3sv: procedure(const v: PGLshort); extdecl;
- glColor3ub: procedure(red, green, blue: GLubyte); extdecl;
- glColor3ubv: procedure(const v: PGLubyte); extdecl;
- glColor3ui: procedure(red, green, blue: GLuint); extdecl;
- glColor3uiv: procedure(const v: PGLuint); extdecl;
- glColor3us: procedure(red, green, blue: GLushort); extdecl;
- glColor3usv: procedure(const v: PGLushort); extdecl;
- glColor4b: procedure(red, green, blue, alpha: GLbyte); extdecl;
- glColor4bv: procedure(const v: PGLbyte); extdecl;
- glColor4d: procedure(red, green, blue, alpha: GLdouble); extdecl;
- glColor4dv: procedure(const v: PGLdouble); extdecl;
- glColor4f: procedure(red, green, blue, alpha: GLfloat); extdecl;
- glColor4fv: procedure(const v: PGLfloat); extdecl;
- glColor4i: procedure(red, green, blue, alpha: GLint); extdecl;
- glColor4iv: procedure(const v: PGLint); extdecl;
- glColor4s: procedure(red, green, blue, alpha: GLshort); extdecl;
- glColor4sv: procedure(const v: PGLshort); extdecl;
- glColor4ub: procedure(red, green, blue, alpha: GLubyte); extdecl;
- glColor4ubv: procedure(const v: PGLubyte); extdecl;
- glColor4ui: procedure(red, green, blue, alpha: GLuint); extdecl;
- glColor4uiv: procedure(const v: PGLuint); extdecl;
- glColor4us: procedure(red, green, blue, alpha: GLushort); extdecl;
- glColor4usv: procedure(const v: PGLushort); extdecl;
- glColorMask: procedure(red, green, blue, alpha: GLboolean); extdecl;
- glColorMaterial: procedure(face, mode: GLenum); extdecl;
- glColorPointer: procedure(size: GLint; atype: GLenum; stride: GLsizei; const pointer: Pointer); extdecl;
- glCopyPixels: procedure(x, y: GLint; width, height: GLsizei; atype: GLenum); extdecl;
- glCopyTexImage1D: procedure (target: GLenum; level: GLint; internalFormat: GLenum; x, y: GLint; width: GLsizei; border: GLint); extdecl;
- glCopyTexImage2D: procedure(target: GLenum; level: GLint; internalFormat: GLenum; x, y: GLint; width, height: GLsizei; border: GLint); extdecl;
- glCopyTexSubImage1D: procedure(target: GLenum; level, xoffset, x, y: GLint; width: GLsizei); extdecl;
- glCopyTexSubImage2D: procedure(target: GLenum; level, xoffset, yoffset, x, y: GLint; width, height: GLsizei); extdecl;
- glCullFace: procedure(mode: GLenum); extdecl;
- glDeleteLists: procedure(list: GLuint; range: GLsizei); extdecl;
- glDeleteTextures: procedure(n: GLsizei; const textures: PGLuint); extdecl;
- glDepthFunc: procedure(func: GLenum); extdecl;
- glDepthMask: procedure(flag: GLboolean); extdecl;
- glDepthRange: procedure(zNear, zFar: GLclampd); extdecl;
- glDisable: procedure(cap: GLenum); extdecl;
- glDisableClientState: procedure(aarray: GLenum); extdecl;
- glDrawArrays: procedure(mode: GLenum; first: GLint; count: GLsizei); extdecl;
- glDrawBuffer: procedure(mode: GLenum); extdecl;
- glDrawElements: procedure(mode: GLenum; count: GLsizei; atype: GLenum; const indices: Pointer); extdecl;
- glDrawPixels: procedure(width, height: GLsizei; format, atype: GLenum; const pixels: Pointer); extdecl;
- glEdgeFlag: procedure(flag: GLboolean); extdecl;
- glEdgeFlagPointer: procedure(stride: GLsizei; const pointer: Pointer); extdecl;
- glEdgeFlagv: procedure(const flag: PGLboolean); extdecl;
- glEnable: procedure(cap: GLenum); extdecl;
- glEnableClientState: procedure(aarray: GLenum); extdecl;
- glEnd: procedure; extdecl;
- glEndList: procedure; extdecl;
- glEvalCoord1d: procedure(u: GLdouble); extdecl;
- glEvalCoord1dv: procedure(const u: PGLdouble); extdecl;
- glEvalCoord1f: procedure(u: GLfloat); extdecl;
- glEvalCoord1fv: procedure(const u: PGLfloat); extdecl;
- glEvalCoord2d: procedure(u, v: GLdouble); extdecl;
- glEvalCoord2dv: procedure(const u: PGLdouble); extdecl;
- glEvalCoord2f: procedure(u, v: GLfloat); extdecl;
- glEvalCoord2fv: procedure(const u: PGLfloat); extdecl;
- glEvalMesh1: procedure(mode: GLenum; i1, i2: GLint); extdecl;
- glEvalMesh2: procedure(mode: GLenum; i1, i2, j1, j2: GLint); extdecl;
- glEvalPoint1: procedure(i: GLint); extdecl;
- glEvalPoint2: procedure(i, j: GLint); extdecl;
- glFeedbackBuffer: procedure(size: GLsizei; atype: GLenum; buffer: PGLfloat); extdecl;
- glFinish: procedure; extdecl;
- glFlush: procedure; extdecl;
- glFogf: procedure(pname: GLenum; param: GLfloat); extdecl;
- glFogfv: procedure(pname: GLenum; const params: PGLfloat); extdecl;
- glFogi: procedure(pname: GLenum; param: GLint); extdecl;
- glFogiv: procedure(pname: GLenum; const params: PGLint); extdecl;
- glFrontFace: procedure(mode: GLenum); extdecl;
- glFrustum: procedure(left, right, bottom, top, zNear, zFar: GLdouble); extdecl;
- glGenLists: function(range: GLsizei): GLuint; extdecl;
- glGenTextures: procedure(n: GLsizei; textures: PGLuint); extdecl;
- glGetBooleanv: procedure(pname: GLenum; params: PGLboolean); extdecl;
- glGetClipPlane: procedure(plane: GLenum; equation: PGLdouble); extdecl;
- glGetDoublev: procedure(pname: GLenum; params: PGLdouble); extdecl;
- glGetError: function: GLenum; extdecl;
- glGetFloatv: procedure(pname: GLenum; params: PGLfloat); extdecl;
- glGetIntegerv: procedure(pname: GLenum; params: PGLint); extdecl;
- glGetLightfv: procedure(light, pname: GLenum; params: PGLfloat); extdecl;
- glGetLightiv: procedure(light, pname: GLenum; params: PGLint); extdecl;
- glGetMapdv: procedure(target, query: GLenum; v: PGLdouble); extdecl;
- glGetMapfv: procedure(target, query: GLenum; v: PGLfloat); extdecl;
- glGetMapiv: procedure(target, query: GLenum; v: PGLint); extdecl;
- glGetMaterialfv: procedure(face, pname: GLenum; params: PGLfloat); extdecl;
- glGetMaterialiv: procedure(face, pname: GLenum; params: PGLint); extdecl;
- glGetPixelMapfv: procedure(map: GLenum; values: PGLfloat); extdecl;
- glGetPixelMapuiv: procedure(map: GLenum; values: PGLuint); extdecl;
- glGetPixelMapusv: procedure(map: GLenum; values: PGLushort); extdecl;
- glGetPointerv: procedure(pname: GLenum; params: Pointer); extdecl;
- glGetPolygonStipple: procedure(mask: PGLubyte); extdecl;
- glGetString: function(name: GLenum): PChar; extdecl;
- glGetTexEnvfv: procedure(target, pname: GLenum; params: PGLfloat); extdecl;
- glGetTexEnviv: procedure(target, pname: GLenum; params: PGLint); extdecl;
- glGetTexGendv: procedure(coord, pname: GLenum; params: PGLdouble); extdecl;
- glGetTexGenfv: procedure(coord, pname: GLenum; params: PGLfloat); extdecl;
- glGetTexGeniv: procedure(coord, pname: GLenum; params: PGLint); extdecl;
- glGetTexImage: procedure(target: GLenum; level: GLint; format: GLenum; atype: GLenum; pixels: Pointer); extdecl;
- glGetTexLevelParameterfv: procedure(target: GLenum; level: GLint; pname: GLenum; params: Pointer); extdecl;
- glGetTexLevelParameteriv: procedure(target: GLenum; level: GLint; pname: GLenum; params: PGLint); extdecl;
- glGetTexParameterfv: procedure(target, pname: GLenum; params: PGLfloat); extdecl;
- glGetTexParameteriv: procedure(target, pname: GLenum; params: PGLint); extdecl;
- glHint: procedure(target, mode: GLenum); extdecl;
- glIndexMask: procedure(mask: GLuint); extdecl;
- glIndexPointer: procedure(atype: GLenum; stride: GLsizei; const pointer: Pointer); extdecl;
- glIndexd: procedure(c: GLdouble); extdecl;
- glIndexdv: procedure(const c: PGLdouble); extdecl;
- glIndexf: procedure(c: GLfloat); extdecl;
- glIndexfv: procedure(const c: PGLfloat); extdecl;
- glIndexi: procedure(c: GLint); extdecl;
- glIndexiv: procedure(const c: PGLint); extdecl;
- glIndexs: procedure(c: GLshort); extdecl;
- glIndexsv: procedure(const c: PGLshort); extdecl;
- glIndexub: procedure(c: GLubyte); extdecl;
- glIndexubv: procedure(const c: PGLubyte); extdecl;
- glInitNames: procedure; extdecl;
- glInterleavedArrays: procedure(format: GLenum; stride: GLsizei; const pointer: Pointer); extdecl;
- glIsEnabled: function(cap: GLenum): GLboolean; extdecl;
- glIsList: function(list: GLuint): GLboolean; extdecl;
- glIsTexture: function(texture: GLuint): GLboolean; extdecl;
- glLightModelf: procedure(pname: GLenum; param: GLfloat); extdecl;
- glLightModelfv: procedure(pname: GLenum; const params: PGLfloat); extdecl;
- glLightModeli: procedure(pname: GLenum; param: GLint); extdecl;
- glLightModeliv: procedure(pname: GLenum; const params: PGLint); extdecl;
- glLightf: procedure(light, pname: GLenum; param: GLfloat); extdecl;
- glLightfv: procedure(light, pname: GLenum; const params: PGLfloat); extdecl;
- glLighti: procedure(light, pname: GLenum; param: GLint); extdecl;
- glLightiv: procedure(light, pname: GLenum; const params: PGLint); extdecl;
- glLineStipple: procedure(factor: GLint; pattern: GLushort); extdecl;
- glLineWidth: procedure(width: GLfloat); extdecl;
- glListBase: procedure(base: GLuint); extdecl;
- glLoadIdentity: procedure; extdecl;
- glLoadMatrixd: procedure(const m: PGLdouble); extdecl;
- glLoadMatrixf: procedure(const m: PGLfloat); extdecl;
- glLoadName: procedure(name: GLuint); extdecl;
- glLogicOp: procedure(opcode: GLenum); extdecl;
- glMap1d: procedure(target: GLenum; u1, u2: GLdouble; stride, order: GLint; const points: PGLdouble); extdecl;
- glMap1f: procedure(target: GLenum; u1, u2: GLfloat; stride, order: GLint; const points: PGLfloat); extdecl;
- glMap2d: procedure(target: GLenum; u1, u2: GLdouble; ustride, uorder: GLint; v1, v2: GLdouble; vstride, vorder: GLint; const points: PGLdouble); extdecl;
- glMap2f: procedure(target: GLenum; u1, u2: GLfloat; ustride, uorder: GLint; v1, v2: GLfloat; vstride, vorder: GLint; const points: PGLfloat); extdecl;
- glMapGrid1d: procedure(un: GLint; u1, u2: GLdouble); extdecl;
- glMapGrid1f: procedure(un: GLint; u1, u2: GLfloat); extdecl;
- glMapGrid2d: procedure(un: GLint; u1, u2: GLdouble; vn: GLint; v1, v2: GLdouble); extdecl;
- glMapGrid2f: procedure(un: GLint; u1, u2: GLfloat; vn: GLint; v1, v2: GLfloat); extdecl;
- glMaterialf: procedure(face, pname: GLenum; param: GLfloat); extdecl;
- glMaterialfv: procedure(face, pname: GLenum; const params: PGLfloat); extdecl;
- glMateriali: procedure(face, pname: GLenum; param: GLint); extdecl;
- glMaterialiv: procedure(face, pname: GLenum; const params: PGLint); extdecl;
- glMatrixMode: procedure(mode: GLenum); extdecl;
- glMultMatrixd: procedure(const m: PGLdouble); extdecl;
- glMultMatrixf: procedure(const m: PGLfloat); extdecl;
- glNewList: procedure(list: GLuint; mode: GLenum); extdecl;
- glNormal3b: procedure(nx, ny, nz: GLbyte); extdecl;
- glNormal3bv: procedure(const v: PGLbyte); extdecl;
- glNormal3d: procedure(nx, ny, nz: GLdouble); extdecl;
- glNormal3dv: procedure(const v: PGLdouble); extdecl;
- glNormal3f: procedure(nx, ny, nz: GLfloat); extdecl;
- glNormal3fv: procedure(const v: PGLfloat); extdecl;
- glNormal3i: procedure(nx, ny, nz: GLint); extdecl;
- glNormal3iv: procedure(const v: PGLint); extdecl;
- glNormal3s: procedure(nx, ny, nz: GLshort); extdecl;
- glNormal3sv: procedure(const v: PGLshort); extdecl;
- glNormalPointer: procedure(atype: GLenum; stride: GLsizei; const pointer: Pointer); extdecl;
- glOrtho: procedure(left, right, bottom, top, zNear, zFar: GLdouble); extdecl;
- glPassThrough: procedure(token: GLfloat); extdecl;
- glPixelMapfv: procedure(map: GLenum; mapsize: GLsizei; const values: PGLfloat); extdecl;
- glPixelMapuiv: procedure(map: GLenum; mapsize: GLsizei; const values: PGLuint); extdecl;
- glPixelMapusv: procedure(map: GLenum; mapsize: GLsizei; const values: PGLushort); extdecl;
- glPixelStoref: procedure(pname: GLenum; param: GLfloat); extdecl;
- glPixelStorei: procedure(pname: GLenum; param: GLint); extdecl;
- glPixelTransferf: procedure(pname: GLenum; param: GLfloat); extdecl;
- glPixelTransferi: procedure(pname: GLenum; param: GLint); extdecl;
- glPixelZoom: procedure(xfactor, yfactor: GLfloat); extdecl;
- glPointSize: procedure(size: GLfloat); extdecl;
- glPolygonMode: procedure(face, mode: GLenum); extdecl;
- glPolygonOffset: procedure(factor, units: GLfloat); extdecl;
- glPolygonStipple: procedure(const mask: PGLubyte); extdecl;
- glPopAttrib: procedure; extdecl;
- glPopClientAttrib: procedure; extdecl;
- glPopMatrix: procedure; extdecl;
- glPopName: procedure; extdecl;
- glPrioritizeTextures: procedure(n: GLsizei; const textures: PGLuint; const priorities: PGLclampf); extdecl;
- glPushAttrib: procedure(mask: GLbitfield); extdecl;
- glPushClientAttrib: procedure(mask: GLbitfield); extdecl;
- glPushMatrix: procedure; extdecl;
- glPushName: procedure(name: GLuint); extdecl;
- glRasterPos2d: procedure(x, y: GLdouble); extdecl;
- glRasterPos2dv: procedure(const v: PGLdouble); extdecl;
- glRasterPos2f: procedure(x, y: GLfloat); extdecl;
- glRasterPos2fv: procedure(const v: PGLfloat); extdecl;
- glRasterPos2i: procedure(x, y: GLint); extdecl;
- glRasterPos2iv: procedure(const v: PGLint); extdecl;
- glRasterPos2s: procedure(x, y: GLshort); extdecl;
- glRasterPos2sv: procedure(const v: PGLshort); extdecl;
- glRasterPos3d: procedure(x, y, z: GLdouble); extdecl;
- glRasterPos3dv: procedure(const v: PGLdouble); extdecl;
- glRasterPos3f: procedure(x, y, z: GLfloat); extdecl;
- glRasterPos3fv: procedure(const v: PGLfloat); extdecl;
- glRasterPos3i: procedure(x, y, z: GLint); extdecl;
- glRasterPos3iv: procedure(const v: PGLint); extdecl;
- glRasterPos3s: procedure(x, y, z: GLshort); extdecl;
- glRasterPos3sv: procedure(const v: PGLshort); extdecl;
- glRasterPos4d: procedure(x, y, z, w: GLdouble); extdecl;
- glRasterPos4dv: procedure(const v: PGLdouble); extdecl;
- glRasterPos4f: procedure(x, y, z, w: GLfloat); extdecl;
- glRasterPos4fv: procedure(const v: PGLfloat); extdecl;
- glRasterPos4i: procedure(x, y, z, w: GLint); extdecl;
- glRasterPos4iv: procedure(const v: PGLint); extdecl;
- glRasterPos4s: procedure(x, y, z, w: GLshort); extdecl;
- glRasterPos4sv: procedure(const v: PGLshort); extdecl;
- glReadBuffer: procedure(mode: GLenum); extdecl;
- glReadPixels: procedure(x, y: GLint; width, height: GLsizei; format, atype: GLenum; pixels: Pointer); extdecl;
- glRectd: procedure(x1, y1, x2, y2: GLdouble); extdecl;
- glRectdv: procedure(const v1: PGLdouble; const v2: PGLdouble); extdecl;
- glRectf: procedure(x1, y1, x2, y2: GLfloat); extdecl;
- glRectfv: procedure(const v1: PGLfloat; const v2: PGLfloat); extdecl;
- glRecti: procedure(x1, y1, x2, y2: GLint); extdecl;
- glRectiv: procedure(const v1: PGLint; const v2: PGLint); extdecl;
- glRects: procedure(x1, y1, x2, y2: GLshort); extdecl;
- glRectsv: procedure(const v1: PGLshort; const v2: PGLshort); extdecl;
- glRenderMode: function(mode: GLint): GLint; extdecl;
- glRotated: procedure(angle, x, y, z: GLdouble); extdecl;
- glRotatef: procedure(angle, x, y, z: GLfloat); extdecl;
- glScaled: procedure(x, y, z: GLdouble); extdecl;
- glScalef: procedure(x, y, z: GLfloat); extdecl;
- glScissor: procedure(x, y: GLint; width, height: GLsizei); extdecl;
- glSelectBuffer: procedure(size: GLsizei; buffer: PGLuint); extdecl;
- glShadeModel: procedure(mode: GLenum); extdecl;
- glStencilFunc: procedure(func: GLenum; ref: GLint; mask: GLuint); extdecl;
- glStencilMask: procedure(mask: GLuint); extdecl;
- glStencilOp: procedure(fail, zfail, zpass: GLenum); extdecl;
- glTexCoord1d: procedure(s: GLdouble); extdecl;
- glTexCoord1dv: procedure(const v: PGLdouble); extdecl;
- glTexCoord1f: procedure(s: GLfloat); extdecl;
- glTexCoord1fv: procedure(const v: PGLfloat); extdecl;
- glTexCoord1i: procedure(s: GLint); extdecl;
- glTexCoord1iv: procedure(const v: PGLint); extdecl;
- glTexCoord1s: procedure(s: GLshort); extdecl;
- glTexCoord1sv: procedure(const v: PGLshort); extdecl;
- glTexCoord2d: procedure(s, t: GLdouble); extdecl;
- glTexCoord2dv: procedure(const v: PGLdouble); extdecl;
- glTexCoord2f: procedure(s, t: GLfloat); extdecl;
- glTexCoord2fv: procedure(const v: PGLfloat); extdecl;
- glTexCoord2i: procedure(s, t: GLint); extdecl;
- glTexCoord2iv: procedure(const v: PGLint); extdecl;
- glTexCoord2s: procedure(s, t: GLshort); extdecl;
- glTexCoord2sv: procedure(const v: PGLshort); extdecl;
- glTexCoord3d: procedure(s, t, r: GLdouble); extdecl;
- glTexCoord3dv: procedure(const v: PGLdouble); extdecl;
- glTexCoord3f: procedure(s, t, r: GLfloat); extdecl;
- glTexCoord3fv: procedure(const v: PGLfloat); extdecl;
- glTexCoord3i: procedure(s, t, r: GLint); extdecl;
- glTexCoord3iv: procedure(const v: PGLint); extdecl;
- glTexCoord3s: procedure(s, t, r: GLshort); extdecl;
- glTexCoord3sv: procedure(const v: PGLshort); extdecl;
- glTexCoord4d: procedure(s, t, r, q: GLdouble); extdecl;
- glTexCoord4dv: procedure(const v: PGLdouble); extdecl;
- glTexCoord4f: procedure(s, t, r, q: GLfloat); extdecl;
- glTexCoord4fv: procedure(const v: PGLfloat); extdecl;
- glTexCoord4i: procedure(s, t, r, q: GLint); extdecl;
- glTexCoord4iv: procedure(const v: PGLint); extdecl;
- glTexCoord4s: procedure(s, t, r, q: GLshort); extdecl;
- glTexCoord4sv: procedure(const v: PGLshort); extdecl;
- glTexCoordPointer: procedure(size: GLint; atype: GLenum; stride: GLsizei; const pointer: Pointer); extdecl;
- glTexEnvf: procedure(target: GLenum; pname: GLenum; param: GLfloat); extdecl;
- glTexEnvfv: procedure(target: GLenum; pname: GLenum; const params: PGLfloat); extdecl;
- glTexEnvi: procedure(target: GLenum; pname: GLenum; param: GLint); extdecl;
- glTexEnviv: procedure(target: GLenum; pname: GLenum; const params: PGLint); extdecl;
- glTexGend: procedure(coord: GLenum; pname: GLenum; param: GLdouble); extdecl;
- glTexGendv: procedure(coord: GLenum; pname: GLenum; const params: PGLdouble); extdecl;
- glTexGenf: procedure(coord: GLenum; pname: GLenum; param: GLfloat); extdecl;
- glTexGenfv: procedure(coord: GLenum; pname: GLenum; const params: PGLfloat); extdecl;
- glTexGeni: procedure(coord: GLenum; pname: GLenum; param: GLint); extdecl;
- glTexGeniv: procedure(coord: GLenum; pname: GLenum; const params: PGLint); extdecl;
- glTexImage1D: procedure(target: GLenum; level, internalformat: GLint; width: GLsizei; border: GLint; format, atype: GLenum; const pixels: Pointer); extdecl;
- glTexImage2D: procedure(target: GLenum; level, internalformat: GLint; width, height: GLsizei; border: GLint; format, atype: GLenum; const pixels: Pointer); extdecl;
- glTexParameterf: procedure(target: GLenum; pname: GLenum; param: GLfloat); extdecl;
- glTexParameterfv: procedure(target: GLenum; pname: GLenum; const params: PGLfloat); extdecl;
- glTexParameteri: procedure(target: GLenum; pname: GLenum; param: GLint); extdecl;
- glTexParameteriv: procedure(target: GLenum; pname: GLenum; const params: PGLint); extdecl;
- glTexSubImage1D: procedure(target: GLenum; level, xoffset: GLint; width: GLsizei; format, atype: GLenum; const pixels: Pointer); extdecl;
- glTexSubImage2D: procedure(target: GLenum; level, xoffset, yoffset: GLint; width, height: GLsizei; format, atype: GLenum; const pixels: Pointer); extdecl;
- glTranslated: procedure(x, y, z: GLdouble); extdecl;
- glTranslatef: procedure(x, y, z: GLfloat); extdecl;
- glVertex2d: procedure(x, y: GLdouble); extdecl;
- glVertex2dv: procedure(const v: PGLdouble); extdecl;
- glVertex2f: procedure(x, y: GLfloat); extdecl;
- glVertex2fv: procedure(const v: PGLfloat); extdecl;
- glVertex2i: procedure(x, y: GLint); extdecl;
- glVertex2iv: procedure(const v: PGLint); extdecl;
- glVertex2s: procedure(x, y: GLshort); extdecl;
- glVertex2sv: procedure(const v: PGLshort); extdecl;
- glVertex3d: procedure(x, y, z: GLdouble); extdecl;
- glVertex3dv: procedure(const v: PGLdouble); extdecl;
- glVertex3f: procedure(x, y, z: GLfloat); extdecl;
- glVertex3fv: procedure(const v: PGLfloat); extdecl;
- glVertex3i: procedure(x, y, z: GLint); extdecl;
- glVertex3iv: procedure(const v: PGLint); extdecl;
- glVertex3s: procedure(x, y, z: GLshort); extdecl;
- glVertex3sv: procedure(const v: PGLshort); extdecl;
- glVertex4d: procedure(x, y, z, w: GLdouble); extdecl;
- glVertex4dv: procedure(const v: PGLdouble); extdecl;
- glVertex4f: procedure(x, y, z, w: GLfloat); extdecl;
- glVertex4fv: procedure(const v: PGLfloat); extdecl;
- glVertex4i: procedure(x, y, z, w: GLint); extdecl;
- glVertex4iv: procedure(const v: PGLint); extdecl;
- glVertex4s: procedure(x, y, z, w: GLshort); extdecl;
- glVertex4sv: procedure(const v: PGLshort); extdecl;
- glVertexPointer: procedure(size: GLint; atype: GLenum; stride: GLsizei; const pointer: Pointer); extdecl;
- glViewport: procedure(x, y: GLint; width, height: GLsizei); extdecl;
- {$IFDEF Windows}
- ChoosePixelFormat: function(DC: HDC; p2: PPixelFormatDescriptor): Integer; extdecl;
- {$ENDIF}
-{$ENDIF MORPHOS}
-
-type
- // EXT_vertex_array
- PFNGLARRAYELEMENTEXTPROC = procedure(i: GLint); extdecl;
- PFNGLDRAWARRAYSEXTPROC = procedure(mode: GLenum; first: GLint; count: GLsizei); extdecl;
- PFNGLVERTEXPOINTEREXTPROC = procedure(size: GLint; atype: GLenum;
- stride, count: GLsizei; const pointer: Pointer); extdecl;
- PFNGLNORMALPOINTEREXTPROC = procedure(atype: GLenum; stride, count: GLsizei;
- const pointer: Pointer); extdecl;
- PFNGLCOLORPOINTEREXTPROC = procedure(size: GLint; atype: GLenum; stride, count: GLsizei;
- const pointer: Pointer); extdecl;
- PFNGLINDEXPOINTEREXTPROC = procedure(atype: GLenum; stride, count: GLsizei;
- const pointer: Pointer); extdecl;
- PFNGLTEXCOORDPOINTEREXTPROC = procedure(size: GLint; atype: GLenum;
- stride, count: GLsizei; const pointer: Pointer); extdecl;
- PFNGLEDGEFLAGPOINTEREXTPROC = procedure(stride, count: GLsizei;
- const pointer: PGLboolean); extdecl;
- PFNGLGETPOINTERVEXTPROC = procedure(pname: GLenum; params: Pointer); extdecl;
- PFNGLARRAYELEMENTARRAYEXTPROC = procedure(mode: GLenum; count: GLsizei;
- const pi: Pointer); extdecl;
-
- // WIN_swap_hint
- PFNGLADDSWAPHINTRECTWINPROC = procedure(x, y: GLint; width, height: GLsizei); extdecl;
-
- // EXT_paletted_texture
- PFNGLCOLORTABLEEXTPROC = procedure(target, internalFormat: GLenum; width: GLsizei;
- format, atype: GLenum; const data: Pointer); extdecl;
- PFNGLCOLORSUBTABLEEXTPROC = procedure(target: GLenum; start, count: GLsizei;
- format, atype: GLenum; const data: Pointer); extdecl;
- PFNGLGETCOLORTABLEEXTPROC = procedure(target, format, atype: GLenum; data: Pointer); extdecl;
- PFNGLGETCOLORTABLEPARAMETERIVEXTPROC = procedure(target, pname: GLenum; params: PGLint); extdecl;
- PFNGLGETCOLORTABLEPARAMETERFVEXTPROC = procedure(target, pname: GLenum; params: PGLfloat); extdecl;
-
-procedure LoadOpenGL(const dll: String);
-procedure FreeOpenGL;
-
-implementation
-
-{$if defined(cpui386) or defined(cpux86_64)}
-uses
- math;
-{$endif}
-
-{$ifdef windows}
-function WinChoosePixelFormat(DC: HDC; p2: PPixelFormatDescriptor): Integer; extdecl; external 'gdi32' name 'ChoosePixelFormat';
-{$endif}
-
-{$IFDEF MORPHOS}
-
-{ MorphOS GL works differently due to different dynamic-library handling on Amiga-like }
-{ systems, so its functions are included here. }
-{$INCLUDE tinygl.inc}
-
-{$ENDIF MORPHOS}
-
-procedure FreeOpenGL;
-begin
-{$IFDEF MORPHOS}
-
- // MorphOS's GL will closed down by TinyGL unit, nothing is needed here.
-
-{$ELSE MORPHOS}
- @glAccum := nil;
- @glAlphaFunc := nil;
- @glAreTexturesResident := nil;
- @glArrayElement := nil;
- @glBegin := nil;
- @glBindTexture := nil;
- @glBitmap := nil;
- @glBlendFunc := nil;
- @glCallList := nil;
- @glCallLists := nil;
- @glClear := nil;
- @glClearAccum := nil;
- @glClearColor := nil;
- @glClearDepth := nil;
- @glClearIndex := nil;
- @glClearStencil := nil;
- @glClipPlane := nil;
- @glColor3b := nil;
- @glColor3bv := nil;
- @glColor3d := nil;
- @glColor3dv := nil;
- @glColor3f := nil;
- @glColor3fv := nil;
- @glColor3i := nil;
- @glColor3iv := nil;
- @glColor3s := nil;
- @glColor3sv := nil;
- @glColor3ub := nil;
- @glColor3ubv := nil;
- @glColor3ui := nil;
- @glColor3uiv := nil;
- @glColor3us := nil;
- @glColor3usv := nil;
- @glColor4b := nil;
- @glColor4bv := nil;
- @glColor4d := nil;
- @glColor4dv := nil;
- @glColor4f := nil;
- @glColor4fv := nil;
- @glColor4i := nil;
- @glColor4iv := nil;
- @glColor4s := nil;
- @glColor4sv := nil;
- @glColor4ub := nil;
- @glColor4ubv := nil;
- @glColor4ui := nil;
- @glColor4uiv := nil;
- @glColor4us := nil;
- @glColor4usv := nil;
- @glColorMask := nil;
- @glColorMaterial := nil;
- @glColorPointer := nil;
- @glCopyPixels := nil;
- @glCopyTexImage1D := nil;
- @glCopyTexImage2D := nil;
- @glCopyTexSubImage1D := nil;
- @glCopyTexSubImage2D := nil;
- @glCullFace := nil;
- @glDeleteLists := nil;
- @glDeleteTextures := nil;
- @glDepthFunc := nil;
- @glDepthMask := nil;
- @glDepthRange := nil;
- @glDisable := nil;
- @glDisableClientState := nil;
- @glDrawArrays := nil;
- @glDrawBuffer := nil;
- @glDrawElements := nil;
- @glDrawPixels := nil;
- @glEdgeFlag := nil;
- @glEdgeFlagPointer := nil;
- @glEdgeFlagv := nil;
- @glEnable := nil;
- @glEnableClientState := nil;
- @glEnd := nil;
- @glEndList := nil;
- @glEvalCoord1d := nil;
- @glEvalCoord1dv := nil;
- @glEvalCoord1f := nil;
- @glEvalCoord1fv := nil;
- @glEvalCoord2d := nil;
- @glEvalCoord2dv := nil;
- @glEvalCoord2f := nil;
- @glEvalCoord2fv := nil;
- @glEvalMesh1 := nil;
- @glEvalMesh2 := nil;
- @glEvalPoint1 := nil;
- @glEvalPoint2 := nil;
- @glFeedbackBuffer := nil;
- @glFinish := nil;
- @glFlush := nil;
- @glFogf := nil;
- @glFogfv := nil;
- @glFogi := nil;
- @glFogiv := nil;
- @glFrontFace := nil;
- @glFrustum := nil;
- @glGenLists := nil;
- @glGenTextures := nil;
- @glGetBooleanv := nil;
- @glGetClipPlane := nil;
- @glGetDoublev := nil;
- @glGetError := nil;
- @glGetFloatv := nil;
- @glGetIntegerv := nil;
- @glGetLightfv := nil;
- @glGetLightiv := nil;
- @glGetMapdv := nil;
- @glGetMapfv := nil;
- @glGetMapiv := nil;
- @glGetMaterialfv := nil;
- @glGetMaterialiv := nil;
- @glGetPixelMapfv := nil;
- @glGetPixelMapuiv := nil;
- @glGetPixelMapusv := nil;
- @glGetPointerv := nil;
- @glGetPolygonStipple := nil;
- @glGetString := nil;
- @glGetTexEnvfv := nil;
- @glGetTexEnviv := nil;
- @glGetTexGendv := nil;
- @glGetTexGenfv := nil;
- @glGetTexGeniv := nil;
- @glGetTexImage := nil;
- @glGetTexLevelParameterfv := nil;
- @glGetTexLevelParameteriv := nil;
- @glGetTexParameterfv := nil;
- @glGetTexParameteriv := nil;
- @glHint := nil;
- @glIndexMask := nil;
- @glIndexPointer := nil;
- @glIndexd := nil;
- @glIndexdv := nil;
- @glIndexf := nil;
- @glIndexfv := nil;
- @glIndexi := nil;
- @glIndexiv := nil;
- @glIndexs := nil;
- @glIndexsv := nil;
- @glIndexub := nil;
- @glIndexubv := nil;
- @glInitNames := nil;
- @glInterleavedArrays := nil;
- @glIsEnabled := nil;
- @glIsList := nil;
- @glIsTexture := nil;
- @glLightModelf := nil;
- @glLightModelfv := nil;
- @glLightModeli := nil;
- @glLightModeliv := nil;
- @glLightf := nil;
- @glLightfv := nil;
- @glLighti := nil;
- @glLightiv := nil;
- @glLineStipple := nil;
- @glLineWidth := nil;
- @glListBase := nil;
- @glLoadIdentity := nil;
- @glLoadMatrixd := nil;
- @glLoadMatrixf := nil;
- @glLoadName := nil;
- @glLogicOp := nil;
- @glMap1d := nil;
- @glMap1f := nil;
- @glMap2d := nil;
- @glMap2f := nil;
- @glMapGrid1d := nil;
- @glMapGrid1f := nil;
- @glMapGrid2d := nil;
- @glMapGrid2f := nil;
- @glMaterialf := nil;
- @glMaterialfv := nil;
- @glMateriali := nil;
- @glMaterialiv := nil;
- @glMatrixMode := nil;
- @glMultMatrixd := nil;
- @glMultMatrixf := nil;
- @glNewList := nil;
- @glNormal3b := nil;
- @glNormal3bv := nil;
- @glNormal3d := nil;
- @glNormal3dv := nil;
- @glNormal3f := nil;
- @glNormal3fv := nil;
- @glNormal3i := nil;
- @glNormal3iv := nil;
- @glNormal3s := nil;
- @glNormal3sv := nil;
- @glNormalPointer := nil;
- @glOrtho := nil;
- @glPassThrough := nil;
- @glPixelMapfv := nil;
- @glPixelMapuiv := nil;
- @glPixelMapusv := nil;
- @glPixelStoref := nil;
- @glPixelStorei := nil;
- @glPixelTransferf := nil;
- @glPixelTransferi := nil;
- @glPixelZoom := nil;
- @glPointSize := nil;
- @glPolygonMode := nil;
- @glPolygonOffset := nil;
- @glPolygonStipple := nil;
- @glPopAttrib := nil;
- @glPopClientAttrib := nil;
- @glPopMatrix := nil;
- @glPopName := nil;
- @glPrioritizeTextures := nil;
- @glPushAttrib := nil;
- @glPushClientAttrib := nil;
- @glPushMatrix := nil;
- @glPushName := nil;
- @glRasterPos2d := nil;
- @glRasterPos2dv := nil;
- @glRasterPos2f := nil;
- @glRasterPos2fv := nil;
- @glRasterPos2i := nil;
- @glRasterPos2iv := nil;
- @glRasterPos2s := nil;
- @glRasterPos2sv := nil;
- @glRasterPos3d := nil;
- @glRasterPos3dv := nil;
- @glRasterPos3f := nil;
- @glRasterPos3fv := nil;
- @glRasterPos3i := nil;
- @glRasterPos3iv := nil;
- @glRasterPos3s := nil;
- @glRasterPos3sv := nil;
- @glRasterPos4d := nil;
- @glRasterPos4dv := nil;
- @glRasterPos4f := nil;
- @glRasterPos4fv := nil;
- @glRasterPos4i := nil;
- @glRasterPos4iv := nil;
- @glRasterPos4s := nil;
- @glRasterPos4sv := nil;
- @glReadBuffer := nil;
- @glReadPixels := nil;
- @glRectd := nil;
- @glRectdv := nil;
- @glRectf := nil;
- @glRectfv := nil;
- @glRecti := nil;
- @glRectiv := nil;
- @glRects := nil;
- @glRectsv := nil;
- @glRenderMode := nil;
- @glRotated := nil;
- @glRotatef := nil;
- @glScaled := nil;
- @glScalef := nil;
- @glScissor := nil;
- @glSelectBuffer := nil;
- @glShadeModel := nil;
- @glStencilFunc := nil;
- @glStencilMask := nil;
- @glStencilOp := nil;
- @glTexCoord1d := nil;
- @glTexCoord1dv := nil;
- @glTexCoord1f := nil;
- @glTexCoord1fv := nil;
- @glTexCoord1i := nil;
- @glTexCoord1iv := nil;
- @glTexCoord1s := nil;
- @glTexCoord1sv := nil;
- @glTexCoord2d := nil;
- @glTexCoord2dv := nil;
- @glTexCoord2f := nil;
- @glTexCoord2fv := nil;
- @glTexCoord2i := nil;
- @glTexCoord2iv := nil;
- @glTexCoord2s := nil;
- @glTexCoord2sv := nil;
- @glTexCoord3d := nil;
- @glTexCoord3dv := nil;
- @glTexCoord3f := nil;
- @glTexCoord3fv := nil;
- @glTexCoord3i := nil;
- @glTexCoord3iv := nil;
- @glTexCoord3s := nil;
- @glTexCoord3sv := nil;
- @glTexCoord4d := nil;
- @glTexCoord4dv := nil;
- @glTexCoord4f := nil;
- @glTexCoord4fv := nil;
- @glTexCoord4i := nil;
- @glTexCoord4iv := nil;
- @glTexCoord4s := nil;
- @glTexCoord4sv := nil;
- @glTexCoordPointer := nil;
- @glTexEnvf := nil;
- @glTexEnvfv := nil;
- @glTexEnvi := nil;
- @glTexEnviv := nil;
- @glTexGend := nil;
- @glTexGendv := nil;
- @glTexGenf := nil;
- @glTexGenfv := nil;
- @glTexGeni := nil;
- @glTexGeniv := nil;
- @glTexImage1D := nil;
- @glTexImage2D := nil;
- @glTexParameterf := nil;
- @glTexParameterfv := nil;
- @glTexParameteri := nil;
- @glTexParameteriv := nil;
- @glTexSubImage1D := nil;
- @glTexSubImage2D := nil;
- @glTranslated := nil;
- @glTranslatef := nil;
- @glVertex2d := nil;
- @glVertex2dv := nil;
- @glVertex2f := nil;
- @glVertex2fv := nil;
- @glVertex2i := nil;
- @glVertex2iv := nil;
- @glVertex2s := nil;
- @glVertex2sv := nil;
- @glVertex3d := nil;
- @glVertex3dv := nil;
- @glVertex3f := nil;
- @glVertex3fv := nil;
- @glVertex3i := nil;
- @glVertex3iv := nil;
- @glVertex3s := nil;
- @glVertex3sv := nil;
- @glVertex4d := nil;
- @glVertex4dv := nil;
- @glVertex4f := nil;
- @glVertex4fv := nil;
- @glVertex4i := nil;
- @glVertex4iv := nil;
- @glVertex4s := nil;
- @glVertex4sv := nil;
- @glVertexPointer := nil;
- @glViewport := nil;
- {$IFDEF Windows}
- @ChoosePixelFormat := nil;
- {$ENDIF}
-
- if (LibGL <> 0) then
- FreeLibrary(LibGL);
-{$ENDIF MORPHOS}
-end;
-
-procedure LoadOpenGL(const dll: String);
-{$IFDEF MORPHOS}
-begin
- // MorphOS's GL has own initialization in TinyGL unit, nothing is needed here.
-end;
-{$ELSE MORPHOS}
-var
- MethodName: string = '';
-
- function GetGLProcAddress(Lib: PtrInt; ProcName: PChar): Pointer;
- begin
- MethodName:=ProcName;
- Result:=GetProcAddress(Lib, ProcName);
- end;
-
-begin
-
- FreeOpenGL;
-
- LibGL := LoadLibrary(PChar(dll));
- if LibGL = 0 then raise Exception.Create('Could not load OpenGL from ' + dll);
- try
- @glAccum := GetGLProcAddress(LibGL, 'glAccum');
- @glAlphaFunc := GetGLProcAddress(LibGL, 'glAlphaFunc');
- @glAreTexturesResident := GetGLProcAddress(LibGL, 'glAreTexturesResident');
- @glArrayElement := GetGLProcAddress(LibGL, 'glArrayElement');
- @glBegin := GetGLProcAddress(LibGL, 'glBegin');
- @glBindTexture := GetGLProcAddress(LibGL, 'glBindTexture');
- @glBitmap := GetGLProcAddress(LibGL, 'glBitmap');
- @glBlendFunc := GetGLProcAddress(LibGL, 'glBlendFunc');
- @glCallList := GetGLProcAddress(LibGL, 'glCallList');
- @glCallLists := GetGLProcAddress(LibGL, 'glCallLists');
- @glClear := GetGLProcAddress(LibGL, 'glClear');
- @glClearAccum := GetGLProcAddress(LibGL, 'glClearAccum');
- @glClearColor := GetGLProcAddress(LibGL, 'glClearColor');
- @glClearDepth := GetGLProcAddress(LibGL, 'glClearDepth');
- @glClearIndex := GetGLProcAddress(LibGL, 'glClearIndex');
- @glClearStencil := GetGLProcAddress(LibGL, 'glClearStencil');
- @glClipPlane := GetGLProcAddress(LibGL, 'glClipPlane');
- @glColor3b := GetGLProcAddress(LibGL, 'glColor3b');
- @glColor3bv := GetGLProcAddress(LibGL, 'glColor3bv');
- @glColor3d := GetGLProcAddress(LibGL, 'glColor3d');
- @glColor3dv := GetGLProcAddress(LibGL, 'glColor3dv');
- @glColor3f := GetGLProcAddress(LibGL, 'glColor3f');
- @glColor3fv := GetGLProcAddress(LibGL, 'glColor3fv');
- @glColor3i := GetGLProcAddress(LibGL, 'glColor3i');
- @glColor3iv := GetGLProcAddress(LibGL, 'glColor3iv');
- @glColor3s := GetGLProcAddress(LibGL, 'glColor3s');
- @glColor3sv := GetGLProcAddress(LibGL, 'glColor3sv');
- @glColor3ub := GetGLProcAddress(LibGL, 'glColor3ub');
- @glColor3ubv := GetGLProcAddress(LibGL, 'glColor3ubv');
- @glColor3ui := GetGLProcAddress(LibGL, 'glColor3ui');
- @glColor3uiv := GetGLProcAddress(LibGL, 'glColor3uiv');
- @glColor3us := GetGLProcAddress(LibGL, 'glColor3us');
- @glColor3usv := GetGLProcAddress(LibGL, 'glColor3usv');
- @glColor4b := GetGLProcAddress(LibGL, 'glColor4b');
- @glColor4bv := GetGLProcAddress(LibGL, 'glColor4bv');
- @glColor4d := GetGLProcAddress(LibGL, 'glColor4d');
- @glColor4dv := GetGLProcAddress(LibGL, 'glColor4dv');
- @glColor4f := GetGLProcAddress(LibGL, 'glColor4f');
- @glColor4fv := GetGLProcAddress(LibGL, 'glColor4fv');
- @glColor4i := GetGLProcAddress(LibGL, 'glColor4i');
- @glColor4iv := GetGLProcAddress(LibGL, 'glColor4iv');
- @glColor4s := GetGLProcAddress(LibGL, 'glColor4s');
- @glColor4sv := GetGLProcAddress(LibGL, 'glColor4sv');
- @glColor4ub := GetGLProcAddress(LibGL, 'glColor4ub');
- @glColor4ubv := GetGLProcAddress(LibGL, 'glColor4ubv');
- @glColor4ui := GetGLProcAddress(LibGL, 'glColor4ui');
- @glColor4uiv := GetGLProcAddress(LibGL, 'glColor4uiv');
- @glColor4us := GetGLProcAddress(LibGL, 'glColor4us');
- @glColor4usv := GetGLProcAddress(LibGL, 'glColor4usv');
- @glColorMask := GetGLProcAddress(LibGL, 'glColorMask');
- @glColorMaterial := GetGLProcAddress(LibGL, 'glColorMaterial');
- @glColorPointer := GetGLProcAddress(LibGL, 'glColorPointer');
- @glCopyPixels := GetGLProcAddress(LibGL, 'glCopyPixels');
- @glCopyTexImage1D := GetGLProcAddress(LibGL, 'glCopyTexImage1D');
- @glCopyTexImage2D := GetGLProcAddress(LibGL, 'glCopyTexImage2D');
- @glCopyTexSubImage1D := GetGLProcAddress(LibGL, 'glCopyTexSubImage1D');
- @glCopyTexSubImage2D := GetGLProcAddress(LibGL, 'glCopyTexSubImage2D');
- @glCullFace := GetGLProcAddress(LibGL, 'glCullFace');
- @glDeleteLists := GetGLProcAddress(LibGL, 'glDeleteLists');
- @glDeleteTextures := GetGLProcAddress(LibGL, 'glDeleteTextures');
- @glDepthFunc := GetGLProcAddress(LibGL, 'glDepthFunc');
- @glDepthMask := GetGLProcAddress(LibGL, 'glDepthMask');
- @glDepthRange := GetGLProcAddress(LibGL, 'glDepthRange');
- @glDisable := GetGLProcAddress(LibGL, 'glDisable');
- @glDisableClientState := GetGLProcAddress(LibGL, 'glDisableClientState');
- @glDrawArrays := GetGLProcAddress(LibGL, 'glDrawArrays');
- @glDrawBuffer := GetGLProcAddress(LibGL, 'glDrawBuffer');
- @glDrawElements := GetGLProcAddress(LibGL, 'glDrawElements');
- @glDrawPixels := GetGLProcAddress(LibGL, 'glDrawPixels');
- @glEdgeFlag := GetGLProcAddress(LibGL, 'glEdgeFlag');
- @glEdgeFlagPointer := GetGLProcAddress(LibGL, 'glEdgeFlagPointer');
- @glEdgeFlagv := GetGLProcAddress(LibGL, 'glEdgeFlagv');
- @glEnable := GetGLProcAddress(LibGL, 'glEnable');
- @glEnableClientState := GetGLProcAddress(LibGL, 'glEnableClientState');
- @glEnd := GetGLProcAddress(LibGL, 'glEnd');
- @glEndList := GetGLProcAddress(LibGL, 'glEndList');
- @glEvalCoord1d := GetGLProcAddress(LibGL, 'glEvalCoord1d');
- @glEvalCoord1dv := GetGLProcAddress(LibGL, 'glEvalCoord1dv');
- @glEvalCoord1f := GetGLProcAddress(LibGL, 'glEvalCoord1f');
- @glEvalCoord1fv := GetGLProcAddress(LibGL, 'glEvalCoord1fv');
- @glEvalCoord2d := GetGLProcAddress(LibGL, 'glEvalCoord2d');
- @glEvalCoord2dv := GetGLProcAddress(LibGL, 'glEvalCoord2dv');
- @glEvalCoord2f := GetGLProcAddress(LibGL, 'glEvalCoord2f');
- @glEvalCoord2fv := GetGLProcAddress(LibGL, 'glEvalCoord2fv');
- @glEvalMesh1 := GetGLProcAddress(LibGL, 'glEvalMesh1');
- @glEvalMesh2 := GetGLProcAddress(LibGL, 'glEvalMesh2');
- @glEvalPoint1 := GetGLProcAddress(LibGL, 'glEvalPoint1');
- @glEvalPoint2 := GetGLProcAddress(LibGL, 'glEvalPoint2');
- @glFeedbackBuffer := GetGLProcAddress(LibGL, 'glFeedbackBuffer');
- @glFinish := GetGLProcAddress(LibGL, 'glFinish');
- @glFlush := GetGLProcAddress(LibGL, 'glFlush');
- @glFogf := GetGLProcAddress(LibGL, 'glFogf');
- @glFogfv := GetGLProcAddress(LibGL, 'glFogfv');
- @glFogi := GetGLProcAddress(LibGL, 'glFogi');
- @glFogiv := GetGLProcAddress(LibGL, 'glFogiv');
- @glFrontFace := GetGLProcAddress(LibGL, 'glFrontFace');
- @glFrustum := GetGLProcAddress(LibGL, 'glFrustum');
- @glGenLists := GetGLProcAddress(LibGL, 'glGenLists');
- @glGenTextures := GetGLProcAddress(LibGL, 'glGenTextures');
- @glGetBooleanv := GetGLProcAddress(LibGL, 'glGetBooleanv');
- @glGetClipPlane := GetGLProcAddress(LibGL, 'glGetClipPlane');
- @glGetDoublev := GetGLProcAddress(LibGL, 'glGetDoublev');
- @glGetError := GetGLProcAddress(LibGL, 'glGetError');
- @glGetFloatv := GetGLProcAddress(LibGL, 'glGetFloatv');
- @glGetIntegerv := GetGLProcAddress(LibGL, 'glGetIntegerv');
- @glGetLightfv := GetGLProcAddress(LibGL, 'glGetLightfv');
- @glGetLightiv := GetGLProcAddress(LibGL, 'glGetLightiv');
- @glGetMapdv := GetGLProcAddress(LibGL, 'glGetMapdv');
- @glGetMapfv := GetGLProcAddress(LibGL, 'glGetMapfv');
- @glGetMapiv := GetGLProcAddress(LibGL, 'glGetMapiv');
- @glGetMaterialfv := GetGLProcAddress(LibGL, 'glGetMaterialfv');
- @glGetMaterialiv := GetGLProcAddress(LibGL, 'glGetMaterialiv');
- @glGetPixelMapfv := GetGLProcAddress(LibGL, 'glGetPixelMapfv');
- @glGetPixelMapuiv := GetGLProcAddress(LibGL, 'glGetPixelMapuiv');
- @glGetPixelMapusv := GetGLProcAddress(LibGL, 'glGetPixelMapusv');
- @glGetPointerv := GetGLProcAddress(LibGL, 'glGetPointerv');
- @glGetPolygonStipple := GetGLProcAddress(LibGL, 'glGetPolygonStipple');
- @glGetString := GetGLProcAddress(LibGL, 'glGetString');
- @glGetTexEnvfv := GetGLProcAddress(LibGL, 'glGetTexEnvfv');
- @glGetTexEnviv := GetGLProcAddress(LibGL, 'glGetTexEnviv');
- @glGetTexGendv := GetGLProcAddress(LibGL, 'glGetTexGendv');
- @glGetTexGenfv := GetGLProcAddress(LibGL, 'glGetTexGenfv');
- @glGetTexGeniv := GetGLProcAddress(LibGL, 'glGetTexGeniv');
- @glGetTexImage := GetGLProcAddress(LibGL, 'glGetTexImage');
- @glGetTexLevelParameterfv := GetGLProcAddress(LibGL, 'glGetTexLevelParameterfv');
- @glGetTexLevelParameteriv := GetGLProcAddress(LibGL, 'glGetTexLevelParameteriv');
- @glGetTexParameterfv := GetGLProcAddress(LibGL, 'glGetTexParameterfv');
- @glGetTexParameteriv := GetGLProcAddress(LibGL, 'glGetTexParameteriv');
- @glHint := GetGLProcAddress(LibGL, 'glHint');
- @glIndexMask := GetGLProcAddress(LibGL, 'glIndexMask');
- @glIndexPointer := GetGLProcAddress(LibGL, 'glIndexPointer');
- @glIndexd := GetGLProcAddress(LibGL, 'glIndexd');
- @glIndexdv := GetGLProcAddress(LibGL, 'glIndexdv');
- @glIndexf := GetGLProcAddress(LibGL, 'glIndexf');
- @glIndexfv := GetGLProcAddress(LibGL, 'glIndexfv');
- @glIndexi := GetGLProcAddress(LibGL, 'glIndexi');
- @glIndexiv := GetGLProcAddress(LibGL, 'glIndexiv');
- @glIndexs := GetGLProcAddress(LibGL, 'glIndexs');
- @glIndexsv := GetGLProcAddress(LibGL, 'glIndexsv');
- @glIndexub := GetGLProcAddress(LibGL, 'glIndexub');
- @glIndexubv := GetGLProcAddress(LibGL, 'glIndexubv');
- @glInitNames := GetGLProcAddress(LibGL, 'glInitNames');
- @glInterleavedArrays := GetGLProcAddress(LibGL, 'glInterleavedArrays');
- @glIsEnabled := GetGLProcAddress(LibGL, 'glIsEnabled');
- @glIsList := GetGLProcAddress(LibGL, 'glIsList');
- @glIsTexture := GetGLProcAddress(LibGL, 'glIsTexture');
- @glLightModelf := GetGLProcAddress(LibGL, 'glLightModelf');
- @glLightModelfv := GetGLProcAddress(LibGL, 'glLightModelfv');
- @glLightModeli := GetGLProcAddress(LibGL, 'glLightModeli');
- @glLightModeliv := GetGLProcAddress(LibGL, 'glLightModeliv');
- @glLightf := GetGLProcAddress(LibGL, 'glLightf');
- @glLightfv := GetGLProcAddress(LibGL, 'glLightfv');
- @glLighti := GetGLProcAddress(LibGL, 'glLighti');
- @glLightiv := GetGLProcAddress(LibGL, 'glLightiv');
- @glLineStipple := GetGLProcAddress(LibGL, 'glLineStipple');
- @glLineWidth := GetGLProcAddress(LibGL, 'glLineWidth');
- @glListBase := GetGLProcAddress(LibGL, 'glListBase');
- @glLoadIdentity := GetGLProcAddress(LibGL, 'glLoadIdentity');
- @glLoadMatrixd := GetGLProcAddress(LibGL, 'glLoadMatrixd');
- @glLoadMatrixf := GetGLProcAddress(LibGL, 'glLoadMatrixf');
- @glLoadName := GetGLProcAddress(LibGL, 'glLoadName');
- @glLogicOp := GetGLProcAddress(LibGL, 'glLogicOp');
- @glMap1d := GetGLProcAddress(LibGL, 'glMap1d');
- @glMap1f := GetGLProcAddress(LibGL, 'glMap1f');
- @glMap2d := GetGLProcAddress(LibGL, 'glMap2d');
- @glMap2f := GetGLProcAddress(LibGL, 'glMap2f');
- @glMapGrid1d := GetGLProcAddress(LibGL, 'glMapGrid1d');
- @glMapGrid1f := GetGLProcAddress(LibGL, 'glMapGrid1f');
- @glMapGrid2d := GetGLProcAddress(LibGL, 'glMapGrid2d');
- @glMapGrid2f := GetGLProcAddress(LibGL, 'glMapGrid2f');
- @glMaterialf := GetGLProcAddress(LibGL, 'glMaterialf');
- @glMaterialfv := GetGLProcAddress(LibGL, 'glMaterialfv');
- @glMateriali := GetGLProcAddress(LibGL, 'glMateriali');
- @glMaterialiv := GetGLProcAddress(LibGL, 'glMaterialiv');
- @glMatrixMode := GetGLProcAddress(LibGL, 'glMatrixMode');
- @glMultMatrixd := GetGLProcAddress(LibGL, 'glMultMatrixd');
- @glMultMatrixf := GetGLProcAddress(LibGL, 'glMultMatrixf');
- @glNewList := GetGLProcAddress(LibGL, 'glNewList');
- @glNormal3b := GetGLProcAddress(LibGL, 'glNormal3b');
- @glNormal3bv := GetGLProcAddress(LibGL, 'glNormal3bv');
- @glNormal3d := GetGLProcAddress(LibGL, 'glNormal3d');
- @glNormal3dv := GetGLProcAddress(LibGL, 'glNormal3dv');
- @glNormal3f := GetGLProcAddress(LibGL, 'glNormal3f');
- @glNormal3fv := GetGLProcAddress(LibGL, 'glNormal3fv');
- @glNormal3i := GetGLProcAddress(LibGL, 'glNormal3i');
- @glNormal3iv := GetGLProcAddress(LibGL, 'glNormal3iv');
- @glNormal3s := GetGLProcAddress(LibGL, 'glNormal3s');
- @glNormal3sv := GetGLProcAddress(LibGL, 'glNormal3sv');
- @glNormalPointer := GetGLProcAddress(LibGL, 'glNormalPointer');
- @glOrtho := GetGLProcAddress(LibGL, 'glOrtho');
- @glPassThrough := GetGLProcAddress(LibGL, 'glPassThrough');
- @glPixelMapfv := GetGLProcAddress(LibGL, 'glPixelMapfv');
- @glPixelMapuiv := GetGLProcAddress(LibGL, 'glPixelMapuiv');
- @glPixelMapusv := GetGLProcAddress(LibGL, 'glPixelMapusv');
- @glPixelStoref := GetGLProcAddress(LibGL, 'glPixelStoref');
- @glPixelStorei := GetGLProcAddress(LibGL, 'glPixelStorei');
- @glPixelTransferf := GetGLProcAddress(LibGL, 'glPixelTransferf');
- @glPixelTransferi := GetGLProcAddress(LibGL, 'glPixelTransferi');
- @glPixelZoom := GetGLProcAddress(LibGL, 'glPixelZoom');
- @glPointSize := GetGLProcAddress(LibGL, 'glPointSize');
- @glPolygonMode := GetGLProcAddress(LibGL, 'glPolygonMode');
- @glPolygonOffset := GetGLProcAddress(LibGL, 'glPolygonOffset');
- @glPolygonStipple := GetGLProcAddress(LibGL, 'glPolygonStipple');
- @glPopAttrib := GetGLProcAddress(LibGL, 'glPopAttrib');
- @glPopClientAttrib := GetGLProcAddress(LibGL, 'glPopClientAttrib');
- @glPopMatrix := GetGLProcAddress(LibGL, 'glPopMatrix');
- @glPopName := GetGLProcAddress(LibGL, 'glPopName');
- @glPrioritizeTextures := GetGLProcAddress(LibGL, 'glPrioritizeTextures');
- @glPushAttrib := GetGLProcAddress(LibGL, 'glPushAttrib');
- @glPushClientAttrib := GetGLProcAddress(LibGL, 'glPushClientAttrib');
- @glPushMatrix := GetGLProcAddress(LibGL, 'glPushMatrix');
- @glPushName := GetGLProcAddress(LibGL, 'glPushName');
- @glRasterPos2d := GetGLProcAddress(LibGL, 'glRasterPos2d');
- @glRasterPos2dv := GetGLProcAddress(LibGL, 'glRasterPos2dv');
- @glRasterPos2f := GetGLProcAddress(LibGL, 'glRasterPos2f');
- @glRasterPos2fv := GetGLProcAddress(LibGL, 'glRasterPos2fv');
- @glRasterPos2i := GetGLProcAddress(LibGL, 'glRasterPos2i');
- @glRasterPos2iv := GetGLProcAddress(LibGL, 'glRasterPos2iv');
- @glRasterPos2s := GetGLProcAddress(LibGL, 'glRasterPos2s');
- @glRasterPos2sv := GetGLProcAddress(LibGL, 'glRasterPos2sv');
- @glRasterPos3d := GetGLProcAddress(LibGL, 'glRasterPos3d');
- @glRasterPos3dv := GetGLProcAddress(LibGL, 'glRasterPos3dv');
- @glRasterPos3f := GetGLProcAddress(LibGL, 'glRasterPos3f');
- @glRasterPos3fv := GetGLProcAddress(LibGL, 'glRasterPos3fv');
- @glRasterPos3i := GetGLProcAddress(LibGL, 'glRasterPos3i');
- @glRasterPos3iv := GetGLProcAddress(LibGL, 'glRasterPos3iv');
- @glRasterPos3s := GetGLProcAddress(LibGL, 'glRasterPos3s');
- @glRasterPos3sv := GetGLProcAddress(LibGL, 'glRasterPos3sv');
- @glRasterPos4d := GetGLProcAddress(LibGL, 'glRasterPos4d');
- @glRasterPos4dv := GetGLProcAddress(LibGL, 'glRasterPos4dv');
- @glRasterPos4f := GetGLProcAddress(LibGL, 'glRasterPos4f');
- @glRasterPos4fv := GetGLProcAddress(LibGL, 'glRasterPos4fv');
- @glRasterPos4i := GetGLProcAddress(LibGL, 'glRasterPos4i');
- @glRasterPos4iv := GetGLProcAddress(LibGL, 'glRasterPos4iv');
- @glRasterPos4s := GetGLProcAddress(LibGL, 'glRasterPos4s');
- @glRasterPos4sv := GetGLProcAddress(LibGL, 'glRasterPos4sv');
- @glReadBuffer := GetGLProcAddress(LibGL, 'glReadBuffer');
- @glReadPixels := GetGLProcAddress(LibGL, 'glReadPixels');
- @glRectd := GetGLProcAddress(LibGL, 'glRectd');
- @glRectdv := GetGLProcAddress(LibGL, 'glRectdv');
- @glRectf := GetGLProcAddress(LibGL, 'glRectf');
- @glRectfv := GetGLProcAddress(LibGL, 'glRectfv');
- @glRecti := GetGLProcAddress(LibGL, 'glRecti');
- @glRectiv := GetGLProcAddress(LibGL, 'glRectiv');
- @glRects := GetGLProcAddress(LibGL, 'glRects');
- @glRectsv := GetGLProcAddress(LibGL, 'glRectsv');
- @glRenderMode := GetGLProcAddress(LibGL, 'glRenderMode');
- @glRotated := GetGLProcAddress(LibGL, 'glRotated');
- @glRotatef := GetGLProcAddress(LibGL, 'glRotatef');
- @glScaled := GetGLProcAddress(LibGL, 'glScaled');
- @glScalef := GetGLProcAddress(LibGL, 'glScalef');
- @glScissor := GetGLProcAddress(LibGL, 'glScissor');
- @glSelectBuffer := GetGLProcAddress(LibGL, 'glSelectBuffer');
- @glShadeModel := GetGLProcAddress(LibGL, 'glShadeModel');
- @glStencilFunc := GetGLProcAddress(LibGL, 'glStencilFunc');
- @glStencilMask := GetGLProcAddress(LibGL, 'glStencilMask');
- @glStencilOp := GetGLProcAddress(LibGL, 'glStencilOp');
- @glTexCoord1d := GetGLProcAddress(LibGL, 'glTexCoord1d');
- @glTexCoord1dv := GetGLProcAddress(LibGL, 'glTexCoord1dv');
- @glTexCoord1f := GetGLProcAddress(LibGL, 'glTexCoord1f');
- @glTexCoord1fv := GetGLProcAddress(LibGL, 'glTexCoord1fv');
- @glTexCoord1i := GetGLProcAddress(LibGL, 'glTexCoord1i');
- @glTexCoord1iv := GetGLProcAddress(LibGL, 'glTexCoord1iv');
- @glTexCoord1s := GetGLProcAddress(LibGL, 'glTexCoord1s');
- @glTexCoord1sv := GetGLProcAddress(LibGL, 'glTexCoord1sv');
- @glTexCoord2d := GetGLProcAddress(LibGL, 'glTexCoord2d');
- @glTexCoord2dv := GetGLProcAddress(LibGL, 'glTexCoord2dv');
- @glTexCoord2f := GetGLProcAddress(LibGL, 'glTexCoord2f');
- @glTexCoord2fv := GetGLProcAddress(LibGL, 'glTexCoord2fv');
- @glTexCoord2i := GetGLProcAddress(LibGL, 'glTexCoord2i');
- @glTexCoord2iv := GetGLProcAddress(LibGL, 'glTexCoord2iv');
- @glTexCoord2s := GetGLProcAddress(LibGL, 'glTexCoord2s');
- @glTexCoord2sv := GetGLProcAddress(LibGL, 'glTexCoord2sv');
- @glTexCoord3d := GetGLProcAddress(LibGL, 'glTexCoord3d');
- @glTexCoord3dv := GetGLProcAddress(LibGL, 'glTexCoord3dv');
- @glTexCoord3f := GetGLProcAddress(LibGL, 'glTexCoord3f');
- @glTexCoord3fv := GetGLProcAddress(LibGL, 'glTexCoord3fv');
- @glTexCoord3i := GetGLProcAddress(LibGL, 'glTexCoord3i');
- @glTexCoord3iv := GetGLProcAddress(LibGL, 'glTexCoord3iv');
- @glTexCoord3s := GetGLProcAddress(LibGL, 'glTexCoord3s');
- @glTexCoord3sv := GetGLProcAddress(LibGL, 'glTexCoord3sv');
- @glTexCoord4d := GetGLProcAddress(LibGL, 'glTexCoord4d');
- @glTexCoord4dv := GetGLProcAddress(LibGL, 'glTexCoord4dv');
- @glTexCoord4f := GetGLProcAddress(LibGL, 'glTexCoord4f');
- @glTexCoord4fv := GetGLProcAddress(LibGL, 'glTexCoord4fv');
- @glTexCoord4i := GetGLProcAddress(LibGL, 'glTexCoord4i');
- @glTexCoord4iv := GetGLProcAddress(LibGL, 'glTexCoord4iv');
- @glTexCoord4s := GetGLProcAddress(LibGL, 'glTexCoord4s');
- @glTexCoord4sv := GetGLProcAddress(LibGL, 'glTexCoord4sv');
- @glTexCoordPointer := GetGLProcAddress(LibGL, 'glTexCoordPointer');
- @glTexEnvf := GetGLProcAddress(LibGL, 'glTexEnvf');
- @glTexEnvfv := GetGLProcAddress(LibGL, 'glTexEnvfv');
- @glTexEnvi := GetGLProcAddress(LibGL, 'glTexEnvi');
- @glTexEnviv := GetGLProcAddress(LibGL, 'glTexEnviv');
- @glTexGend := GetGLProcAddress(LibGL, 'glTexGend');
- @glTexGendv := GetGLProcAddress(LibGL, 'glTexGendv');
- @glTexGenf := GetGLProcAddress(LibGL, 'glTexGenf');
- @glTexGenfv := GetGLProcAddress(LibGL, 'glTexGenfv');
- @glTexGeni := GetGLProcAddress(LibGL, 'glTexGeni');
- @glTexGeniv := GetGLProcAddress(LibGL, 'glTexGeniv');
- @glTexImage1D := GetGLProcAddress(LibGL, 'glTexImage1D');
- @glTexImage2D := GetGLProcAddress(LibGL, 'glTexImage2D');
- @glTexParameterf := GetGLProcAddress(LibGL, 'glTexParameterf');
- @glTexParameterfv := GetGLProcAddress(LibGL, 'glTexParameterfv');
- @glTexParameteri := GetGLProcAddress(LibGL, 'glTexParameteri');
- @glTexParameteriv := GetGLProcAddress(LibGL, 'glTexParameteriv');
- @glTexSubImage1D := GetGLProcAddress(LibGL, 'glTexSubImage1D');
- @glTexSubImage2D := GetGLProcAddress(LibGL, 'glTexSubImage2D');
- @glTranslated := GetGLProcAddress(LibGL, 'glTranslated');
- @glTranslatef := GetGLProcAddress(LibGL, 'glTranslatef');
- @glVertex2d := GetGLProcAddress(LibGL, 'glVertex2d');
- @glVertex2dv := GetGLProcAddress(LibGL, 'glVertex2dv');
- @glVertex2f := GetGLProcAddress(LibGL, 'glVertex2f');
- @glVertex2fv := GetGLProcAddress(LibGL, 'glVertex2fv');
- @glVertex2i := GetGLProcAddress(LibGL, 'glVertex2i');
- @glVertex2iv := GetGLProcAddress(LibGL, 'glVertex2iv');
- @glVertex2s := GetGLProcAddress(LibGL, 'glVertex2s');
- @glVertex2sv := GetGLProcAddress(LibGL, 'glVertex2sv');
- @glVertex3d := GetGLProcAddress(LibGL, 'glVertex3d');
- @glVertex3dv := GetGLProcAddress(LibGL, 'glVertex3dv');
- @glVertex3f := GetGLProcAddress(LibGL, 'glVertex3f');
- @glVertex3fv := GetGLProcAddress(LibGL, 'glVertex3fv');
- @glVertex3i := GetGLProcAddress(LibGL, 'glVertex3i');
- @glVertex3iv := GetGLProcAddress(LibGL, 'glVertex3iv');
- @glVertex3s := GetGLProcAddress(LibGL, 'glVertex3s');
- @glVertex3sv := GetGLProcAddress(LibGL, 'glVertex3sv');
- @glVertex4d := GetGLProcAddress(LibGL, 'glVertex4d');
- @glVertex4dv := GetGLProcAddress(LibGL, 'glVertex4dv');
- @glVertex4f := GetGLProcAddress(LibGL, 'glVertex4f');
- @glVertex4fv := GetGLProcAddress(LibGL, 'glVertex4fv');
- @glVertex4i := GetGLProcAddress(LibGL, 'glVertex4i');
- @glVertex4iv := GetGLProcAddress(LibGL, 'glVertex4iv');
- @glVertex4s := GetGLProcAddress(LibGL, 'glVertex4s');
- @glVertex4sv := GetGLProcAddress(LibGL, 'glVertex4sv');
- @glVertexPointer := GetGLProcAddress(LibGL, 'glVertexPointer');
- @glViewport := GetGLProcAddress(LibGL, 'glViewport');
- except
- raise Exception.Create('Failed loading ' + MethodName +' from ' + dll);
- end;
-
- {$IFDEF Windows}
- try
- @ChoosePixelFormat := GetGLProcAddress(LibGL, 'ChoosePixelFormat');
- if not Assigned(ChoosePixelFormat) then
- @ChoosePixelFormat := @WinChoosePixelFormat;
- except
- raise Exception.Create('Unable to select pixel format');
- end;
- {$ENDIF}
-end;
-{$ENDIF MORPHOS}
-
-initialization
-
- { according to bug 7570, this is necessary on all x86 platforms,
- maybe we've to fix the sse control word as well }
- { Yes, at least for darwin/x86_64 (JM) }
- {$if defined(cpui386) or defined(cpux86_64)}
- SetExceptionMask([exInvalidOp, exDenormalized, exZeroDivide,exOverflow, exUnderflow, exPrecision]);
- {$endif}
-
- {$IFDEF Windows}
- LoadOpenGL('opengl32.dll');
- {$ELSE}
- {$ifdef darwin}
- LoadOpenGL('/System/Library/Frameworks/OpenGL.framework/Libraries/libGL.dylib');
- {$ELSE}
- {$IFDEF MorphOS}
- InitTinyGLLibrary;
- {$ELSE}
- LoadOpenGL('libGL.so.1');
- {$ENDIF}
- {$endif}
- {$ENDIF}
-
-finalization
-
- FreeOpenGL;
-
-end.
diff --git a/packages/extra/opengl/glext.pp b/packages/extra/opengl/glext.pp
deleted file mode 100644
index d8cee3be4c..0000000000
--- a/packages/extra/opengl/glext.pp
+++ /dev/null
@@ -1,9547 +0,0 @@
-{
-
- Adaption of the delphi3d.net OpenGL units to FreePascal
- Sebastian Guenther (sg@freepascal.org) in 2002
- These units are free to use
-}
-
-{$MACRO ON}
-{$MODE Delphi}
-{$IFDEF Windows}
- {$DEFINE extdecl:=stdcall }
-{$ELSE}
- {$DEFINE extdecl:=cdecl }
-{$ENDIF}
-
-unit GLext;
-
-(**************************************************
- * OpenGL extension loading library *
- * Generated by MetaGLext, written by Tom Nuydens *
- * (tom@delphi3d.net -- http://www.delphi3d.net *
- **************************************************)
-
-//*** Generated on 10/11/2002
-
-interface
-
-uses
- SysUtils,
- {$IFDEF Windows}
- Windows,
- {$ELSE}
- dynlibs,
- {$ENDIF}
- GL;
-
-{$IFDEF Windows}
-{ Declared in Windows unit as well in FPC; but declared here as well, to be
- fully compatible to upstream version - sg }
-function wglGetProcAddress(proc: PChar): Pointer; extdecl; external 'OpenGL32.dll';
-{$ELSE}
-function wglGetProcAddress(proc: PChar): Pointer;
-{$ENDIF}
-
-// Test if the given extension name is present in the given extension string.
-function glext_ExtensionSupported(const extension: String; const searchIn: String): Boolean;
-
-// Load the extension with the given name.
-function glext_LoadExtension(ext: String): Boolean;
-
-type
- GLcharARB = Char;
- TGLcharARB = GLcharARB;
- PGLcharARB = ^GLcharARB;
-
- GLhandleARB = Cardinal;
- TGLhandleARB = GLhandleARB;
- PGLhandleARB = ^GLhandleARB;
-
- GLintptr = PtrInt;
- TGLintptr = GLintptr;
- PGLintptr = ^GLintptr;
-
- GLsizeiptr = PtrInt;
- TGLsizeiptr = GLsizeiptr;
- PGLsizeiptr = ^GLsizeiptr;
-
- GLchar = Char;
- TGLchar = GLchar;
- PGLchar = Pchar;
-
-//***** GL_version_1_2 *****//
-const
- GL_UNSIGNED_BYTE_3_3_2 = $8032;
- GL_UNSIGNED_SHORT_4_4_4_4 = $8033;
- GL_UNSIGNED_SHORT_5_5_5_1 = $8034;
- GL_UNSIGNED_INT_8_8_8_8 = $8035;
- GL_UNSIGNED_INT_10_10_10_2 = $8036;
- GL_RESCALE_NORMAL = $803A;
- GL_UNSIGNED_BYTE_2_3_3_REV = $8362;
- GL_UNSIGNED_SHORT_5_6_5 = $8363;
- GL_UNSIGNED_SHORT_5_6_5_REV = $8364;
- GL_UNSIGNED_SHORT_4_4_4_4_REV = $8365;
- GL_UNSIGNED_SHORT_1_5_5_5_REV = $8366;
- GL_UNSIGNED_INT_8_8_8_8_REV = $8367;
- GL_UNSIGNED_INT_2_10_10_10_REV = $8368;
- GL_BGR = $80E0;
- GL_BGRA = $80E1;
- GL_MAX_ELEMENTS_VERTICES = $80E8;
- GL_MAX_ELEMENTS_INDICES = $80E9;
- GL_CLAMP_TO_EDGE = $812F;
- GL_TEXTURE_MIN_LOD = $813A;
- GL_TEXTURE_MAX_LOD = $813B;
- GL_TEXTURE_BASE_LEVEL = $813C;
- GL_TEXTURE_MAX_LEVEL = $813D;
- GL_LIGHT_MODEL_COLOR_CONTROL = $81F8;
- GL_SINGLE_COLOR = $81F9;
- GL_SEPARATE_SPECULAR_COLOR = $81FA;
- GL_SMOOTH_POINT_SIZE_RANGE = $0B12;
- GL_SMOOTH_POINT_SIZE_GRANULARITY = $0B13;
- GL_SMOOTH_LINE_WIDTH_RANGE = $0B22;
- GL_SMOOTH_LINE_WIDTH_GRANULARITY = $0B23;
- GL_ALIASED_POINT_SIZE_RANGE = $846D;
- GL_ALIASED_LINE_WIDTH_RANGE = $846E;
- GL_PACK_SKIP_IMAGES = $806B;
- GL_PACK_IMAGE_HEIGHT = $806C;
- GL_UNPACK_SKIP_IMAGES = $806D;
- GL_UNPACK_IMAGE_HEIGHT = $806E;
- GL_TEXTURE_3D = $806F;
- GL_PROXY_TEXTURE_3D = $8070;
- GL_TEXTURE_DEPTH = $8071;
- GL_TEXTURE_WRAP_R = $8072;
- GL_MAX_3D_TEXTURE_SIZE = $8073;
-var
- glBlendColor: procedure(red: GLclampf; green: GLclampf; blue: GLclampf; alpha: GLclampf); extdecl;
- glBlendEquation: procedure(mode: GLenum); extdecl;
- glDrawRangeElements: procedure(mode: GLenum; start: GLuint; _end: GLuint; count: GLsizei; _type: GLenum; const indices: PGLvoid); extdecl;
- glColorTable: procedure(target: GLenum; internalformat: GLenum; width: GLsizei; format: GLenum; _type: GLenum; const table: PGLvoid); extdecl;
- glColorTableParameterfv: procedure(target: GLenum; pname: GLenum; const params: PGLfloat); extdecl;
- glColorTableParameteriv: procedure(target: GLenum; pname: GLenum; const params: PGLint); extdecl;
- glCopyColorTable: procedure(target: GLenum; internalformat: GLenum; x: GLint; y: GLint; width: GLsizei); extdecl;
- glGetColorTable: procedure(target: GLenum; format: GLenum; _type: GLenum; table: PGLvoid); extdecl;
- glGetColorTableParameterfv: procedure(target: GLenum; pname: GLenum; params: PGLfloat); extdecl;
- glGetColorTableParameteriv: procedure(target: GLenum; pname: GLenum; params: PGLint); extdecl;
- glColorSubTable: procedure(target: GLenum; start: GLsizei; count: GLsizei; format: GLenum; _type: GLenum; const data: PGLvoid); extdecl;
- glCopyColorSubTable: procedure(target: GLenum; start: GLsizei; x: GLint; y: GLint; width: GLsizei); extdecl;
- glConvolutionFilter1D: procedure(target: GLenum; internalformat: GLenum; width: GLsizei; format: GLenum; _type: GLenum; const image: PGLvoid); extdecl;
- glConvolutionFilter2D: procedure(target: GLenum; internalformat: GLenum; width: GLsizei; height: GLsizei; format: GLenum; _type: GLenum; const image: PGLvoid); extdecl;
- glConvolutionParameterf: procedure(target: GLenum; pname: GLenum; params: GLfloat); extdecl;
- glConvolutionParameterfv: procedure(target: GLenum; pname: GLenum; const params: PGLfloat); extdecl;
- glConvolutionParameteri: procedure(target: GLenum; pname: GLenum; params: GLint); extdecl;
- glConvolutionParameteriv: procedure(target: GLenum; pname: GLenum; const params: PGLint); extdecl;
- glCopyConvolutionFilter1D: procedure(target: GLenum; internalformat: GLenum; x: GLint; y: GLint; width: GLsizei); extdecl;
- glCopyConvolutionFilter2D: procedure(target: GLenum; internalformat: GLenum; x: GLint; y: GLint; width: GLsizei; height: GLsizei); extdecl;
- glGetConvolutionFilter: procedure(target: GLenum; format: GLenum; _type: GLenum; image: PGLvoid); extdecl;
- glGetConvolutionParameterfv: procedure(target: GLenum; pname: GLenum; params: PGLfloat); extdecl;
- glGetConvolutionParameteriv: procedure(target: GLenum; pname: GLenum; params: PGLint); extdecl;
- glGetSeparableFilter: procedure(target: GLenum; format: GLenum; _type: GLenum; row: PGLvoid; column: PGLvoid; span: PGLvoid); extdecl;
- glSeparableFilter2D: procedure(target: GLenum; internalformat: GLenum; width: GLsizei; height: GLsizei; format: GLenum; _type: GLenum; const row: PGLvoid; const column: PGLvoid); extdecl;
- glGetHistogram: procedure(target: GLenum; reset: GLboolean; format: GLenum; _type: GLenum; values: PGLvoid); extdecl;
- glGetHistogramParameterfv: procedure(target: GLenum; pname: GLenum; params: PGLfloat); extdecl;
- glGetHistogramParameteriv: procedure(target: GLenum; pname: GLenum; params: PGLint); extdecl;
- glGetMinmax: procedure(target: GLenum; reset: GLboolean; format: GLenum; _type: GLenum; values: PGLvoid); extdecl;
- glGetMinmaxParameterfv: procedure(target: GLenum; pname: GLenum; params: PGLfloat); extdecl;
- glGetMinmaxParameteriv: procedure(target: GLenum; pname: GLenum; params: PGLint); extdecl;
- glHistogram: procedure(target: GLenum; width: GLsizei; internalformat: GLenum; sink: GLboolean); extdecl;
- glMinmax: procedure(target: GLenum; internalformat: GLenum; sink: GLboolean); extdecl;
- glResetHistogram: procedure(target: GLenum); extdecl;
- glResetMinmax: procedure(target: GLenum); extdecl;
- glTexImage3D: procedure(target: GLenum; level: GLint; internalformat: GLint; width: GLsizei; height: GLsizei; depth: GLsizei; border: GLint; format: GLenum; _type: GLenum; const pixels: PGLvoid); extdecl;
- glTexSubImage3D: procedure(target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; width: GLsizei; height: GLsizei; depth: GLsizei; format: GLenum; _type: GLenum; const pixels: PGLvoid); extdecl;
- glCopyTexSubImage3D: procedure(target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; x: GLint; y: GLint; width: GLsizei; height: GLsizei); extdecl;
-
-function Load_GL_version_1_2: Boolean;
-
-//***** GL_ARB_imaging *****//
-const
- GL_CONSTANT_COLOR = $8001;
- GL_ONE_MINUS_CONSTANT_COLOR = $8002;
- GL_CONSTANT_ALPHA = $8003;
- GL_ONE_MINUS_CONSTANT_ALPHA = $8004;
- GL_BLEND_COLOR = $8005;
- GL_FUNC_ADD = $8006;
- GL_MIN = $8007;
- GL_MAX = $8008;
- GL_BLEND_EQUATION = $8009;
- GL_FUNC_SUBTRACT = $800A;
- GL_FUNC_REVERSE_SUBTRACT = $800B;
- GL_CONVOLUTION_1D = $8010;
- GL_CONVOLUTION_2D = $8011;
- GL_SEPARABLE_2D = $8012;
- GL_CONVOLUTION_BORDER_MODE = $8013;
- GL_CONVOLUTION_FILTER_SCALE = $8014;
- GL_CONVOLUTION_FILTER_BIAS = $8015;
- GL_REDUCE = $8016;
- GL_CONVOLUTION_FORMAT = $8017;
- GL_CONVOLUTION_WIDTH = $8018;
- GL_CONVOLUTION_HEIGHT = $8019;
- GL_MAX_CONVOLUTION_WIDTH = $801A;
- GL_MAX_CONVOLUTION_HEIGHT = $801B;
- GL_POST_CONVOLUTION_RED_SCALE = $801C;
- GL_POST_CONVOLUTION_GREEN_SCALE = $801D;
- GL_POST_CONVOLUTION_BLUE_SCALE = $801E;
- GL_POST_CONVOLUTION_ALPHA_SCALE = $801F;
- GL_POST_CONVOLUTION_RED_BIAS = $8020;
- GL_POST_CONVOLUTION_GREEN_BIAS = $8021;
- GL_POST_CONVOLUTION_BLUE_BIAS = $8022;
- GL_POST_CONVOLUTION_ALPHA_BIAS = $8023;
- GL_HISTOGRAM = $8024;
- GL_PROXY_HISTOGRAM = $8025;
- GL_HISTOGRAM_WIDTH = $8026;
- GL_HISTOGRAM_FORMAT = $8027;
- GL_HISTOGRAM_RED_SIZE = $8028;
- GL_HISTOGRAM_GREEN_SIZE = $8029;
- GL_HISTOGRAM_BLUE_SIZE = $802A;
- GL_HISTOGRAM_ALPHA_SIZE = $802B;
- GL_HISTOGRAM_LUMINANCE_SIZE = $802C;
- GL_HISTOGRAM_SINK = $802D;
- GL_MINMAX = $802E;
- GL_MINMAX_FORMAT = $802F;
- GL_MINMAX_SINK = $8030;
- GL_TABLE_TOO_LARGE = $8031;
- GL_COLOR_MATRIX = $80B1;
- GL_COLOR_MATRIX_STACK_DEPTH = $80B2;
- GL_MAX_COLOR_MATRIX_STACK_DEPTH = $80B3;
- GL_POST_COLOR_MATRIX_RED_SCALE = $80B4;
- GL_POST_COLOR_MATRIX_GREEN_SCALE = $80B5;
- GL_POST_COLOR_MATRIX_BLUE_SCALE = $80B6;
- GL_POST_COLOR_MATRIX_ALPHA_SCALE = $80B7;
- GL_POST_COLOR_MATRIX_RED_BIAS = $80B8;
- GL_POST_COLOR_MATRIX_GREEN_BIAS = $80B9;
- GL_POST_COLOR_MATRIX_BLUE_BIAS = $80BA;
- GL_POST_COLOR_MATIX_ALPHA_BIAS = $80BB;
- GL_COLOR_TABLE = $80D0;
- GL_POST_CONVOLUTION_COLOR_TABLE = $80D1;
- GL_POST_COLOR_MATRIX_COLOR_TABLE = $80D2;
- GL_PROXY_COLOR_TABLE = $80D3;
- GL_PROXY_POST_CONVOLUTION_COLOR_TABLE = $80D4;
- GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE = $80D5;
- GL_COLOR_TABLE_SCALE = $80D6;
- GL_COLOR_TABLE_BIAS = $80D7;
- GL_COLOR_TABLE_FORMAT = $80D8;
- GL_COLOR_TABLE_WIDTH = $80D9;
- GL_COLOR_TABLE_RED_SIZE = $80DA;
- GL_COLOR_TABLE_GREEN_SIZE = $80DB;
- GL_COLOR_TABLE_BLUE_SIZE = $80DC;
- GL_COLOR_TABLE_ALPHA_SIZE = $80DD;
- GL_COLOR_TABLE_LUMINANCE_SIZE = $80DE;
- GL_COLOR_TABLE_INTENSITY_SIZE = $80DF;
- GL_IGNORE_BORDER = $8150;
- GL_CONSTANT_BORDER = $8151;
- GL_WRAP_BORDER = $8152;
- GL_REPLICATE_BORDER = $8153;
- GL_CONVOLUTION_BORDER_COLOR = $8154;
-
-function Load_GL_ARB_imaging: Boolean;
-
-//***** GL_version_1_3 *****//
-const
- GL_TEXTURE0 = $84C0;
- GL_TEXTURE1 = $84C1;
- GL_TEXTURE2 = $84C2;
- GL_TEXTURE3 = $84C3;
- GL_TEXTURE4 = $84C4;
- GL_TEXTURE5 = $84C5;
- GL_TEXTURE6 = $84C6;
- GL_TEXTURE7 = $84C7;
- GL_TEXTURE8 = $84C8;
- GL_TEXTURE9 = $84C9;
- GL_TEXTURE10 = $84CA;
- GL_TEXTURE11 = $84CB;
- GL_TEXTURE12 = $84CC;
- GL_TEXTURE13 = $84CD;
- GL_TEXTURE14 = $84CE;
- GL_TEXTURE15 = $84CF;
- GL_TEXTURE16 = $84D0;
- GL_TEXTURE17 = $84D1;
- GL_TEXTURE18 = $84D2;
- GL_TEXTURE19 = $84D3;
- GL_TEXTURE20 = $84D4;
- GL_TEXTURE21 = $84D5;
- GL_TEXTURE22 = $84D6;
- GL_TEXTURE23 = $84D7;
- GL_TEXTURE24 = $84D8;
- GL_TEXTURE25 = $84D9;
- GL_TEXTURE26 = $84DA;
- GL_TEXTURE27 = $84DB;
- GL_TEXTURE28 = $84DC;
- GL_TEXTURE29 = $84DD;
- GL_TEXTURE30 = $84DE;
- GL_TEXTURE31 = $84DF;
- GL_ACTIVE_TEXTURE = $84E0;
- GL_CLIENT_ACTIVE_TEXTURE = $84E1;
- GL_MAX_TEXTURE_UNITS = $84E2;
- GL_TRANSPOSE_MODELVIEW_MATRIX = $84E3;
- GL_TRANSPOSE_PROJECTION_MATRIX = $84E4;
- GL_TRANSPOSE_TEXTURE_MATRIX = $84E5;
- GL_TRANSPOSE_COLOR_MATRIX = $84E6;
- GL_MULTISAMPLE = $809D;
- GL_SAMPLE_ALPHA_TO_COVERAGE = $809E;
- GL_SAMPLE_ALPHA_TO_ONE = $809F;
- GL_SAMPLE_COVERAGE = $80A0;
- GL_SAMPLE_BUFFERS = $80A8;
- GL_SAMPLES = $80A9;
- GL_SAMPLE_COVERAGE_VALUE = $80AA;
- GL_SAMPLE_COVERAGE_INVERT = $80AB;
- GL_MULTISAMPLE_BIT = $20000000;
- GL_NORMAL_MAP = $8511;
- GL_REFLECTION_MAP = $8512;
- GL_TEXTURE_CUBE_MAP = $8513;
- GL_TEXTURE_BINDING_CUBE_MAP = $8514;
- GL_TEXTURE_CUBE_MAP_POSITIVE_X = $8515;
- GL_TEXTURE_CUBE_MAP_NEGATIVE_X = $8516;
- GL_TEXTURE_CUBE_MAP_POSITIVE_Y = $8517;
- GL_TEXTURE_CUBE_MAP_NEGATIVE_Y = $8518;
- GL_TEXTURE_CUBE_MAP_POSITIVE_Z = $8519;
- GL_TEXTURE_CUBE_MAP_NEGATIVE_Z = $851A;
- GL_PROXY_TEXTURE_CUBE_MAP = $851B;
- GL_MAX_CUBE_MAP_TEXTURE_SIZE = $851C;
- GL_COMPRESSED_ALPHA = $84E9;
- GL_COMPRESSED_LUMINANCE = $84EA;
- GL_COMPRESSED_LUMINANCE_ALPHA = $84EB;
- GL_COMPRESSED_INTENSITY = $84EC;
- GL_COMPRESSED_RGB = $84ED;
- GL_COMPRESSED_RGBA = $84EE;
- GL_TEXTURE_COMPRESSION_HINT = $84EF;
- GL_TEXTURE_COMPRESSED_IMAGE_SIZE = $86A0;
- GL_TEXTURE_COMPRESSED = $86A1;
- GL_NUM_COMPRESSED_TEXTURE_FORMATS = $86A2;
- GL_COMPRESSED_TEXTURE_FORMATS = $86A3;
- GL_CLAMP_TO_BORDER = $812D;
- GL_CLAMP_TO_BORDER_SGIS = $812D;
- GL_COMBINE = $8570;
- GL_COMBINE_RGB = $8571;
- GL_COMBINE_ALPHA = $8572;
- GL_SOURCE0_RGB = $8580;
- GL_SOURCE1_RGB = $8581;
- GL_SOURCE2_RGB = $8582;
- GL_SOURCE0_ALPHA = $8588;
- GL_SOURCE1_ALPHA = $8589;
- GL_SOURCE2_ALPHA = $858A;
- GL_OPERAND0_RGB = $8590;
- GL_OPERAND1_RGB = $8591;
- GL_OPERAND2_RGB = $8592;
- GL_OPERAND0_ALPHA = $8598;
- GL_OPERAND1_ALPHA = $8599;
- GL_OPERAND2_ALPHA = $859A;
- GL_RGB_SCALE = $8573;
- GL_ADD_SIGNED = $8574;
- GL_INTERPOLATE = $8575;
- GL_SUBTRACT = $84E7;
- GL_CONSTANT = $8576;
- GL_PRIMARY_COLOR = $8577;
- GL_PREVIOUS = $8578;
- GL_DOT3_RGB = $86AE;
- GL_DOT3_RGBA = $86AF;
-var
- glActiveTexture: procedure(texture: GLenum); extdecl;
- glClientActiveTexture: procedure(texture: GLenum); extdecl;
- glMultiTexCoord1d: procedure(target: GLenum; s: GLdouble); extdecl;
- glMultiTexCoord1dv: procedure(target: GLenum; const v: PGLdouble); extdecl;
- glMultiTexCoord1f: procedure(target: GLenum; s: GLfloat); extdecl;
- glMultiTexCoord1fv: procedure(target: GLenum; const v: PGLfloat); extdecl;
- glMultiTexCoord1i: procedure(target: GLenum; s: GLint); extdecl;
- glMultiTexCoord1iv: procedure(target: GLenum; const v: PGLint); extdecl;
- glMultiTexCoord1s: procedure(target: GLenum; s: GLshort); extdecl;
- glMultiTexCoord1sv: procedure(target: GLenum; const v: PGLshort); extdecl;
- glMultiTexCoord2d: procedure(target: GLenum; s: GLdouble; t: GLdouble); extdecl;
- glMultiTexCoord2dv: procedure(target: GLenum; const v: PGLdouble); extdecl;
- glMultiTexCoord2f: procedure(target: GLenum; s: GLfloat; t: GLfloat); extdecl;
- glMultiTexCoord2fv: procedure(target: GLenum; const v: PGLfloat); extdecl;
- glMultiTexCoord2i: procedure(target: GLenum; s: GLint; t: GLint); extdecl;
- glMultiTexCoord2iv: procedure(target: GLenum; const v: PGLint); extdecl;
- glMultiTexCoord2s: procedure(target: GLenum; s: GLshort; t: GLshort); extdecl;
- glMultiTexCoord2sv: procedure(target: GLenum; const v: PGLshort); extdecl;
- glMultiTexCoord3d: procedure(target: GLenum; s: GLdouble; t: GLdouble; r: GLdouble); extdecl;
- glMultiTexCoord3dv: procedure(target: GLenum; const v: PGLdouble); extdecl;
- glMultiTexCoord3f: procedure(target: GLenum; s: GLfloat; t: GLfloat; r: GLfloat); extdecl;
- glMultiTexCoord3fv: procedure(target: GLenum; const v: PGLfloat); extdecl;
- glMultiTexCoord3i: procedure(target: GLenum; s: GLint; t: GLint; r: GLint); extdecl;
- glMultiTexCoord3iv: procedure(target: GLenum; const v: PGLint); extdecl;
- glMultiTexCoord3s: procedure(target: GLenum; s: GLshort; t: GLshort; r: GLshort); extdecl;
- glMultiTexCoord3sv: procedure(target: GLenum; const v: PGLshort); extdecl;
- glMultiTexCoord4d: procedure(target: GLenum; s: GLdouble; t: GLdouble; r: GLdouble; q: GLdouble); extdecl;
- glMultiTexCoord4dv: procedure(target: GLenum; const v: PGLdouble); extdecl;
- glMultiTexCoord4f: procedure(target: GLenum; s: GLfloat; t: GLfloat; r: GLfloat; q: GLfloat); extdecl;
- glMultiTexCoord4fv: procedure(target: GLenum; const v: PGLfloat); extdecl;
- glMultiTexCoord4i: procedure(target: GLenum; s: GLint; t: GLint; r: GLint; q: GLint); extdecl;
- glMultiTexCoord4iv: procedure(target: GLenum; const v: PGLint); extdecl;
- glMultiTexCoord4s: procedure(target: GLenum; s: GLshort; t: GLshort; r: GLshort; q: GLshort); extdecl;
- glMultiTexCoord4sv: procedure(target: GLenum; const v: PGLshort); extdecl;
- glLoadTransposeMatrixf: procedure(const m: PGLfloat); extdecl;
- glLoadTransposeMatrixd: procedure(const m: PGLdouble); extdecl;
- glMultTransposeMatrixf: procedure(const m: PGLfloat); extdecl;
- glMultTransposeMatrixd: procedure(const m: PGLdouble); extdecl;
- glSampleCoverage: procedure(value: GLclampf; invert: GLboolean); extdecl;
- glCompressedTexImage3D: procedure(target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei; border: GLint; imageSize: GLsizei; const data: PGLvoid); extdecl;
- glCompressedTexImage2D: procedure(target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; height: GLsizei; border: GLint; imageSize: GLsizei; const data: PGLvoid); extdecl;
- glCompressedTexImage1D: procedure(target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; border: GLint; imageSize: GLsizei; const data: PGLvoid); extdecl;
- glCompressedTexSubImage3D: procedure(target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; width: GLsizei; height: GLsizei; depth: GLsizei; format: GLenum; imageSize: GLsizei; const data: PGLvoid); extdecl;
- glCompressedTexSubImage2D: procedure(target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; width: GLsizei; height: GLsizei; format: GLenum; imageSize: GLsizei; const data: PGLvoid); extdecl;
- glCompressedTexSubImage1D: procedure(target: GLenum; level: GLint; xoffset: GLint; width: GLsizei; format: GLenum; imageSize: GLsizei; const data: PGLvoid); extdecl;
- glGetCompressedTexImage: procedure(target: GLenum; level: GLint; img: PGLvoid); extdecl;
-
-function Load_GL_version_1_3: Boolean;
-
-//***** GL_ARB_multitexture *****//
-const
- GL_TEXTURE0_ARB = $84C0;
- GL_TEXTURE1_ARB = $84C1;
- GL_TEXTURE2_ARB = $84C2;
- GL_TEXTURE3_ARB = $84C3;
- GL_TEXTURE4_ARB = $84C4;
- GL_TEXTURE5_ARB = $84C5;
- GL_TEXTURE6_ARB = $84C6;
- GL_TEXTURE7_ARB = $84C7;
- GL_TEXTURE8_ARB = $84C8;
- GL_TEXTURE9_ARB = $84C9;
- GL_TEXTURE10_ARB = $84CA;
- GL_TEXTURE11_ARB = $84CB;
- GL_TEXTURE12_ARB = $84CC;
- GL_TEXTURE13_ARB = $84CD;
- GL_TEXTURE14_ARB = $84CE;
- GL_TEXTURE15_ARB = $84CF;
- GL_TEXTURE16_ARB = $84D0;
- GL_TEXTURE17_ARB = $84D1;
- GL_TEXTURE18_ARB = $84D2;
- GL_TEXTURE19_ARB = $84D3;
- GL_TEXTURE20_ARB = $84D4;
- GL_TEXTURE21_ARB = $84D5;
- GL_TEXTURE22_ARB = $84D6;
- GL_TEXTURE23_ARB = $84D7;
- GL_TEXTURE24_ARB = $84D8;
- GL_TEXTURE25_ARB = $84D9;
- GL_TEXTURE26_ARB = $84DA;
- GL_TEXTURE27_ARB = $84DB;
- GL_TEXTURE28_ARB = $84DC;
- GL_TEXTURE29_ARB = $84DD;
- GL_TEXTURE30_ARB = $84DE;
- GL_TEXTURE31_ARB = $84DF;
- GL_ACTIVE_TEXTURE_ARB = $84E0;
- GL_CLIENT_ACTIVE_TEXTURE_ARB = $84E1;
- GL_MAX_TEXTURE_UNITS_ARB = $84E2;
-var
- glActiveTextureARB: procedure(texture: GLenum); extdecl;
- glClientActiveTextureARB: procedure(texture: GLenum); extdecl;
- glMultiTexCoord1dARB: procedure(target: GLenum; s: GLdouble); extdecl;
- glMultiTexCoord1dvARB: procedure(target: GLenum; const v: PGLdouble); extdecl;
- glMultiTexCoord1fARB: procedure(target: GLenum; s: GLfloat); extdecl;
- glMultiTexCoord1fvARB: procedure(target: GLenum; const v: PGLfloat); extdecl;
- glMultiTexCoord1iARB: procedure(target: GLenum; s: GLint); extdecl;
- glMultiTexCoord1ivARB: procedure(target: GLenum; const v: PGLint); extdecl;
- glMultiTexCoord1sARB: procedure(target: GLenum; s: GLshort); extdecl;
- glMultiTexCoord1svARB: procedure(target: GLenum; const v: PGLshort); extdecl;
- glMultiTexCoord2dARB: procedure(target: GLenum; s: GLdouble; t: GLdouble); extdecl;
- glMultiTexCoord2dvARB: procedure(target: GLenum; const v: PGLdouble); extdecl;
- glMultiTexCoord2fARB: procedure(target: GLenum; s: GLfloat; t: GLfloat); extdecl;
- glMultiTexCoord2fvARB: procedure(target: GLenum; const v: PGLfloat); extdecl;
- glMultiTexCoord2iARB: procedure(target: GLenum; s: GLint; t: GLint); extdecl;
- glMultiTexCoord2ivARB: procedure(target: GLenum; const v: PGLint); extdecl;
- glMultiTexCoord2sARB: procedure(target: GLenum; s: GLshort; t: GLshort); extdecl;
- glMultiTexCoord2svARB: procedure(target: GLenum; const v: PGLshort); extdecl;
- glMultiTexCoord3dARB: procedure(target: GLenum; s: GLdouble; t: GLdouble; r: GLdouble); extdecl;
- glMultiTexCoord3dvARB: procedure(target: GLenum; const v: PGLdouble); extdecl;
- glMultiTexCoord3fARB: procedure(target: GLenum; s: GLfloat; t: GLfloat; r: GLfloat); extdecl;
- glMultiTexCoord3fvARB: procedure(target: GLenum; const v: PGLfloat); extdecl;
- glMultiTexCoord3iARB: procedure(target: GLenum; s: GLint; t: GLint; r: GLint); extdecl;
- glMultiTexCoord3ivARB: procedure(target: GLenum; const v: PGLint); extdecl;
- glMultiTexCoord3sARB: procedure(target: GLenum; s: GLshort; t: GLshort; r: GLshort); extdecl;
- glMultiTexCoord3svARB: procedure(target: GLenum; const v: PGLshort); extdecl;
- glMultiTexCoord4dARB: procedure(target: GLenum; s: GLdouble; t: GLdouble; r: GLdouble; q: GLdouble); extdecl;
- glMultiTexCoord4dvARB: procedure(target: GLenum; const v: PGLdouble); extdecl;
- glMultiTexCoord4fARB: procedure(target: GLenum; s: GLfloat; t: GLfloat; r: GLfloat; q: GLfloat); extdecl;
- glMultiTexCoord4fvARB: procedure(target: GLenum; const v: PGLfloat); extdecl;
- glMultiTexCoord4iARB: procedure(target: GLenum; s: GLint; t: GLint; r: GLint; q: GLint); extdecl;
- glMultiTexCoord4ivARB: procedure(target: GLenum; const v: PGLint); extdecl;
- glMultiTexCoord4sARB: procedure(target: GLenum; s: GLshort; t: GLshort; r: GLshort; q: GLshort); extdecl;
- glMultiTexCoord4svARB: procedure(target: GLenum; const v: PGLshort); extdecl;
-
-function Load_GL_ARB_multitexture: Boolean;
-
-//***** GL_ARB_transpose_matrix *****//
-const
- GL_TRANSPOSE_MODELVIEW_MATRIX_ARB = $84E3;
- GL_TRANSPOSE_PROJECTION_MATRIX_ARB = $84E4;
- GL_TRANSPOSE_TEXTURE_MATRIX_ARB = $84E5;
- GL_TRANSPOSE_COLOR_MATRIX_ARB = $84E6;
-var
- glLoadTransposeMatrixfARB: procedure(m: PGLfloat); extdecl;
- glLoadTransposeMatrixdARB: procedure(m: PGLdouble); extdecl;
- glMultTransposeMatrixfARB: procedure(m: PGLfloat); extdecl;
- glMultTransposeMatrixdARB: procedure(m: PGLdouble); extdecl;
-
-function Load_GL_ARB_transpose_matrix: Boolean;
-
-//***** GL_ARB_multisample *****//
-const
- WGL_SAMPLE_BUFFERS_ARB = $2041;
- WGL_SAMPLES_ARB = $2042;
- GL_MULTISAMPLE_ARB = $809D;
- GL_SAMPLE_ALPHA_TO_COVERAGE_ARB = $809E;
- GL_SAMPLE_ALPHA_TO_ONE_ARB = $809F;
- GL_SAMPLE_COVERAGE_ARB = $80A0;
- GL_MULTISAMPLE_BIT_ARB = $20000000;
- GL_SAMPLE_BUFFERS_ARB = $80A8;
- GL_SAMPLES_ARB = $80A9;
- GL_SAMPLE_COVERAGE_VALUE_ARB = $80AA;
- GL_SAMPLE_COVERAGE_INVERT_ARB = $80AB;
-var
- glSampleCoverageARB: procedure(value: GLclampf; invert: GLboolean); extdecl;
-
-function Load_GL_ARB_multisample: Boolean;
-
-//***** GL_ARB_texture_env_add *****//
-
-function Load_GL_ARB_texture_env_add: Boolean;
-
-{$IFDEF Windows}
-//***** WGL_ARB_extensions_string *****//
-var
- wglGetExtensionsStringARB: function(hdc: HDC): Pchar; extdecl;
-
-function Load_WGL_ARB_extensions_string: Boolean;
-
-//***** WGL_ARB_buffer_region *****//
-const
- WGL_FRONT_COLOR_BUFFER_BIT_ARB = $0001;
- WGL_BACK_COLOR_BUFFER_BIT_ARB = $0002;
- WGL_DEPTH_BUFFER_BIT_ARB = $0004;
- WGL_STENCIL_BUFFER_BIT_ARB = $0008;
-var
- wglCreateBufferRegionARB: function(hDC: HDC; iLayerPlane: GLint; uType: GLuint): THandle; extdecl;
- wglDeleteBufferRegionARB: procedure(hRegion: THandle); extdecl;
- wglSaveBufferRegionARB: function(hRegion: THandle; x: GLint; y: GLint; width: GLint; height: GLint): BOOL; extdecl;
- wglRestoreBufferRegionARB: function(hRegion: THandle; x: GLint; y: GLint; width: GLint; height: GLint; xSrc: GLint; ySrc: GLint): BOOL; extdecl;
-
-function Load_WGL_ARB_buffer_region: Boolean;
-{$ENDIF}
-
-//***** GL_ARB_texture_cube_map *****//
-const
- GL_NORMAL_MAP_ARB = $8511;
- GL_REFLECTION_MAP_ARB = $8512;
- GL_TEXTURE_CUBE_MAP_ARB = $8513;
- GL_TEXTURE_BINDING_CUBE_MAP_ARB = $8514;
- GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB = $8515;
- GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB = $8516;
- GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB = $8517;
- GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB = $8518;
- GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB = $8519;
- GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB = $851A;
- GL_PROXY_TEXTURE_CUBE_MAP_ARB = $851B;
- GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB = $851C;
-
-function Load_GL_ARB_texture_cube_map: Boolean;
-
-//***** GL_ARB_depth_texture *****//
-const
- GL_DEPTH_COMPONENT16_ARB = $81A5;
- GL_DEPTH_COMPONENT24_ARB = $81A6;
- GL_DEPTH_COMPONENT32_ARB = $81A7;
- GL_TEXTURE_DEPTH_SIZE_ARB = $884A;
- GL_DEPTH_TEXTURE_MODE_ARB = $884B;
-
-function Load_GL_ARB_depth_texture: Boolean;
-
-//***** GL_ARB_point_parameters *****//
-const
- GL_POINT_SIZE_MIN_ARB = $8126;
- GL_POINT_SIZE_MAX_ARB = $8127;
- GL_POINT_FADE_THRESHOLD_SIZE_ARB = $8128;
- GL_POINT_DISTANCE_ATTENUATION_ARB = $8129;
-var
- glPointParameterfARB: procedure(pname: GLenum; param: GLfloat); extdecl;
- glPointParameterfvARB: procedure(pname: GLenum; params: PGLfloat); extdecl;
-
-function Load_GL_ARB_point_parameters: Boolean;
-
-//***** GL_ARB_shadow *****//
-const
- GL_TEXTURE_COMPARE_MODE_ARB = $884C;
- GL_TEXTURE_COMPARE_FUNC_ARB = $884D;
- GL_COMPARE_R_TO_TEXTURE_ARB = $884E;
-
-function Load_GL_ARB_shadow: Boolean;
-
-//***** GL_ARB_shadow_ambient *****//
-const
- GL_TEXTURE_COMPARE_FAIL_VALUE_ARB = $80BF;
-
-function Load_GL_ARB_shadow_ambient: Boolean;
-
-//***** GL_ARB_texture_border_clamp *****//
-const
- GL_CLAMP_TO_BORDER_ARB = $812D;
-
-function Load_GL_ARB_texture_border_clamp: Boolean;
-
-//***** GL_ARB_texture_compression *****//
-const
- GL_COMPRESSED_ALPHA_ARB = $84E9;
- GL_COMPRESSED_LUMINANCE_ARB = $84EA;
- GL_COMPRESSED_LUMINANCE_ALPHA_ARB = $84EB;
- GL_COMPRESSED_INTENSITY_ARB = $84EC;
- GL_COMPRESSED_RGB_ARB = $84ED;
- GL_COMPRESSED_RGBA_ARB = $84EE;
- GL_TEXTURE_COMPRESSION_HINT_ARB = $84EF;
- GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB = $86A0;
- GL_TEXTURE_COMPRESSED_ARB = $86A1;
- GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB = $86A2;
- GL_COMPRESSED_TEXTURE_FORMATS_ARB = $86A3;
-var
- glCompressedTexImage3DARB: procedure(target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei; border: GLint; imageSize: GLsizei; const data: PGLvoid); extdecl;
- glCompressedTexImage2DARB: procedure(target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; height: GLsizei; border: GLint; imageSize: GLsizei; const data: PGLvoid); extdecl;
- glCompressedTexImage1DARB: procedure(target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; border: GLint; imageSize: GLsizei; const data: PGLvoid); extdecl;
- glCompressedTexSubImage3DARB: procedure(target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; width: GLsizei; height: GLsizei; depth: GLsizei; format: GLenum; imageSize: GLsizei; const data: PGLvoid); extdecl;
- glCompressedTexSubImage2DARB: procedure(target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; width: GLsizei; height: GLsizei; format: GLenum; imageSize: GLsizei; const data: PGLvoid); extdecl;
- glCompressedTexSubImage1DARB: procedure(target: GLenum; level: GLint; xoffset: GLint; width: GLsizei; format: GLenum; imageSize: GLsizei; const data: PGLvoid); extdecl;
- glGetCompressedTexImageARB: procedure(target: GLenum; lod: GLint; img: PGLvoid); extdecl;
-
-function Load_GL_ARB_texture_compression: Boolean;
-
-//***** GL_ARB_texture_env_combine *****//
-const
- GL_COMBINE_ARB = $8570;
- GL_COMBINE_RGB_ARB = $8571;
- GL_COMBINE_ALPHA_ARB = $8572;
- GL_SOURCE0_RGB_ARB = $8580;
- GL_SOURCE1_RGB_ARB = $8581;
- GL_SOURCE2_RGB_ARB = $8582;
- GL_SOURCE0_ALPHA_ARB = $8588;
- GL_SOURCE1_ALPHA_ARB = $8589;
- GL_SOURCE2_ALPHA_ARB = $858A;
- GL_OPERAND0_RGB_ARB = $8590;
- GL_OPERAND1_RGB_ARB = $8591;
- GL_OPERAND2_RGB_ARB = $8592;
- GL_OPERAND0_ALPHA_ARB = $8598;
- GL_OPERAND1_ALPHA_ARB = $8599;
- GL_OPERAND2_ALPHA_ARB = $859A;
- GL_RGB_SCALE_ARB = $8573;
- GL_ADD_SIGNED_ARB = $8574;
- GL_INTERPOLATE_ARB = $8575;
- GL_SUBTRACT_ARB = $84E7;
- GL_CONSTANT_ARB = $8576;
- GL_PRIMARY_COLOR_ARB = $8577;
- GL_PREVIOUS_ARB = $8578;
-
-function Load_GL_ARB_texture_env_combine: Boolean;
-
-//***** GL_ARB_texture_env_crossbar *****//
-
-function Load_GL_ARB_texture_env_crossbar: Boolean;
-
-//***** GL_ARB_texture_env_dot3 *****//
-const
- GL_DOT3_RGB_ARB = $86AE;
- GL_DOT3_RGBA_ARB = $86AF;
-
-function Load_GL_ARB_texture_env_dot3: Boolean;
-
-//***** GL_ARB_texture_mirrored_repeat *****//
-const
- GL_MIRRORED_REPEAT_ARB = $8370;
-
-function Load_GL_ARB_texture_mirrored_repeat: Boolean;
-
-//***** GL_ARB_vertex_blend *****//
-const
- GL_MAX_VERTEX_UNITS_ARB = $86A4;
- GL_ACTIVE_VERTEX_UNITS_ARB = $86A5;
- GL_WEIGHT_SUM_UNITY_ARB = $86A6;
- GL_VERTEX_BLEND_ARB = $86A7;
- GL_MODELVIEW0_ARB = $1700;
- GL_MODELVIEW1_ARB = $850A;
- GL_MODELVIEW2_ARB = $8722;
- GL_MODELVIEW3_ARB = $8723;
- GL_MODELVIEW4_ARB = $8724;
- GL_MODELVIEW5_ARB = $8725;
- GL_MODELVIEW6_ARB = $8726;
- GL_MODELVIEW7_ARB = $8727;
- GL_MODELVIEW8_ARB = $8728;
- GL_MODELVIEW9_ARB = $8729;
- GL_MODELVIEW10_ARB = $872A;
- GL_MODELVIEW11_ARB = $872B;
- GL_MODELVIEW12_ARB = $872C;
- GL_MODELVIEW13_ARB = $872D;
- GL_MODELVIEW14_ARB = $872E;
- GL_MODELVIEW15_ARB = $872F;
- GL_MODELVIEW16_ARB = $8730;
- GL_MODELVIEW17_ARB = $8731;
- GL_MODELVIEW18_ARB = $8732;
- GL_MODELVIEW19_ARB = $8733;
- GL_MODELVIEW20_ARB = $8734;
- GL_MODELVIEW21_ARB = $8735;
- GL_MODELVIEW22_ARB = $8736;
- GL_MODELVIEW23_ARB = $8737;
- GL_MODELVIEW24_ARB = $8738;
- GL_MODELVIEW25_ARB = $8739;
- GL_MODELVIEW26_ARB = $873A;
- GL_MODELVIEW27_ARB = $873B;
- GL_MODELVIEW28_ARB = $873C;
- GL_MODELVIEW29_ARB = $873D;
- GL_MODELVIEW30_ARB = $873E;
- GL_MODELVIEW31_ARB = $873F;
- GL_CURRENT_WEIGHT_ARB = $86A8;
- GL_WEIGHT_ARRAY_TYPE_ARB = $86A9;
- GL_WEIGHT_ARRAY_STRIDE_ARB = $86AA;
- GL_WEIGHT_ARRAY_SIZE_ARB = $86AB;
- GL_WEIGHT_ARRAY_POINTER_ARB = $86AC;
- GL_WEIGHT_ARRAY_ARB = $86AD;
-var
- glWeightbvARB: procedure(size: GLint; weights: PGLbyte); extdecl;
- glWeightsvARB: procedure(size: GLint; weights: PGLshort); extdecl;
- glWeightivARB: procedure(size: GLint; weights: PGLint); extdecl;
- glWeightfvARB: procedure(size: GLint; weights: PGLfloat); extdecl;
- glWeightdvARB: procedure(size: GLint; weights: PGLdouble); extdecl;
- glWeightvARB: procedure(size: GLint; weights: PGLdouble); extdecl;
- glWeightubvARB: procedure(size: GLint; weights: PGLubyte); extdecl;
- glWeightusvARB: procedure(size: GLint; weights: PGLushort); extdecl;
- glWeightuivARB: procedure(size: GLint; weights: PGLuint); extdecl;
- glWeightPointerARB: procedure(size: GLint; _type: GLenum; stride: GLsizei; pointer: PGLvoid); extdecl;
- glVertexBlendARB: procedure(count: GLint); extdecl;
-
-function Load_GL_ARB_vertex_blend: Boolean;
-
-//***** GL_ARB_vertex_program *****//
-const
- GL_VERTEX_PROGRAM_ARB = $8620;
- GL_VERTEX_PROGRAM_POINT_SIZE_ARB = $8642;
- GL_VERTEX_PROGRAM_TWO_SIDE_ARB = $8643;
- GL_COLOR_SUM_ARB = $8458;
- GL_PROGRAM_FORMAT_ASCII_ARB = $8875;
- GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB = $8622;
- GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB = $8623;
- GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB = $8624;
- GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB = $8625;
- GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB = $886A;
- GL_CURRENT_VERTEX_ATTRIB_ARB = $8626;
- GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB = $8645;
- GL_PROGRAM_LENGTH_ARB = $8627;
- GL_PROGRAM_FORMAT_ARB = $8876;
- GL_PROGRAM_BINDING_ARB = $8677;
- GL_PROGRAM_INSTRUCTIONS_ARB = $88A0;
- GL_MAX_PROGRAM_INSTRUCTIONS_ARB = $88A1;
- GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB = $88A2;
- GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB = $88A3;
- GL_PROGRAM_TEMPORARIES_ARB = $88A4;
- GL_MAX_PROGRAM_TEMPORARIES_ARB = $88A5;
- GL_PROGRAM_NATIVE_TEMPORARIES_ARB = $88A6;
- GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB = $88A7;
- GL_PROGRAM_PARAMETERS_ARB = $88A8;
- GL_MAX_PROGRAM_PARAMETERS_ARB = $88A9;
- GL_PROGRAM_NATIVE_PARAMETERS_ARB = $88AA;
- GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB = $88AB;
- GL_PROGRAM_ATTRIBS_ARB = $88AC;
- GL_MAX_PROGRAM_ATTRIBS_ARB = $88AD;
- GL_PROGRAM_NATIVE_ATTRIBS_ARB = $88AE;
- GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB = $88AF;
- GL_PROGRAM_ADDRESS_REGISTERS_ARB = $88B0;
- GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB = $88B1;
- GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB = $88B2;
- GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB = $88B3;
- GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB = $88B4;
- GL_MAX_PROGRAM_ENV_PARAMETERS_ARB = $88B5;
- GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB = $88B6;
- GL_PROGRAM_STRING_ARB = $8628;
- GL_PROGRAM_ERROR_POSITION_ARB = $864B;
- GL_CURRENT_MATRIX_ARB = $8641;
- GL_TRANSPOSE_CURRENT_MATRIX_ARB = $88B7;
- GL_CURRENT_MATRIX_STACK_DEPTH_ARB = $8640;
- GL_MAX_VERTEX_ATTRIBS_ARB = $8869;
- GL_MAX_PROGRAM_MATRICES_ARB = $862F;
- GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB = $862E;
- GL_PROGRAM_ERROR_STRING_ARB = $8874;
- GL_MATRIX0_ARB = $88C0;
- GL_MATRIX1_ARB = $88C1;
- GL_MATRIX2_ARB = $88C2;
- GL_MATRIX3_ARB = $88C3;
- GL_MATRIX4_ARB = $88C4;
- GL_MATRIX5_ARB = $88C5;
- GL_MATRIX6_ARB = $88C6;
- GL_MATRIX7_ARB = $88C7;
- GL_MATRIX8_ARB = $88C8;
- GL_MATRIX9_ARB = $88C9;
- GL_MATRIX10_ARB = $88CA;
- GL_MATRIX11_ARB = $88CB;
- GL_MATRIX12_ARB = $88CC;
- GL_MATRIX13_ARB = $88CD;
- GL_MATRIX14_ARB = $88CE;
- GL_MATRIX15_ARB = $88CF;
- GL_MATRIX16_ARB = $88D0;
- GL_MATRIX17_ARB = $88D1;
- GL_MATRIX18_ARB = $88D2;
- GL_MATRIX19_ARB = $88D3;
- GL_MATRIX20_ARB = $88D4;
- GL_MATRIX21_ARB = $88D5;
- GL_MATRIX22_ARB = $88D6;
- GL_MATRIX23_ARB = $88D7;
- GL_MATRIX24_ARB = $88D8;
- GL_MATRIX25_ARB = $88D9;
- GL_MATRIX26_ARB = $88DA;
- GL_MATRIX27_ARB = $88DB;
- GL_MATRIX28_ARB = $88DC;
- GL_MATRIX29_ARB = $88DD;
- GL_MATRIX30_ARB = $88DE;
- GL_MATRIX31_ARB = $88DF;
-var
- glVertexAttrib1sARB: procedure(index: GLuint; x: GLshort); extdecl;
- glVertexAttrib1fARB: procedure(index: GLuint; x: GLfloat); extdecl;
- glVertexAttrib1dARB: procedure(index: GLuint; x: GLdouble); extdecl;
- glVertexAttrib2sARB: procedure(index: GLuint; x: GLshort; y: GLshort); extdecl;
- glVertexAttrib2fARB: procedure(index: GLuint; x: GLfloat; y: GLfloat); extdecl;
- glVertexAttrib2dARB: procedure(index: GLuint; x: GLdouble; y: GLdouble); extdecl;
- glVertexAttrib3sARB: procedure(index: GLuint; x: GLshort; y: GLshort; z: GLshort); extdecl;
- glVertexAttrib3fARB: procedure(index: GLuint; x: GLfloat; y: GLfloat; z: GLfloat); extdecl;
- glVertexAttrib3dARB: procedure(index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble); extdecl;
- glVertexAttrib4sARB: procedure(index: GLuint; x: GLshort; y: GLshort; z: GLshort; w: GLshort); extdecl;
- glVertexAttrib4fARB: procedure(index: GLuint; x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); extdecl;
- glVertexAttrib4dARB: procedure(index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); extdecl;
- glVertexAttrib4NubARB: procedure(index: GLuint; x: GLubyte; y: GLubyte; z: GLubyte; w: GLubyte); extdecl;
- glVertexAttrib1svARB: procedure(index: GLuint; const v: PGLshort); extdecl;
- glVertexAttrib1fvARB: procedure(index: GLuint; const v: PGLfloat); extdecl;
- glVertexAttrib1dvARB: procedure(index: GLuint; const v: PGLdouble); extdecl;
- glVertexAttrib2svARB: procedure(index: GLuint; const v: PGLshort); extdecl;
- glVertexAttrib2fvARB: procedure(index: GLuint; const v: PGLfloat); extdecl;
- glVertexAttrib2dvARB: procedure(index: GLuint; const v: PGLdouble); extdecl;
- glVertexAttrib3svARB: procedure(index: GLuint; const v: PGLshort); extdecl;
- glVertexAttrib3fvARB: procedure(index: GLuint; const v: PGLfloat); extdecl;
- glVertexAttrib3dvARB: procedure(index: GLuint; const v: PGLdouble); extdecl;
- glVertexAttrib4bvARB: procedure(index: GLuint; const v: PGLbyte); extdecl;
- glVertexAttrib4svARB: procedure(index: GLuint; const v: PGLshort); extdecl;
- glVertexAttrib4ivARB: procedure(index: GLuint; const v: PGLint); extdecl;
- glVertexAttrib4ubvARB: procedure(index: GLuint; const v: PGLubyte); extdecl;
- glVertexAttrib4usvARB: procedure(index: GLuint; const v: PGLushort); extdecl;
- glVertexAttrib4uivARB: procedure(index: GLuint; const v: PGLuint); extdecl;
- glVertexAttrib4fvARB: procedure(index: GLuint; const v: PGLfloat); extdecl;
- glVertexAttrib4dvARB: procedure(index: GLuint; const v: PGLdouble); extdecl;
- glVertexAttrib4NbvARB: procedure(index: GLuint; const v: PGLbyte); extdecl;
- glVertexAttrib4NsvARB: procedure(index: GLuint; const v: PGLshort); extdecl;
- glVertexAttrib4NivARB: procedure(index: GLuint; const v: PGLint); extdecl;
- glVertexAttrib4NubvARB: procedure(index: GLuint; const v: PGLubyte); extdecl;
- glVertexAttrib4NusvARB: procedure(index: GLuint; const v: PGLushort); extdecl;
- glVertexAttrib4NuivARB: procedure(index: GLuint; const v: PGLuint); extdecl;
- glVertexAttribPointerARB: procedure(index: GLuint; size: GLint; _type: GLenum; normalized: GLboolean; stride: GLsizei; const pointer: PGLvoid); extdecl;
- glEnableVertexAttribArrayARB: procedure(index: GLuint); extdecl;
- glDisableVertexAttribArrayARB: procedure(index: GLuint); extdecl;
- glProgramStringARB: procedure(target: GLenum; format: GLenum; len: GLsizei; const _string: PGLvoid); extdecl;
- glBindProgramARB: procedure(target: GLenum; _program: GLuint); extdecl;
- glDeleteProgramsARB: procedure(n: GLsizei; const programs: PGLuint); extdecl;
- glGenProgramsARB: procedure(n: GLsizei; programs: PGLuint); extdecl;
- glProgramEnvParameter4dARB: procedure(target: GLenum; index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); extdecl;
- glProgramEnvParameter4dvARB: procedure(target: GLenum; index: GLuint; const params: PGLdouble); extdecl;
- glProgramEnvParameter4fARB: procedure(target: GLenum; index: GLuint; x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); extdecl;
- glProgramEnvParameter4fvARB: procedure(target: GLenum; index: GLuint; const params: PGLfloat); extdecl;
- glProgramLocalParameter4dARB: procedure(target: GLenum; index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); extdecl;
- glProgramLocalParameter4dvARB: procedure(target: GLenum; index: GLuint; const params: PGLdouble); extdecl;
- glProgramLocalParameter4fARB: procedure(target: GLenum; index: GLuint; x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); extdecl;
- glProgramLocalParameter4fvARB: procedure(target: GLenum; index: GLuint; const params: PGLfloat); extdecl;
- glGetProgramEnvParameterdvARB: procedure(target: GLenum; index: GLuint; params: PGLdouble); extdecl;
- glGetProgramEnvParameterfvARB: procedure(target: GLenum; index: GLuint; params: PGLfloat); extdecl;
- glGetProgramLocalParameterdvARB: procedure(target: GLenum; index: GLuint; params: PGLdouble); extdecl;
- glGetProgramLocalParameterfvARB: procedure(target: GLenum; index: GLuint; params: PGLfloat); extdecl;
- glGetProgramivARB: procedure(target: GLenum; pname: GLenum; params: PGLint); extdecl;
- glGetProgramStringARB: procedure(target: GLenum; pname: GLenum; _string: PGLvoid); extdecl;
- glGetVertexAttribdvARB: procedure(index: GLuint; pname: GLenum; params: PGLdouble); extdecl;
- glGetVertexAttribfvARB: procedure(index: GLuint; pname: GLenum; params: PGLfloat); extdecl;
- glGetVertexAttribivARB: procedure(index: GLuint; pname: GLenum; params: PGLint); extdecl;
- glGetVertexAttribPointervARB: procedure(index: GLuint; pname: GLenum; pointer: PGLvoid); extdecl;
- glIsProgramARB: function(_program: GLuint): GLboolean; extdecl;
-
-function Load_GL_ARB_vertex_program: Boolean;
-
-//***** GL_ARB_window_pos *****//
-var
- glWindowPos2dARB: procedure(x: GLdouble; y: GLdouble); extdecl;
- glWindowPos2fARB: procedure(x: GLfloat; y: GLfloat); extdecl;
- glWindowPos2iARB: procedure(x: GLint; y: GLint); extdecl;
- glWindowPos2sARB: procedure(x: GLshort; y: GLshort); extdecl;
- glWindowPos2dvARB: procedure(const p: PGLdouble); extdecl;
- glWindowPos2fvARB: procedure(const p: PGLfloat); extdecl;
- glWindowPos2ivARB: procedure(const p: PGLint); extdecl;
- glWindowPos2svARB: procedure(const p: PGLshort); extdecl;
- glWindowPos3dARB: procedure(x: GLdouble; y: GLdouble; z: GLdouble); extdecl;
- glWindowPos3fARB: procedure(x: GLfloat; y: GLfloat; z: GLfloat); extdecl;
- glWindowPos3iARB: procedure(x: GLint; y: GLint; z: GLint); extdecl;
- glWindowPos3sARB: procedure(x: GLshort; y: GLshort; z: GLshort); extdecl;
- glWindowPos3dvARB: procedure(const p: PGLdouble); extdecl;
- glWindowPos3fvARB: procedure(const p: PGLfloat); extdecl;
- glWindowPos3ivARB: procedure(const p: PGLint); extdecl;
- glWindowPos3svARB: procedure(const p: PGLshort); extdecl;
-
-function Load_GL_ARB_window_pos: Boolean;
-
-//***** GL_EXT_422_pixels *****//
-const
- GL_422_EXT = $80CC;
- GL_422_REV_EXT = $80CD;
- GL_422_AVERAGE_EXT = $80CE;
- GL_422_REV_AVERAGE_EXT = $80CF;
-
-function Load_GL_EXT_422_pixels: Boolean;
-
-//***** GL_EXT_abgr *****//
-const
- GL_ABGR_EXT = $8000;
-
-function Load_GL_EXT_abgr: Boolean;
-
-//***** GL_EXT_bgra *****//
-const
- GL_BGR_EXT = $80E0;
- GL_BGRA_EXT = $80E1;
-
-function Load_GL_EXT_bgra: Boolean;
-
-//***** GL_EXT_blend_color *****//
-const
- GL_CONSTANT_COLOR_EXT = $8001;
- GL_ONE_MINUS_CONSTANT_COLOR_EXT = $8002;
- GL_CONSTANT_ALPHA_EXT = $8003;
- GL_ONE_MINUS_CONSTANT_ALPHA_EXT = $8004;
- GL_BLEND_COLOR_EXT = $8005;
-var
- glBlendColorEXT: procedure(red: GLclampf; green: GLclampf; blue: GLclampf; alpha: GLclampf); extdecl;
-
-function Load_GL_EXT_blend_color: Boolean;
-
-//***** GL_EXT_blend_func_separate *****//
-const
- GL_BLEND_DST_RGB_EXT = $80C8;
- GL_BLEND_SRC_RGB_EXT = $80C9;
- GL_BLEND_DST_ALPHA_EXT = $80CA;
- GL_BLEND_SRC_ALPHA_EXT = $80CB;
-var
- glBlendFuncSeparateEXT: procedure(sfactorRGB: GLenum; dfactorRGB: GLenum; sfactorAlpha: GLenum; dfactorAlpha: GLenum); extdecl;
-
-function Load_GL_EXT_blend_func_separate: Boolean;
-
-//***** GL_EXT_blend_logic_op *****//
-
-function Load_GL_EXT_blend_logic_op: Boolean;
-
-//***** GL_EXT_blend_minmax *****//
-const
- GL_FUNC_ADD_EXT = $8006;
- GL_MIN_EXT = $8007;
- GL_MAX_EXT = $8008;
- GL_BLEND_EQUATION_EXT = $8009;
-var
- glBlendEquationEXT: procedure(mode: GLenum); extdecl;
-
-function Load_GL_EXT_blend_minmax: Boolean;
-
-//***** GL_EXT_blend_subtract *****//
-const
- GL_FUNC_SUBTRACT_EXT = $800A;
- GL_FUNC_REVERSE_SUBTRACT_EXT = $800B;
-
-function Load_GL_EXT_blend_subtract: Boolean;
-
-//***** GL_EXT_clip_volume_hint *****//
-const
- GL_CLIP_VOLUME_CLIPPING_HINT_EXT = $80F0;
-
-function Load_GL_EXT_clip_volume_hint: Boolean;
-
-//***** GL_EXT_color_subtable *****//
-var
- glColorSubTableEXT: procedure(target: GLenum; start: GLsizei; count: GLsizei; format: GLenum; _type: GLenum; const data: PGLvoid); extdecl;
- glCopyColorSubTableEXT: procedure(target: GLenum; start: GLsizei; x: GLint; y: GLint; width: GLsizei); extdecl;
-
-function Load_GL_EXT_color_subtable: Boolean;
-
-//***** GL_EXT_compiled_vertex_array *****//
-const
- GL_ARRAY_ELEMENT_LOCK_FIRST_EXT = $81A8;
- GL_ARRAY_ELEMENT_LOCK_COUNT_EXT = $81A9;
-var
- glLockArraysEXT: procedure(first: GLint; count: GLsizei); extdecl;
- glUnlockArraysEXT: procedure(); extdecl;
-
-function Load_GL_EXT_compiled_vertex_array: Boolean;
-
-//***** GL_EXT_convolution *****//
-const
- GL_CONVOLUTION_1D_EXT = $8010;
- GL_CONVOLUTION_2D_EXT = $8011;
- GL_SEPARABLE_2D_EXT = $8012;
- GL_CONVOLUTION_BORDER_MODE_EXT = $8013;
- GL_CONVOLUTION_FILTER_SCALE_EXT = $8014;
- GL_CONVOLUTION_FILTER_BIAS_EXT = $8015;
- GL_REDUCE_EXT = $8016;
- GL_CONVOLUTION_FORMAT_EXT = $8017;
- GL_CONVOLUTION_WIDTH_EXT = $8018;
- GL_CONVOLUTION_HEIGHT_EXT = $8019;
- GL_MAX_CONVOLUTION_WIDTH_EXT = $801A;
- GL_MAX_CONVOLUTION_HEIGHT_EXT = $801B;
- GL_POST_CONVOLUTION_RED_SCALE_EXT = $801C;
- GL_POST_CONVOLUTION_GREEN_SCALE_EXT = $801D;
- GL_POST_CONVOLUTION_BLUE_SCALE_EXT = $801E;
- GL_POST_CONVOLUTION_ALPHA_SCALE_EXT = $801F;
- GL_POST_CONVOLUTION_RED_BIAS_EXT = $8020;
- GL_POST_CONVOLUTION_GREEN_BIAS_EXT = $8021;
- GL_POST_CONVOLUTION_BLUE_BIAS_EXT = $8022;
- GL_POST_CONVOLUTION_ALPHA_BIAS_EXT = $8023;
-var
- glConvolutionFilter1DEXT: procedure(target: GLenum; internalformat: GLenum; width: GLsizei; format: GLenum; _type: GLenum; const image: PGLvoid); extdecl;
- glConvolutionFilter2DEXT: procedure(target: GLenum; internalformat: GLenum; width: GLsizei; height: GLsizei; format: GLenum; _type: GLenum; const image: PGLvoid); extdecl;
- glCopyConvolutionFilter1DEXT: procedure(target: GLenum; internalformat: GLenum; x: GLint; y: GLint; width: GLsizei); extdecl;
- glCopyConvolutionFilter2DEXT: procedure(target: GLenum; internalformat: GLenum; x: GLint; y: GLint; width: GLsizei; height: GLsizei); extdecl;
- glGetConvolutionFilterEXT: procedure(target: GLenum; format: GLenum; _type: GLenum; image: PGLvoid); extdecl;
- glSeparableFilter2DEXT: procedure(target: GLenum; internalformat: GLenum; width: GLsizei; height: GLsizei; format: GLenum; _type: GLenum; const row: PGLvoid; const column: PGLvoid); extdecl;
- glGetSeparableFilterEXT: procedure(target: GLenum; format: GLenum; _type: GLenum; row: PGLvoid; column: PGLvoid; span: PGLvoid); extdecl;
- glConvolutionParameteriEXT: procedure(target: GLenum; pname: GLenum; param: GLint); extdecl;
- glConvolutionParameterivEXT: procedure(target: GLenum; pname: GLenum; const params: PGLint); extdecl;
- glConvolutionParameterfEXT: procedure(target: GLenum; pname: GLenum; param: GLfloat); extdecl;
- glConvolutionParameterfvEXT: procedure(target: GLenum; pname: GLenum; const params: PGLfloat); extdecl;
- glGetConvolutionParameterivEXT: procedure(target: GLenum; pname: GLenum; params: PGLint); extdecl;
- glGetConvolutionParameterfvEXT: procedure(target: GLenum; pname: GLenum; params: PGLfloat); extdecl;
-
-function Load_GL_EXT_convolution: Boolean;
-
-//***** GL_EXT_fog_coord *****//
-const
- GL_FOG_COORDINATE_SOURCE_EXT = $8450;
- GL_FOG_COORDINATE_EXT = $8451;
- GL_FRAGMENT_DEPTH_EXT = $8452;
- GL_CURRENT_FOG_COORDINATE_EXT = $8453;
- GL_FOG_COORDINATE_ARRAY_TYPE_EXT = $8454;
- GL_FOG_COORDINATE_ARRAY_STRIDE_EXT = $8455;
- GL_FOG_COORDINATE_ARRAY_POINTER_EXT = $8456;
- GL_FOG_COORDINATE_ARRAY_EXT = $8457;
-var
- glFogCoordfEXT: procedure(coord: GLfloat); extdecl;
- glFogCoorddEXT: procedure(coord: GLdouble); extdecl;
- glFogCoordfvEXT: procedure(coord: PGLfloat); extdecl;
- glFogCoorddvEXT: procedure(coord: PGLdouble); extdecl;
- glFogCoordPointerEXT: procedure(_type: GLenum; stride: GLsizei; pointer: PGLvoid); extdecl;
-
-function Load_GL_EXT_fog_coord: Boolean;
-
-//***** GL_EXT_histogram *****//
-const
- GL_HISTOGRAM_EXT = $8024;
- GL_PROXY_HISTOGRAM_EXT = $8025;
- GL_HISTOGRAM_WIDTH_EXT = $8026;
- GL_HISTOGRAM_FORMAT_EXT = $8027;
- GL_HISTOGRAM_RED_SIZE_EXT = $8028;
- GL_HISTOGRAM_GREEN_SIZE_EXT = $8029;
- GL_HISTOGRAM_BLUE_SIZE_EXT = $802A;
- GL_HISTOGRAM_ALPHA_SIZE_EXT = $802B;
- GL_HISTOGRAM_LUMINANCE_SIZE_EXT = $802C;
- GL_HISTOGRAM_SINK_EXT = $802D;
- GL_MINMAX_EXT = $802E;
- GL_MINMAX_FORMAT_EXT = $802F;
- GL_MINMAX_SINK_EXT = $8030;
-var
- glHistogramEXT: procedure(target: GLenum; width: GLsizei; internalformat: GLenum; sink: GLboolean); extdecl;
- glResetHistogramEXT: procedure(target: GLenum); extdecl;
- glGetHistogramEXT: procedure(target: GLenum; reset: GLboolean; format: GLenum; _type: GLenum; values: PGLvoid); extdecl;
- glGetHistogramParameterivEXT: procedure(target: GLenum; pname: GLenum; params: PGLint); extdecl;
- glGetHistogramParameterfvEXT: procedure(target: GLenum; pname: GLenum; params: PGLfloat); extdecl;
- glMinmaxEXT: procedure(target: GLenum; internalformat: GLenum; sink: GLboolean); extdecl;
- glResetMinmaxEXT: procedure(target: GLenum); extdecl;
- glGetMinmaxEXT: procedure(target: GLenum; reset: GLboolean; format: GLenum; _type: GLenum; values: PGLvoid); extdecl;
- glGetMinmaxParameterivEXT: procedure(target: GLenum; pname: GLenum; params: PGLint); extdecl;
- glGetMinmaxParameterfvEXT: procedure(target: GLenum; pname: GLenum; params: PGLfloat); extdecl;
-
-function Load_GL_EXT_histogram: Boolean;
-
-//***** GL_EXT_multi_draw_arrays *****//
-var
- glMultiDrawArraysEXT: procedure(mode: GLenum; first: PGLint; count: PGLsizei; primcount: GLsizei); extdecl;
- glMultiDrawElementsEXT: procedure(mode: GLenum; count: PGLsizei; _type: GLenum; const indices: PGLvoid; primcount: GLsizei); extdecl;
-
-function Load_GL_EXT_multi_draw_arrays: Boolean;
-
-//***** GL_EXT_packed_pixels *****//
-const
- GL_UNSIGNED_BYTE_3_3_2_EXT = $8032;
- GL_UNSIGNED_SHORT_4_4_4_4_EXT = $8033;
- GL_UNSIGNED_SHORT_5_5_5_1_EXT = $8034;
- GL_UNSIGNED_INT_8_8_8_8_EXT = $8035;
- GL_UNSIGNED_INT_10_10_10_2_EXT = $8036;
-
-function Load_GL_EXT_packed_pixels: Boolean;
-
-//***** GL_EXT_paletted_texture *****//
-const
- GL_COLOR_INDEX1_EXT = $80E2;
- GL_COLOR_INDEX2_EXT = $80E3;
- GL_COLOR_INDEX4_EXT = $80E4;
- GL_COLOR_INDEX8_EXT = $80E5;
- GL_COLOR_INDEX12_EXT = $80E6;
- GL_COLOR_INDEX16_EXT = $80E7;
- GL_COLOR_TABLE_FORMAT_EXT = $80D8;
- GL_COLOR_TABLE_WIDTH_EXT = $80D9;
- GL_COLOR_TABLE_RED_SIZE_EXT = $80DA;
- GL_COLOR_TABLE_GREEN_SIZE_EXT = $80DB;
- GL_COLOR_TABLE_BLUE_SIZE_EXT = $80DC;
- GL_COLOR_TABLE_ALPHA_SIZE_EXT = $80DD;
- GL_COLOR_TABLE_LUMINANCE_SIZE_EXT = $80DE;
- GL_COLOR_TABLE_INTENSITY_SIZE_EXT = $80DF;
- GL_TEXTURE_INDEX_SIZE_EXT = $80ED;
- GL_TEXTURE_1D = $0DE0;
- GL_TEXTURE_2D = $0DE1;
- GL_TEXTURE_3D_EXT = $806F;
- // GL_TEXTURE_CUBE_MAP_ARB { already defined }
- GL_PROXY_TEXTURE_1D = $8063;
- GL_PROXY_TEXTURE_2D = $8064;
- GL_PROXY_TEXTURE_3D_EXT = $8070;
- // GL_PROXY_TEXTURE_CUBE_MAP_ARB { already defined }
- // GL_TEXTURE_1D { already defined }
- // GL_TEXTURE_2D { already defined }
- // GL_TEXTURE_3D_EXT { already defined }
- // GL_TEXTURE_CUBE_MAP_ARB { already defined }
-var
- glColorTableEXT: procedure(target: GLenum; internalFormat: GLenum; width: GLsizei; format: GLenum; _type: GLenum; const data: PGLvoid); extdecl;
- // glColorSubTableEXT { already defined }
- glGetColorTableEXT: procedure(target: GLenum; format: GLenum; _type: GLenum; data: PGLvoid); extdecl;
- glGetColorTableParameterivEXT: procedure(target: GLenum; pname: GLenum; params: PGLint); extdecl;
- glGetColorTableParameterfvEXT: procedure(target: GLenum; pname: GLenum; params: PGLfloat); extdecl;
-
-function Load_GL_EXT_paletted_texture: Boolean;
-
-//***** GL_EXT_point_parameters *****//
-const
- GL_POINT_SIZE_MIN_EXT = $8126;
- GL_POINT_SIZE_MAX_EXT = $8127;
- GL_POINT_FADE_THRESHOLD_SIZE_EXT = $8128;
- GL_DISTANCE_ATTENUATION_EXT = $8129;
-var
- glPointParameterfEXT: procedure(pname: GLenum; param: GLfloat); extdecl;
- glPointParameterfvEXT: procedure(pname: GLenum; params: PGLfloat); extdecl;
-
-function Load_GL_EXT_point_parameters: Boolean;
-
-//***** GL_EXT_polygon_offset *****//
-const
- GL_POLYGON_OFFSET_EXT = $8037;
- GL_POLYGON_OFFSET_FACTOR_EXT = $8038;
- GL_POLYGON_OFFSET_BIAS_EXT = $8039;
-var
- glPolygonOffsetEXT: procedure(factor: GLfloat; bias: GLfloat); extdecl;
-
-function Load_GL_EXT_polygon_offset: Boolean;
-
-//***** GL_EXT_secondary_color *****//
-const
- GL_COLOR_SUM_EXT = $8458;
- GL_CURRENT_SECONDARY_COLOR_EXT = $8459;
- GL_SECONDARY_COLOR_ARRAY_SIZE_EXT = $845A;
- GL_SECONDARY_COLOR_ARRAY_TYPE_EXT = $845B;
- GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT = $845C;
- GL_SECONDARY_COLOR_ARRAY_POINTER_EXT = $845D;
- GL_SECONDARY_COLOR_ARRAY_EXT = $845E;
-var
- glSecondaryColor3bEXT: procedure(components: GLbyte); extdecl;
- glSecondaryColor3sEXT: procedure(components: GLshort); extdecl;
- glSecondaryColor3iEXT: procedure(components: GLint); extdecl;
- glSecondaryColor3fEXT: procedure(components: GLfloat); extdecl;
- glSecondaryColor3dEXT: procedure(components: GLdouble); extdecl;
- glSecondaryColor3ubEXT: procedure(components: GLubyte); extdecl;
- glSecondaryColor3usEXT: procedure(components: GLushort); extdecl;
- glSecondaryColor3uiEXT: procedure(components: GLuint); extdecl;
- glSecondaryColor3bvEXT: procedure(components: GLbyte); extdecl;
- glSecondaryColor3svEXT: procedure(components: GLshort); extdecl;
- glSecondaryColor3ivEXT: procedure(components: GLint); extdecl;
- glSecondaryColor3fvEXT: procedure(components: GLfloat); extdecl;
- glSecondaryColor3dvEXT: procedure(components: GLdouble); extdecl;
- glSecondaryColor3ubvEXT: procedure(components: GLubyte); extdecl;
- glSecondaryColor3usvEXT: procedure(components: GLushort); extdecl;
- glSecondaryColor3uivEXT: procedure(components: GLuint); extdecl;
- glSecondaryColorPointerEXT: procedure(size: GLint; _type: GLenum; stride: GLsizei; pointer: PGLvoid); extdecl;
-
-function Load_GL_EXT_secondary_color: Boolean;
-
-//***** GL_EXT_separate_specular_color *****//
-const
- GL_LIGHT_MODEL_COLOR_CONTROL_EXT = $81F8;
- GL_SINGLE_COLOR_EXT = $81F9;
- GL_SEPARATE_SPECULAR_COLOR_EXT = $81FA;
-
-function Load_GL_EXT_separate_specular_color: Boolean;
-
-//***** GL_EXT_shadow_funcs *****//
-
-function Load_GL_EXT_shadow_funcs: Boolean;
-
-//***** GL_EXT_shared_texture_palette *****//
-const
- GL_SHARED_TEXTURE_PALETTE_EXT = $81FB;
-
-function Load_GL_EXT_shared_texture_palette: Boolean;
-
-//***** GL_EXT_stencil_two_side *****//
-const
- GL_STENCIL_TEST_TWO_SIDE_EXT = $8910;
- GL_ACTIVE_STENCIL_FACE_EXT = $8911;
-var
- glActiveStencilFaceEXT: procedure(face: GLenum); extdecl;
-
-function Load_GL_EXT_stencil_two_side: Boolean;
-
-//***** GL_EXT_stencil_wrap *****//
-const
- GL_INCR_WRAP_EXT = $8507;
- GL_DECR_WRAP_EXT = $8508;
-
-function Load_GL_EXT_stencil_wrap: Boolean;
-
-//***** GL_EXT_subtexture *****//
-var
- glTexSubImage1DEXT: procedure(target: GLenum; level: GLint; xoffset: GLint; width: GLsizei; format: GLenum; _type: GLenum; const pixels: PGLvoid); extdecl;
- glTexSubImage2DEXT: procedure(target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; width: GLsizei; height: GLsizei; format: GLenum; _type: GLenum; const pixels: PGLvoid); extdecl;
- glTexSubImage3DEXT: procedure(target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; width: GLsizei; height: GLsizei; depth: GLsizei; format: GLenum; _type: GLenum; const pixels: PGLvoid); extdecl;
-
-function Load_GL_EXT_subtexture: Boolean;
-
-//***** GL_EXT_texture3D *****//
-const
- GL_PACK_SKIP_IMAGES_EXT = $806B;
- GL_PACK_IMAGE_HEIGHT_EXT = $806C;
- GL_UNPACK_SKIP_IMAGES_EXT = $806D;
- GL_UNPACK_IMAGE_HEIGHT_EXT = $806E;
- // GL_TEXTURE_3D_EXT { already defined }
- // GL_PROXY_TEXTURE_3D_EXT { already defined }
- GL_TEXTURE_DEPTH_EXT = $8071;
- GL_TEXTURE_WRAP_R_EXT = $8072;
- GL_MAX_3D_TEXTURE_SIZE_EXT = $8073;
-var
- glTexImage3DEXT: procedure(target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei; border: GLint; format: GLenum; _type: GLenum; const pixels: PGLvoid); extdecl;
-
-function Load_GL_EXT_texture3D: Boolean;
-
-//***** GL_EXT_texture_compression_s3tc *****//
-const
- GL_COMPRESSED_RGB_S3TC_DXT1_EXT = $83F0;
- GL_COMPRESSED_RGBA_S3TC_DXT1_EXT = $83F1;
- GL_COMPRESSED_RGBA_S3TC_DXT3_EXT = $83F2;
- GL_COMPRESSED_RGBA_S3TC_DXT5_EXT = $83F3;
-
-function Load_GL_EXT_texture_compression_s3tc: Boolean;
-
-//***** GL_EXT_texture_env_add *****//
-
-function Load_GL_EXT_texture_env_add: Boolean;
-
-//***** GL_EXT_texture_env_combine *****//
-const
- GL_COMBINE_EXT = $8570;
- GL_COMBINE_RGB_EXT = $8571;
- GL_COMBINE_ALPHA_EXT = $8572;
- GL_SOURCE0_RGB_EXT = $8580;
- GL_SOURCE1_RGB_EXT = $8581;
- GL_SOURCE2_RGB_EXT = $8582;
- GL_SOURCE0_ALPHA_EXT = $8588;
- GL_SOURCE1_ALPHA_EXT = $8589;
- GL_SOURCE2_ALPHA_EXT = $858A;
- GL_OPERAND0_RGB_EXT = $8590;
- GL_OPERAND1_RGB_EXT = $8591;
- GL_OPERAND2_RGB_EXT = $8592;
- GL_OPERAND0_ALPHA_EXT = $8598;
- GL_OPERAND1_ALPHA_EXT = $8599;
- GL_OPERAND2_ALPHA_EXT = $859A;
- GL_RGB_SCALE_EXT = $8573;
- GL_ADD_SIGNED_EXT = $8574;
- GL_INTERPOLATE_EXT = $8575;
- GL_CONSTANT_EXT = $8576;
- GL_PRIMARY_COLOR_EXT = $8577;
- GL_PREVIOUS_EXT = $8578;
-
-function Load_GL_EXT_texture_env_combine: Boolean;
-
-//***** GL_EXT_texture_env_dot3 *****//
-const
- GL_DOT3_RGB_EXT = $8740;
- GL_DOT3_RGBA_EXT = $8741;
-
-function Load_GL_EXT_texture_env_dot3: Boolean;
-
-//***** GL_EXT_texture_filter_anisotropic *****//
-const
- GL_TEXTURE_MAX_ANISOTROPY_EXT = $84FE;
- GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT = $84FF;
-
-function Load_GL_EXT_texture_filter_anisotropic: Boolean;
-
-//***** GL_EXT_texture_lod_bias *****//
-const
- GL_TEXTURE_FILTER_CONTROL_EXT = $8500;
- GL_TEXTURE_LOD_BIAS_EXT = $8501;
- GL_MAX_TEXTURE_LOD_BIAS_EXT = $84FD;
-
-function Load_GL_EXT_texture_lod_bias: Boolean;
-
-//***** GL_EXT_texture_object *****//
-const
- GL_TEXTURE_PRIORITY_EXT = $8066;
- GL_TEXTURE_RESIDENT_EXT = $8067;
- GL_TEXTURE_1D_BINDING_EXT = $8068;
- GL_TEXTURE_2D_BINDING_EXT = $8069;
- GL_TEXTURE_3D_BINDING_EXT = $806A;
-var
- glGenTexturesEXT: procedure(n: GLsizei; textures: PGLuint); extdecl;
- glDeleteTexturesEXT: procedure(n: GLsizei; const textures: PGLuint); extdecl;
- glBindTextureEXT: procedure(target: GLenum; texture: GLuint); extdecl;
- glPrioritizeTexturesEXT: procedure(n: GLsizei; const textures: PGLuint; const priorities: PGLclampf); extdecl;
- glAreTexturesResidentEXT: function(n: GLsizei; const textures: PGLuint; residences: PGLboolean): GLboolean; extdecl;
- glIsTextureEXT: function(texture: GLuint): GLboolean; extdecl;
-
-function Load_GL_EXT_texture_object: Boolean;
-
-//***** GL_EXT_vertex_array *****//
-const
- GL_VERTEX_ARRAY_EXT = $8074;
- GL_NORMAL_ARRAY_EXT = $8075;
- GL_COLOR_ARRAY_EXT = $8076;
- GL_INDEX_ARRAY_EXT = $8077;
- GL_TEXTURE_COORD_ARRAY_EXT = $8078;
- GL_EDGE_FLAG_ARRAY_EXT = $8079;
- GL_DOUBLE_EXT = $140A;
- GL_VERTEX_ARRAY_SIZE_EXT = $807A;
- GL_VERTEX_ARRAY_TYPE_EXT = $807B;
- GL_VERTEX_ARRAY_STRIDE_EXT = $807C;
- GL_VERTEX_ARRAY_COUNT_EXT = $807D;
- GL_NORMAL_ARRAY_TYPE_EXT = $807E;
- GL_NORMAL_ARRAY_STRIDE_EXT = $807F;
- GL_NORMAL_ARRAY_COUNT_EXT = $8080;
- GL_COLOR_ARRAY_SIZE_EXT = $8081;
- GL_COLOR_ARRAY_TYPE_EXT = $8082;
- GL_COLOR_ARRAY_STRIDE_EXT = $8083;
- GL_COLOR_ARRAY_COUNT_EXT = $8084;
- GL_INDEX_ARRAY_TYPE_EXT = $8085;
- GL_INDEX_ARRAY_STRIDE_EXT = $8086;
- GL_INDEX_ARRAY_COUNT_EXT = $8087;
- GL_TEXTURE_COORD_ARRAY_SIZE_EXT = $8088;
- GL_TEXTURE_COORD_ARRAY_TYPE_EXT = $8089;
- GL_TEXTURE_COORD_ARRAY_STRIDE_EXT = $808A;
- GL_TEXTURE_COORD_ARRAY_COUNT_EXT = $808B;
- GL_EDGE_FLAG_ARRAY_STRIDE_EXT = $808C;
- GL_EDGE_FLAG_ARRAY_COUNT_EXT = $808D;
- GL_VERTEX_ARRAY_POINTER_EXT = $808E;
- GL_NORMAL_ARRAY_POINTER_EXT = $808F;
- GL_COLOR_ARRAY_POINTER_EXT = $8090;
- GL_INDEX_ARRAY_POINTER_EXT = $8091;
- GL_TEXTURE_COORD_ARRAY_POINTER_EXT = $8092;
- GL_EDGE_FLAG_ARRAY_POINTER_EXT = $8093;
-var
- glArrayElementEXT: procedure(i: GLint); extdecl;
- glDrawArraysEXT: procedure(mode: GLenum; first: GLint; count: GLsizei); extdecl;
- glVertexPointerEXT: procedure(size: GLint; _type: GLenum; stride: GLsizei; count: GLsizei; const pointer: PGLvoid); extdecl;
- glNormalPointerEXT: procedure(_type: GLenum; stride: GLsizei; count: GLsizei; const pointer: PGLvoid); extdecl;
- glColorPointerEXT: procedure(size: GLint; _type: GLenum; stride: GLsizei; count: GLsizei; const pointer: PGLvoid); extdecl;
- glIndexPointerEXT: procedure(_type: GLenum; stride: GLsizei; count: GLsizei; const pointer: PGLvoid); extdecl;
- glTexCoordPointerEXT: procedure(size: GLint; _type: GLenum; stride: GLsizei; count: GLsizei; const pointer: PGLvoid); extdecl;
- glEdgeFlagPointerEXT: procedure(stride: GLsizei; count: GLsizei; const pointer: PGLboolean); extdecl;
- glGetPointervEXT: procedure(pname: GLenum; params: PGLvoid); extdecl;
-
-function Load_GL_EXT_vertex_array: Boolean;
-
-//***** GL_EXT_vertex_shader *****//
-const
- GL_VERTEX_SHADER_EXT = $8780;
- GL_VARIANT_VALUE_EXT = $87E4;
- GL_VARIANT_DATATYPE_EXT = $87E5;
- GL_VARIANT_ARRAY_STRIDE_EXT = $87E6;
- GL_VARIANT_ARRAY_TYPE_EXT = $87E7;
- GL_VARIANT_ARRAY_EXT = $87E8;
- GL_VARIANT_ARRAY_POINTER_EXT = $87E9;
- GL_INVARIANT_VALUE_EXT = $87EA;
- GL_INVARIANT_DATATYPE_EXT = $87EB;
- GL_LOCAL_CONSTANT_VALUE_EXT = $87EC;
- GL_LOCAL_CONSTANT_DATATYPE_EXT = $87ED;
- GL_OP_INDEX_EXT = $8782;
- GL_OP_NEGATE_EXT = $8783;
- GL_OP_DOT3_EXT = $8784;
- GL_OP_DOT4_EXT = $8785;
- GL_OP_MUL_EXT = $8786;
- GL_OP_ADD_EXT = $8787;
- GL_OP_MADD_EXT = $8788;
- GL_OP_FRAC_EXT = $8789;
- GL_OP_MAX_EXT = $878A;
- GL_OP_MIN_EXT = $878B;
- GL_OP_SET_GE_EXT = $878C;
- GL_OP_SET_LT_EXT = $878D;
- GL_OP_CLAMP_EXT = $878E;
- GL_OP_FLOOR_EXT = $878F;
- GL_OP_ROUND_EXT = $8790;
- GL_OP_EXP_BASE_2_EXT = $8791;
- GL_OP_LOG_BASE_2_EXT = $8792;
- GL_OP_POWER_EXT = $8793;
- GL_OP_RECIP_EXT = $8794;
- GL_OP_RECIP_SQRT_EXT = $8795;
- GL_OP_SUB_EXT = $8796;
- GL_OP_CROSS_PRODUCT_EXT = $8797;
- GL_OP_MULTIPLY_MATRIX_EXT = $8798;
- GL_OP_MOV_EXT = $8799;
- GL_OUTPUT_VERTEX_EXT = $879A;
- GL_OUTPUT_COLOR0_EXT = $879B;
- GL_OUTPUT_COLOR1_EXT = $879C;
- GL_OUTPUT_TEXTURE_COORD0_EXT = $879D;
- GL_OUTPUT_TEXTURE_COORD1_EXT = $879E;
- GL_OUTPUT_TEXTURE_COORD2_EXT = $879F;
- GL_OUTPUT_TEXTURE_COORD3_EXT = $87A0;
- GL_OUTPUT_TEXTURE_COORD4_EXT = $87A1;
- GL_OUTPUT_TEXTURE_COORD5_EXT = $87A2;
- GL_OUTPUT_TEXTURE_COORD6_EXT = $87A3;
- GL_OUTPUT_TEXTURE_COORD7_EXT = $87A4;
- GL_OUTPUT_TEXTURE_COORD8_EXT = $87A5;
- GL_OUTPUT_TEXTURE_COORD9_EXT = $87A6;
- GL_OUTPUT_TEXTURE_COORD10_EXT = $87A7;
- GL_OUTPUT_TEXTURE_COORD11_EXT = $87A8;
- GL_OUTPUT_TEXTURE_COORD12_EXT = $87A9;
- GL_OUTPUT_TEXTURE_COORD13_EXT = $87AA;
- GL_OUTPUT_TEXTURE_COORD14_EXT = $87AB;
- GL_OUTPUT_TEXTURE_COORD15_EXT = $87AC;
- GL_OUTPUT_TEXTURE_COORD16_EXT = $87AD;
- GL_OUTPUT_TEXTURE_COORD17_EXT = $87AE;
- GL_OUTPUT_TEXTURE_COORD18_EXT = $87AF;
- GL_OUTPUT_TEXTURE_COORD19_EXT = $87B0;
- GL_OUTPUT_TEXTURE_COORD20_EXT = $87B1;
- GL_OUTPUT_TEXTURE_COORD21_EXT = $87B2;
- GL_OUTPUT_TEXTURE_COORD22_EXT = $87B3;
- GL_OUTPUT_TEXTURE_COORD23_EXT = $87B4;
- GL_OUTPUT_TEXTURE_COORD24_EXT = $87B5;
- GL_OUTPUT_TEXTURE_COORD25_EXT = $87B6;
- GL_OUTPUT_TEXTURE_COORD26_EXT = $87B7;
- GL_OUTPUT_TEXTURE_COORD27_EXT = $87B8;
- GL_OUTPUT_TEXTURE_COORD28_EXT = $87B9;
- GL_OUTPUT_TEXTURE_COORD29_EXT = $87BA;
- GL_OUTPUT_TEXTURE_COORD30_EXT = $87BB;
- GL_OUTPUT_TEXTURE_COORD31_EXT = $87BC;
- GL_OUTPUT_FOG_EXT = $87BD;
- GL_SCALAR_EXT = $87BE;
- GL_VECTOR_EXT = $87BF;
- GL_MATRIX_EXT = $87C0;
- GL_VARIANT_EXT = $87C1;
- GL_INVARIANT_EXT = $87C2;
- GL_LOCAL_CONSTANT_EXT = $87C3;
- GL_LOCAL_EXT = $87C4;
- GL_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT = $87C5;
- GL_MAX_VERTEX_SHADER_VARIANTS_EXT = $87C6;
- GL_MAX_VERTEX_SHADER_INVARIANTS_EXT = $87C7;
- GL_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = $87C8;
- GL_MAX_VERTEX_SHADER_LOCALS_EXT = $87C9;
- GL_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT = $87CA;
- GL_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT = $87CB;
- GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = $87CC;
- GL_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT = $87CD;
- GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT = $87CE;
- GL_VERTEX_SHADER_INSTRUCTIONS_EXT = $87CF;
- GL_VERTEX_SHADER_VARIANTS_EXT = $87D0;
- GL_VERTEX_SHADER_INVARIANTS_EXT = $87D1;
- GL_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = $87D2;
- GL_VERTEX_SHADER_LOCALS_EXT = $87D3;
- GL_VERTEX_SHADER_BINDING_EXT = $8781;
- GL_VERTEX_SHADER_OPTIMIZED_EXT = $87D4;
- GL_X_EXT = $87D5;
- GL_Y_EXT = $87D6;
- GL_Z_EXT = $87D7;
- GL_W_EXT = $87D8;
- GL_NEGATIVE_X_EXT = $87D9;
- GL_NEGATIVE_Y_EXT = $87DA;
- GL_NEGATIVE_Z_EXT = $87DB;
- GL_NEGATIVE_W_EXT = $87DC;
- GL_ZERO_EXT = $87DD;
- GL_ONE_EXT = $87DE;
- GL_NEGATIVE_ONE_EXT = $87DF;
- GL_NORMALIZED_RANGE_EXT = $87E0;
- GL_FULL_RANGE_EXT = $87E1;
- GL_CURRENT_VERTEX_EXT = $87E2;
- GL_MVP_MATRIX_EXT = $87E3;
-var
- glBeginVertexShaderEXT: procedure(); extdecl;
- glEndVertexShaderEXT: procedure(); extdecl;
- glBindVertexShaderEXT: procedure(id: GLuint); extdecl;
- glGenVertexShadersEXT: function(range: GLuint): GLuint; extdecl;
- glDeleteVertexShaderEXT: procedure(id: GLuint); extdecl;
- glShaderOp1EXT: procedure(op: GLenum; res: GLuint; arg1: GLuint); extdecl;
- glShaderOp2EXT: procedure(op: GLenum; res: GLuint; arg1: GLuint; arg2: GLuint); extdecl;
- glShaderOp3EXT: procedure(op: GLenum; res: GLuint; arg1: GLuint; arg2: GLuint; arg3: GLuint); extdecl;
- glSwizzleEXT: procedure(res: GLuint; _in: GLuint; outX: GLenum; outY: GLenum; outZ: GLenum; outW: GLenum); extdecl;
- glWriteMaskEXT: procedure(res: GLuint; _in: GLuint; outX: GLenum; outY: GLenum; outZ: GLenum; outW: GLenum); extdecl;
- glInsertComponentEXT: procedure(res: GLuint; src: GLuint; num: GLuint); extdecl;
- glExtractComponentEXT: procedure(res: GLuint; src: GLuint; num: GLuint); extdecl;
- glGenSymbolsEXT: function(datatype: GLenum; storagetype: GLenum; range: GLenum; components: GLuint): GLuint; extdecl;
- glSetInvariantEXT: procedure(id: GLuint; _type: GLenum; addr: PGLvoid); extdecl;
- glSetLocalConstantEXT: procedure(id: GLuint; _type: GLenum; addr: PGLvoid); extdecl;
- glVariantbvEXT: procedure(id: GLuint; addr: PGLbyte); extdecl;
- glVariantsvEXT: procedure(id: GLuint; addr: PGLshort); extdecl;
- glVariantivEXT: procedure(id: GLuint; addr: PGLint); extdecl;
- glVariantfvEXT: procedure(id: GLuint; addr: PGLfloat); extdecl;
- glVariantdvEXT: procedure(id: GLuint; addr: PGLdouble); extdecl;
- glVariantubvEXT: procedure(id: GLuint; addr: PGLubyte); extdecl;
- glVariantusvEXT: procedure(id: GLuint; addr: PGLushort); extdecl;
- glVariantuivEXT: procedure(id: GLuint; addr: PGLuint); extdecl;
- glVariantPointerEXT: procedure(id: GLuint; _type: GLenum; stride: GLuint; addr: PGLvoid); extdecl;
- glEnableVariantClientStateEXT: procedure(id: GLuint); extdecl;
- glDisableVariantClientStateEXT: procedure(id: GLuint); extdecl;
- glBindLightParameterEXT: function(light: GLenum; value: GLenum): GLuint; extdecl;
- glBindMaterialParameterEXT: function(face: GLenum; value: GLenum): GLuint; extdecl;
- glBindTexGenParameterEXT: function(_unit: GLenum; coord: GLenum; value: GLenum): GLuint; extdecl;
- glBindTextureUnitParameterEXT: function(_unit: GLenum; value: GLenum): GLuint; extdecl;
- glBindParameterEXT: function(value: GLenum): GLuint; extdecl;
- glIsVariantEnabledEXT: function(id: GLuint; cap: GLenum): GLboolean; extdecl;
- glGetVariantBooleanvEXT: procedure(id: GLuint; value: GLenum; data: PGLboolean); extdecl;
- glGetVariantIntegervEXT: procedure(id: GLuint; value: GLenum; data: PGLint); extdecl;
- glGetVariantFloatvEXT: procedure(id: GLuint; value: GLenum; data: PGLfloat); extdecl;
- glGetVariantPointervEXT: procedure(id: GLuint; value: GLenum; data: PGLvoid); extdecl;
- glGetInvariantBooleanvEXT: procedure(id: GLuint; value: GLenum; data: PGLboolean); extdecl;
- glGetInvariantIntegervEXT: procedure(id: GLuint; value: GLenum; data: PGLint); extdecl;
- glGetInvariantFloatvEXT: procedure(id: GLuint; value: GLenum; data: PGLfloat); extdecl;
- glGetLocalConstantBooleanvEXT: procedure(id: GLuint; value: GLenum; data: PGLboolean); extdecl;
- glGetLocalConstantIntegervEXT: procedure(id: GLuint; value: GLenum; data: PGLint); extdecl;
- glGetLocalConstantFloatvEXT: procedure(id: GLuint; value: GLenum; data: PGLfloat); extdecl;
-
-function Load_GL_EXT_vertex_shader: Boolean;
-
-//***** GL_EXT_vertex_weighting *****//
-const
- GL_VERTEX_WEIGHTING_EXT = $8509;
- GL_MODELVIEW0_EXT = $1700;
- GL_MODELVIEW1_EXT = $850A;
- GL_MODELVIEW0_MATRIX_EXT = $0BA6;
- GL_MODELVIEW1_MATRIX_EXT = $8506;
- GL_CURRENT_VERTEX_WEIGHT_EXT = $850B;
- GL_VERTEX_WEIGHT_ARRAY_EXT = $850C;
- GL_VERTEX_WEIGHT_ARRAY_SIZE_EXT = $850D;
- GL_VERTEX_WEIGHT_ARRAY_TYPE_EXT = $850E;
- GL_VERTEX_WEIGHT_ARRAY_STRIDE_EXT = $850F;
- GL_MODELVIEW0_STACK_DEPTH_EXT = $0BA3;
- GL_MODELVIEW1_STACK_DEPTH_EXT = $8502;
- GL_VERTEX_WEIGHT_ARRAY_POINTER_EXT = $8510;
-var
- glVertexWeightfEXT: procedure(weight: GLfloat); extdecl;
- glVertexWeightfvEXT: procedure(weight: PGLfloat); extdecl;
- glVertexWeightPointerEXT: procedure(size: GLint; _type: GLenum; stride: GLsizei; pointer: PGLvoid); extdecl;
-
-function Load_GL_EXT_vertex_weighting: Boolean;
-
-//***** GL_HP_occlusion_test *****//
-const
- GL_OCCLUSION_TEST_HP = $8165;
- GL_OCCLUSION_TEST_RESULT_HP = $8166;
-
-function Load_GL_HP_occlusion_test: Boolean;
-
-//***** GL_NV_blend_square *****//
-
-function Load_GL_NV_blend_square: Boolean;
-
-//***** GL_NV_copy_depth_to_color *****//
-const
- GL_DEPTH_STENCIL_TO_RGBA_NV = $886E;
- GL_DEPTH_STENCIL_TO_BGRA_NV = $886F;
-
-function Load_GL_NV_copy_depth_to_color: Boolean;
-
-//***** GL_NV_depth_clamp *****//
-const
- GL_DEPTH_CLAMP_NV = $864F;
-
-function Load_GL_NV_depth_clamp: Boolean;
-
-//***** GL_NV_evaluators *****//
-const
- GL_EVAL_2D_NV = $86C0;
- GL_EVAL_TRIANGULAR_2D_NV = $86C1;
- GL_MAP_TESSELLATION_NV = $86C2;
- GL_MAP_ATTRIB_U_ORDER_NV = $86C3;
- GL_MAP_ATTRIB_V_ORDER_NV = $86C4;
- GL_EVAL_FRACTIONAL_TESSELLATION_NV = $86C5;
- GL_EVAL_VERTEX_ATTRIB0_NV = $86C6;
- GL_EVAL_VERTEX_ATTRIB1_NV = $86C7;
- GL_EVAL_VERTEX_ATTRIB2_NV = $86C8;
- GL_EVAL_VERTEX_ATTRIB3_NV = $86C9;
- GL_EVAL_VERTEX_ATTRIB4_NV = $86CA;
- GL_EVAL_VERTEX_ATTRIB5_NV = $86CB;
- GL_EVAL_VERTEX_ATTRIB6_NV = $86CC;
- GL_EVAL_VERTEX_ATTRIB7_NV = $86CD;
- GL_EVAL_VERTEX_ATTRIB8_NV = $86CE;
- GL_EVAL_VERTEX_ATTRIB9_NV = $86CF;
- GL_EVAL_VERTEX_ATTRIB10_NV = $86D0;
- GL_EVAL_VERTEX_ATTRIB11_NV = $86D1;
- GL_EVAL_VERTEX_ATTRIB12_NV = $86D2;
- GL_EVAL_VERTEX_ATTRIB13_NV = $86D3;
- GL_EVAL_VERTEX_ATTRIB14_NV = $86D4;
- GL_EVAL_VERTEX_ATTRIB15_NV = $86D5;
- GL_MAX_MAP_TESSELLATION_NV = $86D6;
- GL_MAX_RATIONAL_EVAL_ORDER_NV = $86D7;
-var
- glMapControlPointsNV: procedure(target: GLenum; index: GLuint; _type: GLenum; ustride: GLsizei; vstride: GLsizei; uorder: GLint; vorder: GLint; _packed: GLboolean; const points: PGLvoid); extdecl;
- glMapParameterivNV: procedure(target: GLenum; pname: GLenum; const params: PGLint); extdecl;
- glMapParameterfvNV: procedure(target: GLenum; pname: GLenum; const params: PGLfloat); extdecl;
- glGetMapControlPointsNV: procedure(target: GLenum; index: GLuint; _type: GLenum; ustride: GLsizei; vstride: GLsizei; _packed: GLboolean; points: PGLvoid); extdecl;
- glGetMapParameterivNV: procedure(target: GLenum; pname: GLenum; params: PGLint); extdecl;
- glGetMapParameterfvNV: procedure(target: GLenum; pname: GLenum; params: PGLfloat); extdecl;
- glGetMapAttribParameterivNV: procedure(target: GLenum; index: GLuint; pname: GLenum; params: PGLint); extdecl;
- glGetMapAttribParameterfvNV: procedure(target: GLenum; index: GLuint; pname: GLenum; params: PGLfloat); extdecl;
- glEvalMapsNV: procedure(target: GLenum; mode: GLenum); extdecl;
-
-function Load_GL_NV_evaluators: Boolean;
-
-//***** GL_NV_fence *****//
-const
- GL_ALL_COMPLETED_NV = $84F2;
- GL_FENCE_STATUS_NV = $84F3;
- GL_FENCE_CONDITION_NV = $84F4;
-var
- glGenFencesNV: procedure(n: GLsizei; fences: PGLuint); extdecl;
- glDeleteFencesNV: procedure(n: GLsizei; const fences: PGLuint); extdecl;
- glSetFenceNV: procedure(fence: GLuint; condition: GLenum); extdecl;
- glTestFenceNV: function(fence: GLuint): GLboolean; extdecl;
- glFinishFenceNV: procedure(fence: GLuint); extdecl;
- glIsFenceNV: function(fence: GLuint): GLboolean; extdecl;
- glGetFenceivNV: procedure(fence: GLuint; pname: GLenum; params: PGLint); extdecl;
-
-function Load_GL_NV_fence: Boolean;
-
-//***** GL_NV_fog_distance *****//
-const
- GL_FOG_DISTANCE_MODE_NV = $855A;
- GL_EYE_RADIAL_NV = $855B;
- GL_EYE_PLANE_ABSOLUTE_NV = $855C;
-
-function Load_GL_NV_fog_distance: Boolean;
-
-//***** GL_NV_light_max_exponent *****//
-const
- GL_MAX_SHININESS_NV = $8504;
- GL_MAX_SPOT_EXPONENT_NV = $8505;
-
-function Load_GL_NV_light_max_exponent: Boolean;
-
-//***** GL_NV_multisample_filter_hint *****//
-const
- GL_MULTISAMPLE_FILTER_HINT_NV = $8534;
-
-function Load_GL_NV_multisample_filter_hint: Boolean;
-
-//***** GL_NV_occlusion_query *****//
- // GL_OCCLUSION_TEST_HP { already defined }
- // GL_OCCLUSION_TEST_RESULT_HP { already defined }
-const
- GL_PIXEL_COUNTER_BITS_NV = $8864;
- GL_CURRENT_OCCLUSION_QUERY_ID_NV = $8865;
- GL_PIXEL_COUNT_NV = $8866;
- GL_PIXEL_COUNT_AVAILABLE_NV = $8867;
-var
- glGenOcclusionQueriesNV: procedure(n: GLsizei; ids: PGLuint); extdecl;
- glDeleteOcclusionQueriesNV: procedure(n: GLsizei; const ids: PGLuint); extdecl;
- glIsOcclusionQueryNV: function(id: GLuint): GLboolean; extdecl;
- glBeginOcclusionQueryNV: procedure(id: GLuint); extdecl;
- glEndOcclusionQueryNV: procedure(); extdecl;
- glGetOcclusionQueryivNV: procedure(id: GLuint; pname: GLenum; params: PGLint); extdecl;
- glGetOcclusionQueryuivNV: procedure(id: GLuint; pname: GLenum; params: PGLuint); extdecl;
-
-function Load_GL_NV_occlusion_query: Boolean;
-
-//***** GL_NV_packed_depth_stencil *****//
-const
- GL_DEPTH_STENCIL_NV = $84F9;
- GL_UNSIGNED_INT_24_8_NV = $84FA;
-
-function Load_GL_NV_packed_depth_stencil: Boolean;
-
-//***** GL_NV_point_sprite *****//
-const
- GL_POINT_SPRITE_NV = $8861;
- GL_COORD_REPLACE_NV = $8862;
- GL_POINT_SPRITE_R_MODE_NV = $8863;
-var
- glPointParameteriNV: procedure(pname: GLenum; param: GLint); extdecl;
- glPointParameterivNV: procedure(pname: GLenum; const params: PGLint); extdecl;
-
-function Load_GL_NV_point_sprite: Boolean;
-
-//***** GL_NV_register_combiners *****//
-const
- GL_REGISTER_COMBINERS_NV = $8522;
- GL_COMBINER0_NV = $8550;
- GL_COMBINER1_NV = $8551;
- GL_COMBINER2_NV = $8552;
- GL_COMBINER3_NV = $8553;
- GL_COMBINER4_NV = $8554;
- GL_COMBINER5_NV = $8555;
- GL_COMBINER6_NV = $8556;
- GL_COMBINER7_NV = $8557;
- GL_VARIABLE_A_NV = $8523;
- GL_VARIABLE_B_NV = $8524;
- GL_VARIABLE_C_NV = $8525;
- GL_VARIABLE_D_NV = $8526;
- GL_VARIABLE_E_NV = $8527;
- GL_VARIABLE_F_NV = $8528;
- GL_VARIABLE_G_NV = $8529;
- GL_CONSTANT_COLOR0_NV = $852A;
- GL_CONSTANT_COLOR1_NV = $852B;
- GL_PRIMARY_COLOR_NV = $852C;
- GL_SECONDARY_COLOR_NV = $852D;
- GL_SPARE0_NV = $852E;
- GL_SPARE1_NV = $852F;
- GL_UNSIGNED_IDENTITY_NV = $8536;
- GL_UNSIGNED_INVERT_NV = $8537;
- GL_EXPAND_NORMAL_NV = $8538;
- GL_EXPAND_NEGATE_NV = $8539;
- GL_HALF_BIAS_NORMAL_NV = $853A;
- GL_HALF_BIAS_NEGATE_NV = $853B;
- GL_SIGNED_IDENTITY_NV = $853C;
- GL_SIGNED_NEGATE_NV = $853D;
- GL_E_TIMES_F_NV = $8531;
- GL_SPARE0_PLUS_SECONDARY_COLOR_NV = $8532;
- GL_SCALE_BY_TWO_NV = $853E;
- GL_SCALE_BY_FOUR_NV = $853F;
- GL_SCALE_BY_ONE_HALF_NV = $8540;
- GL_BIAS_BY_NEGATIVE_ONE_HALF_NV = $8541;
- GL_DISCARD_NV = $8530;
- GL_COMBINER_INPUT_NV = $8542;
- GL_COMBINER_MAPPING_NV = $8543;
- GL_COMBINER_COMPONENT_USAGE_NV = $8544;
- GL_COMBINER_AB_DOT_PRODUCT_NV = $8545;
- GL_COMBINER_CD_DOT_PRODUCT_NV = $8546;
- GL_COMBINER_MUX_SUM_NV = $8547;
- GL_COMBINER_SCALE_NV = $8548;
- GL_COMBINER_BIAS_NV = $8549;
- GL_COMBINER_AB_OUTPUT_NV = $854A;
- GL_COMBINER_CD_OUTPUT_NV = $854B;
- GL_COMBINER_SUM_OUTPUT_NV = $854C;
- GL_NUM_GENERAL_COMBINERS_NV = $854E;
- GL_COLOR_SUM_CLAMP_NV = $854F;
- GL_MAX_GENERAL_COMBINERS_NV = $854D;
-var
- glCombinerParameterfvNV: procedure(pname: GLenum; const params: PGLfloat); extdecl;
- glCombinerParameterivNV: procedure(pname: GLenum; const params: PGLint); extdecl;
- glCombinerParameterfNV: procedure(pname: GLenum; param: GLfloat); extdecl;
- glCombinerParameteriNV: procedure(pname: GLenum; param: GLint); extdecl;
- glCombinerInputNV: procedure(stage: GLenum; portion: GLenum; variable: GLenum; input: GLenum; mapping: GLenum; componentUsage: GLenum); extdecl;
- glCombinerOutputNV: procedure(stage: GLenum; portion: GLenum; abOutput: GLenum; cdOutput: GLenum; sumOutput: GLenum; scale: GLenum; bias: GLenum; abDotProduct: GLboolean; cdDotProduct: GLboolean; muxSum: GLboolean); extdecl;
- glFinalCombinerInputNV: procedure(variable: GLenum; input: GLenum; mapping: GLenum; componentUsage: GLenum); extdecl;
- glGetCombinerInputParameterfvNV: procedure(stage: GLenum; portion: GLenum; variable: GLenum; pname: GLenum; params: PGLfloat); extdecl;
- glGetCombinerInputParameterivNV: procedure(stage: GLenum; portion: GLenum; variable: GLenum; pname: GLenum; params: PGLint); extdecl;
- glGetCombinerOutputParameterfvNV: procedure(stage: GLenum; portion: GLenum; pname: GLenum; params: PGLfloat); extdecl;
- glGetCombinerOutputParameterivNV: procedure(stage: GLenum; portion: GLenum; pname: GLenum; params: PGLint); extdecl;
- glGetFinalCombinerInputParameterfvNV: procedure(variable: GLenum; pname: GLenum; params: PGLfloat); extdecl;
- glGetFinalCombinerInputParameterivNV: procedure(variable: GLenum; pname: GLenum; params: PGLint); extdecl;
-
-function Load_GL_NV_register_combiners: Boolean;
-
-//***** GL_NV_register_combiners2 *****//
-const
- GL_PER_STAGE_CONSTANTS_NV = $8535;
-var
- glCombinerStageParameterfvNV: procedure(stage: GLenum; pname: GLenum; const params: PGLfloat); extdecl;
- glGetCombinerStageParameterfvNV: procedure(stage: GLenum; pname: GLenum; params: PGLfloat); extdecl;
-
-function Load_GL_NV_register_combiners2: Boolean;
-
-//***** GL_NV_texgen_emboss *****//
-const
- GL_EMBOSS_MAP_NV = $855F;
- GL_EMBOSS_LIGHT_NV = $855D;
- GL_EMBOSS_CONSTANT_NV = $855E;
-
-function Load_GL_NV_texgen_emboss: Boolean;
-
-//***** GL_NV_texgen_reflection *****//
-const
- GL_NORMAL_MAP_NV = $8511;
- GL_REFLECTION_MAP_NV = $8512;
-
-function Load_GL_NV_texgen_reflection: Boolean;
-
-//***** GL_NV_texture_compression_vtc *****//
- // GL_COMPRESSED_RGB_S3TC_DXT1_EXT { already defined }
- // GL_COMPRESSED_RGBA_S3TC_DXT1_EXT { already defined }
- // GL_COMPRESSED_RGBA_S3TC_DXT3_EXT { already defined }
- // GL_COMPRESSED_RGBA_S3TC_DXT5_EXT { already defined }
-
-function Load_GL_NV_texture_compression_vtc: Boolean;
-
-//***** GL_NV_texture_env_combine4 *****//
-const
- GL_COMBINE4_NV = $8503;
- GL_SOURCE3_RGB_NV = $8583;
- GL_SOURCE3_ALPHA_NV = $858B;
- GL_OPERAND3_RGB_NV = $8593;
- GL_OPERAND3_ALPHA_NV = $859B;
-
-function Load_GL_NV_texture_env_combine4: Boolean;
-
-//***** GL_NV_texture_rectangle *****//
-const
- GL_TEXTURE_RECTANGLE_NV = $84F5;
- GL_TEXTURE_BINDING_RECTANGLE_NV = $84F6;
- GL_PROXY_TEXTURE_RECTANGLE_NV = $84F7;
- GL_MAX_RECTANGLE_TEXTURE_SIZE_NV = $84F8;
-
-function Load_GL_NV_texture_rectangle: Boolean;
-
-//***** GL_NV_texture_shader *****//
-const
- GL_TEXTURE_SHADER_NV = $86DE;
- GL_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV = $86D9;
- GL_SHADER_OPERATION_NV = $86DF;
- GL_CULL_MODES_NV = $86E0;
- GL_OFFSET_TEXTURE_MATRIX_NV = $86E1;
- GL_OFFSET_TEXTURE_SCALE_NV = $86E2;
- GL_OFFSET_TEXTURE_BIAS_NV = $86E3;
- GL_PREVIOUS_TEXTURE_INPUT_NV = $86E4;
- GL_CONST_EYE_NV = $86E5;
- GL_SHADER_CONSISTENT_NV = $86DD;
- GL_PASS_THROUGH_NV = $86E6;
- GL_CULL_FRAGMENT_NV = $86E7;
- GL_OFFSET_TEXTURE_2D_NV = $86E8;
- GL_OFFSET_TEXTURE_RECTANGLE_NV = $864C;
- GL_OFFSET_TEXTURE_RECTANGLE_SCALE_NV = $864D;
- GL_DEPENDENT_AR_TEXTURE_2D_NV = $86E9;
- GL_DEPENDENT_GB_TEXTURE_2D_NV = $86EA;
- GL_DOT_PRODUCT_NV = $86EC;
- GL_DOT_PRODUCT_DEPTH_REPLACE_NV = $86ED;
- GL_DOT_PRODUCT_TEXTURE_2D_NV = $86EE;
- GL_DOT_PRODUCT_TEXTURE_RECTANGLE_NV = $864E;
- GL_DOT_PRODUCT_TEXTURE_CUBE_MAP_NV = $86F0;
- GL_DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV = $86F1;
- GL_DOT_PRODUCT_REFLECT_CUBE_MAP_NV = $86F2;
- GL_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV = $86F3;
- GL_HILO_NV = $86F4;
- GL_DSDT_NV = $86F5;
- GL_DSDT_MAG_NV = $86F6;
- GL_DSDT_MAG_VIB_NV = $86F7;
- GL_UNSIGNED_INT_S8_S8_8_8_NV = $86DA;
- GL_UNSIGNED_INT_8_8_S8_S8_REV_NV = $86DB;
- GL_SIGNED_RGBA_NV = $86FB;
- GL_SIGNED_RGBA8_NV = $86FC;
- GL_SIGNED_RGB_NV = $86FE;
- GL_SIGNED_RGB8_NV = $86FF;
- GL_SIGNED_LUMINANCE_NV = $8701;
- GL_SIGNED_LUMINANCE8_NV = $8702;
- GL_SIGNED_LUMINANCE_ALPHA_NV = $8703;
- GL_SIGNED_LUMINANCE8_ALPHA8_NV = $8704;
- GL_SIGNED_ALPHA_NV = $8705;
- GL_SIGNED_ALPHA8_NV = $8706;
- GL_SIGNED_INTENSITY_NV = $8707;
- GL_SIGNED_INTENSITY8_NV = $8708;
- GL_SIGNED_RGB_UNSIGNED_ALPHA_NV = $870C;
- GL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV = $870D;
- GL_HILO16_NV = $86F8;
- GL_SIGNED_HILO_NV = $86F9;
- GL_SIGNED_HILO16_NV = $86FA;
- GL_DSDT8_NV = $8709;
- GL_DSDT8_MAG8_NV = $870A;
- GL_DSDT_MAG_INTENSITY_NV = $86DC;
- GL_DSDT8_MAG8_INTENSITY8_NV = $870B;
- GL_HI_SCALE_NV = $870E;
- GL_LO_SCALE_NV = $870F;
- GL_DS_SCALE_NV = $8710;
- GL_DT_SCALE_NV = $8711;
- GL_MAGNITUDE_SCALE_NV = $8712;
- GL_VIBRANCE_SCALE_NV = $8713;
- GL_HI_BIAS_NV = $8714;
- GL_LO_BIAS_NV = $8715;
- GL_DS_BIAS_NV = $8716;
- GL_DT_BIAS_NV = $8717;
- GL_MAGNITUDE_BIAS_NV = $8718;
- GL_VIBRANCE_BIAS_NV = $8719;
- GL_TEXTURE_BORDER_VALUES_NV = $871A;
- GL_TEXTURE_HI_SIZE_NV = $871B;
- GL_TEXTURE_LO_SIZE_NV = $871C;
- GL_TEXTURE_DS_SIZE_NV = $871D;
- GL_TEXTURE_DT_SIZE_NV = $871E;
- GL_TEXTURE_MAG_SIZE_NV = $871F;
-
-function Load_GL_NV_texture_shader: Boolean;
-
-//***** GL_NV_texture_shader2 *****//
-const
- GL_DOT_PRODUCT_TEXTURE_3D_NV = $86EF;
- // GL_HILO_NV { already defined }
- // GL_DSDT_NV { already defined }
- // GL_DSDT_MAG_NV { already defined }
- // GL_DSDT_MAG_VIB_NV { already defined }
- // GL_UNSIGNED_INT_S8_S8_8_8_NV { already defined }
- // GL_UNSIGNED_INT_8_8_S8_S8_REV_NV { already defined }
- // GL_SIGNED_RGBA_NV { already defined }
- // GL_SIGNED_RGBA8_NV { already defined }
- // GL_SIGNED_RGB_NV { already defined }
- // GL_SIGNED_RGB8_NV { already defined }
- // GL_SIGNED_LUMINANCE_NV { already defined }
- // GL_SIGNED_LUMINANCE8_NV { already defined }
- // GL_SIGNED_LUMINANCE_ALPHA_NV { already defined }
- // GL_SIGNED_LUMINANCE8_ALPHA8_NV { already defined }
- // GL_SIGNED_ALPHA_NV { already defined }
- // GL_SIGNED_ALPHA8_NV { already defined }
- // GL_SIGNED_INTENSITY_NV { already defined }
- // GL_SIGNED_INTENSITY8_NV { already defined }
- // GL_SIGNED_RGB_UNSIGNED_ALPHA_NV { already defined }
- // GL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV { already defined }
- // GL_HILO16_NV { already defined }
- // GL_SIGNED_HILO_NV { already defined }
- // GL_SIGNED_HILO16_NV { already defined }
- // GL_DSDT8_NV { already defined }
- // GL_DSDT8_MAG8_NV { already defined }
- // GL_DSDT_MAG_INTENSITY_NV { already defined }
- // GL_DSDT8_MAG8_INTENSITY8_NV { already defined }
-
-function Load_GL_NV_texture_shader2: Boolean;
-
-//***** GL_NV_texture_shader3 *****//
-const
- GL_OFFSET_PROJECTIVE_TEXTURE_2D_NV = $8850;
- GL_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV = $8851;
- GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV = $8852;
- GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV = $8853;
- GL_OFFSET_HILO_TEXTURE_2D_NV = $8854;
- GL_OFFSET_HILO_TEXTURE_RECTANGLE_NV = $8855;
- GL_OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV = $8856;
- GL_OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV = $8857;
- GL_DEPENDENT_HILO_TEXTURE_2D_NV = $8858;
- GL_DEPENDENT_RGB_TEXTURE_3D_NV = $8859;
- GL_DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV = $885A;
- GL_DOT_PRODUCT_PASS_THROUGH_NV = $885B;
- GL_DOT_PRODUCT_TEXTURE_1D_NV = $885C;
- GL_DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV = $885D;
- GL_HILO8_NV = $885E;
- GL_SIGNED_HILO8_NV = $885F;
- GL_FORCE_BLUE_TO_ONE_NV = $8860;
-
-function Load_GL_NV_texture_shader3: Boolean;
-
-//***** GL_NV_vertex_array_range *****//
-const
- GL_VERTEX_ARRAY_RANGE_NV = $851D;
- GL_VERTEX_ARRAY_RANGE_LENGTH_NV = $851E;
- GL_VERTEX_ARRAY_RANGE_VALID_NV = $851F;
- GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV = $8520;
- GL_VERTEX_ARRAY_RANGE_POINTER_NV = $8521;
-var
- glVertexArrayRangeNV: procedure(length: GLsizei; pointer: PGLvoid); extdecl;
- glFlushVertexArrayRangeNV: procedure(); extdecl;
-{$IFDEF Windows}
- wglAllocateMemoryNV: function(size: GLsizei; readFrequency: GLfloat; writeFrequency: GLfloat; priority: GLfloat): PGLvoid; extdecl;
- wglFreeMemoryNV: procedure(pointer: PGLvoid); extdecl;
-{$ENDIF}
-
-function Load_GL_NV_vertex_array_range: Boolean;
-
-//***** GL_NV_vertex_array_range2 *****//
-const
- GL_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV = $8533;
-
-function Load_GL_NV_vertex_array_range2: Boolean;
-
-//***** GL_NV_vertex_program *****//
-const
- GL_VERTEX_PROGRAM_NV = $8620;
- GL_VERTEX_PROGRAM_POINT_SIZE_NV = $8642;
- GL_VERTEX_PROGRAM_TWO_SIDE_NV = $8643;
- GL_VERTEX_STATE_PROGRAM_NV = $8621;
- GL_ATTRIB_ARRAY_SIZE_NV = $8623;
- GL_ATTRIB_ARRAY_STRIDE_NV = $8624;
- GL_ATTRIB_ARRAY_TYPE_NV = $8625;
- GL_CURRENT_ATTRIB_NV = $8626;
- GL_PROGRAM_PARAMETER_NV = $8644;
- GL_ATTRIB_ARRAY_POINTER_NV = $8645;
- GL_PROGRAM_TARGET_NV = $8646;
- GL_PROGRAM_LENGTH_NV = $8627;
- GL_PROGRAM_RESIDENT_NV = $8647;
- GL_PROGRAM_STRING_NV = $8628;
- GL_TRACK_MATRIX_NV = $8648;
- GL_TRACK_MATRIX_TRANSFORM_NV = $8649;
- GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV = $862E;
- GL_MAX_TRACK_MATRICES_NV = $862F;
- GL_CURRENT_MATRIX_STACK_DEPTH_NV = $8640;
- GL_CURRENT_MATRIX_NV = $8641;
- GL_VERTEX_PROGRAM_BINDING_NV = $864A;
- GL_PROGRAM_ERROR_POSITION_NV = $864B;
- GL_MODELVIEW_PROJECTION_NV = $8629;
- GL_MATRIX0_NV = $8630;
- GL_MATRIX1_NV = $8631;
- GL_MATRIX2_NV = $8632;
- GL_MATRIX3_NV = $8633;
- GL_MATRIX4_NV = $8634;
- GL_MATRIX5_NV = $8635;
- GL_MATRIX6_NV = $8636;
- GL_MATRIX7_NV = $8637;
- GL_IDENTITY_NV = $862A;
- GL_INVERSE_NV = $862B;
- GL_TRANSPOSE_NV = $862C;
- GL_INVERSE_TRANSPOSE_NV = $862D;
- GL_VERTEX_ATTRIB_ARRAY0_NV = $8650;
- GL_VERTEX_ATTRIB_ARRAY1_NV = $8651;
- GL_VERTEX_ATTRIB_ARRAY2_NV = $8652;
- GL_VERTEX_ATTRIB_ARRAY3_NV = $8653;
- GL_VERTEX_ATTRIB_ARRAY4_NV = $8654;
- GL_VERTEX_ATTRIB_ARRAY5_NV = $8655;
- GL_VERTEX_ATTRIB_ARRAY6_NV = $8656;
- GL_VERTEX_ATTRIB_ARRAY7_NV = $8657;
- GL_VERTEX_ATTRIB_ARRAY8_NV = $8658;
- GL_VERTEX_ATTRIB_ARRAY9_NV = $8659;
- GL_VERTEX_ATTRIB_ARRAY10_NV = $865A;
- GL_VERTEX_ATTRIB_ARRAY11_NV = $865B;
- GL_VERTEX_ATTRIB_ARRAY12_NV = $865C;
- GL_VERTEX_ATTRIB_ARRAY13_NV = $865D;
- GL_VERTEX_ATTRIB_ARRAY14_NV = $865E;
- GL_VERTEX_ATTRIB_ARRAY15_NV = $865F;
- GL_MAP1_VERTEX_ATTRIB0_4_NV = $8660;
- GL_MAP1_VERTEX_ATTRIB1_4_NV = $8661;
- GL_MAP1_VERTEX_ATTRIB2_4_NV = $8662;
- GL_MAP1_VERTEX_ATTRIB3_4_NV = $8663;
- GL_MAP1_VERTEX_ATTRIB4_4_NV = $8664;
- GL_MAP1_VERTEX_ATTRIB5_4_NV = $8665;
- GL_MAP1_VERTEX_ATTRIB6_4_NV = $8666;
- GL_MAP1_VERTEX_ATTRIB7_4_NV = $8667;
- GL_MAP1_VERTEX_ATTRIB8_4_NV = $8668;
- GL_MAP1_VERTEX_ATTRIB9_4_NV = $8669;
- GL_MAP1_VERTEX_ATTRIB10_4_NV = $866A;
- GL_MAP1_VERTEX_ATTRIB11_4_NV = $866B;
- GL_MAP1_VERTEX_ATTRIB12_4_NV = $866C;
- GL_MAP1_VERTEX_ATTRIB13_4_NV = $866D;
- GL_MAP1_VERTEX_ATTRIB14_4_NV = $866E;
- GL_MAP1_VERTEX_ATTRIB15_4_NV = $866F;
- GL_MAP2_VERTEX_ATTRIB0_4_NV = $8670;
- GL_MAP2_VERTEX_ATTRIB1_4_NV = $8671;
- GL_MAP2_VERTEX_ATTRIB2_4_NV = $8672;
- GL_MAP2_VERTEX_ATTRIB3_4_NV = $8673;
- GL_MAP2_VERTEX_ATTRIB4_4_NV = $8674;
- GL_MAP2_VERTEX_ATTRIB5_4_NV = $8675;
- GL_MAP2_VERTEX_ATTRIB6_4_NV = $8676;
- GL_MAP2_VERTEX_ATTRIB7_4_NV = $8677;
- GL_MAP2_VERTEX_ATTRIB8_4_NV = $8678;
- GL_MAP2_VERTEX_ATTRIB9_4_NV = $8679;
- GL_MAP2_VERTEX_ATTRIB10_4_NV = $867A;
- GL_MAP2_VERTEX_ATTRIB11_4_NV = $867B;
- GL_MAP2_VERTEX_ATTRIB12_4_NV = $867C;
- GL_MAP2_VERTEX_ATTRIB13_4_NV = $867D;
- GL_MAP2_VERTEX_ATTRIB14_4_NV = $867E;
- GL_MAP2_VERTEX_ATTRIB15_4_NV = $867F;
-var
- glBindProgramNV: procedure(target: GLenum; id: GLuint); extdecl;
- glDeleteProgramsNV: procedure(n: GLsizei; const ids: PGLuint); extdecl;
- glExecuteProgramNV: procedure(target: GLenum; id: GLuint; const params: PGLfloat); extdecl;
- glGenProgramsNV: procedure(n: GLsizei; ids: PGLuint); extdecl;
- glAreProgramsResidentNV: function(n: GLsizei; const ids: PGLuint; residences: PGLboolean): GLboolean; extdecl;
- glRequestResidentProgramsNV: procedure(n: GLsizei; ids: PGLuint); extdecl;
- glGetProgramParameterfvNV: procedure(target: GLenum; index: GLuint; pname: GLenum; params: PGLfloat); extdecl;
- glGetProgramParameterdvNV: procedure(target: GLenum; index: GLuint; pname: GLenum; params: PGLdouble); extdecl;
- glGetProgramivNV: procedure(id: GLuint; pname: GLenum; params: PGLint); extdecl;
- glGetProgramStringNV: procedure(id: GLuint; pname: GLenum; _program: PGLubyte); extdecl;
- glGetTrackMatrixivNV: procedure(target: GLenum; address: GLuint; pname: GLenum; params: PGLint); extdecl;
- glGetVertexAttribdvNV: procedure(index: GLuint; pname: GLenum; params: PGLdouble); extdecl;
- glGetVertexAttribfvNV: procedure(index: GLuint; pname: GLenum; params: PGLfloat); extdecl;
- glGetVertexAttribivNV: procedure(index: GLuint; pname: GLenum; params: PGLint); extdecl;
- glGetVertexAttribPointervNV: procedure(index: GLuint; pname: GLenum; pointer: PGLvoid); extdecl;
- glIsProgramNV: function(id: GLuint): GLboolean; extdecl;
- glLoadProgramNV: procedure(target: GLenum; id: GLuint; len: GLsizei; const _program: PGLubyte); extdecl;
- glProgramParameter4fNV: procedure(target: GLenum; index: GLuint; x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); extdecl;
- glProgramParameter4fvNV: procedure(target: GLenum; index: GLuint; const params: PGLfloat); extdecl;
- glProgramParameters4dvNV: procedure(target: GLenum; index: GLuint; num: GLuint; const params: PGLdouble); extdecl;
- glProgramParameters4fvNV: procedure(target: GLenum; index: GLuint; num: GLuint; const params: PGLfloat); extdecl;
- glTrackMatrixNV: procedure(target: GLenum; address: GLuint; matrix: GLenum; transform: GLenum); extdecl;
- glVertexAttribPointerNV: procedure(index: GLuint; size: GLint; _type: GLenum; stride: GLsizei; const pointer: PGLvoid); extdecl;
- glVertexAttrib1sNV: procedure(index: GLuint; x: GLshort); extdecl;
- glVertexAttrib1fNV: procedure(index: GLuint; x: GLfloat); extdecl;
- glVertexAttrib1dNV: procedure(index: GLuint; x: GLdouble); extdecl;
- glVertexAttrib2sNV: procedure(index: GLuint; x: GLshort; y: GLshort); extdecl;
- glVertexAttrib2fNV: procedure(index: GLuint; x: GLfloat; y: GLfloat); extdecl;
- glVertexAttrib2dNV: procedure(index: GLuint; x: GLdouble; y: GLdouble); extdecl;
- glVertexAttrib3sNV: procedure(index: GLuint; x: GLshort; y: GLshort; z: GLshort); extdecl;
- glVertexAttrib3fNV: procedure(index: GLuint; x: GLfloat; y: GLfloat; z: GLfloat); extdecl;
- glVertexAttrib3dNV: procedure(index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble); extdecl;
- glVertexAttrib4sNV: procedure(index: GLuint; x: GLshort; y: GLshort; z: GLshort; w: GLshort); extdecl;
- glVertexAttrib4fNV: procedure(index: GLuint; x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); extdecl;
- glVertexAttrib4dNV: procedure(index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); extdecl;
- glVertexAttrib4ubNV: procedure(index: GLuint; x: GLubyte; y: GLubyte; z: GLubyte; w: GLubyte); extdecl;
- glVertexAttrib1svNV: procedure(index: GLuint; const v: PGLshort); extdecl;
- glVertexAttrib1fvNV: procedure(index: GLuint; const v: PGLfloat); extdecl;
- glVertexAttrib1dvNV: procedure(index: GLuint; const v: PGLdouble); extdecl;
- glVertexAttrib2svNV: procedure(index: GLuint; const v: PGLshort); extdecl;
- glVertexAttrib2fvNV: procedure(index: GLuint; const v: PGLfloat); extdecl;
- glVertexAttrib2dvNV: procedure(index: GLuint; const v: PGLdouble); extdecl;
- glVertexAttrib3svNV: procedure(index: GLuint; const v: PGLshort); extdecl;
- glVertexAttrib3fvNV: procedure(index: GLuint; const v: PGLfloat); extdecl;
- glVertexAttrib3dvNV: procedure(index: GLuint; const v: PGLdouble); extdecl;
- glVertexAttrib4svNV: procedure(index: GLuint; const v: PGLshort); extdecl;
- glVertexAttrib4fvNV: procedure(index: GLuint; const v: PGLfloat); extdecl;
- glVertexAttrib4dvNV: procedure(index: GLuint; const v: PGLdouble); extdecl;
- glVertexAttrib4ubvNV: procedure(index: GLuint; const v: PGLubyte); extdecl;
- glVertexAttribs1svNV: procedure(index: GLuint; n: GLsizei; const v: PGLshort); extdecl;
- glVertexAttribs1fvNV: procedure(index: GLuint; n: GLsizei; const v: PGLfloat); extdecl;
- glVertexAttribs1dvNV: procedure(index: GLuint; n: GLsizei; const v: PGLdouble); extdecl;
- glVertexAttribs2svNV: procedure(index: GLuint; n: GLsizei; const v: PGLshort); extdecl;
- glVertexAttribs2fvNV: procedure(index: GLuint; n: GLsizei; const v: PGLfloat); extdecl;
- glVertexAttribs2dvNV: procedure(index: GLuint; n: GLsizei; const v: PGLdouble); extdecl;
- glVertexAttribs3svNV: procedure(index: GLuint; n: GLsizei; const v: PGLshort); extdecl;
- glVertexAttribs3fvNV: procedure(index: GLuint; n: GLsizei; const v: PGLfloat); extdecl;
- glVertexAttribs3dvNV: procedure(index: GLuint; n: GLsizei; const v: PGLdouble); extdecl;
- glVertexAttribs4svNV: procedure(index: GLuint; n: GLsizei; const v: PGLshort); extdecl;
- glVertexAttribs4fvNV: procedure(index: GLuint; n: GLsizei; const v: PGLfloat); extdecl;
- glVertexAttribs4dvNV: procedure(index: GLuint; n: GLsizei; const v: PGLdouble); extdecl;
- glVertexAttribs4ubvNV: procedure(index: GLuint; n: GLsizei; const v: PGLubyte); extdecl;
-
-function Load_GL_NV_vertex_program: Boolean;
-
-//***** GL_NV_vertex_program1_1 *****//
-
-function Load_GL_NV_vertex_program1_1: Boolean;
-
-//***** GL_ATI_element_array *****//
-const
- GL_ELEMENT_ARRAY_ATI = $8768;
- GL_ELEMENT_ARRAY_TYPE_ATI = $8769;
- GL_ELEMENT_ARRAY_POINTER_ATI = $876A;
-var
- glElementPointerATI: procedure(_type: GLenum; const pointer: PGLvoid); extdecl;
- glDrawElementArrayATI: procedure(mode: GLenum; count: GLsizei); extdecl;
- glDrawRangeElementArrayATI: procedure(mode: GLenum; start: GLuint; _end: GLuint; count: GLsizei); extdecl;
-
-function Load_GL_ATI_element_array: Boolean;
-
-//***** GL_ATI_envmap_bumpmap *****//
-const
- GL_BUMP_ROT_MATRIX_ATI = $8775;
- GL_BUMP_ROT_MATRIX_SIZE_ATI = $8776;
- GL_BUMP_NUM_TEX_UNITS_ATI = $8777;
- GL_BUMP_TEX_UNITS_ATI = $8778;
- GL_DUDV_ATI = $8779;
- GL_DU8DV8_ATI = $877A;
- GL_BUMP_ENVMAP_ATI = $877B;
- GL_BUMP_TARGET_ATI = $877C;
-var
- glTexBumpParameterivATI: procedure(pname: GLenum; param: PGLint); extdecl;
- glTexBumpParameterfvATI: procedure(pname: GLenum; param: PGLfloat); extdecl;
- glGetTexBumpParameterivATI: procedure(pname: GLenum; param: PGLint); extdecl;
- glGetTexBumpParameterfvATI: procedure(pname: GLenum; param: PGLfloat); extdecl;
-
-function Load_GL_ATI_envmap_bumpmap: Boolean;
-
-//***** GL_ATI_fragment_shader *****//
-const
- GL_FRAGMENT_SHADER_ATI = $8920;
- GL_REG_0_ATI = $8921;
- GL_REG_1_ATI = $8922;
- GL_REG_2_ATI = $8923;
- GL_REG_3_ATI = $8924;
- GL_REG_4_ATI = $8925;
- GL_REG_5_ATI = $8926;
- GL_CON_0_ATI = $8941;
- GL_CON_1_ATI = $8942;
- GL_CON_2_ATI = $8943;
- GL_CON_3_ATI = $8944;
- GL_CON_4_ATI = $8945;
- GL_CON_5_ATI = $8946;
- GL_CON_6_ATI = $8947;
- GL_CON_7_ATI = $8948;
- GL_MOV_ATI = $8961;
- GL_ADD_ATI = $8963;
- GL_MUL_ATI = $8964;
- GL_SUB_ATI = $8965;
- GL_DOT3_ATI = $8966;
- GL_DOT4_ATI = $8967;
- GL_MAD_ATI = $8968;
- GL_LERP_ATI = $8969;
- GL_CND_ATI = $896A;
- GL_CND0_ATI = $896B;
- GL_DOT2_ADD_ATI = $896C;
- GL_SECONDARY_INTERPOLATOR_ATI = $896D;
- GL_SWIZZLE_STR_ATI = $8976;
- GL_SWIZZLE_STQ_ATI = $8977;
- GL_SWIZZLE_STR_DR_ATI = $8978;
- GL_SWIZZLE_STQ_DQ_ATI = $8979;
- GL_RED_BIT_ATI = $0001;
- GL_GREEN_BIT_ATI = $0002;
- GL_BLUE_BIT_ATI = $0004;
- GL_2X_BIT_ATI = $0001;
- GL_4X_BIT_ATI = $0002;
- GL_8X_BIT_ATI = $0004;
- GL_HALF_BIT_ATI = $0008;
- GL_QUARTER_BIT_ATI = $0010;
- GL_EIGHTH_BIT_ATI = $0020;
- GL_SATURATE_BIT_ATI = $0040;
- // GL_2X_BIT_ATI { already defined }
- GL_COMP_BIT_ATI = $0002;
- GL_NEGATE_BIT_ATI = $0004;
- GL_BIAS_BIT_ATI = $0008;
-var
- glGenFragmentShadersATI: function(range: GLuint): GLuint; extdecl;
- glBindFragmentShaderATI: procedure(id: GLuint); extdecl;
- glDeleteFragmentShaderATI: procedure(id: GLuint); extdecl;
- glBeginFragmentShaderATI: procedure(); extdecl;
- glEndFragmentShaderATI: procedure(); extdecl;
- glPassTexCoordATI: procedure(dst: GLuint; coord: GLuint; swizzle: GLenum); extdecl;
- glSampleMapATI: procedure(dst: GLuint; interp: GLuint; swizzle: GLenum); extdecl;
- glColorFragmentOp1ATI: procedure(op: GLenum; dst: GLuint; dstMask: GLuint; dstMod: GLuint; arg1: GLuint; arg1Rep: GLuint; arg1Mod: GLuint); extdecl;
- glColorFragmentOp2ATI: procedure(op: GLenum; dst: GLuint; dstMask: GLuint; dstMod: GLuint; arg1: GLuint; arg1Rep: GLuint; arg1Mod: GLuint; arg2: GLuint; arg2Rep: GLuint; arg2Mod: GLuint); extdecl;
- glColorFragmentOp3ATI: procedure(op: GLenum; dst: GLuint; dstMask: GLuint; dstMod: GLuint; arg1: GLuint; arg1Rep: GLuint; arg1Mod: GLuint; arg2: GLuint; arg2Rep: GLuint; arg2Mod: GLuint; arg3: GLuint; arg3Rep: GLuint; arg3Mod: GLuint); extdecl;
- glAlphaFragmentOp1ATI: procedure(op: GLenum; dst: GLuint; dstMod: GLuint; arg1: GLuint; arg1Rep: GLuint; arg1Mod: GLuint); extdecl;
- glAlphaFragmentOp2ATI: procedure(op: GLenum; dst: GLuint; dstMod: GLuint; arg1: GLuint; arg1Rep: GLuint; arg1Mod: GLuint; arg2: GLuint; arg2Rep: GLuint; arg2Mod: GLuint); extdecl;
- glAlphaFragmentOp3ATI: procedure(op: GLenum; dst: GLuint; dstMod: GLuint; arg1: GLuint; arg1Rep: GLuint; arg1Mod: GLuint; arg2: GLuint; arg2Rep: GLuint; arg2Mod: GLuint; arg3: GLuint; arg3Rep: GLuint; arg3Mod: GLuint); extdecl;
- glSetFragmentShaderConstantATI: procedure(dst: GLuint; const value: PGLfloat); extdecl;
-
-function Load_GL_ATI_fragment_shader: Boolean;
-
-//***** GL_ATI_pn_triangles *****//
-const
- GL_PN_TRIANGLES_ATI = $87F0;
- GL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI = $87F1;
- GL_PN_TRIANGLES_POINT_MODE_ATI = $87F2;
- GL_PN_TRIANGLES_NORMAL_MODE_ATI = $87F3;
- GL_PN_TRIANGLES_TESSELATION_LEVEL_ATI = $87F4;
- GL_PN_TRIANGLES_POINT_MODE_LINEAR_ATI = $87F5;
- GL_PN_TRIANGLES_POINT_MODE_CUBIC_ATI = $87F6;
- GL_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI = $87F7;
- GL_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI = $87F8;
-var
- glPNTrianglesiATI: procedure(pname: GLenum; param: GLint); extdecl;
- glPNTrianglesfATI: procedure(pname: GLenum; param: GLfloat); extdecl;
-
-function Load_GL_ATI_pn_triangles: Boolean;
-
-//***** GL_ATI_texture_mirror_once *****//
-const
- GL_MIRROR_CLAMP_ATI = $8742;
- GL_MIRROR_CLAMP_TO_EDGE_ATI = $8743;
-
-function Load_GL_ATI_texture_mirror_once: Boolean;
-
-//***** GL_ATI_vertex_array_object *****//
-const
- GL_STATIC_ATI = $8760;
- GL_DYNAMIC_ATI = $8761;
- GL_PRESERVE_ATI = $8762;
- GL_DISCARD_ATI = $8763;
- GL_OBJECT_BUFFER_SIZE_ATI = $8764;
- GL_OBJECT_BUFFER_USAGE_ATI = $8765;
- GL_ARRAY_OBJECT_BUFFER_ATI = $8766;
- GL_ARRAY_OBJECT_OFFSET_ATI = $8767;
-var
- glNewObjectBufferATI: function(size: GLsizei; const pointer: PGLvoid; usage: GLenum): GLuint; extdecl;
- glIsObjectBufferATI: function(buffer: GLuint): GLboolean; extdecl;
- glUpdateObjectBufferATI: procedure(buffer: GLuint; offset: GLuint; size: GLsizei; const pointer: PGLvoid; preserve: GLenum); extdecl;
- glGetObjectBufferfvATI: procedure(buffer: GLuint; pname: GLenum; params: PGLfloat); extdecl;
- glGetObjectBufferivATI: procedure(buffer: GLuint; pname: GLenum; params: PGLint); extdecl;
- glDeleteObjectBufferATI: procedure(buffer: GLuint); extdecl;
- glArrayObjectATI: procedure(_array: GLenum; size: GLint; _type: GLenum; stride: GLsizei; buffer: GLuint; offset: GLuint); extdecl;
- glGetArrayObjectfvATI: procedure(_array: GLenum; pname: GLenum; params: PGLfloat); extdecl;
- glGetArrayObjectivATI: procedure(_array: GLenum; pname: GLenum; params: PGLint); extdecl;
- glVariantArrayObjectATI: procedure(id: GLuint; _type: GLenum; stride: GLsizei; buffer: GLuint; offset: GLuint); extdecl;
- glGetVariantArrayObjectfvATI: procedure(id: GLuint; pname: GLenum; params: PGLfloat); extdecl;
- glGetVariantArrayObjectivATI: procedure(id: GLuint; pname: GLenum; params: PGLint); extdecl;
-
-function Load_GL_ATI_vertex_array_object: Boolean;
-
-//***** GL_ATI_vertex_streams *****//
-const
- GL_MAX_VERTEX_STREAMS_ATI = $876B;
- GL_VERTEX_STREAM0_ATI = $876C;
- GL_VERTEX_STREAM1_ATI = $876D;
- GL_VERTEX_STREAM2_ATI = $876E;
- GL_VERTEX_STREAM3_ATI = $876F;
- GL_VERTEX_STREAM4_ATI = $8770;
- GL_VERTEX_STREAM5_ATI = $8771;
- GL_VERTEX_STREAM6_ATI = $8772;
- GL_VERTEX_STREAM7_ATI = $8773;
- GL_VERTEX_SOURCE_ATI = $8774;
-var
- glVertexStream1s: procedure(stream: GLenum; coords: GLshort); extdecl;
- glVertexStream1i: procedure(stream: GLenum; coords: GLint); extdecl;
- glVertexStream1f: procedure(stream: GLenum; coords: GLfloat); extdecl;
- glVertexStream1d: procedure(stream: GLenum; coords: GLdouble); extdecl;
- glVertexStream1sv: procedure(stream: GLenum; coords: GLshort); extdecl;
- glVertexStream1iv: procedure(stream: GLenum; coords: GLint); extdecl;
- glVertexStream1fv: procedure(stream: GLenum; coords: GLfloat); extdecl;
- glVertexStream1dv: procedure(stream: GLenum; coords: GLdouble); extdecl;
- glVertexStream2s: procedure(stream: GLenum; coords: GLshort); extdecl;
- glVertexStream2i: procedure(stream: GLenum; coords: GLint); extdecl;
- glVertexStream2f: procedure(stream: GLenum; coords: GLfloat); extdecl;
- glVertexStream2d: procedure(stream: GLenum; coords: GLdouble); extdecl;
- glVertexStream2sv: procedure(stream: GLenum; coords: GLshort); extdecl;
- glVertexStream2iv: procedure(stream: GLenum; coords: GLint); extdecl;
- glVertexStream2fv: procedure(stream: GLenum; coords: GLfloat); extdecl;
- glVertexStream2dv: procedure(stream: GLenum; coords: GLdouble); extdecl;
- glVertexStream3s: procedure(stream: GLenum; coords: GLshort); extdecl;
- glVertexStream3i: procedure(stream: GLenum; coords: GLint); extdecl;
- glVertexStream3f: procedure(stream: GLenum; coords: GLfloat); extdecl;
- glVertexStream3d: procedure(stream: GLenum; coords: GLdouble); extdecl;
- glVertexStream3sv: procedure(stream: GLenum; coords: GLshort); extdecl;
- glVertexStream3iv: procedure(stream: GLenum; coords: GLint); extdecl;
- glVertexStream3fv: procedure(stream: GLenum; coords: GLfloat); extdecl;
- glVertexStream3dv: procedure(stream: GLenum; coords: GLdouble); extdecl;
- glVertexStream4s: procedure(stream: GLenum; coords: GLshort); extdecl;
- glVertexStream4i: procedure(stream: GLenum; coords: GLint); extdecl;
- glVertexStream4f: procedure(stream: GLenum; coords: GLfloat); extdecl;
- glVertexStream4d: procedure(stream: GLenum; coords: GLdouble); extdecl;
- glVertexStream4sv: procedure(stream: GLenum; coords: GLshort); extdecl;
- glVertexStream4iv: procedure(stream: GLenum; coords: GLint); extdecl;
- glVertexStream4fv: procedure(stream: GLenum; coords: GLfloat); extdecl;
- glVertexStream4dv: procedure(stream: GLenum; coords: GLdouble); extdecl;
- glNormalStream3b: procedure(stream: GLenum; coords: GLbyte); extdecl;
- glNormalStream3s: procedure(stream: GLenum; coords: GLshort); extdecl;
- glNormalStream3i: procedure(stream: GLenum; coords: GLint); extdecl;
- glNormalStream3f: procedure(stream: GLenum; coords: GLfloat); extdecl;
- glNormalStream3d: procedure(stream: GLenum; coords: GLdouble); extdecl;
- glNormalStream3bv: procedure(stream: GLenum; coords: GLbyte); extdecl;
- glNormalStream3sv: procedure(stream: GLenum; coords: GLshort); extdecl;
- glNormalStream3iv: procedure(stream: GLenum; coords: GLint); extdecl;
- glNormalStream3fv: procedure(stream: GLenum; coords: GLfloat); extdecl;
- glNormalStream3dv: procedure(stream: GLenum; coords: GLdouble); extdecl;
- glClientActiveVertexStream: procedure(stream: GLenum); extdecl;
- glVertexBlendEnvi: procedure(pname: GLenum; param: GLint); extdecl;
- glVertexBlendEnvf: procedure(pname: GLenum; param: GLfloat); extdecl;
-
-function Load_GL_ATI_vertex_streams: Boolean;
-
-{$IFDEF Windows}
-//***** WGL_I3D_image_buffer *****//
-const
- WGL_IMAGE_BUFFER_MIN_ACCESS_I3D = $0001;
- WGL_IMAGE_BUFFER_LOCK_I3D = $0002;
-var
- wglCreateImageBufferI3D: function(hDC: HDC; dwSize: DWORD; uFlags: UINT): PGLvoid; extdecl;
- wglDestroyImageBufferI3D: function(hDC: HDC; pAddress: PGLvoid): BOOL; extdecl;
- wglAssociateImageBufferEventsI3D: function(hdc: HDC; pEvent: PHandle; pAddress: PGLvoid; pSize: PDWORD; count: UINT): BOOL; extdecl;
- wglReleaseImageBufferEventsI3D: function(hdc: HDC; pAddress: PGLvoid; count: UINT): BOOL; extdecl;
-
-function Load_WGL_I3D_image_buffer: Boolean;
-
-//***** WGL_I3D_swap_frame_lock *****//
-var
- wglEnableFrameLockI3D: function(): BOOL; extdecl;
- wglDisableFrameLockI3D: function(): BOOL; extdecl;
- wglIsEnabledFrameLockI3D: function(pFlag: PBOOL): BOOL; extdecl;
- wglQueryFrameLockMasterI3D: function(pFlag: PBOOL): BOOL; extdecl;
-
-function Load_WGL_I3D_swap_frame_lock: Boolean;
-
-//***** WGL_I3D_swap_frame_usage *****//
-var
- wglGetFrameUsageI3D: function(pUsage: PGLfloat): BOOL; extdecl;
- wglBeginFrameTrackingI3D: function(): BOOL; extdecl;
- wglEndFrameTrackingI3D: function(): BOOL; extdecl;
- wglQueryFrameTrackingI3D: function(pFrameCount: PDWORD; pMissedFrames: PDWORD; pLastMissedUsage: PGLfloat): BOOL; extdecl;
-
-function Load_WGL_I3D_swap_frame_usage: Boolean;
-{$ENDIF}
-
-//***** GL_3DFX_texture_compression_FXT1 *****//
-const
- GL_COMPRESSED_RGB_FXT1_3DFX = $86B0;
- GL_COMPRESSED_RGBA_FXT1_3DFX = $86B1;
-
-function Load_GL_3DFX_texture_compression_FXT1: Boolean;
-
-//***** GL_IBM_cull_vertex *****//
-const
- GL_CULL_VERTEX_IBM = $1928A;
-
-function Load_GL_IBM_cull_vertex: Boolean;
-
-//***** GL_IBM_multimode_draw_arrays *****//
-var
- glMultiModeDrawArraysIBM: procedure(mode: PGLenum; first: PGLint; count: PGLsizei; primcount: GLsizei; modestride: GLint); extdecl;
- glMultiModeDrawElementsIBM: procedure(mode: PGLenum; count: PGLsizei; _type: GLenum; const indices: PGLvoid; primcount: GLsizei; modestride: GLint); extdecl;
-
-function Load_GL_IBM_multimode_draw_arrays: Boolean;
-
-//***** GL_IBM_raster_pos_clip *****//
-const
- GL_RASTER_POSITION_UNCLIPPED_IBM = $19262;
-
-function Load_GL_IBM_raster_pos_clip: Boolean;
-
-//***** GL_IBM_texture_mirrored_repeat *****//
-const
- GL_MIRRORED_REPEAT_IBM = $8370;
-
-function Load_GL_IBM_texture_mirrored_repeat: Boolean;
-
-//***** GL_IBM_vertex_array_lists *****//
-const
- GL_VERTEX_ARRAY_LIST_IBM = $1929E;
- GL_NORMAL_ARRAY_LIST_IBM = $1929F;
- GL_COLOR_ARRAY_LIST_IBM = $192A0;
- GL_INDEX_ARRAY_LIST_IBM = $192A1;
- GL_TEXTURE_COORD_ARRAY_LIST_IBM = $192A2;
- GL_EDGE_FLAG_ARRAY_LIST_IBM = $192A3;
- GL_FOG_COORDINATE_ARRAY_LIST_IBM = $192A4;
- GL_SECONDARY_COLOR_ARRAY_LIST_IBM = $192A5;
- GL_VERTEX_ARRAY_LIST_STRIDE_IBM = $192A8;
- GL_NORMAL_ARRAY_LIST_STRIDE_IBM = $192A9;
- GL_COLOR_ARRAY_LIST_STRIDE_IBM = $192AA;
- GL_INDEX_ARRAY_LIST_STRIDE_IBM = $192AB;
- GL_TEXTURE_COORD_ARRAY_LIST_STRIDE_IBM = $192AC;
- GL_EDGE_FLAG_ARRAY_LIST_STRIDE_IBM = $192AD;
- GL_FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM = $192AE;
- GL_SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBM = $192AF;
-var
- glColorPointerListIBM: procedure(size: GLint; _type: GLenum; stride: GLint; const pointer: PGLvoid; ptrstride: GLint); extdecl;
- glSecondaryColorPointerListIBM: procedure(size: GLint; _type: GLenum; stride: GLint; const pointer: PGLvoid; ptrstride: GLint); extdecl;
- glEdgeFlagPointerListIBM: procedure(stride: GLint; const pointer: PGLboolean; ptrstride: GLint); extdecl;
- glFogCoordPointerListIBM: procedure(_type: GLenum; stride: GLint; const pointer: PGLvoid; ptrstride: GLint); extdecl;
- glNormalPointerListIBM: procedure(_type: GLenum; stride: GLint; const pointer: PGLvoid; ptrstride: GLint); extdecl;
- glTexCoordPointerListIBM: procedure(size: GLint; _type: GLenum; stride: GLint; const pointer: PGLvoid; ptrstride: GLint); extdecl;
- glVertexPointerListIBM: procedure(size: GLint; _type: GLenum; stride: GLint; const pointer: PGLvoid; ptrstride: GLint); extdecl;
-
-function Load_GL_IBM_vertex_array_lists: Boolean;
-
-//***** GL_MESA_resize_buffers *****//
-var
- glResizeBuffersMESA: procedure(); extdecl;
-
-function Load_GL_MESA_resize_buffers: Boolean;
-
-//***** GL_MESA_window_pos *****//
-var
- glWindowPos2dMESA: procedure(x: GLdouble; y: GLdouble); extdecl;
- glWindowPos2fMESA: procedure(x: GLfloat; y: GLfloat); extdecl;
- glWindowPos2iMESA: procedure(x: GLint; y: GLint); extdecl;
- glWindowPos2sMESA: procedure(x: GLshort; y: GLshort); extdecl;
- glWindowPos2ivMESA: procedure(const p: PGLint); extdecl;
- glWindowPos2svMESA: procedure(const p: PGLshort); extdecl;
- glWindowPos2fvMESA: procedure(const p: PGLfloat); extdecl;
- glWindowPos2dvMESA: procedure(const p: PGLdouble); extdecl;
- glWindowPos3iMESA: procedure(x: GLint; y: GLint; z: GLint); extdecl;
- glWindowPos3sMESA: procedure(x: GLshort; y: GLshort; z: GLshort); extdecl;
- glWindowPos3fMESA: procedure(x: GLfloat; y: GLfloat; z: GLfloat); extdecl;
- glWindowPos3dMESA: procedure(x: GLdouble; y: GLdouble; z: GLdouble); extdecl;
- glWindowPos3ivMESA: procedure(const p: PGLint); extdecl;
- glWindowPos3svMESA: procedure(const p: PGLshort); extdecl;
- glWindowPos3fvMESA: procedure(const p: PGLfloat); extdecl;
- glWindowPos3dvMESA: procedure(const p: PGLdouble); extdecl;
- glWindowPos4iMESA: procedure(x: GLint; y: GLint; z: GLint; w: GLint); extdecl;
- glWindowPos4sMESA: procedure(x: GLshort; y: GLshort; z: GLshort; w: GLshort); extdecl;
- glWindowPos4fMESA: procedure(x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); extdecl;
- glWindowPos4dMESA: procedure(x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); extdecl;
- glWindowPos4ivMESA: procedure(const p: PGLint); extdecl;
- glWindowPos4svMESA: procedure(const p: PGLshort); extdecl;
- glWindowPos4fvMESA: procedure(const p: PGLfloat); extdecl;
- glWindowPos4dvMESA: procedure(const p: PGLdouble); extdecl;
-
-function Load_GL_MESA_window_pos: Boolean;
-
-//***** GL_OML_interlace *****//
-const
- GL_INTERLACE_OML = $8980;
- GL_INTERLACE_READ_OML = $8981;
-
-function Load_GL_OML_interlace: Boolean;
-
-//***** GL_OML_resample *****//
-const
- GL_PACK_RESAMPLE_OML = $8984;
- GL_UNPACK_RESAMPLE_OML = $8985;
- GL_RESAMPLE_REPLICATE_OML = $8986;
- GL_RESAMPLE_ZERO_FILL_OML = $8987;
- GL_RESAMPLE_AVERAGE_OML = $8988;
- GL_RESAMPLE_DECIMATE_OML = $8989;
- // GL_RESAMPLE_AVERAGE_OML { already defined }
-
-function Load_GL_OML_resample: Boolean;
-
-//***** GL_OML_subsample *****//
-const
- GL_FORMAT_SUBSAMPLE_24_24_OML = $8982;
- GL_FORMAT_SUBSAMPLE_244_244_OML = $8983;
-
-function Load_GL_OML_subsample: Boolean;
-
-//***** GL_SGIS_generate_mipmap *****//
-const
- GL_GENERATE_MIPMAP_SGIS = $8191;
- GL_GENERATE_MIPMAP_HINT_SGIS = $8192;
-
-function Load_GL_SGIS_generate_mipmap: Boolean;
-
-//***** GL_SGIS_multisample *****//
-const
- GLX_SAMPLE_BUFFERS_SGIS = $186A0;
- GLX_SAMPLES_SGIS = $186A1;
- GL_MULTISAMPLE_SGIS = $809D;
- GL_SAMPLE_ALPHA_TO_MASK_SGIS = $809E;
- GL_SAMPLE_ALPHA_TO_ONE_SGIS = $809F;
- GL_SAMPLE_MASK_SGIS = $80A0;
- GL_MULTISAMPLE_BIT_EXT = $20000000;
- GL_1PASS_SGIS = $80A1;
- GL_2PASS_0_SGIS = $80A2;
- GL_2PASS_1_SGIS = $80A3;
- GL_4PASS_0_SGIS = $80A4;
- GL_4PASS_1_SGIS = $80A5;
- GL_4PASS_2_SGIS = $80A6;
- GL_4PASS_3_SGIS = $80A7;
- GL_SAMPLE_BUFFERS_SGIS = $80A8;
- GL_SAMPLES_SGIS = $80A9;
- GL_SAMPLE_MASK_VALUE_SGIS = $80AA;
- GL_SAMPLE_MASK_INVERT_SGIS = $80AB;
- GL_SAMPLE_PATTERN_SGIS = $80AC;
-var
- glSampleMaskSGIS: procedure(value: GLclampf; invert: GLboolean); extdecl;
- glSamplePatternSGIS: procedure(pattern: GLenum); extdecl;
-
-function Load_GL_SGIS_multisample: Boolean;
-
-//***** GL_SGIS_pixel_texture *****//
-const
- GL_PIXEL_TEXTURE_SGIS = $8353;
- GL_PIXEL_FRAGMENT_RGB_SOURCE_SGIS = $8354;
- GL_PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS = $8355;
- GL_PIXEL_GROUP_COLOR_SGIS = $8356;
-var
- glPixelTexGenParameteriSGIS: procedure(pname: GLenum; param: GLint); extdecl;
- glPixelTexGenParameterfSGIS: procedure(pname: GLenum; param: GLfloat); extdecl;
- glGetPixelTexGenParameterivSGIS: procedure(pname: GLenum; params: GLint); extdecl;
- glGetPixelTexGenParameterfvSGIS: procedure(pname: GLenum; params: GLfloat); extdecl;
-
-function Load_GL_SGIS_pixel_texture: Boolean;
-
-//***** GL_SGIS_texture_border_clamp *****//
- // GL_CLAMP_TO_BORDER_SGIS { already defined }
-
-function Load_GL_SGIS_texture_border_clamp: Boolean;
-
-//***** GL_SGIS_texture_color_mask *****//
-const
- GL_TEXTURE_COLOR_WRITEMASK_SGIS = $81EF;
-var
- glTextureColorMaskSGIS: procedure(r: GLboolean; g: GLboolean; b: GLboolean; a: GLboolean); extdecl;
-
-function Load_GL_SGIS_texture_color_mask: Boolean;
-
-//***** GL_SGIS_texture_edge_clamp *****//
-const
- GL_CLAMP_TO_EDGE_SGIS = $812F;
-
-function Load_GL_SGIS_texture_edge_clamp: Boolean;
-
-//***** GL_SGIS_texture_lod *****//
-const
- GL_TEXTURE_MIN_LOD_SGIS = $813A;
- GL_TEXTURE_MAX_LOD_SGIS = $813B;
- GL_TEXTURE_BASE_LEVEL_SGIS = $813C;
- GL_TEXTURE_MAX_LEVEL_SGIS = $813D;
-
-function Load_GL_SGIS_texture_lod: Boolean;
-
-//***** GL_SGIS_depth_texture *****//
-const
- GL_DEPTH_COMPONENT16_SGIX = $81A5;
- GL_DEPTH_COMPONENT24_SGIX = $81A6;
- GL_DEPTH_COMPONENT32_SGIX = $81A7;
-
-function Load_GL_SGIS_depth_texture: Boolean;
-
-//***** GL_SGIX_fog_offset *****//
-const
- GL_FOG_OFFSET_SGIX = $8198;
- GL_FOG_OFFSET_VALUE_SGIX = $8199;
-
-function Load_GL_SGIX_fog_offset: Boolean;
-
-//***** GL_SGIX_interlace *****//
-const
- GL_INTERLACE_SGIX = $8094;
-
-function Load_GL_SGIX_interlace: Boolean;
-
-//***** GL_SGIX_shadow_ambient *****//
-const
- GL_SHADOW_AMBIENT_SGIX = $80BF;
-
-function Load_GL_SGIX_shadow_ambient: Boolean;
-
-//***** GL_SGI_color_matrix *****//
-const
- GL_COLOR_MATRIX_SGI = $80B1;
- GL_COLOR_MATRIX_STACK_DEPTH_SGI = $80B2;
- GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI = $80B3;
- GL_POST_COLOR_MATRIX_RED_SCALE_SGI = $80B4;
- GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI = $80B5;
- GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI = $80B6;
- GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI = $80B7;
- GL_POST_COLOR_MATRIX_RED_BIAS_SGI = $80B8;
- GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI = $80B9;
- GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI = $80BA;
- GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI = $80BB;
-
-function Load_GL_SGI_color_matrix: Boolean;
-
-//***** GL_SGI_color_table *****//
-const
- GL_COLOR_TABLE_SGI = $80D0;
- GL_POST_CONVOLUTION_COLOR_TABLE_SGI = $80D1;
- GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI = $80D2;
- GL_PROXY_COLOR_TABLE_SGI = $80D3;
- GL_PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI = $80D4;
- GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI = $80D5;
- GL_COLOR_TABLE_SCALE_SGI = $80D6;
- GL_COLOR_TABLE_BIAS_SGI = $80D7;
- GL_COLOR_TABLE_FORMAT_SGI = $80D8;
- GL_COLOR_TABLE_WIDTH_SGI = $80D9;
- GL_COLOR_TABLE_RED_SIZE_SGI = $80DA;
- GL_COLOR_TABLE_GREEN_SIZE_SGI = $80DB;
- GL_COLOR_TABLE_BLUE_SIZE_SGI = $80DC;
- GL_COLOR_TABLE_ALPHA_SIZE_SGI = $80DD;
- GL_COLOR_TABLE_LUMINANCE_SIZE_SGI = $80DE;
- GL_COLOR_TABLE_INTENSITY_SIZE_SGI = $80DF;
-var
- glColorTableSGI: procedure(target: GLenum; internalformat: GLenum; width: GLsizei; format: GLenum; _type: GLenum; const table: PGLvoid); extdecl;
- glCopyColorTableSGI: procedure(target: GLenum; internalformat: GLenum; x: GLint; y: GLint; width: GLsizei); extdecl;
- glColorTableParameterivSGI: procedure(target: GLenum; pname: GLenum; const params: PGLint); extdecl;
- glColorTableParameterfvSGI: procedure(target: GLenum; pname: GLenum; const params: PGLfloat); extdecl;
- glGetColorTableSGI: procedure(target: GLenum; format: GLenum; _type: GLenum; table: PGLvoid); extdecl;
- glGetColorTableParameterivSGI: procedure(target: GLenum; pname: GLenum; params: PGLint); extdecl;
- glGetColorTableParameterfvSGI: procedure(target: GLenum; pname: GLenum; params: PGLfloat); extdecl;
-
-function Load_GL_SGI_color_table: Boolean;
-
-//***** GL_SGI_texture_color_table *****//
-const
- GL_TEXTURE_COLOR_TABLE_SGI = $80BC;
- GL_PROXY_TEXTURE_COLOR_TABLE_SGI = $80BD;
-
-function Load_GL_SGI_texture_color_table: Boolean;
-
-//***** GL_SUN_vertex *****//
-var
- glColor4ubVertex2fSUN: procedure(r: GLubyte; g: GLubyte; b: GLubyte; a: GLubyte; x: GLfloat; y: GLfloat); extdecl;
- glColor4ubVertex2fvSUN: procedure(const c: PGLubyte; const v: PGLfloat); extdecl;
- glColor4ubVertex3fSUN: procedure(r: GLubyte; g: GLubyte; b: GLubyte; a: GLubyte; x: GLfloat; y: GLfloat; z: GLfloat); extdecl;
- glColor4ubVertex3fvSUN: procedure(const c: PGLubyte; const v: PGLfloat); extdecl;
- glColor3fVertex3fSUN: procedure(r: GLfloat; g: GLfloat; b: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); extdecl;
- glColor3fVertex3fvSUN: procedure(const c: PGLfloat; const v: PGLfloat); extdecl;
- glNormal3fVertex3fSUN: procedure(nx: GLfloat; ny: GLfloat; nz: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); extdecl;
- glNormal3fVertex3fvSUN: procedure(const n: PGLfloat; const v: PGLfloat); extdecl;
- glColor4fNormal3fVertex3fSUN: procedure(r: GLfloat; g: GLfloat; b: GLfloat; a: GLfloat; nx: GLfloat; ny: GLfloat; nz: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); extdecl;
- glColor4fNormal3fVertex3fvSUN: procedure(const c: PGLfloat; const n: PGLfloat; const v: PGLfloat); extdecl;
- glTexCoord2fVertex3fSUN: procedure(s: GLfloat; t: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); extdecl;
- glTexCoord2fVertex3fvSUN: procedure(const tc: PGLfloat; const v: PGLfloat); extdecl;
- glTexCoord4fVertex4fSUN: procedure(s: GLfloat; t: GLfloat; p: GLfloat; q: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); extdecl;
- glTexCoord4fVertex4fvSUN: procedure(const tc: PGLfloat; const v: PGLfloat); extdecl;
- glTexCoord2fColor4ubVertex3fSUN: procedure(s: GLfloat; t: GLfloat; r: GLubyte; g: GLubyte; b: GLubyte; a: GLubyte; x: GLfloat; y: GLfloat; z: GLfloat); extdecl;
- glTexCoord2fColor4ubVertex3fvSUN: procedure(const tc: PGLfloat; const c: PGLubyte; const v: PGLfloat); extdecl;
- glTexCoord2fColor3fVertex3fSUN: procedure(s: GLfloat; t: GLfloat; r: GLfloat; g: GLfloat; b: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); extdecl;
- glTexCoord2fColor3fVertex3fvSUN: procedure(const tc: PGLfloat; const c: PGLfloat; const v: PGLfloat); extdecl;
- glTexCoord2fNormal3fVertex3fSUN: procedure(s: GLfloat; t: GLfloat; nx: GLfloat; ny: GLfloat; nz: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); extdecl;
- glTexCoord2fNormal3fVertex3fvSUN: procedure(const tc: PGLfloat; const n: PGLfloat; const v: PGLfloat); extdecl;
- glTexCoord2fColor4fNormal3fVertex3fSUN: procedure(s: GLfloat; t: GLfloat; r: GLfloat; g: GLfloat; b: GLfloat; a: GLfloat; nx: GLfloat; ny: GLfloat; nz: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); extdecl;
- glTexCoord2fColor4fNormal3fVertex3fvSUN: procedure(const tc: PGLfloat; const c: PGLfloat; const n: PGLfloat; const v: PGLfloat); extdecl;
- glTexCoord4fColor4fNormal3fVertex4fSUN: procedure(s: GLfloat; t: GLfloat; p: GLfloat; q: GLfloat; r: GLfloat; g: GLfloat; b: GLfloat; a: GLfloat; nx: GLfloat; ny: GLfloat; nz: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); extdecl;
- glTexCoord4fColor4fNormal3fVertex4fvSUN: procedure(const tc: PGLfloat; const c: PGLfloat; const n: PGLfloat; const v: PGLfloat); extdecl;
- glReplacementCodeuiVertex3fSUN: procedure(rc: GLuint; x: GLfloat; y: GLfloat; z: GLfloat); extdecl;
- glReplacementCodeuiVertex3fvSUN: procedure(const rc: PGLuint; const v: PGLfloat); extdecl;
- glReplacementCodeuiColor4ubVertex3fSUN: procedure(rc: GLuint; r: GLubyte; g: GLubyte; b: GLubyte; a: GLubyte; x: GLfloat; y: GLfloat; z: GLfloat); extdecl;
- glReplacementCodeuiColor4ubVertex3fvSUN: procedure(const rc: PGLuint; const c: PGLubyte; const v: PGLfloat); extdecl;
- glReplacementCodeuiColor3fVertex3fSUN: procedure(rc: GLuint; r: GLfloat; g: GLfloat; b: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); extdecl;
- glReplacementCodeuiColor3fVertex3fvSUN: procedure(const rc: PGLuint; const c: PGLfloat; const v: PGLfloat); extdecl;
- glReplacementCodeuiNormal3fVertex3fSUN: procedure(rc: GLuint; nx: GLfloat; ny: GLfloat; nz: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); extdecl;
- glReplacementCodeuiNormal3fVertex3fvSUN: procedure(const rc: PGLuint; const n: PGLfloat; const v: PGLfloat); extdecl;
- glReplacementCodeuiColor4fNormal3fVertex3fSUN: procedure(rc: GLuint; r: GLfloat; g: GLfloat; b: GLfloat; a: GLfloat; nx: GLfloat; ny: GLfloat; nz: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); extdecl;
- glReplacementCodeuiColor4fNormal3fVertex3fvSUN: procedure(const rc: PGLuint; const c: PGLfloat; const n: PGLfloat; const v: PGLfloat); extdecl;
- glReplacementCodeuiTexCoord2fVertex3fSUN: procedure(rc: GLuint; s: GLfloat; t: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); extdecl;
- glReplacementCodeuiTexCoord2fVertex3fvSUN: procedure(const rc: PGLuint; const tc: PGLfloat; const v: PGLfloat); extdecl;
- glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN: procedure(rc: GLuint; s: GLfloat; t: GLfloat; nx: GLfloat; ny: GLfloat; nz: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); extdecl;
- glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN: procedure(const rc: PGLuint; const tc: PGLfloat; const n: PGLfloat; const v: PGLfloat); extdecl;
- glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN: procedure(rc: GLuint; s: GLfloat; t: GLfloat; r: GLfloat; g: GLfloat; b: GLfloat; a: GLfloat; nx: GLfloat; ny: GLfloat; nz: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); extdecl;
- glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN: procedure(const rc: PGLuint; const tc: PGLfloat; const c: PGLfloat; const n: PGLfloat; const v: PGLfloat); extdecl;
-
-function Load_GL_SUN_vertex: Boolean;
-
-//***** GL_ARB_fragment_program *****//
-const
- GL_FRAGMENT_PROGRAM_ARB = $8804;
- // GL_PROGRAM_FORMAT_ASCII_ARB { already defined }
- // GL_PROGRAM_LENGTH_ARB { already defined }
- // GL_PROGRAM_FORMAT_ARB { already defined }
- // GL_PROGRAM_BINDING_ARB { already defined }
- // GL_PROGRAM_INSTRUCTIONS_ARB { already defined }
- // GL_MAX_PROGRAM_INSTRUCTIONS_ARB { already defined }
- // GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB { already defined }
- // GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB { already defined }
- // GL_PROGRAM_TEMPORARIES_ARB { already defined }
- // GL_MAX_PROGRAM_TEMPORARIES_ARB { already defined }
- // GL_PROGRAM_NATIVE_TEMPORARIES_ARB { already defined }
- // GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB { already defined }
- // GL_PROGRAM_PARAMETERS_ARB { already defined }
- // GL_MAX_PROGRAM_PARAMETERS_ARB { already defined }
- // GL_PROGRAM_NATIVE_PARAMETERS_ARB { already defined }
- // GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB { already defined }
- // GL_PROGRAM_ATTRIBS_ARB { already defined }
- // GL_MAX_PROGRAM_ATTRIBS_ARB { already defined }
- // GL_PROGRAM_NATIVE_ATTRIBS_ARB { already defined }
- // GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB { already defined }
- // GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB { already defined }
- // GL_MAX_PROGRAM_ENV_PARAMETERS_ARB { already defined }
- // GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB { already defined }
- GL_PROGRAM_ALU_INSTRUCTIONS_ARB = $8805;
- GL_PROGRAM_TEX_INSTRUCTIONS_ARB = $8806;
- GL_PROGRAM_TEX_INDIRECTIONS_ARB = $8807;
- GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB = $8808;
- GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB = $8809;
- GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB = $880A;
- GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB = $880B;
- GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB = $880C;
- GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB = $880D;
- GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB = $880E;
- GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB = $880F;
- GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB = $8810;
- // GL_PROGRAM_STRING_ARB { already defined }
- // GL_PROGRAM_ERROR_POSITION_ARB { already defined }
- // GL_CURRENT_MATRIX_ARB { already defined }
- // GL_TRANSPOSE_CURRENT_MATRIX_ARB { already defined }
- // GL_CURRENT_MATRIX_STACK_DEPTH_ARB { already defined }
- // GL_MAX_PROGRAM_MATRICES_ARB { already defined }
- // GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB { already defined }
- GL_MAX_TEXTURE_COORDS_ARB = $8871;
- GL_MAX_TEXTURE_IMAGE_UNITS_ARB = $8872;
- // GL_PROGRAM_ERROR_STRING_ARB { already defined }
- // GL_MATRIX0_ARB { already defined }
- // GL_MATRIX1_ARB { already defined }
- // GL_MATRIX2_ARB { already defined }
- // GL_MATRIX3_ARB { already defined }
- // GL_MATRIX4_ARB { already defined }
- // GL_MATRIX5_ARB { already defined }
- // GL_MATRIX6_ARB { already defined }
- // GL_MATRIX7_ARB { already defined }
- // GL_MATRIX8_ARB { already defined }
- // GL_MATRIX9_ARB { already defined }
- // GL_MATRIX10_ARB { already defined }
- // GL_MATRIX11_ARB { already defined }
- // GL_MATRIX12_ARB { already defined }
- // GL_MATRIX13_ARB { already defined }
- // GL_MATRIX14_ARB { already defined }
- // GL_MATRIX15_ARB { already defined }
- // GL_MATRIX16_ARB { already defined }
- // GL_MATRIX17_ARB { already defined }
- // GL_MATRIX18_ARB { already defined }
- // GL_MATRIX19_ARB { already defined }
- // GL_MATRIX20_ARB { already defined }
- // GL_MATRIX21_ARB { already defined }
- // GL_MATRIX22_ARB { already defined }
- // GL_MATRIX23_ARB { already defined }
- // GL_MATRIX24_ARB { already defined }
- // GL_MATRIX25_ARB { already defined }
- // GL_MATRIX26_ARB { already defined }
- // GL_MATRIX27_ARB { already defined }
- // GL_MATRIX28_ARB { already defined }
- // GL_MATRIX29_ARB { already defined }
- // GL_MATRIX30_ARB { already defined }
- // GL_MATRIX31_ARB { already defined }
- // glProgramStringARB { already defined }
- // glBindProgramARB { already defined }
- // glDeleteProgramsARB { already defined }
- // glGenProgramsARB { already defined }
- // glProgramEnvParameter4dARB { already defined }
- // glProgramEnvParameter4dvARB { already defined }
- // glProgramEnvParameter4fARB { already defined }
- // glProgramEnvParameter4fvARB { already defined }
- // glProgramLocalParameter4dARB { already defined }
- // glProgramLocalParameter4dvARB { already defined }
- // glProgramLocalParameter4fARB { already defined }
- // glProgramLocalParameter4fvARB { already defined }
- // glGetProgramEnvParameterdvARB { already defined }
- // glGetProgramEnvParameterfvARB { already defined }
- // glGetProgramLocalParameterdvARB { already defined }
- // glGetProgramLocalParameterfvARB { already defined }
- // glGetProgramivARB { already defined }
- // glGetProgramStringARB { already defined }
- // glIsProgramARB { already defined }
-
-function Load_GL_ARB_fragment_program: Boolean;
-
-{***** GL_ATI_text_fragment_shader *****}
-const
- GL_TEXT_FRAGMENT_SHADER_ATI = $8200;
-
-{***** GL_ARB_vertex_buffer_object *****}
-const
- GL_BUFFER_SIZE_ARB = $8764;
- GL_BUFFER_USAGE_ARB = $8765;
- GL_ARRAY_BUFFER_ARB = $8892;
- GL_ELEMENT_ARRAY_BUFFER_ARB = $8893;
- GL_ARRAY_BUFFER_BINDING_ARB = $8894;
- GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB = $8895;
- GL_VERTEX_ARRAY_BUFFER_BINDING_ARB = $8896;
- GL_NORMAL_ARRAY_BUFFER_BINDING_ARB = $8897;
- GL_COLOR_ARRAY_BUFFER_BINDING_ARB = $8898;
- GL_INDEX_ARRAY_BUFFER_BINDING_ARB = $8899;
- GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB = $889A;
- GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB = $889B;
- GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB = $889C;
- GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB = $889D;
- GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB = $889E;
- GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB = $889F;
- GL_READ_ONLY_ARB = $88B8;
- GL_WRITE_ONLY_ARB = $88B9;
- GL_READ_WRITE_ARB = $88BA;
- GL_BUFFER_ACCESS_ARB = $88BB;
- GL_BUFFER_MAPPED_ARB = $88BC;
- GL_BUFFER_MAP_POINTER_ARB = $88BD;
- GL_STREAM_DRAW_ARB = $88E0;
- GL_STREAM_READ_ARB = $88E1;
- GL_STREAM_COPY_ARB = $88E2;
- GL_STATIC_DRAW_ARB = $88E4;
- GL_STATIC_READ_ARB = $88E5;
- GL_STATIC_COPY_ARB = $88E6;
- GL_DYNAMIC_DRAW_ARB = $88E8;
- GL_DYNAMIC_READ_ARB = $88E9;
- GL_DYNAMIC_COPY_ARB = $88EA;
-
-var
- glBindBufferARB : procedure(target : GLenum; buffer: GLuint); extdecl;
- glDeleteBuffersARB : procedure(n : GLsizei; buffers : PGLuint); extdecl;
- glGenBuffersARB : procedure(n : GLsizei; buffers : PGLuint); extdecl;
- glIsBufferARB : function (buffer : GLuint) :GLboolean; extdecl;
- glBufferDataARB : procedure(target : GLenum; size:GLsizei; data:PGLvoid;usage: GLenum); extdecl;
- glBufferSubDataARB : procedure(target : GLenum; offset :GLint; size : GLsizei; data: PGLvoid); extdecl;
- glGetBufferSubDataARB : procedure(target : GLenum; offset :GLint; size : GLsizei; data: PGLvoid); extdecl;
- glMapBufferARB : function (target :GLenum; access: GLenum) : PGLvoid; extdecl;
- glUnmapBufferARB : function (target :GLenum) :GLboolean; extdecl;
- glGetBufferParameterivARB:procedure(target:GLenum; pname:GLenum; params:PGLint); extdecl;
- glGetBufferPointervARB : procedure(target: GLenum; pname:GLenum; params: PPGLvoid); extdecl;
- function Load_GL_ARB_vertex_buffer_object : boolean;
-
-function Load_GL_ATI_text_fragment_shader: Boolean;
-
-//***** GL_APPLE_client_storage *****//
-const
- GL_UNPACK_CLIENT_STORAGE_APPLE = $85B2;
-
-function Load_GL_APPLE_client_storage: Boolean;
-
-//***** GL_APPLE_element_array *****//
-const
- GL_ELEMENT_ARRAY_APPLE = $8768;
- GL_ELEMENT_ARRAY_TYPE_APPLE = $8769;
- GL_ELEMENT_ARRAY_POINTER_APPLE = $876A;
-var
- glElementPointerAPPLE: procedure(_type: GLenum; const pointer: PGLvoid); extdecl;
- glDrawElementArrayAPPLE: procedure(mode: GLenum; first: GLint; count: GLsizei); extdecl;
- glDrawRangeElementArrayAPPLE: procedure(mode: GLenum; start: GLuint; _end: GLuint; first: GLint; count: GLsizei); extdecl;
- glMultiDrawElementArrayAPPLE: procedure(mode: GLenum; const first: PGLint; const count: PGLsizei; primcount: GLsizei); extdecl;
- glMultiDrawRangeElementArrayAPPLE: procedure(mode: GLenum; start: GLuint; _end: GLuint; const first: PGLint; const count: PGLsizei; primcount: GLsizei); extdecl;
-
-function Load_GL_APPLE_element_array: Boolean;
-
-//***** GL_APPLE_fence *****//
-const
- GL_DRAW_PIXELS_APPLE = $8A0A;
- GL_FENCE_APPLE = $8A0B;
-var
- glGenFencesAPPLE: procedure(n: GLsizei; fences: PGLuint); extdecl;
- glDeleteFencesAPPLE: procedure(n: GLsizei; const fences: PGLuint); extdecl;
- glSetFenceAPPLE: procedure(fence: GLuint); extdecl;
- glIsFenceAPPLE: function(fence: GLuint): GLboolean; extdecl;
- glTestFenceAPPLE: function(fence: GLuint): GLboolean; extdecl;
- glFinishFenceAPPLE: procedure(fence: GLuint); extdecl;
- glTestObjectAPPLE: function(_object: GLenum; name: GLuint): GLboolean; extdecl;
- glFinishObjectAPPLE: procedure(_object: GLenum; name: GLint); extdecl;
-
-function Load_GL_APPLE_fence: Boolean;
-
-//***** GL_APPLE_vertex_array_object *****//
-const
- GL_VERTEX_ARRAY_BINDING_APPLE = $85B5;
-var
- glBindVertexArrayAPPLE: procedure(_array: GLuint); extdecl;
- glDeleteVertexArraysAPPLE: procedure(n: GLsizei; const arrays: PGLuint); extdecl;
- glGenVertexArraysAPPLE: procedure(n: GLsizei; const arrays: PGLuint); extdecl;
- glIsVertexArrayAPPLE: function(_array: GLuint): GLboolean; extdecl;
-
-function Load_GL_APPLE_vertex_array_object: Boolean;
-
-//***** GL_APPLE_vertex_array_range *****//
-const
- GL_VERTEX_ARRAY_RANGE_APPLE = $851D;
- GL_VERTEX_ARRAY_RANGE_LENGTH_APPLE = $851E;
- GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_APPLE = $8520;
- GL_VERTEX_ARRAY_RANGE_POINTER_APPLE = $8521;
- GL_VERTEX_ARRAY_STORAGE_HINT_APPLE = $851F;
- GL_STORAGE_CACHED_APPLE = $85BE;
- GL_STORAGE_SHARED_APPLE = $85BF;
-var
- glVertexArrayRangeAPPLE: procedure(length: GLsizei; pointer: PGLvoid); extdecl;
- glFlushVertexArrayRangeAPPLE: procedure(length: GLsizei; pointer: PGLvoid); extdecl;
- glVertexArrayParameteriAPPLE: procedure(pname: GLenum; param: GLint); extdecl;
-
-function Load_GL_APPLE_vertex_array_range: Boolean;
-
-{$IFDEF Windows}
-//***** WGL_ARB_pixel_format *****//
-const
- WGL_NUMBER_PIXEL_FORMATS_ARB = $2000;
- WGL_DRAW_TO_WINDOW_ARB = $2001;
- WGL_DRAW_TO_BITMAP_ARB = $2002;
- WGL_ACCELERATION_ARB = $2003;
- WGL_NEED_PALETTE_ARB = $2004;
- WGL_NEED_SYSTEM_PALETTE_ARB = $2005;
- WGL_SWAP_LAYER_BUFFERS_ARB = $2006;
- WGL_SWAP_METHOD_ARB = $2007;
- WGL_NUMBER_OVERLAYS_ARB = $2008;
- WGL_NUMBER_UNDERLAYS_ARB = $2009;
- WGL_TRANSPARENT_ARB = $200A;
- WGL_TRANSPARENT_RED_VALUE_ARB = $2037;
- WGL_TRANSPARENT_GREEN_VALUE_ARB = $2038;
- WGL_TRANSPARENT_BLUE_VALUE_ARB = $2039;
- WGL_TRANSPARENT_ALPHA_VALUE_ARB = $203A;
- WGL_TRANSPARENT_INDEX_VALUE_ARB = $203B;
- WGL_SHARE_DEPTH_ARB = $200C;
- WGL_SHARE_STENCIL_ARB = $200D;
- WGL_SHARE_ACCUM_ARB = $200E;
- WGL_SUPPORT_GDI_ARB = $200F;
- WGL_SUPPORT_OPENGL_ARB = $2010;
- WGL_DOUBLE_BUFFER_ARB = $2011;
- WGL_STEREO_ARB = $2012;
- WGL_PIXEL_TYPE_ARB = $2013;
- WGL_COLOR_BITS_ARB = $2014;
- WGL_RED_BITS_ARB = $2015;
- WGL_RED_SHIFT_ARB = $2016;
- WGL_GREEN_BITS_ARB = $2017;
- WGL_GREEN_SHIFT_ARB = $2018;
- WGL_BLUE_BITS_ARB = $2019;
- WGL_BLUE_SHIFT_ARB = $201A;
- WGL_ALPHA_BITS_ARB = $201B;
- WGL_ALPHA_SHIFT_ARB = $201C;
- WGL_ACCUM_BITS_ARB = $201D;
- WGL_ACCUM_RED_BITS_ARB = $201E;
- WGL_ACCUM_GREEN_BITS_ARB = $201F;
- WGL_ACCUM_BLUE_BITS_ARB = $2020;
- WGL_ACCUM_ALPHA_BITS_ARB = $2021;
- WGL_DEPTH_BITS_ARB = $2022;
- WGL_STENCIL_BITS_ARB = $2023;
- WGL_AUX_BUFFERS_ARB = $2024;
- WGL_NO_ACCELERATION_ARB = $2025;
- WGL_GENERIC_ACCELERATION_ARB = $2026;
- WGL_FULL_ACCELERATION_ARB = $2027;
- WGL_SWAP_EXCHANGE_ARB = $2028;
- WGL_SWAP_COPY_ARB = $2029;
- WGL_SWAP_UNDEFINED_ARB = $202A;
- WGL_TYPE_RGBA_ARB = $202B;
- WGL_TYPE_COLORINDEX_ARB = $202C;
-var
- wglGetPixelFormatAttribivARB: function(hdc: HDC; iPixelFormat: GLint; iLayerPlane: GLint; nAttributes: GLuint; const piAttributes: PGLint; piValues: PGLint): BOOL; extdecl;
- wglGetPixelFormatAttribfvARB: function(hdc: HDC; iPixelFormat: GLint; iLayerPlane: GLint; nAttributes: GLuint; const piAttributes: PGLint; pfValues: PGLfloat): BOOL; extdecl;
- wglChoosePixelFormatARB: function(hdc: HDC; const piAttribIList: PGLint; const pfAttribFList: PGLfloat; nMaxFormats: GLuint; piFormats: PGLint; nNumFormats: PGLuint): BOOL; extdecl;
-
-function Load_WGL_ARB_pixel_format: Boolean;
-
-//***** WGL_ARB_make_current_read *****//
-const
- WGL_ERROR_INVALID_PIXEL_TYPE_ARB = $2043;
- WGL_ERROR_INCOMPATIBLE_DEVICE_CONTEXTS_ARB = $2054;
-var
- wglMakeContextCurrentARB: function(hDrawDC: HDC; hReadDC: HDC; hglrc: HGLRC): BOOL; extdecl;
- wglGetCurrentReadDCARB: function(): HDC; extdecl;
-
-function Load_WGL_ARB_make_current_read: Boolean;
-
-//***** WGL_ARB_pbuffer *****//
-const
- WGL_DRAW_TO_PBUFFER_ARB = $202D;
- // WGL_DRAW_TO_PBUFFER_ARB { already defined }
- WGL_MAX_PBUFFER_PIXELS_ARB = $202E;
- WGL_MAX_PBUFFER_WIDTH_ARB = $202F;
- WGL_MAX_PBUFFER_HEIGHT_ARB = $2030;
- WGL_PBUFFER_LARGEST_ARB = $2033;
- WGL_PBUFFER_WIDTH_ARB = $2034;
- WGL_PBUFFER_HEIGHT_ARB = $2035;
- WGL_PBUFFER_LOST_ARB = $2036;
-var
- wglCreatePbufferARB: function(hDC: HDC; iPixelFormat: GLint; iWidth: GLint; iHeight: GLint; const piAttribList: PGLint): THandle; extdecl;
- wglGetPbufferDCARB: function(hPbuffer: THandle): HDC; extdecl;
- wglReleasePbufferDCARB: function(hPbuffer: THandle; hDC: HDC): GLint; extdecl;
- wglDestroyPbufferARB: function(hPbuffer: THandle): BOOL; extdecl;
- wglQueryPbufferARB: function(hPbuffer: THandle; iAttribute: GLint; piValue: PGLint): BOOL; extdecl;
-
-function Load_WGL_ARB_pbuffer: Boolean;
-
-//***** WGL_EXT_swap_control *****//
-var
- wglSwapIntervalEXT: function(interval: GLint): BOOL; extdecl;
- wglGetSwapIntervalEXT: function(): GLint; extdecl;
-
-function Load_WGL_EXT_swap_control: Boolean;
-
-//***** WGL_ARB_render_texture *****//
-const
- WGL_BIND_TO_TEXTURE_RGB_ARB = $2070;
- WGL_BIND_TO_TEXTURE_RGBA_ARB = $2071;
- WGL_TEXTURE_FORMAT_ARB = $2072;
- WGL_TEXTURE_TARGET_ARB = $2073;
- WGL_MIPMAP_TEXTURE_ARB = $2074;
- WGL_TEXTURE_RGB_ARB = $2075;
- WGL_TEXTURE_RGBA_ARB = $2076;
- WGL_NO_TEXTURE_ARB = $2077;
- WGL_TEXTURE_CUBE_MAP_ARB = $2078;
- WGL_TEXTURE_1D_ARB = $2079;
- WGL_TEXTURE_2D_ARB = $207A;
- // WGL_NO_TEXTURE_ARB { already defined }
- WGL_MIPMAP_LEVEL_ARB = $207B;
- WGL_CUBE_MAP_FACE_ARB = $207C;
- WGL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB = $207D;
- WGL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB = $207E;
- WGL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB = $207F;
- WGL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB = $2080;
- WGL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB = $2081;
- WGL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB = $2082;
- WGL_FRONT_LEFT_ARB = $2083;
- WGL_FRONT_RIGHT_ARB = $2084;
- WGL_BACK_LEFT_ARB = $2085;
- WGL_BACK_RIGHT_ARB = $2086;
- WGL_AUX0_ARB = $2087;
- WGL_AUX1_ARB = $2088;
- WGL_AUX2_ARB = $2089;
- WGL_AUX3_ARB = $208A;
- WGL_AUX4_ARB = $208B;
- WGL_AUX5_ARB = $208C;
- WGL_AUX6_ARB = $208D;
- WGL_AUX7_ARB = $208E;
- WGL_AUX8_ARB = $208F;
- WGL_AUX9_ARB = $2090;
-var
- wglBindTexImageARB: function(hPbuffer: THandle; iBuffer: GLint): BOOL; extdecl;
- wglReleaseTexImageARB: function(hPbuffer: THandle; iBuffer: GLint): BOOL; extdecl;
- wglSetPbufferAttribARB: function(hPbuffer: THandle; const piAttribList: PGLint): BOOL; extdecl;
-
-function Load_WGL_ARB_render_texture: Boolean;
-
-//***** WGL_EXT_extensions_string *****//
-var
- wglGetExtensionsStringEXT: function(): Pchar; extdecl;
-
-function Load_WGL_EXT_extensions_string: Boolean;
-
-//***** WGL_EXT_make_current_read *****//
-var
- wglMakeContextCurrentEXT: function(hDrawDC: HDC; hReadDC: HDC; hglrc: HGLRC): BOOL; extdecl;
- wglGetCurrentReadDCEXT: function(): HDC; extdecl;
-
-function Load_WGL_EXT_make_current_read: Boolean;
-
-//***** WGL_EXT_pbuffer *****//
-const
- WGL_DRAW_TO_PBUFFER_EXT = $202D;
- WGL_MAX_PBUFFER_PIXELS_EXT = $202E;
- WGL_MAX_PBUFFER_WIDTH_EXT = $202F;
- WGL_MAX_PBUFFER_HEIGHT_EXT = $2030;
- WGL_OPTIMAL_PBUFFER_WIDTH_EXT = $2031;
- WGL_OPTIMAL_PBUFFER_HEIGHT_EXT = $2032;
- WGL_PBUFFER_LARGEST_EXT = $2033;
- WGL_PBUFFER_WIDTH_EXT = $2034;
- WGL_PBUFFER_HEIGHT_EXT = $2035;
-var
- wglCreatePbufferEXT: function(hDC: HDC; iPixelFormat: GLint; iWidth: GLint; iHeight: GLint; const piAttribList: PGLint): THandle; extdecl;
- wglGetPbufferDCEXT: function(hPbuffer: THandle): HDC; extdecl;
- wglReleasePbufferDCEXT: function(hPbuffer: THandle; hDC: HDC): GLint; extdecl;
- wglDestroyPbufferEXT: function(hPbuffer: THandle): BOOL; extdecl;
- wglQueryPbufferEXT: function(hPbuffer: THandle; iAttribute: GLint; piValue: PGLint): BOOL; extdecl;
-
-function Load_WGL_EXT_pbuffer: Boolean;
-
-//***** WGL_EXT_pixel_format *****//
-const
- WGL_NUMBER_PIXEL_FORMATS_EXT = $2000;
- WGL_DRAW_TO_WINDOW_EXT = $2001;
- WGL_DRAW_TO_BITMAP_EXT = $2002;
- WGL_ACCELERATION_EXT = $2003;
- WGL_NEED_PALETTE_EXT = $2004;
- WGL_NEED_SYSTEM_PALETTE_EXT = $2005;
- WGL_SWAP_LAYER_BUFFERS_EXT = $2006;
- WGL_SWAP_METHOD_EXT = $2007;
- WGL_NUMBER_OVERLAYS_EXT = $2008;
- WGL_NUMBER_UNDERLAYS_EXT = $2009;
- WGL_TRANSPARENT_EXT = $200A;
- WGL_TRANSPARENT_VALUE_EXT = $200B;
- WGL_SHARE_DEPTH_EXT = $200C;
- WGL_SHARE_STENCIL_EXT = $200D;
- WGL_SHARE_ACCUM_EXT = $200E;
- WGL_SUPPORT_GDI_EXT = $200F;
- WGL_SUPPORT_OPENGL_EXT = $2010;
- WGL_DOUBLE_BUFFER_EXT = $2011;
- WGL_STEREO_EXT = $2012;
- WGL_PIXEL_TYPE_EXT = $2013;
- WGL_COLOR_BITS_EXT = $2014;
- WGL_RED_BITS_EXT = $2015;
- WGL_RED_SHIFT_EXT = $2016;
- WGL_GREEN_BITS_EXT = $2017;
- WGL_GREEN_SHIFT_EXT = $2018;
- WGL_BLUE_BITS_EXT = $2019;
- WGL_BLUE_SHIFT_EXT = $201A;
- WGL_ALPHA_BITS_EXT = $201B;
- WGL_ALPHA_SHIFT_EXT = $201C;
- WGL_ACCUM_BITS_EXT = $201D;
- WGL_ACCUM_RED_BITS_EXT = $201E;
- WGL_ACCUM_GREEN_BITS_EXT = $201F;
- WGL_ACCUM_BLUE_BITS_EXT = $2020;
- WGL_ACCUM_ALPHA_BITS_EXT = $2021;
- WGL_DEPTH_BITS_EXT = $2022;
- WGL_STENCIL_BITS_EXT = $2023;
- WGL_AUX_BUFFERS_EXT = $2024;
- WGL_NO_ACCELERATION_EXT = $2025;
- WGL_GENERIC_ACCELERATION_EXT = $2026;
- WGL_FULL_ACCELERATION_EXT = $2027;
- WGL_SWAP_EXCHANGE_EXT = $2028;
- WGL_SWAP_COPY_EXT = $2029;
- WGL_SWAP_UNDEFINED_EXT = $202A;
- WGL_TYPE_RGBA_EXT = $202B;
- WGL_TYPE_COLORINDEX_EXT = $202C;
-var
- wglGetPixelFormatAttribivEXT: function(hdc: HDC; iPixelFormat: GLint; iLayerPlane: GLint; nAttributes: GLuint; piAttributes: PGLint; piValues: PGLint): BOOL; extdecl;
- wglGetPixelFormatAttribfvEXT: function(hdc: HDC; iPixelFormat: GLint; iLayerPlane: GLint; nAttributes: GLuint; piAttributes: PGLint; pfValues: PGLfloat): BOOL; extdecl;
- wglChoosePixelFormatEXT: function(hdc: HDC; const piAttribIList: PGLint; const pfAttribFList: PGLfloat; nMaxFormats: GLuint; piFormats: PGLint; nNumFormats: PGLuint): BOOL; extdecl;
-
-function Load_WGL_EXT_pixel_format: Boolean;
-
-//***** WGL_I3D_digital_video_control *****//
-const
- WGL_DIGITAL_VIDEO_CURSOR_ALPHA_FRAMEBUFFER_I3D = $2050;
- WGL_DIGITAL_VIDEO_CURSOR_ALPHA_VALUE_I3D = $2051;
- WGL_DIGITAL_VIDEO_CURSOR_INCLUDED_I3D = $2052;
- WGL_DIGITAL_VIDEO_GAMMA_CORRECTED_I3D = $2053;
-var
- wglGetDigitalVideoParametersI3D: function(hDC: HDC; iAttribute: GLint; piValue: PGLint): BOOL; extdecl;
- wglSetDigitalVideoParametersI3D: function(hDC: HDC; iAttribute: GLint; const piValue: PGLint): BOOL; extdecl;
-
-function Load_WGL_I3D_digital_video_control: Boolean;
-
-//***** WGL_I3D_gamma *****//
-const
- WGL_GAMMA_TABLE_SIZE_I3D = $204E;
- WGL_GAMMA_EXCLUDE_DESKTOP_I3D = $204F;
- // WGL_GAMMA_EXCLUDE_DESKTOP_I3D { already defined }
-var
- wglGetGammaTableParametersI3D: function(hDC: HDC; iAttribute: GLint; piValue: PGLint): BOOL; extdecl;
- wglSetGammaTableParametersI3D: function(hDC: HDC; iAttribute: GLint; const piValue: PGLint): BOOL; extdecl;
- wglGetGammaTableI3D: function(hDC: HDC; iEntries: GLint; puRed: PGLUSHORT; puGreen: PGLUSHORT; puBlue: PGLUSHORT): BOOL; extdecl;
- wglSetGammaTableI3D: function(hDC: HDC; iEntries: GLint; const puRed: PGLUSHORT; const puGreen: PGLUSHORT; const puBlue: PGLUSHORT): BOOL; extdecl;
-
-function Load_WGL_I3D_gamma: Boolean;
-
-//***** WGL_I3D_genlock *****//
-const
- WGL_GENLOCK_SOURCE_MULTIVIEW_I3D = $2044;
- WGL_GENLOCK_SOURCE_EXTERNAL_SYNC_I3D = $2045;
- WGL_GENLOCK_SOURCE_EXTERNAL_FIELD_I3D = $2046;
- WGL_GENLOCK_SOURCE_EXTERNAL_TTL_I3D = $2047;
- WGL_GENLOCK_SOURCE_DIGITAL_SYNC_I3D = $2048;
- WGL_GENLOCK_SOURCE_DIGITAL_FIELD_I3D = $2049;
- WGL_GENLOCK_SOURCE_EDGE_FALLING_I3D = $204A;
- WGL_GENLOCK_SOURCE_EDGE_RISING_I3D = $204B;
- WGL_GENLOCK_SOURCE_EDGE_BOTH_I3D = $204C;
-var
- wglEnableGenlockI3D: function(hDC: HDC): BOOL; extdecl;
- wglDisableGenlockI3D: function(hDC: HDC): BOOL; extdecl;
- wglIsEnabledGenlockI3D: function(hDC: HDC; pFlag: PBOOL): BOOL; extdecl;
- wglGenlockSourceI3D: function(hDC: HDC; uSource: GLUINT): BOOL; extdecl;
- wglGetGenlockSourceI3D: function(hDC: HDC; uSource: PGLUINT): BOOL; extdecl;
- wglGenlockSourceEdgeI3D: function(hDC: HDC; uEdge: GLUINT): BOOL; extdecl;
- wglGetGenlockSourceEdgeI3D: function(hDC: HDC; uEdge: PGLUINT): BOOL; extdecl;
- wglGenlockSampleRateI3D: function(hDC: HDC; uRate: GLUINT): BOOL; extdecl;
- wglGetGenlockSampleRateI3D: function(hDC: HDC; uRate: PGLUINT): BOOL; extdecl;
- wglGenlockSourceDelayI3D: function(hDC: HDC; uDelay: GLUINT): BOOL; extdecl;
- wglGetGenlockSourceDelayI3D: function(hDC: HDC; uDelay: PGLUINT): BOOL; extdecl;
- wglQueryGenlockMaxSourceDelayI3D: function(hDC: HDC; uMaxLineDelay: PGLUINT; uMaxPixelDelay: PGLUINT): BOOL; extdecl;
-
-function Load_WGL_I3D_genlock: Boolean;
-{$ENDIF}
-
-//***** GL_ARB_matrix_palette *****//
-const
- GL_MATRIX_PALETTE_ARB = $8840;
- GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB = $8841;
- GL_MAX_PALETTE_MATRICES_ARB = $8842;
- GL_CURRENT_PALETTE_MATRIX_ARB = $8843;
- GL_MATRIX_INDEX_ARRAY_ARB = $8844;
- GL_CURRENT_MATRIX_INDEX_ARB = $8845;
- GL_MATRIX_INDEX_ARRAY_SIZE_ARB = $8846;
- GL_MATRIX_INDEX_ARRAY_TYPE_ARB = $8847;
- GL_MATRIX_INDEX_ARRAY_STRIDE_ARB = $8848;
- GL_MATRIX_INDEX_ARRAY_POINTER_ARB = $8849;
-var
- glCurrentPaletteMatrixARB: procedure(index: GLint); extdecl;
- glMatrixIndexubvARB: procedure(size: GLint; indices: PGLubyte); extdecl;
- glMatrixIndexusvARB: procedure(size: GLint; indices: PGLushort); extdecl;
- glMatrixIndexuivARB: procedure(size: GLint; indices: PGLuint); extdecl;
- glMatrixIndexPointerARB: procedure(size: GLint; _type: GLenum; stride: GLsizei; pointer: PGLvoid); extdecl;
-
-function Load_GL_ARB_matrix_palette: Boolean;
-
-//***** GL_NV_element_array *****//
-const
- GL_ELEMENT_ARRAY_TYPE_NV = $8769;
- GL_ELEMENT_ARRAY_POINTER_NV = $876A;
-var
- glElementPointerNV: procedure(_type: GLenum; const pointer: PGLvoid); extdecl;
- glDrawElementArrayNV: procedure(mode: GLenum; first: GLint; count: GLsizei); extdecl;
- glDrawRangeElementArrayNV: procedure(mode: GLenum; start: GLuint; _end: GLuint; first: GLint; count: GLsizei); extdecl;
- glMultiDrawElementArrayNV: procedure(mode: GLenum; const first: PGLint; const count: PGLsizei; primcount: GLsizei); extdecl;
- glMultiDrawRangeElementArrayNV: procedure(mode: GLenum; start: GLuint; _end: GLuint; const first: PGLint; const count: PGLsizei; primcount: GLsizei); extdecl;
-
-function Load_GL_NV_element_array: Boolean;
-
-//***** GL_NV_float_buffer *****//
-const
- GL_FLOAT_R_NV = $8880;
- GL_FLOAT_RG_NV = $8881;
- GL_FLOAT_RGB_NV = $8882;
- GL_FLOAT_RGBA_NV = $8883;
- GL_FLOAT_R16_NV = $8884;
- GL_FLOAT_R32_NV = $8885;
- GL_FLOAT_RG16_NV = $8886;
- GL_FLOAT_RG32_NV = $8887;
- GL_FLOAT_RGB16_NV = $8888;
- GL_FLOAT_RGB32_NV = $8889;
- GL_FLOAT_RGBA16_NV = $888A;
- GL_FLOAT_RGBA32_NV = $888B;
- GL_TEXTURE_FLOAT_COMPONENTS_NV = $888C;
- GL_FLOAT_CLEAR_COLOR_VALUE_NV = $888D;
- GL_FLOAT_RGBA_MODE_NV = $888E;
-{$IFDEF Windows}
- WGL_FLOAT_COMPONENTS_NV = $20B0;
- WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_R_NV = $20B1;
- WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RG_NV = $20B2;
- WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGB_NV = $20B3;
- WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGBA_NV = $20B4;
- WGL_TEXTURE_FLOAT_R_NV = $20B5;
- WGL_TEXTURE_FLOAT_RG_NV = $20B6;
- WGL_TEXTURE_FLOAT_RGB_NV = $20B7;
- WGL_TEXTURE_FLOAT_RGBA_NV = $20B8;
-{$ENDIF}
-
-function Load_GL_NV_float_buffer: Boolean;
-
-//***** GL_NV_fragment_program *****//
-const
- GL_FRAGMENT_PROGRAM_NV = $8870;
- GL_MAX_TEXTURE_COORDS_NV = $8871;
- GL_MAX_TEXTURE_IMAGE_UNITS_NV = $8872;
- GL_FRAGMENT_PROGRAM_BINDING_NV = $8873;
- GL_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV = $8868;
- GL_PROGRAM_ERROR_STRING_NV = $8874;
-var
- glProgramNamedParameter4fNV: procedure(id: GLuint; len: GLsizei; const name: PGLubyte; x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); extdecl;
- glProgramNamedParameter4dNV: procedure(id: GLuint; len: GLsizei; const name: PGLubyte; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); extdecl;
- glGetProgramNamedParameterfvNV: procedure(id: GLuint; len: GLsizei; const name: PGLubyte; params: PGLfloat); extdecl;
- glGetProgramNamedParameterdvNV: procedure(id: GLuint; len: GLsizei; const name: PGLubyte; params: PGLdouble); extdecl;
- // glProgramLocalParameter4dARB { already defined }
- // glProgramLocalParameter4dvARB { already defined }
- // glProgramLocalParameter4fARB { already defined }
- // glProgramLocalParameter4fvARB { already defined }
- // glGetProgramLocalParameterdvARB { already defined }
- // glGetProgramLocalParameterfvARB { already defined }
-
-function Load_GL_NV_fragment_program: Boolean;
-
-//***** GL_NV_primitive_restart *****//
-const
- GL_PRIMITIVE_RESTART_NV = $8558;
- GL_PRIMITIVE_RESTART_INDEX_NV = $8559;
-var
- glPrimitiveRestartNV: procedure(); extdecl;
- glPrimitiveRestartIndexNV: procedure(index: GLuint); extdecl;
-
-function Load_GL_NV_primitive_restart: Boolean;
-
-//***** GL_NV_vertex_program2 *****//
-
-function Load_GL_NV_vertex_program2: Boolean;
-
-{$IFDEF Windows}
-//***** WGL_NV_render_texture_rectangle *****//
-const
- WGL_BIND_TO_TEXTURE_RECTANGLE_RGB_NV = $20A0;
- WGL_BIND_TO_TEXTURE_RECTANGLE_RGBA_NV = $20A1;
- WGL_TEXTURE_RECTANGLE_NV = $20A2;
-
-function Load_WGL_NV_render_texture_rectangle: Boolean;
-{$ENDIF}
-
-//***** GL_NV_pixel_data_range *****//
-const
- GL_WRITE_PIXEL_DATA_RANGE_NV = $8878;
- GL_READ_PIXEL_DATA_RANGE_NV = $8879;
- GL_WRITE_PIXEL_DATA_RANGE_LENGTH_NV = $887A;
- GL_READ_PIXEL_DATA_RANGE_LENGTH_NV = $887B;
- GL_WRITE_PIXEL_DATA_RANGE_POINTER_NV = $887C;
- GL_READ_PIXEL_DATA_RANGE_POINTER_NV = $887D;
-var
- glPixelDataRangeNV: procedure(target: GLenum; length: GLsizei; pointer: PGLvoid); extdecl;
- glFlushPixelDataRangeNV: procedure(target: GLenum); extdecl;
- // wglAllocateMemoryNV { already defined }
- // wglFreeMemoryNV { already defined }
-
-function Load_GL_NV_pixel_data_range: Boolean;
-
-//***** GL_EXT_texture_rectangle *****//
-const
- GL_TEXTURE_RECTANGLE_EXT = $84F5;
- GL_TEXTURE_BINDING_RECTANGLE_EXT = $84F6;
- GL_PROXY_TEXTURE_RECTANGLE_EXT = $84F7;
- GL_MAX_RECTANGLE_TEXTURE_SIZE_EXT = $84F8;
-
-function Load_GL_EXT_texture_rectangle: Boolean;
-
-//***** GL_S3_s3tc *****//
-const
- GL_RGB_S3TC = $83A0;
- GL_RGB4_S3TC = $83A1;
- GL_RGBA_S3TC = $83A2;
- GL_RGBA4_S3TC = $83A3;
-
-function Load_GL_S3_s3tc: Boolean;
-
-//***** GL_ATI_draw_buffers *****//
-const
- GL_MAX_DRAW_BUFFERS_ATI = $8824;
- GL_DRAW_BUFFER0_ATI = $8825;
- GL_DRAW_BUFFER1_ATI = $8826;
- GL_DRAW_BUFFER2_ATI = $8827;
- GL_DRAW_BUFFER3_ATI = $8828;
- GL_DRAW_BUFFER4_ATI = $8829;
- GL_DRAW_BUFFER5_ATI = $882A;
- GL_DRAW_BUFFER6_ATI = $882B;
- GL_DRAW_BUFFER7_ATI = $882C;
- GL_DRAW_BUFFER8_ATI = $882D;
- GL_DRAW_BUFFER9_ATI = $882E;
- GL_DRAW_BUFFER10_ATI = $882F;
- GL_DRAW_BUFFER11_ATI = $8830;
- GL_DRAW_BUFFER12_ATI = $8831;
- GL_DRAW_BUFFER13_ATI = $8832;
- GL_DRAW_BUFFER14_ATI = $8833;
- GL_DRAW_BUFFER15_ATI = $8834;
-var
- glDrawBuffersATI: procedure(n: GLsizei; const bufs: PGLenum); extdecl;
-
-function Load_GL_ATI_draw_buffers: Boolean;
-
-{$IFDEF Windows}
-//***** WGL_ATI_pixel_format_float *****//
-const
- WGL_RGBA_FLOAT_MODE_ATI = $8820;
- WGL_COLOR_CLEAR_UNCLAMPED_VALUE_ATI = $8835;
- WGL_TYPE_RGBA_FLOAT_ATI = $21A0;
-
-function Load_WGL_ATI_pixel_format_float: Boolean;
-{$ENDIF}
-
-//***** GL_ATI_texture_env_combine3 *****//
-const
- GL_MODULATE_ADD_ATI = $8744;
- GL_MODULATE_SIGNED_ADD_ATI = $8745;
- GL_MODULATE_SUBTRACT_ATI = $8746;
-
-function Load_GL_ATI_texture_env_combine3: Boolean;
-
-//***** GL_ATI_texture_float *****//
-const
- GL_RGBA_FLOAT32_ATI = $8814;
- GL_RGB_FLOAT32_ATI = $8815;
- GL_ALPHA_FLOAT32_ATI = $8816;
- GL_INTENSITY_FLOAT32_ATI = $8817;
- GL_LUMINANCE_FLOAT32_ATI = $8818;
- GL_LUMINANCE_ALPHA_FLOAT32_ATI = $8819;
- GL_RGBA_FLOAT16_ATI = $881A;
- GL_RGB_FLOAT16_ATI = $881B;
- GL_ALPHA_FLOAT16_ATI = $881C;
- GL_INTENSITY_FLOAT16_ATI = $881D;
- GL_LUMINANCE_FLOAT16_ATI = $881E;
- GL_LUMINANCE_ALPHA_FLOAT16_ATI = $881F;
-
-function Load_GL_ATI_texture_float: Boolean;
-
-//***** GL_NV_texture_expand_normal *****//
-const
- GL_TEXTURE_UNSIGNED_REMAP_MODE_NV = $888F;
-
-function Load_GL_NV_texture_expand_normal: Boolean;
-
-//***** GL_NV_half_float *****//
-const
- GL_HALF_FLOAT_NV = $140B;
-var
- glVertex2hNV: procedure(x: GLushort; y: GLushort); extdecl;
- glVertex2hvNV: procedure(const v: PGLushort); extdecl;
- glVertex3hNV: procedure(x: GLushort; y: GLushort; z: GLushort); extdecl;
- glVertex3hvNV: procedure(const v: PGLushort); extdecl;
- glVertex4hNV: procedure(x: GLushort; y: GLushort; z: GLushort; w: GLushort); extdecl;
- glVertex4hvNV: procedure(const v: PGLushort); extdecl;
- glNormal3hNV: procedure(nx: GLushort; ny: GLushort; nz: GLushort); extdecl;
- glNormal3hvNV: procedure(const v: PGLushort); extdecl;
- glColor3hNV: procedure(red: GLushort; green: GLushort; blue: GLushort); extdecl;
- glColor3hvNV: procedure(const v: PGLushort); extdecl;
- glColor4hNV: procedure(red: GLushort; green: GLushort; blue: GLushort; alpha: GLushort); extdecl;
- glColor4hvNV: procedure(const v: PGLushort); extdecl;
- glTexCoord1hNV: procedure(s: GLushort); extdecl;
- glTexCoord1hvNV: procedure(const v: PGLushort); extdecl;
- glTexCoord2hNV: procedure(s: GLushort; t: GLushort); extdecl;
- glTexCoord2hvNV: procedure(const v: PGLushort); extdecl;
- glTexCoord3hNV: procedure(s: GLushort; t: GLushort; r: GLushort); extdecl;
- glTexCoord3hvNV: procedure(const v: PGLushort); extdecl;
- glTexCoord4hNV: procedure(s: GLushort; t: GLushort; r: GLushort; q: GLushort); extdecl;
- glTexCoord4hvNV: procedure(const v: PGLushort); extdecl;
- glMultiTexCoord1hNV: procedure(target: GLenum; s: GLushort); extdecl;
- glMultiTexCoord1hvNV: procedure(target: GLenum; const v: PGLushort); extdecl;
- glMultiTexCoord2hNV: procedure(target: GLenum; s: GLushort; t: GLushort); extdecl;
- glMultiTexCoord2hvNV: procedure(target: GLenum; const v: PGLushort); extdecl;
- glMultiTexCoord3hNV: procedure(target: GLenum; s: GLushort; t: GLushort; r: GLushort); extdecl;
- glMultiTexCoord3hvNV: procedure(target: GLenum; const v: PGLushort); extdecl;
- glMultiTexCoord4hNV: procedure(target: GLenum; s: GLushort; t: GLushort; r: GLushort; q: GLushort); extdecl;
- glMultiTexCoord4hvNV: procedure(target: GLenum; const v: PGLushort); extdecl;
- glFogCoordhNV: procedure(fog: GLushort); extdecl;
- glFogCoordhvNV: procedure(const fog: PGLushort); extdecl;
- glSecondaryColor3hNV: procedure(red: GLushort; green: GLushort; blue: GLushort); extdecl;
- glSecondaryColor3hvNV: procedure(const v: PGLushort); extdecl;
- glVertexWeighthNV: procedure(weight: GLushort); extdecl;
- glVertexWeighthvNV: procedure(const weight: PGLushort); extdecl;
- glVertexAttrib1hNV: procedure(index: GLuint; x: GLushort); extdecl;
- glVertexAttrib1hvNV: procedure(index: GLuint; const v: PGLushort); extdecl;
- glVertexAttrib2hNV: procedure(index: GLuint; x: GLushort; y: GLushort); extdecl;
- glVertexAttrib2hvNV: procedure(index: GLuint; const v: PGLushort); extdecl;
- glVertexAttrib3hNV: procedure(index: GLuint; x: GLushort; y: GLushort; z: GLushort); extdecl;
- glVertexAttrib3hvNV: procedure(index: GLuint; const v: PGLushort); extdecl;
- glVertexAttrib4hNV: procedure(index: GLuint; x: GLushort; y: GLushort; z: GLushort; w: GLushort); extdecl;
- glVertexAttrib4hvNV: procedure(index: GLuint; const v: PGLushort); extdecl;
- glVertexAttribs1hvNV: procedure(index: GLuint; n: GLsizei; const v: PGLushort); extdecl;
- glVertexAttribs2hvNV: procedure(index: GLuint; n: GLsizei; const v: PGLushort); extdecl;
- glVertexAttribs3hvNV: procedure(index: GLuint; n: GLsizei; const v: PGLushort); extdecl;
- glVertexAttribs4hvNV: procedure(index: GLuint; n: GLsizei; const v: PGLushort); extdecl;
-
-function Load_GL_NV_half_float: Boolean;
-
-//***** GL_ATI_map_object_buffer *****//
-var
- glMapObjectBufferATI: function(buffer: GLuint): PGLvoid; extdecl;
- glUnmapObjectBufferATI: procedure(buffer: GLuint); extdecl;
-
-function Load_GL_ATI_map_object_buffer: Boolean;
-
-//***** GL_ATI_separate_stencil *****//
-const
- GL_KEEP = $1E00;
- GL_ZERO = $0000;
- GL_REPLACE = $1E01;
- GL_INCR = $1E02;
- GL_DECR = $1E03;
- GL_INVERT = $150A;
- GL_NEVER = $0200;
- GL_LESS = $0201;
- GL_LEQUAL = $0203;
- GL_GREATER = $0204;
- GL_GEQUAL = $0206;
- GL_EQUAL = $0202;
- GL_NOTEQUAL = $0205;
- GL_ALWAYS = $0207;
- GL_FRONT = $0404;
- GL_BACK = $0405;
- GL_FRONT_AND_BACK = $0408;
- GL_STENCIL_BACK_FUNC_ATI = $8800;
- GL_STENCIL_BACK_FAIL_ATI = $8801;
- GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI = $8802;
- GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI = $8803;
-var
- glStencilOpSeparateATI: procedure(face: GLenum; sfail: GLenum; dpfail: GLenum; dppass: GLenum); extdecl;
- glStencilFuncSeparateATI: procedure(frontfunc: GLenum; backfunc: GLenum; ref: GLint; mask: GLuint); extdecl;
-
-function Load_GL_ATI_separate_stencil: Boolean;
-
-//***** GL_ATI_vertex_attrib_array_object *****//
-var
- glVertexAttribArrayObjectATI: procedure(index: GLuint; size: GLint; _type: GLenum; normalized: GLboolean; stride: GLsizei; buffer: GLuint; offset: GLuint); extdecl;
- glGetVertexAttribArrayObjectfvATI: procedure(index: GLuint; pname: GLenum; params: PGLfloat); extdecl;
- glGetVertexAttribArrayObjectivATI: procedure(index: GLuint; pname: GLenum; params: PGLint); extdecl;
-
-function Load_GL_ATI_vertex_attrib_array_object: Boolean;
-
-//***** GL_ARB_occlusion_query *****//
-const
- GL_SAMPLES_PASSED_ARB = $8914;
- GL_QUERY_COUNTER_BITS_ARB = $8864;
- GL_CURRENT_QUERY_ARB = $8865;
- GL_QUERY_RESULT_ARB = $8866;
- GL_QUERY_RESULT_AVAILABLE_ARB = $8867;
-var
- glGenQueriesARB: procedure(n: GLsizei; ids: PGLuint); extdecl;
- glDeleteQueriesARB: procedure(n: GLsizei; const ids: PGLuint); extdecl;
- glIsQueryARB: function(id: GLuint): GLboolean; extdecl;
- glBeginQueryARB: procedure(target: GLenum; id: GLuint); extdecl;
- glEndQueryARB: procedure(target: GLenum); extdecl;
- glGetQueryivARB: procedure(target: GLenum; pname: GLenum; params: PGLint); extdecl;
- glGetQueryObjectivARB: procedure(id: GLuint; pname: GLenum; params: PGLint); extdecl;
- glGetQueryObjectuivARB: procedure(id: GLuint; pname: GLenum; params: PGLuint); extdecl;
-
-function Load_GL_ARB_occlusion_query: Boolean;
-
-//***** GL_ARB_shader_objects *****//
-const
- GL_PROGRAM_OBJECT_ARB = $8B40;
- GL_OBJECT_TYPE_ARB = $8B4E;
- GL_OBJECT_SUBTYPE_ARB = $8B4F;
- GL_OBJECT_DELETE_STATUS_ARB = $8B80;
- GL_OBJECT_COMPILE_STATUS_ARB = $8B81;
- GL_OBJECT_LINK_STATUS_ARB = $8B82;
- GL_OBJECT_VALIDATE_STATUS_ARB = $8B83;
- GL_OBJECT_INFO_LOG_LENGTH_ARB = $8B84;
- GL_OBJECT_ATTACHED_OBJECTS_ARB = $8B85;
- GL_OBJECT_ACTIVE_UNIFORMS_ARB = $8B86;
- GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB = $8B87;
- GL_OBJECT_SHADER_SOURCE_LENGTH_ARB = $8B88;
- GL_SHADER_OBJECT_ARB = $8B48;
- GL_FLOAT = $1406;
- GL_FLOAT_VEC2_ARB = $8B50;
- GL_FLOAT_VEC3_ARB = $8B51;
- GL_FLOAT_VEC4_ARB = $8B52;
- GL_INT = $1404;
- GL_INT_VEC2_ARB = $8B53;
- GL_INT_VEC3_ARB = $8B54;
- GL_INT_VEC4_ARB = $8B55;
- GL_BOOL_ARB = $8B56;
- GL_BOOL_VEC2_ARB = $8B57;
- GL_BOOL_VEC3_ARB = $8B58;
- GL_BOOL_VEC4_ARB = $8B59;
- GL_FLOAT_MAT2_ARB = $8B5A;
- GL_FLOAT_MAT3_ARB = $8B5B;
- GL_FLOAT_MAT4_ARB = $8B5C;
-var
- glDeleteObjectARB: procedure(obj: GLhandleARB); extdecl;
- glGetHandleARB: function(pname: GLenum): GLhandleARB; extdecl;
- glDetachObjectARB: procedure(containerObj: GLhandleARB; attachedObj: GLhandleARB); extdecl;
- glCreateShaderObjectARB: function(shaderType: GLenum): GLhandleARB; extdecl;
- glShaderSourceARB: procedure(shaderObj: GLhandleARB; count: GLsizei; const _string: PGLvoid; const length: PGLint); extdecl;
- glCompileShaderARB: procedure(shaderObj: GLhandleARB); extdecl;
- glCreateProgramObjectARB: function(): GLhandleARB; extdecl;
- glAttachObjectARB: procedure(containerObj: GLhandleARB; obj: GLhandleARB); extdecl;
- glLinkProgramARB: procedure(programObj: GLhandleARB); extdecl;
- glUseProgramObjectARB: procedure(programObj: GLhandleARB); extdecl;
- glValidateProgramARB: procedure(programObj: GLhandleARB); extdecl;
- glUniform1fARB: procedure(location: GLint; v0: GLfloat); extdecl;
- glUniform2fARB: procedure(location: GLint; v0: GLfloat; v1: GLfloat); extdecl;
- glUniform3fARB: procedure(location: GLint; v0: GLfloat; v1: GLfloat; v2: GLfloat); extdecl;
- glUniform4fARB: procedure(location: GLint; v0: GLfloat; v1: GLfloat; v2: GLfloat; v3: GLfloat); extdecl;
- glUniform1iARB: procedure(location: GLint; v0: GLint); extdecl;
- glUniform2iARB: procedure(location: GLint; v0: GLint; v1: GLint); extdecl;
- glUniform3iARB: procedure(location: GLint; v0: GLint; v1: GLint; v2: GLint); extdecl;
- glUniform4iARB: procedure(location: GLint; v0: GLint; v1: GLint; v2: GLint; v3: GLint); extdecl;
- glUniform1fvARB: procedure(location: GLint; count: GLsizei; value: PGLfloat); extdecl;
- glUniform2fvARB: procedure(location: GLint; count: GLsizei; value: PGLfloat); extdecl;
- glUniform3fvARB: procedure(location: GLint; count: GLsizei; value: PGLfloat); extdecl;
- glUniform4fvARB: procedure(location: GLint; count: GLsizei; value: PGLfloat); extdecl;
- glUniform1ivARB: procedure(location: GLint; count: GLsizei; value: PGLint); extdecl;
- glUniform2ivARB: procedure(location: GLint; count: GLsizei; value: PGLint); extdecl;
- glUniform3ivARB: procedure(location: GLint; count: GLsizei; value: PGLint); extdecl;
- glUniform4ivARB: procedure(location: GLint; count: GLsizei; value: PGLint); extdecl;
- glUniformMatrix2fvARB: procedure(location: GLint; count: GLsizei; transpose: GLboolean; value: PGLfloat); extdecl;
- glUniformMatrix3fvARB: procedure(location: GLint; count: GLsizei; transpose: GLboolean; value: PGLfloat); extdecl;
- glUniformMatrix4fvARB: procedure(location: GLint; count: GLsizei; transpose: GLboolean; value: PGLfloat); extdecl;
- glGetObjectParameterfvARB: procedure(obj: GLhandleARB; pname: GLenum; params: PGLfloat); extdecl;
- glGetObjectParameterivARB: procedure(obj: GLhandleARB; pname: GLenum; params: PGLint); extdecl;
- glGetInfoLogARB: procedure(obj: GLhandleARB; maxLength: GLsizei; length: PGLsizei; infoLog: PGLcharARB); extdecl;
- glGetAttachedObjectsARB: procedure(containerObj: GLhandleARB; maxCount: GLsizei; count: PGLsizei; obj: PGLhandleARB); extdecl;
- glGetUniformLocationARB: function(programObj: GLhandleARB; const name: PGLcharARB): GLint; extdecl;
- glGetActiveUniformARB: procedure(programObj: GLhandleARB; index: GLuint; maxLength: GLsizei; length: PGLsizei; size: PGLint; _type: PGLenum; name: PGLcharARB); extdecl;
- glGetUniformfvARB: procedure(programObj: GLhandleARB; location: GLint; params: PGLfloat); extdecl;
- glGetUniformivARB: procedure(programObj: GLhandleARB; location: GLint; params: PGLint); extdecl;
- glGetShaderSourceARB: procedure(obj: GLhandleARB; maxLength: GLsizei; length: PGLsizei; source: PGLcharARB); extdecl;
-
-function Load_GL_ARB_shader_objects: Boolean;
-
-//***** GL_ARB_vertex_shader *****//
-const
- GL_VERTEX_SHADER_ARB = $8B31;
- GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB = $8B4A;
- GL_MAX_VARYING_FLOATS_ARB = $8B4B;
- // GL_MAX_VERTEX_ATTRIBS_ARB { already defined }
- // GL_MAX_TEXTURE_IMAGE_UNITS_ARB { already defined }
- GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB = $8B4C;
- GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB = $8B4D;
- // GL_MAX_TEXTURE_COORDS_ARB { already defined }
- // GL_VERTEX_PROGRAM_POINT_SIZE_ARB { already defined }
- // GL_VERTEX_PROGRAM_TWO_SIDE_ARB { already defined }
- // GL_OBJECT_TYPE_ARB { already defined }
- // GL_OBJECT_SUBTYPE_ARB { already defined }
- GL_OBJECT_ACTIVE_ATTRIBUTES_ARB = $8B89;
- GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB = $8B8A;
- // GL_SHADER_OBJECT_ARB { already defined }
- // GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB { already defined }
- // GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB { already defined }
- // GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB { already defined }
- // GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB { already defined }
- // GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB { already defined }
- // GL_CURRENT_VERTEX_ATTRIB_ARB { already defined }
- // GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB { already defined }
- // GL_FLOAT { already defined }
- // GL_FLOAT_VEC2_ARB { already defined }
- // GL_FLOAT_VEC3_ARB { already defined }
- // GL_FLOAT_VEC4_ARB { already defined }
- // GL_FLOAT_MAT2_ARB { already defined }
- // GL_FLOAT_MAT3_ARB { already defined }
- // GL_FLOAT_MAT4_ARB { already defined }
- // glVertexAttrib1fARB { already defined }
- // glVertexAttrib1sARB { already defined }
- // glVertexAttrib1dARB { already defined }
- // glVertexAttrib2fARB { already defined }
- // glVertexAttrib2sARB { already defined }
- // glVertexAttrib2dARB { already defined }
- // glVertexAttrib3fARB { already defined }
- // glVertexAttrib3sARB { already defined }
- // glVertexAttrib3dARB { already defined }
- // glVertexAttrib4fARB { already defined }
- // glVertexAttrib4sARB { already defined }
- // glVertexAttrib4dARB { already defined }
- // glVertexAttrib4NubARB { already defined }
- // glVertexAttrib1fvARB { already defined }
- // glVertexAttrib1svARB { already defined }
- // glVertexAttrib1dvARB { already defined }
- // glVertexAttrib2fvARB { already defined }
- // glVertexAttrib2svARB { already defined }
- // glVertexAttrib2dvARB { already defined }
- // glVertexAttrib3fvARB { already defined }
- // glVertexAttrib3svARB { already defined }
- // glVertexAttrib3dvARB { already defined }
- // glVertexAttrib4fvARB { already defined }
- // glVertexAttrib4svARB { already defined }
- // glVertexAttrib4dvARB { already defined }
- // glVertexAttrib4ivARB { already defined }
- // glVertexAttrib4bvARB { already defined }
- // glVertexAttrib4ubvARB { already defined }
- // glVertexAttrib4usvARB { already defined }
- // glVertexAttrib4uivARB { already defined }
- // glVertexAttrib4NbvARB { already defined }
- // glVertexAttrib4NsvARB { already defined }
- // glVertexAttrib4NivARB { already defined }
- // glVertexAttrib4NubvARB { already defined }
- // glVertexAttrib4NusvARB { already defined }
- // glVertexAttrib4NuivARB { already defined }
- // glVertexAttribPointerARB { already defined }
- // glEnableVertexAttribArrayARB { already defined }
- // glDisableVertexAttribArrayARB { already defined }
-var
- glBindAttribLocationARB: procedure(programObj: GLhandleARB; index: GLuint; const name: PGLcharARB); extdecl;
- glGetActiveAttribARB: procedure(programObj: GLhandleARB; index: GLuint; maxLength: GLsizei; length: PGLsizei; size: PGLint; _type: PGLenum; name: PGLcharARB); extdecl;
- glGetAttribLocationARB: function(programObj: GLhandleARB; const name: PGLcharARB): GLint; extdecl;
- // glGetVertexAttribdvARB { already defined }
- // glGetVertexAttribfvARB { already defined }
- // glGetVertexAttribivARB { already defined }
- // glGetVertexAttribPointervARB { already defined }
-
-function Load_GL_ARB_vertex_shader: Boolean;
-
-//***** GL_ARB_fragment_shader *****//
-const
- GL_FRAGMENT_SHADER_ARB = $8B30;
- GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB = $8B49;
- // GL_MAX_TEXTURE_COORDS_ARB { already defined }
- // GL_MAX_TEXTURE_IMAGE_UNITS_ARB { already defined }
- // GL_OBJECT_TYPE_ARB { already defined }
- // GL_OBJECT_SUBTYPE_ARB { already defined }
- // GL_SHADER_OBJECT_ARB { already defined }
-
-function Load_GL_ARB_fragment_shader: Boolean;
-
-//***** GL_ARB_shading_language_100 *****//
-
-function Load_GL_ARB_shading_language_100: Boolean;
-
-//***** GL_ARB_texture_non_power_of_two *****//
-
-function Load_GL_ARB_texture_non_power_of_two: Boolean;
-
-//***** GL_ARB_point_sprite *****//
-const
- GL_POINT_SPRITE_ARB = $8861;
- GL_COORD_REPLACE_ARB = $8862;
-
-function Load_GL_ARB_point_sprite: Boolean;
-
-//***** GL_EXT_depth_bounds_test *****//
-const
- GL_DEPTH_BOUNDS_TEST_EXT = $8890;
- GL_DEPTH_BOUNDS_EXT = $8891;
-var
- glDepthBoundsEXT: procedure(zmin: GLclampd; zmax: GLclampd); extdecl;
-
-function Load_GL_EXT_depth_bounds_test: Boolean;
-
-//***** GL_EXT_texture_mirror_clamp *****//
-const
- GL_MIRROR_CLAMP_EXT = $8742;
- GL_MIRROR_CLAMP_TO_EDGE_EXT = $8743;
- GL_MIRROR_CLAMP_TO_BORDER_EXT = $8912;
-
-function Load_GL_EXT_texture_mirror_clamp: Boolean;
-
-//***** GL_EXT_blend_equation_separate *****//
-const
- GL_BLEND_EQUATION_RGB_EXT = $8009;
- GL_BLEND_EQUATION_ALPHA_EXT = $883D;
-var
- glBlendEquationSeparateEXT: procedure(modeRGB: GLenum; modeAlpha: GLenum); extdecl;
-
-function Load_GL_EXT_blend_equation_separate: Boolean;
-
-//***** GL_MESA_pack_invert *****//
-const
- GL_PACK_INVERT_MESA = $8758;
-
-function Load_GL_MESA_pack_invert: Boolean;
-
-//***** GL_MESA_ycbcr_texture *****//
-const
- GL_YCBCR_MESA = $8757;
- GL_UNSIGNED_SHORT_8_8_MESA = $85BA;
- GL_UNSIGNED_SHORT_8_8_REV_MESA = $85BB;
-
-function Load_GL_MESA_ycbcr_texture: Boolean;
-
-//***** GL_ARB_fragment_program_shadow *****//
-
-function Load_GL_ARB_fragment_program_shadow: Boolean;
-
-//***** GL_NV_fragment_program_option *****//
-
-function Load_GL_NV_fragment_program_option: Boolean;
-
-//***** GL_EXT_pixel_buffer_object *****//
-const
- GL_PIXEL_PACK_BUFFER_EXT = $88EB;
- GL_PIXEL_UNPACK_BUFFER_EXT = $88EC;
- GL_PIXEL_PACK_BUFFER_BINDING_EXT = $88ED;
- GL_PIXEL_UNPACK_BUFFER_BINDING_EXT = $88EF;
-
-function Load_GL_EXT_pixel_buffer_object: Boolean;
-
-//***** GL_NV_fragment_program2 *****//
-const
- GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV = $88F4;
- GL_MAX_PROGRAM_CALL_DEPTH_NV = $88F5;
- GL_MAX_PROGRAM_IF_DEPTH_NV = $88F6;
- GL_MAX_PROGRAM_LOOP_DEPTH_NV = $88F7;
- GL_MAX_PROGRAM_LOOP_COUNT_NV = $88F8;
-
-function Load_GL_NV_fragment_program2: Boolean;
-
-//***** GL_NV_vertex_program2_option *****//
- // GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV { already defined }
- // GL_MAX_PROGRAM_CALL_DEPTH_NV { already defined }
-
-function Load_GL_NV_vertex_program2_option: Boolean;
-
-//***** GL_NV_vertex_program3 *****//
- // GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB { already defined }
-
-function Load_GL_NV_vertex_program3: Boolean;
-
-//***** GL_ARB_draw_buffers *****//
-const
- GL_MAX_DRAW_BUFFERS_ARB = $8824;
- GL_DRAW_BUFFER0_ARB = $8825;
- GL_DRAW_BUFFER1_ARB = $8826;
- GL_DRAW_BUFFER2_ARB = $8827;
- GL_DRAW_BUFFER3_ARB = $8828;
- GL_DRAW_BUFFER4_ARB = $8829;
- GL_DRAW_BUFFER5_ARB = $882A;
- GL_DRAW_BUFFER6_ARB = $882B;
- GL_DRAW_BUFFER7_ARB = $882C;
- GL_DRAW_BUFFER8_ARB = $882D;
- GL_DRAW_BUFFER9_ARB = $882E;
- GL_DRAW_BUFFER10_ARB = $882F;
- GL_DRAW_BUFFER11_ARB = $8830;
- GL_DRAW_BUFFER12_ARB = $8831;
- GL_DRAW_BUFFER13_ARB = $8832;
- GL_DRAW_BUFFER14_ARB = $8833;
- GL_DRAW_BUFFER15_ARB = $8834;
-var
- glDrawBuffersARB: procedure(n: GLsizei; const bufs: PGLenum); extdecl;
-
-function Load_GL_ARB_draw_buffers: Boolean;
-
-//***** GL_ARB_texture_rectangle *****//
-const
- GL_TEXTURE_RECTANGLE_ARB = $84F5;
- GL_TEXTURE_BINDING_RECTANGLE_ARB = $84F6;
- GL_PROXY_TEXTURE_RECTANGLE_ARB = $84F7;
- GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB = $84F8;
-
-function Load_GL_ARB_texture_rectangle: Boolean;
-
-//***** GL_ARB_color_buffer_float *****//
-const
- GL_RGBA_FLOAT_MODE_ARB = $8820;
- GL_CLAMP_VERTEX_COLOR_ARB = $891A;
- GL_CLAMP_FRAGMENT_COLOR_ARB = $891B;
- GL_CLAMP_READ_COLOR_ARB = $891C;
- GL_FIXED_ONLY_ARB = $891D;
- WGL_TYPE_RGBA_FLOAT_ARB = $21A0;
-var
- glClampColorARB: procedure(target: GLenum; clamp: GLenum); extdecl;
-
-function Load_GL_ARB_color_buffer_float: Boolean;
-
-//***** GL_ARB_half_float_pixel *****//
-const
- GL_HALF_FLOAT_ARB = $140B;
-
-function Load_GL_ARB_half_float_pixel: Boolean;
-
-//***** GL_ARB_texture_float *****//
-const
- GL_TEXTURE_RED_TYPE_ARB = $8C10;
- GL_TEXTURE_GREEN_TYPE_ARB = $8C11;
- GL_TEXTURE_BLUE_TYPE_ARB = $8C12;
- GL_TEXTURE_ALPHA_TYPE_ARB = $8C13;
- GL_TEXTURE_LUMINANCE_TYPE_ARB = $8C14;
- GL_TEXTURE_INTENSITY_TYPE_ARB = $8C15;
- GL_TEXTURE_DEPTH_TYPE_ARB = $8C16;
- GL_UNSIGNED_NORMALIZED_ARB = $8C17;
- GL_RGBA32F_ARB = $8814;
- GL_RGB32F_ARB = $8815;
- GL_ALPHA32F_ARB = $8816;
- GL_INTENSITY32F_ARB = $8817;
- GL_LUMINANCE32F_ARB = $8818;
- GL_LUMINANCE_ALPHA32F_ARB = $8819;
- GL_RGBA16F_ARB = $881A;
- GL_RGB16F_ARB = $881B;
- GL_ALPHA16F_ARB = $881C;
- GL_INTENSITY16F_ARB = $881D;
- GL_LUMINANCE16F_ARB = $881E;
- GL_LUMINANCE_ALPHA16F_ARB = $881F;
-
-function Load_GL_ARB_texture_float: Boolean;
-
-//***** GL_EXT_texture_compression_dxt1 *****//
- // GL_COMPRESSED_RGB_S3TC_DXT1_EXT { already defined }
- // GL_COMPRESSED_RGBA_S3TC_DXT1_EXT { already defined }
-
-function Load_GL_EXT_texture_compression_dxt1: Boolean;
-
-//***** GL_ARB_pixel_buffer_object *****//
-const
- GL_PIXEL_PACK_BUFFER_ARB = $88EB;
- GL_PIXEL_UNPACK_BUFFER_ARB = $88EC;
- GL_PIXEL_PACK_BUFFER_BINDING_ARB = $88ED;
- GL_PIXEL_UNPACK_BUFFER_BINDING_ARB = $88EF;
-
-function Load_GL_ARB_pixel_buffer_object: Boolean;
-
-//***** GL_EXT_framebuffer_object *****//
-const
- GL_FRAMEBUFFER_EXT = $8D40;
- GL_RENDERBUFFER_EXT = $8D41;
- GL_STENCIL_INDEX_EXT = $8D45;
- GL_STENCIL_INDEX1_EXT = $8D46;
- GL_STENCIL_INDEX4_EXT = $8D47;
- GL_STENCIL_INDEX8_EXT = $8D48;
- GL_STENCIL_INDEX16_EXT = $8D49;
- GL_RENDERBUFFER_WIDTH_EXT = $8D42;
- GL_RENDERBUFFER_HEIGHT_EXT = $8D43;
- GL_RENDERBUFFER_INTERNAL_FORMAT_EXT = $8D44;
- GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT = $8CD0;
- GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT = $8CD1;
- GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT = $8CD2;
- GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT = $8CD3;
- GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT = $8CD4;
- GL_COLOR_ATTACHMENT0_EXT = $8CE0;
- GL_COLOR_ATTACHMENT1_EXT = $8CE1;
- GL_COLOR_ATTACHMENT2_EXT = $8CE2;
- GL_COLOR_ATTACHMENT3_EXT = $8CE3;
- GL_COLOR_ATTACHMENT4_EXT = $8CE4;
- GL_COLOR_ATTACHMENT5_EXT = $8CE5;
- GL_COLOR_ATTACHMENT6_EXT = $8CE6;
- GL_COLOR_ATTACHMENT7_EXT = $8CE7;
- GL_COLOR_ATTACHMENT8_EXT = $8CE8;
- GL_COLOR_ATTACHMENT9_EXT = $8CE9;
- GL_COLOR_ATTACHMENT10_EXT = $8CEA;
- GL_COLOR_ATTACHMENT11_EXT = $8CEB;
- GL_COLOR_ATTACHMENT12_EXT = $8CEC;
- GL_COLOR_ATTACHMENT13_EXT = $8CED;
- GL_COLOR_ATTACHMENT14_EXT = $8CEE;
- GL_COLOR_ATTACHMENT15_EXT = $8CEF;
- GL_DEPTH_ATTACHMENT_EXT = $8D00;
- GL_STENCIL_ATTACHMENT_EXT = $8D20;
- GL_FRAMEBUFFER_COMPLETE_EXT = $8CD5;
- GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT = $8CD6;
- GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT = $8CD7;
- GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT = $8CD8;
- GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT = $8CD9;
- GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT = $8CDA;
- GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT = $8CDB;
- GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT = $8CDC;
- GL_FRAMEBUFFER_UNSUPPORTED_EXT = $8CDD;
- GL_FRAMEBUFFER_STATUS_ERROR_EXT = $8CDE;
- GL_FRAMEBUFFER_BINDING_EXT = $8CA6;
- GL_RENDERBUFFER_BINDING_EXT = $8CA7;
- GL_MAX_COLOR_ATTACHMENTS_EXT = $8CDF;
- GL_MAX_RENDERBUFFER_SIZE_EXT = $84E8;
- GL_INVALID_FRAMEBUFFER_OPERATION_EXT = $0506;
-var
- glIsRenderbufferEXT: function(renderbuffer: GLuint): GLboolean; extdecl;
- glBindRenderbufferEXT: procedure(target: GLenum; renderbuffer: GLuint); extdecl;
- glDeleteRenderbuffersEXT: procedure(n: GLsizei; const renderbuffers: PGLuint); extdecl;
- glGenRenderbuffersEXT: procedure(n: GLsizei; renderbuffers: PGLuint); extdecl;
- glRenderbufferStorageEXT: procedure(target: GLenum; internalformat: GLenum; width: GLsizei; height: GLsizei); extdecl;
- glGetRenderbufferParameterivEXT: procedure(target: GLenum; pname: GLenum; params: PGLint); extdecl;
- glIsFramebufferEXT: function(framebuffer: GLuint): GLboolean; extdecl;
- glBindFramebufferEXT: procedure(target: GLenum; framebuffer: GLuint); extdecl;
- glDeleteFramebuffersEXT: procedure(n: GLsizei; const framebuffers: PGLuint); extdecl;
- glGenFramebuffersEXT: procedure(n: GLsizei; framebuffers: PGLuint); extdecl;
- glCheckFramebufferStatusEXT: function(target: GLenum): GLenum; extdecl;
- glFramebufferTexture1DEXT: procedure(target: GLenum; attachment: GLenum; textarget: GLenum; texture: GLuint; level: GLint); extdecl;
- glFramebufferTexture2DEXT: procedure(target: GLenum; attachment: GLenum; textarget: GLenum; texture: GLuint; level: GLint); extdecl;
- glFramebufferTexture3DEXT: procedure(target: GLenum; attachment: GLenum; textarget: GLenum; texture: GLuint; level: GLint; zoffset: GLint); extdecl;
- glFramebufferRenderbufferEXT: procedure(target: GLenum; attachment: GLenum; renderbuffertarget: GLenum; renderbuffer: GLuint); extdecl;
- glGetFramebufferAttachmentParameterivEXT: procedure(target: GLenum; attachment: GLenum; pname: GLenum; params: PGLint); extdecl;
- glGenerateMipmapEXT: procedure(target: GLenum); extdecl;
-
-function Load_GL_EXT_framebuffer_object: Boolean;
-
-//***** GL_version_1_4 *****//
-const
- GL_BLEND_DST_RGB = $80C8;
- GL_BLEND_SRC_RGB = $80C9;
- GL_BLEND_DST_ALPHA = $80CA;
- GL_BLEND_SRC_ALPHA = $80CB;
- GL_POINT_SIZE_MIN = $8126;
- GL_POINT_SIZE_MAX = $8127;
- GL_POINT_FADE_THRESHOLD_SIZE = $8128;
- GL_POINT_DISTANCE_ATTENUATION = $8129;
- GL_GENERATE_MIPMAP = $8191;
- GL_GENERATE_MIPMAP_HINT = $8192;
- GL_DEPTH_COMPONENT16 = $81A5;
- GL_DEPTH_COMPONENT24 = $81A6;
- GL_DEPTH_COMPONENT32 = $81A7;
- GL_MIRRORED_REPEAT = $8370;
- GL_FOG_COORDINATE_SOURCE = $8450;
- GL_FOG_COORDINATE = $8451;
- GL_FRAGMENT_DEPTH = $8452;
- GL_CURRENT_FOG_COORDINATE = $8453;
- GL_FOG_COORDINATE_ARRAY_TYPE = $8454;
- GL_FOG_COORDINATE_ARRAY_STRIDE = $8455;
- GL_FOG_COORDINATE_ARRAY_POINTER = $8456;
- GL_FOG_COORDINATE_ARRAY = $8457;
- GL_COLOR_SUM = $8458;
- GL_CURRENT_SECONDARY_COLOR = $8459;
- GL_SECONDARY_COLOR_ARRAY_SIZE = $845A;
- GL_SECONDARY_COLOR_ARRAY_TYPE = $845B;
- GL_SECONDARY_COLOR_ARRAY_STRIDE = $845C;
- GL_SECONDARY_COLOR_ARRAY_POINTER = $845D;
- GL_SECONDARY_COLOR_ARRAY = $845E;
- GL_MAX_TEXTURE_LOD_BIAS = $84FD;
- GL_TEXTURE_FILTER_CONTROL = $8500;
- GL_TEXTURE_LOD_BIAS = $8501;
- GL_INCR_WRAP = $8507;
- GL_DECR_WRAP = $8508;
- GL_TEXTURE_DEPTH_SIZE = $884A;
- GL_DEPTH_TEXTURE_MODE = $884B;
- GL_TEXTURE_COMPARE_MODE = $884C;
- GL_TEXTURE_COMPARE_FUNC = $884D;
- GL_COMPARE_R_TO_TEXTURE = $884E;
-var
- glBlendFuncSeparate: procedure(sfactorRGB: GLenum; dfactorRGB: GLenum; sfactorAlpha: GLenum; dfactorAlpha: GLenum); extdecl;
- glFogCoordf: procedure(coord: GLfloat); extdecl;
- glFogCoordfv: procedure(const coord: PGLfloat); extdecl;
- glFogCoordd: procedure(coord: GLdouble); extdecl;
- glFogCoorddv: procedure(const coord: PGLdouble); extdecl;
- glFogCoordPointer: procedure(_type: GLenum; stride: GLsizei; const pointer: PGLvoid); extdecl;
- glMultiDrawArrays: procedure(mode: GLenum; first: PGLint; count: PGLsizei; primcount: GLsizei); extdecl;
- glMultiDrawElements: procedure(mode: GLenum; const count: PGLsizei; _type: GLenum; const indices: PGLvoid; primcount: GLsizei); extdecl;
- glPointParameterf: procedure(pname: GLenum; param: GLfloat); extdecl;
- glPointParameterfv: procedure(pname: GLenum; const params: PGLfloat); extdecl;
- glPointParameteri: procedure(pname: GLenum; param: GLint); extdecl;
- glPointParameteriv: procedure(pname: GLenum; const params: PGLint); extdecl;
- glSecondaryColor3b: procedure(red: GLbyte; green: GLbyte; blue: GLbyte); extdecl;
- glSecondaryColor3bv: procedure(const v: PGLbyte); extdecl;
- glSecondaryColor3d: procedure(red: GLdouble; green: GLdouble; blue: GLdouble); extdecl;
- glSecondaryColor3dv: procedure(const v: PGLdouble); extdecl;
- glSecondaryColor3f: procedure(red: GLfloat; green: GLfloat; blue: GLfloat); extdecl;
- glSecondaryColor3fv: procedure(const v: PGLfloat); extdecl;
- glSecondaryColor3i: procedure(red: GLint; green: GLint; blue: GLint); extdecl;
- glSecondaryColor3iv: procedure(const v: PGLint); extdecl;
- glSecondaryColor3s: procedure(red: GLshort; green: GLshort; blue: GLshort); extdecl;
- glSecondaryColor3sv: procedure(const v: PGLshort); extdecl;
- glSecondaryColor3ub: procedure(red: GLubyte; green: GLubyte; blue: GLubyte); extdecl;
- glSecondaryColor3ubv: procedure(const v: PGLubyte); extdecl;
- glSecondaryColor3ui: procedure(red: GLuint; green: GLuint; blue: GLuint); extdecl;
- glSecondaryColor3uiv: procedure(const v: PGLuint); extdecl;
- glSecondaryColor3us: procedure(red: GLushort; green: GLushort; blue: GLushort); extdecl;
- glSecondaryColor3usv: procedure(const v: PGLushort); extdecl;
- glSecondaryColorPointer: procedure(size: GLint; _type: GLenum; stride: GLsizei; const pointer: PGLvoid); extdecl;
- glWindowPos2d: procedure(x: GLdouble; y: GLdouble); extdecl;
- glWindowPos2dv: procedure(const v: PGLdouble); extdecl;
- glWindowPos2f: procedure(x: GLfloat; y: GLfloat); extdecl;
- glWindowPos2fv: procedure(const v: PGLfloat); extdecl;
- glWindowPos2i: procedure(x: GLint; y: GLint); extdecl;
- glWindowPos2iv: procedure(const v: PGLint); extdecl;
- glWindowPos2s: procedure(x: GLshort; y: GLshort); extdecl;
- glWindowPos2sv: procedure(const v: PGLshort); extdecl;
- glWindowPos3d: procedure(x: GLdouble; y: GLdouble; z: GLdouble); extdecl;
- glWindowPos3dv: procedure(const v: PGLdouble); extdecl;
- glWindowPos3f: procedure(x: GLfloat; y: GLfloat; z: GLfloat); extdecl;
- glWindowPos3fv: procedure(const v: PGLfloat); extdecl;
- glWindowPos3i: procedure(x: GLint; y: GLint; z: GLint); extdecl;
- glWindowPos3iv: procedure(const v: PGLint); extdecl;
- glWindowPos3s: procedure(x: GLshort; y: GLshort; z: GLshort); extdecl;
- glWindowPos3sv: procedure(const v: PGLshort); extdecl;
-
-function Load_GL_version_1_4: Boolean;
-
-//***** GL_version_1_5 *****//
-const
- GL_BUFFER_SIZE = $8764;
- GL_BUFFER_USAGE = $8765;
- GL_QUERY_COUNTER_BITS = $8864;
- GL_CURRENT_QUERY = $8865;
- GL_QUERY_RESULT = $8866;
- GL_QUERY_RESULT_AVAILABLE = $8867;
- GL_ARRAY_BUFFER = $8892;
- GL_ELEMENT_ARRAY_BUFFER = $8893;
- GL_ARRAY_BUFFER_BINDING = $8894;
- GL_ELEMENT_ARRAY_BUFFER_BINDING = $8895;
- GL_VERTEX_ARRAY_BUFFER_BINDING = $8896;
- GL_NORMAL_ARRAY_BUFFER_BINDING = $8897;
- GL_COLOR_ARRAY_BUFFER_BINDING = $8898;
- GL_INDEX_ARRAY_BUFFER_BINDING = $8899;
- GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING = $889A;
- GL_EDGE_FLAG_ARRAY_BUFFER_BINDING = $889B;
- GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING = $889C;
- GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING = $889D;
- GL_WEIGHT_ARRAY_BUFFER_BINDING = $889E;
- GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING = $889F;
- GL_READ_ONLY = $88B8;
- GL_WRITE_ONLY = $88B9;
- GL_READ_WRITE = $88BA;
- GL_BUFFER_ACCESS = $88BB;
- GL_BUFFER_MAPPED = $88BC;
- GL_BUFFER_MAP_POINTER = $88BD;
- GL_STREAM_DRAW = $88E0;
- GL_STREAM_READ = $88E1;
- GL_STREAM_COPY = $88E2;
- GL_STATIC_DRAW = $88E4;
- GL_STATIC_READ = $88E5;
- GL_STATIC_COPY = $88E6;
- GL_DYNAMIC_DRAW = $88E8;
- GL_DYNAMIC_READ = $88E9;
- GL_DYNAMIC_COPY = $88EA;
- GL_SAMPLES_PASSED = $8914;
- GL_FOG_COORD_SRC = $8450;
- GL_FOG_COORD = $8451;
- GL_CURRENT_FOG_COORD = $8453;
- GL_FOG_COORD_ARRAY_TYPE = $8454;
- GL_FOG_COORD_ARRAY_STRIDE = $8455;
- GL_FOG_COORD_ARRAY_POINTER = $8456;
- GL_FOG_COORD_ARRAY = $8457;
- GL_FOG_COORD_ARRAY_BUFFER_BINDING = $889D;
- GL_SRC0_RGB = $8580;
- GL_SRC1_RGB = $8581;
- GL_SRC2_RGB = $8582;
- GL_SRC0_ALPHA = $8588;
- GL_SRC1_ALPHA = $8589;
- GL_SRC2_ALPHA = $858A;
-var
- glGenQueries: procedure(n: GLsizei; ids: PGLuint); extdecl;
- glDeleteQueries: procedure(n: GLsizei; const ids: PGLuint); extdecl;
- glIsQuery: function(id: GLuint): GLboolean; extdecl;
- glBeginQuery: procedure(target: GLenum; id: GLuint); extdecl;
- glEndQuery: procedure(target: GLenum); extdecl;
- glGetQueryiv: procedure(target: GLenum; pname: GLenum; params: PGLint); extdecl;
- glGetQueryObjectiv: procedure(id: GLuint; pname: GLenum; params: PGLint); extdecl;
- glGetQueryObjectuiv: procedure(id: GLuint; pname: GLenum; params: PGLuint); extdecl;
- glBindBuffer: procedure(target: GLenum; buffer: GLuint); extdecl;
- glDeleteBuffers: procedure(n: GLsizei; const buffers: PGLuint); extdecl;
- glGenBuffers: procedure(n: GLsizei; buffers: PGLuint); extdecl;
- glIsBuffer: function(buffer: GLuint): GLboolean; extdecl;
- glBufferData: procedure(target: GLenum; size: GLsizeiptr; const data: PGLvoid; usage: GLenum); extdecl;
- glBufferSubData: procedure(target: GLenum; offset: GLintptr; size: GLsizeiptr; const data: PGLvoid); extdecl;
- glGetBufferSubData: procedure(target: GLenum; offset: GLintptr; size: GLsizeiptr; data: PGLvoid); extdecl;
- glMapBuffer: function(target: GLenum; access: GLenum): PGLvoid; extdecl;
- glUnmapBuffer: function(target: GLenum): GLboolean; extdecl;
- glGetBufferParameteriv: procedure(target: GLenum; pname: GLenum; params: PGLint); extdecl;
- glGetBufferPointerv: procedure(target: GLenum; pname: GLenum; params: PGLvoid); extdecl;
-
-function Load_GL_version_1_5: Boolean;
-
-//***** GL_version_2_0 *****//
-const
- GL_BLEND_EQUATION_RGB = $8009;
- GL_VERTEX_ATTRIB_ARRAY_ENABLED = $8622;
- GL_VERTEX_ATTRIB_ARRAY_SIZE = $8623;
- GL_VERTEX_ATTRIB_ARRAY_STRIDE = $8624;
- GL_VERTEX_ATTRIB_ARRAY_TYPE = $8625;
- GL_CURRENT_VERTEX_ATTRIB = $8626;
- GL_VERTEX_PROGRAM_POINT_SIZE = $8642;
- GL_VERTEX_PROGRAM_TWO_SIDE = $8643;
- GL_VERTEX_ATTRIB_ARRAY_POINTER = $8645;
- GL_STENCIL_BACK_FUNC = $8800;
- GL_STENCIL_BACK_FAIL = $8801;
- GL_STENCIL_BACK_PASS_DEPTH_FAIL = $8802;
- GL_STENCIL_BACK_PASS_DEPTH_PASS = $8803;
- GL_MAX_DRAW_BUFFERS = $8824;
- GL_DRAW_BUFFER0 = $8825;
- GL_DRAW_BUFFER1 = $8826;
- GL_DRAW_BUFFER2 = $8827;
- GL_DRAW_BUFFER3 = $8828;
- GL_DRAW_BUFFER4 = $8829;
- GL_DRAW_BUFFER5 = $882A;
- GL_DRAW_BUFFER6 = $882B;
- GL_DRAW_BUFFER7 = $882C;
- GL_DRAW_BUFFER8 = $882D;
- GL_DRAW_BUFFER9 = $882E;
- GL_DRAW_BUFFER10 = $882F;
- GL_DRAW_BUFFER11 = $8830;
- GL_DRAW_BUFFER12 = $8831;
- GL_DRAW_BUFFER13 = $8832;
- GL_DRAW_BUFFER14 = $8833;
- GL_DRAW_BUFFER15 = $8834;
- GL_BLEND_EQUATION_ALPHA = $883D;
- GL_POINT_SPRITE = $8861;
- GL_COORD_REPLACE = $8862;
- GL_MAX_VERTEX_ATTRIBS = $8869;
- GL_VERTEX_ATTRIB_ARRAY_NORMALIZED = $886A;
- GL_MAX_TEXTURE_COORDS = $8871;
- GL_MAX_TEXTURE_IMAGE_UNITS = $8872;
- GL_FRAGMENT_SHADER = $8B30;
- GL_VERTEX_SHADER = $8B31;
- GL_MAX_FRAGMENT_UNIFORM_COMPONENTS = $8B49;
- GL_MAX_VERTEX_UNIFORM_COMPONENTS = $8B4A;
- GL_MAX_VARYING_FLOATS = $8B4B;
- GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS = $8B4C;
- GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS = $8B4D;
- GL_SHADER_TYPE = $8B4F;
- GL_FLOAT_VEC2 = $8B50;
- GL_FLOAT_VEC3 = $8B51;
- GL_FLOAT_VEC4 = $8B52;
- GL_INT_VEC2 = $8B53;
- GL_INT_VEC3 = $8B54;
- GL_INT_VEC4 = $8B55;
- GL_BOOL = $8B56;
- GL_BOOL_VEC2 = $8B57;
- GL_BOOL_VEC3 = $8B58;
- GL_BOOL_VEC4 = $8B59;
- GL_FLOAT_MAT2 = $8B5A;
- GL_FLOAT_MAT3 = $8B5B;
- GL_FLOAT_MAT4 = $8B5C;
- GL_SAMPLER_1D = $8B5D;
- GL_SAMPLER_2D = $8B5E;
- GL_SAMPLER_3D = $8B5F;
- GL_SAMPLER_CUBE = $8B60;
- GL_SAMPLER_1D_SHADOW = $8B61;
- GL_SAMPLER_2D_SHADOW = $8B62;
- GL_DELETE_STATUS = $8B80;
- GL_COMPILE_STATUS = $8B81;
- GL_LINK_STATUS = $8B82;
- GL_VALIDATE_STATUS = $8B83;
- GL_INFO_LOG_LENGTH = $8B84;
- GL_ATTACHED_SHADERS = $8B85;
- GL_ACTIVE_UNIFORMS = $8B86;
- GL_ACTIVE_UNIFORM_MAX_LENGTH = $8B87;
- GL_SHADER_SOURCE_LENGTH = $8B88;
- GL_ACTIVE_ATTRIBUTES = $8B89;
- GL_ACTIVE_ATTRIBUTE_MAX_LENGTH = $8B8A;
- GL_FRAGMENT_SHADER_DERIVATIVE_HINT = $8B8B;
- GL_SHADING_LANGUAGE_VERSION = $8B8C;
- GL_CURRENT_PROGRAM = $8B8D;
- GL_POINT_SPRITE_COORD_ORIGIN = $8CA0;
- GL_LOWER_LEFT = $8CA1;
- GL_UPPER_LEFT = $8CA2;
- GL_STENCIL_BACK_REF = $8CA3;
- GL_STENCIL_BACK_VALUE_MASK = $8CA4;
- GL_STENCIL_BACK_WRITEMASK = $8CA5;
-var
- glBlendEquationSeparate: procedure(modeRGB: GLenum; modeAlpha: GLenum); extdecl;
- glDrawBuffers: procedure(n: GLsizei; const bufs: PGLenum); extdecl;
- glStencilOpSeparate: procedure(face: GLenum; sfail: GLenum; dpfail: GLenum; dppass: GLenum); extdecl;
- glStencilFuncSeparate: procedure(frontfunc: GLenum; backfunc: GLenum; ref: GLint; mask: GLuint); extdecl;
- glStencilMaskSeparate: procedure(face: GLenum; mask: GLuint); extdecl;
- glAttachShader: procedure(_program: GLuint; shader: GLuint); extdecl;
- glBindAttribLocation: procedure(_program: GLuint; index: GLuint; const name: PGLchar); extdecl;
- glCompileShader: procedure(shader: GLuint); extdecl;
- glCreateProgram: function(): GLuint; extdecl;
- glCreateShader: function(_type: GLenum): GLuint; extdecl;
- glDeleteProgram: procedure(_program: GLuint); extdecl;
- glDeleteShader: procedure(shader: GLuint); extdecl;
- glDetachShader: procedure(_program: GLuint; shader: GLuint); extdecl;
- glDisableVertexAttribArray: procedure(index: GLuint); extdecl;
- glEnableVertexAttribArray: procedure(index: GLuint); extdecl;
- glGetActiveAttrib: procedure(_program: GLuint; index: GLuint; bufSize: GLsizei; length: PGLsizei; size: PGLint; _type: PGLenum; name: PGLchar); extdecl;
- glGetActiveUniform: procedure(_program: GLuint; index: GLuint; bufSize: GLsizei; length: PGLsizei; size: PGLint; _type: PGLenum; name: PGLchar); extdecl;
- glGetAttachedShaders: procedure(_program: GLuint; maxCount: GLsizei; count: PGLsizei; obj: PGLuint); extdecl;
- glGetAttribLocation: function(_program: GLuint; const name: PGLchar): GLint; extdecl;
- glGetProgramiv: procedure(_program: GLuint; pname: GLenum; params: PGLint); extdecl;
- glGetProgramInfoLog: procedure(_program: GLuint; bufSize: GLsizei; length: PGLsizei; infoLog: PGLchar); extdecl;
- glGetShaderiv: procedure(shader: GLuint; pname: GLenum; params: PGLint); extdecl;
- glGetShaderInfoLog: procedure(shader: GLuint; bufSize: GLsizei; length: PGLsizei; infoLog: PGLchar); extdecl;
- glGetShaderSource: procedure(shader: GLuint; bufSize: GLsizei; length: PGLsizei; source: PGLchar); extdecl;
- glGetUniformLocation: function(_program: GLuint; const name: PGLchar): GLint; extdecl;
- glGetUniformfv: procedure(_program: GLuint; location: GLint; params: PGLfloat); extdecl;
- glGetUniformiv: procedure(_program: GLuint; location: GLint; params: PGLint); extdecl;
- glGetVertexAttribdv: procedure(index: GLuint; pname: GLenum; params: PGLdouble); extdecl;
- glGetVertexAttribfv: procedure(index: GLuint; pname: GLenum; params: PGLfloat); extdecl;
- glGetVertexAttribiv: procedure(index: GLuint; pname: GLenum; params: PGLint); extdecl;
- glGetVertexAttribPointerv: procedure(index: GLuint; pname: GLenum; pointer: PGLvoid); extdecl;
- glIsProgram: function(_program: GLuint): GLboolean; extdecl;
- glIsShader: function(shader: GLuint): GLboolean; extdecl;
- glLinkProgram: procedure(_program: GLuint); extdecl;
- glShaderSource: procedure(shader: GLuint; count: GLsizei; const _string: PGLchar; const length: PGLint); extdecl;
- glUseProgram: procedure(_program: GLuint); extdecl;
- glUniform1f: procedure(location: GLint; v0: GLfloat); extdecl;
- glUniform2f: procedure(location: GLint; v0: GLfloat; v1: GLfloat); extdecl;
- glUniform3f: procedure(location: GLint; v0: GLfloat; v1: GLfloat; v2: GLfloat); extdecl;
- glUniform4f: procedure(location: GLint; v0: GLfloat; v1: GLfloat; v2: GLfloat; v3: GLfloat); extdecl;
- glUniform1i: procedure(location: GLint; v0: GLint); extdecl;
- glUniform2i: procedure(location: GLint; v0: GLint; v1: GLint); extdecl;
- glUniform3i: procedure(location: GLint; v0: GLint; v1: GLint; v2: GLint); extdecl;
- glUniform4i: procedure(location: GLint; v0: GLint; v1: GLint; v2: GLint; v3: GLint); extdecl;
- glUniform1fv: procedure(location: GLint; count: GLsizei; const value: PGLfloat); extdecl;
- glUniform2fv: procedure(location: GLint; count: GLsizei; const value: PGLfloat); extdecl;
- glUniform3fv: procedure(location: GLint; count: GLsizei; const value: PGLfloat); extdecl;
- glUniform4fv: procedure(location: GLint; count: GLsizei; const value: PGLfloat); extdecl;
- glUniform1iv: procedure(location: GLint; count: GLsizei; const value: PGLint); extdecl;
- glUniform2iv: procedure(location: GLint; count: GLsizei; const value: PGLint); extdecl;
- glUniform3iv: procedure(location: GLint; count: GLsizei; const value: PGLint); extdecl;
- glUniform4iv: procedure(location: GLint; count: GLsizei; const value: PGLint); extdecl;
- glUniformMatrix2fv: procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); extdecl;
- glUniformMatrix3fv: procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); extdecl;
- glUniformMatrix4fv: procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); extdecl;
- glValidateProgram: procedure(_program: GLuint); extdecl;
- glVertexAttrib1d: procedure(index: GLuint; x: GLdouble); extdecl;
- glVertexAttrib1dv: procedure(index: GLuint; const v: PGLdouble); extdecl;
- glVertexAttrib1f: procedure(index: GLuint; x: GLfloat); extdecl;
- glVertexAttrib1fv: procedure(index: GLuint; const v: PGLfloat); extdecl;
- glVertexAttrib1s: procedure(index: GLuint; x: GLshort); extdecl;
- glVertexAttrib1sv: procedure(index: GLuint; const v: PGLshort); extdecl;
- glVertexAttrib2d: procedure(index: GLuint; x: GLdouble; y: GLdouble); extdecl;
- glVertexAttrib2dv: procedure(index: GLuint; const v: PGLdouble); extdecl;
- glVertexAttrib2f: procedure(index: GLuint; x: GLfloat; y: GLfloat); extdecl;
- glVertexAttrib2fv: procedure(index: GLuint; const v: PGLfloat); extdecl;
- glVertexAttrib2s: procedure(index: GLuint; x: GLshort; y: GLshort); extdecl;
- glVertexAttrib2sv: procedure(index: GLuint; const v: PGLshort); extdecl;
- glVertexAttrib3d: procedure(index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble); extdecl;
- glVertexAttrib3dv: procedure(index: GLuint; const v: PGLdouble); extdecl;
- glVertexAttrib3f: procedure(index: GLuint; x: GLfloat; y: GLfloat; z: GLfloat); extdecl;
- glVertexAttrib3fv: procedure(index: GLuint; const v: PGLfloat); extdecl;
- glVertexAttrib3s: procedure(index: GLuint; x: GLshort; y: GLshort; z: GLshort); extdecl;
- glVertexAttrib3sv: procedure(index: GLuint; const v: PGLshort); extdecl;
- glVertexAttrib4Nbv: procedure(index: GLuint; const v: PGLbyte); extdecl;
- glVertexAttrib4Niv: procedure(index: GLuint; const v: PGLint); extdecl;
- glVertexAttrib4Nsv: procedure(index: GLuint; const v: PGLshort); extdecl;
- glVertexAttrib4Nub: procedure(index: GLuint; x: GLubyte; y: GLubyte; z: GLubyte; w: GLubyte); extdecl;
- glVertexAttrib4Nubv: procedure(index: GLuint; const v: PGLubyte); extdecl;
- glVertexAttrib4Nuiv: procedure(index: GLuint; const v: PGLuint); extdecl;
- glVertexAttrib4Nusv: procedure(index: GLuint; const v: PGLushort); extdecl;
- glVertexAttrib4bv: procedure(index: GLuint; const v: PGLbyte); extdecl;
- glVertexAttrib4d: procedure(index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); extdecl;
- glVertexAttrib4dv: procedure(index: GLuint; const v: PGLdouble); extdecl;
- glVertexAttrib4f: procedure(index: GLuint; x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); extdecl;
- glVertexAttrib4fv: procedure(index: GLuint; const v: PGLfloat); extdecl;
- glVertexAttrib4iv: procedure(index: GLuint; const v: PGLint); extdecl;
- glVertexAttrib4s: procedure(index: GLuint; x: GLshort; y: GLshort; z: GLshort; w: GLshort); extdecl;
- glVertexAttrib4sv: procedure(index: GLuint; const v: PGLshort); extdecl;
- glVertexAttrib4ubv: procedure(index: GLuint; const v: PGLubyte); extdecl;
- glVertexAttrib4uiv: procedure(index: GLuint; const v: PGLuint); extdecl;
- glVertexAttrib4usv: procedure(index: GLuint; const v: PGLushort); extdecl;
- glVertexAttribPointer: procedure(index: GLuint; size: GLint; _type: GLenum; normalized: GLboolean; stride: GLsizei; const pointer: PGLvoid); extdecl;
-
-function Load_GL_version_2_0: Boolean;
-
-
-implementation
-
-{$IFNDEF Windows}
-function wglGetProcAddress(proc: PChar): Pointer;
-begin
- Result := GetProcAddress(LibGL, proc);
-end;
-{$ENDIF}
-
-function glext_ExtensionSupported(const extension: String; const searchIn: String): Boolean;
-var
- extensions: PChar;
- start: PChar;
- where, terminator: PChar;
-begin
-
- if (Pos(' ', extension) <> 0) or (extension = '') then
- begin
- Result := FALSE;
- Exit;
- end;
-
- if searchIn = '' then extensions := PChar(glGetString(GL_EXTENSIONS))
- else extensions := PChar(searchIn);
- start := extensions;
- while TRUE do
- begin
- where := StrPos(start, PChar(extension));
- if where = nil then Break;
- terminator := Pointer(PtrUInt(where) + Length(extension));
- if (where = start) or (PChar(PtrUInt(where) - 1)^ = ' ') then
- begin
- if (terminator^ = ' ') or (terminator^ = #0) then
- begin
- Result := TRUE;
- Exit;
- end;
- end;
- start := terminator;
- end;
- Result := FALSE;
-
-end;
-
-function Load_GL_version_1_2: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- glBlendColor := wglGetProcAddress('glBlendColor');
- if not Assigned(glBlendColor) then Exit;
- glBlendEquation := wglGetProcAddress('glBlendEquation');
- if not Assigned(glBlendEquation) then Exit;
- glDrawRangeElements := wglGetProcAddress('glDrawRangeElements');
- if not Assigned(glDrawRangeElements) then Exit;
- glColorTable := wglGetProcAddress('glColorTable');
- if not Assigned(glColorTable) then Exit;
- glColorTableParameterfv := wglGetProcAddress('glColorTableParameterfv');
- if not Assigned(glColorTableParameterfv) then Exit;
- glColorTableParameteriv := wglGetProcAddress('glColorTableParameteriv');
- if not Assigned(glColorTableParameteriv) then Exit;
- glCopyColorTable := wglGetProcAddress('glCopyColorTable');
- if not Assigned(glCopyColorTable) then Exit;
- glGetColorTable := wglGetProcAddress('glGetColorTable');
- if not Assigned(glGetColorTable) then Exit;
- glGetColorTableParameterfv := wglGetProcAddress('glGetColorTableParameterfv');
- if not Assigned(glGetColorTableParameterfv) then Exit;
- glGetColorTableParameteriv := wglGetProcAddress('glGetColorTableParameteriv');
- if not Assigned(glGetColorTableParameteriv) then Exit;
- glColorSubTable := wglGetProcAddress('glColorSubTable');
- if not Assigned(glColorSubTable) then Exit;
- glCopyColorSubTable := wglGetProcAddress('glCopyColorSubTable');
- if not Assigned(glCopyColorSubTable) then Exit;
- glConvolutionFilter1D := wglGetProcAddress('glConvolutionFilter1D');
- if not Assigned(glConvolutionFilter1D) then Exit;
- glConvolutionFilter2D := wglGetProcAddress('glConvolutionFilter2D');
- if not Assigned(glConvolutionFilter2D) then Exit;
- glConvolutionParameterf := wglGetProcAddress('glConvolutionParameterf');
- if not Assigned(glConvolutionParameterf) then Exit;
- glConvolutionParameterfv := wglGetProcAddress('glConvolutionParameterfv');
- if not Assigned(glConvolutionParameterfv) then Exit;
- glConvolutionParameteri := wglGetProcAddress('glConvolutionParameteri');
- if not Assigned(glConvolutionParameteri) then Exit;
- glConvolutionParameteriv := wglGetProcAddress('glConvolutionParameteriv');
- if not Assigned(glConvolutionParameteriv) then Exit;
- glCopyConvolutionFilter1D := wglGetProcAddress('glCopyConvolutionFilter1D');
- if not Assigned(glCopyConvolutionFilter1D) then Exit;
- glCopyConvolutionFilter2D := wglGetProcAddress('glCopyConvolutionFilter2D');
- if not Assigned(glCopyConvolutionFilter2D) then Exit;
- glGetConvolutionFilter := wglGetProcAddress('glGetConvolutionFilter');
- if not Assigned(glGetConvolutionFilter) then Exit;
- glGetConvolutionParameterfv := wglGetProcAddress('glGetConvolutionParameterfv');
- if not Assigned(glGetConvolutionParameterfv) then Exit;
- glGetConvolutionParameteriv := wglGetProcAddress('glGetConvolutionParameteriv');
- if not Assigned(glGetConvolutionParameteriv) then Exit;
- glGetSeparableFilter := wglGetProcAddress('glGetSeparableFilter');
- if not Assigned(glGetSeparableFilter) then Exit;
- glSeparableFilter2D := wglGetProcAddress('glSeparableFilter2D');
- if not Assigned(glSeparableFilter2D) then Exit;
- glGetHistogram := wglGetProcAddress('glGetHistogram');
- if not Assigned(glGetHistogram) then Exit;
- glGetHistogramParameterfv := wglGetProcAddress('glGetHistogramParameterfv');
- if not Assigned(glGetHistogramParameterfv) then Exit;
- glGetHistogramParameteriv := wglGetProcAddress('glGetHistogramParameteriv');
- if not Assigned(glGetHistogramParameteriv) then Exit;
- glGetMinmax := wglGetProcAddress('glGetMinmax');
- if not Assigned(glGetMinmax) then Exit;
- glGetMinmaxParameterfv := wglGetProcAddress('glGetMinmaxParameterfv');
- if not Assigned(glGetMinmaxParameterfv) then Exit;
- glGetMinmaxParameteriv := wglGetProcAddress('glGetMinmaxParameteriv');
- if not Assigned(glGetMinmaxParameteriv) then Exit;
- glHistogram := wglGetProcAddress('glHistogram');
- if not Assigned(glHistogram) then Exit;
- glMinmax := wglGetProcAddress('glMinmax');
- if not Assigned(glMinmax) then Exit;
- glResetHistogram := wglGetProcAddress('glResetHistogram');
- if not Assigned(glResetHistogram) then Exit;
- glResetMinmax := wglGetProcAddress('glResetMinmax');
- if not Assigned(glResetMinmax) then Exit;
- glTexImage3D := wglGetProcAddress('glTexImage3D');
- if not Assigned(glTexImage3D) then Exit;
- glTexSubImage3D := wglGetProcAddress('glTexSubImage3D');
- if not Assigned(glTexSubImage3D) then Exit;
- glCopyTexSubImage3D := wglGetProcAddress('glCopyTexSubImage3D');
- if not Assigned(glCopyTexSubImage3D) then Exit;
- Result := TRUE;
-
-end;
-
-function Load_GL_ARB_imaging: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_ARB_imaging', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_version_1_3: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- glActiveTexture := wglGetProcAddress('glActiveTexture');
- if not Assigned(glActiveTexture) then Exit;
- glClientActiveTexture := wglGetProcAddress('glClientActiveTexture');
- if not Assigned(glClientActiveTexture) then Exit;
- glMultiTexCoord1d := wglGetProcAddress('glMultiTexCoord1d');
- if not Assigned(glMultiTexCoord1d) then Exit;
- glMultiTexCoord1dv := wglGetProcAddress('glMultiTexCoord1dv');
- if not Assigned(glMultiTexCoord1dv) then Exit;
- glMultiTexCoord1f := wglGetProcAddress('glMultiTexCoord1f');
- if not Assigned(glMultiTexCoord1f) then Exit;
- glMultiTexCoord1fv := wglGetProcAddress('glMultiTexCoord1fv');
- if not Assigned(glMultiTexCoord1fv) then Exit;
- glMultiTexCoord1i := wglGetProcAddress('glMultiTexCoord1i');
- if not Assigned(glMultiTexCoord1i) then Exit;
- glMultiTexCoord1iv := wglGetProcAddress('glMultiTexCoord1iv');
- if not Assigned(glMultiTexCoord1iv) then Exit;
- glMultiTexCoord1s := wglGetProcAddress('glMultiTexCoord1s');
- if not Assigned(glMultiTexCoord1s) then Exit;
- glMultiTexCoord1sv := wglGetProcAddress('glMultiTexCoord1sv');
- if not Assigned(glMultiTexCoord1sv) then Exit;
- glMultiTexCoord2d := wglGetProcAddress('glMultiTexCoord2d');
- if not Assigned(glMultiTexCoord2d) then Exit;
- glMultiTexCoord2dv := wglGetProcAddress('glMultiTexCoord2dv');
- if not Assigned(glMultiTexCoord2dv) then Exit;
- glMultiTexCoord2f := wglGetProcAddress('glMultiTexCoord2f');
- if not Assigned(glMultiTexCoord2f) then Exit;
- glMultiTexCoord2fv := wglGetProcAddress('glMultiTexCoord2fv');
- if not Assigned(glMultiTexCoord2fv) then Exit;
- glMultiTexCoord2i := wglGetProcAddress('glMultiTexCoord2i');
- if not Assigned(glMultiTexCoord2i) then Exit;
- glMultiTexCoord2iv := wglGetProcAddress('glMultiTexCoord2iv');
- if not Assigned(glMultiTexCoord2iv) then Exit;
- glMultiTexCoord2s := wglGetProcAddress('glMultiTexCoord2s');
- if not Assigned(glMultiTexCoord2s) then Exit;
- glMultiTexCoord2sv := wglGetProcAddress('glMultiTexCoord2sv');
- if not Assigned(glMultiTexCoord2sv) then Exit;
- glMultiTexCoord3d := wglGetProcAddress('glMultiTexCoord3d');
- if not Assigned(glMultiTexCoord3d) then Exit;
- glMultiTexCoord3dv := wglGetProcAddress('glMultiTexCoord3dv');
- if not Assigned(glMultiTexCoord3dv) then Exit;
- glMultiTexCoord3f := wglGetProcAddress('glMultiTexCoord3f');
- if not Assigned(glMultiTexCoord3f) then Exit;
- glMultiTexCoord3fv := wglGetProcAddress('glMultiTexCoord3fv');
- if not Assigned(glMultiTexCoord3fv) then Exit;
- glMultiTexCoord3i := wglGetProcAddress('glMultiTexCoord3i');
- if not Assigned(glMultiTexCoord3i) then Exit;
- glMultiTexCoord3iv := wglGetProcAddress('glMultiTexCoord3iv');
- if not Assigned(glMultiTexCoord3iv) then Exit;
- glMultiTexCoord3s := wglGetProcAddress('glMultiTexCoord3s');
- if not Assigned(glMultiTexCoord3s) then Exit;
- glMultiTexCoord3sv := wglGetProcAddress('glMultiTexCoord3sv');
- if not Assigned(glMultiTexCoord3sv) then Exit;
- glMultiTexCoord4d := wglGetProcAddress('glMultiTexCoord4d');
- if not Assigned(glMultiTexCoord4d) then Exit;
- glMultiTexCoord4dv := wglGetProcAddress('glMultiTexCoord4dv');
- if not Assigned(glMultiTexCoord4dv) then Exit;
- glMultiTexCoord4f := wglGetProcAddress('glMultiTexCoord4f');
- if not Assigned(glMultiTexCoord4f) then Exit;
- glMultiTexCoord4fv := wglGetProcAddress('glMultiTexCoord4fv');
- if not Assigned(glMultiTexCoord4fv) then Exit;
- glMultiTexCoord4i := wglGetProcAddress('glMultiTexCoord4i');
- if not Assigned(glMultiTexCoord4i) then Exit;
- glMultiTexCoord4iv := wglGetProcAddress('glMultiTexCoord4iv');
- if not Assigned(glMultiTexCoord4iv) then Exit;
- glMultiTexCoord4s := wglGetProcAddress('glMultiTexCoord4s');
- if not Assigned(glMultiTexCoord4s) then Exit;
- glMultiTexCoord4sv := wglGetProcAddress('glMultiTexCoord4sv');
- if not Assigned(glMultiTexCoord4sv) then Exit;
- glLoadTransposeMatrixf := wglGetProcAddress('glLoadTransposeMatrixf');
- if not Assigned(glLoadTransposeMatrixf) then Exit;
- glLoadTransposeMatrixd := wglGetProcAddress('glLoadTransposeMatrixd');
- if not Assigned(glLoadTransposeMatrixd) then Exit;
- glMultTransposeMatrixf := wglGetProcAddress('glMultTransposeMatrixf');
- if not Assigned(glMultTransposeMatrixf) then Exit;
- glMultTransposeMatrixd := wglGetProcAddress('glMultTransposeMatrixd');
- if not Assigned(glMultTransposeMatrixd) then Exit;
- glSampleCoverage := wglGetProcAddress('glSampleCoverage');
- if not Assigned(glSampleCoverage) then Exit;
- glCompressedTexImage3D := wglGetProcAddress('glCompressedTexImage3D');
- if not Assigned(glCompressedTexImage3D) then Exit;
- glCompressedTexImage2D := wglGetProcAddress('glCompressedTexImage2D');
- if not Assigned(glCompressedTexImage2D) then Exit;
- glCompressedTexImage1D := wglGetProcAddress('glCompressedTexImage1D');
- if not Assigned(glCompressedTexImage1D) then Exit;
- glCompressedTexSubImage3D := wglGetProcAddress('glCompressedTexSubImage3D');
- if not Assigned(glCompressedTexSubImage3D) then Exit;
- glCompressedTexSubImage2D := wglGetProcAddress('glCompressedTexSubImage2D');
- if not Assigned(glCompressedTexSubImage2D) then Exit;
- glCompressedTexSubImage1D := wglGetProcAddress('glCompressedTexSubImage1D');
- if not Assigned(glCompressedTexSubImage1D) then Exit;
- glGetCompressedTexImage := wglGetProcAddress('glGetCompressedTexImage');
- if not Assigned(glGetCompressedTexImage) then Exit;
- Result := TRUE;
-
-end;
-
-function Load_GL_ARB_multitexture: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_ARB_multitexture', extstring) then
- begin
- glActiveTextureARB := wglGetProcAddress('glActiveTextureARB');
- if not Assigned(glActiveTextureARB) then Exit;
- glClientActiveTextureARB := wglGetProcAddress('glClientActiveTextureARB');
- if not Assigned(glClientActiveTextureARB) then Exit;
- glMultiTexCoord1dARB := wglGetProcAddress('glMultiTexCoord1dARB');
- if not Assigned(glMultiTexCoord1dARB) then Exit;
- glMultiTexCoord1dvARB := wglGetProcAddress('glMultiTexCoord1dvARB');
- if not Assigned(glMultiTexCoord1dvARB) then Exit;
- glMultiTexCoord1fARB := wglGetProcAddress('glMultiTexCoord1fARB');
- if not Assigned(glMultiTexCoord1fARB) then Exit;
- glMultiTexCoord1fvARB := wglGetProcAddress('glMultiTexCoord1fvARB');
- if not Assigned(glMultiTexCoord1fvARB) then Exit;
- glMultiTexCoord1iARB := wglGetProcAddress('glMultiTexCoord1iARB');
- if not Assigned(glMultiTexCoord1iARB) then Exit;
- glMultiTexCoord1ivARB := wglGetProcAddress('glMultiTexCoord1ivARB');
- if not Assigned(glMultiTexCoord1ivARB) then Exit;
- glMultiTexCoord1sARB := wglGetProcAddress('glMultiTexCoord1sARB');
- if not Assigned(glMultiTexCoord1sARB) then Exit;
- glMultiTexCoord1svARB := wglGetProcAddress('glMultiTexCoord1svARB');
- if not Assigned(glMultiTexCoord1svARB) then Exit;
- glMultiTexCoord2dARB := wglGetProcAddress('glMultiTexCoord2dARB');
- if not Assigned(glMultiTexCoord2dARB) then Exit;
- glMultiTexCoord2dvARB := wglGetProcAddress('glMultiTexCoord2dvARB');
- if not Assigned(glMultiTexCoord2dvARB) then Exit;
- glMultiTexCoord2fARB := wglGetProcAddress('glMultiTexCoord2fARB');
- if not Assigned(glMultiTexCoord2fARB) then Exit;
- glMultiTexCoord2fvARB := wglGetProcAddress('glMultiTexCoord2fvARB');
- if not Assigned(glMultiTexCoord2fvARB) then Exit;
- glMultiTexCoord2iARB := wglGetProcAddress('glMultiTexCoord2iARB');
- if not Assigned(glMultiTexCoord2iARB) then Exit;
- glMultiTexCoord2ivARB := wglGetProcAddress('glMultiTexCoord2ivARB');
- if not Assigned(glMultiTexCoord2ivARB) then Exit;
- glMultiTexCoord2sARB := wglGetProcAddress('glMultiTexCoord2sARB');
- if not Assigned(glMultiTexCoord2sARB) then Exit;
- glMultiTexCoord2svARB := wglGetProcAddress('glMultiTexCoord2svARB');
- if not Assigned(glMultiTexCoord2svARB) then Exit;
- glMultiTexCoord3dARB := wglGetProcAddress('glMultiTexCoord3dARB');
- if not Assigned(glMultiTexCoord3dARB) then Exit;
- glMultiTexCoord3dvARB := wglGetProcAddress('glMultiTexCoord3dvARB');
- if not Assigned(glMultiTexCoord3dvARB) then Exit;
- glMultiTexCoord3fARB := wglGetProcAddress('glMultiTexCoord3fARB');
- if not Assigned(glMultiTexCoord3fARB) then Exit;
- glMultiTexCoord3fvARB := wglGetProcAddress('glMultiTexCoord3fvARB');
- if not Assigned(glMultiTexCoord3fvARB) then Exit;
- glMultiTexCoord3iARB := wglGetProcAddress('glMultiTexCoord3iARB');
- if not Assigned(glMultiTexCoord3iARB) then Exit;
- glMultiTexCoord3ivARB := wglGetProcAddress('glMultiTexCoord3ivARB');
- if not Assigned(glMultiTexCoord3ivARB) then Exit;
- glMultiTexCoord3sARB := wglGetProcAddress('glMultiTexCoord3sARB');
- if not Assigned(glMultiTexCoord3sARB) then Exit;
- glMultiTexCoord3svARB := wglGetProcAddress('glMultiTexCoord3svARB');
- if not Assigned(glMultiTexCoord3svARB) then Exit;
- glMultiTexCoord4dARB := wglGetProcAddress('glMultiTexCoord4dARB');
- if not Assigned(glMultiTexCoord4dARB) then Exit;
- glMultiTexCoord4dvARB := wglGetProcAddress('glMultiTexCoord4dvARB');
- if not Assigned(glMultiTexCoord4dvARB) then Exit;
- glMultiTexCoord4fARB := wglGetProcAddress('glMultiTexCoord4fARB');
- if not Assigned(glMultiTexCoord4fARB) then Exit;
- glMultiTexCoord4fvARB := wglGetProcAddress('glMultiTexCoord4fvARB');
- if not Assigned(glMultiTexCoord4fvARB) then Exit;
- glMultiTexCoord4iARB := wglGetProcAddress('glMultiTexCoord4iARB');
- if not Assigned(glMultiTexCoord4iARB) then Exit;
- glMultiTexCoord4ivARB := wglGetProcAddress('glMultiTexCoord4ivARB');
- if not Assigned(glMultiTexCoord4ivARB) then Exit;
- glMultiTexCoord4sARB := wglGetProcAddress('glMultiTexCoord4sARB');
- if not Assigned(glMultiTexCoord4sARB) then Exit;
- glMultiTexCoord4svARB := wglGetProcAddress('glMultiTexCoord4svARB');
- if not Assigned(glMultiTexCoord4svARB) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_ARB_transpose_matrix: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_ARB_transpose_matrix', extstring) then
- begin
- glLoadTransposeMatrixfARB := wglGetProcAddress('glLoadTransposeMatrixfARB');
- if not Assigned(glLoadTransposeMatrixfARB) then Exit;
- glLoadTransposeMatrixdARB := wglGetProcAddress('glLoadTransposeMatrixdARB');
- if not Assigned(glLoadTransposeMatrixdARB) then Exit;
- glMultTransposeMatrixfARB := wglGetProcAddress('glMultTransposeMatrixfARB');
- if not Assigned(glMultTransposeMatrixfARB) then Exit;
- glMultTransposeMatrixdARB := wglGetProcAddress('glMultTransposeMatrixdARB');
- if not Assigned(glMultTransposeMatrixdARB) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_ARB_multisample: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_ARB_multisample', extstring) then
- begin
- glSampleCoverageARB := wglGetProcAddress('glSampleCoverageARB');
- if not Assigned(glSampleCoverageARB) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_ARB_texture_env_add: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_ARB_texture_env_add', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-{$IFDEF Windows}
-function Load_WGL_ARB_extensions_string: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- wglGetExtensionsStringARB := wglGetProcAddress('wglGetExtensionsStringARB');
- if not Assigned(wglGetExtensionsStringARB) then Exit;
- extstring := String(PChar(wglGetExtensionsStringARB(wglGetCurrentDC)));
-
- if glext_ExtensionSupported('WGL_ARB_extensions_string', extstring) then
- begin
- wglGetExtensionsStringARB := wglGetProcAddress('wglGetExtensionsStringARB');
- if not Assigned(wglGetExtensionsStringARB) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_WGL_ARB_buffer_region: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- wglGetExtensionsStringARB := wglGetProcAddress('wglGetExtensionsStringARB');
- if not Assigned(wglGetExtensionsStringARB) then Exit;
- extstring := String(PChar(wglGetExtensionsStringARB(wglGetCurrentDC)));
-
- if glext_ExtensionSupported('WGL_ARB_buffer_region', extstring) then
- begin
- wglCreateBufferRegionARB := wglGetProcAddress('wglCreateBufferRegionARB');
- if not Assigned(wglCreateBufferRegionARB) then Exit;
- wglDeleteBufferRegionARB := wglGetProcAddress('wglDeleteBufferRegionARB');
- if not Assigned(wglDeleteBufferRegionARB) then Exit;
- wglSaveBufferRegionARB := wglGetProcAddress('wglSaveBufferRegionARB');
- if not Assigned(wglSaveBufferRegionARB) then Exit;
- wglRestoreBufferRegionARB := wglGetProcAddress('wglRestoreBufferRegionARB');
- if not Assigned(wglRestoreBufferRegionARB) then Exit;
- Result := TRUE;
- end;
-
-end;
-{$ENDIF}
-
-function Load_GL_ARB_texture_cube_map: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_ARB_texture_cube_map', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_ARB_depth_texture: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_ARB_depth_texture', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_ARB_point_parameters: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_ARB_point_parameters', extstring) then
- begin
- glPointParameterfARB := wglGetProcAddress('glPointParameterfARB');
- if not Assigned(glPointParameterfARB) then Exit;
- glPointParameterfvARB := wglGetProcAddress('glPointParameterfvARB');
- if not Assigned(glPointParameterfvARB) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_ARB_shadow: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_ARB_shadow', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_ARB_shadow_ambient: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_ARB_shadow_ambient', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_ARB_texture_border_clamp: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_ARB_texture_border_clamp', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_ARB_texture_compression: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_ARB_texture_compression', extstring) then
- begin
- glCompressedTexImage3DARB := wglGetProcAddress('glCompressedTexImage3DARB');
- if not Assigned(glCompressedTexImage3DARB) then Exit;
- glCompressedTexImage2DARB := wglGetProcAddress('glCompressedTexImage2DARB');
- if not Assigned(glCompressedTexImage2DARB) then Exit;
- glCompressedTexImage1DARB := wglGetProcAddress('glCompressedTexImage1DARB');
- if not Assigned(glCompressedTexImage1DARB) then Exit;
- glCompressedTexSubImage3DARB := wglGetProcAddress('glCompressedTexSubImage3DARB');
- if not Assigned(glCompressedTexSubImage3DARB) then Exit;
- glCompressedTexSubImage2DARB := wglGetProcAddress('glCompressedTexSubImage2DARB');
- if not Assigned(glCompressedTexSubImage2DARB) then Exit;
- glCompressedTexSubImage1DARB := wglGetProcAddress('glCompressedTexSubImage1DARB');
- if not Assigned(glCompressedTexSubImage1DARB) then Exit;
- glGetCompressedTexImageARB := wglGetProcAddress('glGetCompressedTexImageARB');
- if not Assigned(glGetCompressedTexImageARB) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_ARB_texture_env_combine: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_ARB_texture_env_combine', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_ARB_texture_env_crossbar: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_ARB_texture_env_crossbar', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_ARB_texture_env_dot3: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_ARB_texture_env_dot3', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_ARB_texture_mirrored_repeat: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_ARB_texture_mirrored_repeat', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_ARB_vertex_blend: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_ARB_vertex_blend', extstring) then
- begin
- glWeightbvARB := wglGetProcAddress('glWeightbvARB');
- if not Assigned(glWeightbvARB) then Exit;
- glWeightsvARB := wglGetProcAddress('glWeightsvARB');
- if not Assigned(glWeightsvARB) then Exit;
- glWeightivARB := wglGetProcAddress('glWeightivARB');
- if not Assigned(glWeightivARB) then Exit;
- glWeightfvARB := wglGetProcAddress('glWeightfvARB');
- if not Assigned(glWeightfvARB) then Exit;
- glWeightdvARB := wglGetProcAddress('glWeightdvARB');
- if not Assigned(glWeightdvARB) then Exit;
- glWeightvARB := wglGetProcAddress('glWeightvARB');
- if not Assigned(glWeightvARB) then Exit;
- glWeightubvARB := wglGetProcAddress('glWeightubvARB');
- if not Assigned(glWeightubvARB) then Exit;
- glWeightusvARB := wglGetProcAddress('glWeightusvARB');
- if not Assigned(glWeightusvARB) then Exit;
- glWeightuivARB := wglGetProcAddress('glWeightuivARB');
- if not Assigned(glWeightuivARB) then Exit;
- glWeightPointerARB := wglGetProcAddress('glWeightPointerARB');
- if not Assigned(glWeightPointerARB) then Exit;
- glVertexBlendARB := wglGetProcAddress('glVertexBlendARB');
- if not Assigned(glVertexBlendARB) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_ARB_vertex_program: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_ARB_vertex_program', extstring) then
- begin
- glVertexAttrib1sARB := wglGetProcAddress('glVertexAttrib1sARB');
- if not Assigned(glVertexAttrib1sARB) then Exit;
- glVertexAttrib1fARB := wglGetProcAddress('glVertexAttrib1fARB');
- if not Assigned(glVertexAttrib1fARB) then Exit;
- glVertexAttrib1dARB := wglGetProcAddress('glVertexAttrib1dARB');
- if not Assigned(glVertexAttrib1dARB) then Exit;
- glVertexAttrib2sARB := wglGetProcAddress('glVertexAttrib2sARB');
- if not Assigned(glVertexAttrib2sARB) then Exit;
- glVertexAttrib2fARB := wglGetProcAddress('glVertexAttrib2fARB');
- if not Assigned(glVertexAttrib2fARB) then Exit;
- glVertexAttrib2dARB := wglGetProcAddress('glVertexAttrib2dARB');
- if not Assigned(glVertexAttrib2dARB) then Exit;
- glVertexAttrib3sARB := wglGetProcAddress('glVertexAttrib3sARB');
- if not Assigned(glVertexAttrib3sARB) then Exit;
- glVertexAttrib3fARB := wglGetProcAddress('glVertexAttrib3fARB');
- if not Assigned(glVertexAttrib3fARB) then Exit;
- glVertexAttrib3dARB := wglGetProcAddress('glVertexAttrib3dARB');
- if not Assigned(glVertexAttrib3dARB) then Exit;
- glVertexAttrib4sARB := wglGetProcAddress('glVertexAttrib4sARB');
- if not Assigned(glVertexAttrib4sARB) then Exit;
- glVertexAttrib4fARB := wglGetProcAddress('glVertexAttrib4fARB');
- if not Assigned(glVertexAttrib4fARB) then Exit;
- glVertexAttrib4dARB := wglGetProcAddress('glVertexAttrib4dARB');
- if not Assigned(glVertexAttrib4dARB) then Exit;
- glVertexAttrib4NubARB := wglGetProcAddress('glVertexAttrib4NubARB');
- if not Assigned(glVertexAttrib4NubARB) then Exit;
- glVertexAttrib1svARB := wglGetProcAddress('glVertexAttrib1svARB');
- if not Assigned(glVertexAttrib1svARB) then Exit;
- glVertexAttrib1fvARB := wglGetProcAddress('glVertexAttrib1fvARB');
- if not Assigned(glVertexAttrib1fvARB) then Exit;
- glVertexAttrib1dvARB := wglGetProcAddress('glVertexAttrib1dvARB');
- if not Assigned(glVertexAttrib1dvARB) then Exit;
- glVertexAttrib2svARB := wglGetProcAddress('glVertexAttrib2svARB');
- if not Assigned(glVertexAttrib2svARB) then Exit;
- glVertexAttrib2fvARB := wglGetProcAddress('glVertexAttrib2fvARB');
- if not Assigned(glVertexAttrib2fvARB) then Exit;
- glVertexAttrib2dvARB := wglGetProcAddress('glVertexAttrib2dvARB');
- if not Assigned(glVertexAttrib2dvARB) then Exit;
- glVertexAttrib3svARB := wglGetProcAddress('glVertexAttrib3svARB');
- if not Assigned(glVertexAttrib3svARB) then Exit;
- glVertexAttrib3fvARB := wglGetProcAddress('glVertexAttrib3fvARB');
- if not Assigned(glVertexAttrib3fvARB) then Exit;
- glVertexAttrib3dvARB := wglGetProcAddress('glVertexAttrib3dvARB');
- if not Assigned(glVertexAttrib3dvARB) then Exit;
- glVertexAttrib4bvARB := wglGetProcAddress('glVertexAttrib4bvARB');
- if not Assigned(glVertexAttrib4bvARB) then Exit;
- glVertexAttrib4svARB := wglGetProcAddress('glVertexAttrib4svARB');
- if not Assigned(glVertexAttrib4svARB) then Exit;
- glVertexAttrib4ivARB := wglGetProcAddress('glVertexAttrib4ivARB');
- if not Assigned(glVertexAttrib4ivARB) then Exit;
- glVertexAttrib4ubvARB := wglGetProcAddress('glVertexAttrib4ubvARB');
- if not Assigned(glVertexAttrib4ubvARB) then Exit;
- glVertexAttrib4usvARB := wglGetProcAddress('glVertexAttrib4usvARB');
- if not Assigned(glVertexAttrib4usvARB) then Exit;
- glVertexAttrib4uivARB := wglGetProcAddress('glVertexAttrib4uivARB');
- if not Assigned(glVertexAttrib4uivARB) then Exit;
- glVertexAttrib4fvARB := wglGetProcAddress('glVertexAttrib4fvARB');
- if not Assigned(glVertexAttrib4fvARB) then Exit;
- glVertexAttrib4dvARB := wglGetProcAddress('glVertexAttrib4dvARB');
- if not Assigned(glVertexAttrib4dvARB) then Exit;
- glVertexAttrib4NbvARB := wglGetProcAddress('glVertexAttrib4NbvARB');
- if not Assigned(glVertexAttrib4NbvARB) then Exit;
- glVertexAttrib4NsvARB := wglGetProcAddress('glVertexAttrib4NsvARB');
- if not Assigned(glVertexAttrib4NsvARB) then Exit;
- glVertexAttrib4NivARB := wglGetProcAddress('glVertexAttrib4NivARB');
- if not Assigned(glVertexAttrib4NivARB) then Exit;
- glVertexAttrib4NubvARB := wglGetProcAddress('glVertexAttrib4NubvARB');
- if not Assigned(glVertexAttrib4NubvARB) then Exit;
- glVertexAttrib4NusvARB := wglGetProcAddress('glVertexAttrib4NusvARB');
- if not Assigned(glVertexAttrib4NusvARB) then Exit;
- glVertexAttrib4NuivARB := wglGetProcAddress('glVertexAttrib4NuivARB');
- if not Assigned(glVertexAttrib4NuivARB) then Exit;
- glVertexAttribPointerARB := wglGetProcAddress('glVertexAttribPointerARB');
- if not Assigned(glVertexAttribPointerARB) then Exit;
- glEnableVertexAttribArrayARB := wglGetProcAddress('glEnableVertexAttribArrayARB');
- if not Assigned(glEnableVertexAttribArrayARB) then Exit;
- glDisableVertexAttribArrayARB := wglGetProcAddress('glDisableVertexAttribArrayARB');
- if not Assigned(glDisableVertexAttribArrayARB) then Exit;
- glProgramStringARB := wglGetProcAddress('glProgramStringARB');
- if not Assigned(glProgramStringARB) then Exit;
- glBindProgramARB := wglGetProcAddress('glBindProgramARB');
- if not Assigned(glBindProgramARB) then Exit;
- glDeleteProgramsARB := wglGetProcAddress('glDeleteProgramsARB');
- if not Assigned(glDeleteProgramsARB) then Exit;
- glGenProgramsARB := wglGetProcAddress('glGenProgramsARB');
- if not Assigned(glGenProgramsARB) then Exit;
- glProgramEnvParameter4dARB := wglGetProcAddress('glProgramEnvParameter4dARB');
- if not Assigned(glProgramEnvParameter4dARB) then Exit;
- glProgramEnvParameter4dvARB := wglGetProcAddress('glProgramEnvParameter4dvARB');
- if not Assigned(glProgramEnvParameter4dvARB) then Exit;
- glProgramEnvParameter4fARB := wglGetProcAddress('glProgramEnvParameter4fARB');
- if not Assigned(glProgramEnvParameter4fARB) then Exit;
- glProgramEnvParameter4fvARB := wglGetProcAddress('glProgramEnvParameter4fvARB');
- if not Assigned(glProgramEnvParameter4fvARB) then Exit;
- glProgramLocalParameter4dARB := wglGetProcAddress('glProgramLocalParameter4dARB');
- if not Assigned(glProgramLocalParameter4dARB) then Exit;
- glProgramLocalParameter4dvARB := wglGetProcAddress('glProgramLocalParameter4dvARB');
- if not Assigned(glProgramLocalParameter4dvARB) then Exit;
- glProgramLocalParameter4fARB := wglGetProcAddress('glProgramLocalParameter4fARB');
- if not Assigned(glProgramLocalParameter4fARB) then Exit;
- glProgramLocalParameter4fvARB := wglGetProcAddress('glProgramLocalParameter4fvARB');
- if not Assigned(glProgramLocalParameter4fvARB) then Exit;
- glGetProgramEnvParameterdvARB := wglGetProcAddress('glGetProgramEnvParameterdvARB');
- if not Assigned(glGetProgramEnvParameterdvARB) then Exit;
- glGetProgramEnvParameterfvARB := wglGetProcAddress('glGetProgramEnvParameterfvARB');
- if not Assigned(glGetProgramEnvParameterfvARB) then Exit;
- glGetProgramLocalParameterdvARB := wglGetProcAddress('glGetProgramLocalParameterdvARB');
- if not Assigned(glGetProgramLocalParameterdvARB) then Exit;
- glGetProgramLocalParameterfvARB := wglGetProcAddress('glGetProgramLocalParameterfvARB');
- if not Assigned(glGetProgramLocalParameterfvARB) then Exit;
- glGetProgramivARB := wglGetProcAddress('glGetProgramivARB');
- if not Assigned(glGetProgramivARB) then Exit;
- glGetProgramStringARB := wglGetProcAddress('glGetProgramStringARB');
- if not Assigned(glGetProgramStringARB) then Exit;
- glGetVertexAttribdvARB := wglGetProcAddress('glGetVertexAttribdvARB');
- if not Assigned(glGetVertexAttribdvARB) then Exit;
- glGetVertexAttribfvARB := wglGetProcAddress('glGetVertexAttribfvARB');
- if not Assigned(glGetVertexAttribfvARB) then Exit;
- glGetVertexAttribivARB := wglGetProcAddress('glGetVertexAttribivARB');
- if not Assigned(glGetVertexAttribivARB) then Exit;
- glGetVertexAttribPointervARB := wglGetProcAddress('glGetVertexAttribPointervARB');
- if not Assigned(glGetVertexAttribPointervARB) then Exit;
- glIsProgramARB := wglGetProcAddress('glIsProgramARB');
- if not Assigned(glIsProgramARB) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_ARB_window_pos: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_ARB_window_pos', extstring) then
- begin
- glWindowPos2dARB := wglGetProcAddress('glWindowPos2dARB');
- if not Assigned(glWindowPos2dARB) then Exit;
- glWindowPos2fARB := wglGetProcAddress('glWindowPos2fARB');
- if not Assigned(glWindowPos2fARB) then Exit;
- glWindowPos2iARB := wglGetProcAddress('glWindowPos2iARB');
- if not Assigned(glWindowPos2iARB) then Exit;
- glWindowPos2sARB := wglGetProcAddress('glWindowPos2sARB');
- if not Assigned(glWindowPos2sARB) then Exit;
- glWindowPos2dvARB := wglGetProcAddress('glWindowPos2dvARB');
- if not Assigned(glWindowPos2dvARB) then Exit;
- glWindowPos2fvARB := wglGetProcAddress('glWindowPos2fvARB');
- if not Assigned(glWindowPos2fvARB) then Exit;
- glWindowPos2ivARB := wglGetProcAddress('glWindowPos2ivARB');
- if not Assigned(glWindowPos2ivARB) then Exit;
- glWindowPos2svARB := wglGetProcAddress('glWindowPos2svARB');
- if not Assigned(glWindowPos2svARB) then Exit;
- glWindowPos3dARB := wglGetProcAddress('glWindowPos3dARB');
- if not Assigned(glWindowPos3dARB) then Exit;
- glWindowPos3fARB := wglGetProcAddress('glWindowPos3fARB');
- if not Assigned(glWindowPos3fARB) then Exit;
- glWindowPos3iARB := wglGetProcAddress('glWindowPos3iARB');
- if not Assigned(glWindowPos3iARB) then Exit;
- glWindowPos3sARB := wglGetProcAddress('glWindowPos3sARB');
- if not Assigned(glWindowPos3sARB) then Exit;
- glWindowPos3dvARB := wglGetProcAddress('glWindowPos3dvARB');
- if not Assigned(glWindowPos3dvARB) then Exit;
- glWindowPos3fvARB := wglGetProcAddress('glWindowPos3fvARB');
- if not Assigned(glWindowPos3fvARB) then Exit;
- glWindowPos3ivARB := wglGetProcAddress('glWindowPos3ivARB');
- if not Assigned(glWindowPos3ivARB) then Exit;
- glWindowPos3svARB := wglGetProcAddress('glWindowPos3svARB');
- if not Assigned(glWindowPos3svARB) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_EXT_422_pixels: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_EXT_422_pixels', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_EXT_abgr: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_EXT_abgr', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_EXT_bgra: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_EXT_bgra', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_EXT_blend_color: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_EXT_blend_color', extstring) then
- begin
- glBlendColorEXT := wglGetProcAddress('glBlendColorEXT');
- if not Assigned(glBlendColorEXT) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_EXT_blend_func_separate: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_EXT_blend_func_separate', extstring) then
- begin
- glBlendFuncSeparateEXT := wglGetProcAddress('glBlendFuncSeparateEXT');
- if not Assigned(glBlendFuncSeparateEXT) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_EXT_blend_logic_op: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_EXT_blend_logic_op', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_EXT_blend_minmax: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_EXT_blend_minmax', extstring) then
- begin
- glBlendEquationEXT := wglGetProcAddress('glBlendEquationEXT');
- if not Assigned(glBlendEquationEXT) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_EXT_blend_subtract: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_EXT_blend_subtract', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_EXT_clip_volume_hint: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_EXT_clip_volume_hint', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_EXT_color_subtable: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_EXT_color_subtable', extstring) then
- begin
- glColorSubTableEXT := wglGetProcAddress('glColorSubTableEXT');
- if not Assigned(glColorSubTableEXT) then Exit;
- glCopyColorSubTableEXT := wglGetProcAddress('glCopyColorSubTableEXT');
- if not Assigned(glCopyColorSubTableEXT) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_EXT_compiled_vertex_array: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_EXT_compiled_vertex_array', extstring) then
- begin
- glLockArraysEXT := wglGetProcAddress('glLockArraysEXT');
- if not Assigned(glLockArraysEXT) then Exit;
- glUnlockArraysEXT := wglGetProcAddress('glUnlockArraysEXT');
- if not Assigned(glUnlockArraysEXT) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_EXT_convolution: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_EXT_convolution', extstring) then
- begin
- glConvolutionFilter1DEXT := wglGetProcAddress('glConvolutionFilter1DEXT');
- if not Assigned(glConvolutionFilter1DEXT) then Exit;
- glConvolutionFilter2DEXT := wglGetProcAddress('glConvolutionFilter2DEXT');
- if not Assigned(glConvolutionFilter2DEXT) then Exit;
- glCopyConvolutionFilter1DEXT := wglGetProcAddress('glCopyConvolutionFilter1DEXT');
- if not Assigned(glCopyConvolutionFilter1DEXT) then Exit;
- glCopyConvolutionFilter2DEXT := wglGetProcAddress('glCopyConvolutionFilter2DEXT');
- if not Assigned(glCopyConvolutionFilter2DEXT) then Exit;
- glGetConvolutionFilterEXT := wglGetProcAddress('glGetConvolutionFilterEXT');
- if not Assigned(glGetConvolutionFilterEXT) then Exit;
- glSeparableFilter2DEXT := wglGetProcAddress('glSeparableFilter2DEXT');
- if not Assigned(glSeparableFilter2DEXT) then Exit;
- glGetSeparableFilterEXT := wglGetProcAddress('glGetSeparableFilterEXT');
- if not Assigned(glGetSeparableFilterEXT) then Exit;
- glConvolutionParameteriEXT := wglGetProcAddress('glConvolutionParameteriEXT');
- if not Assigned(glConvolutionParameteriEXT) then Exit;
- glConvolutionParameterivEXT := wglGetProcAddress('glConvolutionParameterivEXT');
- if not Assigned(glConvolutionParameterivEXT) then Exit;
- glConvolutionParameterfEXT := wglGetProcAddress('glConvolutionParameterfEXT');
- if not Assigned(glConvolutionParameterfEXT) then Exit;
- glConvolutionParameterfvEXT := wglGetProcAddress('glConvolutionParameterfvEXT');
- if not Assigned(glConvolutionParameterfvEXT) then Exit;
- glGetConvolutionParameterivEXT := wglGetProcAddress('glGetConvolutionParameterivEXT');
- if not Assigned(glGetConvolutionParameterivEXT) then Exit;
- glGetConvolutionParameterfvEXT := wglGetProcAddress('glGetConvolutionParameterfvEXT');
- if not Assigned(glGetConvolutionParameterfvEXT) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_EXT_fog_coord: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_EXT_fog_coord', extstring) then
- begin
- glFogCoordfEXT := wglGetProcAddress('glFogCoordfEXT');
- if not Assigned(glFogCoordfEXT) then Exit;
- glFogCoorddEXT := wglGetProcAddress('glFogCoorddEXT');
- if not Assigned(glFogCoorddEXT) then Exit;
- glFogCoordfvEXT := wglGetProcAddress('glFogCoordfvEXT');
- if not Assigned(glFogCoordfvEXT) then Exit;
- glFogCoorddvEXT := wglGetProcAddress('glFogCoorddvEXT');
- if not Assigned(glFogCoorddvEXT) then Exit;
- glFogCoordPointerEXT := wglGetProcAddress('glFogCoordPointerEXT');
- if not Assigned(glFogCoordPointerEXT) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_EXT_histogram: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_EXT_histogram', extstring) then
- begin
- glHistogramEXT := wglGetProcAddress('glHistogramEXT');
- if not Assigned(glHistogramEXT) then Exit;
- glResetHistogramEXT := wglGetProcAddress('glResetHistogramEXT');
- if not Assigned(glResetHistogramEXT) then Exit;
- glGetHistogramEXT := wglGetProcAddress('glGetHistogramEXT');
- if not Assigned(glGetHistogramEXT) then Exit;
- glGetHistogramParameterivEXT := wglGetProcAddress('glGetHistogramParameterivEXT');
- if not Assigned(glGetHistogramParameterivEXT) then Exit;
- glGetHistogramParameterfvEXT := wglGetProcAddress('glGetHistogramParameterfvEXT');
- if not Assigned(glGetHistogramParameterfvEXT) then Exit;
- glMinmaxEXT := wglGetProcAddress('glMinmaxEXT');
- if not Assigned(glMinmaxEXT) then Exit;
- glResetMinmaxEXT := wglGetProcAddress('glResetMinmaxEXT');
- if not Assigned(glResetMinmaxEXT) then Exit;
- glGetMinmaxEXT := wglGetProcAddress('glGetMinmaxEXT');
- if not Assigned(glGetMinmaxEXT) then Exit;
- glGetMinmaxParameterivEXT := wglGetProcAddress('glGetMinmaxParameterivEXT');
- if not Assigned(glGetMinmaxParameterivEXT) then Exit;
- glGetMinmaxParameterfvEXT := wglGetProcAddress('glGetMinmaxParameterfvEXT');
- if not Assigned(glGetMinmaxParameterfvEXT) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_EXT_multi_draw_arrays: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_EXT_multi_draw_arrays', extstring) then
- begin
- glMultiDrawArraysEXT := wglGetProcAddress('glMultiDrawArraysEXT');
- if not Assigned(glMultiDrawArraysEXT) then Exit;
- glMultiDrawElementsEXT := wglGetProcAddress('glMultiDrawElementsEXT');
- if not Assigned(glMultiDrawElementsEXT) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_EXT_packed_pixels: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_EXT_packed_pixels', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_EXT_paletted_texture: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_EXT_paletted_texture', extstring) then
- begin
- glColorTableEXT := wglGetProcAddress('glColorTableEXT');
- if not Assigned(glColorTableEXT) then Exit;
- glColorSubTableEXT := wglGetProcAddress('glColorSubTableEXT');
- if not Assigned(glColorSubTableEXT) then Exit;
- glGetColorTableEXT := wglGetProcAddress('glGetColorTableEXT');
- if not Assigned(glGetColorTableEXT) then Exit;
- glGetColorTableParameterivEXT := wglGetProcAddress('glGetColorTableParameterivEXT');
- if not Assigned(glGetColorTableParameterivEXT) then Exit;
- glGetColorTableParameterfvEXT := wglGetProcAddress('glGetColorTableParameterfvEXT');
- if not Assigned(glGetColorTableParameterfvEXT) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_EXT_point_parameters: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_EXT_point_parameters', extstring) then
- begin
- glPointParameterfEXT := wglGetProcAddress('glPointParameterfEXT');
- if not Assigned(glPointParameterfEXT) then Exit;
- glPointParameterfvEXT := wglGetProcAddress('glPointParameterfvEXT');
- if not Assigned(glPointParameterfvEXT) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_EXT_polygon_offset: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_EXT_polygon_offset', extstring) then
- begin
- glPolygonOffsetEXT := wglGetProcAddress('glPolygonOffsetEXT');
- if not Assigned(glPolygonOffsetEXT) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_EXT_secondary_color: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_EXT_secondary_color', extstring) then
- begin
- glSecondaryColor3bEXT := wglGetProcAddress('glSecondaryColor3bEXT');
- if not Assigned(glSecondaryColor3bEXT) then Exit;
- glSecondaryColor3sEXT := wglGetProcAddress('glSecondaryColor3sEXT');
- if not Assigned(glSecondaryColor3sEXT) then Exit;
- glSecondaryColor3iEXT := wglGetProcAddress('glSecondaryColor3iEXT');
- if not Assigned(glSecondaryColor3iEXT) then Exit;
- glSecondaryColor3fEXT := wglGetProcAddress('glSecondaryColor3fEXT');
- if not Assigned(glSecondaryColor3fEXT) then Exit;
- glSecondaryColor3dEXT := wglGetProcAddress('glSecondaryColor3dEXT');
- if not Assigned(glSecondaryColor3dEXT) then Exit;
- glSecondaryColor3ubEXT := wglGetProcAddress('glSecondaryColor3ubEXT');
- if not Assigned(glSecondaryColor3ubEXT) then Exit;
- glSecondaryColor3usEXT := wglGetProcAddress('glSecondaryColor3usEXT');
- if not Assigned(glSecondaryColor3usEXT) then Exit;
- glSecondaryColor3uiEXT := wglGetProcAddress('glSecondaryColor3uiEXT');
- if not Assigned(glSecondaryColor3uiEXT) then Exit;
- glSecondaryColor3bvEXT := wglGetProcAddress('glSecondaryColor3bvEXT');
- if not Assigned(glSecondaryColor3bvEXT) then Exit;
- glSecondaryColor3svEXT := wglGetProcAddress('glSecondaryColor3svEXT');
- if not Assigned(glSecondaryColor3svEXT) then Exit;
- glSecondaryColor3ivEXT := wglGetProcAddress('glSecondaryColor3ivEXT');
- if not Assigned(glSecondaryColor3ivEXT) then Exit;
- glSecondaryColor3fvEXT := wglGetProcAddress('glSecondaryColor3fvEXT');
- if not Assigned(glSecondaryColor3fvEXT) then Exit;
- glSecondaryColor3dvEXT := wglGetProcAddress('glSecondaryColor3dvEXT');
- if not Assigned(glSecondaryColor3dvEXT) then Exit;
- glSecondaryColor3ubvEXT := wglGetProcAddress('glSecondaryColor3ubvEXT');
- if not Assigned(glSecondaryColor3ubvEXT) then Exit;
- glSecondaryColor3usvEXT := wglGetProcAddress('glSecondaryColor3usvEXT');
- if not Assigned(glSecondaryColor3usvEXT) then Exit;
- glSecondaryColor3uivEXT := wglGetProcAddress('glSecondaryColor3uivEXT');
- if not Assigned(glSecondaryColor3uivEXT) then Exit;
- glSecondaryColorPointerEXT := wglGetProcAddress('glSecondaryColorPointerEXT');
- if not Assigned(glSecondaryColorPointerEXT) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_EXT_separate_specular_color: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_EXT_separate_specular_color', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_EXT_shadow_funcs: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_EXT_shadow_funcs', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_EXT_shared_texture_palette: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_EXT_shared_texture_palette', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_EXT_stencil_two_side: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_EXT_stencil_two_side', extstring) then
- begin
- glActiveStencilFaceEXT := wglGetProcAddress('glActiveStencilFaceEXT');
- if not Assigned(glActiveStencilFaceEXT) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_EXT_stencil_wrap: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_EXT_stencil_wrap', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_EXT_subtexture: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_EXT_subtexture', extstring) then
- begin
- glTexSubImage1DEXT := wglGetProcAddress('glTexSubImage1DEXT');
- if not Assigned(glTexSubImage1DEXT) then Exit;
- glTexSubImage2DEXT := wglGetProcAddress('glTexSubImage2DEXT');
- if not Assigned(glTexSubImage2DEXT) then Exit;
- glTexSubImage3DEXT := wglGetProcAddress('glTexSubImage3DEXT');
- if not Assigned(glTexSubImage3DEXT) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_EXT_texture3D: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_EXT_texture3D', extstring) then
- begin
- glTexImage3DEXT := wglGetProcAddress('glTexImage3DEXT');
- if not Assigned(glTexImage3DEXT) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_EXT_texture_compression_s3tc: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_EXT_texture_compression_s3tc', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_EXT_texture_env_add: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_EXT_texture_env_add', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_EXT_texture_env_combine: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_EXT_texture_env_combine', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_EXT_texture_env_dot3: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_EXT_texture_env_dot3', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_EXT_texture_filter_anisotropic: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_EXT_texture_filter_anisotropic', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_EXT_texture_lod_bias: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_EXT_texture_lod_bias', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_EXT_texture_object: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_EXT_texture_object', extstring) then
- begin
- glGenTexturesEXT := wglGetProcAddress('glGenTexturesEXT');
- if not Assigned(glGenTexturesEXT) then Exit;
- glDeleteTexturesEXT := wglGetProcAddress('glDeleteTexturesEXT');
- if not Assigned(glDeleteTexturesEXT) then Exit;
- glBindTextureEXT := wglGetProcAddress('glBindTextureEXT');
- if not Assigned(glBindTextureEXT) then Exit;
- glPrioritizeTexturesEXT := wglGetProcAddress('glPrioritizeTexturesEXT');
- if not Assigned(glPrioritizeTexturesEXT) then Exit;
- glAreTexturesResidentEXT := wglGetProcAddress('glAreTexturesResidentEXT');
- if not Assigned(glAreTexturesResidentEXT) then Exit;
- glIsTextureEXT := wglGetProcAddress('glIsTextureEXT');
- if not Assigned(glIsTextureEXT) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_EXT_vertex_array: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_EXT_vertex_array', extstring) then
- begin
- glArrayElementEXT := wglGetProcAddress('glArrayElementEXT');
- if not Assigned(glArrayElementEXT) then Exit;
- glDrawArraysEXT := wglGetProcAddress('glDrawArraysEXT');
- if not Assigned(glDrawArraysEXT) then Exit;
- glVertexPointerEXT := wglGetProcAddress('glVertexPointerEXT');
- if not Assigned(glVertexPointerEXT) then Exit;
- glNormalPointerEXT := wglGetProcAddress('glNormalPointerEXT');
- if not Assigned(glNormalPointerEXT) then Exit;
- glColorPointerEXT := wglGetProcAddress('glColorPointerEXT');
- if not Assigned(glColorPointerEXT) then Exit;
- glIndexPointerEXT := wglGetProcAddress('glIndexPointerEXT');
- if not Assigned(glIndexPointerEXT) then Exit;
- glTexCoordPointerEXT := wglGetProcAddress('glTexCoordPointerEXT');
- if not Assigned(glTexCoordPointerEXT) then Exit;
- glEdgeFlagPointerEXT := wglGetProcAddress('glEdgeFlagPointerEXT');
- if not Assigned(glEdgeFlagPointerEXT) then Exit;
- glGetPointervEXT := wglGetProcAddress('glGetPointervEXT');
- if not Assigned(glGetPointervEXT) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_EXT_vertex_shader: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_EXT_vertex_shader', extstring) then
- begin
- glBeginVertexShaderEXT := wglGetProcAddress('glBeginVertexShaderEXT');
- if not Assigned(glBeginVertexShaderEXT) then Exit;
- glEndVertexShaderEXT := wglGetProcAddress('glEndVertexShaderEXT');
- if not Assigned(glEndVertexShaderEXT) then Exit;
- glBindVertexShaderEXT := wglGetProcAddress('glBindVertexShaderEXT');
- if not Assigned(glBindVertexShaderEXT) then Exit;
- glGenVertexShadersEXT := wglGetProcAddress('glGenVertexShadersEXT');
- if not Assigned(glGenVertexShadersEXT) then Exit;
- glDeleteVertexShaderEXT := wglGetProcAddress('glDeleteVertexShaderEXT');
- if not Assigned(glDeleteVertexShaderEXT) then Exit;
- glShaderOp1EXT := wglGetProcAddress('glShaderOp1EXT');
- if not Assigned(glShaderOp1EXT) then Exit;
- glShaderOp2EXT := wglGetProcAddress('glShaderOp2EXT');
- if not Assigned(glShaderOp2EXT) then Exit;
- glShaderOp3EXT := wglGetProcAddress('glShaderOp3EXT');
- if not Assigned(glShaderOp3EXT) then Exit;
- glSwizzleEXT := wglGetProcAddress('glSwizzleEXT');
- if not Assigned(glSwizzleEXT) then Exit;
- glWriteMaskEXT := wglGetProcAddress('glWriteMaskEXT');
- if not Assigned(glWriteMaskEXT) then Exit;
- glInsertComponentEXT := wglGetProcAddress('glInsertComponentEXT');
- if not Assigned(glInsertComponentEXT) then Exit;
- glExtractComponentEXT := wglGetProcAddress('glExtractComponentEXT');
- if not Assigned(glExtractComponentEXT) then Exit;
- glGenSymbolsEXT := wglGetProcAddress('glGenSymbolsEXT');
- if not Assigned(glGenSymbolsEXT) then Exit;
- glSetInvariantEXT := wglGetProcAddress('glSetInvariantEXT');
- if not Assigned(glSetInvariantEXT) then Exit;
- glSetLocalConstantEXT := wglGetProcAddress('glSetLocalConstantEXT');
- if not Assigned(glSetLocalConstantEXT) then Exit;
- glVariantbvEXT := wglGetProcAddress('glVariantbvEXT');
- if not Assigned(glVariantbvEXT) then Exit;
- glVariantsvEXT := wglGetProcAddress('glVariantsvEXT');
- if not Assigned(glVariantsvEXT) then Exit;
- glVariantivEXT := wglGetProcAddress('glVariantivEXT');
- if not Assigned(glVariantivEXT) then Exit;
- glVariantfvEXT := wglGetProcAddress('glVariantfvEXT');
- if not Assigned(glVariantfvEXT) then Exit;
- glVariantdvEXT := wglGetProcAddress('glVariantdvEXT');
- if not Assigned(glVariantdvEXT) then Exit;
- glVariantubvEXT := wglGetProcAddress('glVariantubvEXT');
- if not Assigned(glVariantubvEXT) then Exit;
- glVariantusvEXT := wglGetProcAddress('glVariantusvEXT');
- if not Assigned(glVariantusvEXT) then Exit;
- glVariantuivEXT := wglGetProcAddress('glVariantuivEXT');
- if not Assigned(glVariantuivEXT) then Exit;
- glVariantPointerEXT := wglGetProcAddress('glVariantPointerEXT');
- if not Assigned(glVariantPointerEXT) then Exit;
- glEnableVariantClientStateEXT := wglGetProcAddress('glEnableVariantClientStateEXT');
- if not Assigned(glEnableVariantClientStateEXT) then Exit;
- glDisableVariantClientStateEXT := wglGetProcAddress('glDisableVariantClientStateEXT');
- if not Assigned(glDisableVariantClientStateEXT) then Exit;
- glBindLightParameterEXT := wglGetProcAddress('glBindLightParameterEXT');
- if not Assigned(glBindLightParameterEXT) then Exit;
- glBindMaterialParameterEXT := wglGetProcAddress('glBindMaterialParameterEXT');
- if not Assigned(glBindMaterialParameterEXT) then Exit;
- glBindTexGenParameterEXT := wglGetProcAddress('glBindTexGenParameterEXT');
- if not Assigned(glBindTexGenParameterEXT) then Exit;
- glBindTextureUnitParameterEXT := wglGetProcAddress('glBindTextureUnitParameterEXT');
- if not Assigned(glBindTextureUnitParameterEXT) then Exit;
- glBindParameterEXT := wglGetProcAddress('glBindParameterEXT');
- if not Assigned(glBindParameterEXT) then Exit;
- glIsVariantEnabledEXT := wglGetProcAddress('glIsVariantEnabledEXT');
- if not Assigned(glIsVariantEnabledEXT) then Exit;
- glGetVariantBooleanvEXT := wglGetProcAddress('glGetVariantBooleanvEXT');
- if not Assigned(glGetVariantBooleanvEXT) then Exit;
- glGetVariantIntegervEXT := wglGetProcAddress('glGetVariantIntegervEXT');
- if not Assigned(glGetVariantIntegervEXT) then Exit;
- glGetVariantFloatvEXT := wglGetProcAddress('glGetVariantFloatvEXT');
- if not Assigned(glGetVariantFloatvEXT) then Exit;
- glGetVariantPointervEXT := wglGetProcAddress('glGetVariantPointervEXT');
- if not Assigned(glGetVariantPointervEXT) then Exit;
- glGetInvariantBooleanvEXT := wglGetProcAddress('glGetInvariantBooleanvEXT');
- if not Assigned(glGetInvariantBooleanvEXT) then Exit;
- glGetInvariantIntegervEXT := wglGetProcAddress('glGetInvariantIntegervEXT');
- if not Assigned(glGetInvariantIntegervEXT) then Exit;
- glGetInvariantFloatvEXT := wglGetProcAddress('glGetInvariantFloatvEXT');
- if not Assigned(glGetInvariantFloatvEXT) then Exit;
- glGetLocalConstantBooleanvEXT := wglGetProcAddress('glGetLocalConstantBooleanvEXT');
- if not Assigned(glGetLocalConstantBooleanvEXT) then Exit;
- glGetLocalConstantIntegervEXT := wglGetProcAddress('glGetLocalConstantIntegervEXT');
- if not Assigned(glGetLocalConstantIntegervEXT) then Exit;
- glGetLocalConstantFloatvEXT := wglGetProcAddress('glGetLocalConstantFloatvEXT');
- if not Assigned(glGetLocalConstantFloatvEXT) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_EXT_vertex_weighting: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_EXT_vertex_weighting', extstring) then
- begin
- glVertexWeightfEXT := wglGetProcAddress('glVertexWeightfEXT');
- if not Assigned(glVertexWeightfEXT) then Exit;
- glVertexWeightfvEXT := wglGetProcAddress('glVertexWeightfvEXT');
- if not Assigned(glVertexWeightfvEXT) then Exit;
- glVertexWeightPointerEXT := wglGetProcAddress('glVertexWeightPointerEXT');
- if not Assigned(glVertexWeightPointerEXT) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_HP_occlusion_test: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_HP_occlusion_test', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_NV_blend_square: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_NV_blend_square', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_NV_copy_depth_to_color: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_NV_copy_depth_to_color', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_NV_depth_clamp: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_NV_depth_clamp', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_NV_evaluators: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_NV_evaluators', extstring) then
- begin
- glMapControlPointsNV := wglGetProcAddress('glMapControlPointsNV');
- if not Assigned(glMapControlPointsNV) then Exit;
- glMapParameterivNV := wglGetProcAddress('glMapParameterivNV');
- if not Assigned(glMapParameterivNV) then Exit;
- glMapParameterfvNV := wglGetProcAddress('glMapParameterfvNV');
- if not Assigned(glMapParameterfvNV) then Exit;
- glGetMapControlPointsNV := wglGetProcAddress('glGetMapControlPointsNV');
- if not Assigned(glGetMapControlPointsNV) then Exit;
- glGetMapParameterivNV := wglGetProcAddress('glGetMapParameterivNV');
- if not Assigned(glGetMapParameterivNV) then Exit;
- glGetMapParameterfvNV := wglGetProcAddress('glGetMapParameterfvNV');
- if not Assigned(glGetMapParameterfvNV) then Exit;
- glGetMapAttribParameterivNV := wglGetProcAddress('glGetMapAttribParameterivNV');
- if not Assigned(glGetMapAttribParameterivNV) then Exit;
- glGetMapAttribParameterfvNV := wglGetProcAddress('glGetMapAttribParameterfvNV');
- if not Assigned(glGetMapAttribParameterfvNV) then Exit;
- glEvalMapsNV := wglGetProcAddress('glEvalMapsNV');
- if not Assigned(glEvalMapsNV) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_NV_fence: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_NV_fence', extstring) then
- begin
- glGenFencesNV := wglGetProcAddress('glGenFencesNV');
- if not Assigned(glGenFencesNV) then Exit;
- glDeleteFencesNV := wglGetProcAddress('glDeleteFencesNV');
- if not Assigned(glDeleteFencesNV) then Exit;
- glSetFenceNV := wglGetProcAddress('glSetFenceNV');
- if not Assigned(glSetFenceNV) then Exit;
- glTestFenceNV := wglGetProcAddress('glTestFenceNV');
- if not Assigned(glTestFenceNV) then Exit;
- glFinishFenceNV := wglGetProcAddress('glFinishFenceNV');
- if not Assigned(glFinishFenceNV) then Exit;
- glIsFenceNV := wglGetProcAddress('glIsFenceNV');
- if not Assigned(glIsFenceNV) then Exit;
- glGetFenceivNV := wglGetProcAddress('glGetFenceivNV');
- if not Assigned(glGetFenceivNV) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_NV_fog_distance: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_NV_fog_distance', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_NV_light_max_exponent: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_NV_light_max_exponent', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_NV_multisample_filter_hint: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_NV_multisample_filter_hint', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_NV_occlusion_query: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_NV_occlusion_query', extstring) then
- begin
- glGenOcclusionQueriesNV := wglGetProcAddress('glGenOcclusionQueriesNV');
- if not Assigned(glGenOcclusionQueriesNV) then Exit;
- glDeleteOcclusionQueriesNV := wglGetProcAddress('glDeleteOcclusionQueriesNV');
- if not Assigned(glDeleteOcclusionQueriesNV) then Exit;
- glIsOcclusionQueryNV := wglGetProcAddress('glIsOcclusionQueryNV');
- if not Assigned(glIsOcclusionQueryNV) then Exit;
- glBeginOcclusionQueryNV := wglGetProcAddress('glBeginOcclusionQueryNV');
- if not Assigned(glBeginOcclusionQueryNV) then Exit;
- glEndOcclusionQueryNV := wglGetProcAddress('glEndOcclusionQueryNV');
- if not Assigned(glEndOcclusionQueryNV) then Exit;
- glGetOcclusionQueryivNV := wglGetProcAddress('glGetOcclusionQueryivNV');
- if not Assigned(glGetOcclusionQueryivNV) then Exit;
- glGetOcclusionQueryuivNV := wglGetProcAddress('glGetOcclusionQueryuivNV');
- if not Assigned(glGetOcclusionQueryuivNV) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_NV_packed_depth_stencil: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_NV_packed_depth_stencil', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_NV_point_sprite: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_NV_point_sprite', extstring) then
- begin
- glPointParameteriNV := wglGetProcAddress('glPointParameteriNV');
- if not Assigned(glPointParameteriNV) then Exit;
- glPointParameterivNV := wglGetProcAddress('glPointParameterivNV');
- if not Assigned(glPointParameterivNV) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_NV_register_combiners: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_NV_register_combiners', extstring) then
- begin
- glCombinerParameterfvNV := wglGetProcAddress('glCombinerParameterfvNV');
- if not Assigned(glCombinerParameterfvNV) then Exit;
- glCombinerParameterivNV := wglGetProcAddress('glCombinerParameterivNV');
- if not Assigned(glCombinerParameterivNV) then Exit;
- glCombinerParameterfNV := wglGetProcAddress('glCombinerParameterfNV');
- if not Assigned(glCombinerParameterfNV) then Exit;
- glCombinerParameteriNV := wglGetProcAddress('glCombinerParameteriNV');
- if not Assigned(glCombinerParameteriNV) then Exit;
- glCombinerInputNV := wglGetProcAddress('glCombinerInputNV');
- if not Assigned(glCombinerInputNV) then Exit;
- glCombinerOutputNV := wglGetProcAddress('glCombinerOutputNV');
- if not Assigned(glCombinerOutputNV) then Exit;
- glFinalCombinerInputNV := wglGetProcAddress('glFinalCombinerInputNV');
- if not Assigned(glFinalCombinerInputNV) then Exit;
- glGetCombinerInputParameterfvNV := wglGetProcAddress('glGetCombinerInputParameterfvNV');
- if not Assigned(glGetCombinerInputParameterfvNV) then Exit;
- glGetCombinerInputParameterivNV := wglGetProcAddress('glGetCombinerInputParameterivNV');
- if not Assigned(glGetCombinerInputParameterivNV) then Exit;
- glGetCombinerOutputParameterfvNV := wglGetProcAddress('glGetCombinerOutputParameterfvNV');
- if not Assigned(glGetCombinerOutputParameterfvNV) then Exit;
- glGetCombinerOutputParameterivNV := wglGetProcAddress('glGetCombinerOutputParameterivNV');
- if not Assigned(glGetCombinerOutputParameterivNV) then Exit;
- glGetFinalCombinerInputParameterfvNV := wglGetProcAddress('glGetFinalCombinerInputParameterfvNV');
- if not Assigned(glGetFinalCombinerInputParameterfvNV) then Exit;
- glGetFinalCombinerInputParameterivNV := wglGetProcAddress('glGetFinalCombinerInputParameterivNV');
- if not Assigned(glGetFinalCombinerInputParameterivNV) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_NV_register_combiners2: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_NV_register_combiners2', extstring) then
- begin
- glCombinerStageParameterfvNV := wglGetProcAddress('glCombinerStageParameterfvNV');
- if not Assigned(glCombinerStageParameterfvNV) then Exit;
- glGetCombinerStageParameterfvNV := wglGetProcAddress('glGetCombinerStageParameterfvNV');
- if not Assigned(glGetCombinerStageParameterfvNV) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_NV_texgen_emboss: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_NV_texgen_emboss', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_NV_texgen_reflection: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_NV_texgen_reflection', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_NV_texture_compression_vtc: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_NV_texture_compression_vtc', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_NV_texture_env_combine4: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_NV_texture_env_combine4', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_NV_texture_rectangle: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_NV_texture_rectangle', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_NV_texture_shader: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_NV_texture_shader', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_NV_texture_shader2: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_NV_texture_shader2', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_NV_texture_shader3: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_NV_texture_shader3', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_NV_vertex_array_range: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_NV_vertex_array_range', extstring) then
- begin
- glVertexArrayRangeNV := wglGetProcAddress('glVertexArrayRangeNV');
- if not Assigned(glVertexArrayRangeNV) then Exit;
- glFlushVertexArrayRangeNV := wglGetProcAddress('glFlushVertexArrayRangeNV');
- if not Assigned(glFlushVertexArrayRangeNV) then Exit;
-{$IFDEF Windows}
- wglAllocateMemoryNV := wglGetProcAddress('wglAllocateMemoryNV');
- if not Assigned(wglAllocateMemoryNV) then Exit;
- wglFreeMemoryNV := wglGetProcAddress('wglFreeMemoryNV');
- if not Assigned(wglFreeMemoryNV) then Exit;
-{$ENDIF}
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_NV_vertex_array_range2: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_NV_vertex_array_range2', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_NV_vertex_program: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_NV_vertex_program', extstring) then
- begin
- glBindProgramNV := wglGetProcAddress('glBindProgramNV');
- if not Assigned(glBindProgramNV) then Exit;
- glDeleteProgramsNV := wglGetProcAddress('glDeleteProgramsNV');
- if not Assigned(glDeleteProgramsNV) then Exit;
- glExecuteProgramNV := wglGetProcAddress('glExecuteProgramNV');
- if not Assigned(glExecuteProgramNV) then Exit;
- glGenProgramsNV := wglGetProcAddress('glGenProgramsNV');
- if not Assigned(glGenProgramsNV) then Exit;
- glAreProgramsResidentNV := wglGetProcAddress('glAreProgramsResidentNV');
- if not Assigned(glAreProgramsResidentNV) then Exit;
- glRequestResidentProgramsNV := wglGetProcAddress('glRequestResidentProgramsNV');
- if not Assigned(glRequestResidentProgramsNV) then Exit;
- glGetProgramParameterfvNV := wglGetProcAddress('glGetProgramParameterfvNV');
- if not Assigned(glGetProgramParameterfvNV) then Exit;
- glGetProgramParameterdvNV := wglGetProcAddress('glGetProgramParameterdvNV');
- if not Assigned(glGetProgramParameterdvNV) then Exit;
- glGetProgramivNV := wglGetProcAddress('glGetProgramivNV');
- if not Assigned(glGetProgramivNV) then Exit;
- glGetProgramStringNV := wglGetProcAddress('glGetProgramStringNV');
- if not Assigned(glGetProgramStringNV) then Exit;
- glGetTrackMatrixivNV := wglGetProcAddress('glGetTrackMatrixivNV');
- if not Assigned(glGetTrackMatrixivNV) then Exit;
- glGetVertexAttribdvNV := wglGetProcAddress('glGetVertexAttribdvNV');
- if not Assigned(glGetVertexAttribdvNV) then Exit;
- glGetVertexAttribfvNV := wglGetProcAddress('glGetVertexAttribfvNV');
- if not Assigned(glGetVertexAttribfvNV) then Exit;
- glGetVertexAttribivNV := wglGetProcAddress('glGetVertexAttribivNV');
- if not Assigned(glGetVertexAttribivNV) then Exit;
- glGetVertexAttribPointervNV := wglGetProcAddress('glGetVertexAttribPointervNV');
- if not Assigned(glGetVertexAttribPointervNV) then Exit;
- glIsProgramNV := wglGetProcAddress('glIsProgramNV');
- if not Assigned(glIsProgramNV) then Exit;
- glLoadProgramNV := wglGetProcAddress('glLoadProgramNV');
- if not Assigned(glLoadProgramNV) then Exit;
- glProgramParameter4fNV := wglGetProcAddress('glProgramParameter4fNV');
- if not Assigned(glProgramParameter4fNV) then Exit;
- glProgramParameter4fvNV := wglGetProcAddress('glProgramParameter4fvNV');
- if not Assigned(glProgramParameter4fvNV) then Exit;
- glProgramParameters4dvNV := wglGetProcAddress('glProgramParameters4dvNV');
- if not Assigned(glProgramParameters4dvNV) then Exit;
- glProgramParameters4fvNV := wglGetProcAddress('glProgramParameters4fvNV');
- if not Assigned(glProgramParameters4fvNV) then Exit;
- glTrackMatrixNV := wglGetProcAddress('glTrackMatrixNV');
- if not Assigned(glTrackMatrixNV) then Exit;
- glVertexAttribPointerNV := wglGetProcAddress('glVertexAttribPointerNV');
- if not Assigned(glVertexAttribPointerNV) then Exit;
- glVertexAttrib1sNV := wglGetProcAddress('glVertexAttrib1sNV');
- if not Assigned(glVertexAttrib1sNV) then Exit;
- glVertexAttrib1fNV := wglGetProcAddress('glVertexAttrib1fNV');
- if not Assigned(glVertexAttrib1fNV) then Exit;
- glVertexAttrib1dNV := wglGetProcAddress('glVertexAttrib1dNV');
- if not Assigned(glVertexAttrib1dNV) then Exit;
- glVertexAttrib2sNV := wglGetProcAddress('glVertexAttrib2sNV');
- if not Assigned(glVertexAttrib2sNV) then Exit;
- glVertexAttrib2fNV := wglGetProcAddress('glVertexAttrib2fNV');
- if not Assigned(glVertexAttrib2fNV) then Exit;
- glVertexAttrib2dNV := wglGetProcAddress('glVertexAttrib2dNV');
- if not Assigned(glVertexAttrib2dNV) then Exit;
- glVertexAttrib3sNV := wglGetProcAddress('glVertexAttrib3sNV');
- if not Assigned(glVertexAttrib3sNV) then Exit;
- glVertexAttrib3fNV := wglGetProcAddress('glVertexAttrib3fNV');
- if not Assigned(glVertexAttrib3fNV) then Exit;
- glVertexAttrib3dNV := wglGetProcAddress('glVertexAttrib3dNV');
- if not Assigned(glVertexAttrib3dNV) then Exit;
- glVertexAttrib4sNV := wglGetProcAddress('glVertexAttrib4sNV');
- if not Assigned(glVertexAttrib4sNV) then Exit;
- glVertexAttrib4fNV := wglGetProcAddress('glVertexAttrib4fNV');
- if not Assigned(glVertexAttrib4fNV) then Exit;
- glVertexAttrib4dNV := wglGetProcAddress('glVertexAttrib4dNV');
- if not Assigned(glVertexAttrib4dNV) then Exit;
- glVertexAttrib4ubNV := wglGetProcAddress('glVertexAttrib4ubNV');
- if not Assigned(glVertexAttrib4ubNV) then Exit;
- glVertexAttrib1svNV := wglGetProcAddress('glVertexAttrib1svNV');
- if not Assigned(glVertexAttrib1svNV) then Exit;
- glVertexAttrib1fvNV := wglGetProcAddress('glVertexAttrib1fvNV');
- if not Assigned(glVertexAttrib1fvNV) then Exit;
- glVertexAttrib1dvNV := wglGetProcAddress('glVertexAttrib1dvNV');
- if not Assigned(glVertexAttrib1dvNV) then Exit;
- glVertexAttrib2svNV := wglGetProcAddress('glVertexAttrib2svNV');
- if not Assigned(glVertexAttrib2svNV) then Exit;
- glVertexAttrib2fvNV := wglGetProcAddress('glVertexAttrib2fvNV');
- if not Assigned(glVertexAttrib2fvNV) then Exit;
- glVertexAttrib2dvNV := wglGetProcAddress('glVertexAttrib2dvNV');
- if not Assigned(glVertexAttrib2dvNV) then Exit;
- glVertexAttrib3svNV := wglGetProcAddress('glVertexAttrib3svNV');
- if not Assigned(glVertexAttrib3svNV) then Exit;
- glVertexAttrib3fvNV := wglGetProcAddress('glVertexAttrib3fvNV');
- if not Assigned(glVertexAttrib3fvNV) then Exit;
- glVertexAttrib3dvNV := wglGetProcAddress('glVertexAttrib3dvNV');
- if not Assigned(glVertexAttrib3dvNV) then Exit;
- glVertexAttrib4svNV := wglGetProcAddress('glVertexAttrib4svNV');
- if not Assigned(glVertexAttrib4svNV) then Exit;
- glVertexAttrib4fvNV := wglGetProcAddress('glVertexAttrib4fvNV');
- if not Assigned(glVertexAttrib4fvNV) then Exit;
- glVertexAttrib4dvNV := wglGetProcAddress('glVertexAttrib4dvNV');
- if not Assigned(glVertexAttrib4dvNV) then Exit;
- glVertexAttrib4ubvNV := wglGetProcAddress('glVertexAttrib4ubvNV');
- if not Assigned(glVertexAttrib4ubvNV) then Exit;
- glVertexAttribs1svNV := wglGetProcAddress('glVertexAttribs1svNV');
- if not Assigned(glVertexAttribs1svNV) then Exit;
- glVertexAttribs1fvNV := wglGetProcAddress('glVertexAttribs1fvNV');
- if not Assigned(glVertexAttribs1fvNV) then Exit;
- glVertexAttribs1dvNV := wglGetProcAddress('glVertexAttribs1dvNV');
- if not Assigned(glVertexAttribs1dvNV) then Exit;
- glVertexAttribs2svNV := wglGetProcAddress('glVertexAttribs2svNV');
- if not Assigned(glVertexAttribs2svNV) then Exit;
- glVertexAttribs2fvNV := wglGetProcAddress('glVertexAttribs2fvNV');
- if not Assigned(glVertexAttribs2fvNV) then Exit;
- glVertexAttribs2dvNV := wglGetProcAddress('glVertexAttribs2dvNV');
- if not Assigned(glVertexAttribs2dvNV) then Exit;
- glVertexAttribs3svNV := wglGetProcAddress('glVertexAttribs3svNV');
- if not Assigned(glVertexAttribs3svNV) then Exit;
- glVertexAttribs3fvNV := wglGetProcAddress('glVertexAttribs3fvNV');
- if not Assigned(glVertexAttribs3fvNV) then Exit;
- glVertexAttribs3dvNV := wglGetProcAddress('glVertexAttribs3dvNV');
- if not Assigned(glVertexAttribs3dvNV) then Exit;
- glVertexAttribs4svNV := wglGetProcAddress('glVertexAttribs4svNV');
- if not Assigned(glVertexAttribs4svNV) then Exit;
- glVertexAttribs4fvNV := wglGetProcAddress('glVertexAttribs4fvNV');
- if not Assigned(glVertexAttribs4fvNV) then Exit;
- glVertexAttribs4dvNV := wglGetProcAddress('glVertexAttribs4dvNV');
- if not Assigned(glVertexAttribs4dvNV) then Exit;
- glVertexAttribs4ubvNV := wglGetProcAddress('glVertexAttribs4ubvNV');
- if not Assigned(glVertexAttribs4ubvNV) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_NV_vertex_program1_1: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_NV_vertex_program1_1', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_ATI_element_array: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_ATI_element_array', extstring) then
- begin
- glElementPointerATI := wglGetProcAddress('glElementPointerATI');
- if not Assigned(glElementPointerATI) then Exit;
- glDrawElementArrayATI := wglGetProcAddress('glDrawElementArrayATI');
- if not Assigned(glDrawElementArrayATI) then Exit;
- glDrawRangeElementArrayATI := wglGetProcAddress('glDrawRangeElementArrayATI');
- if not Assigned(glDrawRangeElementArrayATI) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_ATI_envmap_bumpmap: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_ATI_envmap_bumpmap', extstring) then
- begin
- glTexBumpParameterivATI := wglGetProcAddress('glTexBumpParameterivATI');
- if not Assigned(glTexBumpParameterivATI) then Exit;
- glTexBumpParameterfvATI := wglGetProcAddress('glTexBumpParameterfvATI');
- if not Assigned(glTexBumpParameterfvATI) then Exit;
- glGetTexBumpParameterivATI := wglGetProcAddress('glGetTexBumpParameterivATI');
- if not Assigned(glGetTexBumpParameterivATI) then Exit;
- glGetTexBumpParameterfvATI := wglGetProcAddress('glGetTexBumpParameterfvATI');
- if not Assigned(glGetTexBumpParameterfvATI) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_ATI_fragment_shader: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_ATI_fragment_shader', extstring) then
- begin
- glGenFragmentShadersATI := wglGetProcAddress('glGenFragmentShadersATI');
- if not Assigned(glGenFragmentShadersATI) then Exit;
- glBindFragmentShaderATI := wglGetProcAddress('glBindFragmentShaderATI');
- if not Assigned(glBindFragmentShaderATI) then Exit;
- glDeleteFragmentShaderATI := wglGetProcAddress('glDeleteFragmentShaderATI');
- if not Assigned(glDeleteFragmentShaderATI) then Exit;
- glBeginFragmentShaderATI := wglGetProcAddress('glBeginFragmentShaderATI');
- if not Assigned(glBeginFragmentShaderATI) then Exit;
- glEndFragmentShaderATI := wglGetProcAddress('glEndFragmentShaderATI');
- if not Assigned(glEndFragmentShaderATI) then Exit;
- glPassTexCoordATI := wglGetProcAddress('glPassTexCoordATI');
- if not Assigned(glPassTexCoordATI) then Exit;
- glSampleMapATI := wglGetProcAddress('glSampleMapATI');
- if not Assigned(glSampleMapATI) then Exit;
- glColorFragmentOp1ATI := wglGetProcAddress('glColorFragmentOp1ATI');
- if not Assigned(glColorFragmentOp1ATI) then Exit;
- glColorFragmentOp2ATI := wglGetProcAddress('glColorFragmentOp2ATI');
- if not Assigned(glColorFragmentOp2ATI) then Exit;
- glColorFragmentOp3ATI := wglGetProcAddress('glColorFragmentOp3ATI');
- if not Assigned(glColorFragmentOp3ATI) then Exit;
- glAlphaFragmentOp1ATI := wglGetProcAddress('glAlphaFragmentOp1ATI');
- if not Assigned(glAlphaFragmentOp1ATI) then Exit;
- glAlphaFragmentOp2ATI := wglGetProcAddress('glAlphaFragmentOp2ATI');
- if not Assigned(glAlphaFragmentOp2ATI) then Exit;
- glAlphaFragmentOp3ATI := wglGetProcAddress('glAlphaFragmentOp3ATI');
- if not Assigned(glAlphaFragmentOp3ATI) then Exit;
- glSetFragmentShaderConstantATI := wglGetProcAddress('glSetFragmentShaderConstantATI');
- if not Assigned(glSetFragmentShaderConstantATI) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_ATI_pn_triangles: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_ATI_pn_triangles', extstring) then
- begin
- glPNTrianglesiATI := wglGetProcAddress('glPNTrianglesiATI');
- if not Assigned(glPNTrianglesiATI) then Exit;
- glPNTrianglesfATI := wglGetProcAddress('glPNTrianglesfATI');
- if not Assigned(glPNTrianglesfATI) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_ATI_texture_mirror_once: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_ATI_texture_mirror_once', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_ATI_vertex_array_object: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_ATI_vertex_array_object', extstring) then
- begin
- glNewObjectBufferATI := wglGetProcAddress('glNewObjectBufferATI');
- if not Assigned(glNewObjectBufferATI) then Exit;
- glIsObjectBufferATI := wglGetProcAddress('glIsObjectBufferATI');
- if not Assigned(glIsObjectBufferATI) then Exit;
- glUpdateObjectBufferATI := wglGetProcAddress('glUpdateObjectBufferATI');
- if not Assigned(glUpdateObjectBufferATI) then Exit;
- glGetObjectBufferfvATI := wglGetProcAddress('glGetObjectBufferfvATI');
- if not Assigned(glGetObjectBufferfvATI) then Exit;
- glGetObjectBufferivATI := wglGetProcAddress('glGetObjectBufferivATI');
- if not Assigned(glGetObjectBufferivATI) then Exit;
- glDeleteObjectBufferATI := wglGetProcAddress('glDeleteObjectBufferATI');
- if not Assigned(glDeleteObjectBufferATI) then Exit;
- glArrayObjectATI := wglGetProcAddress('glArrayObjectATI');
- if not Assigned(glArrayObjectATI) then Exit;
- glGetArrayObjectfvATI := wglGetProcAddress('glGetArrayObjectfvATI');
- if not Assigned(glGetArrayObjectfvATI) then Exit;
- glGetArrayObjectivATI := wglGetProcAddress('glGetArrayObjectivATI');
- if not Assigned(glGetArrayObjectivATI) then Exit;
- glVariantArrayObjectATI := wglGetProcAddress('glVariantArrayObjectATI');
- if not Assigned(glVariantArrayObjectATI) then Exit;
- glGetVariantArrayObjectfvATI := wglGetProcAddress('glGetVariantArrayObjectfvATI');
- if not Assigned(glGetVariantArrayObjectfvATI) then Exit;
- glGetVariantArrayObjectivATI := wglGetProcAddress('glGetVariantArrayObjectivATI');
- if not Assigned(glGetVariantArrayObjectivATI) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_ATI_vertex_streams: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_ATI_vertex_streams', extstring) then
- begin
- glVertexStream1s := wglGetProcAddress('glVertexStream1s');
- if not Assigned(glVertexStream1s) then Exit;
- glVertexStream1i := wglGetProcAddress('glVertexStream1i');
- if not Assigned(glVertexStream1i) then Exit;
- glVertexStream1f := wglGetProcAddress('glVertexStream1f');
- if not Assigned(glVertexStream1f) then Exit;
- glVertexStream1d := wglGetProcAddress('glVertexStream1d');
- if not Assigned(glVertexStream1d) then Exit;
- glVertexStream1sv := wglGetProcAddress('glVertexStream1sv');
- if not Assigned(glVertexStream1sv) then Exit;
- glVertexStream1iv := wglGetProcAddress('glVertexStream1iv');
- if not Assigned(glVertexStream1iv) then Exit;
- glVertexStream1fv := wglGetProcAddress('glVertexStream1fv');
- if not Assigned(glVertexStream1fv) then Exit;
- glVertexStream1dv := wglGetProcAddress('glVertexStream1dv');
- if not Assigned(glVertexStream1dv) then Exit;
- glVertexStream2s := wglGetProcAddress('glVertexStream2s');
- if not Assigned(glVertexStream2s) then Exit;
- glVertexStream2i := wglGetProcAddress('glVertexStream2i');
- if not Assigned(glVertexStream2i) then Exit;
- glVertexStream2f := wglGetProcAddress('glVertexStream2f');
- if not Assigned(glVertexStream2f) then Exit;
- glVertexStream2d := wglGetProcAddress('glVertexStream2d');
- if not Assigned(glVertexStream2d) then Exit;
- glVertexStream2sv := wglGetProcAddress('glVertexStream2sv');
- if not Assigned(glVertexStream2sv) then Exit;
- glVertexStream2iv := wglGetProcAddress('glVertexStream2iv');
- if not Assigned(glVertexStream2iv) then Exit;
- glVertexStream2fv := wglGetProcAddress('glVertexStream2fv');
- if not Assigned(glVertexStream2fv) then Exit;
- glVertexStream2dv := wglGetProcAddress('glVertexStream2dv');
- if not Assigned(glVertexStream2dv) then Exit;
- glVertexStream3s := wglGetProcAddress('glVertexStream3s');
- if not Assigned(glVertexStream3s) then Exit;
- glVertexStream3i := wglGetProcAddress('glVertexStream3i');
- if not Assigned(glVertexStream3i) then Exit;
- glVertexStream3f := wglGetProcAddress('glVertexStream3f');
- if not Assigned(glVertexStream3f) then Exit;
- glVertexStream3d := wglGetProcAddress('glVertexStream3d');
- if not Assigned(glVertexStream3d) then Exit;
- glVertexStream3sv := wglGetProcAddress('glVertexStream3sv');
- if not Assigned(glVertexStream3sv) then Exit;
- glVertexStream3iv := wglGetProcAddress('glVertexStream3iv');
- if not Assigned(glVertexStream3iv) then Exit;
- glVertexStream3fv := wglGetProcAddress('glVertexStream3fv');
- if not Assigned(glVertexStream3fv) then Exit;
- glVertexStream3dv := wglGetProcAddress('glVertexStream3dv');
- if not Assigned(glVertexStream3dv) then Exit;
- glVertexStream4s := wglGetProcAddress('glVertexStream4s');
- if not Assigned(glVertexStream4s) then Exit;
- glVertexStream4i := wglGetProcAddress('glVertexStream4i');
- if not Assigned(glVertexStream4i) then Exit;
- glVertexStream4f := wglGetProcAddress('glVertexStream4f');
- if not Assigned(glVertexStream4f) then Exit;
- glVertexStream4d := wglGetProcAddress('glVertexStream4d');
- if not Assigned(glVertexStream4d) then Exit;
- glVertexStream4sv := wglGetProcAddress('glVertexStream4sv');
- if not Assigned(glVertexStream4sv) then Exit;
- glVertexStream4iv := wglGetProcAddress('glVertexStream4iv');
- if not Assigned(glVertexStream4iv) then Exit;
- glVertexStream4fv := wglGetProcAddress('glVertexStream4fv');
- if not Assigned(glVertexStream4fv) then Exit;
- glVertexStream4dv := wglGetProcAddress('glVertexStream4dv');
- if not Assigned(glVertexStream4dv) then Exit;
- glNormalStream3b := wglGetProcAddress('glNormalStream3b');
- if not Assigned(glNormalStream3b) then Exit;
- glNormalStream3s := wglGetProcAddress('glNormalStream3s');
- if not Assigned(glNormalStream3s) then Exit;
- glNormalStream3i := wglGetProcAddress('glNormalStream3i');
- if not Assigned(glNormalStream3i) then Exit;
- glNormalStream3f := wglGetProcAddress('glNormalStream3f');
- if not Assigned(glNormalStream3f) then Exit;
- glNormalStream3d := wglGetProcAddress('glNormalStream3d');
- if not Assigned(glNormalStream3d) then Exit;
- glNormalStream3bv := wglGetProcAddress('glNormalStream3bv');
- if not Assigned(glNormalStream3bv) then Exit;
- glNormalStream3sv := wglGetProcAddress('glNormalStream3sv');
- if not Assigned(glNormalStream3sv) then Exit;
- glNormalStream3iv := wglGetProcAddress('glNormalStream3iv');
- if not Assigned(glNormalStream3iv) then Exit;
- glNormalStream3fv := wglGetProcAddress('glNormalStream3fv');
- if not Assigned(glNormalStream3fv) then Exit;
- glNormalStream3dv := wglGetProcAddress('glNormalStream3dv');
- if not Assigned(glNormalStream3dv) then Exit;
- glClientActiveVertexStream := wglGetProcAddress('glClientActiveVertexStream');
- if not Assigned(glClientActiveVertexStream) then Exit;
- glVertexBlendEnvi := wglGetProcAddress('glVertexBlendEnvi');
- if not Assigned(glVertexBlendEnvi) then Exit;
- glVertexBlendEnvf := wglGetProcAddress('glVertexBlendEnvf');
- if not Assigned(glVertexBlendEnvf) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-{$IFDEF Windows}
-function Load_WGL_I3D_image_buffer: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- wglGetExtensionsStringARB := wglGetProcAddress('wglGetExtensionsStringARB');
- if not Assigned(wglGetExtensionsStringARB) then Exit;
- extstring := String(PChar(wglGetExtensionsStringARB(wglGetCurrentDC)));
-
- if glext_ExtensionSupported('WGL_I3D_image_buffer', extstring) then
- begin
- wglCreateImageBufferI3D := wglGetProcAddress('wglCreateImageBufferI3D');
- if not Assigned(wglCreateImageBufferI3D) then Exit;
- wglDestroyImageBufferI3D := wglGetProcAddress('wglDestroyImageBufferI3D');
- if not Assigned(wglDestroyImageBufferI3D) then Exit;
- wglAssociateImageBufferEventsI3D := wglGetProcAddress('wglAssociateImageBufferEventsI3D');
- if not Assigned(wglAssociateImageBufferEventsI3D) then Exit;
- wglReleaseImageBufferEventsI3D := wglGetProcAddress('wglReleaseImageBufferEventsI3D');
- if not Assigned(wglReleaseImageBufferEventsI3D) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_WGL_I3D_swap_frame_lock: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- wglGetExtensionsStringARB := wglGetProcAddress('wglGetExtensionsStringARB');
- if not Assigned(wglGetExtensionsStringARB) then Exit;
- extstring := String(PChar(wglGetExtensionsStringARB(wglGetCurrentDC)));
-
- if glext_ExtensionSupported('WGL_I3D_swap_frame_lock', extstring) then
- begin
- wglEnableFrameLockI3D := wglGetProcAddress('wglEnableFrameLockI3D');
- if not Assigned(wglEnableFrameLockI3D) then Exit;
- wglDisableFrameLockI3D := wglGetProcAddress('wglDisableFrameLockI3D');
- if not Assigned(wglDisableFrameLockI3D) then Exit;
- wglIsEnabledFrameLockI3D := wglGetProcAddress('wglIsEnabledFrameLockI3D');
- if not Assigned(wglIsEnabledFrameLockI3D) then Exit;
- wglQueryFrameLockMasterI3D := wglGetProcAddress('wglQueryFrameLockMasterI3D');
- if not Assigned(wglQueryFrameLockMasterI3D) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_WGL_I3D_swap_frame_usage: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- wglGetExtensionsStringARB := wglGetProcAddress('wglGetExtensionsStringARB');
- if not Assigned(wglGetExtensionsStringARB) then Exit;
- extstring := String(PChar(wglGetExtensionsStringARB(wglGetCurrentDC)));
-
- if glext_ExtensionSupported('WGL_I3D_swap_frame_usage', extstring) then
- begin
- wglGetFrameUsageI3D := wglGetProcAddress('wglGetFrameUsageI3D');
- if not Assigned(wglGetFrameUsageI3D) then Exit;
- wglBeginFrameTrackingI3D := wglGetProcAddress('wglBeginFrameTrackingI3D');
- if not Assigned(wglBeginFrameTrackingI3D) then Exit;
- wglEndFrameTrackingI3D := wglGetProcAddress('wglEndFrameTrackingI3D');
- if not Assigned(wglEndFrameTrackingI3D) then Exit;
- wglQueryFrameTrackingI3D := wglGetProcAddress('wglQueryFrameTrackingI3D');
- if not Assigned(wglQueryFrameTrackingI3D) then Exit;
- Result := TRUE;
- end;
-
-end;
-{$ENDIF}
-
-function Load_GL_3DFX_texture_compression_FXT1: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_3DFX_texture_compression_FXT1', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_IBM_cull_vertex: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_IBM_cull_vertex', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_IBM_multimode_draw_arrays: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_IBM_multimode_draw_arrays', extstring) then
- begin
- glMultiModeDrawArraysIBM := wglGetProcAddress('glMultiModeDrawArraysIBM');
- if not Assigned(glMultiModeDrawArraysIBM) then Exit;
- glMultiModeDrawElementsIBM := wglGetProcAddress('glMultiModeDrawElementsIBM');
- if not Assigned(glMultiModeDrawElementsIBM) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_IBM_raster_pos_clip: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_IBM_raster_pos_clip', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_IBM_texture_mirrored_repeat: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_IBM_texture_mirrored_repeat', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_IBM_vertex_array_lists: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_IBM_vertex_array_lists', extstring) then
- begin
- glColorPointerListIBM := wglGetProcAddress('glColorPointerListIBM');
- if not Assigned(glColorPointerListIBM) then Exit;
- glSecondaryColorPointerListIBM := wglGetProcAddress('glSecondaryColorPointerListIBM');
- if not Assigned(glSecondaryColorPointerListIBM) then Exit;
- glEdgeFlagPointerListIBM := wglGetProcAddress('glEdgeFlagPointerListIBM');
- if not Assigned(glEdgeFlagPointerListIBM) then Exit;
- glFogCoordPointerListIBM := wglGetProcAddress('glFogCoordPointerListIBM');
- if not Assigned(glFogCoordPointerListIBM) then Exit;
- glNormalPointerListIBM := wglGetProcAddress('glNormalPointerListIBM');
- if not Assigned(glNormalPointerListIBM) then Exit;
- glTexCoordPointerListIBM := wglGetProcAddress('glTexCoordPointerListIBM');
- if not Assigned(glTexCoordPointerListIBM) then Exit;
- glVertexPointerListIBM := wglGetProcAddress('glVertexPointerListIBM');
- if not Assigned(glVertexPointerListIBM) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_MESA_resize_buffers: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_MESA_resize_buffers', extstring) then
- begin
- glResizeBuffersMESA := wglGetProcAddress('glResizeBuffersMESA');
- if not Assigned(glResizeBuffersMESA) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_MESA_window_pos: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_MESA_window_pos', extstring) then
- begin
- glWindowPos2dMESA := wglGetProcAddress('glWindowPos2dMESA');
- if not Assigned(glWindowPos2dMESA) then Exit;
- glWindowPos2fMESA := wglGetProcAddress('glWindowPos2fMESA');
- if not Assigned(glWindowPos2fMESA) then Exit;
- glWindowPos2iMESA := wglGetProcAddress('glWindowPos2iMESA');
- if not Assigned(glWindowPos2iMESA) then Exit;
- glWindowPos2sMESA := wglGetProcAddress('glWindowPos2sMESA');
- if not Assigned(glWindowPos2sMESA) then Exit;
- glWindowPos2ivMESA := wglGetProcAddress('glWindowPos2ivMESA');
- if not Assigned(glWindowPos2ivMESA) then Exit;
- glWindowPos2svMESA := wglGetProcAddress('glWindowPos2svMESA');
- if not Assigned(glWindowPos2svMESA) then Exit;
- glWindowPos2fvMESA := wglGetProcAddress('glWindowPos2fvMESA');
- if not Assigned(glWindowPos2fvMESA) then Exit;
- glWindowPos2dvMESA := wglGetProcAddress('glWindowPos2dvMESA');
- if not Assigned(glWindowPos2dvMESA) then Exit;
- glWindowPos3iMESA := wglGetProcAddress('glWindowPos3iMESA');
- if not Assigned(glWindowPos3iMESA) then Exit;
- glWindowPos3sMESA := wglGetProcAddress('glWindowPos3sMESA');
- if not Assigned(glWindowPos3sMESA) then Exit;
- glWindowPos3fMESA := wglGetProcAddress('glWindowPos3fMESA');
- if not Assigned(glWindowPos3fMESA) then Exit;
- glWindowPos3dMESA := wglGetProcAddress('glWindowPos3dMESA');
- if not Assigned(glWindowPos3dMESA) then Exit;
- glWindowPos3ivMESA := wglGetProcAddress('glWindowPos3ivMESA');
- if not Assigned(glWindowPos3ivMESA) then Exit;
- glWindowPos3svMESA := wglGetProcAddress('glWindowPos3svMESA');
- if not Assigned(glWindowPos3svMESA) then Exit;
- glWindowPos3fvMESA := wglGetProcAddress('glWindowPos3fvMESA');
- if not Assigned(glWindowPos3fvMESA) then Exit;
- glWindowPos3dvMESA := wglGetProcAddress('glWindowPos3dvMESA');
- if not Assigned(glWindowPos3dvMESA) then Exit;
- glWindowPos4iMESA := wglGetProcAddress('glWindowPos4iMESA');
- if not Assigned(glWindowPos4iMESA) then Exit;
- glWindowPos4sMESA := wglGetProcAddress('glWindowPos4sMESA');
- if not Assigned(glWindowPos4sMESA) then Exit;
- glWindowPos4fMESA := wglGetProcAddress('glWindowPos4fMESA');
- if not Assigned(glWindowPos4fMESA) then Exit;
- glWindowPos4dMESA := wglGetProcAddress('glWindowPos4dMESA');
- if not Assigned(glWindowPos4dMESA) then Exit;
- glWindowPos4ivMESA := wglGetProcAddress('glWindowPos4ivMESA');
- if not Assigned(glWindowPos4ivMESA) then Exit;
- glWindowPos4svMESA := wglGetProcAddress('glWindowPos4svMESA');
- if not Assigned(glWindowPos4svMESA) then Exit;
- glWindowPos4fvMESA := wglGetProcAddress('glWindowPos4fvMESA');
- if not Assigned(glWindowPos4fvMESA) then Exit;
- glWindowPos4dvMESA := wglGetProcAddress('glWindowPos4dvMESA');
- if not Assigned(glWindowPos4dvMESA) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_OML_interlace: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_OML_interlace', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_OML_resample: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_OML_resample', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_OML_subsample: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_OML_subsample', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_SGIS_generate_mipmap: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_SGIS_generate_mipmap', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_SGIS_multisample: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_SGIS_multisample', extstring) then
- begin
- glSampleMaskSGIS := wglGetProcAddress('glSampleMaskSGIS');
- if not Assigned(glSampleMaskSGIS) then Exit;
- glSamplePatternSGIS := wglGetProcAddress('glSamplePatternSGIS');
- if not Assigned(glSamplePatternSGIS) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_SGIS_pixel_texture: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_SGIS_pixel_texture', extstring) then
- begin
- glPixelTexGenParameteriSGIS := wglGetProcAddress('glPixelTexGenParameteriSGIS');
- if not Assigned(glPixelTexGenParameteriSGIS) then Exit;
- glPixelTexGenParameterfSGIS := wglGetProcAddress('glPixelTexGenParameterfSGIS');
- if not Assigned(glPixelTexGenParameterfSGIS) then Exit;
- glGetPixelTexGenParameterivSGIS := wglGetProcAddress('glGetPixelTexGenParameterivSGIS');
- if not Assigned(glGetPixelTexGenParameterivSGIS) then Exit;
- glGetPixelTexGenParameterfvSGIS := wglGetProcAddress('glGetPixelTexGenParameterfvSGIS');
- if not Assigned(glGetPixelTexGenParameterfvSGIS) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_SGIS_texture_border_clamp: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_SGIS_texture_border_clamp', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_SGIS_texture_color_mask: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_SGIS_texture_color_mask', extstring) then
- begin
- glTextureColorMaskSGIS := wglGetProcAddress('glTextureColorMaskSGIS');
- if not Assigned(glTextureColorMaskSGIS) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_SGIS_texture_edge_clamp: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_SGIS_texture_edge_clamp', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_SGIS_texture_lod: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_SGIS_texture_lod', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_SGIS_depth_texture: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_SGIS_depth_texture', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_SGIX_fog_offset: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_SGIX_fog_offset', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_SGIX_interlace: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_SGIX_interlace', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_SGIX_shadow_ambient: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_SGIX_shadow_ambient', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_SGI_color_matrix: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_SGI_color_matrix', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_SGI_color_table: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_SGI_color_table', extstring) then
- begin
- glColorTableSGI := wglGetProcAddress('glColorTableSGI');
- if not Assigned(glColorTableSGI) then Exit;
- glCopyColorTableSGI := wglGetProcAddress('glCopyColorTableSGI');
- if not Assigned(glCopyColorTableSGI) then Exit;
- glColorTableParameterivSGI := wglGetProcAddress('glColorTableParameterivSGI');
- if not Assigned(glColorTableParameterivSGI) then Exit;
- glColorTableParameterfvSGI := wglGetProcAddress('glColorTableParameterfvSGI');
- if not Assigned(glColorTableParameterfvSGI) then Exit;
- glGetColorTableSGI := wglGetProcAddress('glGetColorTableSGI');
- if not Assigned(glGetColorTableSGI) then Exit;
- glGetColorTableParameterivSGI := wglGetProcAddress('glGetColorTableParameterivSGI');
- if not Assigned(glGetColorTableParameterivSGI) then Exit;
- glGetColorTableParameterfvSGI := wglGetProcAddress('glGetColorTableParameterfvSGI');
- if not Assigned(glGetColorTableParameterfvSGI) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_SGI_texture_color_table: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_SGI_texture_color_table', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_SUN_vertex: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_SUN_vertex', extstring) then
- begin
- glColor4ubVertex2fSUN := wglGetProcAddress('glColor4ubVertex2fSUN');
- if not Assigned(glColor4ubVertex2fSUN) then Exit;
- glColor4ubVertex2fvSUN := wglGetProcAddress('glColor4ubVertex2fvSUN');
- if not Assigned(glColor4ubVertex2fvSUN) then Exit;
- glColor4ubVertex3fSUN := wglGetProcAddress('glColor4ubVertex3fSUN');
- if not Assigned(glColor4ubVertex3fSUN) then Exit;
- glColor4ubVertex3fvSUN := wglGetProcAddress('glColor4ubVertex3fvSUN');
- if not Assigned(glColor4ubVertex3fvSUN) then Exit;
- glColor3fVertex3fSUN := wglGetProcAddress('glColor3fVertex3fSUN');
- if not Assigned(glColor3fVertex3fSUN) then Exit;
- glColor3fVertex3fvSUN := wglGetProcAddress('glColor3fVertex3fvSUN');
- if not Assigned(glColor3fVertex3fvSUN) then Exit;
- glNormal3fVertex3fSUN := wglGetProcAddress('glNormal3fVertex3fSUN');
- if not Assigned(glNormal3fVertex3fSUN) then Exit;
- glNormal3fVertex3fvSUN := wglGetProcAddress('glNormal3fVertex3fvSUN');
- if not Assigned(glNormal3fVertex3fvSUN) then Exit;
- glColor4fNormal3fVertex3fSUN := wglGetProcAddress('glColor4fNormal3fVertex3fSUN');
- if not Assigned(glColor4fNormal3fVertex3fSUN) then Exit;
- glColor4fNormal3fVertex3fvSUN := wglGetProcAddress('glColor4fNormal3fVertex3fvSUN');
- if not Assigned(glColor4fNormal3fVertex3fvSUN) then Exit;
- glTexCoord2fVertex3fSUN := wglGetProcAddress('glTexCoord2fVertex3fSUN');
- if not Assigned(glTexCoord2fVertex3fSUN) then Exit;
- glTexCoord2fVertex3fvSUN := wglGetProcAddress('glTexCoord2fVertex3fvSUN');
- if not Assigned(glTexCoord2fVertex3fvSUN) then Exit;
- glTexCoord4fVertex4fSUN := wglGetProcAddress('glTexCoord4fVertex4fSUN');
- if not Assigned(glTexCoord4fVertex4fSUN) then Exit;
- glTexCoord4fVertex4fvSUN := wglGetProcAddress('glTexCoord4fVertex4fvSUN');
- if not Assigned(glTexCoord4fVertex4fvSUN) then Exit;
- glTexCoord2fColor4ubVertex3fSUN := wglGetProcAddress('glTexCoord2fColor4ubVertex3fSUN');
- if not Assigned(glTexCoord2fColor4ubVertex3fSUN) then Exit;
- glTexCoord2fColor4ubVertex3fvSUN := wglGetProcAddress('glTexCoord2fColor4ubVertex3fvSUN');
- if not Assigned(glTexCoord2fColor4ubVertex3fvSUN) then Exit;
- glTexCoord2fColor3fVertex3fSUN := wglGetProcAddress('glTexCoord2fColor3fVertex3fSUN');
- if not Assigned(glTexCoord2fColor3fVertex3fSUN) then Exit;
- glTexCoord2fColor3fVertex3fvSUN := wglGetProcAddress('glTexCoord2fColor3fVertex3fvSUN');
- if not Assigned(glTexCoord2fColor3fVertex3fvSUN) then Exit;
- glTexCoord2fNormal3fVertex3fSUN := wglGetProcAddress('glTexCoord2fNormal3fVertex3fSUN');
- if not Assigned(glTexCoord2fNormal3fVertex3fSUN) then Exit;
- glTexCoord2fNormal3fVertex3fvSUN := wglGetProcAddress('glTexCoord2fNormal3fVertex3fvSUN');
- if not Assigned(glTexCoord2fNormal3fVertex3fvSUN) then Exit;
- glTexCoord2fColor4fNormal3fVertex3fSUN := wglGetProcAddress('glTexCoord2fColor4fNormal3fVertex3fSUN');
- if not Assigned(glTexCoord2fColor4fNormal3fVertex3fSUN) then Exit;
- glTexCoord2fColor4fNormal3fVertex3fvSUN := wglGetProcAddress('glTexCoord2fColor4fNormal3fVertex3fvSUN');
- if not Assigned(glTexCoord2fColor4fNormal3fVertex3fvSUN) then Exit;
- glTexCoord4fColor4fNormal3fVertex4fSUN := wglGetProcAddress('glTexCoord4fColor4fNormal3fVertex4fSUN');
- if not Assigned(glTexCoord4fColor4fNormal3fVertex4fSUN) then Exit;
- glTexCoord4fColor4fNormal3fVertex4fvSUN := wglGetProcAddress('glTexCoord4fColor4fNormal3fVertex4fvSUN');
- if not Assigned(glTexCoord4fColor4fNormal3fVertex4fvSUN) then Exit;
- glReplacementCodeuiVertex3fSUN := wglGetProcAddress('glReplacementCodeuiVertex3fSUN');
- if not Assigned(glReplacementCodeuiVertex3fSUN) then Exit;
- glReplacementCodeuiVertex3fvSUN := wglGetProcAddress('glReplacementCodeuiVertex3fvSUN');
- if not Assigned(glReplacementCodeuiVertex3fvSUN) then Exit;
- glReplacementCodeuiColor4ubVertex3fSUN := wglGetProcAddress('glReplacementCodeuiColor4ubVertex3fSUN');
- if not Assigned(glReplacementCodeuiColor4ubVertex3fSUN) then Exit;
- glReplacementCodeuiColor4ubVertex3fvSUN := wglGetProcAddress('glReplacementCodeuiColor4ubVertex3fvSUN');
- if not Assigned(glReplacementCodeuiColor4ubVertex3fvSUN) then Exit;
- glReplacementCodeuiColor3fVertex3fSUN := wglGetProcAddress('glReplacementCodeuiColor3fVertex3fSUN');
- if not Assigned(glReplacementCodeuiColor3fVertex3fSUN) then Exit;
- glReplacementCodeuiColor3fVertex3fvSUN := wglGetProcAddress('glReplacementCodeuiColor3fVertex3fvSUN');
- if not Assigned(glReplacementCodeuiColor3fVertex3fvSUN) then Exit;
- glReplacementCodeuiNormal3fVertex3fSUN := wglGetProcAddress('glReplacementCodeuiNormal3fVertex3fSUN');
- if not Assigned(glReplacementCodeuiNormal3fVertex3fSUN) then Exit;
- glReplacementCodeuiNormal3fVertex3fvSUN := wglGetProcAddress('glReplacementCodeuiNormal3fVertex3fvSUN');
- if not Assigned(glReplacementCodeuiNormal3fVertex3fvSUN) then Exit;
- glReplacementCodeuiColor4fNormal3fVertex3fSUN := wglGetProcAddress('glReplacementCodeuiColor4fNormal3fVertex3fSUN');
- if not Assigned(glReplacementCodeuiColor4fNormal3fVertex3fSUN) then Exit;
- glReplacementCodeuiColor4fNormal3fVertex3fvSUN := wglGetProcAddress('glReplacementCodeuiColor4fNormal3fVertex3fvSUN');
- if not Assigned(glReplacementCodeuiColor4fNormal3fVertex3fvSUN) then Exit;
- glReplacementCodeuiTexCoord2fVertex3fSUN := wglGetProcAddress('glReplacementCodeuiTexCoord2fVertex3fSUN');
- if not Assigned(glReplacementCodeuiTexCoord2fVertex3fSUN) then Exit;
- glReplacementCodeuiTexCoord2fVertex3fvSUN := wglGetProcAddress('glReplacementCodeuiTexCoord2fVertex3fvSUN');
- if not Assigned(glReplacementCodeuiTexCoord2fVertex3fvSUN) then Exit;
- glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN := wglGetProcAddress('glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN');
- if not Assigned(glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN) then Exit;
- glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN := wglGetProcAddress('glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN');
- if not Assigned(glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN) then Exit;
- glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN := wglGetProcAddress('glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN');
- if not Assigned(glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN) then Exit;
- glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN := wglGetProcAddress('glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN');
- if not Assigned(glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_ARB_fragment_program: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_ARB_fragment_program', extstring) then
- begin
- glProgramStringARB := wglGetProcAddress('glProgramStringARB');
- if not Assigned(glProgramStringARB) then Exit;
- glBindProgramARB := wglGetProcAddress('glBindProgramARB');
- if not Assigned(glBindProgramARB) then Exit;
- glDeleteProgramsARB := wglGetProcAddress('glDeleteProgramsARB');
- if not Assigned(glDeleteProgramsARB) then Exit;
- glGenProgramsARB := wglGetProcAddress('glGenProgramsARB');
- if not Assigned(glGenProgramsARB) then Exit;
- glProgramEnvParameter4dARB := wglGetProcAddress('glProgramEnvParameter4dARB');
- if not Assigned(glProgramEnvParameter4dARB) then Exit;
- glProgramEnvParameter4dvARB := wglGetProcAddress('glProgramEnvParameter4dvARB');
- if not Assigned(glProgramEnvParameter4dvARB) then Exit;
- glProgramEnvParameter4fARB := wglGetProcAddress('glProgramEnvParameter4fARB');
- if not Assigned(glProgramEnvParameter4fARB) then Exit;
- glProgramEnvParameter4fvARB := wglGetProcAddress('glProgramEnvParameter4fvARB');
- if not Assigned(glProgramEnvParameter4fvARB) then Exit;
- glProgramLocalParameter4dARB := wglGetProcAddress('glProgramLocalParameter4dARB');
- if not Assigned(glProgramLocalParameter4dARB) then Exit;
- glProgramLocalParameter4dvARB := wglGetProcAddress('glProgramLocalParameter4dvARB');
- if not Assigned(glProgramLocalParameter4dvARB) then Exit;
- glProgramLocalParameter4fARB := wglGetProcAddress('glProgramLocalParameter4fARB');
- if not Assigned(glProgramLocalParameter4fARB) then Exit;
- glProgramLocalParameter4fvARB := wglGetProcAddress('glProgramLocalParameter4fvARB');
- if not Assigned(glProgramLocalParameter4fvARB) then Exit;
- glGetProgramEnvParameterdvARB := wglGetProcAddress('glGetProgramEnvParameterdvARB');
- if not Assigned(glGetProgramEnvParameterdvARB) then Exit;
- glGetProgramEnvParameterfvARB := wglGetProcAddress('glGetProgramEnvParameterfvARB');
- if not Assigned(glGetProgramEnvParameterfvARB) then Exit;
- glGetProgramLocalParameterdvARB := wglGetProcAddress('glGetProgramLocalParameterdvARB');
- if not Assigned(glGetProgramLocalParameterdvARB) then Exit;
- glGetProgramLocalParameterfvARB := wglGetProcAddress('glGetProgramLocalParameterfvARB');
- if not Assigned(glGetProgramLocalParameterfvARB) then Exit;
- glGetProgramivARB := wglGetProcAddress('glGetProgramivARB');
- if not Assigned(glGetProgramivARB) then Exit;
- glGetProgramStringARB := wglGetProcAddress('glGetProgramStringARB');
- if not Assigned(glGetProgramStringARB) then Exit;
- glIsProgramARB := wglGetProcAddress('glIsProgramARB');
- if not Assigned(glIsProgramARB) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_ATI_text_fragment_shader: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_ATI_text_fragment_shader', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_APPLE_client_storage: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_APPLE_client_storage', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_APPLE_element_array: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_APPLE_element_array', extstring) then
- begin
- glElementPointerAPPLE := wglGetProcAddress('glElementPointerAPPLE');
- if not Assigned(glElementPointerAPPLE) then Exit;
- glDrawElementArrayAPPLE := wglGetProcAddress('glDrawElementArrayAPPLE');
- if not Assigned(glDrawElementArrayAPPLE) then Exit;
- glDrawRangeElementArrayAPPLE := wglGetProcAddress('glDrawRangeElementArrayAPPLE');
- if not Assigned(glDrawRangeElementArrayAPPLE) then Exit;
- glMultiDrawElementArrayAPPLE := wglGetProcAddress('glMultiDrawElementArrayAPPLE');
- if not Assigned(glMultiDrawElementArrayAPPLE) then Exit;
- glMultiDrawRangeElementArrayAPPLE := wglGetProcAddress('glMultiDrawRangeElementArrayAPPLE');
- if not Assigned(glMultiDrawRangeElementArrayAPPLE) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_APPLE_fence: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_APPLE_fence', extstring) then
- begin
- glGenFencesAPPLE := wglGetProcAddress('glGenFencesAPPLE');
- if not Assigned(glGenFencesAPPLE) then Exit;
- glDeleteFencesAPPLE := wglGetProcAddress('glDeleteFencesAPPLE');
- if not Assigned(glDeleteFencesAPPLE) then Exit;
- glSetFenceAPPLE := wglGetProcAddress('glSetFenceAPPLE');
- if not Assigned(glSetFenceAPPLE) then Exit;
- glIsFenceAPPLE := wglGetProcAddress('glIsFenceAPPLE');
- if not Assigned(glIsFenceAPPLE) then Exit;
- glTestFenceAPPLE := wglGetProcAddress('glTestFenceAPPLE');
- if not Assigned(glTestFenceAPPLE) then Exit;
- glFinishFenceAPPLE := wglGetProcAddress('glFinishFenceAPPLE');
- if not Assigned(glFinishFenceAPPLE) then Exit;
- glTestObjectAPPLE := wglGetProcAddress('glTestObjectAPPLE');
- if not Assigned(glTestObjectAPPLE) then Exit;
- glFinishObjectAPPLE := wglGetProcAddress('glFinishObjectAPPLE');
- if not Assigned(glFinishObjectAPPLE) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_APPLE_vertex_array_object: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_APPLE_vertex_array_object', extstring) then
- begin
- glBindVertexArrayAPPLE := wglGetProcAddress('glBindVertexArrayAPPLE');
- if not Assigned(glBindVertexArrayAPPLE) then Exit;
- glDeleteVertexArraysAPPLE := wglGetProcAddress('glDeleteVertexArraysAPPLE');
- if not Assigned(glDeleteVertexArraysAPPLE) then Exit;
- glGenVertexArraysAPPLE := wglGetProcAddress('glGenVertexArraysAPPLE');
- if not Assigned(glGenVertexArraysAPPLE) then Exit;
- glIsVertexArrayAPPLE := wglGetProcAddress('glIsVertexArrayAPPLE');
- if not Assigned(glIsVertexArrayAPPLE) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_APPLE_vertex_array_range: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_APPLE_vertex_array_range', extstring) then
- begin
- glVertexArrayRangeAPPLE := wglGetProcAddress('glVertexArrayRangeAPPLE');
- if not Assigned(glVertexArrayRangeAPPLE) then Exit;
- glFlushVertexArrayRangeAPPLE := wglGetProcAddress('glFlushVertexArrayRangeAPPLE');
- if not Assigned(glFlushVertexArrayRangeAPPLE) then Exit;
- glVertexArrayParameteriAPPLE := wglGetProcAddress('glVertexArrayParameteriAPPLE');
- if not Assigned(glVertexArrayParameteriAPPLE) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-
-function load_GL_ARB_vertex_buffer_object : boolean;
-
-var extstring:string;
-
-begin
- load_GL_ARB_vertex_buffer_object:=false;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
- if glext_ExtensionSupported('GL_ARB_vertex_buffer_object',extstring) then
- begin
- glBindBufferARB := wglGetProcAddress('glBindBufferARB');
- if not Assigned(glBindBufferARB) then Exit;
- glDeleteBuffersARB := wglGetProcAddress('glDeleteBuffersARB');
- if not Assigned(glDeleteBuffersARB) then Exit;
- glGenBuffersARB := wglGetProcAddress('glGenBuffersARB');
- if not Assigned(glGenBuffersARB) then Exit;
- glIsBufferARB := wglGetProcAddress('glIsBufferARB');
- if not Assigned(glIsBufferARB) then Exit;
- glBufferDataARB := wglGetProcAddress('glBufferDataARB');
- if not Assigned(glBufferDataARB) then Exit;
- glGetBufferSubDataARB := wglGetProcAddress('glGetBufferSubDataARB');
- if not Assigned(glGetBufferSubDataARB) then Exit;
- glMapBufferARB := wglGetProcAddress('glMapBufferARB');
- if not Assigned(glMapBufferARB) then Exit;
- glUnmapBufferARB := wglGetProcAddress('glUnmapBufferARB');
- if not Assigned(glMapBufferARB) then Exit;
- glGetBufferParameterivARB := wglGetProcAddress('glGetBufferParameterivARB');
- if not Assigned(glGetBufferParameterivARB) then Exit;
- glGetBufferPointervARB := wglGetProcAddress('glGetBufferPointervARB');
- if not Assigned(glGetBufferPointervARB) then Exit;
- end;
- load_GL_ARB_vertex_buffer_object:=true;
-end;
-
-{$IFDEF Windows}
-function Load_WGL_ARB_pixel_format: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- wglGetExtensionsStringARB := wglGetProcAddress('wglGetExtensionsStringARB');
- if not Assigned(wglGetExtensionsStringARB) then Exit;
- extstring := String(PChar(wglGetExtensionsStringARB(wglGetCurrentDC)));
-
- if glext_ExtensionSupported('WGL_ARB_pixel_format', extstring) then
- begin
- wglGetPixelFormatAttribivARB := wglGetProcAddress('wglGetPixelFormatAttribivARB');
- if not Assigned(wglGetPixelFormatAttribivARB) then Exit;
- wglGetPixelFormatAttribfvARB := wglGetProcAddress('wglGetPixelFormatAttribfvARB');
- if not Assigned(wglGetPixelFormatAttribfvARB) then Exit;
- wglChoosePixelFormatARB := wglGetProcAddress('wglChoosePixelFormatARB');
- if not Assigned(wglChoosePixelFormatARB) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_WGL_ARB_make_current_read: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- wglGetExtensionsStringARB := wglGetProcAddress('wglGetExtensionsStringARB');
- if not Assigned(wglGetExtensionsStringARB) then Exit;
- extstring := String(PChar(wglGetExtensionsStringARB(wglGetCurrentDC)));
-
- if glext_ExtensionSupported('WGL_ARB_make_current_read', extstring) then
- begin
- wglMakeContextCurrentARB := wglGetProcAddress('wglMakeContextCurrentARB');
- if not Assigned(wglMakeContextCurrentARB) then Exit;
- wglGetCurrentReadDCARB := wglGetProcAddress('wglGetCurrentReadDCARB');
- if not Assigned(wglGetCurrentReadDCARB) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_WGL_ARB_pbuffer: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- wglGetExtensionsStringARB := wglGetProcAddress('wglGetExtensionsStringARB');
- if not Assigned(wglGetExtensionsStringARB) then Exit;
- extstring := String(PChar(wglGetExtensionsStringARB(wglGetCurrentDC)));
-
- if glext_ExtensionSupported('WGL_ARB_pbuffer', extstring) then
- begin
- wglCreatePbufferARB := wglGetProcAddress('wglCreatePbufferARB');
- if not Assigned(wglCreatePbufferARB) then Exit;
- wglGetPbufferDCARB := wglGetProcAddress('wglGetPbufferDCARB');
- if not Assigned(wglGetPbufferDCARB) then Exit;
- wglReleasePbufferDCARB := wglGetProcAddress('wglReleasePbufferDCARB');
- if not Assigned(wglReleasePbufferDCARB) then Exit;
- wglDestroyPbufferARB := wglGetProcAddress('wglDestroyPbufferARB');
- if not Assigned(wglDestroyPbufferARB) then Exit;
- wglQueryPbufferARB := wglGetProcAddress('wglQueryPbufferARB');
- if not Assigned(wglQueryPbufferARB) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_WGL_EXT_swap_control: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- wglGetExtensionsStringARB := wglGetProcAddress('wglGetExtensionsStringARB');
- if not Assigned(wglGetExtensionsStringARB) then Exit;
- extstring := String(PChar(wglGetExtensionsStringARB(wglGetCurrentDC)));
-
- if glext_ExtensionSupported('WGL_EXT_swap_control', extstring) then
- begin
- wglSwapIntervalEXT := wglGetProcAddress('wglSwapIntervalEXT');
- if not Assigned(wglSwapIntervalEXT) then Exit;
- wglGetSwapIntervalEXT := wglGetProcAddress('wglGetSwapIntervalEXT');
- if not Assigned(wglGetSwapIntervalEXT) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_WGL_ARB_render_texture: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- wglGetExtensionsStringARB := wglGetProcAddress('wglGetExtensionsStringARB');
- if not Assigned(wglGetExtensionsStringARB) then Exit;
- extstring := String(PChar(wglGetExtensionsStringARB(wglGetCurrentDC)));
-
- if glext_ExtensionSupported('WGL_ARB_render_texture', extstring) then
- begin
- wglBindTexImageARB := wglGetProcAddress('wglBindTexImageARB');
- if not Assigned(wglBindTexImageARB) then Exit;
- wglReleaseTexImageARB := wglGetProcAddress('wglReleaseTexImageARB');
- if not Assigned(wglReleaseTexImageARB) then Exit;
- wglSetPbufferAttribARB := wglGetProcAddress('wglSetPbufferAttribARB');
- if not Assigned(wglSetPbufferAttribARB) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_WGL_EXT_extensions_string: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- wglGetExtensionsStringARB := wglGetProcAddress('wglGetExtensionsStringARB');
- if not Assigned(wglGetExtensionsStringARB) then Exit;
- extstring := String(PChar(wglGetExtensionsStringARB(wglGetCurrentDC)));
-
- if glext_ExtensionSupported('WGL_EXT_extensions_string', extstring) then
- begin
- wglGetExtensionsStringEXT := wglGetProcAddress('wglGetExtensionsStringEXT');
- if not Assigned(wglGetExtensionsStringEXT) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_WGL_EXT_make_current_read: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- wglGetExtensionsStringARB := wglGetProcAddress('wglGetExtensionsStringARB');
- if not Assigned(wglGetExtensionsStringARB) then Exit;
- extstring := String(PChar(wglGetExtensionsStringARB(wglGetCurrentDC)));
-
- if glext_ExtensionSupported('WGL_EXT_make_current_read', extstring) then
- begin
- wglMakeContextCurrentEXT := wglGetProcAddress('wglMakeContextCurrentEXT');
- if not Assigned(wglMakeContextCurrentEXT) then Exit;
- wglGetCurrentReadDCEXT := wglGetProcAddress('wglGetCurrentReadDCEXT');
- if not Assigned(wglGetCurrentReadDCEXT) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_WGL_EXT_pbuffer: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- wglGetExtensionsStringARB := wglGetProcAddress('wglGetExtensionsStringARB');
- if not Assigned(wglGetExtensionsStringARB) then Exit;
- extstring := String(PChar(wglGetExtensionsStringARB(wglGetCurrentDC)));
-
- if glext_ExtensionSupported('WGL_EXT_pbuffer', extstring) then
- begin
- wglCreatePbufferEXT := wglGetProcAddress('wglCreatePbufferEXT');
- if not Assigned(wglCreatePbufferEXT) then Exit;
- wglGetPbufferDCEXT := wglGetProcAddress('wglGetPbufferDCEXT');
- if not Assigned(wglGetPbufferDCEXT) then Exit;
- wglReleasePbufferDCEXT := wglGetProcAddress('wglReleasePbufferDCEXT');
- if not Assigned(wglReleasePbufferDCEXT) then Exit;
- wglDestroyPbufferEXT := wglGetProcAddress('wglDestroyPbufferEXT');
- if not Assigned(wglDestroyPbufferEXT) then Exit;
- wglQueryPbufferEXT := wglGetProcAddress('wglQueryPbufferEXT');
- if not Assigned(wglQueryPbufferEXT) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_WGL_EXT_pixel_format: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- wglGetExtensionsStringARB := wglGetProcAddress('wglGetExtensionsStringARB');
- if not Assigned(wglGetExtensionsStringARB) then Exit;
- extstring := String(PChar(wglGetExtensionsStringARB(wglGetCurrentDC)));
-
- if glext_ExtensionSupported('WGL_EXT_pixel_format', extstring) then
- begin
- wglGetPixelFormatAttribivEXT := wglGetProcAddress('wglGetPixelFormatAttribivEXT');
- if not Assigned(wglGetPixelFormatAttribivEXT) then Exit;
- wglGetPixelFormatAttribfvEXT := wglGetProcAddress('wglGetPixelFormatAttribfvEXT');
- if not Assigned(wglGetPixelFormatAttribfvEXT) then Exit;
- wglChoosePixelFormatEXT := wglGetProcAddress('wglChoosePixelFormatEXT');
- if not Assigned(wglChoosePixelFormatEXT) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_WGL_I3D_digital_video_control: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- wglGetExtensionsStringARB := wglGetProcAddress('wglGetExtensionsStringARB');
- if not Assigned(wglGetExtensionsStringARB) then Exit;
- extstring := String(PChar(wglGetExtensionsStringARB(wglGetCurrentDC)));
-
- if glext_ExtensionSupported('WGL_I3D_digital_video_control', extstring) then
- begin
- wglGetDigitalVideoParametersI3D := wglGetProcAddress('wglGetDigitalVideoParametersI3D');
- if not Assigned(wglGetDigitalVideoParametersI3D) then Exit;
- wglSetDigitalVideoParametersI3D := wglGetProcAddress('wglSetDigitalVideoParametersI3D');
- if not Assigned(wglSetDigitalVideoParametersI3D) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_WGL_I3D_gamma: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- wglGetExtensionsStringARB := wglGetProcAddress('wglGetExtensionsStringARB');
- if not Assigned(wglGetExtensionsStringARB) then Exit;
- extstring := String(PChar(wglGetExtensionsStringARB(wglGetCurrentDC)));
-
- if glext_ExtensionSupported('WGL_I3D_gamma', extstring) then
- begin
- wglGetGammaTableParametersI3D := wglGetProcAddress('wglGetGammaTableParametersI3D');
- if not Assigned(wglGetGammaTableParametersI3D) then Exit;
- wglSetGammaTableParametersI3D := wglGetProcAddress('wglSetGammaTableParametersI3D');
- if not Assigned(wglSetGammaTableParametersI3D) then Exit;
- wglGetGammaTableI3D := wglGetProcAddress('wglGetGammaTableI3D');
- if not Assigned(wglGetGammaTableI3D) then Exit;
- wglSetGammaTableI3D := wglGetProcAddress('wglSetGammaTableI3D');
- if not Assigned(wglSetGammaTableI3D) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_WGL_I3D_genlock: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- wglGetExtensionsStringARB := wglGetProcAddress('wglGetExtensionsStringARB');
- if not Assigned(wglGetExtensionsStringARB) then Exit;
- extstring := String(PChar(wglGetExtensionsStringARB(wglGetCurrentDC)));
-
- if glext_ExtensionSupported('WGL_I3D_genlock', extstring) then
- begin
- wglEnableGenlockI3D := wglGetProcAddress('wglEnableGenlockI3D');
- if not Assigned(wglEnableGenlockI3D) then Exit;
- wglDisableGenlockI3D := wglGetProcAddress('wglDisableGenlockI3D');
- if not Assigned(wglDisableGenlockI3D) then Exit;
- wglIsEnabledGenlockI3D := wglGetProcAddress('wglIsEnabledGenlockI3D');
- if not Assigned(wglIsEnabledGenlockI3D) then Exit;
- wglGenlockSourceI3D := wglGetProcAddress('wglGenlockSourceI3D');
- if not Assigned(wglGenlockSourceI3D) then Exit;
- wglGetGenlockSourceI3D := wglGetProcAddress('wglGetGenlockSourceI3D');
- if not Assigned(wglGetGenlockSourceI3D) then Exit;
- wglGenlockSourceEdgeI3D := wglGetProcAddress('wglGenlockSourceEdgeI3D');
- if not Assigned(wglGenlockSourceEdgeI3D) then Exit;
- wglGetGenlockSourceEdgeI3D := wglGetProcAddress('wglGetGenlockSourceEdgeI3D');
- if not Assigned(wglGetGenlockSourceEdgeI3D) then Exit;
- wglGenlockSampleRateI3D := wglGetProcAddress('wglGenlockSampleRateI3D');
- if not Assigned(wglGenlockSampleRateI3D) then Exit;
- wglGetGenlockSampleRateI3D := wglGetProcAddress('wglGetGenlockSampleRateI3D');
- if not Assigned(wglGetGenlockSampleRateI3D) then Exit;
- wglGenlockSourceDelayI3D := wglGetProcAddress('wglGenlockSourceDelayI3D');
- if not Assigned(wglGenlockSourceDelayI3D) then Exit;
- wglGetGenlockSourceDelayI3D := wglGetProcAddress('wglGetGenlockSourceDelayI3D');
- if not Assigned(wglGetGenlockSourceDelayI3D) then Exit;
- wglQueryGenlockMaxSourceDelayI3D := wglGetProcAddress('wglQueryGenlockMaxSourceDelayI3D');
- if not Assigned(wglQueryGenlockMaxSourceDelayI3D) then Exit;
- Result := TRUE;
- end;
-
-end;
-{$ENDIF}
-
-function Load_GL_ARB_matrix_palette: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_ARB_matrix_palette', extstring) then
- begin
- glCurrentPaletteMatrixARB := wglGetProcAddress('glCurrentPaletteMatrixARB');
- if not Assigned(glCurrentPaletteMatrixARB) then Exit;
- glMatrixIndexubvARB := wglGetProcAddress('glMatrixIndexubvARB');
- if not Assigned(glMatrixIndexubvARB) then Exit;
- glMatrixIndexusvARB := wglGetProcAddress('glMatrixIndexusvARB');
- if not Assigned(glMatrixIndexusvARB) then Exit;
- glMatrixIndexuivARB := wglGetProcAddress('glMatrixIndexuivARB');
- if not Assigned(glMatrixIndexuivARB) then Exit;
- glMatrixIndexPointerARB := wglGetProcAddress('glMatrixIndexPointerARB');
- if not Assigned(glMatrixIndexPointerARB) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_NV_element_array: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_NV_element_array', extstring) then
- begin
- glElementPointerNV := wglGetProcAddress('glElementPointerNV');
- if not Assigned(glElementPointerNV) then Exit;
- glDrawElementArrayNV := wglGetProcAddress('glDrawElementArrayNV');
- if not Assigned(glDrawElementArrayNV) then Exit;
- glDrawRangeElementArrayNV := wglGetProcAddress('glDrawRangeElementArrayNV');
- if not Assigned(glDrawRangeElementArrayNV) then Exit;
- glMultiDrawElementArrayNV := wglGetProcAddress('glMultiDrawElementArrayNV');
- if not Assigned(glMultiDrawElementArrayNV) then Exit;
- glMultiDrawRangeElementArrayNV := wglGetProcAddress('glMultiDrawRangeElementArrayNV');
- if not Assigned(glMultiDrawRangeElementArrayNV) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_NV_float_buffer: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_NV_float_buffer', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_NV_fragment_program: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_NV_fragment_program', extstring) then
- begin
- glProgramNamedParameter4fNV := wglGetProcAddress('glProgramNamedParameter4fNV');
- if not Assigned(glProgramNamedParameter4fNV) then Exit;
- glProgramNamedParameter4dNV := wglGetProcAddress('glProgramNamedParameter4dNV');
- if not Assigned(glProgramNamedParameter4dNV) then Exit;
- glGetProgramNamedParameterfvNV := wglGetProcAddress('glGetProgramNamedParameterfvNV');
- if not Assigned(glGetProgramNamedParameterfvNV) then Exit;
- glGetProgramNamedParameterdvNV := wglGetProcAddress('glGetProgramNamedParameterdvNV');
- if not Assigned(glGetProgramNamedParameterdvNV) then Exit;
- glProgramLocalParameter4dARB := wglGetProcAddress('glProgramLocalParameter4dARB');
- if not Assigned(glProgramLocalParameter4dARB) then Exit;
- glProgramLocalParameter4dvARB := wglGetProcAddress('glProgramLocalParameter4dvARB');
- if not Assigned(glProgramLocalParameter4dvARB) then Exit;
- glProgramLocalParameter4fARB := wglGetProcAddress('glProgramLocalParameter4fARB');
- if not Assigned(glProgramLocalParameter4fARB) then Exit;
- glProgramLocalParameter4fvARB := wglGetProcAddress('glProgramLocalParameter4fvARB');
- if not Assigned(glProgramLocalParameter4fvARB) then Exit;
- glGetProgramLocalParameterdvARB := wglGetProcAddress('glGetProgramLocalParameterdvARB');
- if not Assigned(glGetProgramLocalParameterdvARB) then Exit;
- glGetProgramLocalParameterfvARB := wglGetProcAddress('glGetProgramLocalParameterfvARB');
- if not Assigned(glGetProgramLocalParameterfvARB) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_NV_primitive_restart: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_NV_primitive_restart', extstring) then
- begin
- glPrimitiveRestartNV := wglGetProcAddress('glPrimitiveRestartNV');
- if not Assigned(glPrimitiveRestartNV) then Exit;
- glPrimitiveRestartIndexNV := wglGetProcAddress('glPrimitiveRestartIndexNV');
- if not Assigned(glPrimitiveRestartIndexNV) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_NV_vertex_program2: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_NV_vertex_program2', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-{$IFDEF Windows}
-function Load_WGL_NV_render_texture_rectangle: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- @wglGetExtensionsStringARB := wglGetProcAddress('wglGetExtensionsStringARB');
- if not Assigned(wglGetExtensionsStringARB) then Exit;
- extstring := wglGetExtensionsStringARB(wglGetCurrentDC);
-
- if glext_ExtensionSupported('WGL_NV_render_texture_rectangle', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-{$ENDIF}
-
-function Load_GL_NV_pixel_data_range: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_NV_pixel_data_range', extstring) then
- begin
- @glPixelDataRangeNV := wglGetProcAddress('glPixelDataRangeNV');
- if not Assigned(glPixelDataRangeNV) then Exit;
- @glFlushPixelDataRangeNV := wglGetProcAddress('glFlushPixelDataRangeNV');
- if not Assigned(glFlushPixelDataRangeNV) then Exit;
- {$IFDEF Windows}
- @wglAllocateMemoryNV := wglGetProcAddress('wglAllocateMemoryNV');
- if not Assigned(wglAllocateMemoryNV) then Exit;
- @wglFreeMemoryNV := wglGetProcAddress('wglFreeMemoryNV');
- if not Assigned(wglFreeMemoryNV) then Exit;
- {$ENDIF}
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_EXT_texture_rectangle: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_EXT_texture_rectangle', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_S3_s3tc: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_S3_s3tc', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_ATI_draw_buffers: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_ATI_draw_buffers', extstring) then
- begin
- @glDrawBuffersATI := wglGetProcAddress('glDrawBuffersATI');
- if not Assigned(glDrawBuffersATI) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-{$IFDEF Windows}
-function Load_WGL_ATI_pixel_format_float: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- @wglGetExtensionsStringARB := wglGetProcAddress('wglGetExtensionsStringARB');
- if not Assigned(wglGetExtensionsStringARB) then Exit;
- extstring := wglGetExtensionsStringARB(wglGetCurrentDC);
-
- if glext_ExtensionSupported('WGL_ATI_pixel_format_float', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-{$ENDIF}
-
-function Load_GL_ATI_texture_env_combine3: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_ATI_texture_env_combine3', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_ATI_texture_float: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_ATI_texture_float', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_NV_texture_expand_normal: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_NV_texture_expand_normal', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_NV_half_float: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_NV_half_float', extstring) then
- begin
- @glVertex2hNV := wglGetProcAddress('glVertex2hNV');
- if not Assigned(glVertex2hNV) then Exit;
- @glVertex2hvNV := wglGetProcAddress('glVertex2hvNV');
- if not Assigned(glVertex2hvNV) then Exit;
- @glVertex3hNV := wglGetProcAddress('glVertex3hNV');
- if not Assigned(glVertex3hNV) then Exit;
- @glVertex3hvNV := wglGetProcAddress('glVertex3hvNV');
- if not Assigned(glVertex3hvNV) then Exit;
- @glVertex4hNV := wglGetProcAddress('glVertex4hNV');
- if not Assigned(glVertex4hNV) then Exit;
- @glVertex4hvNV := wglGetProcAddress('glVertex4hvNV');
- if not Assigned(glVertex4hvNV) then Exit;
- @glNormal3hNV := wglGetProcAddress('glNormal3hNV');
- if not Assigned(glNormal3hNV) then Exit;
- @glNormal3hvNV := wglGetProcAddress('glNormal3hvNV');
- if not Assigned(glNormal3hvNV) then Exit;
- @glColor3hNV := wglGetProcAddress('glColor3hNV');
- if not Assigned(glColor3hNV) then Exit;
- @glColor3hvNV := wglGetProcAddress('glColor3hvNV');
- if not Assigned(glColor3hvNV) then Exit;
- @glColor4hNV := wglGetProcAddress('glColor4hNV');
- if not Assigned(glColor4hNV) then Exit;
- @glColor4hvNV := wglGetProcAddress('glColor4hvNV');
- if not Assigned(glColor4hvNV) then Exit;
- @glTexCoord1hNV := wglGetProcAddress('glTexCoord1hNV');
- if not Assigned(glTexCoord1hNV) then Exit;
- @glTexCoord1hvNV := wglGetProcAddress('glTexCoord1hvNV');
- if not Assigned(glTexCoord1hvNV) then Exit;
- @glTexCoord2hNV := wglGetProcAddress('glTexCoord2hNV');
- if not Assigned(glTexCoord2hNV) then Exit;
- @glTexCoord2hvNV := wglGetProcAddress('glTexCoord2hvNV');
- if not Assigned(glTexCoord2hvNV) then Exit;
- @glTexCoord3hNV := wglGetProcAddress('glTexCoord3hNV');
- if not Assigned(glTexCoord3hNV) then Exit;
- @glTexCoord3hvNV := wglGetProcAddress('glTexCoord3hvNV');
- if not Assigned(glTexCoord3hvNV) then Exit;
- @glTexCoord4hNV := wglGetProcAddress('glTexCoord4hNV');
- if not Assigned(glTexCoord4hNV) then Exit;
- @glTexCoord4hvNV := wglGetProcAddress('glTexCoord4hvNV');
- if not Assigned(glTexCoord4hvNV) then Exit;
- @glMultiTexCoord1hNV := wglGetProcAddress('glMultiTexCoord1hNV');
- if not Assigned(glMultiTexCoord1hNV) then Exit;
- @glMultiTexCoord1hvNV := wglGetProcAddress('glMultiTexCoord1hvNV');
- if not Assigned(glMultiTexCoord1hvNV) then Exit;
- @glMultiTexCoord2hNV := wglGetProcAddress('glMultiTexCoord2hNV');
- if not Assigned(glMultiTexCoord2hNV) then Exit;
- @glMultiTexCoord2hvNV := wglGetProcAddress('glMultiTexCoord2hvNV');
- if not Assigned(glMultiTexCoord2hvNV) then Exit;
- @glMultiTexCoord3hNV := wglGetProcAddress('glMultiTexCoord3hNV');
- if not Assigned(glMultiTexCoord3hNV) then Exit;
- @glMultiTexCoord3hvNV := wglGetProcAddress('glMultiTexCoord3hvNV');
- if not Assigned(glMultiTexCoord3hvNV) then Exit;
- @glMultiTexCoord4hNV := wglGetProcAddress('glMultiTexCoord4hNV');
- if not Assigned(glMultiTexCoord4hNV) then Exit;
- @glMultiTexCoord4hvNV := wglGetProcAddress('glMultiTexCoord4hvNV');
- if not Assigned(glMultiTexCoord4hvNV) then Exit;
- @glFogCoordhNV := wglGetProcAddress('glFogCoordhNV');
- if not Assigned(glFogCoordhNV) then Exit;
- @glFogCoordhvNV := wglGetProcAddress('glFogCoordhvNV');
- if not Assigned(glFogCoordhvNV) then Exit;
- @glSecondaryColor3hNV := wglGetProcAddress('glSecondaryColor3hNV');
- if not Assigned(glSecondaryColor3hNV) then Exit;
- @glSecondaryColor3hvNV := wglGetProcAddress('glSecondaryColor3hvNV');
- if not Assigned(glSecondaryColor3hvNV) then Exit;
- @glVertexWeighthNV := wglGetProcAddress('glVertexWeighthNV');
- if not Assigned(glVertexWeighthNV) then Exit;
- @glVertexWeighthvNV := wglGetProcAddress('glVertexWeighthvNV');
- if not Assigned(glVertexWeighthvNV) then Exit;
- @glVertexAttrib1hNV := wglGetProcAddress('glVertexAttrib1hNV');
- if not Assigned(glVertexAttrib1hNV) then Exit;
- @glVertexAttrib1hvNV := wglGetProcAddress('glVertexAttrib1hvNV');
- if not Assigned(glVertexAttrib1hvNV) then Exit;
- @glVertexAttrib2hNV := wglGetProcAddress('glVertexAttrib2hNV');
- if not Assigned(glVertexAttrib2hNV) then Exit;
- @glVertexAttrib2hvNV := wglGetProcAddress('glVertexAttrib2hvNV');
- if not Assigned(glVertexAttrib2hvNV) then Exit;
- @glVertexAttrib3hNV := wglGetProcAddress('glVertexAttrib3hNV');
- if not Assigned(glVertexAttrib3hNV) then Exit;
- @glVertexAttrib3hvNV := wglGetProcAddress('glVertexAttrib3hvNV');
- if not Assigned(glVertexAttrib3hvNV) then Exit;
- @glVertexAttrib4hNV := wglGetProcAddress('glVertexAttrib4hNV');
- if not Assigned(glVertexAttrib4hNV) then Exit;
- @glVertexAttrib4hvNV := wglGetProcAddress('glVertexAttrib4hvNV');
- if not Assigned(glVertexAttrib4hvNV) then Exit;
- @glVertexAttribs1hvNV := wglGetProcAddress('glVertexAttribs1hvNV');
- if not Assigned(glVertexAttribs1hvNV) then Exit;
- @glVertexAttribs2hvNV := wglGetProcAddress('glVertexAttribs2hvNV');
- if not Assigned(glVertexAttribs2hvNV) then Exit;
- @glVertexAttribs3hvNV := wglGetProcAddress('glVertexAttribs3hvNV');
- if not Assigned(glVertexAttribs3hvNV) then Exit;
- @glVertexAttribs4hvNV := wglGetProcAddress('glVertexAttribs4hvNV');
- if not Assigned(glVertexAttribs4hvNV) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_ATI_map_object_buffer: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_ATI_map_object_buffer', extstring) then
- begin
- @glMapObjectBufferATI := wglGetProcAddress('glMapObjectBufferATI');
- if not Assigned(glMapObjectBufferATI) then Exit;
- @glUnmapObjectBufferATI := wglGetProcAddress('glUnmapObjectBufferATI');
- if not Assigned(glUnmapObjectBufferATI) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_ATI_separate_stencil: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_ATI_separate_stencil', extstring) then
- begin
- @glStencilOpSeparateATI := wglGetProcAddress('glStencilOpSeparateATI');
- if not Assigned(glStencilOpSeparateATI) then Exit;
- @glStencilFuncSeparateATI := wglGetProcAddress('glStencilFuncSeparateATI');
- if not Assigned(glStencilFuncSeparateATI) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_ATI_vertex_attrib_array_object: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_ATI_vertex_attrib_array_object', extstring) then
- begin
- @glVertexAttribArrayObjectATI := wglGetProcAddress('glVertexAttribArrayObjectATI');
- if not Assigned(glVertexAttribArrayObjectATI) then Exit;
- @glGetVertexAttribArrayObjectfvATI := wglGetProcAddress('glGetVertexAttribArrayObjectfvATI');
- if not Assigned(glGetVertexAttribArrayObjectfvATI) then Exit;
- @glGetVertexAttribArrayObjectivATI := wglGetProcAddress('glGetVertexAttribArrayObjectivATI');
- if not Assigned(glGetVertexAttribArrayObjectivATI) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_ARB_occlusion_query: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_ARB_occlusion_query', extstring) then
- begin
- @glGenQueriesARB := wglGetProcAddress('glGenQueriesARB');
- if not Assigned(glGenQueriesARB) then Exit;
- @glDeleteQueriesARB := wglGetProcAddress('glDeleteQueriesARB');
- if not Assigned(glDeleteQueriesARB) then Exit;
- @glIsQueryARB := wglGetProcAddress('glIsQueryARB');
- if not Assigned(glIsQueryARB) then Exit;
- @glBeginQueryARB := wglGetProcAddress('glBeginQueryARB');
- if not Assigned(glBeginQueryARB) then Exit;
- @glEndQueryARB := wglGetProcAddress('glEndQueryARB');
- if not Assigned(glEndQueryARB) then Exit;
- @glGetQueryivARB := wglGetProcAddress('glGetQueryivARB');
- if not Assigned(glGetQueryivARB) then Exit;
- @glGetQueryObjectivARB := wglGetProcAddress('glGetQueryObjectivARB');
- if not Assigned(glGetQueryObjectivARB) then Exit;
- @glGetQueryObjectuivARB := wglGetProcAddress('glGetQueryObjectuivARB');
- if not Assigned(glGetQueryObjectuivARB) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_ARB_shader_objects: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_ARB_shader_objects', extstring) then
- begin
- @glDeleteObjectARB := wglGetProcAddress('glDeleteObjectARB');
- if not Assigned(glDeleteObjectARB) then Exit;
- @glGetHandleARB := wglGetProcAddress('glGetHandleARB');
- if not Assigned(glGetHandleARB) then Exit;
- @glDetachObjectARB := wglGetProcAddress('glDetachObjectARB');
- if not Assigned(glDetachObjectARB) then Exit;
- @glCreateShaderObjectARB := wglGetProcAddress('glCreateShaderObjectARB');
- if not Assigned(glCreateShaderObjectARB) then Exit;
- @glShaderSourceARB := wglGetProcAddress('glShaderSourceARB');
- if not Assigned(glShaderSourceARB) then Exit;
- @glCompileShaderARB := wglGetProcAddress('glCompileShaderARB');
- if not Assigned(glCompileShaderARB) then Exit;
- @glCreateProgramObjectARB := wglGetProcAddress('glCreateProgramObjectARB');
- if not Assigned(glCreateProgramObjectARB) then Exit;
- @glAttachObjectARB := wglGetProcAddress('glAttachObjectARB');
- if not Assigned(glAttachObjectARB) then Exit;
- @glLinkProgramARB := wglGetProcAddress('glLinkProgramARB');
- if not Assigned(glLinkProgramARB) then Exit;
- @glUseProgramObjectARB := wglGetProcAddress('glUseProgramObjectARB');
- if not Assigned(glUseProgramObjectARB) then Exit;
- @glValidateProgramARB := wglGetProcAddress('glValidateProgramARB');
- if not Assigned(glValidateProgramARB) then Exit;
- @glUniform1fARB := wglGetProcAddress('glUniform1fARB');
- if not Assigned(glUniform1fARB) then Exit;
- @glUniform2fARB := wglGetProcAddress('glUniform2fARB');
- if not Assigned(glUniform2fARB) then Exit;
- @glUniform3fARB := wglGetProcAddress('glUniform3fARB');
- if not Assigned(glUniform3fARB) then Exit;
- @glUniform4fARB := wglGetProcAddress('glUniform4fARB');
- if not Assigned(glUniform4fARB) then Exit;
- @glUniform1iARB := wglGetProcAddress('glUniform1iARB');
- if not Assigned(glUniform1iARB) then Exit;
- @glUniform2iARB := wglGetProcAddress('glUniform2iARB');
- if not Assigned(glUniform2iARB) then Exit;
- @glUniform3iARB := wglGetProcAddress('glUniform3iARB');
- if not Assigned(glUniform3iARB) then Exit;
- @glUniform4iARB := wglGetProcAddress('glUniform4iARB');
- if not Assigned(glUniform4iARB) then Exit;
- @glUniform1fvARB := wglGetProcAddress('glUniform1fvARB');
- if not Assigned(glUniform1fvARB) then Exit;
- @glUniform2fvARB := wglGetProcAddress('glUniform2fvARB');
- if not Assigned(glUniform2fvARB) then Exit;
- @glUniform3fvARB := wglGetProcAddress('glUniform3fvARB');
- if not Assigned(glUniform3fvARB) then Exit;
- @glUniform4fvARB := wglGetProcAddress('glUniform4fvARB');
- if not Assigned(glUniform4fvARB) then Exit;
- @glUniform1ivARB := wglGetProcAddress('glUniform1ivARB');
- if not Assigned(glUniform1ivARB) then Exit;
- @glUniform2ivARB := wglGetProcAddress('glUniform2ivARB');
- if not Assigned(glUniform2ivARB) then Exit;
- @glUniform3ivARB := wglGetProcAddress('glUniform3ivARB');
- if not Assigned(glUniform3ivARB) then Exit;
- @glUniform4ivARB := wglGetProcAddress('glUniform4ivARB');
- if not Assigned(glUniform4ivARB) then Exit;
- @glUniformMatrix2fvARB := wglGetProcAddress('glUniformMatrix2fvARB');
- if not Assigned(glUniformMatrix2fvARB) then Exit;
- @glUniformMatrix3fvARB := wglGetProcAddress('glUniformMatrix3fvARB');
- if not Assigned(glUniformMatrix3fvARB) then Exit;
- @glUniformMatrix4fvARB := wglGetProcAddress('glUniformMatrix4fvARB');
- if not Assigned(glUniformMatrix4fvARB) then Exit;
- @glGetObjectParameterfvARB := wglGetProcAddress('glGetObjectParameterfvARB');
- if not Assigned(glGetObjectParameterfvARB) then Exit;
- @glGetObjectParameterivARB := wglGetProcAddress('glGetObjectParameterivARB');
- if not Assigned(glGetObjectParameterivARB) then Exit;
- @glGetInfoLogARB := wglGetProcAddress('glGetInfoLogARB');
- if not Assigned(glGetInfoLogARB) then Exit;
- @glGetAttachedObjectsARB := wglGetProcAddress('glGetAttachedObjectsARB');
- if not Assigned(glGetAttachedObjectsARB) then Exit;
- @glGetUniformLocationARB := wglGetProcAddress('glGetUniformLocationARB');
- if not Assigned(glGetUniformLocationARB) then Exit;
- @glGetActiveUniformARB := wglGetProcAddress('glGetActiveUniformARB');
- if not Assigned(glGetActiveUniformARB) then Exit;
- @glGetUniformfvARB := wglGetProcAddress('glGetUniformfvARB');
- if not Assigned(glGetUniformfvARB) then Exit;
- @glGetUniformivARB := wglGetProcAddress('glGetUniformivARB');
- if not Assigned(glGetUniformivARB) then Exit;
- @glGetShaderSourceARB := wglGetProcAddress('glGetShaderSourceARB');
- if not Assigned(glGetShaderSourceARB) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_ARB_vertex_shader: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_ARB_vertex_shader', extstring) then
- begin
- @glVertexAttrib1fARB := wglGetProcAddress('glVertexAttrib1fARB');
- if not Assigned(glVertexAttrib1fARB) then Exit;
- @glVertexAttrib1sARB := wglGetProcAddress('glVertexAttrib1sARB');
- if not Assigned(glVertexAttrib1sARB) then Exit;
- @glVertexAttrib1dARB := wglGetProcAddress('glVertexAttrib1dARB');
- if not Assigned(glVertexAttrib1dARB) then Exit;
- @glVertexAttrib2fARB := wglGetProcAddress('glVertexAttrib2fARB');
- if not Assigned(glVertexAttrib2fARB) then Exit;
- @glVertexAttrib2sARB := wglGetProcAddress('glVertexAttrib2sARB');
- if not Assigned(glVertexAttrib2sARB) then Exit;
- @glVertexAttrib2dARB := wglGetProcAddress('glVertexAttrib2dARB');
- if not Assigned(glVertexAttrib2dARB) then Exit;
- @glVertexAttrib3fARB := wglGetProcAddress('glVertexAttrib3fARB');
- if not Assigned(glVertexAttrib3fARB) then Exit;
- @glVertexAttrib3sARB := wglGetProcAddress('glVertexAttrib3sARB');
- if not Assigned(glVertexAttrib3sARB) then Exit;
- @glVertexAttrib3dARB := wglGetProcAddress('glVertexAttrib3dARB');
- if not Assigned(glVertexAttrib3dARB) then Exit;
- @glVertexAttrib4fARB := wglGetProcAddress('glVertexAttrib4fARB');
- if not Assigned(glVertexAttrib4fARB) then Exit;
- @glVertexAttrib4sARB := wglGetProcAddress('glVertexAttrib4sARB');
- if not Assigned(glVertexAttrib4sARB) then Exit;
- @glVertexAttrib4dARB := wglGetProcAddress('glVertexAttrib4dARB');
- if not Assigned(glVertexAttrib4dARB) then Exit;
- @glVertexAttrib4NubARB := wglGetProcAddress('glVertexAttrib4NubARB');
- if not Assigned(glVertexAttrib4NubARB) then Exit;
- @glVertexAttrib1fvARB := wglGetProcAddress('glVertexAttrib1fvARB');
- if not Assigned(glVertexAttrib1fvARB) then Exit;
- @glVertexAttrib1svARB := wglGetProcAddress('glVertexAttrib1svARB');
- if not Assigned(glVertexAttrib1svARB) then Exit;
- @glVertexAttrib1dvARB := wglGetProcAddress('glVertexAttrib1dvARB');
- if not Assigned(glVertexAttrib1dvARB) then Exit;
- @glVertexAttrib2fvARB := wglGetProcAddress('glVertexAttrib2fvARB');
- if not Assigned(glVertexAttrib2fvARB) then Exit;
- @glVertexAttrib2svARB := wglGetProcAddress('glVertexAttrib2svARB');
- if not Assigned(glVertexAttrib2svARB) then Exit;
- @glVertexAttrib2dvARB := wglGetProcAddress('glVertexAttrib2dvARB');
- if not Assigned(glVertexAttrib2dvARB) then Exit;
- @glVertexAttrib3fvARB := wglGetProcAddress('glVertexAttrib3fvARB');
- if not Assigned(glVertexAttrib3fvARB) then Exit;
- @glVertexAttrib3svARB := wglGetProcAddress('glVertexAttrib3svARB');
- if not Assigned(glVertexAttrib3svARB) then Exit;
- @glVertexAttrib3dvARB := wglGetProcAddress('glVertexAttrib3dvARB');
- if not Assigned(glVertexAttrib3dvARB) then Exit;
- @glVertexAttrib4fvARB := wglGetProcAddress('glVertexAttrib4fvARB');
- if not Assigned(glVertexAttrib4fvARB) then Exit;
- @glVertexAttrib4svARB := wglGetProcAddress('glVertexAttrib4svARB');
- if not Assigned(glVertexAttrib4svARB) then Exit;
- @glVertexAttrib4dvARB := wglGetProcAddress('glVertexAttrib4dvARB');
- if not Assigned(glVertexAttrib4dvARB) then Exit;
- @glVertexAttrib4ivARB := wglGetProcAddress('glVertexAttrib4ivARB');
- if not Assigned(glVertexAttrib4ivARB) then Exit;
- @glVertexAttrib4bvARB := wglGetProcAddress('glVertexAttrib4bvARB');
- if not Assigned(glVertexAttrib4bvARB) then Exit;
- @glVertexAttrib4ubvARB := wglGetProcAddress('glVertexAttrib4ubvARB');
- if not Assigned(glVertexAttrib4ubvARB) then Exit;
- @glVertexAttrib4usvARB := wglGetProcAddress('glVertexAttrib4usvARB');
- if not Assigned(glVertexAttrib4usvARB) then Exit;
- @glVertexAttrib4uivARB := wglGetProcAddress('glVertexAttrib4uivARB');
- if not Assigned(glVertexAttrib4uivARB) then Exit;
- @glVertexAttrib4NbvARB := wglGetProcAddress('glVertexAttrib4NbvARB');
- if not Assigned(glVertexAttrib4NbvARB) then Exit;
- @glVertexAttrib4NsvARB := wglGetProcAddress('glVertexAttrib4NsvARB');
- if not Assigned(glVertexAttrib4NsvARB) then Exit;
- @glVertexAttrib4NivARB := wglGetProcAddress('glVertexAttrib4NivARB');
- if not Assigned(glVertexAttrib4NivARB) then Exit;
- @glVertexAttrib4NubvARB := wglGetProcAddress('glVertexAttrib4NubvARB');
- if not Assigned(glVertexAttrib4NubvARB) then Exit;
- @glVertexAttrib4NusvARB := wglGetProcAddress('glVertexAttrib4NusvARB');
- if not Assigned(glVertexAttrib4NusvARB) then Exit;
- @glVertexAttrib4NuivARB := wglGetProcAddress('glVertexAttrib4NuivARB');
- if not Assigned(glVertexAttrib4NuivARB) then Exit;
- @glVertexAttribPointerARB := wglGetProcAddress('glVertexAttribPointerARB');
- if not Assigned(glVertexAttribPointerARB) then Exit;
- @glEnableVertexAttribArrayARB := wglGetProcAddress('glEnableVertexAttribArrayARB');
- if not Assigned(glEnableVertexAttribArrayARB) then Exit;
- @glDisableVertexAttribArrayARB := wglGetProcAddress('glDisableVertexAttribArrayARB');
- if not Assigned(glDisableVertexAttribArrayARB) then Exit;
- @glBindAttribLocationARB := wglGetProcAddress('glBindAttribLocationARB');
- if not Assigned(glBindAttribLocationARB) then Exit;
- @glGetActiveAttribARB := wglGetProcAddress('glGetActiveAttribARB');
- if not Assigned(glGetActiveAttribARB) then Exit;
- @glGetAttribLocationARB := wglGetProcAddress('glGetAttribLocationARB');
- if not Assigned(glGetAttribLocationARB) then Exit;
- @glGetVertexAttribdvARB := wglGetProcAddress('glGetVertexAttribdvARB');
- if not Assigned(glGetVertexAttribdvARB) then Exit;
- @glGetVertexAttribfvARB := wglGetProcAddress('glGetVertexAttribfvARB');
- if not Assigned(glGetVertexAttribfvARB) then Exit;
- @glGetVertexAttribivARB := wglGetProcAddress('glGetVertexAttribivARB');
- if not Assigned(glGetVertexAttribivARB) then Exit;
- @glGetVertexAttribPointervARB := wglGetProcAddress('glGetVertexAttribPointervARB');
- if not Assigned(glGetVertexAttribPointervARB) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_ARB_fragment_shader: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_ARB_fragment_shader', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_ARB_shading_language_100: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_ARB_shading_language_100', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_ARB_texture_non_power_of_two: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_ARB_texture_non_power_of_two', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_ARB_point_sprite: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_ARB_point_sprite', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_EXT_depth_bounds_test: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_EXT_depth_bounds_test', extstring) then
- begin
- @glDepthBoundsEXT := wglGetProcAddress('glDepthBoundsEXT');
- if not Assigned(glDepthBoundsEXT) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_EXT_texture_mirror_clamp: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_EXT_texture_mirror_clamp', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_EXT_blend_equation_separate: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_EXT_blend_equation_separate', extstring) then
- begin
- @glBlendEquationSeparateEXT := wglGetProcAddress('glBlendEquationSeparateEXT');
- if not Assigned(glBlendEquationSeparateEXT) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_MESA_pack_invert: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_MESA_pack_invert', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_MESA_ycbcr_texture: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_MESA_ycbcr_texture', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_ARB_fragment_program_shadow: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_ARB_fragment_program_shadow', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_NV_fragment_program_option: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_NV_fragment_program_option', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_EXT_pixel_buffer_object: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_EXT_pixel_buffer_object', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_NV_fragment_program2: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_NV_fragment_program2', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_NV_vertex_program2_option: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_NV_vertex_program2_option', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_NV_vertex_program3: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- if glext_ExtensionSupported('GL_NV_vertex_program3', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_ARB_draw_buffers: Boolean;
-var
- extstring: PChar;
-begin
-
- Result := FALSE;
- extstring := glGetString(GL_EXTENSIONS);
-
- if glext_ExtensionSupported('GL_ARB_draw_buffers', extstring) then
- begin
- glDrawBuffersARB := wglGetProcAddress('glDrawBuffersARB');
- if not Assigned(glDrawBuffersARB) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_ARB_texture_rectangle: Boolean;
-var
- extstring: PChar;
-begin
-
- Result := FALSE;
- extstring := glGetString(GL_EXTENSIONS);
-
- if glext_ExtensionSupported('GL_ARB_texture_rectangle', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_ARB_color_buffer_float: Boolean;
-var
- extstring: PChar;
-begin
-
- Result := FALSE;
- extstring := glGetString(GL_EXTENSIONS);
-
- if glext_ExtensionSupported('GL_ARB_color_buffer_float', extstring) then
- begin
- glClampColorARB := wglGetProcAddress('glClampColorARB');
- if not Assigned(glClampColorARB) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_ARB_half_float_pixel: Boolean;
-var
- extstring: PChar;
-begin
-
- Result := FALSE;
- extstring := glGetString(GL_EXTENSIONS);
-
- if glext_ExtensionSupported('GL_ARB_half_float_pixel', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_ARB_texture_float: Boolean;
-var
- extstring: PChar;
-begin
-
- Result := FALSE;
- extstring := glGetString(GL_EXTENSIONS);
-
- if glext_ExtensionSupported('GL_ARB_texture_float', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_EXT_texture_compression_dxt1: Boolean;
-var
- extstring: PChar;
-begin
-
- Result := FALSE;
- extstring := glGetString(GL_EXTENSIONS);
-
- if glext_ExtensionSupported('GL_EXT_texture_compression_dxt1', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_ARB_pixel_buffer_object: Boolean;
-var
- extstring: PChar;
-begin
-
- Result := FALSE;
- extstring := glGetString(GL_EXTENSIONS);
-
- if glext_ExtensionSupported('GL_ARB_pixel_buffer_object', extstring) then
- begin
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_EXT_framebuffer_object: Boolean;
-var
- extstring: PChar;
-begin
-
- Result := FALSE;
- extstring := glGetString(GL_EXTENSIONS);
-
- if glext_ExtensionSupported('GL_EXT_framebuffer_object', extstring) then
- begin
- glIsRenderbufferEXT := wglGetProcAddress('glIsRenderbufferEXT');
- if not Assigned(glIsRenderbufferEXT) then Exit;
- glBindRenderbufferEXT := wglGetProcAddress('glBindRenderbufferEXT');
- if not Assigned(glBindRenderbufferEXT) then Exit;
- glDeleteRenderbuffersEXT := wglGetProcAddress('glDeleteRenderbuffersEXT');
- if not Assigned(glDeleteRenderbuffersEXT) then Exit;
- glGenRenderbuffersEXT := wglGetProcAddress('glGenRenderbuffersEXT');
- if not Assigned(glGenRenderbuffersEXT) then Exit;
- glRenderbufferStorageEXT := wglGetProcAddress('glRenderbufferStorageEXT');
- if not Assigned(glRenderbufferStorageEXT) then Exit;
- glGetRenderbufferParameterivEXT := wglGetProcAddress('glGetRenderbufferParameterivEXT');
- if not Assigned(glGetRenderbufferParameterivEXT) then Exit;
- glIsFramebufferEXT := wglGetProcAddress('glIsFramebufferEXT');
- if not Assigned(glIsFramebufferEXT) then Exit;
- glBindFramebufferEXT := wglGetProcAddress('glBindFramebufferEXT');
- if not Assigned(glBindFramebufferEXT) then Exit;
- glDeleteFramebuffersEXT := wglGetProcAddress('glDeleteFramebuffersEXT');
- if not Assigned(glDeleteFramebuffersEXT) then Exit;
- glGenFramebuffersEXT := wglGetProcAddress('glGenFramebuffersEXT');
- if not Assigned(glGenFramebuffersEXT) then Exit;
- glCheckFramebufferStatusEXT := wglGetProcAddress('glCheckFramebufferStatusEXT');
- if not Assigned(glCheckFramebufferStatusEXT) then Exit;
- glFramebufferTexture1DEXT := wglGetProcAddress('glFramebufferTexture1DEXT');
- if not Assigned(glFramebufferTexture1DEXT) then Exit;
- glFramebufferTexture2DEXT := wglGetProcAddress('glFramebufferTexture2DEXT');
- if not Assigned(glFramebufferTexture2DEXT) then Exit;
- glFramebufferTexture3DEXT := wglGetProcAddress('glFramebufferTexture3DEXT');
- if not Assigned(glFramebufferTexture3DEXT) then Exit;
- glFramebufferRenderbufferEXT := wglGetProcAddress('glFramebufferRenderbufferEXT');
- if not Assigned(glFramebufferRenderbufferEXT) then Exit;
- glGetFramebufferAttachmentParameterivEXT := wglGetProcAddress('glGetFramebufferAttachmentParameterivEXT');
- if not Assigned(glGetFramebufferAttachmentParameterivEXT) then Exit;
- glGenerateMipmapEXT := wglGetProcAddress('glGenerateMipmapEXT');
- if not Assigned(glGenerateMipmapEXT) then Exit;
- Result := TRUE;
- end;
-
-end;
-
-function Load_GL_version_1_4: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- glBlendFuncSeparate := wglGetProcAddress('glBlendFuncSeparate');
- if not Assigned(glBlendFuncSeparate) then Exit;
- glFogCoordf := wglGetProcAddress('glFogCoordf');
- if not Assigned(glFogCoordf) then Exit;
- glFogCoordfv := wglGetProcAddress('glFogCoordfv');
- if not Assigned(glFogCoordfv) then Exit;
- glFogCoordd := wglGetProcAddress('glFogCoordd');
- if not Assigned(glFogCoordd) then Exit;
- glFogCoorddv := wglGetProcAddress('glFogCoorddv');
- if not Assigned(glFogCoorddv) then Exit;
- glFogCoordPointer := wglGetProcAddress('glFogCoordPointer');
- if not Assigned(glFogCoordPointer) then Exit;
- glMultiDrawArrays := wglGetProcAddress('glMultiDrawArrays');
- if not Assigned(glMultiDrawArrays) then Exit;
- glMultiDrawElements := wglGetProcAddress('glMultiDrawElements');
- if not Assigned(glMultiDrawElements) then Exit;
- glPointParameterf := wglGetProcAddress('glPointParameterf');
- if not Assigned(glPointParameterf) then Exit;
- glPointParameterfv := wglGetProcAddress('glPointParameterfv');
- if not Assigned(glPointParameterfv) then Exit;
- glPointParameteri := wglGetProcAddress('glPointParameteri');
- if not Assigned(glPointParameteri) then Exit;
- glPointParameteriv := wglGetProcAddress('glPointParameteriv');
- if not Assigned(glPointParameteriv) then Exit;
- glSecondaryColor3b := wglGetProcAddress('glSecondaryColor3b');
- if not Assigned(glSecondaryColor3b) then Exit;
- glSecondaryColor3bv := wglGetProcAddress('glSecondaryColor3bv');
- if not Assigned(glSecondaryColor3bv) then Exit;
- glSecondaryColor3d := wglGetProcAddress('glSecondaryColor3d');
- if not Assigned(glSecondaryColor3d) then Exit;
- glSecondaryColor3dv := wglGetProcAddress('glSecondaryColor3dv');
- if not Assigned(glSecondaryColor3dv) then Exit;
- glSecondaryColor3f := wglGetProcAddress('glSecondaryColor3f');
- if not Assigned(glSecondaryColor3f) then Exit;
- glSecondaryColor3fv := wglGetProcAddress('glSecondaryColor3fv');
- if not Assigned(glSecondaryColor3fv) then Exit;
- glSecondaryColor3i := wglGetProcAddress('glSecondaryColor3i');
- if not Assigned(glSecondaryColor3i) then Exit;
- glSecondaryColor3iv := wglGetProcAddress('glSecondaryColor3iv');
- if not Assigned(glSecondaryColor3iv) then Exit;
- glSecondaryColor3s := wglGetProcAddress('glSecondaryColor3s');
- if not Assigned(glSecondaryColor3s) then Exit;
- glSecondaryColor3sv := wglGetProcAddress('glSecondaryColor3sv');
- if not Assigned(glSecondaryColor3sv) then Exit;
- glSecondaryColor3ub := wglGetProcAddress('glSecondaryColor3ub');
- if not Assigned(glSecondaryColor3ub) then Exit;
- glSecondaryColor3ubv := wglGetProcAddress('glSecondaryColor3ubv');
- if not Assigned(glSecondaryColor3ubv) then Exit;
- glSecondaryColor3ui := wglGetProcAddress('glSecondaryColor3ui');
- if not Assigned(glSecondaryColor3ui) then Exit;
- glSecondaryColor3uiv := wglGetProcAddress('glSecondaryColor3uiv');
- if not Assigned(glSecondaryColor3uiv) then Exit;
- glSecondaryColor3us := wglGetProcAddress('glSecondaryColor3us');
- if not Assigned(glSecondaryColor3us) then Exit;
- glSecondaryColor3usv := wglGetProcAddress('glSecondaryColor3usv');
- if not Assigned(glSecondaryColor3usv) then Exit;
- glSecondaryColorPointer := wglGetProcAddress('glSecondaryColorPointer');
- if not Assigned(glSecondaryColorPointer) then Exit;
- glWindowPos2d := wglGetProcAddress('glWindowPos2d');
- if not Assigned(glWindowPos2d) then Exit;
- glWindowPos2dv := wglGetProcAddress('glWindowPos2dv');
- if not Assigned(glWindowPos2dv) then Exit;
- glWindowPos2f := wglGetProcAddress('glWindowPos2f');
- if not Assigned(glWindowPos2f) then Exit;
- glWindowPos2fv := wglGetProcAddress('glWindowPos2fv');
- if not Assigned(glWindowPos2fv) then Exit;
- glWindowPos2i := wglGetProcAddress('glWindowPos2i');
- if not Assigned(glWindowPos2i) then Exit;
- glWindowPos2iv := wglGetProcAddress('glWindowPos2iv');
- if not Assigned(glWindowPos2iv) then Exit;
- glWindowPos2s := wglGetProcAddress('glWindowPos2s');
- if not Assigned(glWindowPos2s) then Exit;
- glWindowPos2sv := wglGetProcAddress('glWindowPos2sv');
- if not Assigned(glWindowPos2sv) then Exit;
- glWindowPos3d := wglGetProcAddress('glWindowPos3d');
- if not Assigned(glWindowPos3d) then Exit;
- glWindowPos3dv := wglGetProcAddress('glWindowPos3dv');
- if not Assigned(glWindowPos3dv) then Exit;
- glWindowPos3f := wglGetProcAddress('glWindowPos3f');
- if not Assigned(glWindowPos3f) then Exit;
- glWindowPos3fv := wglGetProcAddress('glWindowPos3fv');
- if not Assigned(glWindowPos3fv) then Exit;
- glWindowPos3i := wglGetProcAddress('glWindowPos3i');
- if not Assigned(glWindowPos3i) then Exit;
- glWindowPos3iv := wglGetProcAddress('glWindowPos3iv');
- if not Assigned(glWindowPos3iv) then Exit;
- glWindowPos3s := wglGetProcAddress('glWindowPos3s');
- if not Assigned(glWindowPos3s) then Exit;
- glWindowPos3sv := wglGetProcAddress('glWindowPos3sv');
- if not Assigned(glWindowPos3sv) then Exit;
- Result := TRUE;
-
-end;
-
-function Load_GL_version_1_5: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- glGenQueries := wglGetProcAddress('glGenQueries');
- if not Assigned(glGenQueries) then Exit;
- glDeleteQueries := wglGetProcAddress('glDeleteQueries');
- if not Assigned(glDeleteQueries) then Exit;
- glIsQuery := wglGetProcAddress('glIsQuery');
- if not Assigned(glIsQuery) then Exit;
- glBeginQuery := wglGetProcAddress('glBeginQuery');
- if not Assigned(glBeginQuery) then Exit;
- glEndQuery := wglGetProcAddress('glEndQuery');
- if not Assigned(glEndQuery) then Exit;
- glGetQueryiv := wglGetProcAddress('glGetQueryiv');
- if not Assigned(glGetQueryiv) then Exit;
- glGetQueryObjectiv := wglGetProcAddress('glGetQueryObjectiv');
- if not Assigned(glGetQueryObjectiv) then Exit;
- glGetQueryObjectuiv := wglGetProcAddress('glGetQueryObjectuiv');
- if not Assigned(glGetQueryObjectuiv) then Exit;
- glBindBuffer := wglGetProcAddress('glBindBuffer');
- if not Assigned(glBindBuffer) then Exit;
- glDeleteBuffers := wglGetProcAddress('glDeleteBuffers');
- if not Assigned(glDeleteBuffers) then Exit;
- glGenBuffers := wglGetProcAddress('glGenBuffers');
- if not Assigned(glGenBuffers) then Exit;
- glIsBuffer := wglGetProcAddress('glIsBuffer');
- if not Assigned(glIsBuffer) then Exit;
- glBufferData := wglGetProcAddress('glBufferData');
- if not Assigned(glBufferData) then Exit;
- glBufferSubData := wglGetProcAddress('glBufferSubData');
- if not Assigned(glBufferSubData) then Exit;
- glGetBufferSubData := wglGetProcAddress('glGetBufferSubData');
- if not Assigned(glGetBufferSubData) then Exit;
- glMapBuffer := wglGetProcAddress('glMapBuffer');
- if not Assigned(glMapBuffer) then Exit;
- glUnmapBuffer := wglGetProcAddress('glUnmapBuffer');
- if not Assigned(glUnmapBuffer) then Exit;
- glGetBufferParameteriv := wglGetProcAddress('glGetBufferParameteriv');
- if not Assigned(glGetBufferParameteriv) then Exit;
- glGetBufferPointerv := wglGetProcAddress('glGetBufferPointerv');
- if not Assigned(glGetBufferPointerv) then Exit;
- Result := TRUE;
-
-end;
-
-function Load_GL_version_2_0: Boolean;
-var
- extstring: String;
-begin
-
- Result := FALSE;
- extstring := String(PChar(glGetString(GL_EXTENSIONS)));
-
- glBlendEquationSeparate := wglGetProcAddress('glBlendEquationSeparate');
- if not Assigned(glBlendEquationSeparate) then Exit;
- glDrawBuffers := wglGetProcAddress('glDrawBuffers');
- if not Assigned(glDrawBuffers) then Exit;
- glStencilOpSeparate := wglGetProcAddress('glStencilOpSeparate');
- if not Assigned(glStencilOpSeparate) then Exit;
- glStencilFuncSeparate := wglGetProcAddress('glStencilFuncSeparate');
- if not Assigned(glStencilFuncSeparate) then Exit;
- glStencilMaskSeparate := wglGetProcAddress('glStencilMaskSeparate');
- if not Assigned(glStencilMaskSeparate) then Exit;
- glAttachShader := wglGetProcAddress('glAttachShader');
- if not Assigned(glAttachShader) then Exit;
- glBindAttribLocation := wglGetProcAddress('glBindAttribLocation');
- if not Assigned(glBindAttribLocation) then Exit;
- glCompileShader := wglGetProcAddress('glCompileShader');
- if not Assigned(glCompileShader) then Exit;
- glCreateProgram := wglGetProcAddress('glCreateProgram');
- if not Assigned(glCreateProgram) then Exit;
- glCreateShader := wglGetProcAddress('glCreateShader');
- if not Assigned(glCreateShader) then Exit;
- glDeleteProgram := wglGetProcAddress('glDeleteProgram');
- if not Assigned(glDeleteProgram) then Exit;
- glDeleteShader := wglGetProcAddress('glDeleteShader');
- if not Assigned(glDeleteShader) then Exit;
- glDetachShader := wglGetProcAddress('glDetachShader');
- if not Assigned(glDetachShader) then Exit;
- glDisableVertexAttribArray := wglGetProcAddress('glDisableVertexAttribArray');
- if not Assigned(glDisableVertexAttribArray) then Exit;
- glEnableVertexAttribArray := wglGetProcAddress('glEnableVertexAttribArray');
- if not Assigned(glEnableVertexAttribArray) then Exit;
- glGetActiveAttrib := wglGetProcAddress('glGetActiveAttrib');
- if not Assigned(glGetActiveAttrib) then Exit;
- glGetActiveUniform := wglGetProcAddress('glGetActiveUniform');
- if not Assigned(glGetActiveUniform) then Exit;
- glGetAttachedShaders := wglGetProcAddress('glGetAttachedShaders');
- if not Assigned(glGetAttachedShaders) then Exit;
- glGetAttribLocation := wglGetProcAddress('glGetAttribLocation');
- if not Assigned(glGetAttribLocation) then Exit;
- glGetProgramiv := wglGetProcAddress('glGetProgramiv');
- if not Assigned(glGetProgramiv) then Exit;
- glGetProgramInfoLog := wglGetProcAddress('glGetProgramInfoLog');
- if not Assigned(glGetProgramInfoLog) then Exit;
- glGetShaderiv := wglGetProcAddress('glGetShaderiv');
- if not Assigned(glGetShaderiv) then Exit;
- glGetShaderInfoLog := wglGetProcAddress('glGetShaderInfoLog');
- if not Assigned(glGetShaderInfoLog) then Exit;
- glGetShaderSource := wglGetProcAddress('glGetShaderSource');
- if not Assigned(glGetShaderSource) then Exit;
- glGetUniformLocation := wglGetProcAddress('glGetUniformLocation');
- if not Assigned(glGetUniformLocation) then Exit;
- glGetUniformfv := wglGetProcAddress('glGetUniformfv');
- if not Assigned(glGetUniformfv) then Exit;
- glGetUniformiv := wglGetProcAddress('glGetUniformiv');
- if not Assigned(glGetUniformiv) then Exit;
- glGetVertexAttribdv := wglGetProcAddress('glGetVertexAttribdv');
- if not Assigned(glGetVertexAttribdv) then Exit;
- glGetVertexAttribfv := wglGetProcAddress('glGetVertexAttribfv');
- if not Assigned(glGetVertexAttribfv) then Exit;
- glGetVertexAttribiv := wglGetProcAddress('glGetVertexAttribiv');
- if not Assigned(glGetVertexAttribiv) then Exit;
- glGetVertexAttribPointerv := wglGetProcAddress('glGetVertexAttribPointerv');
- if not Assigned(glGetVertexAttribPointerv) then Exit;
- glIsProgram := wglGetProcAddress('glIsProgram');
- if not Assigned(glIsProgram) then Exit;
- glIsShader := wglGetProcAddress('glIsShader');
- if not Assigned(glIsShader) then Exit;
- glLinkProgram := wglGetProcAddress('glLinkProgram');
- if not Assigned(glLinkProgram) then Exit;
- glShaderSource := wglGetProcAddress('glShaderSource');
- if not Assigned(glShaderSource) then Exit;
- glUseProgram := wglGetProcAddress('glUseProgram');
- if not Assigned(glUseProgram) then Exit;
- glUniform1f := wglGetProcAddress('glUniform1f');
- if not Assigned(glUniform1f) then Exit;
- glUniform2f := wglGetProcAddress('glUniform2f');
- if not Assigned(glUniform2f) then Exit;
- glUniform3f := wglGetProcAddress('glUniform3f');
- if not Assigned(glUniform3f) then Exit;
- glUniform4f := wglGetProcAddress('glUniform4f');
- if not Assigned(glUniform4f) then Exit;
- glUniform1i := wglGetProcAddress('glUniform1i');
- if not Assigned(glUniform1i) then Exit;
- glUniform2i := wglGetProcAddress('glUniform2i');
- if not Assigned(glUniform2i) then Exit;
- glUniform3i := wglGetProcAddress('glUniform3i');
- if not Assigned(glUniform3i) then Exit;
- glUniform4i := wglGetProcAddress('glUniform4i');
- if not Assigned(glUniform4i) then Exit;
- glUniform1fv := wglGetProcAddress('glUniform1fv');
- if not Assigned(glUniform1fv) then Exit;
- glUniform2fv := wglGetProcAddress('glUniform2fv');
- if not Assigned(glUniform2fv) then Exit;
- glUniform3fv := wglGetProcAddress('glUniform3fv');
- if not Assigned(glUniform3fv) then Exit;
- glUniform4fv := wglGetProcAddress('glUniform4fv');
- if not Assigned(glUniform4fv) then Exit;
- glUniform1iv := wglGetProcAddress('glUniform1iv');
- if not Assigned(glUniform1iv) then Exit;
- glUniform2iv := wglGetProcAddress('glUniform2iv');
- if not Assigned(glUniform2iv) then Exit;
- glUniform3iv := wglGetProcAddress('glUniform3iv');
- if not Assigned(glUniform3iv) then Exit;
- glUniform4iv := wglGetProcAddress('glUniform4iv');
- if not Assigned(glUniform4iv) then Exit;
- glUniformMatrix2fv := wglGetProcAddress('glUniformMatrix2fv');
- if not Assigned(glUniformMatrix2fv) then Exit;
- glUniformMatrix3fv := wglGetProcAddress('glUniformMatrix3fv');
- if not Assigned(glUniformMatrix3fv) then Exit;
- glUniformMatrix4fv := wglGetProcAddress('glUniformMatrix4fv');
- if not Assigned(glUniformMatrix4fv) then Exit;
- glValidateProgram := wglGetProcAddress('glValidateProgram');
- if not Assigned(glValidateProgram) then Exit;
- glVertexAttrib1d := wglGetProcAddress('glVertexAttrib1d');
- if not Assigned(glVertexAttrib1d) then Exit;
- glVertexAttrib1dv := wglGetProcAddress('glVertexAttrib1dv');
- if not Assigned(glVertexAttrib1dv) then Exit;
- glVertexAttrib1f := wglGetProcAddress('glVertexAttrib1f');
- if not Assigned(glVertexAttrib1f) then Exit;
- glVertexAttrib1fv := wglGetProcAddress('glVertexAttrib1fv');
- if not Assigned(glVertexAttrib1fv) then Exit;
- glVertexAttrib1s := wglGetProcAddress('glVertexAttrib1s');
- if not Assigned(glVertexAttrib1s) then Exit;
- glVertexAttrib1sv := wglGetProcAddress('glVertexAttrib1sv');
- if not Assigned(glVertexAttrib1sv) then Exit;
- glVertexAttrib2d := wglGetProcAddress('glVertexAttrib2d');
- if not Assigned(glVertexAttrib2d) then Exit;
- glVertexAttrib2dv := wglGetProcAddress('glVertexAttrib2dv');
- if not Assigned(glVertexAttrib2dv) then Exit;
- glVertexAttrib2f := wglGetProcAddress('glVertexAttrib2f');
- if not Assigned(glVertexAttrib2f) then Exit;
- glVertexAttrib2fv := wglGetProcAddress('glVertexAttrib2fv');
- if not Assigned(glVertexAttrib2fv) then Exit;
- glVertexAttrib2s := wglGetProcAddress('glVertexAttrib2s');
- if not Assigned(glVertexAttrib2s) then Exit;
- glVertexAttrib2sv := wglGetProcAddress('glVertexAttrib2sv');
- if not Assigned(glVertexAttrib2sv) then Exit;
- glVertexAttrib3d := wglGetProcAddress('glVertexAttrib3d');
- if not Assigned(glVertexAttrib3d) then Exit;
- glVertexAttrib3dv := wglGetProcAddress('glVertexAttrib3dv');
- if not Assigned(glVertexAttrib3dv) then Exit;
- glVertexAttrib3f := wglGetProcAddress('glVertexAttrib3f');
- if not Assigned(glVertexAttrib3f) then Exit;
- glVertexAttrib3fv := wglGetProcAddress('glVertexAttrib3fv');
- if not Assigned(glVertexAttrib3fv) then Exit;
- glVertexAttrib3s := wglGetProcAddress('glVertexAttrib3s');
- if not Assigned(glVertexAttrib3s) then Exit;
- glVertexAttrib3sv := wglGetProcAddress('glVertexAttrib3sv');
- if not Assigned(glVertexAttrib3sv) then Exit;
- glVertexAttrib4Nbv := wglGetProcAddress('glVertexAttrib4Nbv');
- if not Assigned(glVertexAttrib4Nbv) then Exit;
- glVertexAttrib4Niv := wglGetProcAddress('glVertexAttrib4Niv');
- if not Assigned(glVertexAttrib4Niv) then Exit;
- glVertexAttrib4Nsv := wglGetProcAddress('glVertexAttrib4Nsv');
- if not Assigned(glVertexAttrib4Nsv) then Exit;
- glVertexAttrib4Nub := wglGetProcAddress('glVertexAttrib4Nub');
- if not Assigned(glVertexAttrib4Nub) then Exit;
- glVertexAttrib4Nubv := wglGetProcAddress('glVertexAttrib4Nubv');
- if not Assigned(glVertexAttrib4Nubv) then Exit;
- glVertexAttrib4Nuiv := wglGetProcAddress('glVertexAttrib4Nuiv');
- if not Assigned(glVertexAttrib4Nuiv) then Exit;
- glVertexAttrib4Nusv := wglGetProcAddress('glVertexAttrib4Nusv');
- if not Assigned(glVertexAttrib4Nusv) then Exit;
- glVertexAttrib4bv := wglGetProcAddress('glVertexAttrib4bv');
- if not Assigned(glVertexAttrib4bv) then Exit;
- glVertexAttrib4d := wglGetProcAddress('glVertexAttrib4d');
- if not Assigned(glVertexAttrib4d) then Exit;
- glVertexAttrib4dv := wglGetProcAddress('glVertexAttrib4dv');
- if not Assigned(glVertexAttrib4dv) then Exit;
- glVertexAttrib4f := wglGetProcAddress('glVertexAttrib4f');
- if not Assigned(glVertexAttrib4f) then Exit;
- glVertexAttrib4fv := wglGetProcAddress('glVertexAttrib4fv');
- if not Assigned(glVertexAttrib4fv) then Exit;
- glVertexAttrib4iv := wglGetProcAddress('glVertexAttrib4iv');
- if not Assigned(glVertexAttrib4iv) then Exit;
- glVertexAttrib4s := wglGetProcAddress('glVertexAttrib4s');
- if not Assigned(glVertexAttrib4s) then Exit;
- glVertexAttrib4sv := wglGetProcAddress('glVertexAttrib4sv');
- if not Assigned(glVertexAttrib4sv) then Exit;
- glVertexAttrib4ubv := wglGetProcAddress('glVertexAttrib4ubv');
- if not Assigned(glVertexAttrib4ubv) then Exit;
- glVertexAttrib4uiv := wglGetProcAddress('glVertexAttrib4uiv');
- if not Assigned(glVertexAttrib4uiv) then Exit;
- glVertexAttrib4usv := wglGetProcAddress('glVertexAttrib4usv');
- if not Assigned(glVertexAttrib4usv) then Exit;
- glVertexAttribPointer := wglGetProcAddress('glVertexAttribPointer');
- if not Assigned(glVertexAttribPointer) then Exit;
- Result := TRUE;
-
-end;
-
-function glext_LoadExtension(ext: String): Boolean;
-begin
-
- Result := FALSE;
-
- if ext = 'GL_version_1_2' then Result := Load_GL_version_1_2
- else if ext = 'GL_ARB_imaging' then Result := Load_GL_ARB_imaging
- else if ext = 'GL_version_1_3' then Result := Load_GL_version_1_3
- else if ext = 'GL_ARB_multitexture' then Result := Load_GL_ARB_multitexture
- else if ext = 'GL_ARB_transpose_matrix' then Result := Load_GL_ARB_transpose_matrix
- else if ext = 'GL_ARB_multisample' then Result := Load_GL_ARB_multisample
- else if ext = 'GL_ARB_texture_env_add' then Result := Load_GL_ARB_texture_env_add
-{$IFDEF Windows}
- else if ext = 'WGL_ARB_extensions_string' then Result := Load_WGL_ARB_extensions_string
- else if ext = 'WGL_ARB_buffer_region' then Result := Load_WGL_ARB_buffer_region
-{$ENDIF}
- else if ext = 'GL_ARB_texture_cube_map' then Result := Load_GL_ARB_texture_cube_map
- else if ext = 'GL_ARB_depth_texture' then Result := Load_GL_ARB_depth_texture
- else if ext = 'GL_ARB_point_parameters' then Result := Load_GL_ARB_point_parameters
- else if ext = 'GL_ARB_shadow' then Result := Load_GL_ARB_shadow
- else if ext = 'GL_ARB_shadow_ambient' then Result := Load_GL_ARB_shadow_ambient
- else if ext = 'GL_ARB_texture_border_clamp' then Result := Load_GL_ARB_texture_border_clamp
- else if ext = 'GL_ARB_texture_compression' then Result := Load_GL_ARB_texture_compression
- else if ext = 'GL_ARB_texture_env_combine' then Result := Load_GL_ARB_texture_env_combine
- else if ext = 'GL_ARB_texture_env_crossbar' then Result := Load_GL_ARB_texture_env_crossbar
- else if ext = 'GL_ARB_texture_env_dot3' then Result := Load_GL_ARB_texture_env_dot3
- else if ext = 'GL_ARB_texture_mirrored_repeat' then Result := Load_GL_ARB_texture_mirrored_repeat
- else if ext = 'GL_ARB_vertex_blend' then Result := Load_GL_ARB_vertex_blend
- else if ext = 'GL_ARB_vertex_program' then Result := Load_GL_ARB_vertex_program
- else if ext = 'GL_ARB_window_pos' then Result := Load_GL_ARB_window_pos
- else if ext = 'GL_EXT_422_pixels' then Result := Load_GL_EXT_422_pixels
- else if ext = 'GL_EXT_abgr' then Result := Load_GL_EXT_abgr
- else if ext = 'GL_EXT_bgra' then Result := Load_GL_EXT_bgra
- else if ext = 'GL_EXT_blend_color' then Result := Load_GL_EXT_blend_color
- else if ext = 'GL_EXT_blend_func_separate' then Result := Load_GL_EXT_blend_func_separate
- else if ext = 'GL_EXT_blend_logic_op' then Result := Load_GL_EXT_blend_logic_op
- else if ext = 'GL_EXT_blend_minmax' then Result := Load_GL_EXT_blend_minmax
- else if ext = 'GL_EXT_blend_subtract' then Result := Load_GL_EXT_blend_subtract
- else if ext = 'GL_EXT_clip_volume_hint' then Result := Load_GL_EXT_clip_volume_hint
- else if ext = 'GL_EXT_color_subtable' then Result := Load_GL_EXT_color_subtable
- else if ext = 'GL_EXT_compiled_vertex_array' then Result := Load_GL_EXT_compiled_vertex_array
- else if ext = 'GL_EXT_convolution' then Result := Load_GL_EXT_convolution
- else if ext = 'GL_EXT_fog_coord' then Result := Load_GL_EXT_fog_coord
- else if ext = 'GL_EXT_histogram' then Result := Load_GL_EXT_histogram
- else if ext = 'GL_EXT_multi_draw_arrays' then Result := Load_GL_EXT_multi_draw_arrays
- else if ext = 'GL_EXT_packed_pixels' then Result := Load_GL_EXT_packed_pixels
- else if ext = 'GL_EXT_paletted_texture' then Result := Load_GL_EXT_paletted_texture
- else if ext = 'GL_EXT_point_parameters' then Result := Load_GL_EXT_point_parameters
- else if ext = 'GL_EXT_polygon_offset' then Result := Load_GL_EXT_polygon_offset
- else if ext = 'GL_EXT_secondary_color' then Result := Load_GL_EXT_secondary_color
- else if ext = 'GL_EXT_separate_specular_color' then Result := Load_GL_EXT_separate_specular_color
- else if ext = 'GL_EXT_shadow_funcs' then Result := Load_GL_EXT_shadow_funcs
- else if ext = 'GL_EXT_shared_texture_palette' then Result := Load_GL_EXT_shared_texture_palette
- else if ext = 'GL_EXT_stencil_two_side' then Result := Load_GL_EXT_stencil_two_side
- else if ext = 'GL_EXT_stencil_wrap' then Result := Load_GL_EXT_stencil_wrap
- else if ext = 'GL_EXT_subtexture' then Result := Load_GL_EXT_subtexture
- else if ext = 'GL_EXT_texture3D' then Result := Load_GL_EXT_texture3D
- else if ext = 'GL_EXT_texture_compression_s3tc' then Result := Load_GL_EXT_texture_compression_s3tc
- else if ext = 'GL_EXT_texture_env_add' then Result := Load_GL_EXT_texture_env_add
- else if ext = 'GL_EXT_texture_env_combine' then Result := Load_GL_EXT_texture_env_combine
- else if ext = 'GL_EXT_texture_env_dot3' then Result := Load_GL_EXT_texture_env_dot3
- else if ext = 'GL_EXT_texture_filter_anisotropic' then Result := Load_GL_EXT_texture_filter_anisotropic
- else if ext = 'GL_EXT_texture_lod_bias' then Result := Load_GL_EXT_texture_lod_bias
- else if ext = 'GL_EXT_texture_object' then Result := Load_GL_EXT_texture_object
- else if ext = 'GL_EXT_vertex_array' then Result := Load_GL_EXT_vertex_array
- else if ext = 'GL_EXT_vertex_shader' then Result := Load_GL_EXT_vertex_shader
- else if ext = 'GL_EXT_vertex_weighting' then Result := Load_GL_EXT_vertex_weighting
- else if ext = 'GL_HP_occlusion_test' then Result := Load_GL_HP_occlusion_test
- else if ext = 'GL_NV_blend_square' then Result := Load_GL_NV_blend_square
- else if ext = 'GL_NV_copy_depth_to_color' then Result := Load_GL_NV_copy_depth_to_color
- else if ext = 'GL_NV_depth_clamp' then Result := Load_GL_NV_depth_clamp
- else if ext = 'GL_NV_evaluators' then Result := Load_GL_NV_evaluators
- else if ext = 'GL_NV_fence' then Result := Load_GL_NV_fence
- else if ext = 'GL_NV_fog_distance' then Result := Load_GL_NV_fog_distance
- else if ext = 'GL_NV_light_max_exponent' then Result := Load_GL_NV_light_max_exponent
- else if ext = 'GL_NV_multisample_filter_hint' then Result := Load_GL_NV_multisample_filter_hint
- else if ext = 'GL_NV_occlusion_query' then Result := Load_GL_NV_occlusion_query
- else if ext = 'GL_NV_packed_depth_stencil' then Result := Load_GL_NV_packed_depth_stencil
- else if ext = 'GL_NV_point_sprite' then Result := Load_GL_NV_point_sprite
- else if ext = 'GL_NV_register_combiners' then Result := Load_GL_NV_register_combiners
- else if ext = 'GL_NV_register_combiners2' then Result := Load_GL_NV_register_combiners2
- else if ext = 'GL_NV_texgen_emboss' then Result := Load_GL_NV_texgen_emboss
- else if ext = 'GL_NV_texgen_reflection' then Result := Load_GL_NV_texgen_reflection
- else if ext = 'GL_NV_texture_compression_vtc' then Result := Load_GL_NV_texture_compression_vtc
- else if ext = 'GL_NV_texture_env_combine4' then Result := Load_GL_NV_texture_env_combine4
- else if ext = 'GL_NV_texture_rectangle' then Result := Load_GL_NV_texture_rectangle
- else if ext = 'GL_NV_texture_shader' then Result := Load_GL_NV_texture_shader
- else if ext = 'GL_NV_texture_shader2' then Result := Load_GL_NV_texture_shader2
- else if ext = 'GL_NV_texture_shader3' then Result := Load_GL_NV_texture_shader3
- else if ext = 'GL_NV_vertex_array_range' then Result := Load_GL_NV_vertex_array_range
- else if ext = 'GL_NV_vertex_array_range2' then Result := Load_GL_NV_vertex_array_range2
- else if ext = 'GL_NV_vertex_program' then Result := Load_GL_NV_vertex_program
- else if ext = 'GL_NV_vertex_program1_1' then Result := Load_GL_NV_vertex_program1_1
- else if ext = 'GL_ATI_element_array' then Result := Load_GL_ATI_element_array
- else if ext = 'GL_ATI_envmap_bumpmap' then Result := Load_GL_ATI_envmap_bumpmap
- else if ext = 'GL_ATI_fragment_shader' then Result := Load_GL_ATI_fragment_shader
- else if ext = 'GL_ATI_pn_triangles' then Result := Load_GL_ATI_pn_triangles
- else if ext = 'GL_ATI_texture_mirror_once' then Result := Load_GL_ATI_texture_mirror_once
- else if ext = 'GL_ATI_vertex_array_object' then Result := Load_GL_ATI_vertex_array_object
- else if ext = 'GL_ATI_vertex_streams' then Result := Load_GL_ATI_vertex_streams
-{$IFDEF Windows}
- else if ext = 'WGL_I3D_image_buffer' then Result := Load_WGL_I3D_image_buffer
- else if ext = 'WGL_I3D_swap_frame_lock' then Result := Load_WGL_I3D_swap_frame_lock
- else if ext = 'WGL_I3D_swap_frame_usage' then Result := Load_WGL_I3D_swap_frame_usage
-{$ENDIF}
- else if ext = 'GL_3DFX_texture_compression_FXT1' then Result := Load_GL_3DFX_texture_compression_FXT1
- else if ext = 'GL_IBM_cull_vertex' then Result := Load_GL_IBM_cull_vertex
- else if ext = 'GL_IBM_multimode_draw_arrays' then Result := Load_GL_IBM_multimode_draw_arrays
- else if ext = 'GL_IBM_raster_pos_clip' then Result := Load_GL_IBM_raster_pos_clip
- else if ext = 'GL_IBM_texture_mirrored_repeat' then Result := Load_GL_IBM_texture_mirrored_repeat
- else if ext = 'GL_IBM_vertex_array_lists' then Result := Load_GL_IBM_vertex_array_lists
- else if ext = 'GL_MESA_resize_buffers' then Result := Load_GL_MESA_resize_buffers
- else if ext = 'GL_MESA_window_pos' then Result := Load_GL_MESA_window_pos
- else if ext = 'GL_OML_interlace' then Result := Load_GL_OML_interlace
- else if ext = 'GL_OML_resample' then Result := Load_GL_OML_resample
- else if ext = 'GL_OML_subsample' then Result := Load_GL_OML_subsample
- else if ext = 'GL_SGIS_generate_mipmap' then Result := Load_GL_SGIS_generate_mipmap
- else if ext = 'GL_SGIS_multisample' then Result := Load_GL_SGIS_multisample
- else if ext = 'GL_SGIS_pixel_texture' then Result := Load_GL_SGIS_pixel_texture
- else if ext = 'GL_SGIS_texture_border_clamp' then Result := Load_GL_SGIS_texture_border_clamp
- else if ext = 'GL_SGIS_texture_color_mask' then Result := Load_GL_SGIS_texture_color_mask
- else if ext = 'GL_SGIS_texture_edge_clamp' then Result := Load_GL_SGIS_texture_edge_clamp
- else if ext = 'GL_SGIS_texture_lod' then Result := Load_GL_SGIS_texture_lod
- else if ext = 'GL_SGIS_depth_texture' then Result := Load_GL_SGIS_depth_texture
- else if ext = 'GL_SGIX_fog_offset' then Result := Load_GL_SGIX_fog_offset
- else if ext = 'GL_SGIX_interlace' then Result := Load_GL_SGIX_interlace
- else if ext = 'GL_SGIX_shadow_ambient' then Result := Load_GL_SGIX_shadow_ambient
- else if ext = 'GL_SGI_color_matrix' then Result := Load_GL_SGI_color_matrix
- else if ext = 'GL_SGI_color_table' then Result := Load_GL_SGI_color_table
- else if ext = 'GL_SGI_texture_color_table' then Result := Load_GL_SGI_texture_color_table
- else if ext = 'GL_SUN_vertex' then Result := Load_GL_SUN_vertex
- else if ext = 'GL_ARB_fragment_program' then Result := Load_GL_ARB_fragment_program
- else if ext = 'GL_ATI_text_fragment_shader' then Result := Load_GL_ATI_text_fragment_shader
- else if ext = 'GL_APPLE_client_storage' then Result := Load_GL_APPLE_client_storage
- else if ext = 'GL_APPLE_element_array' then Result := Load_GL_APPLE_element_array
- else if ext = 'GL_APPLE_fence' then Result := Load_GL_APPLE_fence
- else if ext = 'GL_APPLE_vertex_array_object' then Result := Load_GL_APPLE_vertex_array_object
- else if ext = 'GL_APPLE_vertex_array_range' then Result := Load_GL_APPLE_vertex_array_range
-{$IFDEF Windows}
- else if ext = 'WGL_ARB_pixel_format' then Result := Load_WGL_ARB_pixel_format
- else if ext = 'WGL_ARB_make_current_read' then Result := Load_WGL_ARB_make_current_read
- else if ext = 'WGL_ARB_pbuffer' then Result := Load_WGL_ARB_pbuffer
- else if ext = 'WGL_EXT_swap_control' then Result := Load_WGL_EXT_swap_control
- else if ext = 'WGL_ARB_render_texture' then Result := Load_WGL_ARB_render_texture
- else if ext = 'WGL_EXT_extensions_string' then Result := Load_WGL_EXT_extensions_string
- else if ext = 'WGL_EXT_make_current_read' then Result := Load_WGL_EXT_make_current_read
- else if ext = 'WGL_EXT_pbuffer' then Result := Load_WGL_EXT_pbuffer
- else if ext = 'WGL_EXT_pixel_format' then Result := Load_WGL_EXT_pixel_format
- else if ext = 'WGL_I3D_digital_video_control' then Result := Load_WGL_I3D_digital_video_control
- else if ext = 'WGL_I3D_gamma' then Result := Load_WGL_I3D_gamma
- else if ext = 'WGL_I3D_genlock' then Result := Load_WGL_I3D_genlock
-{$ENDIF}
- else if ext = 'GL_ARB_matrix_palette' then Result := Load_GL_ARB_matrix_palette
- else if ext = 'GL_NV_element_array' then Result := Load_GL_NV_element_array
- else if ext = 'GL_NV_float_buffer' then Result := Load_GL_NV_float_buffer
- else if ext = 'GL_NV_fragment_program' then Result := Load_GL_NV_fragment_program
- else if ext = 'GL_NV_primitive_restart' then Result := Load_GL_NV_primitive_restart
- else if ext = 'GL_NV_vertex_program2' then Result := Load_GL_NV_vertex_program2
- {$IFDEF Windows}
- else if ext = 'WGL_NV_render_texture_rectangle' then Result := Load_WGL_NV_render_texture_rectangle
- {$ENDIF}
- else if ext = 'GL_NV_pixel_data_range' then Result := Load_GL_NV_pixel_data_range
- else if ext = 'GL_EXT_texture_rectangle' then Result := Load_GL_EXT_texture_rectangle
- else if ext = 'GL_S3_s3tc' then Result := Load_GL_S3_s3tc
- else if ext = 'GL_ATI_draw_buffers' then Result := Load_GL_ATI_draw_buffers
- {$IFDEF Windows}
- else if ext = 'WGL_ATI_pixel_format_float' then Result := Load_WGL_ATI_pixel_format_float
- {$ENDIF}
- else if ext = 'GL_ATI_texture_env_combine3' then Result := Load_GL_ATI_texture_env_combine3
- else if ext = 'GL_ATI_texture_float' then Result := Load_GL_ATI_texture_float
- else if ext = 'GL_NV_texture_expand_normal' then Result := Load_GL_NV_texture_expand_normal
- else if ext = 'GL_NV_half_float' then Result := Load_GL_NV_half_float
- else if ext = 'GL_ATI_map_object_buffer' then Result := Load_GL_ATI_map_object_buffer
- else if ext = 'GL_ATI_separate_stencil' then Result := Load_GL_ATI_separate_stencil
- else if ext = 'GL_ATI_vertex_attrib_array_object' then Result := Load_GL_ATI_vertex_attrib_array_object
- else if ext = 'GL_ARB_vertex_buffer_object' then Result := Load_GL_ARB_vertex_buffer_object
- else if ext = 'GL_ARB_occlusion_query' then Result := Load_GL_ARB_occlusion_query
- else if ext = 'GL_ARB_shader_objects' then Result := Load_GL_ARB_shader_objects
- else if ext = 'GL_ARB_vertex_shader' then Result := Load_GL_ARB_vertex_shader
- else if ext = 'GL_ARB_fragment_shader' then Result := Load_GL_ARB_fragment_shader
- else if ext = 'GL_ARB_shading_language_100' then Result := Load_GL_ARB_shading_language_100
- else if ext = 'GL_ARB_texture_non_power_of_two' then Result := Load_GL_ARB_texture_non_power_of_two
- else if ext = 'GL_ARB_point_sprite' then Result := Load_GL_ARB_point_sprite
- else if ext = 'GL_EXT_depth_bounds_test' then Result := Load_GL_EXT_depth_bounds_test
- else if ext = 'GL_EXT_texture_mirror_clamp' then Result := Load_GL_EXT_texture_mirror_clamp
- else if ext = 'GL_EXT_blend_equation_separate' then Result := Load_GL_EXT_blend_equation_separate
- else if ext = 'GL_MESA_pack_invert' then Result := Load_GL_MESA_pack_invert
- else if ext = 'GL_MESA_ycbcr_texture' then Result := Load_GL_MESA_ycbcr_texture
- else if ext = 'GL_ARB_fragment_program_shadow' then Result := Load_GL_ARB_fragment_program_shadow
- else if ext = 'GL_NV_fragment_program_option' then Result := Load_GL_NV_fragment_program_option
- else if ext = 'GL_EXT_pixel_buffer_object' then Result := Load_GL_EXT_pixel_buffer_object
- else if ext = 'GL_NV_fragment_program2' then Result := Load_GL_NV_fragment_program2
- else if ext = 'GL_NV_vertex_program2_option' then Result := Load_GL_NV_vertex_program2_option
- else if ext = 'GL_NV_vertex_program3' then Result := Load_GL_NV_vertex_program3
- else if ext = 'GL_ARB_draw_buffers' then Result := Load_GL_ARB_draw_buffers
- else if ext = 'GL_ARB_texture_rectangle' then Result := Load_GL_ARB_texture_rectangle
- else if ext = 'GL_ARB_color_buffer_float' then Result := Load_GL_ARB_color_buffer_float
- else if ext = 'GL_ARB_half_float_pixel' then Result := Load_GL_ARB_half_float_pixel
- else if ext = 'GL_ARB_texture_float' then Result := Load_GL_ARB_texture_float
- else if ext = 'GL_EXT_texture_compression_dxt1' then Result := Load_GL_EXT_texture_compression_dxt1
- else if ext = 'GL_ARB_pixel_buffer_object' then Result := Load_GL_ARB_pixel_buffer_object
- else if ext = 'GL_EXT_framebuffer_object' then Result := Load_GL_EXT_framebuffer_object
- else if ext = 'GL_version_1_4' then Result := Load_GL_version_1_4
- else if ext = 'GL_version_1_5' then Result := Load_GL_version_1_5
- else if ext = 'GL_version_2_0' then Result := Load_GL_version_2_0
-
-end;
-
-end.
diff --git a/packages/extra/opengl/glu.pp b/packages/extra/opengl/glu.pp
deleted file mode 100644
index 707aef743f..0000000000
--- a/packages/extra/opengl/glu.pp
+++ /dev/null
@@ -1,572 +0,0 @@
-{
-
- Adaption of the delphi3d.net OpenGL units to FreePascal
- Sebastian Guenther (sg@freepascal.org) in 2002
- These units are free to use
-}
-
-{*++ BUILD Version: 0004 // Increment this if a change has global effects
-
-Copyright (c) 1985-95, Microsoft Corporation
-
-Module Name:
-
- glu.h
-
-Abstract:
-
- Procedure declarations, constant definitions and macros for the OpenGL
- Utility Library.
-
---*}
-
-{*
-** Copyright 1991-1993, Silicon Graphics, Inc.
-** All Rights Reserved.
-**
-** This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics, Inc.;
-** the contents of this file may not be disclosed to third parties, copied or
-** duplicated in any form, in whole or in part, without the prior written
-** permission of Silicon Graphics, Inc.
-**
-** RESTRICTED RIGHTS LEGEND:
-** Use, duplication or disclosure by the Government is subject to restrictions
-** as set forth in subdivision (c)(1)(ii) of the Rights in Technical Data
-** and Computer Software clause at DFARS 252.227-7013, and/or in similar or
-** successor clauses in the FAR, DOD or NASA FAR Supplement. Unpublished -
-** rights reserved under the Copyright Laws of the United States.
-*}
-
-{*
-** Return the error string associated with a particular error code.
-** This will return 0 for an invalid error code.
-**
-** The generic function prototype that can be compiled for ANSI or Unicode
-** is defined as follows:
-**
-** LPCTSTR APIENTRY gluErrorStringWIN (GLenum errCode);
-*}
-
-{******************************************************************************}
-{ Converted to Delphi by Tom Nuydens (tom@delphi3d.net) }
-{ For the latest updates, visit Delphi3D: http://www.delphi3d.net }
-{******************************************************************************}
-
-{$MACRO ON}
-{$MODE Delphi}
-{$IFDEF Windows}
- {$DEFINE extdecl := stdcall}
-{$ELSE}
- {$DEFINE extdecl := cdecl}
-{$ENDIF}
-
-{$IFDEF MORPHOS}
-{$INLINE ON}
-{$DEFINE GLU_UNIT}
-{$ENDIF}
-
-unit GLu;
-
-interface
-
-uses
- SysUtils,
- {$IFDEF Windows}
- Windows,
- {$ELSE}
- {$IFDEF MORPHOS}
- TinyGL,
- {$ENDIF}
- {$ENDIF}
- GL;
-
-type
- TViewPortArray = array [0..3] of GLint;
- T16dArray = array [0..15] of GLdouble;
- TCallBack = procedure;
- T3dArray = array [0..2] of GLdouble;
- T4pArray = array [0..3] of Pointer;
- T4fArray = array [0..3] of GLfloat;
- PPointer = ^Pointer;
-
-type
- GLUnurbs = record end; PGLUnurbs = ^GLUnurbs;
- GLUquadric = record end; PGLUquadric = ^GLUquadric;
- GLUtesselator = record end; PGLUtesselator = ^GLUtesselator;
-
- // backwards compatibility:
- GLUnurbsObj = GLUnurbs; PGLUnurbsObj = PGLUnurbs;
- GLUquadricObj = GLUquadric; PGLUquadricObj = PGLUquadric;
- GLUtesselatorObj = GLUtesselator; PGLUtesselatorObj = PGLUtesselator;
- GLUtriangulatorObj = GLUtesselator; PGLUtriangulatorObj = PGLUtesselator;
-
- TGLUnurbs = GLUnurbs;
- TGLUquadric = GLUquadric;
- TGLUtesselator = GLUtesselator;
-
- TGLUnurbsObj = GLUnurbsObj;
- TGLUquadricObj = GLUquadricObj;
- TGLUtesselatorObj = GLUtesselatorObj;
- TGLUtriangulatorObj = GLUtriangulatorObj;
-
-{$IFDEF MORPHOS}
-
-{ MorphOS GL works differently due to different dynamic-library handling on Amiga-like }
-{ systems, so its headers are included here. }
-{$INCLUDE tinyglh.inc}
-
-{$ELSE MORPHOS}
-var
- gluErrorString: function(errCode: GLenum): PChar; extdecl;
- gluErrorUnicodeStringEXT: function(errCode: GLenum): PWideChar; extdecl;
- gluGetString: function(name: GLenum): PChar; extdecl;
- gluOrtho2D: procedure(left,right, bottom, top: GLdouble); extdecl;
- gluPerspective: procedure(fovy, aspect, zNear, zFar: GLdouble); extdecl;
- gluPickMatrix: procedure(x, y, width, height: GLdouble; var viewport: TViewPortArray); extdecl;
- gluLookAt: procedure(eyex, eyey, eyez, centerx, centery, centerz, upx, upy, upz: GLdouble); extdecl;
- gluProject: function(objx, objy, objz: GLdouble; var modelMatrix, projMatrix: T16dArray; var viewport: TViewPortArray; winx, winy, winz: PGLdouble): Integer; extdecl;
- gluUnProject: function(winx, winy, winz: GLdouble; var modelMatrix, projMatrix: T16dArray; var viewport: TViewPortArray; objx, objy, objz: PGLdouble): Integer; extdecl;
- gluScaleImage: function(format: GLenum; widthin, heightin: GLint; typein: GLenum; const datain: Pointer; widthout, heightout: GLint; typeout: GLenum; dataout: Pointer): Integer; extdecl;
- gluBuild1DMipmaps: function(target: GLenum; components, width: GLint; format, atype: GLenum; const data: Pointer): Integer; extdecl;
- gluBuild2DMipmaps: function(target: GLenum; components, width, height: GLint; format, atype: GLenum; const data: Pointer): Integer; extdecl;
-
-var
- gluNewQuadric: function: PGLUquadric; extdecl;
- gluDeleteQuadric: procedure(state: PGLUquadric); extdecl;
- gluQuadricNormals: procedure(quadObject: PGLUquadric; normals: GLenum); extdecl;
- gluQuadricTexture: procedure(quadObject: PGLUquadric; textureCoords: GLboolean); extdecl;
- gluQuadricOrientation: procedure(quadObject: PGLUquadric; orientation: GLenum); extdecl;
- gluQuadricDrawStyle: procedure(quadObject: PGLUquadric; drawStyle: GLenum); extdecl;
- gluCylinder: procedure(qobj: PGLUquadric; baseRadius, topRadius, height: GLdouble; slices, stacks: GLint); extdecl;
- gluDisk: procedure(qobj: PGLUquadric; innerRadius, outerRadius: GLdouble; slices, loops: GLint); extdecl;
- gluPartialDisk: procedure(qobj: PGLUquadric; innerRadius, outerRadius: GLdouble; slices, loops: GLint; startAngle, sweepAngle: GLdouble); extdecl;
- gluSphere: procedure(qobj: PGLuquadric; radius: GLdouble; slices, stacks: GLint); extdecl;
- gluQuadricCallback: procedure(qobj: PGLUquadric; which: GLenum; fn: TCallBack); extdecl;
- gluNewTess: function: PGLUtesselator; extdecl;
- gluDeleteTess: procedure(tess: PGLUtesselator); extdecl;
- gluTessBeginPolygon: procedure(tess: PGLUtesselator; polygon_data: Pointer); extdecl;
- gluTessBeginContour: procedure(tess: PGLUtesselator); extdecl;
- gluTessVertex: procedure(tess: PGLUtesselator; var coords: T3dArray; data: Pointer); extdecl;
- gluTessEndContour: procedure(tess: PGLUtesselator); extdecl;
- gluTessEndPolygon: procedure(tess: PGLUtesselator); extdecl;
- gluTessProperty: procedure(tess: PGLUtesselator; which: GLenum; value: GLdouble); extdecl;
- gluTessNormal: procedure(tess: PGLUtesselator; x, y, z: GLdouble); extdecl;
- gluTessCallback: procedure(tess: PGLUtesselator; which: GLenum;fn: TCallBack); extdecl;
- gluGetTessProperty: procedure(tess: PGLUtesselator; which: GLenum; value: PGLdouble); extdecl;
- gluNewNurbsRenderer: function: PGLUnurbs; extdecl;
- gluDeleteNurbsRenderer: procedure(nobj: PGLUnurbs); extdecl;
- gluBeginSurface: procedure(nobj: PGLUnurbs); extdecl;
- gluBeginCurve: procedure(nobj: PGLUnurbs); extdecl;
- gluEndCurve: procedure(nobj: PGLUnurbs); extdecl;
- gluEndSurface: procedure(nobj: PGLUnurbs); extdecl;
- gluBeginTrim: procedure(nobj: PGLUnurbs); extdecl;
- gluEndTrim: procedure(nobj: PGLUnurbs); extdecl;
- gluPwlCurve: procedure(nobj: PGLUnurbs; count: GLint; aarray: PGLfloat; stride: GLint; atype: GLenum); extdecl;
- gluNurbsCurve: procedure(nobj: PGLUnurbs; nknots: GLint; knot: PGLfloat; stride: GLint; ctlarray: PGLfloat; order: GLint; atype: GLenum); extdecl;
- gluNurbsSurface: procedure(nobj: PGLUnurbs; sknot_count: GLint; sknot: PGLfloat; tknot_count: GLint; tknot: PGLfloat; s_stride, t_stride: GLint; ctlarray: PGLfloat; sorder, torder: GLint; atype: GLenum); extdecl;
- gluLoadSamplingMatrices: procedure(nobj: PGLUnurbs; var modelMatrix, projMatrix: T16dArray; var viewport: TViewPortArray); extdecl;
- gluNurbsProperty: procedure(nobj: PGLUnurbs; aproperty: GLenum; value: GLfloat); extdecl;
- gluGetNurbsProperty: procedure(nobj: PGLUnurbs; aproperty: GLenum; value: PGLfloat); extdecl;
- gluNurbsCallback: procedure(nobj: PGLUnurbs; which: GLenum; fn: TCallBack); extdecl;
-{$ENDIF MORPHOS}
-
-(**** Callback function prototypes ****)
-
-type
- // gluQuadricCallback
- GLUquadricErrorProc = procedure(p: GLenum); extdecl;
-
- // gluTessCallback
- GLUtessBeginProc = procedure(p: GLenum); extdecl;
- GLUtessEdgeFlagProc = procedure(p: GLboolean); extdecl;
- GLUtessVertexProc = procedure(p: Pointer); extdecl;
- GLUtessEndProc = procedure; extdecl;
- GLUtessErrorProc = procedure(p: GLenum); extdecl;
- GLUtessCombineProc = procedure(var p1: T3dArray; p2: T4pArray; p3: T4fArray; p4: PPointer); extdecl;
- GLUtessBeginDataProc = procedure(p1: GLenum; p2: Pointer); extdecl;
- GLUtessEdgeFlagDataProc = procedure(p1: GLboolean; p2: Pointer); extdecl;
- GLUtessVertexDataProc = procedure(p1, p2: Pointer); extdecl;
- GLUtessEndDataProc = procedure(p: Pointer); extdecl;
- GLUtessErrorDataProc = procedure(p1: GLenum; p2: Pointer); extdecl;
- GLUtessCombineDataProc = procedure(var p1: T3dArray; var p2: T4pArray; var p3: T4fArray;
- p4: PPointer; p5: Pointer); extdecl;
-
- // gluNurbsCallback
- GLUnurbsErrorProc = procedure(p: GLenum); extdecl;
-
-
-//*** Generic constants ****/
-
-const
- // Version
- GLU_VERSION_1_1 = 1;
- GLU_VERSION_1_2 = 1;
-
- // Errors: (return value 0 = no error)
- GLU_INVALID_ENUM = 100900;
- GLU_INVALID_VALUE = 100901;
- GLU_OUT_OF_MEMORY = 100902;
- GLU_INCOMPATIBLE_GL_VERSION = 100903;
-
- // StringName
- GLU_VERSION = 100800;
- GLU_EXTENSIONS = 100801;
-
- // Boolean
- GLU_TRUE = GL_TRUE;
- GLU_FALSE = GL_FALSE;
-
-
- //*** Quadric constants ****/
-
- // QuadricNormal
- GLU_SMOOTH = 100000;
- GLU_FLAT = 100001;
- GLU_NONE = 100002;
-
- // QuadricDrawStyle
- GLU_POINT = 100010;
- GLU_LINE = 100011;
- GLU_FILL = 100012;
- GLU_SILHOUETTE = 100013;
-
- // QuadricOrientation
- GLU_OUTSIDE = 100020;
- GLU_INSIDE = 100021;
-
- // Callback types:
- // GLU_ERROR = 100103;
-
-
- //*** Tesselation constants ****/
-
- GLU_TESS_MAX_COORD = 1.0e150;
-
- // TessProperty
- GLU_TESS_WINDING_RULE = 100140;
- GLU_TESS_BOUNDARY_ONLY = 100141;
- GLU_TESS_TOLERANCE = 100142;
-
- // TessWinding
- GLU_TESS_WINDING_ODD = 100130;
- GLU_TESS_WINDING_NONZERO = 100131;
- GLU_TESS_WINDING_POSITIVE = 100132;
- GLU_TESS_WINDING_NEGATIVE = 100133;
- GLU_TESS_WINDING_ABS_GEQ_TWO = 100134;
-
- // TessCallback
- GLU_TESS_BEGIN = 100100; // void (CALLBACK*)(GLenum type)
- GLU_TESS_VERTEX = 100101; // void (CALLBACK*)(void *data)
- GLU_TESS_END = 100102; // void (CALLBACK*)(void)
- GLU_TESS_ERROR = 100103; // void (CALLBACK*)(GLenum errno)
- GLU_TESS_EDGE_FLAG = 100104; // void (CALLBACK*)(GLboolean boundaryEdge)
- GLU_TESS_COMBINE = 100105; { void (CALLBACK*)(GLdouble coords[3],
- void *data[4],
- GLfloat weight[4],
- void **dataOut) }
- GLU_TESS_BEGIN_DATA = 100106; { void (CALLBACK*)(GLenum type,
- void *polygon_data) }
- GLU_TESS_VERTEX_DATA = 100107; { void (CALLBACK*)(void *data,
- void *polygon_data) }
- GLU_TESS_END_DATA = 100108; // void (CALLBACK*)(void *polygon_data)
- GLU_TESS_ERROR_DATA = 100109; { void (CALLBACK*)(GLenum errno,
- void *polygon_data) }
- GLU_TESS_EDGE_FLAG_DATA = 100110; { void (CALLBACK*)(GLboolean boundaryEdge,
- void *polygon_data) }
- GLU_TESS_COMBINE_DATA = 100111; { void (CALLBACK*)(GLdouble coords[3],
- void *data[4],
- GLfloat weight[4],
- void **dataOut,
- void *polygon_data) }
-
- // TessError
- GLU_TESS_ERROR1 = 100151;
- GLU_TESS_ERROR2 = 100152;
- GLU_TESS_ERROR3 = 100153;
- GLU_TESS_ERROR4 = 100154;
- GLU_TESS_ERROR5 = 100155;
- GLU_TESS_ERROR6 = 100156;
- GLU_TESS_ERROR7 = 100157;
- GLU_TESS_ERROR8 = 100158;
-
- GLU_TESS_MISSING_BEGIN_POLYGON = GLU_TESS_ERROR1;
- GLU_TESS_MISSING_BEGIN_CONTOUR = GLU_TESS_ERROR2;
- GLU_TESS_MISSING_END_POLYGON = GLU_TESS_ERROR3;
- GLU_TESS_MISSING_END_CONTOUR = GLU_TESS_ERROR4;
- GLU_TESS_COORD_TOO_LARGE = GLU_TESS_ERROR5;
- GLU_TESS_NEED_COMBINE_CALLBACK = GLU_TESS_ERROR6;
-
- //*** NURBS constants ****/
-
- // NurbsProperty
- GLU_AUTO_LOAD_MATRIX = 100200;
- GLU_CULLING = 100201;
- GLU_SAMPLING_TOLERANCE = 100203;
- GLU_DISPLAY_MODE = 100204;
- GLU_PARAMETRIC_TOLERANCE = 100202;
- GLU_SAMPLING_METHOD = 100205;
- GLU_U_STEP = 100206;
- GLU_V_STEP = 100207;
-
- // NurbsSampling
- GLU_PATH_LENGTH = 100215;
- GLU_PARAMETRIC_ERROR = 100216;
- GLU_DOMAIN_DISTANCE = 100217;
-
-
- // NurbsTrim
- GLU_MAP1_TRIM_2 = 100210;
- GLU_MAP1_TRIM_3 = 100211;
-
- // NurbsDisplay
- // GLU_FILL = 100012;
- GLU_OUTLINE_POLYGON = 100240;
- GLU_OUTLINE_PATCH = 100241;
-
- // NurbsCallback
- // GLU_ERROR = 100103;
-
- // NurbsErrors
- GLU_NURBS_ERROR1 = 100251;
- GLU_NURBS_ERROR2 = 100252;
- GLU_NURBS_ERROR3 = 100253;
- GLU_NURBS_ERROR4 = 100254;
- GLU_NURBS_ERROR5 = 100255;
- GLU_NURBS_ERROR6 = 100256;
- GLU_NURBS_ERROR7 = 100257;
- GLU_NURBS_ERROR8 = 100258;
- GLU_NURBS_ERROR9 = 100259;
- GLU_NURBS_ERROR10 = 100260;
- GLU_NURBS_ERROR11 = 100261;
- GLU_NURBS_ERROR12 = 100262;
- GLU_NURBS_ERROR13 = 100263;
- GLU_NURBS_ERROR14 = 100264;
- GLU_NURBS_ERROR15 = 100265;
- GLU_NURBS_ERROR16 = 100266;
- GLU_NURBS_ERROR17 = 100267;
- GLU_NURBS_ERROR18 = 100268;
- GLU_NURBS_ERROR19 = 100269;
- GLU_NURBS_ERROR20 = 100270;
- GLU_NURBS_ERROR21 = 100271;
- GLU_NURBS_ERROR22 = 100272;
- GLU_NURBS_ERROR23 = 100273;
- GLU_NURBS_ERROR24 = 100274;
- GLU_NURBS_ERROR25 = 100275;
- GLU_NURBS_ERROR26 = 100276;
- GLU_NURBS_ERROR27 = 100277;
- GLU_NURBS_ERROR28 = 100278;
- GLU_NURBS_ERROR29 = 100279;
- GLU_NURBS_ERROR30 = 100280;
- GLU_NURBS_ERROR31 = 100281;
- GLU_NURBS_ERROR32 = 100282;
- GLU_NURBS_ERROR33 = 100283;
- GLU_NURBS_ERROR34 = 100284;
- GLU_NURBS_ERROR35 = 100285;
- GLU_NURBS_ERROR36 = 100286;
- GLU_NURBS_ERROR37 = 100287;
-
-//*** Backwards compatibility for old tesselator ****/
-
-var
- gluBeginPolygon: procedure(tess: PGLUtesselator); extdecl;
- gluNextContour: procedure(tess: PGLUtesselator; atype: GLenum); extdecl;
- gluEndPolygon: procedure(tess: PGLUtesselator); extdecl;
-
-const
- // Contours types -- obsolete!
- GLU_CW = 100120;
- GLU_CCW = 100121;
- GLU_INTERIOR = 100122;
- GLU_EXTERIOR = 100123;
- GLU_UNKNOWN = 100124;
-
- // Names without "TESS_" prefix
- GLU_BEGIN = GLU_TESS_BEGIN;
- GLU_VERTEX = GLU_TESS_VERTEX;
- GLU_END = GLU_TESS_END;
- GLU_ERROR = GLU_TESS_ERROR;
- GLU_EDGE_FLAG = GLU_TESS_EDGE_FLAG;
-
-procedure LoadGLu(const dll: String);
-procedure FreeGLu;
-
-implementation
-
-{$IFDEF MORPHOS}
-
-{ MorphOS GL works differently due to different dynamic-library handling on Amiga-like }
-{ systems, so its functions are included here. }
-{$INCLUDE tinygl.inc}
-
-{$ELSE MORPHOS}
-uses
- dynlibs;
-
-var
- hDLL: TLibHandle;
-
-{$ENDIF MORPHOS}
-
-procedure FreeGLu;
-begin
-{$IFDEF MORPHOS}
- // MorphOS's GL will closed down by TinyGL unit, nothing is needed here.
-{$ELSE MORPHOS}
- @gluErrorString := nil;
- @gluErrorUnicodeStringEXT := nil;
- @gluGetString := nil;
- @gluOrtho2D := nil;
- @gluPerspective := nil;
- @gluPickMatrix := nil;
- @gluLookAt := nil;
- @gluProject := nil;
- @gluUnProject := nil;
- @gluScaleImage := nil;
- @gluBuild1DMipmaps := nil;
- @gluBuild2DMipmaps := nil;
- @gluNewQuadric := nil;
- @gluDeleteQuadric := nil;
- @gluQuadricNormals := nil;
- @gluQuadricTexture := nil;
- @gluQuadricOrientation := nil;
- @gluQuadricDrawStyle := nil;
- @gluCylinder := nil;
- @gluDisk := nil;
- @gluPartialDisk := nil;
- @gluSphere := nil;
- @gluQuadricCallback := nil;
- @gluNewTess := nil;
- @gluDeleteTess := nil;
- @gluTessBeginPolygon := nil;
- @gluTessBeginContour := nil;
- @gluTessVertex := nil;
- @gluTessEndContour := nil;
- @gluTessEndPolygon := nil;
- @gluTessProperty := nil;
- @gluTessNormal := nil;
- @gluTessCallback := nil;
- @gluGetTessProperty := nil;
- @gluNewNurbsRenderer := nil;
- @gluDeleteNurbsRenderer := nil;
- @gluBeginSurface := nil;
- @gluBeginCurve := nil;
- @gluEndCurve := nil;
- @gluEndSurface := nil;
- @gluBeginTrim := nil;
- @gluEndTrim := nil;
- @gluPwlCurve := nil;
- @gluNurbsCurve := nil;
- @gluNurbsSurface := nil;
- @gluLoadSamplingMatrices := nil;
- @gluNurbsProperty := nil;
- @gluGetNurbsProperty := nil;
- @gluNurbsCallback := nil;
- @gluBeginPolygon := nil;
- @gluNextContour := nil;
- @gluEndPolygon := nil;
-
- if (hDLL <> 0) then
- FreeLibrary(hDLL);
-{$ENDIF MORPHOS}
-end;
-
-procedure LoadGLu(const dll: String);
-{$IFDEF MORPHOS}
-begin
- // MorphOS's GL has own initialization in TinyGL unit, nothing is needed here.
-end;
-{$ELSE MORPHOS}
-var
- MethodName: string = '';
-
- function GetGLuProcAddress(Lib: PtrInt; ProcName: PChar): Pointer;
- begin
- MethodName:=ProcName;
- Result:=GetProcAddress(Lib, ProcName);
- end;
-
-begin
-
- FreeGLu;
-
- hDLL := LoadLibrary(PChar(dll));
- if hDLL = 0 then raise Exception.Create('Could not load GLu from ' + dll);
- try
- @gluErrorString := GetGLuProcAddress(hDLL, 'gluErrorString');
- @gluErrorUnicodeStringEXT := GetGLuProcAddress(hDLL, 'gluErrorUnicodeStringEXT');
- @gluGetString := GetGLuProcAddress(hDLL, 'gluGetString');
- @gluOrtho2D := GetGLuProcAddress(hDLL, 'gluOrtho2D');
- @gluPerspective := GetGLuProcAddress(hDLL, 'gluPerspective');
- @gluPickMatrix := GetGLuProcAddress(hDLL, 'gluPickMatrix');
- @gluLookAt := GetGLuProcAddress(hDLL, 'gluLookAt');
- @gluProject := GetGLuProcAddress(hDLL, 'gluProject');
- @gluUnProject := GetGLuProcAddress(hDLL, 'gluUnProject');
- @gluScaleImage := GetGLuProcAddress(hDLL, 'gluScaleImage');
- @gluBuild1DMipmaps := GetGLuProcAddress(hDLL, 'gluBuild1DMipmaps');
- @gluBuild2DMipmaps := GetGLuProcAddress(hDLL, 'gluBuild2DMipmaps');
- @gluNewQuadric := GetGLuProcAddress(hDLL, 'gluNewQuadric');
- @gluDeleteQuadric := GetGLuProcAddress(hDLL, 'gluDeleteQuadric');
- @gluQuadricNormals := GetGLuProcAddress(hDLL, 'gluQuadricNormals');
- @gluQuadricTexture := GetGLuProcAddress(hDLL, 'gluQuadricTexture');
- @gluQuadricOrientation := GetGLuProcAddress(hDLL, 'gluQuadricOrientation');
- @gluQuadricDrawStyle := GetGLuProcAddress(hDLL, 'gluQuadricDrawStyle');
- @gluCylinder := GetGLuProcAddress(hDLL, 'gluCylinder');
- @gluDisk := GetGLuProcAddress(hDLL, 'gluDisk');
- @gluPartialDisk := GetGLuProcAddress(hDLL, 'gluPartialDisk');
- @gluSphere := GetGLuProcAddress(hDLL, 'gluSphere');
- @gluQuadricCallback := GetGLuProcAddress(hDLL, 'gluQuadricCallback');
- @gluNewTess := GetGLuProcAddress(hDLL, 'gluNewTess');
- @gluDeleteTess := GetGLuProcAddress(hDLL, 'gluDeleteTess');
- @gluTessBeginPolygon := GetGLuProcAddress(hDLL, 'gluTessBeginPolygon');
- @gluTessBeginContour := GetGLuProcAddress(hDLL, 'gluTessBeginContour');
- @gluTessVertex := GetGLuProcAddress(hDLL, 'gluTessVertex');
- @gluTessEndContour := GetGLuProcAddress(hDLL, 'gluTessEndContour');
- @gluTessEndPolygon := GetGLuProcAddress(hDLL, 'gluTessEndPolygon');
- @gluTessProperty := GetGLuProcAddress(hDLL, 'gluTessProperty');
- @gluTessNormal := GetGLuProcAddress(hDLL, 'gluTessNormal');
- @gluTessCallback := GetGLuProcAddress(hDLL, 'gluTessCallback');
- @gluGetTessProperty := GetGLuProcAddress(hDLL, 'gluGetTessProperty');
- @gluNewNurbsRenderer := GetGLuProcAddress(hDLL, 'gluNewNurbsRenderer');
- @gluDeleteNurbsRenderer := GetGLuProcAddress(hDLL, 'gluDeleteNurbsRenderer');
- @gluBeginSurface := GetGLuProcAddress(hDLL, 'gluBeginSurface');
- @gluBeginCurve := GetGLuProcAddress(hDLL, 'gluBeginCurve');
- @gluEndCurve := GetGLuProcAddress(hDLL, 'gluEndCurve');
- @gluEndSurface := GetGLuProcAddress(hDLL, 'gluEndSurface');
- @gluBeginTrim := GetGLuProcAddress(hDLL, 'gluBeginTrim');
- @gluEndTrim := GetGLuProcAddress(hDLL, 'gluEndTrim');
- @gluPwlCurve := GetGLuProcAddress(hDLL, 'gluPwlCurve');
- @gluNurbsCurve := GetGLuProcAddress(hDLL, 'gluNurbsCurve');
- @gluNurbsSurface := GetGLuProcAddress(hDLL, 'gluNurbsSurface');
- @gluLoadSamplingMatrices := GetGLuProcAddress(hDLL, 'gluLoadSamplingMatrices');
- @gluNurbsProperty := GetGLuProcAddress(hDLL, 'gluNurbsProperty');
- @gluGetNurbsProperty := GetGLuProcAddress(hDLL, 'gluGetNurbsProperty');
- @gluNurbsCallback := GetGLuProcAddress(hDLL, 'gluNurbsCallback');
-
- @gluBeginPolygon := GetGLuProcAddress(hDLL, 'gluBeginPolygon');
- @gluNextContour := GetGLuProcAddress(hDLL, 'gluNextContour');
- @gluEndPolygon := GetGLuProcAddress(hDLL, 'gluEndPolygon');
- except
- raise Exception.Create('Could not load ' + MethodName + ' from ' + dll);
- end;
-end;
-{$ENDIF MORPHOS}
-
-initialization
-
- {$IFDEF Windows}
- LoadGLu('glu32.dll');
- {$ELSE}
- {$ifdef darwin}
- LoadGLu('/System/Library/Frameworks/OpenGL.framework/Libraries/libGLU.dylib');
- {$else}
- {$ifndef MorphOS}
- LoadGLu('libGLU.so.1');
- {$endif}
- {$ENDIF}
- {$endif}
-
-finalization
-
- FreeGLu;
-
-end.
diff --git a/packages/extra/opengl/glunits.txt b/packages/extra/opengl/glunits.txt
deleted file mode 100644
index 51c921ee25..0000000000
--- a/packages/extra/opengl/glunits.txt
+++ /dev/null
@@ -1,46 +0,0 @@
- glunits.zip
-***************
-
-These are the Delphi conversions of gl.h, glu.h, glut.h and
-glext.h. Copy them to your Delphi\Lib directory or somewhere else
-in your compiler's search path and you're all set!
-
-To use these units with OpenGL drivers other than Microsoft's,
-you need to manually initialize three DLL libraries. For example:
-
- LoadOpenGL('opengl.dll');
- LoadGLu('glu.dll');
- LoadGlut('glut.dll'); // Optional
-
-If you do this, make sure to free the previously loaded library
-first:
-
- FreeOpenGL;
- FreeGLu;
- FreeGlut;
-
-If the DLLs the application is trying to load cannot be found, an
-exception will be raised. By default, the units will try to load
-OpenGL32.dll, GLu32.dll and Glut32.dll. No exception will be
-thrown if they are not found, so if you want to support multiple
-OpenGL implementations in your app, it's probably best to
-explicitly load the DLLs explicitly as shown above. This way, you
-can properly trap errors.
-
-A final note: if you have a 3D card with an OpenGL ICD, you do NOT
-need to load the driver yourself. Microsoft's OpenGL32.dll will
-automatically detect and use your 3D card's drivers, so the
-default settings in these units will work perfectly.
-
-The fourth file in this archive, glext.pas, contains declarations
-of constants and function prototypes of most OpenGL extensions.
-To use an extension, you just need to check if it's supported, and
-load it's functions with wglGetProcAddress() if it is. You can
-check the presence of an extension with the included function
-glext_ExtensionSupported(). By using glext.pas, you no longer have
-to copy/paste/translate declarations from the extension specs. If
-you should come across an extension that isn't yet included in
-glext.pas, I'd appreciate it if you could drop me a line so I can
-add it ASAP.
-
- Tom Nuydens (tom@delphi3d.net)
diff --git a/packages/extra/opengl/glut.pp b/packages/extra/opengl/glut.pp
deleted file mode 100644
index 225eec49cd..0000000000
--- a/packages/extra/opengl/glut.pp
+++ /dev/null
@@ -1,2102 +0,0 @@
-{ Adaption of the delphi3d.net OpenGL units to FreePascal
- Sebastian Guenther (sg@freepascal.org) in 2002
- These units are free to use
-
- 19.6.07 : Added GLUT_EXCLUSIVE_FPUMODE to allow for
- unsafe glut-libs, that don't handle FPU-exceptions in
- a compatible way. Jan Bruns (post@abnuto.de)
-}
-
-{$MACRO ON}
-{$MODE Delphi}
-{$IFDEF Windows}
- {$DEFINE extdecl := stdcall}
-{$ELSE}
- {$DEFINE extdecl := cdecl}
-{$ENDIF}
-
-
-{$IFDEF CPU86}
- {$DEFINE GLUT_EXCLUSIVE_FPUMODE}
- {$DEFINE mode_inline := register} //inine or local-calling
-{$ENDIF}
-
-
-{$IFDEF MORPHOS}
-{$INLINE ON}
-{$DEFINE GLUT_UNIT}
-{$ENDIF}
-
-unit Glut;
-
-// Copyright (c) Mark J. Kilgard, 1994, 1995, 1996. */
-
-(* This program is freely distributable without licensing fees and is
- provided without guarantee or warrantee expressed or implied. This
- program is -not- in the public domain. *)
-
-{******************************************************************************}
-{ Converted to Delphi by Tom Nuydens (tom@delphi3d.net) }
-{ Contributions by Igor Karpov (glygrik@hotbox.ru) }
-{ For the latest updates, visit Delphi3D: http://www.delphi3d.net }
-{******************************************************************************}
-
-interface
-
-uses
- SysUtils,
- {$IFDEF Windows}
- Windows, dynlibs,
- {$ELSE}
- {$IFDEF MORPHOS}
- TinyGL,
- {$ELSE}
- dynlibs,
- {$ENDIF}
- {$ENDIF}
- {$IFDEF GLUT_EXCLUSIVE_FPUMODE}
- math,
- {$ENDIF}
- GL;
-
-type
- PInteger = ^Integer;
- PPChar = ^PChar;
- TGlutVoidCallback = procedure; cdecl;
- TGlut1IntCallback = procedure(value: Integer); cdecl;
- TGlut2IntCallback = procedure(v1, v2: Integer); cdecl;
- TGlut3IntCallback = procedure(v1, v2, v3: Integer); cdecl;
- TGlut4IntCallback = procedure(v1, v2, v3, v4: Integer); cdecl;
- TGlut1Char2IntCallback = procedure(c: Byte; v1, v2: Integer); cdecl;
- TGlut1UInt3IntCallback = procedure(u: Cardinal; v1, v2, v3: Integer); cdecl;
-
-const
- GLUT_API_VERSION = 3;
- GLUT_XLIB_IMPLEMENTATION = 12;
- // Display mode bit masks.
- GLUT_RGB = 0;
- GLUT_RGBA = GLUT_RGB;
- GLUT_INDEX = 1;
- GLUT_SINGLE = 0;
- GLUT_DOUBLE = 2;
- GLUT_ACCUM = 4;
- GLUT_ALPHA = 8;
- GLUT_DEPTH = 16;
- GLUT_STENCIL = 32;
- GLUT_MULTISAMPLE = 128;
- GLUT_STEREO = 256;
- GLUT_LUMINANCE = 512;
-
- // Mouse buttons.
- GLUT_LEFT_BUTTON = 0;
- GLUT_MIDDLE_BUTTON = 1;
- GLUT_RIGHT_BUTTON = 2;
-
- // Mouse button state.
- GLUT_DOWN = 0;
- GLUT_UP = 1;
-
- // function keys
- GLUT_KEY_F1 = 1;
- GLUT_KEY_F2 = 2;
- GLUT_KEY_F3 = 3;
- GLUT_KEY_F4 = 4;
- GLUT_KEY_F5 = 5;
- GLUT_KEY_F6 = 6;
- GLUT_KEY_F7 = 7;
- GLUT_KEY_F8 = 8;
- GLUT_KEY_F9 = 9;
- GLUT_KEY_F10 = 10;
- GLUT_KEY_F11 = 11;
- GLUT_KEY_F12 = 12;
- // directional keys
- GLUT_KEY_LEFT = 100;
- GLUT_KEY_UP = 101;
- GLUT_KEY_RIGHT = 102;
- GLUT_KEY_DOWN = 103;
- GLUT_KEY_PAGE_UP = 104;
- GLUT_KEY_PAGE_DOWN = 105;
- GLUT_KEY_HOME = 106;
- GLUT_KEY_END = 107;
- GLUT_KEY_INSERT = 108;
-
- // Entry/exit state.
- GLUT_LEFT = 0;
- GLUT_ENTERED = 1;
-
- // Menu usage state.
- GLUT_MENU_NOT_IN_USE = 0;
- GLUT_MENU_IN_USE = 1;
-
- // Visibility state.
- GLUT_NOT_VISIBLE = 0;
- GLUT_VISIBLE = 1;
-
- // Window status state.
- GLUT_HIDDEN = 0;
- GLUT_FULLY_RETAINED = 1;
- GLUT_PARTIALLY_RETAINED = 2;
- GLUT_FULLY_COVERED = 3;
-
- // Color index component selection values.
- GLUT_RED = 0;
- GLUT_GREEN = 1;
- GLUT_BLUE = 2;
-
- // Layers for use.
- GLUT_NORMAL = 0;
- GLUT_OVERLAY = 1;
-
-{$ifdef Windows}
- // Stroke font constants (use these in GLUT program).
- GLUT_STROKE_ROMAN = Pointer(0);
- GLUT_STROKE_MONO_ROMAN = Pointer(1);
-
- // Bitmap font constants (use these in GLUT program).
- GLUT_BITMAP_9_BY_15 = Pointer(2);
- GLUT_BITMAP_8_BY_13 = Pointer(3);
- GLUT_BITMAP_TIMES_ROMAN_10 = Pointer(4);
- GLUT_BITMAP_TIMES_ROMAN_24 = Pointer(5);
- GLUT_BITMAP_HELVETICA_10 = Pointer(6);
- GLUT_BITMAP_HELVETICA_12 = Pointer(7);
- GLUT_BITMAP_HELVETICA_18 = Pointer(8);
-{$else Windows}
-var
- // Stroke font constants (use these in GLUT program).
- GLUT_STROKE_ROMAN : Pointer;
- GLUT_STROKE_MONO_ROMAN : Pointer;
-
- // Bitmap font constants (use these in GLUT program).
- GLUT_BITMAP_9_BY_15 : Pointer;
- GLUT_BITMAP_8_BY_13 : Pointer;
- GLUT_BITMAP_TIMES_ROMAN_10 : Pointer;
- GLUT_BITMAP_TIMES_ROMAN_24 : Pointer;
- GLUT_BITMAP_HELVETICA_10 : Pointer;
- GLUT_BITMAP_HELVETICA_12 : Pointer;
- GLUT_BITMAP_HELVETICA_18 : Pointer;
-
-const
-{$endif Windows}
-
- // glutGet parameters.
- GLUT_WINDOW_X = 100;
- GLUT_WINDOW_Y = 101;
- GLUT_WINDOW_WIDTH = 102;
- GLUT_WINDOW_HEIGHT = 103;
- GLUT_WINDOW_BUFFER_SIZE = 104;
- GLUT_WINDOW_STENCIL_SIZE = 105;
- GLUT_WINDOW_DEPTH_SIZE = 106;
- GLUT_WINDOW_RED_SIZE = 107;
- GLUT_WINDOW_GREEN_SIZE = 108;
- GLUT_WINDOW_BLUE_SIZE = 109;
- GLUT_WINDOW_ALPHA_SIZE = 110;
- GLUT_WINDOW_ACCUM_RED_SIZE = 111;
- GLUT_WINDOW_ACCUM_GREEN_SIZE = 112;
- GLUT_WINDOW_ACCUM_BLUE_SIZE = 113;
- GLUT_WINDOW_ACCUM_ALPHA_SIZE = 114;
- GLUT_WINDOW_DOUBLEBUFFER = 115;
- GLUT_WINDOW_RGBA = 116;
- GLUT_WINDOW_PARENT = 117;
- GLUT_WINDOW_NUM_CHILDREN = 118;
- GLUT_WINDOW_COLORMAP_SIZE = 119;
- GLUT_WINDOW_NUM_SAMPLES = 120;
- GLUT_WINDOW_STEREO = 121;
- GLUT_WINDOW_CURSOR = 122;
- GLUT_SCREEN_WIDTH = 200;
- GLUT_SCREEN_HEIGHT = 201;
- GLUT_SCREEN_WIDTH_MM = 202;
- GLUT_SCREEN_HEIGHT_MM = 203;
- GLUT_MENU_NUM_ITEMS = 300;
- GLUT_DISPLAY_MODE_POSSIBLE = 400;
- GLUT_INIT_WINDOW_X = 500;
- GLUT_INIT_WINDOW_Y = 501;
- GLUT_INIT_WINDOW_WIDTH = 502;
- GLUT_INIT_WINDOW_HEIGHT = 503;
- GLUT_INIT_DISPLAY_MODE = 504;
- GLUT_ELAPSED_TIME = 700;
- GLUT_WINDOW_FORMAT_ID = 123;
-
- // glutDeviceGet parameters.
- GLUT_HAS_KEYBOARD = 600;
- GLUT_HAS_MOUSE = 601;
- GLUT_HAS_SPACEBALL = 602;
- GLUT_HAS_DIAL_AND_BUTTON_BOX = 603;
- GLUT_HAS_TABLET = 604;
- GLUT_NUM_MOUSE_BUTTONS = 605;
- GLUT_NUM_SPACEBALL_BUTTONS = 606;
- GLUT_NUM_BUTTON_BOX_BUTTONS = 607;
- GLUT_NUM_DIALS = 608;
- GLUT_NUM_TABLET_BUTTONS = 609;
- GLUT_DEVICE_IGNORE_KEY_REPEAT = 610;
- GLUT_DEVICE_KEY_REPEAT = 611;
- GLUT_HAS_JOYSTICK = 612;
- GLUT_OWNS_JOYSTICK = 613;
- GLUT_JOYSTICK_BUTTONS = 614;
- GLUT_JOYSTICK_AXES = 615;
- GLUT_JOYSTICK_POLL_RATE = 616;
-
-
- // glutLayerGet parameters.
- GLUT_OVERLAY_POSSIBLE = 800;
- GLUT_LAYER_IN_USE = 801;
- GLUT_HAS_OVERLAY = 802;
- GLUT_TRANSPARENT_INDEX = 803;
- GLUT_NORMAL_DAMAGED = 804;
- GLUT_OVERLAY_DAMAGED = 805;
-
- // glutVideoResizeGet parameters.
- GLUT_VIDEO_RESIZE_POSSIBLE = 900;
- GLUT_VIDEO_RESIZE_IN_USE = 901;
- GLUT_VIDEO_RESIZE_X_DELTA = 902;
- GLUT_VIDEO_RESIZE_Y_DELTA = 903;
- GLUT_VIDEO_RESIZE_WIDTH_DELTA = 904;
- GLUT_VIDEO_RESIZE_HEIGHT_DELTA = 905;
- GLUT_VIDEO_RESIZE_X = 906;
- GLUT_VIDEO_RESIZE_Y = 907;
- GLUT_VIDEO_RESIZE_WIDTH = 908;
- GLUT_VIDEO_RESIZE_HEIGHT = 909;
-
- // glutGetModifiers return mask.
- GLUT_ACTIVE_SHIFT = 1;
- GLUT_ACTIVE_CTRL = 2;
- GLUT_ACTIVE_ALT = 4;
-
- // glutSetCursor parameters.
- // Basic arrows.
- GLUT_CURSOR_RIGHT_ARROW = 0;
- GLUT_CURSOR_LEFT_ARROW = 1;
- // Symbolic cursor shapes.
- GLUT_CURSOR_INFO = 2;
- GLUT_CURSOR_DESTROY = 3;
- GLUT_CURSOR_HELP = 4;
- GLUT_CURSOR_CYCLE = 5;
- GLUT_CURSOR_SPRAY = 6;
- GLUT_CURSOR_WAIT = 7;
- GLUT_CURSOR_TEXT = 8;
- GLUT_CURSOR_CROSSHAIR = 9;
- // Directional cursors.
- GLUT_CURSOR_UP_DOWN = 10;
- GLUT_CURSOR_LEFT_RIGHT = 11;
- // Sizing cursors.
- GLUT_CURSOR_TOP_SIDE = 12;
- GLUT_CURSOR_BOTTOM_SIDE = 13;
- GLUT_CURSOR_LEFT_SIDE = 14;
- GLUT_CURSOR_RIGHT_SIDE = 15;
- GLUT_CURSOR_TOP_LEFT_CORNER = 16;
- GLUT_CURSOR_TOP_RIGHT_CORNER = 17;
- GLUT_CURSOR_BOTTOM_RIGHT_CORNER = 18;
- GLUT_CURSOR_BOTTOM_LEFT_CORNER = 19;
- // Inherit from parent window.
- GLUT_CURSOR_INHERIT = 100;
- // Blank cursor.
- GLUT_CURSOR_NONE = 101;
- // Fullscreen crosshair (if available).
- GLUT_CURSOR_FULL_CROSSHAIR = 102;
-
- // GLUT device control sub-API.
- // glutSetKeyRepeat modes.
- GLUT_KEY_REPEAT_OFF = 0;
- GLUT_KEY_REPEAT_ON = 1;
- GLUT_KEY_REPEAT_DEFAULT = 2;
-
-// Joystick button masks.
- GLUT_JOYSTICK_BUTTON_A = 1;
- GLUT_JOYSTICK_BUTTON_B = 2;
- GLUT_JOYSTICK_BUTTON_C = 4;
- GLUT_JOYSTICK_BUTTON_D = 8;
-
- // GLUT game mode sub-API.
- // glutGameModeGet.
- GLUT_GAME_MODE_ACTIVE = 0;
- GLUT_GAME_MODE_POSSIBLE = 1;
- GLUT_GAME_MODE_WIDTH = 2;
- GLUT_GAME_MODE_HEIGHT = 3;
- GLUT_GAME_MODE_PIXEL_DEPTH = 4;
- GLUT_GAME_MODE_REFRESH_RATE = 5;
- GLUT_GAME_MODE_DISPLAY_CHANGED = 6;
-
-{$IFDEF MORPHOS}
-
-{ MorphOS GL works differently due to different dynamic-library handling on Amiga-like }
-{ systems, so its headers are included here. }
-{$INCLUDE tinyglh.inc}
-
-{$ELSE MORPHOS}
-
-{$IFDEF GLUT_EXCLUSIVE_FPUMODE}
-var
-OLD_glutInit:procedure(argcp: PInteger; argv: PPChar); extdecl;
-OLD_glutInitDisplayMode:procedure(mode: Cardinal); extdecl;
-OLD_glutInitDisplayString:procedure(const str: PChar); extdecl;
-OLD_glutInitWindowPosition:procedure(x, y: Integer); extdecl;
-OLD_glutInitWindowSize:procedure(width, height: Integer); extdecl;
-OLD_glutMainLoop:procedure; extdecl;
-OLD_glutCreateWindow:function(const title: PChar): Integer; extdecl;
-OLD_glutCreateSubWindow:function(win, x, y, width, height: Integer): Integer; extdecl;
-OLD_glutDestroyWindow:procedure(win: Integer); extdecl;
-OLD_glutPostRedisplay:procedure; extdecl;
-OLD_glutPostWindowRedisplay:procedure(win: Integer); extdecl;
-OLD_glutSwapBuffers:procedure; extdecl;
-OLD_glutGetWindow:function: Integer; extdecl;
-OLD_glutSetWindow:procedure(win: Integer); extdecl;
-OLD_glutSetWindowTitle:procedure(const title: PChar); extdecl;
-OLD_glutSetIconTitle:procedure(const title: PChar); extdecl;
-OLD_glutPositionWindow:procedure(x, y: Integer); extdecl;
-OLD_glutReshapeWindow:procedure(width, height: Integer); extdecl;
-OLD_glutPopWindow:procedure; extdecl;
-OLD_glutPushWindow:procedure; extdecl;
-OLD_glutIconifyWindow:procedure; extdecl;
-OLD_glutShowWindow:procedure; extdecl;
-OLD_glutHideWindow:procedure; extdecl;
-OLD_glutFullScreen:procedure; extdecl;
-OLD_glutSetCursor:procedure(cursor: Integer); extdecl;
-OLD_glutWarpPointer:procedure(x, y: Integer); extdecl;
-OLD_glutEstablishOverlay:procedure; extdecl;
-OLD_glutRemoveOverlay:procedure; extdecl;
-OLD_glutUseLayer:procedure(layer: GLenum); extdecl;
-OLD_glutPostOverlayRedisplay:procedure; extdecl;
-OLD_glutPostWindowOverlayRedisplay:procedure(win: Integer); extdecl;
-OLD_glutShowOverlay:procedure; extdecl;
-OLD_glutHideOverlay:procedure; extdecl;
-OLD_glutCreateMenu:function(callback: TGlut1IntCallback): Integer; extdecl;
-OLD_glutDestroyMenu:procedure(menu: Integer); extdecl;
-OLD_glutGetMenu:function: Integer; extdecl;
-OLD_glutSetMenu:procedure(menu: Integer); extdecl;
-OLD_glutAddMenuEntry:procedure(const caption: PChar; value: Integer); extdecl;
-OLD_glutAddSubMenu:procedure(const caption: PChar; submenu: Integer); extdecl;
-OLD_glutChangeToMenuEntry:procedure(item: Integer; const caption: PChar; value: Integer); extdecl;
-OLD_glutChangeToSubMenu:procedure(item: Integer; const caption: PChar; submenu: Integer); extdecl;
-OLD_glutRemoveMenuItem:procedure(item: Integer); extdecl;
-OLD_glutAttachMenu:procedure(button: Integer); extdecl;
-OLD_glutDetachMenu:procedure(button: Integer); extdecl;
-OLD_glutDisplayFunc:procedure(f: TGlutVoidCallback); extdecl;
-OLD_glutReshapeFunc:procedure(f: TGlut2IntCallback); extdecl;
-OLD_glutKeyboardFunc:procedure(f: TGlut1Char2IntCallback); extdecl;
-OLD_glutMouseFunc:procedure(f: TGlut4IntCallback); extdecl;
-OLD_glutMotionFunc:procedure(f: TGlut2IntCallback); extdecl;
-OLD_glutPassiveMotionFunc:procedure(f: TGlut2IntCallback); extdecl;
-OLD_glutEntryFunc:procedure(f: TGlut1IntCallback); extdecl;
-OLD_glutVisibilityFunc:procedure(f: TGlut1IntCallback); extdecl;
-OLD_glutIdleFunc:procedure(f: TGlutVoidCallback); extdecl;
-OLD_glutTimerFunc:procedure(millis: Cardinal; f: TGlut1IntCallback; value: Integer); extdecl;
-OLD_glutMenuStateFunc:procedure(f: TGlut1IntCallback); extdecl;
-OLD_glutSpecialFunc:procedure(f: TGlut3IntCallback); extdecl;
-OLD_glutSpaceballMotionFunc:procedure(f: TGlut3IntCallback); extdecl;
-OLD_glutSpaceballRotateFunc:procedure(f: TGlut3IntCallback); extdecl;
-OLD_glutSpaceballButtonFunc:procedure(f: TGlut2IntCallback); extdecl;
-OLD_glutButtonBoxFunc:procedure(f: TGlut2IntCallback); extdecl;
-OLD_glutDialsFunc:procedure(f: TGlut2IntCallback); extdecl;
-OLD_glutTabletMotionFunc:procedure(f: TGlut2IntCallback); extdecl;
-OLD_glutTabletButtonFunc:procedure(f: TGlut4IntCallback); extdecl;
-OLD_glutMenuStatusFunc:procedure(f: TGlut3IntCallback); extdecl;
-OLD_glutOverlayDisplayFunc:procedure(f:TGlutVoidCallback); extdecl;
-OLD_glutWindowStatusFunc:procedure(f: TGlut1IntCallback); extdecl;
-OLD_glutKeyboardUpFunc:procedure(f: TGlut1Char2IntCallback); extdecl;
-OLD_glutSpecialUpFunc:procedure(f: TGlut3IntCallback); extdecl;
-OLD_glutJoystickFunc:procedure(f: TGlut1UInt3IntCallback; pollInterval: Integer); extdecl;
-OLD_glutSetColor:procedure(cell: Integer; red, green, blue: GLfloat); extdecl;
-OLD_glutGetColor:function(ndx, component: Integer): GLfloat; extdecl;
-OLD_glutCopyColormap:procedure(win: Integer); extdecl;
-OLD_glutGet:function(t: GLenum): Integer; extdecl;
-OLD_glutDeviceGet:function(t: GLenum): Integer; extdecl;
-OLD_glutExtensionSupported:function(const name: PChar): Integer; extdecl;
-OLD_glutGetModifiers:function: Integer; extdecl;
-OLD_glutLayerGet:function(t: GLenum): Integer; extdecl;
-OLD_glutBitmapCharacter:procedure(font : pointer; character: Integer); extdecl;
-OLD_glutBitmapWidth:function(font : pointer; character: Integer): Integer; extdecl;
-OLD_glutStrokeCharacter:procedure(font : pointer; character: Integer); extdecl;
-OLD_glutStrokeWidth:function(font : pointer; character: Integer): Integer; extdecl;
-OLD_glutBitmapLength:function(font: pointer; const str: PChar): Integer; extdecl;
-OLD_glutStrokeLength:function(font: pointer; const str: PChar): Integer; extdecl;
-OLD_glutWireSphere:procedure(radius: GLdouble; slices, stacks: GLint); extdecl;
-OLD_glutSolidSphere:procedure(radius: GLdouble; slices, stacks: GLint); extdecl;
-OLD_glutWireCone:procedure(base, height: GLdouble; slices, stacks: GLint); extdecl;
-OLD_glutSolidCone:procedure(base, height: GLdouble; slices, stacks: GLint); extdecl;
-OLD_glutWireCube:procedure(size: GLdouble); extdecl;
-OLD_glutSolidCube:procedure(size: GLdouble); extdecl;
-OLD_glutWireTorus:procedure(innerRadius, outerRadius: GLdouble; sides, rings: GLint); extdecl;
-OLD_glutSolidTorus:procedure(innerRadius, outerRadius: GLdouble; sides, rings: GLint); extdecl;
-OLD_glutWireDodecahedron:procedure; extdecl;
-OLD_glutSolidDodecahedron:procedure; extdecl;
-OLD_glutWireTeapot:procedure(size: GLdouble); extdecl;
-OLD_glutSolidTeapot:procedure(size: GLdouble); extdecl;
-OLD_glutWireOctahedron:procedure; extdecl;
-OLD_glutSolidOctahedron:procedure; extdecl;
-OLD_glutWireTetrahedron:procedure; extdecl;
-OLD_glutSolidTetrahedron:procedure; extdecl;
-OLD_glutWireIcosahedron:procedure; extdecl;
-OLD_glutSolidIcosahedron:procedure; extdecl;
-OLD_glutVideoResizeGet:function(param: GLenum): Integer; extdecl;
-OLD_glutSetupVideoResizing:procedure; extdecl;
-OLD_glutStopVideoResizing:procedure; extdecl;
-OLD_glutVideoResize:procedure(x, y, width, height: Integer); extdecl;
-OLD_glutVideoPan:procedure(x, y, width, height: Integer); extdecl;
-OLD_glutReportErrors:procedure; extdecl;
-OLD_glutIgnoreKeyRepeat:procedure(ignore: Integer); extdecl;
-OLD_glutSetKeyRepeat:procedure(repeatMode: Integer); extdecl;
-OLD_glutForceJoystickFunc:procedure; extdecl;
-OLD_glutGameModeString:procedure(const AString : PChar); extdecl;
-OLD_glutEnterGameMode:function: integer; extdecl;
-OLD_glutLeaveGameMode:procedure; extdecl;
-OLD_glutGameModeGet:function(mode : GLenum): integer; extdecl;
-
-procedure glutInit(argcp: PInteger; argv: PPChar); mode_inline;
-procedure glutInitDisplayMode(mode: Cardinal); mode_inline;
-procedure glutInitDisplayString(const str: PChar); mode_inline;
-procedure glutInitWindowPosition(x, y: Integer); mode_inline;
-procedure glutInitWindowSize(width, height: Integer); mode_inline;
-procedure glutMainLoop; mode_inline;
-function glutCreateWindow(const title: PChar): Integer; mode_inline;
-function glutCreateSubWindow(win, x, y, width, height: Integer): Integer; mode_inline;
-procedure glutDestroyWindow(win: Integer); mode_inline;
-procedure glutPostRedisplay; mode_inline;
-procedure glutPostWindowRedisplay(win: Integer); mode_inline;
-procedure glutSwapBuffers; mode_inline;
-function glutGetWindow: Integer; mode_inline;
-procedure glutSetWindow(win: Integer); mode_inline;
-procedure glutSetWindowTitle(const title: PChar); mode_inline;
-procedure glutSetIconTitle(const title: PChar); mode_inline;
-procedure glutPositionWindow(x, y: Integer); mode_inline;
-procedure glutReshapeWindow(width, height: Integer); mode_inline;
-procedure glutPopWindow; mode_inline;
-procedure glutPushWindow; mode_inline;
-procedure glutIconifyWindow; mode_inline;
-procedure glutShowWindow; mode_inline;
-procedure glutHideWindow; mode_inline;
-procedure glutFullScreen; mode_inline;
-procedure glutSetCursor(cursor: Integer); mode_inline;
-procedure glutWarpPointer(x, y: Integer); mode_inline;
-procedure glutEstablishOverlay; mode_inline;
-procedure glutRemoveOverlay; mode_inline;
-procedure glutUseLayer(layer: GLenum); mode_inline;
-procedure glutPostOverlayRedisplay; mode_inline;
-procedure glutPostWindowOverlayRedisplay(win: Integer); mode_inline;
-procedure glutShowOverlay; mode_inline;
-procedure glutHideOverlay; mode_inline;
-function glutCreateMenu(callback: TGlut1IntCallback): Integer; mode_inline;
-procedure glutDestroyMenu(menu: Integer); mode_inline;
-function glutGetMenu: Integer; mode_inline;
-procedure glutSetMenu(menu: Integer); mode_inline;
-procedure glutAddMenuEntry(const caption: PChar; value: Integer); mode_inline;
-procedure glutAddSubMenu(const caption: PChar; submenu: Integer); mode_inline;
-procedure glutChangeToMenuEntry(item: Integer; const caption: PChar; value: Integer); mode_inline;
-procedure glutChangeToSubMenu(item: Integer; const caption: PChar; submenu: Integer); mode_inline;
-procedure glutRemoveMenuItem(item: Integer); mode_inline;
-procedure glutAttachMenu(button: Integer); mode_inline;
-procedure glutDetachMenu(button: Integer); mode_inline;
-procedure glutDisplayFunc(f: TGlutVoidCallback); mode_inline;
-procedure glutReshapeFunc(f: TGlut2IntCallback); mode_inline;
-procedure glutKeyboardFunc(f: TGlut1Char2IntCallback); mode_inline;
-procedure glutMouseFunc(f: TGlut4IntCallback); mode_inline;
-procedure glutMotionFunc(f: TGlut2IntCallback); mode_inline;
-procedure glutPassiveMotionFunc(f: TGlut2IntCallback); mode_inline;
-procedure glutEntryFunc(f: TGlut1IntCallback); mode_inline;
-procedure glutVisibilityFunc(f: TGlut1IntCallback); mode_inline;
-procedure glutIdleFunc(f: TGlutVoidCallback); mode_inline;
-procedure glutTimerFunc(millis: Cardinal; f: TGlut1IntCallback; value: Integer); mode_inline;
-procedure glutMenuStateFunc(f: TGlut1IntCallback); mode_inline;
-procedure glutSpecialFunc(f: TGlut3IntCallback); mode_inline;
-procedure glutSpaceballMotionFunc(f: TGlut3IntCallback); mode_inline;
-procedure glutSpaceballRotateFunc(f: TGlut3IntCallback); mode_inline;
-procedure glutSpaceballButtonFunc(f: TGlut2IntCallback); mode_inline;
-procedure glutButtonBoxFunc(f: TGlut2IntCallback); mode_inline;
-procedure glutDialsFunc(f: TGlut2IntCallback); mode_inline;
-procedure glutTabletMotionFunc(f: TGlut2IntCallback); mode_inline;
-procedure glutTabletButtonFunc(f: TGlut4IntCallback); mode_inline;
-procedure glutMenuStatusFunc(f: TGlut3IntCallback); mode_inline;
-procedure glutOverlayDisplayFunc(f:TGlutVoidCallback); mode_inline;
-procedure glutWindowStatusFunc(f: TGlut1IntCallback); mode_inline;
-procedure glutKeyboardUpFunc(f: TGlut1Char2IntCallback); mode_inline;
-procedure glutSpecialUpFunc(f: TGlut3IntCallback); mode_inline;
-procedure glutJoystickFunc(f: TGlut1UInt3IntCallback; pollInterval: Integer); mode_inline;
-procedure glutSetColor(cell: Integer; red, green, blue: GLfloat); mode_inline;
-function glutGetColor(ndx, component: Integer): GLfloat; mode_inline;
-procedure glutCopyColormap(win: Integer); mode_inline;
-function glutGet(t: GLenum): Integer; mode_inline;
-function glutDeviceGet(t: GLenum): Integer; mode_inline;
-function glutExtensionSupported(const name: PChar): Integer; mode_inline;
-function glutGetModifiers: Integer; mode_inline;
-function glutLayerGet(t: GLenum): Integer; mode_inline;
-procedure glutBitmapCharacter(font : pointer; character: Integer); mode_inline;
-function glutBitmapWidth(font : pointer; character: Integer): Integer; mode_inline;
-procedure glutStrokeCharacter(font : pointer; character: Integer); mode_inline;
-function glutStrokeWidth(font : pointer; character: Integer): Integer; mode_inline;
-function glutBitmapLength(font: pointer; const str: PChar): Integer; mode_inline;
-function glutStrokeLength(font: pointer; const str: PChar): Integer; mode_inline;
-procedure glutWireSphere(radius: GLdouble; slices, stacks: GLint); mode_inline;
-procedure glutSolidSphere(radius: GLdouble; slices, stacks: GLint); mode_inline;
-procedure glutWireCone(base, height: GLdouble; slices, stacks: GLint); mode_inline;
-procedure glutSolidCone(base, height: GLdouble; slices, stacks: GLint); mode_inline;
-procedure glutWireCube(size: GLdouble); mode_inline;
-procedure glutSolidCube(size: GLdouble); mode_inline;
-procedure glutWireTorus(innerRadius, outerRadius: GLdouble; sides, rings: GLint); mode_inline;
-procedure glutSolidTorus(innerRadius, outerRadius: GLdouble; sides, rings: GLint); mode_inline;
-procedure glutWireDodecahedron; mode_inline;
-procedure glutSolidDodecahedron; mode_inline;
-procedure glutWireTeapot(size: GLdouble); mode_inline;
-procedure glutSolidTeapot(size: GLdouble); mode_inline;
-procedure glutWireOctahedron; mode_inline;
-procedure glutSolidOctahedron; mode_inline;
-procedure glutWireTetrahedron; mode_inline;
-procedure glutSolidTetrahedron; mode_inline;
-procedure glutWireIcosahedron; mode_inline;
-procedure glutSolidIcosahedron; mode_inline;
-function glutVideoResizeGet(param: GLenum): Integer; mode_inline;
-procedure glutSetupVideoResizing; mode_inline;
-procedure glutStopVideoResizing; mode_inline;
-procedure glutVideoResize(x, y, width, height: Integer); mode_inline;
-procedure glutVideoPan(x, y, width, height: Integer); mode_inline;
-procedure glutReportErrors; mode_inline;
-procedure glutIgnoreKeyRepeat(ignore: Integer); mode_inline;
-procedure glutSetKeyRepeat(repeatMode: Integer); mode_inline;
-procedure glutForceJoystickFunc; mode_inline;
-procedure glutGameModeString(const AString : PChar); mode_inline;
-function glutEnterGameMode: integer; mode_inline;
-procedure glutLeaveGameMode; mode_inline;
-function glutGameModeGet(mode : GLenum): integer; mode_inline;
-
-
-{$ELSE GLUT_EXCLUSIVE_FPUMODE}
-var
-// GLUT initialization sub-API.
- glutInit: procedure(argcp: PInteger; argv: PPChar); extdecl;
- glutInitDisplayMode: procedure(mode: Cardinal); extdecl;
- glutInitDisplayString: procedure(const str: PChar); extdecl;
- glutInitWindowPosition: procedure(x, y: Integer); extdecl;
- glutInitWindowSize: procedure(width, height: Integer); extdecl;
- glutMainLoop: procedure; extdecl;
-
-// GLUT window sub-API.
- glutCreateWindow: function(const title: PChar): Integer; extdecl;
- glutCreateSubWindow: function(win, x, y, width, height: Integer): Integer; extdecl;
- glutDestroyWindow: procedure(win: Integer); extdecl;
- glutPostRedisplay: procedure; extdecl;
- glutPostWindowRedisplay: procedure(win: Integer); extdecl;
- glutSwapBuffers: procedure; extdecl;
- glutGetWindow: function: Integer; extdecl;
- glutSetWindow: procedure(win: Integer); extdecl;
- glutSetWindowTitle: procedure(const title: PChar); extdecl;
- glutSetIconTitle: procedure(const title: PChar); extdecl;
- glutPositionWindow: procedure(x, y: Integer); extdecl;
- glutReshapeWindow: procedure(width, height: Integer); extdecl;
- glutPopWindow: procedure; extdecl;
- glutPushWindow: procedure; extdecl;
- glutIconifyWindow: procedure; extdecl;
- glutShowWindow: procedure; extdecl;
- glutHideWindow: procedure; extdecl;
- glutFullScreen: procedure; extdecl;
- glutSetCursor: procedure(cursor: Integer); extdecl;
- glutWarpPointer: procedure(x, y: Integer); extdecl;
-
-// GLUT overlay sub-API.
- glutEstablishOverlay: procedure; extdecl;
- glutRemoveOverlay: procedure; extdecl;
- glutUseLayer: procedure(layer: GLenum); extdecl;
- glutPostOverlayRedisplay: procedure; extdecl;
- glutPostWindowOverlayRedisplay: procedure(win: Integer); extdecl;
- glutShowOverlay: procedure; extdecl;
- glutHideOverlay: procedure; extdecl;
-
-// GLUT menu sub-API.
- glutCreateMenu: function(callback: TGlut1IntCallback): Integer; extdecl;
- glutDestroyMenu: procedure(menu: Integer); extdecl;
- glutGetMenu: function: Integer; extdecl;
- glutSetMenu: procedure(menu: Integer); extdecl;
- glutAddMenuEntry: procedure(const caption: PChar; value: Integer); extdecl;
- glutAddSubMenu: procedure(const caption: PChar; submenu: Integer); extdecl;
- glutChangeToMenuEntry: procedure(item: Integer; const caption: PChar; value: Integer); extdecl;
- glutChangeToSubMenu: procedure(item: Integer; const caption: PChar; submenu: Integer); extdecl;
- glutRemoveMenuItem: procedure(item: Integer); extdecl;
- glutAttachMenu: procedure(button: Integer); extdecl;
- glutDetachMenu: procedure(button: Integer); extdecl;
-
-// GLUT window callback sub-API.
- glutDisplayFunc: procedure(f: TGlutVoidCallback); extdecl;
- glutReshapeFunc: procedure(f: TGlut2IntCallback); extdecl;
- glutKeyboardFunc: procedure(f: TGlut1Char2IntCallback); extdecl;
- glutMouseFunc: procedure(f: TGlut4IntCallback); extdecl;
- glutMotionFunc: procedure(f: TGlut2IntCallback); extdecl;
- glutPassiveMotionFunc: procedure(f: TGlut2IntCallback); extdecl;
- glutEntryFunc: procedure(f: TGlut1IntCallback); extdecl;
- glutVisibilityFunc: procedure(f: TGlut1IntCallback); extdecl;
- glutIdleFunc: procedure(f: TGlutVoidCallback); extdecl;
- glutTimerFunc: procedure(millis: Cardinal; f: TGlut1IntCallback; value: Integer); extdecl;
- glutMenuStateFunc: procedure(f: TGlut1IntCallback); extdecl;
- glutSpecialFunc: procedure(f: TGlut3IntCallback); extdecl;
- glutSpaceballMotionFunc: procedure(f: TGlut3IntCallback); extdecl;
- glutSpaceballRotateFunc: procedure(f: TGlut3IntCallback); extdecl;
- glutSpaceballButtonFunc: procedure(f: TGlut2IntCallback); extdecl;
- glutButtonBoxFunc: procedure(f: TGlut2IntCallback); extdecl;
- glutDialsFunc: procedure(f: TGlut2IntCallback); extdecl;
- glutTabletMotionFunc: procedure(f: TGlut2IntCallback); extdecl;
- glutTabletButtonFunc: procedure(f: TGlut4IntCallback); extdecl;
- glutMenuStatusFunc: procedure(f: TGlut3IntCallback); extdecl;
- glutOverlayDisplayFunc: procedure(f:TGlutVoidCallback); extdecl;
- glutWindowStatusFunc: procedure(f: TGlut1IntCallback); extdecl;
- glutKeyboardUpFunc: procedure(f: TGlut1Char2IntCallback); extdecl;
- glutSpecialUpFunc: procedure(f: TGlut3IntCallback); extdecl;
- glutJoystickFunc: procedure(f: TGlut1UInt3IntCallback; pollInterval: Integer); extdecl;
-
-// GLUT color index sub-API.
- glutSetColor: procedure(cell: Integer; red, green, blue: GLfloat); extdecl;
- glutGetColor: function(ndx, component: Integer): GLfloat; extdecl;
- glutCopyColormap: procedure(win: Integer); extdecl;
-
-// GLUT state retrieval sub-API.
- glutGet: function(t: GLenum): Integer; extdecl;
- glutDeviceGet: function(t: GLenum): Integer; extdecl;
-
-// GLUT extension support sub-API
- glutExtensionSupported: function(const name: PChar): Integer; extdecl;
- glutGetModifiers: function: Integer; extdecl;
- glutLayerGet: function(t: GLenum): Integer; extdecl;
-
-// GLUT font sub-API
- glutBitmapCharacter: procedure(font : pointer; character: Integer); extdecl;
- glutBitmapWidth: function(font : pointer; character: Integer): Integer; extdecl;
- glutStrokeCharacter: procedure(font : pointer; character: Integer); extdecl;
- glutStrokeWidth: function(font : pointer; character: Integer): Integer; extdecl;
- glutBitmapLength: function(font: pointer; const str: PChar): Integer; extdecl;
- glutStrokeLength: function(font: pointer; const str: PChar): Integer; extdecl;
-
-// GLUT pre-built models sub-API
- glutWireSphere: procedure(radius: GLdouble; slices, stacks: GLint); extdecl;
- glutSolidSphere: procedure(radius: GLdouble; slices, stacks: GLint); extdecl;
- glutWireCone: procedure(base, height: GLdouble; slices, stacks: GLint); extdecl;
- glutSolidCone: procedure(base, height: GLdouble; slices, stacks: GLint); extdecl;
- glutWireCube: procedure(size: GLdouble); extdecl;
- glutSolidCube: procedure(size: GLdouble); extdecl;
- glutWireTorus: procedure(innerRadius, outerRadius: GLdouble; sides, rings: GLint); extdecl;
- glutSolidTorus: procedure(innerRadius, outerRadius: GLdouble; sides, rings: GLint); extdecl;
- glutWireDodecahedron: procedure; extdecl;
- glutSolidDodecahedron: procedure; extdecl;
- glutWireTeapot: procedure(size: GLdouble); extdecl;
- glutSolidTeapot: procedure(size: GLdouble); extdecl;
- glutWireOctahedron: procedure; extdecl;
- glutSolidOctahedron: procedure; extdecl;
- glutWireTetrahedron: procedure; extdecl;
- glutSolidTetrahedron: procedure; extdecl;
- glutWireIcosahedron: procedure; extdecl;
- glutSolidIcosahedron: procedure; extdecl;
-
-// GLUT video resize sub-API.
- glutVideoResizeGet: function(param: GLenum): Integer; extdecl;
- glutSetupVideoResizing: procedure; extdecl;
- glutStopVideoResizing: procedure; extdecl;
- glutVideoResize: procedure(x, y, width, height: Integer); extdecl;
- glutVideoPan: procedure(x, y, width, height: Integer); extdecl;
-
-// GLUT debugging sub-API.
- glutReportErrors: procedure; extdecl;
-
-// GLUT device control sub-API.
-
- glutIgnoreKeyRepeat: procedure(ignore: Integer); extdecl;
- glutSetKeyRepeat: procedure(repeatMode: Integer); extdecl;
- glutForceJoystickFunc: procedure; extdecl;
-
-// GLUT game mode sub-API.
-
- //example glutGameModeString('1280x1024:32@75');
- glutGameModeString : procedure (const AString : PChar); extdecl;
- glutEnterGameMode : function : integer; extdecl;
- glutLeaveGameMode : procedure; extdecl;
- glutGameModeGet : function (mode : GLenum) : integer; extdecl;
-
-{$ENDIF GLUT_EXCLUSIVE_FPUMODE}
-{$ENDIF MORPHOS}
-
-procedure LoadGlut(const dll: String);
-procedure FreeGlut;
-
-implementation
-
-{$IFDEF MORPHOS}
-
-{ MorphOS GL works differently due to different dynamic-library handling on Amiga-like }
-{ systems, so its functions are included here. }
-{$INCLUDE tinygl.inc}
-
-{$ELSE MORPHOS}
-var
- hDLL: TLibHandle;
-{$ENDIF MORPHOS}
-
-procedure FreeGlut;
-begin
-{$IFDEF MORPHOS}
- // MorphOS's GL will closed down by TinyGL unit, nothing is needed here.
-{$ELSE MORPHOS}
-
- if (hDLL <> 0) then
- FreeLibrary(hDLL);
-
-{$IFDEF GLUT_EXCLUSIVE_FPUMODE}
-
- @OLD_glutInit := nil;
- @OLD_glutInitDisplayMode := nil;
- @OLD_glutInitDisplayString := nil;
- @OLD_glutInitWindowPosition := nil;
- @OLD_glutInitWindowSize := nil;
- @OLD_glutMainLoop := nil;
- @OLD_glutCreateWindow := nil;
- @OLD_glutCreateSubWindow := nil;
- @OLD_glutDestroyWindow := nil;
- @OLD_glutPostRedisplay := nil;
- @OLD_glutPostWindowRedisplay := nil;
- @OLD_glutSwapBuffers := nil;
- @OLD_glutGetWindow := nil;
- @OLD_glutSetWindow := nil;
- @OLD_glutSetWindowTitle := nil;
- @OLD_glutSetIconTitle := nil;
- @OLD_glutPositionWindow := nil;
- @OLD_glutReshapeWindow := nil;
- @OLD_glutPopWindow := nil;
- @OLD_glutPushWindow := nil;
- @OLD_glutIconifyWindow := nil;
- @OLD_glutShowWindow := nil;
- @OLD_glutHideWindow := nil;
- @OLD_glutFullScreen := nil;
- @OLD_glutSetCursor := nil;
- @OLD_glutWarpPointer := nil;
- @OLD_glutEstablishOverlay := nil;
- @OLD_glutRemoveOverlay := nil;
- @OLD_glutUseLayer := nil;
- @OLD_glutPostOverlayRedisplay := nil;
- @OLD_glutPostWindowOverlayRedisplay := nil;
- @OLD_glutShowOverlay := nil;
- @OLD_glutHideOverlay := nil;
- @OLD_glutCreateMenu := nil;
- @OLD_glutDestroyMenu := nil;
- @OLD_glutGetMenu := nil;
- @OLD_glutSetMenu := nil;
- @OLD_glutAddMenuEntry := nil;
- @OLD_glutAddSubMenu := nil;
- @OLD_glutChangeToMenuEntry := nil;
- @OLD_glutChangeToSubMenu := nil;
- @OLD_glutRemoveMenuItem := nil;
- @OLD_glutAttachMenu := nil;
- @OLD_glutDetachMenu := nil;
- @OLD_glutDisplayFunc := nil;
- @OLD_glutReshapeFunc := nil;
- @OLD_glutKeyboardFunc := nil;
- @OLD_glutMouseFunc := nil;
- @OLD_glutMotionFunc := nil;
- @OLD_glutPassiveMotionFunc := nil;
- @OLD_glutEntryFunc := nil;
- @OLD_glutVisibilityFunc := nil;
- @OLD_glutIdleFunc := nil;
- @OLD_glutTimerFunc := nil;
- @OLD_glutMenuStateFunc := nil;
- @OLD_glutSpecialFunc := nil;
- @OLD_glutSpaceballMotionFunc := nil;
- @OLD_glutSpaceballRotateFunc := nil;
- @OLD_glutSpaceballButtonFunc := nil;
- @OLD_glutButtonBoxFunc := nil;
- @OLD_glutDialsFunc := nil;
- @OLD_glutTabletMotionFunc := nil;
- @OLD_glutTabletButtonFunc := nil;
- @OLD_glutMenuStatusFunc := nil;
- @OLD_glutOverlayDisplayFunc := nil;
- @OLD_glutWindowStatusFunc := nil;
- @OLD_glutKeyboardUpFunc := nil;
- @OLD_glutSpecialUpFunc := nil;
- @OLD_glutJoystickFunc := nil;
- @OLD_glutSetColor := nil;
- @OLD_glutGetColor := nil;
- @OLD_glutCopyColormap := nil;
- @OLD_glutGet := nil;
- @OLD_glutDeviceGet := nil;
- @OLD_glutExtensionSupported := nil;
- @OLD_glutGetModifiers := nil;
- @OLD_glutLayerGet := nil;
- @OLD_glutBitmapCharacter := nil;
- @OLD_glutBitmapWidth := nil;
- @OLD_glutStrokeCharacter := nil;
- @OLD_glutStrokeWidth := nil;
- @OLD_glutBitmapLength := nil;
- @OLD_glutStrokeLength := nil;
- @OLD_glutWireSphere := nil;
- @OLD_glutSolidSphere := nil;
- @OLD_glutWireCone := nil;
- @OLD_glutSolidCone := nil;
- @OLD_glutWireCube := nil;
- @OLD_glutSolidCube := nil;
- @OLD_glutWireTorus := nil;
- @OLD_glutSolidTorus := nil;
- @OLD_glutWireDodecahedron := nil;
- @OLD_glutSolidDodecahedron := nil;
- @OLD_glutWireTeapot := nil;
- @OLD_glutSolidTeapot := nil;
- @OLD_glutWireOctahedron := nil;
- @OLD_glutSolidOctahedron := nil;
- @OLD_glutWireTetrahedron := nil;
- @OLD_glutSolidTetrahedron := nil;
- @OLD_glutWireIcosahedron := nil;
- @OLD_glutSolidIcosahedron := nil;
- @OLD_glutVideoResizeGet := nil;
- @OLD_glutSetupVideoResizing := nil;
- @OLD_glutStopVideoResizing := nil;
- @OLD_glutVideoResize := nil;
- @OLD_glutVideoPan := nil;
- @OLD_glutReportErrors := nil;
- @OLD_glutIgnoreKeyRepeat := nil;
- @OLD_glutSetKeyRepeat := nil;
- @OLD_glutForceJoystickFunc := nil;
- @OLD_glutGameModeString := nil;
- @OLD_glutEnterGameMode := nil;
- @OLD_glutLeaveGameMode := nil;
- @OLD_glutGameModeGet := nil;
-
-{$ELSE GLUT_EXCLUSIVE_FPUMODE}
- @glutInit := nil;
- @glutInitDisplayMode := nil;
- @glutInitDisplayString := nil;
- @glutInitWindowPosition := nil;
- @glutInitWindowSize := nil;
- @glutMainLoop := nil;
- @glutCreateWindow := nil;
- @glutCreateSubWindow := nil;
- @glutDestroyWindow := nil;
- @glutPostRedisplay := nil;
- @glutPostWindowRedisplay := nil;
- @glutSwapBuffers := nil;
- @glutGetWindow := nil;
- @glutSetWindow := nil;
- @glutSetWindowTitle := nil;
- @glutSetIconTitle := nil;
- @glutPositionWindow := nil;
- @glutReshapeWindow := nil;
- @glutPopWindow := nil;
- @glutPushWindow := nil;
- @glutIconifyWindow := nil;
- @glutShowWindow := nil;
- @glutHideWindow := nil;
- @glutFullScreen := nil;
- @glutSetCursor := nil;
- @glutWarpPointer := nil;
- @glutEstablishOverlay := nil;
- @glutRemoveOverlay := nil;
- @glutUseLayer := nil;
- @glutPostOverlayRedisplay := nil;
- @glutPostWindowOverlayRedisplay := nil;
- @glutShowOverlay := nil;
- @glutHideOverlay := nil;
- @glutCreateMenu := nil;
- @glutDestroyMenu := nil;
- @glutGetMenu := nil;
- @glutSetMenu := nil;
- @glutAddMenuEntry := nil;
- @glutAddSubMenu := nil;
- @glutChangeToMenuEntry := nil;
- @glutChangeToSubMenu := nil;
- @glutRemoveMenuItem := nil;
- @glutAttachMenu := nil;
- @glutDetachMenu := nil;
- @glutDisplayFunc := nil;
- @glutReshapeFunc := nil;
- @glutKeyboardFunc := nil;
- @glutMouseFunc := nil;
- @glutMotionFunc := nil;
- @glutPassiveMotionFunc := nil;
- @glutEntryFunc := nil;
- @glutVisibilityFunc := nil;
- @glutIdleFunc := nil;
- @glutTimerFunc := nil;
- @glutMenuStateFunc := nil;
- @glutSpecialFunc := nil;
- @glutSpaceballMotionFunc := nil;
- @glutSpaceballRotateFunc := nil;
- @glutSpaceballButtonFunc := nil;
- @glutButtonBoxFunc := nil;
- @glutDialsFunc := nil;
- @glutTabletMotionFunc := nil;
- @glutTabletButtonFunc := nil;
- @glutMenuStatusFunc := nil;
- @glutOverlayDisplayFunc := nil;
- @glutWindowStatusFunc := nil;
- @glutKeyboardUpFunc := nil;
- @glutSpecialUpFunc := nil;
- @glutJoystickFunc := nil;
- @glutSetColor := nil;
- @glutGetColor := nil;
- @glutCopyColormap := nil;
- @glutGet := nil;
- @glutDeviceGet := nil;
- @glutExtensionSupported := nil;
- @glutGetModifiers := nil;
- @glutLayerGet := nil;
- @glutBitmapCharacter := nil;
- @glutBitmapWidth := nil;
- @glutStrokeCharacter := nil;
- @glutStrokeWidth := nil;
- @glutBitmapLength := nil;
- @glutStrokeLength := nil;
- @glutWireSphere := nil;
- @glutSolidSphere := nil;
- @glutWireCone := nil;
- @glutSolidCone := nil;
- @glutWireCube := nil;
- @glutSolidCube := nil;
- @glutWireTorus := nil;
- @glutSolidTorus := nil;
- @glutWireDodecahedron := nil;
- @glutSolidDodecahedron := nil;
- @glutWireTeapot := nil;
- @glutSolidTeapot := nil;
- @glutWireOctahedron := nil;
- @glutSolidOctahedron := nil;
- @glutWireTetrahedron := nil;
- @glutSolidTetrahedron := nil;
- @glutWireIcosahedron := nil;
- @glutSolidIcosahedron := nil;
- @glutVideoResizeGet := nil;
- @glutSetupVideoResizing := nil;
- @glutStopVideoResizing := nil;
- @glutVideoResize := nil;
- @glutVideoPan := nil;
- @glutReportErrors := nil;
- @glutIgnoreKeyRepeat := nil;
- @glutSetKeyRepeat := nil;
- @glutForceJoystickFunc := nil;
- @glutGameModeString := nil;
- @glutEnterGameMode := nil;
- @glutLeaveGameMode := nil;
- @glutGameModeGet := nil;
-{$ENDIF GLUT_EXCLUSIVE_FPUMODE}
-{$ENDIF MORPHOS}
-end;
-
-procedure LoadGlut(const dll: String);
-{$IFDEF MORPHOS}
-begin
- // MorphOS's GL has own initialization in TinyGL unit, nothing is needed here.
-end;
-{$ELSE MORPHOS}
-var
- MethodName: string = '';
-
- function GetGLutProcAddress(Lib: PtrInt; ProcName: PChar): Pointer;
- begin
- MethodName:=ProcName;
- Result:=GetProcAddress(Lib, ProcName);
- end;
-
-begin
-
- FreeGlut;
-
- hDLL := LoadLibrary(PChar(dll));
- if hDLL = 0 then raise Exception.Create('Could not load Glut from ' + dll);
- try
-{$IFDEF GLUT_EXCLUSIVE_FPUMODE}
- @OLD_glutInit := GetGLutProcAddress(hDLL, 'glutInit');
- @OLD_glutInitDisplayMode := GetGLutProcAddress(hDLL, 'glutInitDisplayMode');
- @OLD_glutInitDisplayString := GetGLutProcAddress(hDLL, 'glutInitDisplayString');
- @OLD_glutInitWindowPosition := GetGLutProcAddress(hDLL, 'glutInitWindowPosition');
- @OLD_glutInitWindowSize := GetGLutProcAddress(hDLL, 'glutInitWindowSize');
- @OLD_glutMainLoop := GetGLutProcAddress(hDLL, 'glutMainLoop');
- @OLD_glutCreateWindow := GetGLutProcAddress(hDLL, 'glutCreateWindow');
- @OLD_glutCreateSubWindow := GetGLutProcAddress(hDLL, 'glutCreateSubWindow');
- @OLD_glutDestroyWindow := GetGLutProcAddress(hDLL, 'glutDestroyWindow');
- @OLD_glutPostRedisplay := GetGLutProcAddress(hDLL, 'glutPostRedisplay');
- @OLD_glutPostWindowRedisplay := GetGLutProcAddress(hDLL, 'glutPostWindowRedisplay');
- @OLD_glutSwapBuffers := GetGLutProcAddress(hDLL, 'glutSwapBuffers');
- @OLD_glutGetWindow := GetGLutProcAddress(hDLL, 'glutGetWindow');
- @OLD_glutSetWindow := GetGLutProcAddress(hDLL, 'glutSetWindow');
- @OLD_glutSetWindowTitle := GetGLutProcAddress(hDLL, 'glutSetWindowTitle');
- @OLD_glutSetIconTitle := GetGLutProcAddress(hDLL, 'glutSetIconTitle');
- @OLD_glutPositionWindow := GetGLutProcAddress(hDLL, 'glutPositionWindow');
- @OLD_glutReshapeWindow := GetGLutProcAddress(hDLL, 'glutReshapeWindow');
- @OLD_glutPopWindow := GetGLutProcAddress(hDLL, 'glutPopWindow');
- @OLD_glutPushWindow := GetGLutProcAddress(hDLL, 'glutPushWindow');
- @OLD_glutIconifyWindow := GetGLutProcAddress(hDLL, 'glutIconifyWindow');
- @OLD_glutShowWindow := GetGLutProcAddress(hDLL, 'glutShowWindow');
- @OLD_glutHideWindow := GetGLutProcAddress(hDLL, 'glutHideWindow');
- @OLD_glutFullScreen := GetGLutProcAddress(hDLL, 'glutFullScreen');
- @OLD_glutSetCursor := GetGLutProcAddress(hDLL, 'glutSetCursor');
- @OLD_glutWarpPointer := GetGLutProcAddress(hDLL, 'glutWarpPointer');
- @OLD_glutEstablishOverlay := GetGLutProcAddress(hDLL, 'glutEstablishOverlay');
- @OLD_glutRemoveOverlay := GetGLutProcAddress(hDLL, 'glutRemoveOverlay');
- @OLD_glutUseLayer := GetGLutProcAddress(hDLL, 'glutUseLayer');
- @OLD_glutPostOverlayRedisplay := GetGLutProcAddress(hDLL, 'glutPostOverlayRedisplay');
- @OLD_glutPostWindowOverlayRedisplay := GetGLutProcAddress(hDLL, 'glutPostWindowOverlayRedisplay');
- @OLD_glutShowOverlay := GetGLutProcAddress(hDLL, 'glutShowOverlay');
- @OLD_glutHideOverlay := GetGLutProcAddress(hDLL, 'glutHideOverlay');
- @OLD_glutCreateMenu := GetGLutProcAddress(hDLL, 'glutCreateMenu');
- @OLD_glutDestroyMenu := GetGLutProcAddress(hDLL, 'glutDestroyMenu');
- @OLD_glutGetMenu := GetGLutProcAddress(hDLL, 'glutGetMenu');
- @OLD_glutSetMenu := GetGLutProcAddress(hDLL, 'glutSetMenu');
- @OLD_glutAddMenuEntry := GetGLutProcAddress(hDLL, 'glutAddMenuEntry');
- @OLD_glutAddSubMenu := GetGLutProcAddress(hDLL, 'glutAddSubMenu');
- @OLD_glutChangeToMenuEntry := GetGLutProcAddress(hDLL, 'glutChangeToMenuEntry');
- @OLD_glutChangeToSubMenu := GetGLutProcAddress(hDLL, 'glutChangeToSubMenu');
- @OLD_glutRemoveMenuItem := GetGLutProcAddress(hDLL, 'glutRemoveMenuItem');
- @OLD_glutAttachMenu := GetGLutProcAddress(hDLL, 'glutAttachMenu');
- @OLD_glutDetachMenu := GetGLutProcAddress(hDLL, 'glutDetachMenu');
- @OLD_glutDisplayFunc := GetGLutProcAddress(hDLL, 'glutDisplayFunc');
- @OLD_glutReshapeFunc := GetGLutProcAddress(hDLL, 'glutReshapeFunc');
- @OLD_glutKeyboardFunc := GetGLutProcAddress(hDLL, 'glutKeyboardFunc');
- @OLD_glutMouseFunc := GetGLutProcAddress(hDLL, 'glutMouseFunc');
- @OLD_glutMotionFunc := GetGLutProcAddress(hDLL, 'glutMotionFunc');
- @OLD_glutPassiveMotionFunc := GetGLutProcAddress(hDLL, 'glutPassiveMotionFunc');
- @OLD_glutEntryFunc := GetGLutProcAddress(hDLL, 'glutEntryFunc');
- @OLD_glutVisibilityFunc := GetGLutProcAddress(hDLL, 'glutVisibilityFunc');
- @OLD_glutIdleFunc := GetGLutProcAddress(hDLL, 'glutIdleFunc');
- @OLD_glutTimerFunc := GetGLutProcAddress(hDLL, 'glutTimerFunc');
- @OLD_glutMenuStateFunc := GetGLutProcAddress(hDLL, 'glutMenuStateFunc');
- @OLD_glutSpecialFunc := GetGLutProcAddress(hDLL, 'glutSpecialFunc');
- @OLD_glutSpaceballMotionFunc := GetGLutProcAddress(hDLL, 'glutSpaceballMotionFunc');
- @OLD_glutSpaceballRotateFunc := GetGLutProcAddress(hDLL, 'glutSpaceballRotateFunc');
- @OLD_glutSpaceballButtonFunc := GetGLutProcAddress(hDLL, 'glutSpaceballButtonFunc');
- @OLD_glutButtonBoxFunc := GetGLutProcAddress(hDLL, 'glutButtonBoxFunc');
- @OLD_glutDialsFunc := GetGLutProcAddress(hDLL, 'glutDialsFunc');
- @OLD_glutTabletMotionFunc := GetGLutProcAddress(hDLL, 'glutTabletMotionFunc');
- @OLD_glutTabletButtonFunc := GetGLutProcAddress(hDLL, 'glutTabletButtonFunc');
- @OLD_glutMenuStatusFunc := GetGLutProcAddress(hDLL, 'glutMenuStatusFunc');
- @OLD_glutOverlayDisplayFunc := GetGLutProcAddress(hDLL, 'glutOverlayDisplayFunc');
- @OLD_glutWindowStatusFunc := GetGLutProcAddress(hDLL, 'glutWindowStatusFunc');
- @OLD_glutKeyboardUpFunc := GetGLutProcAddress(hDLL, 'glutKeyboardUpFunc');
- @OLD_glutSpecialUpFunc := GetGLutProcAddress(hDLL, 'glutSpecialUpFunc');
- @OLD_glutJoystickFunc := GetGLutProcAddress(hDLL, 'glutJoystickFunc');
- @OLD_glutSetColor := GetGLutProcAddress(hDLL, 'glutSetColor');
- @OLD_glutGetColor := GetGLutProcAddress(hDLL, 'glutGetColor');
- @OLD_glutCopyColormap := GetGLutProcAddress(hDLL, 'glutCopyColormap');
- @OLD_glutGet := GetGLutProcAddress(hDLL, 'glutGet');
- @OLD_glutDeviceGet := GetGLutProcAddress(hDLL, 'glutDeviceGet');
- @OLD_glutExtensionSupported := GetGLutProcAddress(hDLL, 'glutExtensionSupported');
- @OLD_glutGetModifiers := GetGLutProcAddress(hDLL, 'glutGetModifiers');
- @OLD_glutLayerGet := GetGLutProcAddress(hDLL, 'glutLayerGet');
- @OLD_glutBitmapCharacter := GetGLutProcAddress(hDLL, 'glutBitmapCharacter');
- @OLD_glutBitmapWidth := GetGLutProcAddress(hDLL, 'glutBitmapWidth');
- @OLD_glutStrokeCharacter := GetGLutProcAddress(hDLL, 'glutStrokeCharacter');
- @OLD_glutStrokeWidth := GetGLutProcAddress(hDLL, 'glutStrokeWidth');
- @OLD_glutBitmapLength := GetGLutProcAddress(hDLL, 'glutBitmapLength');
- @OLD_glutStrokeLength := GetGLutProcAddress(hDLL, 'glutStrokeLength');
- @OLD_glutWireSphere := GetGLutProcAddress(hDLL, 'glutWireSphere');
- @OLD_glutSolidSphere := GetGLutProcAddress(hDLL, 'glutSolidSphere');
- @OLD_glutWireCone := GetGLutProcAddress(hDLL, 'glutWireCone');
- @OLD_glutSolidCone := GetGLutProcAddress(hDLL, 'glutSolidCone');
- @OLD_glutWireCube := GetGLutProcAddress(hDLL, 'glutWireCube');
- @OLD_glutSolidCube := GetGLutProcAddress(hDLL, 'glutSolidCube');
- @OLD_glutWireTorus := GetGLutProcAddress(hDLL, 'glutWireTorus');
- @OLD_glutSolidTorus := GetGLutProcAddress(hDLL, 'glutSolidTorus');
- @OLD_glutWireDodecahedron := GetGLutProcAddress(hDLL, 'glutWireDodecahedron');
- @OLD_glutSolidDodecahedron := GetGLutProcAddress(hDLL, 'glutSolidDodecahedron');
- @OLD_glutWireTeapot := GetGLutProcAddress(hDLL, 'glutWireTeapot');
- @OLD_glutSolidTeapot := GetGLutProcAddress(hDLL, 'glutSolidTeapot');
- @OLD_glutWireOctahedron := GetGLutProcAddress(hDLL, 'glutWireOctahedron');
- @OLD_glutSolidOctahedron := GetGLutProcAddress(hDLL, 'glutSolidOctahedron');
- @OLD_glutWireTetrahedron := GetGLutProcAddress(hDLL, 'glutWireTetrahedron');
- @OLD_glutSolidTetrahedron := GetGLutProcAddress(hDLL, 'glutSolidTetrahedron');
- @OLD_glutWireIcosahedron := GetGLutProcAddress(hDLL, 'glutWireIcosahedron');
- @OLD_glutSolidIcosahedron := GetGLutProcAddress(hDLL, 'glutSolidIcosahedron');
- @OLD_glutVideoResizeGet := GetGLutProcAddress(hDLL, 'glutVideoResizeGet');
- @OLD_glutSetupVideoResizing := GetGLutProcAddress(hDLL, 'glutSetupVideoResizing');
- @OLD_glutStopVideoResizing := GetGLutProcAddress(hDLL, 'glutStopVideoResizing');
- @OLD_glutVideoResize := GetGLutProcAddress(hDLL, 'glutVideoResize');
- @OLD_glutVideoPan := GetGLutProcAddress(hDLL, 'glutVideoPan');
- @OLD_glutReportErrors := GetGLutProcAddress(hDLL, 'glutReportErrors');
- @OLD_glutIgnoreKeyRepeat := GetGLutProcAddress(hDLL, 'glutIgnoreKeyRepeat');
- @OLD_glutSetKeyRepeat := GetGLutProcAddress(hDLL, 'glutSetKeyRepeat');
- @OLD_glutForceJoystickFunc := GetGLutProcAddress(hDLL, 'glutForceJoystickFunc');
- @OLD_glutGameModeString := GetGLutProcAddress(hDLL, 'glutGameModeString');
- @OLD_glutEnterGameMode := GetGLutProcAddress(hDLL, 'glutEnterGameMode');
- @OLD_glutLeaveGameMode := GetGLutProcAddress(hDLL, 'glutLeaveGameMode');
- @OLD_glutGameModeGet := GetGLutProcAddress(hDLL, 'glutGameModeGet');
-{$ELSE GLUT_EXCLUSIVE_FPUMODE}
- @glutInit := GetGLutProcAddress(hDLL, 'glutInit');
- @glutInitDisplayMode := GetGLutProcAddress(hDLL, 'glutInitDisplayMode');
- @glutInitDisplayString := GetGLutProcAddress(hDLL, 'glutInitDisplayString');
- @glutInitWindowPosition := GetGLutProcAddress(hDLL, 'glutInitWindowPosition');
- @glutInitWindowSize := GetGLutProcAddress(hDLL, 'glutInitWindowSize');
- @glutMainLoop := GetGLutProcAddress(hDLL, 'glutMainLoop');
- @glutCreateWindow := GetGLutProcAddress(hDLL, 'glutCreateWindow');
- @glutCreateSubWindow := GetGLutProcAddress(hDLL, 'glutCreateSubWindow');
- @glutDestroyWindow := GetGLutProcAddress(hDLL, 'glutDestroyWindow');
- @glutPostRedisplay := GetGLutProcAddress(hDLL, 'glutPostRedisplay');
- @glutPostWindowRedisplay := GetGLutProcAddress(hDLL, 'glutPostWindowRedisplay');
- @glutSwapBuffers := GetGLutProcAddress(hDLL, 'glutSwapBuffers');
- @glutGetWindow := GetGLutProcAddress(hDLL, 'glutGetWindow');
- @glutSetWindow := GetGLutProcAddress(hDLL, 'glutSetWindow');
- @glutSetWindowTitle := GetGLutProcAddress(hDLL, 'glutSetWindowTitle');
- @glutSetIconTitle := GetGLutProcAddress(hDLL, 'glutSetIconTitle');
- @glutPositionWindow := GetGLutProcAddress(hDLL, 'glutPositionWindow');
- @glutReshapeWindow := GetGLutProcAddress(hDLL, 'glutReshapeWindow');
- @glutPopWindow := GetGLutProcAddress(hDLL, 'glutPopWindow');
- @glutPushWindow := GetGLutProcAddress(hDLL, 'glutPushWindow');
- @glutIconifyWindow := GetGLutProcAddress(hDLL, 'glutIconifyWindow');
- @glutShowWindow := GetGLutProcAddress(hDLL, 'glutShowWindow');
- @glutHideWindow := GetGLutProcAddress(hDLL, 'glutHideWindow');
- @glutFullScreen := GetGLutProcAddress(hDLL, 'glutFullScreen');
- @glutSetCursor := GetGLutProcAddress(hDLL, 'glutSetCursor');
- @glutWarpPointer := GetGLutProcAddress(hDLL, 'glutWarpPointer');
- @glutEstablishOverlay := GetGLutProcAddress(hDLL, 'glutEstablishOverlay');
- @glutRemoveOverlay := GetGLutProcAddress(hDLL, 'glutRemoveOverlay');
- @glutUseLayer := GetGLutProcAddress(hDLL, 'glutUseLayer');
- @glutPostOverlayRedisplay := GetGLutProcAddress(hDLL, 'glutPostOverlayRedisplay');
- @glutPostWindowOverlayRedisplay := GetGLutProcAddress(hDLL, 'glutPostWindowOverlayRedisplay');
- @glutShowOverlay := GetGLutProcAddress(hDLL, 'glutShowOverlay');
- @glutHideOverlay := GetGLutProcAddress(hDLL, 'glutHideOverlay');
- @glutCreateMenu := GetGLutProcAddress(hDLL, 'glutCreateMenu');
- @glutDestroyMenu := GetGLutProcAddress(hDLL, 'glutDestroyMenu');
- @glutGetMenu := GetGLutProcAddress(hDLL, 'glutGetMenu');
- @glutSetMenu := GetGLutProcAddress(hDLL, 'glutSetMenu');
- @glutAddMenuEntry := GetGLutProcAddress(hDLL, 'glutAddMenuEntry');
- @glutAddSubMenu := GetGLutProcAddress(hDLL, 'glutAddSubMenu');
- @glutChangeToMenuEntry := GetGLutProcAddress(hDLL, 'glutChangeToMenuEntry');
- @glutChangeToSubMenu := GetGLutProcAddress(hDLL, 'glutChangeToSubMenu');
- @glutRemoveMenuItem := GetGLutProcAddress(hDLL, 'glutRemoveMenuItem');
- @glutAttachMenu := GetGLutProcAddress(hDLL, 'glutAttachMenu');
- @glutDetachMenu := GetGLutProcAddress(hDLL, 'glutDetachMenu');
- @glutDisplayFunc := GetGLutProcAddress(hDLL, 'glutDisplayFunc');
- @glutReshapeFunc := GetGLutProcAddress(hDLL, 'glutReshapeFunc');
- @glutKeyboardFunc := GetGLutProcAddress(hDLL, 'glutKeyboardFunc');
- @glutMouseFunc := GetGLutProcAddress(hDLL, 'glutMouseFunc');
- @glutMotionFunc := GetGLutProcAddress(hDLL, 'glutMotionFunc');
- @glutPassiveMotionFunc := GetGLutProcAddress(hDLL, 'glutPassiveMotionFunc');
- @glutEntryFunc := GetGLutProcAddress(hDLL, 'glutEntryFunc');
- @glutVisibilityFunc := GetGLutProcAddress(hDLL, 'glutVisibilityFunc');
- @glutIdleFunc := GetGLutProcAddress(hDLL, 'glutIdleFunc');
- @glutTimerFunc := GetGLutProcAddress(hDLL, 'glutTimerFunc');
- @glutMenuStateFunc := GetGLutProcAddress(hDLL, 'glutMenuStateFunc');
- @glutSpecialFunc := GetGLutProcAddress(hDLL, 'glutSpecialFunc');
- @glutSpaceballMotionFunc := GetGLutProcAddress(hDLL, 'glutSpaceballMotionFunc');
- @glutSpaceballRotateFunc := GetGLutProcAddress(hDLL, 'glutSpaceballRotateFunc');
- @glutSpaceballButtonFunc := GetGLutProcAddress(hDLL, 'glutSpaceballButtonFunc');
- @glutButtonBoxFunc := GetGLutProcAddress(hDLL, 'glutButtonBoxFunc');
- @glutDialsFunc := GetGLutProcAddress(hDLL, 'glutDialsFunc');
- @glutTabletMotionFunc := GetGLutProcAddress(hDLL, 'glutTabletMotionFunc');
- @glutTabletButtonFunc := GetGLutProcAddress(hDLL, 'glutTabletButtonFunc');
- @glutMenuStatusFunc := GetGLutProcAddress(hDLL, 'glutMenuStatusFunc');
- @glutOverlayDisplayFunc := GetGLutProcAddress(hDLL, 'glutOverlayDisplayFunc');
- @glutWindowStatusFunc := GetGLutProcAddress(hDLL, 'glutWindowStatusFunc');
- @glutKeyboardUpFunc := GetGLutProcAddress(hDLL, 'glutKeyboardUpFunc');
- @glutSpecialUpFunc := GetGLutProcAddress(hDLL, 'glutSpecialUpFunc');
- @glutJoystickFunc := GetGLutProcAddress(hDLL, 'glutJoystickFunc');
- @glutSetColor := GetGLutProcAddress(hDLL, 'glutSetColor');
- @glutGetColor := GetGLutProcAddress(hDLL, 'glutGetColor');
- @glutCopyColormap := GetGLutProcAddress(hDLL, 'glutCopyColormap');
- @glutGet := GetGLutProcAddress(hDLL, 'glutGet');
- @glutDeviceGet := GetGLutProcAddress(hDLL, 'glutDeviceGet');
- @glutExtensionSupported := GetGLutProcAddress(hDLL, 'glutExtensionSupported');
- @glutGetModifiers := GetGLutProcAddress(hDLL, 'glutGetModifiers');
- @glutLayerGet := GetGLutProcAddress(hDLL, 'glutLayerGet');
- @glutBitmapCharacter := GetGLutProcAddress(hDLL, 'glutBitmapCharacter');
- @glutBitmapWidth := GetGLutProcAddress(hDLL, 'glutBitmapWidth');
- @glutStrokeCharacter := GetGLutProcAddress(hDLL, 'glutStrokeCharacter');
- @glutStrokeWidth := GetGLutProcAddress(hDLL, 'glutStrokeWidth');
- @glutBitmapLength := GetGLutProcAddress(hDLL, 'glutBitmapLength');
- @glutStrokeLength := GetGLutProcAddress(hDLL, 'glutStrokeLength');
- @glutWireSphere := GetGLutProcAddress(hDLL, 'glutWireSphere');
- @glutSolidSphere := GetGLutProcAddress(hDLL, 'glutSolidSphere');
- @glutWireCone := GetGLutProcAddress(hDLL, 'glutWireCone');
- @glutSolidCone := GetGLutProcAddress(hDLL, 'glutSolidCone');
- @glutWireCube := GetGLutProcAddress(hDLL, 'glutWireCube');
- @glutSolidCube := GetGLutProcAddress(hDLL, 'glutSolidCube');
- @glutWireTorus := GetGLutProcAddress(hDLL, 'glutWireTorus');
- @glutSolidTorus := GetGLutProcAddress(hDLL, 'glutSolidTorus');
- @glutWireDodecahedron := GetGLutProcAddress(hDLL, 'glutWireDodecahedron');
- @glutSolidDodecahedron := GetGLutProcAddress(hDLL, 'glutSolidDodecahedron');
- @glutWireTeapot := GetGLutProcAddress(hDLL, 'glutWireTeapot');
- @glutSolidTeapot := GetGLutProcAddress(hDLL, 'glutSolidTeapot');
- @glutWireOctahedron := GetGLutProcAddress(hDLL, 'glutWireOctahedron');
- @glutSolidOctahedron := GetGLutProcAddress(hDLL, 'glutSolidOctahedron');
- @glutWireTetrahedron := GetGLutProcAddress(hDLL, 'glutWireTetrahedron');
- @glutSolidTetrahedron := GetGLutProcAddress(hDLL, 'glutSolidTetrahedron');
- @glutWireIcosahedron := GetGLutProcAddress(hDLL, 'glutWireIcosahedron');
- @glutSolidIcosahedron := GetGLutProcAddress(hDLL, 'glutSolidIcosahedron');
- @glutVideoResizeGet := GetGLutProcAddress(hDLL, 'glutVideoResizeGet');
- @glutSetupVideoResizing := GetGLutProcAddress(hDLL, 'glutSetupVideoResizing');
- @glutStopVideoResizing := GetGLutProcAddress(hDLL, 'glutStopVideoResizing');
- @glutVideoResize := GetGLutProcAddress(hDLL, 'glutVideoResize');
- @glutVideoPan := GetGLutProcAddress(hDLL, 'glutVideoPan');
- @glutReportErrors := GetGLutProcAddress(hDLL, 'glutReportErrors');
- @glutIgnoreKeyRepeat := GetGLutProcAddress(hDLL, 'glutIgnoreKeyRepeat');
- @glutSetKeyRepeat := GetGLutProcAddress(hDLL, 'glutSetKeyRepeat');
- @glutForceJoystickFunc := GetGLutProcAddress(hDLL, 'glutForceJoystickFunc');
- @glutGameModeString := GetGLutProcAddress(hDLL, 'glutGameModeString');
- @glutEnterGameMode := GetGLutProcAddress(hDLL, 'glutEnterGameMode');
- @glutLeaveGameMode := GetGLutProcAddress(hDLL, 'glutLeaveGameMode');
- @glutGameModeGet := GetGLutProcAddress(hDLL, 'glutGameModeGet');
-{$ENDIF GLUT_EXCLUSIVE_FPUMODE}
-
-{$ifndef Windows}
- GLUT_STROKE_ROMAN := GetGLutProcAddress(hDll, 'glutStrokeRoman');
- GLUT_STROKE_MONO_ROMAN := GetGLutProcAddress(hDll,'glutStrokeMonoRoman');
- GLUT_BITMAP_9_BY_15 := GetGLutProcAddress(hDll, 'glutBitmap9By15');
- GLUT_BITMAP_8_BY_13 := GetGLutProcAddress(hDll, 'glutBitmap8By13');
- GLUT_BITMAP_TIMES_ROMAN_10 := GetGLutProcAddress(hDll, 'glutBitmapTimesRoman10');
- GLUT_BITMAP_TIMES_ROMAN_24 := GetGLutProcAddress(hDll, 'glutBitmapTimesRoman24');
- GLUT_BITMAP_HELVETICA_10 := GetGLutProcAddress(hDll, 'glutBitmapHelvetica10');
- GLUT_BITMAP_HELVETICA_12 := GetGLutProcAddress(hDll, 'glutBitmapHelvetica12');
- GLUT_BITMAP_HELVETICA_18 := GetGLutProcAddress(hDll, 'glutBitmapHelvetica18');
-{$endif Windows}
- except
- raise Exception.Create('Could not load ' + MethodName + ' from ' + dll);
- end;
-end;
-{$ENDIF MORPHOS}
-
-{$IFDEF GLUT_EXCLUSIVE_FPUMODE}
-
-VAR
-GLUT_EXCLUSIVE_glut_ExceptionMask : TFPUExceptionMask;
-GLUT_EXCLUSIVE_fpc__ExceptionMask : TFPUExceptionMask;
-GLUT_EXCLUSIVE_glut_PrecisionMode : TFPUPrecisionMode;
-GLUT_EXCLUSIVE_fpc__PrecisionMode : TFPUPrecisionMode;
-GLUT_EXCLUSIVE_glut_RoundMode : TFPURoundingMode;
-GLUT_EXCLUSIVE_fpc__RoundMode : TFPURoundingMode;
-
-
-PROCEDURE init_fpumode;
-BEGIN
- GLUT_EXCLUSIVE_glut_ExceptionMask := GetExceptionMask+[exDenormalized, exInvalidOp, exOverflow, exPrecision, exUnderflow, exZeroDivide];
- GLUT_EXCLUSIVE_glut_PrecisionMode := GetPrecisionMode;
- GLUT_EXCLUSIVE_glut_RoundMode := GetRoundMode;
-END;
-
-
-PROCEDURE switch_to_glut_fpumode; mode_inline;
-BEGIN
- GLUT_EXCLUSIVE_fpc__ExceptionMask := GetExceptionMask;
- GLUT_EXCLUSIVE_fpc__PrecisionMode := GetPrecisionMode;
- GLUT_EXCLUSIVE_fpc__RoundMode := GetRoundMode;
- SetExceptionMask(GLUT_EXCLUSIVE_glut_ExceptionMask);
- SetPrecisionMode(GLUT_EXCLUSIVE_glut_PrecisionMode);
- SetRoundMode(GLUT_EXCLUSIVE_glut_RoundMode);
-END;
-
-PROCEDURE switch_to_FPC_fpumode; mode_inline;
-BEGIN
- GLUT_EXCLUSIVE_glut_ExceptionMask := GetExceptionMask;
- GLUT_EXCLUSIVE_glut_PrecisionMode := GetPrecisionMode;
- GLUT_EXCLUSIVE_glut_RoundMode := GetRoundMode;
- SetExceptionMask(GLUT_EXCLUSIVE_fpc__ExceptionMask);
- SetPrecisionMode(GLUT_EXCLUSIVE_fpc__PrecisionMode);
- SetRoundMode(GLUT_EXCLUSIVE_fpc__RoundMode);
-END;
-
-
-procedure glutInit(argcp: PInteger; argv: PPChar);
-begin
- switch_to_glut_fpumode;
- OLD_glutInit(argcp,argv);
- switch_to_FPC_fpumode;
-end;
-
-procedure glutInitDisplayMode(mode: Cardinal);
-begin
- switch_to_glut_fpumode;
- OLD_glutInitDisplayMode(mode);
- switch_to_FPC_fpumode;
-end;
-
-procedure glutInitDisplayString(const str: PChar);
-begin
- switch_to_glut_fpumode;
- OLD_glutInitDisplayString(str);
- switch_to_FPC_fpumode;
-end;
-
-procedure glutInitWindowPosition(x, y: Integer);
-begin
- switch_to_glut_fpumode;
- OLD_glutInitWindowPosition(x,y);
- switch_to_FPC_fpumode;
-end;
-
-procedure glutInitWindowSize(width, height: Integer);
-begin
- switch_to_glut_fpumode;
- OLD_glutInitWindowSize(width,height);
- switch_to_FPC_fpumode;
-end;
-
-procedure glutMainLoop;
-begin
- switch_to_glut_fpumode;
- OLD_glutMainLoop();
- switch_to_FPC_fpumode;
-end;
-
-function glutCreateWindow(const title: PChar): Integer;
-begin
- switch_to_glut_fpumode;
- glutCreateWindow := OLD_glutCreateWindow(title);
- switch_to_FPC_fpumode;
-end;
-
-function glutCreateSubWindow(win, x, y, width, height: Integer): Integer;
-begin
- switch_to_glut_fpumode;
- glutCreateSubWindow := OLD_glutCreateSubWindow(win,x,y,width,height);
- switch_to_FPC_fpumode;
-end;
-
-procedure glutDestroyWindow(win: Integer);
-begin
- switch_to_glut_fpumode;
- OLD_glutDestroyWindow(win);
- switch_to_FPC_fpumode;
-end;
-
-procedure glutPostRedisplay;
-begin
- switch_to_glut_fpumode;
- OLD_glutPostRedisplay();
- switch_to_FPC_fpumode;
-end;
-
-procedure glutPostWindowRedisplay(win: Integer);
-begin
- switch_to_glut_fpumode;
- OLD_glutPostWindowRedisplay(win);
- switch_to_FPC_fpumode;
-end;
-
-procedure glutSwapBuffers;
-begin
- switch_to_glut_fpumode;
- OLD_glutSwapBuffers();
- switch_to_FPC_fpumode;
-end;
-
-function glutGetWindow: Integer;
-begin
- switch_to_glut_fpumode;
- glutGetWindow := OLD_glutGetWindow();
- switch_to_FPC_fpumode;
-end;
-
-procedure glutSetWindow(win: Integer);
-begin
- switch_to_glut_fpumode;
- OLD_glutSetWindow(win);
- switch_to_FPC_fpumode;
-end;
-
-procedure glutSetWindowTitle(const title: PChar);
-begin
- switch_to_glut_fpumode;
- OLD_glutSetWindowTitle(title);
- switch_to_FPC_fpumode;
-end;
-
-procedure glutSetIconTitle(const title: PChar);
-begin
- switch_to_glut_fpumode;
- OLD_glutSetIconTitle(title);
- switch_to_FPC_fpumode;
-end;
-
-procedure glutPositionWindow(x, y: Integer);
-begin
- switch_to_glut_fpumode;
- OLD_glutPositionWindow(x,y);
- switch_to_FPC_fpumode;
-end;
-
-procedure glutReshapeWindow(width, height: Integer);
-begin
- switch_to_glut_fpumode;
- OLD_glutReshapeWindow(width,height);
- switch_to_FPC_fpumode;
-end;
-
-procedure glutPopWindow;
-begin
- switch_to_glut_fpumode;
- OLD_glutPopWindow();
- switch_to_FPC_fpumode;
-end;
-
-procedure glutPushWindow;
-begin
- switch_to_glut_fpumode;
- OLD_glutPushWindow();
- switch_to_FPC_fpumode;
-end;
-
-procedure glutIconifyWindow;
-begin
- switch_to_glut_fpumode;
- OLD_glutIconifyWindow();
- switch_to_FPC_fpumode;
-end;
-
-procedure glutShowWindow;
-begin
- switch_to_glut_fpumode;
- OLD_glutShowWindow();
- switch_to_FPC_fpumode;
-end;
-
-procedure glutHideWindow;
-begin
- switch_to_glut_fpumode;
- OLD_glutHideWindow();
- switch_to_FPC_fpumode;
-end;
-
-procedure glutFullScreen;
-begin
- switch_to_glut_fpumode;
- OLD_glutFullScreen();
- switch_to_FPC_fpumode;
-end;
-
-procedure glutSetCursor(cursor: Integer);
-begin
- switch_to_glut_fpumode;
- OLD_glutSetCursor(cursor);
- switch_to_FPC_fpumode;
-end;
-
-procedure glutWarpPointer(x, y: Integer);
-begin
- switch_to_glut_fpumode;
- OLD_glutWarpPointer(x,y);
- switch_to_FPC_fpumode;
-end;
-
-procedure glutEstablishOverlay;
-begin
- switch_to_glut_fpumode;
- OLD_glutEstablishOverlay();
- switch_to_FPC_fpumode;
-end;
-
-procedure glutRemoveOverlay;
-begin
- switch_to_glut_fpumode;
- OLD_glutRemoveOverlay();
- switch_to_FPC_fpumode;
-end;
-
-procedure glutUseLayer(layer: GLenum);
-begin
- switch_to_glut_fpumode;
- OLD_glutUseLayer(layer);
- switch_to_FPC_fpumode;
-end;
-
-procedure glutPostOverlayRedisplay;
-begin
- switch_to_glut_fpumode;
- OLD_glutPostOverlayRedisplay();
- switch_to_FPC_fpumode;
-end;
-
-procedure glutPostWindowOverlayRedisplay(win: Integer);
-begin
- switch_to_glut_fpumode;
- OLD_glutPostWindowOverlayRedisplay(win);
- switch_to_FPC_fpumode;
-end;
-
-procedure glutShowOverlay;
-begin
- switch_to_glut_fpumode;
- OLD_glutShowOverlay();
- switch_to_FPC_fpumode;
-end;
-
-procedure glutHideOverlay;
-begin
- switch_to_glut_fpumode;
- OLD_glutHideOverlay();
- switch_to_FPC_fpumode;
-end;
-
-function glutCreateMenu(callback: TGlut1IntCallback): Integer;
-begin
- switch_to_glut_fpumode;
- glutCreateMenu := OLD_glutCreateMenu(callback);
- switch_to_FPC_fpumode;
-end;
-
-procedure glutDestroyMenu(menu: Integer);
-begin
- switch_to_glut_fpumode;
- OLD_glutDestroyMenu(menu);
- switch_to_FPC_fpumode;
-end;
-
-function glutGetMenu: Integer;
-begin
- switch_to_glut_fpumode;
- glutGetMenu := OLD_glutGetMenu();
- switch_to_FPC_fpumode;
-end;
-
-procedure glutSetMenu(menu: Integer);
-begin
- switch_to_glut_fpumode;
- OLD_glutSetMenu(menu);
- switch_to_FPC_fpumode;
-end;
-
-procedure glutAddMenuEntry(const caption: PChar; value: Integer);
-begin
- switch_to_glut_fpumode;
- OLD_glutAddMenuEntry(caption,value);
- switch_to_FPC_fpumode;
-end;
-
-procedure glutAddSubMenu(const caption: PChar; submenu: Integer);
-begin
- switch_to_glut_fpumode;
- OLD_glutAddSubMenu(caption,submenu);
- switch_to_FPC_fpumode;
-end;
-
-procedure glutChangeToMenuEntry(item: Integer; const caption: PChar; value: Integer);
-begin
- switch_to_glut_fpumode;
- OLD_glutChangeToMenuEntry(item,caption,value);
- switch_to_FPC_fpumode;
-end;
-
-procedure glutChangeToSubMenu(item: Integer; const caption: PChar; submenu: Integer);
-begin
- switch_to_glut_fpumode;
- OLD_glutChangeToSubMenu(item,caption,submenu);
- switch_to_FPC_fpumode;
-end;
-
-procedure glutRemoveMenuItem(item: Integer);
-begin
- switch_to_glut_fpumode;
- OLD_glutRemoveMenuItem(item);
- switch_to_FPC_fpumode;
-end;
-
-procedure glutAttachMenu(button: Integer);
-begin
- switch_to_glut_fpumode;
- OLD_glutAttachMenu(button);
- switch_to_FPC_fpumode;
-end;
-
-procedure glutDetachMenu(button: Integer);
-begin
- switch_to_glut_fpumode;
- OLD_glutDetachMenu(button);
- switch_to_FPC_fpumode;
-end;
-
-procedure glutDisplayFunc(f: TGlutVoidCallback);
-begin
- switch_to_glut_fpumode;
- OLD_glutDisplayFunc(f);
- switch_to_FPC_fpumode;
-end;
-
-procedure glutReshapeFunc(f: TGlut2IntCallback);
-begin
- switch_to_glut_fpumode;
- OLD_glutReshapeFunc(f);
- switch_to_FPC_fpumode;
-end;
-
-procedure glutKeyboardFunc(f: TGlut1Char2IntCallback);
-begin
- switch_to_glut_fpumode;
- OLD_glutKeyboardFunc(f);
- switch_to_FPC_fpumode;
-end;
-
-procedure glutMouseFunc(f: TGlut4IntCallback);
-begin
- switch_to_glut_fpumode;
- OLD_glutMouseFunc(f);
- switch_to_FPC_fpumode;
-end;
-
-procedure glutMotionFunc(f: TGlut2IntCallback);
-begin
- switch_to_glut_fpumode;
- OLD_glutMotionFunc(f);
- switch_to_FPC_fpumode;
-end;
-
-procedure glutPassiveMotionFunc(f: TGlut2IntCallback);
-begin
- switch_to_glut_fpumode;
- OLD_glutPassiveMotionFunc(f);
- switch_to_FPC_fpumode;
-end;
-
-procedure glutEntryFunc(f: TGlut1IntCallback);
-begin
- switch_to_glut_fpumode;
- OLD_glutEntryFunc(f);
- switch_to_FPC_fpumode;
-end;
-
-procedure glutVisibilityFunc(f: TGlut1IntCallback);
-begin
- switch_to_glut_fpumode;
- OLD_glutVisibilityFunc(f);
- switch_to_FPC_fpumode;
-end;
-
-procedure glutIdleFunc(f: TGlutVoidCallback);
-begin
- switch_to_glut_fpumode;
- OLD_glutIdleFunc(f);
- switch_to_FPC_fpumode;
-end;
-
-procedure glutTimerFunc(millis: Cardinal; f: TGlut1IntCallback; value: Integer);
-begin
- switch_to_glut_fpumode;
- OLD_glutTimerFunc(millis,f,value);
- switch_to_FPC_fpumode;
-end;
-
-procedure glutMenuStateFunc(f: TGlut1IntCallback);
-begin
- switch_to_glut_fpumode;
- OLD_glutMenuStateFunc(f);
- switch_to_FPC_fpumode;
-end;
-
-procedure glutSpecialFunc(f: TGlut3IntCallback);
-begin
- switch_to_glut_fpumode;
- OLD_glutSpecialFunc(f);
- switch_to_FPC_fpumode;
-end;
-
-procedure glutSpaceballMotionFunc(f: TGlut3IntCallback);
-begin
- switch_to_glut_fpumode;
- OLD_glutSpaceballMotionFunc(f);
- switch_to_FPC_fpumode;
-end;
-
-procedure glutSpaceballRotateFunc(f: TGlut3IntCallback);
-begin
- switch_to_glut_fpumode;
- OLD_glutSpaceballRotateFunc(f);
- switch_to_FPC_fpumode;
-end;
-
-procedure glutSpaceballButtonFunc(f: TGlut2IntCallback);
-begin
- switch_to_glut_fpumode;
- OLD_glutSpaceballButtonFunc(f);
- switch_to_FPC_fpumode;
-end;
-
-procedure glutButtonBoxFunc(f: TGlut2IntCallback);
-begin
- switch_to_glut_fpumode;
- OLD_glutButtonBoxFunc(f);
- switch_to_FPC_fpumode;
-end;
-
-procedure glutDialsFunc(f: TGlut2IntCallback);
-begin
- switch_to_glut_fpumode;
- OLD_glutDialsFunc(f);
- switch_to_FPC_fpumode;
-end;
-
-procedure glutTabletMotionFunc(f: TGlut2IntCallback);
-begin
- switch_to_glut_fpumode;
- OLD_glutTabletMotionFunc(f);
- switch_to_FPC_fpumode;
-end;
-
-procedure glutTabletButtonFunc(f: TGlut4IntCallback);
-begin
- switch_to_glut_fpumode;
- OLD_glutTabletButtonFunc(f);
- switch_to_FPC_fpumode;
-end;
-
-procedure glutMenuStatusFunc(f: TGlut3IntCallback);
-begin
- switch_to_glut_fpumode;
- OLD_glutMenuStatusFunc(f);
- switch_to_FPC_fpumode;
-end;
-
-procedure glutOverlayDisplayFunc(f:TGlutVoidCallback);
-begin
- switch_to_glut_fpumode;
- OLD_glutOverlayDisplayFunc(f);
- switch_to_FPC_fpumode;
-end;
-
-procedure glutWindowStatusFunc(f: TGlut1IntCallback);
-begin
- switch_to_glut_fpumode;
- OLD_glutWindowStatusFunc(f);
- switch_to_FPC_fpumode;
-end;
-
-procedure glutKeyboardUpFunc(f: TGlut1Char2IntCallback);
-begin
- switch_to_glut_fpumode;
- OLD_glutKeyboardUpFunc(f);
- switch_to_FPC_fpumode;
-end;
-
-procedure glutSpecialUpFunc(f: TGlut3IntCallback);
-begin
- switch_to_glut_fpumode;
- OLD_glutSpecialUpFunc(f);
- switch_to_FPC_fpumode;
-end;
-
-procedure glutJoystickFunc(f: TGlut1UInt3IntCallback; pollInterval: Integer);
-begin
- switch_to_glut_fpumode;
- OLD_glutJoystickFunc(f,pollInterval);
- switch_to_FPC_fpumode;
-end;
-
-procedure glutSetColor(cell: Integer; red, green, blue: GLfloat);
-begin
- switch_to_glut_fpumode;
- OLD_glutSetColor(cell,red,green,blue);
- switch_to_FPC_fpumode;
-end;
-
-function glutGetColor(ndx, component: Integer): GLfloat;
-begin
- switch_to_glut_fpumode;
- glutGetColor := OLD_glutGetColor(ndx,component);
- switch_to_FPC_fpumode;
-end;
-
-procedure glutCopyColormap(win: Integer);
-begin
- switch_to_glut_fpumode;
- OLD_glutCopyColormap(win);
- switch_to_FPC_fpumode;
-end;
-
-function glutGet(t: GLenum): Integer;
-begin
- switch_to_glut_fpumode;
- glutGet := OLD_glutGet(t);
- switch_to_FPC_fpumode;
-end;
-
-function glutDeviceGet(t: GLenum): Integer;
-begin
- switch_to_glut_fpumode;
- glutDeviceGet := OLD_glutDeviceGet(t);
- switch_to_FPC_fpumode;
-end;
-
-function glutExtensionSupported(const name: PChar): Integer;
-begin
- switch_to_glut_fpumode;
- glutExtensionSupported := OLD_glutExtensionSupported(name);
- switch_to_FPC_fpumode;
-end;
-
-function glutGetModifiers: Integer;
-begin
- switch_to_glut_fpumode;
- glutGetModifiers := OLD_glutGetModifiers();
- switch_to_FPC_fpumode;
-end;
-
-function glutLayerGet(t: GLenum): Integer;
-begin
- switch_to_glut_fpumode;
- glutLayerGet := OLD_glutLayerGet(t);
- switch_to_FPC_fpumode;
-end;
-
-procedure glutBitmapCharacter(font : pointer; character: Integer);
-begin
- switch_to_glut_fpumode;
- OLD_glutBitmapCharacter(font,character);
- switch_to_FPC_fpumode;
-end;
-
-function glutBitmapWidth(font : pointer; character: Integer): Integer;
-begin
- switch_to_glut_fpumode;
- glutBitmapWidth := OLD_glutBitmapWidth(font,character);
- switch_to_FPC_fpumode;
-end;
-
-procedure glutStrokeCharacter(font : pointer; character: Integer);
-begin
- switch_to_glut_fpumode;
- OLD_glutStrokeCharacter(font,character);
- switch_to_FPC_fpumode;
-end;
-
-function glutStrokeWidth(font : pointer; character: Integer): Integer;
-begin
- switch_to_glut_fpumode;
- glutStrokeWidth := OLD_glutStrokeWidth(font,character);
- switch_to_FPC_fpumode;
-end;
-
-function glutBitmapLength(font: pointer; const str: PChar): Integer;
-begin
- switch_to_glut_fpumode;
- glutBitmapLength := OLD_glutBitmapLength(font,str);
- switch_to_FPC_fpumode;
-end;
-
-function glutStrokeLength(font: pointer; const str: PChar): Integer;
-begin
- switch_to_glut_fpumode;
- glutStrokeLength := OLD_glutStrokeLength(font,str);
- switch_to_FPC_fpumode;
-end;
-
-procedure glutWireSphere(radius: GLdouble; slices, stacks: GLint);
-begin
- switch_to_glut_fpumode;
- OLD_glutWireSphere(radius,slices,stacks);
- switch_to_FPC_fpumode;
-end;
-
-procedure glutSolidSphere(radius: GLdouble; slices, stacks: GLint);
-begin
- switch_to_glut_fpumode;
- OLD_glutSolidSphere(radius,slices,stacks);
- switch_to_FPC_fpumode;
-end;
-
-procedure glutWireCone(base, height: GLdouble; slices, stacks: GLint);
-begin
- switch_to_glut_fpumode;
- OLD_glutWireCone(base,height,slices,stacks);
- switch_to_FPC_fpumode;
-end;
-
-procedure glutSolidCone(base, height: GLdouble; slices, stacks: GLint);
-begin
- switch_to_glut_fpumode;
- OLD_glutSolidCone(base,height,slices,stacks);
- switch_to_FPC_fpumode;
-end;
-
-procedure glutWireCube(size: GLdouble);
-begin
- switch_to_glut_fpumode;
- OLD_glutWireCube(size);
- switch_to_FPC_fpumode;
-end;
-
-procedure glutSolidCube(size: GLdouble);
-begin
- switch_to_glut_fpumode;
- OLD_glutSolidCube(size);
- switch_to_FPC_fpumode;
-end;
-
-procedure glutWireTorus(innerRadius, outerRadius: GLdouble; sides, rings: GLint);
-begin
- switch_to_glut_fpumode;
- OLD_glutWireTorus(innerRadius,outerRadius,sides,rings);
- switch_to_FPC_fpumode;
-end;
-
-procedure glutSolidTorus(innerRadius, outerRadius: GLdouble; sides, rings: GLint);
-begin
- switch_to_glut_fpumode;
- OLD_glutSolidTorus(innerRadius,outerRadius,sides,rings);
- switch_to_FPC_fpumode;
-end;
-
-procedure glutWireDodecahedron;
-begin
- switch_to_glut_fpumode;
- OLD_glutWireDodecahedron();
- switch_to_FPC_fpumode;
-end;
-
-procedure glutSolidDodecahedron;
-begin
- switch_to_glut_fpumode;
- OLD_glutSolidDodecahedron();
- switch_to_FPC_fpumode;
-end;
-
-procedure glutWireTeapot(size: GLdouble);
-begin
- switch_to_glut_fpumode;
- OLD_glutWireTeapot(size);
- switch_to_FPC_fpumode;
-end;
-
-procedure glutSolidTeapot(size: GLdouble);
-begin
- switch_to_glut_fpumode;
- OLD_glutSolidTeapot(size);
- switch_to_FPC_fpumode;
-end;
-
-procedure glutWireOctahedron;
-begin
- switch_to_glut_fpumode;
- OLD_glutWireOctahedron();
- switch_to_FPC_fpumode;
-end;
-
-procedure glutSolidOctahedron;
-begin
- switch_to_glut_fpumode;
- OLD_glutSolidOctahedron();
- switch_to_FPC_fpumode;
-end;
-
-procedure glutWireTetrahedron;
-begin
- switch_to_glut_fpumode;
- OLD_glutWireTetrahedron();
- switch_to_FPC_fpumode;
-end;
-
-procedure glutSolidTetrahedron;
-begin
- switch_to_glut_fpumode;
- OLD_glutSolidTetrahedron();
- switch_to_FPC_fpumode;
-end;
-
-procedure glutWireIcosahedron;
-begin
- switch_to_glut_fpumode;
- OLD_glutWireIcosahedron();
- switch_to_FPC_fpumode;
-end;
-
-procedure glutSolidIcosahedron;
-begin
- switch_to_glut_fpumode;
- OLD_glutSolidIcosahedron();
- switch_to_FPC_fpumode;
-end;
-
-function glutVideoResizeGet(param: GLenum): Integer;
-begin
- switch_to_glut_fpumode;
- glutVideoResizeGet := OLD_glutVideoResizeGet(param);
- switch_to_FPC_fpumode;
-end;
-
-procedure glutSetupVideoResizing;
-begin
- switch_to_glut_fpumode;
- OLD_glutSetupVideoResizing();
- switch_to_FPC_fpumode;
-end;
-
-procedure glutStopVideoResizing;
-begin
- switch_to_glut_fpumode;
- OLD_glutStopVideoResizing();
- switch_to_FPC_fpumode;
-end;
-
-procedure glutVideoResize(x, y, width, height: Integer);
-begin
- switch_to_glut_fpumode;
- OLD_glutVideoResize(x,y,width,height);
- switch_to_FPC_fpumode;
-end;
-
-procedure glutVideoPan(x, y, width, height: Integer);
-begin
- switch_to_glut_fpumode;
- OLD_glutVideoPan(x,y,width,height);
- switch_to_FPC_fpumode;
-end;
-
-procedure glutReportErrors;
-begin
- switch_to_glut_fpumode;
- OLD_glutReportErrors();
- switch_to_FPC_fpumode;
-end;
-
-procedure glutIgnoreKeyRepeat(ignore: Integer);
-begin
- switch_to_glut_fpumode;
- OLD_glutIgnoreKeyRepeat(ignore);
- switch_to_FPC_fpumode;
-end;
-
-procedure glutSetKeyRepeat(repeatMode: Integer);
-begin
- switch_to_glut_fpumode;
- OLD_glutSetKeyRepeat(repeatMode);
- switch_to_FPC_fpumode;
-end;
-
-procedure glutForceJoystickFunc;
-begin
- switch_to_glut_fpumode;
- OLD_glutForceJoystickFunc();
- switch_to_FPC_fpumode;
-end;
-
-procedure glutGameModeString(const AString : PChar);
-begin
- switch_to_glut_fpumode;
- OLD_glutGameModeString(AString);
- switch_to_FPC_fpumode;
-end;
-
-function glutEnterGameMode: integer;
-begin
- switch_to_glut_fpumode;
- glutEnterGameMode := OLD_glutEnterGameMode();
- switch_to_FPC_fpumode;
-end;
-
-procedure glutLeaveGameMode;
-begin
- switch_to_glut_fpumode;
- OLD_glutLeaveGameMode();
- switch_to_FPC_fpumode;
-end;
-
-function glutGameModeGet(mode : GLenum): integer;
-begin
- switch_to_glut_fpumode;
- glutGameModeGet := OLD_glutGameModeGet(mode);
- switch_to_FPC_fpumode;
-end;
-
-
-{$ENDIF GLUT_EXCLUSIVE_FPUMODE}
-
-initialization
-
- {$IFDEF GLUT_EXCLUSIVE_FPUMODE}
- init_fpumode;
- {$ENDIF GLUT_EXCLUSIVE_FPUMODE}
-
- {$IFDEF Windows}
- LoadGlut('glut32.dll');
- {$ELSE}
- {$ifdef darwin}
- LoadGlut('/System/Library/Frameworks/GLUT.framework/GLUT');
- {$else}
- {$IFNDEF MORPHOS}
- LoadGlut('libglut.so.3');
- {$ENDIF}
- {$endif}
- {$ENDIF}
-
-finalization
- FreeGlut;
-end.
diff --git a/packages/extra/opengl/glx.pp b/packages/extra/opengl/glx.pp
deleted file mode 100644
index 2799dde360..0000000000
--- a/packages/extra/opengl/glx.pp
+++ /dev/null
@@ -1,240 +0,0 @@
-{
-
- Translation of the Mesa GLX headers for FreePascal
- Copyright (C) 1999 Sebastian Guenther
-
-
- Mesa 3-D graphics library
- Version: 3.0
- Copyright (C) 1995-1998 Brian Paul
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Library General Public
- License as published by the Free Software Foundation; either
- version 2 of the License, or (at your option) any later version.
-
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public
- License along with this library; if not, write to the Free
- Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-}
-
-{$MODE delphi} // objfpc would not work because of direct proc var assignments
-
-{You have to enable Macros (compiler switch "-Sm") for compiling this unit!
- This is necessary for supporting different platforms with different calling
- conventions via a single unit.}
-
-unit GLX;
-
-interface
-
-{$MACRO ON}
-
-{$IFDEF Unix}
- uses
- X, XLib, XUtil;
- {$DEFINE HasGLX} // Activate GLX stuff
-{$ELSE}
- {$MESSAGE Unsupported platform.}
-{$ENDIF}
-
-{$IFNDEF HasGLX}
- {$MESSAGE GLX not present on this platform.}
-{$ENDIF}
-
-
-// =======================================================
-// Unit specific extensions
-// =======================================================
-
-// Note: Requires that the GL library has already been initialized
-function InitGLX: Boolean;
-
-var
- GLXDumpUnresolvedFunctions,
- GLXInitialized: Boolean;
-
-
-// =======================================================
-// GLX consts, types and functions
-// =======================================================
-
-// Tokens for glXChooseVisual and glXGetConfig:
-const
- GLX_USE_GL = 1;
- GLX_BUFFER_SIZE = 2;
- GLX_LEVEL = 3;
- GLX_RGBA = 4;
- GLX_DOUBLEBUFFER = 5;
- GLX_STEREO = 6;
- GLX_AUX_BUFFERS = 7;
- GLX_RED_SIZE = 8;
- GLX_GREEN_SIZE = 9;
- GLX_BLUE_SIZE = 10;
- GLX_ALPHA_SIZE = 11;
- GLX_DEPTH_SIZE = 12;
- GLX_STENCIL_SIZE = 13;
- GLX_ACCUM_RED_SIZE = 14;
- GLX_ACCUM_GREEN_SIZE = 15;
- GLX_ACCUM_BLUE_SIZE = 16;
- GLX_ACCUM_ALPHA_SIZE = 17;
-
- // GLX_EXT_visual_info extension
- GLX_X_VISUAL_TYPE_EXT = $22;
- GLX_TRANSPARENT_TYPE_EXT = $23;
- GLX_TRANSPARENT_INDEX_VALUE_EXT = $24;
- GLX_TRANSPARENT_RED_VALUE_EXT = $25;
- GLX_TRANSPARENT_GREEN_VALUE_EXT = $26;
- GLX_TRANSPARENT_BLUE_VALUE_EXT = $27;
- GLX_TRANSPARENT_ALPHA_VALUE_EXT = $28;
-
-
- // Error codes returned by glXGetConfig:
- GLX_BAD_SCREEN = 1;
- GLX_BAD_ATTRIBUTE = 2;
- GLX_NO_EXTENSION = 3;
- GLX_BAD_VISUAL = 4;
- GLX_BAD_CONTEXT = 5;
- GLX_BAD_VALUE = 6;
- GLX_BAD_ENUM = 7;
-
- // GLX 1.1 and later:
- GLX_VENDOR = 1;
- GLX_VERSION = 2;
- GLX_EXTENSIONS = 3;
-
- // GLX_visual_info extension
- GLX_TRUE_COLOR_EXT = $8002;
- GLX_DIRECT_COLOR_EXT = $8003;
- GLX_PSEUDO_COLOR_EXT = $8004;
- GLX_STATIC_COLOR_EXT = $8005;
- GLX_GRAY_SCALE_EXT = $8006;
- GLX_STATIC_GRAY_EXT = $8007;
- GLX_NONE_EXT = $8000;
- GLX_TRANSPARENT_RGB_EXT = $8008;
- GLX_TRANSPARENT_INDEX_EXT = $8009;
-
-type
- // From XLib:
- XPixmap = TXID;
- XFont = TXID;
- XColormap = TXID;
-
- GLXContext = Pointer;
- GLXPixmap = TXID;
- GLXDrawable = TXID;
- GLXContextID = TXID;
-
- TXPixmap = XPixmap;
- TXFont = XFont;
- TXColormap = XColormap;
-
- TGLXContext = GLXContext;
- TGLXPixmap = GLXPixmap;
- TGLXDrawable = GLXDrawable;
- TGLXContextID = GLXContextID;
-
-var
- glXChooseVisual: function(dpy: PDisplay; screen: Integer; attribList: PInteger): PXVisualInfo; cdecl;
- glXCreateContext: function(dpy: PDisplay; vis: PXVisualInfo; shareList: GLXContext; direct: Boolean): GLXContext; cdecl;
- glXDestroyContext: procedure(dpy: PDisplay; ctx: GLXContext); cdecl;
- glXMakeCurrent: function(dpy: PDisplay; drawable: GLXDrawable; ctx: GLXContext): Boolean; cdecl;
- glXCopyContext: procedure(dpy: PDisplay; src, dst: GLXContext; mask: LongWord); cdecl;
- glXSwapBuffers: procedure(dpy: PDisplay; drawable: GLXDrawable); cdecl;
- glXCreateGLXPixmap: function(dpy: PDisplay; visual: PXVisualInfo; pixmap: XPixmap): GLXPixmap; cdecl;
- glXDestroyGLXPixmap: procedure(dpy: PDisplay; pixmap: GLXPixmap); cdecl;
- glXQueryExtension: function(dpy: PDisplay; var errorb, event: Integer): Boolean; cdecl;
- glXQueryVersion: function(dpy: PDisplay; var maj, min: Integer): Boolean; cdecl;
- glXIsDirect: function(dpy: PDisplay; ctx: GLXContext): Boolean; cdecl;
- glXGetConfig: function(dpy: PDisplay; visual: PXVisualInfo; attrib: Integer; var value: Integer): Integer; cdecl;
- glXGetCurrentContext: function: GLXContext; cdecl;
- glXGetCurrentDrawable: function: GLXDrawable; cdecl;
- glXWaitGL: procedure; cdecl;
- glXWaitX: procedure; cdecl;
- glXUseXFont: procedure(font: XFont; first, count, list: Integer); cdecl;
-
- // GLX 1.1 and later
- glXQueryExtensionsString: function(dpy: PDisplay; screen: Integer): PChar; cdecl;
- glXQueryServerString: function(dpy: PDisplay; screen, name: Integer): PChar; cdecl;
- glXGetClientString: function(dpy: PDisplay; name: Integer): PChar; cdecl;
-
- // Mesa GLX Extensions
- glXCreateGLXPixmapMESA: function(dpy: PDisplay; visual: PXVisualInfo; pixmap: XPixmap; cmap: XColormap): GLXPixmap; cdecl;
- glXReleaseBufferMESA: function(dpy: PDisplay; d: GLXDrawable): Boolean; cdecl;
- glXCopySubBufferMESA: procedure(dpy: PDisplay; drawbale: GLXDrawable; x, y, width, height: Integer); cdecl;
- glXGetVideoSyncSGI: function(var counter: LongWord): Integer; cdecl;
- glXWaitVideoSyncSGI: function(divisor, remainder: Integer; var count: LongWord): Integer; cdecl;
-
-
-// =======================================================
-//
-// =======================================================
-
-implementation
-
-uses GL, dynlibs;
-
-{$LINKLIB m}
-
-function GetProc(handle: PtrInt; name: PChar): Pointer;
-begin
- Result := GetProcAddress(handle, name);
- if (Result = nil) and GLXDumpUnresolvedFunctions then
- WriteLn('Unresolved: ', name);
-end;
-
-function InitGLX: Boolean;
-var
- OurLibGL: TLibHandle;
-begin
- Result := False;
-
-{$ifndef darwin}
- OurLibGL := libGl;
-{$else darwin}
- OurLibGL := LoadLibrary('/usr/X11R6/lib/libGL.dylib');
-{$endif darwin}
-
- if OurLibGL = 0 then
- exit;
-
- glXChooseVisual := GetProc(OurLibGL, 'glXChooseVisual');
- glXCreateContext := GetProc(OurLibGL, 'glXCreateContext');
- glXDestroyContext := GetProc(OurLibGL, 'glXDestroyContext');
- glXMakeCurrent := GetProc(OurLibGL, 'glXMakeCurrent');
- glXCopyContext := GetProc(OurLibGL, 'glXCopyContext');
- glXSwapBuffers := GetProc(OurLibGL, 'glXSwapBuffers');
- glXCreateGLXPixmap := GetProc(OurLibGL, 'glXCreateGLXPixmap');
- glXDestroyGLXPixmap := GetProc(OurLibGL, 'glXDestroyGLXPixmap');
- glXQueryExtension := GetProc(OurLibGL, 'glXQueryExtension');
- glXQueryVersion := GetProc(OurLibGL, 'glXQueryVersion');
- glXIsDirect := GetProc(OurLibGL, 'glXIsDirect');
- glXGetConfig := GetProc(OurLibGL, 'glXGetConfig');
- glXGetCurrentContext := GetProc(OurLibGL, 'glXGetCurrentContext');
- glXGetCurrentDrawable := GetProc(OurLibGL, 'glXGetCurrentDrawable');
- glXWaitGL := GetProc(OurLibGL, 'glXWaitGL');
- glXWaitX := GetProc(OurLibGL, 'glXWaitX');
- glXUseXFont := GetProc(OurLibGL, 'glXUseXFont');
- // GLX 1.1 and later
- glXQueryExtensionsString := GetProc(OurLibGL, 'glXQueryExtensionsString');
- glXQueryServerString := GetProc(OurLibGL, 'glXQueryServerString');
- glXGetClientString := GetProc(OurLibGL, 'glXGetClientString');
- // Mesa GLX Extensions
- glXCreateGLXPixmapMESA := GetProc(OurLibGL, 'glXCreateGLXPixmapMESA');
- glXReleaseBufferMESA := GetProc(OurLibGL, 'glXReleaseBufferMESA');
- glXCopySubBufferMESA := GetProc(OurLibGL, 'glXCopySubBufferMESA');
- glXGetVideoSyncSGI := GetProc(OurLibGL, 'glXGetVideoSyncSGI');
- glXWaitVideoSyncSGI := GetProc(OurLibGL, 'glXWaitVideoSyncSGI');
-
- GLXInitialized := True;
- Result := True;
-end;
-
-initialization
- InitGLX;
-end.
diff --git a/packages/extra/opengl/readme b/packages/extra/opengl/readme
deleted file mode 100644
index 9c03c5b1b0..0000000000
--- a/packages/extra/opengl/readme
+++ /dev/null
@@ -1,22 +0,0 @@
-New Free Pascal OpenGL (GL, GLU, GLUT, GLX) Units
-GLX unit (c) 1999-2002 Sebastian Guenther, sg@freepascal.org
-other units adapted to Free Pascal from the delphi3d.net units
-by Tom Nuydens (tom@delphi3d.net), see http://www.delphi3d.net/
-
-You might have a look at the original readme, glunits.txt, as well
-
-
-Some remarks:
-* The new OpenGL units are not 100% compatible to the old ones; the new units
- use exactly the same function declarations as their C counterpart.
-* Platform compatiblity: You can work on all targets exactly as on Win32;
- for example, you can use wglGetProcAddress for loading OpenGL extensions even
- on Unix based systems. A future release of the glext unit might have helper
- functions for loading specific extensions. (There is a small problem with
- Free Pascal: In FPC mode, you cannot assign a pointer, as returned by
- wglGetProcAddress, to a variable which holds a function pointer. Currently
- you have to compile your programs in Delphi mode, if they are using OpenGL
- extensions)
-* GLUT on Win32: Get the glut32.dll from here:
- http://www.xmission.com/~nate/glut.html
-* GTKGLArea: The GL Area widget for GTK is available in the GTK package
diff --git a/packages/extra/opengl/tinygl.inc b/packages/extra/opengl/tinygl.inc
deleted file mode 100644
index f9969bca15..0000000000
--- a/packages/extra/opengl/tinygl.inc
+++ /dev/null
@@ -1,846 +0,0 @@
-{
- This file is part of the Free Pascal run time library.
- Copyright (c) 2005 by Karoly Balogh
-
- TinyGL/OpenGL wrapper include for MorphOS/PowerPC
-
- Thanks to Michal 'kiero' Wozniak and Mark 'bigfoot' Olsen
- for their help.
-
- See the file COPYING.FPC, included in this distribution,
- for details about the copyright.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
- **********************************************************************}
-
-{ ****************************************************************************************************** }
-{ ** TinyGL syscalls ** }
-{ ****************************************************************************************************** }
-
-{$IFDEF GL_UNIT}
-procedure _GLEnable(gcl: pointer; cap: GLenum);
-syscall sysvbase TinyGLBase 28;
-
-procedure _GLDisable(gcl: pointer; cap: GLenum);
-syscall sysvbase TinyGLBase 34;
-
-procedure _GLShadeModel(gcl: pointer; mode: GLenum);
-syscall sysvbase TinyGLBase 46;
-
-procedure _GLCullFace(gcl: pointer; mode: GLenum);
-syscall sysvbase TinyGLBase 52;
-
-procedure _GLBegin(gcl: pointer; mode: GLenum);
-syscall sysvbase TinyGLBase 64;
-
-procedure _GLEnd(gcl: pointer);
-syscall sysvbase TinyGLBase 70;
-
-procedure _GLVertex3f(gcl: pointer; x, y, z: GLfloat);
-syscall sysvbase TinyGLBase 76;
-
-procedure _GlVertex3fv(gcl: pointer; const v: PGLfloat);
-syscall sysvbase TinyGLBase 88;
-
-procedure _GLColor3f(gcl: pointer; red, green, blue: GLfloat);
-syscall sysvbase TinyGLBase 100;
-
-procedure _GLColor4f(gcl: pointer; red, green, blue, alpha: GLfloat);
-syscall sysvbase TinyGLBase 106;
-
-procedure _GLNormal3f(gcl: pointer; nx, ny, nz: GLfloat);
-syscall sysvbase TinyGLBase 148;
-
-procedure _GLTexCoord2f(gcl: pointer; s, t: GLfloat);
-syscall sysvbase TinyGLBase 160;
-
-procedure _GLMatrixMode(gcl: pointer; mode: GLenum);
-syscall sysvbase TinyGLBase 190;
-
-procedure _GLLoadIdentity(gcl: pointer);
-syscall sysvbase TinyGLBase 202;
-
-procedure _GLPushMatrix(gcl: pointer);
-syscall sysvbase TinyGLBase 214;
-
-procedure _GLPopMatrix(gcl: pointer);
-syscall sysvbase TinyGLBase 220;
-
-procedure _GLRotatef(gcl: pointer; angle, x, y, z: GLfloat);
-syscall sysvbase TinyGLBase 226;
-
-procedure _GLTranslatef(gcl: pointer; x, y, z: GLfloat);
-syscall sysvbase TinyGLBase 232;
-
-procedure _GLScalef(gcl: pointer; x, y, z: GLfloat);
-syscall sysvbase TinyGLBase 238;
-
-procedure _GLViewPort(gcl: pointer; x, y: GLint; width, height: GLsizei);
-syscall sysvbase TinyGLBase 244;
-
-procedure _GLFrustum(gcl: pointer; left, right, bottom, top, zNear, zFar: GLdouble);
-syscall sysvbase TinyGLBase 250;
-{$ENDIF GL_UNIT}
-
-{$IF DEFINED(GL_UNIT) OR DEFINED(GLU_UNIT)}
-procedure _GLOrtho(gcl: pointer; left, right, bottom, top, zNear, zFar: GLdouble);
-syscall sysvbase TinyGLBase 256;
-{$ENDIF}
-
-{$IFDEF GL_UNIT}
-function _GLGenLists(gcl: pointer; range: GLsizei): GLuint;
-syscall sysvbase TinyGLBase 262;
-
-procedure _GLNewList(gcl: pointer; list: GLuint; mode: GLenum);
-syscall sysvbase TinyGLBase 274;
-
-procedure _GLEndList(gcl: pointer);
-syscall sysvbase TinyGLBase 280;
-
-procedure _GLCallList(gcl: pointer; list: GLuint);
-syscall sysvbase TinyGLBase 286;
-
-procedure _GLDeleteLists(gcl: pointer; list: GLuint; range: GLsizei);
-syscall sysvbase TinyGLBase 292;
-
-procedure _GLClear(gcl: pointer; mask: GLbitfield);
-syscall sysvbase TinyGLBase 298;
-
-procedure _GLClearColor(gcl: pointer; red, green, blue, alpha: GLclampf);
-syscall sysvbase TinyGLBase 304;
-
-procedure _GLClearDepth(gcl: pointer; depth: GLclampd);
-syscall sysvbase TinyGLBase 310;
-
-procedure _GLGenTextures(gcl: pointer; n: GLsizei; textures: PGLuint);
-syscall sysvbase TinyGLBase 352;
-
-procedure _GLDeleteTextures(gcl: pointer; n: GLsizei; const textures: PGLuint);
-syscall sysvbase TinyGLBase 358;
-
-procedure _GLBindTexture(gcl: pointer; target: GLenum; texture: GLuint);
-syscall sysvbase TinyGLBase 364;
-
-procedure _GLTexImage2D(gcl: pointer; target: GLenum; level, internalformat: GLint; width, height: GLsizei; border: GLint; format, atype: GLenum; const pixels: Pointer);
-syscall sysvbase TinyGLBase 370;
-
-procedure _GLTexParameteri(gcl: pointer; target: GLenum; pname: GLenum; param: GLint);
-syscall sysvbase TinyGLBase 394;
-
-procedure _GLTexParameterf(gcl: pointer; target: GLenum; pname: GLenum; param: GLfloat);
-syscall sysvbase TinyGLBase 400;
-
-procedure _GLTexGeni(gcl: pointer; coord: GLenum; pname: GLenum; param: GLint);
-syscall sysvbase TinyGLBase 418;
-
-procedure _GLMaterialfv(gcl: pointer; face, pname: GLenum; const params: PGLfloat);
-syscall sysvbase TinyGLBase 430;
-
-procedure _GLMaterialf(gcl: pointer; face, pname: GLenum; param: GLfloat);
-syscall sysvbase TinyGLBase 436;
-
-procedure _GLLightfv(gcl: pointer; light, pname: GLenum; const params: PGLfloat);
-syscall sysvbase TinyGLBase 448;
-
-procedure _GLLightf(gcl: pointer; light, pname: GLenum; param: GLfloat);
-syscall sysvbase TinyGLBase 454;
-
-procedure _GLLightModelfv(gcl: pointer; pname: GLenum; const params: PGLfloat);
-syscall sysvbase TinyGLBase 466;
-
-procedure _GLFlush(gcl: pointer);
-syscall sysvbase TinyGLBase 478;
-
-procedure _GLHint(gcl: pointer; target, mode: GLenum);
-syscall sysvbase TinyGLBase 484;
-
-procedure _GLGetFloatv(gcl: pointer; pname: GLenum; params: PGLfloat);
-syscall sysvbase TinyGLBase 496;
-
-procedure _GLEnableClientState(gcl: pointer; aarray: GLenum);
-syscall sysvbase TinyGLBase 508;
-
-procedure _GLDisableClientState(gcl: pointer; aarray: GLenum);
-syscall sysvbase TinyGLBase 514;
-
-procedure _GLVertexPointer(gcl: pointer; size: GLint; atype: GLenum; stride: GLsizei; const pointer: Pointer);
-syscall sysvbase TinyGLBase 526;
-
-procedure _GLColorPointer(gcl: pointer; size: GLint; atype: GLenum; stride: GLsizei; const pointer: Pointer);
-syscall sysvbase TinyGLBase 532;
-
-procedure _GLNormalPointer(gcl: pointer; atype: GLenum; stride: GLsizei; const pointer: Pointer);
-syscall sysvbase TinyGLBase 538;
-
-procedure _GLTexCoordPointer(gcl: pointer; size: GLint; atype: GLenum; stride: GLsizei; const pointer: Pointer);
-syscall sysvbase TinyGLBase 544;
-
-procedure _GLDrawElements(gcl: pointer; mode: GLenum; count: GLsizei; atype: GLenum; const indices: Pointer);
-syscall sysvbase TinyGLBase 562;
-
-procedure _GLBlendFunc(gcl: pointer; sfactor, dfactor: GLenum);
-syscall sysvbase TinyGLBase 586;
-
-procedure _GLDepthMask(gcl: pointer; flag: GLboolean);
-syscall sysvbase TinyGLBase 592;
-
-procedure _GLAlphaFunc(gcl: pointer; func: GLenum; ref: GLclampf);
-syscall sysvbase TinyGLBase 598;
-
-procedure _GLPointSize(gcl: pointer; size: GLfloat);
-syscall sysvbase TinyGLBase 604;
-
-procedure _GLDepthFunc(gcl: pointer; func: GLenum);
-syscall sysvbase TinyGLBase 628;
-
-function _GLInit: Pointer;
-syscall sysvbase TinyGLBase 640;
-
-procedure _GLClose(gcl: pointer);
-syscall sysvbase TinyGLBase 646;
-{$ENDIF GL_UNIT}
-
-{$IFDEF GLU_UNIT}
-procedure _GLUPerspective(gcl: pointer; fovy, aspect, zNear, zFar: GLdouble);
-syscall sysvbase TinyGLBase 652;
-
-procedure _GLULookAt(gcl: pointer; eyex, eyey, eyez, centerx, centery, centerz, upx, upy, upz: GLdouble);
-syscall sysvbase TinyGLBase 658;
-{$ENDIF GLU_UNIT}
-
-{$IFDEF GLUT_UNIT}
-procedure _GLUTInit(gcl: pointer; argcp: PLongInt; argv: PPChar);
-syscall sysvbase TinyGLBase 664;
-
-procedure _GLUTInitWindowPosition(gcl: pointer; x, y: Integer);
-syscall sysvbase TinyGLBase 670;
-
-procedure _GLUTInitWindowSize(gcl: pointer; width, height: LongInt);
-syscall sysvbase TinyGLBase 676;
-
-function _GLUTCreateWindow(gcl: pointer; const title: PChar): LongInt;
-syscall sysvbase TinyGLBase 682;
-
-procedure _GLUTFullScreen(gcl: pointer);
-syscall sysvbase TinyGLBase 688;
-
-procedure _GLUTDestroyWindow(gcl: pointer; win: LongInt);
-syscall sysvbase TinyGLBase 706;
-
-procedure _GLUTSwapBuffers(gcl: pointer);
-syscall sysvbase TinyGLBase 712;
-
-procedure _GLUTMainLoop(gcl: pointer);
-syscall sysvbase TinyGLBase 718;
-
-procedure _GLUTPostRedisplay(gcl: pointer);
-syscall sysvbase TinyGLBase 724;
-
-procedure _GLUTDisplayFunc(gcl: pointer; f: TGlutVoidCallback);
-syscall sysvbase TinyGLBase 730;
-
-procedure _GLUTReshapeFunc(gcl: pointer; f: TGlut2IntCallback);
-syscall sysvbase TinyGLBase 736;
-
-procedure _GLUTIdleFunc(gcl: pointer; f: TGlutVoidCallback);
-syscall sysvbase TinyGLBase 742;
-
-procedure _GLUTKeyboardFunc(gcl: pointer; f: TGlut1Char2IntCallback);
-syscall sysvbase TinyGLBase 748;
-
-procedure _GLUTMouseFunc(gcl: pointer; f: TGlut4IntCallback);
-syscall sysvbase TinyGLBase 760;
-
-procedure _GLUTMotionFunc(gcl: pointer; f: TGlut2IntCallback);
-syscall sysvbase TinyGLBase 766;
-
-function _GLUTGet(gcl: pointer; t: GLenum): LongInt;
-syscall sysvbase TinyGLBase 802;
-
-procedure _GLUTInitDisplayMode(gcl: pointer; mode: Word);
-syscall sysvbase TinyGLBase 808;
-
-procedure _GLUTSpecialFunc(gcl: pointer; f: TGlut3IntCallback);
-syscall sysvbase TinyGLBase 814;
-
-procedure _GLUTTimerFunc(gcl: pointer; millis: Word; f: TGlut1IntCallback; value: LongInt);
-syscall sysvbase TinyGLBase 820;
-
-procedure _GLUTPassiveMotionFunc(gcl: pointer; f: TGlut2IntCallback);
-syscall sysvbase TinyGLBase 832;
-
-// MorphOS specific GLUT call, returns Intuition window handle
-function _GLUTGetWindowHandle(gcl: pointer): Pointer;
-syscall sysvbase TinyGLBase 856;
-{$ENDIF GLUT_UNIT}
-
-{$IFDEF GL_UNIT}
-function _GLGetString(gcl: pointer; name: GLenum): PChar;
-syscall sysvbase TinyGLBase 862;
-
-procedure _GLCallLists(gcl: pointer; n: GLsizei; atype: GLenum; const lists: Pointer);
-syscall sysvbase TinyGLBase 892;
-
-procedure _GLLineWidth(gcl: pointer; width: GLfloat);
-syscall sysvbase TinyGLBase 910;
-
-procedure _GLRasterPos3f(gcl: pointer; x, y, z: GLfloat);
-syscall sysvbase TinyGLBase 1108;
-{$ENDIF GL_UNIT}
-
-{$IFDEF GLUT_UNIT}
-procedure _GLUTVisibilityFunc(gcl: pointer; f: TGlut1IntCallback);
-syscall sysvbase TinyGLBase 1114;
-{$ENDIF GLUT_UNIT}
-
-{$IFDEF GL_UNIT}
-procedure _GLFogf(gcl: pointer; pname: GLenum; param: GLfloat);
-syscall sysvbase TinyGLBase 1120;
-
-procedure _GLFogfv(gcl: pointer; pname: GLenum; const params: PGLfloat);
-syscall sysvbase TinyGLBase 1126;
-
-procedure _GLReadPixels(gcl: pointer; x, y: GLint; width, height: GLsizei; format, atype: GLenum; pixels: Pointer);
-syscall sysvbase TinyGLBase 1180;
-
-procedure _GLStencilFunc(gcl: pointer; func: GLenum; ref: GLint; mask: GLuint);
-syscall sysvbase TinyGLBase 1210;
-
-procedure _GLStencilOp(gcl: pointer; fail, zfail, zpass: GLenum);
-syscall sysvbase TinyGLBase 1216;
-
-procedure _GLColorMask(gcl: pointer; red, green, blue, alpha: GLboolean);
-syscall sysvbase TinyGLBase 1282;
-{$ENDIF GL_UNIT}
-
-
-{ ****************************************************************************************************** }
-{ ** GL functions ** }
-{ ****************************************************************************************************** }
-
-{$IFDEF GL_UNIT}
-procedure glAlphaFunc(func: GLenum; ref: GLclampf); inline;
-begin
- _GLAlphaFunc(tglContext, func, ref);
-end;
-
-procedure glBegin(mode: GLenum); inline;
-begin
- _GLBegin(tglContext, mode);
-end;
-
-procedure glCallList(list: GLuint); inline;
-begin
- _GLCallList(tglContext, list);
-end;
-
-procedure glCallLists(n: GLsizei; atype: GLenum; const lists: Pointer); inline;
-begin
- _GLCallLists(tglContext, n, atype, lists);
-end;
-
-procedure glClear(mask: GLbitfield); inline;
-begin
- _GLClear(tglContext, mask);
-end;
-
-procedure glClearColor(red, green, blue, alpha: GLclampf); inline;
-begin
- _GLClearColor(tglContext, red, green, blue, alpha);
-end;
-
-procedure glClearDepth(depth: GLclampd); inline;
-begin
- _GLClearDepth(tglContext, depth);
-end;
-
-procedure glColorMask(red, green, blue, alpha: GLboolean); inline;
-begin
- _GLColorMask(tglContext, red, green, blue, alpha);
-end;
-
-procedure glColorPointer(size: GLint; atype: GLenum; stride: GLsizei; const pointer: Pointer); inline;
-begin
- _GLColorPointer(tglContext, size, atype, stride, pointer);
-end;
-
-procedure glCopyTexImage2D(target: GLenum; level: GLint; internalFormat: GLenum; x, y: GLint; width, height: GLsizei; border: GLint); inline;
-begin
-{$WARNING glCopyTexImage2D is dummy.}
- // DUMMY, FIX ME!!!
- // TinyGL doesn't support this yet.
-end;
-
-procedure glCullFace(mode: GLenum); inline;
-begin
- _GLCullFace(tglContext, mode);
-end;
-
-procedure glDeleteLists(list: GLuint; range: GLsizei); inline;
-begin
- _GLDeleteLists(tglContext, list, range);
-end;
-
-procedure glEnd; inline;
-begin
- _GLEnd(tglContext);
-end;
-
-procedure glEndList; inline;
-begin
- _GLEndList(tglContext);
-end;
-
-procedure glFlush; inline;
-begin
- _GLFlush(tglContext);
-end;
-
-function glGenLists(range: GLsizei): GLuint; inline;
-begin
- glGenLists:=_GLGenLists(tglContext, range);
-end;
-
-procedure glGetFloatv(pname: GLenum; params: PGLfloat); inline;
-begin
- _GLGetFloatv(tglContext, pname, params);
-end;
-
-function glGetString(name: GLenum): PChar; inline;
-begin
- glGetString:=_GLGetString(tglContext, name);
-end;
-
-procedure glHint(target, mode: GLenum); inline;
-begin
- _GLHint(tglContext, target, mode);
-end;
-
-procedure glIndexi(c: GLint); inline;
-begin
-{$WARNING glIndexi is dummy.}
- // DUMMY, FIX ME!!!
-end;
-
-procedure glLightModelfv(pname: GLenum; const params: PGLfloat); inline;
-begin
- _GLLightModelfv(tglContext, pname, params);
-end;
-
-procedure glNewList(list: GLuint; mode: GLenum); inline;
-begin
- _GLNewList(tglContext, list, mode);
-end;
-
-procedure glVertex2f(x, y: GLfloat); inline;
-begin
- _GLVertex3f(tglContext, x, y, 0);
-end;
-
-procedure glVertex2i(x, y: GLint); inline;
-begin
- _GLVertex3f(tglContext, x, y, 0);
-end;
-
-procedure glVertex3f(x, y, z: GLfloat); inline;
-begin
- _GLVertex3f(tglContext, x, y ,z);
-end;
-
-procedure glVertex3fv(const v: PGLfloat); inline;
-begin
- _GLVertex3fv(tglContext, v);
-end;
-
-procedure glLightf(light, pname: GLenum; param: GLfloat); inline;
-begin
- _GLLightf(tglContext, light, pname, param);
-end;
-
-procedure glLightfv(light, pname: GLenum; const params: PGLfloat); inline;
-begin
- _GLLightfv(tglContext, light, pname, params);
-end;
-
-procedure glLineWidth(width: GLfloat); inline;
-begin
- _GLLineWidth(tglContext, width);
-end;
-
-procedure glLoadIdentity; inline;
-begin
- _GLLoadIdentity(tglContext);
-end;
-
-procedure glMaterialf(face, pname: GLenum; param: GLfloat); inline;
-begin
- _GLMaterialf(tglContext, face, pname, param);
-end;
-
-procedure glMaterialfv(face, pname: GLenum; const params: PGLfloat); inline;
-begin
- _GLMaterialfv(tglContext, face, pname, params);
-end;
-
-procedure glMateriali(face, pname: GLenum; param: GLint); inline;
-begin
- // WTF?!
- _GLMaterialf(tglContext, face, pname, param);
-end;
-
-procedure glMaterialiv(face, pname: GLenum; const params: PGLint); inline;
-begin
- // WTF?!
- _GLMaterialfv(tglContext, face, pname, PGLfloat(params));
-end;
-
-procedure glMatrixMode(mode: GLenum); inline;
-begin
- _GLMatrixMode(tglContext, mode);
-end;
-
-procedure glNormalPointer(atype: GLenum; stride: GLsizei; const pointer: Pointer); inline;
-begin
- _GLNormalPointer(tglContext, atype, stride, pointer);
-end;
-
-procedure glPointSize(size: GLfloat); inline;
-begin
- // 604! :)
- _GLPointSize(tglContext, size);
-end;
-
-procedure glRasterPos3f(x, y, z: GLfloat); inline;
-begin
- _GLRasterPos3f(tglContext, x, y, z);
-end;
-
-procedure glReadPixels(x, y: GLint; width, height: GLsizei; format, atype: GLenum; pixels: Pointer); inline;
-begin
- _GLReadPixels(tglContext, x, y, width, height, format, atype, pixels);
-end;
-
-procedure glShadeModel(mode: GLenum); inline;
-begin
- _GLShadeModel(tglContext, mode);
-end;
-
-procedure glStencilFunc(func: GLenum; ref: GLint; mask: GLuint); inline;
-begin
- _GLStencilFunc(tglContext, func, ref, mask);
-end;
-
-procedure glStencilOp(fail, zfail, zpass: GLenum); inline;
-begin
- _GLStencilOp(tglContext, fail, zfail, zpass);
-end;
-
-procedure glTexCoordPointer(size: GLint; atype: GLenum; stride: GLsizei; const pointer: Pointer); inline;
-begin
- _GLTexCoordPointer(tglContext, size, atype, stride, pointer);
-end;
-
-procedure glTexParameterf(target: GLenum; pname: GLenum; param: GLfloat); inline;
-begin
- _GLTexParameterf(tglContext, target, pname, param);
-end;
-
-procedure glFrustum(left, right, bottom, top, zNear, zFar: GLdouble); inline;
-begin
- _GLFrustum(tglContext, left, right, bottom, top, zNear, zFar);
-end;
-
-procedure glTranslatef(x, y, z: GLfloat); inline;
-begin
- _GLTranslatef(tglContext, x, y, z);
-end;
-
-procedure glScalef(x, y, z: GLfloat); inline;
-begin
- _GLScalef(tglContext, x, y, z);
-end;
-
-procedure glRotatef(angle, x, y, z: GLfloat); inline;
-begin
- _GLRotatef(tglContext, angle, x, y, z);
-end;
-
-procedure glColor3f(red, green, blue: GLfloat); inline;
-begin
- _GLColor3f(tglContext, red, green, blue);
-end;
-
-procedure glColor4f(red, green, blue, alpha: GLfloat); inline;
-begin
- _GLColor4f(tglContext, red, green, blue, alpha);
-end;
-
-procedure glNormal3f(nx, ny, nz: GLfloat); inline;
-begin
- _GLNormal3f(tglContext, nx, ny, nz);
-end;
-
-procedure glDeleteTextures(n: GLsizei; const textures: PGLuint); inline;
-begin
- _GLDeleteTextures(tglContext, n, textures);
-end;
-
-procedure glDisable(cap: GLenum); inline;
-begin
- _GLDisable(tglContext, cap);
-end;
-
-procedure glDisableClientState(aarray: GLenum); inline;
-begin
- _GLDisableClientState(tglContext, aarray);
-end;
-
-procedure glDrawElements(mode: GLenum; count: GLsizei; atype: GLenum; const indices: Pointer); inline;
-begin
- _GLDrawElements(tglContext, mode, count, atype, indices);
-end;
-
-procedure glEnable(cap: GLenum); inline;
-begin
- _GLEnable(tglContext, cap);
-end;
-
-procedure glEnableClientState(aarray: GLenum); inline;
-begin
- _GLEnableClientState(tglContext, aarray);
-end;
-
-procedure glFogf(pname: GLenum; param: GLfloat); inline;
-begin
- _GLFogf(tglContext, pname, param);
-end;
-
-procedure glFogfv(pname: GLenum; const params: PGLfloat); inline;
-begin
- _GLFogfv(tglContext, pname, params);
-end;
-
-procedure glFogi(pname: GLenum; param: GLint); inline;
-begin
- // WTF!? And it actually works!
- _GLFogf(tglContext, pname, param);
-end;
-
-procedure glOrtho(left, right, bottom, top, zNear, zFar: GLdouble); inline;
-begin
- _GLOrtho(tglContext, left, right, bottom, top, zNear, zFar);
-end;
-
-procedure glPopMatrix; inline;
-begin
- _GLPopMatrix(tglContext);
-end;
-
-procedure glPushMatrix; inline;
-begin
- _GLPushMatrix(tglContext);
-end;
-
-procedure glTexImage2D(target: GLenum; level, internalformat: GLint; width, height: GLsizei; border: GLint; format, atype: GLenum; const pixels: Pointer); inline;
-begin
- _GLTexImage2D(tglContext, target, level, internalformat, width, height, border, format, atype, pixels);
-end;
-
-procedure glTexParameteri(target: GLenum; pname: GLenum; param: GLint); inline;
-begin
- _GLTexParameteri(tglContext, target, pname, param);
-end;
-
-procedure glTexCoord2f(s, t: GLfloat); inline;
-begin
- _GLTexCoord2f(tglContext, s, t);
-end;
-
-procedure glTexGeni(coord: GLenum; pname: GLenum; param: GLint); inline;
-begin
- _GLTexGeni(tglContext, coord, pname, param);
-end;
-
-procedure glBindTexture(target: GLenum; texture: GLuint); inline;
-begin
- _GLBindTexture(tglContext, target, texture);
-end;
-
-procedure glGenTextures(n: GLsizei; textures: PGLuint); inline;
-begin
- _GLGenTextures(tglContext, n, textures);
-end;
-
-procedure glBlendFunc(sfactor, dfactor: GLenum); inline;
-begin
- _GLBlendFunc(tglContext, sfactor, dfactor);
-end;
-
-procedure glDepthFunc(func: GLenum); inline;
-begin
- _GLDepthFunc(tglContext, func);
-end;
-
-procedure glDepthMask(flag: GLboolean); inline;
-begin
- _GLDepthMask(tglContext, flag);
-end;
-
-procedure glVertexPointer(size: GLint; atype: GLenum; stride: GLsizei; const pointer: Pointer); inline;
-begin
- _GLVertexPointer(tglContext, size, atype, stride, pointer);
-end;
-
-procedure glViewport(x, y: GLint; width, height: GLsizei); inline;
-begin
- _GLViewport(tglContext, x, x, width, height);
-end;
-{$ENDIF GL_UNIT}
-
-
-{ ****************************************************************************************************** }
-{ ** GLU functions ** }
-{ ****************************************************************************************************** }
-
-{$IFDEF GLU_UNIT}
-procedure gluLookAt(eyex, eyey, eyez, centerx, centery, centerz, upx, upy, upz: GLdouble); inline;
-begin
- _GLULookAt(tglContext, eyex, eyey, eyez, centerx, centery, centerz, upx, upy, upz);
-end;
-
-procedure gluOrtho2D(left,right, bottom, top: GLdouble); inline;
-begin
- _GLOrtho(tglContext, left, right, bottom, top, -1.0, 1.0)
-end;
-
-procedure gluPerspective(fovy, aspect, zNear, zFar: GLdouble); inline;
-begin
- _GLUPerspective(tglContext, fovy, aspect, zNear, zFar);
-end;
-{$ENDIF GLU_UNIT}
-
-
-{ ****************************************************************************************************** }
-{ ** GLUT functions ** }
-{ ****************************************************************************************************** }
-
-{$IFDEF GLUT_UNIT}
-procedure GLUTInit(argcp: PLongInt; argv: PPChar); inline;
-begin
- _GLUTInit(tglContext,argcp,argv);
-end;
-
-procedure GLUTInitDisplayMode(mode: Word); inline;
-begin
- _GLUTInitDisplayMode(tglContext,mode);
-end;
-
-procedure GLUTInitWindowPosition(x, y: Integer); inline;
-begin
- _GLUTInitWindowPosition(tglContext, x, y);
-end;
-
-procedure GLUTInitWindowSize(width, height: LongInt); inline;
-begin
- _GLUTInitWindowSize(tglContext, width, height);
-end;
-
-procedure GLUTSwapBuffers; inline;
-begin
- _GLUTSwapBuffers(tglContext);
-end;
-
-procedure GLUTPostRedisplay; inline;
-begin
- _GLUTPostRedisplay(tglContext);
-end;
-
-procedure GLUTReshapeFunc(f: TGlut2IntCallback); inline;
-begin
- _GLUTReshapeFunc(tglContext, f);
-end;
-
-function GLUTCreateWindow(const title: PChar): LongInt; inline;
-begin
- GLUTCreateWindow:=_GLUTCreateWindow(tglContext, title);
-end;
-
-procedure GLUTDestroyWindow(win: LongInt); inline;
-begin
- _GLUTDestroyWindow(tglContext, win);
-end;
-
-procedure GLUTDisplayFunc(f: TGlutVoidCallback); inline;
-begin
- _GLUTDisplayFunc(tglContext, f);
-end;
-
-procedure GLUTIdleFunc(f: TGlutVoidCallback); inline;
-begin
- _GLUTIdleFunc(tglContext, f);
-end;
-
-procedure GLUTTimerFunc(millis: Word; f: TGlut1IntCallback; value: LongInt); inline;
-begin
- _GLUTTimerFunc(tglContext, millis, f, value);
-end;
-
-procedure GLUTKeyboardFunc(f: TGlut1Char2IntCallback); inline;
-begin
- _GLUTKeyboardFunc(tglContext, f);
-end;
-
-procedure GLUTMouseFunc(f: TGlut4IntCallback); inline;
-begin
- _GLUTMouseFunc(tglContext, f);
-end;
-
-procedure GLUTSpecialFunc(f: TGlut3IntCallback); inline;
-begin
- _GLUTSpecialFunc(tglContext, f);
-end;
-
-procedure GLUTMotionFunc(f: TGlut2IntCallback); inline;
-begin
- _GLUTMotionFunc(tglContext, f);
-end;
-
-procedure GLUTPassiveMotionFunc(f: TGlut2IntCallback); inline;
-begin
- _GLUTPassiveMotionFunc(tglContext, f);
-end;
-
-function GLUTGetWindowHandle: pointer; inline;
-begin
- GLUTGetWindowHandle:=_GLUTGetWindowHandle(tglContext);
-end;
-
-procedure GLUTVisibilityFunc(f: TGlut1IntCallback); inline;
-begin
- _GLUTVisibilityFunc(tglContext, f);
-end;
-
-function GLUTGet(t: GLenum): LongInt; inline;
-begin
- GLUTGet:=_GLUTGet(tglContext,t);
-end;
-
-procedure GLUTMainLoop; inline;
-begin
- _GLUTMainLoop(tglContext);
-end;
-
-procedure GLUTFullScreen; inline;
-begin
- _GLUTFullScreen(tglContext);
-end;
-
-procedure GLUTSetColor(cell: Integer; red, green, blue: GLfloat); inline;
-begin
-{$WARNING GLUTSetColor is dummy.}
- // DUMMY, FIX ME!!!
-end;
-{$ENDIF GLUT_UNIT}
diff --git a/packages/extra/opengl/tinyglh.inc b/packages/extra/opengl/tinyglh.inc
deleted file mode 100644
index 6ff3852eb7..0000000000
--- a/packages/extra/opengl/tinyglh.inc
+++ /dev/null
@@ -1,165 +0,0 @@
-{
- This file is part of the Free Pascal run time library.
- Copyright (c) 2005 by Karoly Balogh
-
- TinyGL/OpenGL wrapper include header for MorphOS/PowerPC
-
- Thanks to Michal 'kiero' Wozniak and Mark 'bigfoot' Olsen
- for their help.
-
- See the file COPYING.FPC, included in this distribution,
- for details about the copyright.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
- **********************************************************************}
-
-{ ****************************************************************************************************** }
-{ ** GL functions ** }
-{ ****************************************************************************************************** }
-
-{$IFDEF GL_UNIT}
-procedure glAlphaFunc(func: GLenum; ref: GLclampf); inline;
-
-procedure glBegin(mode: GLenum); inline;
-
-procedure glCallList(list: GLuint); inline;
-procedure glCallLists(n: GLsizei; atype: GLenum; const lists: Pointer); inline;
-procedure glClear(mask: GLbitfield); inline;
-procedure glClearColor(red, green, blue, alpha: GLclampf); inline;
-procedure glClearDepth(depth: GLclampd); inline;
-procedure glColor3f(red, green, blue: GLfloat); inline;
-procedure glColor4f(red, green, blue, alpha: GLfloat); inline;
-procedure glColorMask(red, green, blue, alpha: GLboolean); inline;
-procedure glColorPointer(size: GLint; atype: GLenum; stride: GLsizei; const pointer: Pointer); inline;
-procedure glCopyTexImage2D(target: GLenum; level: GLint; internalFormat: GLenum; x, y: GLint; width, height: GLsizei; border: GLint); inline;
-procedure glCullFace(mode: GLenum); inline;
-
-procedure glDeleteLists(list: GLuint; range: GLsizei); inline;
-procedure glDeleteTextures(n: GLsizei; const textures: PGLuint); inline;
-procedure glDepthFunc(func: GLenum); inline;
-procedure glDepthMask(flag: GLboolean); inline;
-procedure glDisable(cap: GLenum); inline;
-procedure glDisableClientState(aarray: GLenum); inline;
-procedure glDrawElements(mode: GLenum; count: GLsizei; atype: GLenum; const indices: Pointer); inline;
-
-procedure glEnable(cap: GLenum); inline;
-procedure glEnableClientState(aarray: GLenum); inline;
-procedure glEnd; inline;
-procedure glEndList; inline;
-
-procedure glFlush; inline;
-procedure glFogf(pname: GLenum; param: GLfloat); inline;
-procedure glFogfv(pname: GLenum; const params: PGLfloat); inline;
-procedure glFogi(pname: GLenum; param: GLint); inline;
-
-function glGenLists(range: GLsizei): GLuint; inline;
-procedure glGetFloatv(pname: GLenum; params: PGLfloat); inline;
-function glGetString(name: GLenum): PChar; inline;
-
-procedure glHint(target, mode: GLenum); inline;
-
-procedure glIndexi(c: GLint); inline;
-
-procedure glLightf(light, pname: GLenum; param: GLfloat); inline;
-procedure glLightfv(light, pname: GLenum; const params: PGLfloat); inline;
-procedure glLineWidth(width: GLfloat); inline;
-procedure glLoadIdentity; inline;
-procedure glLightModelfv(pname: GLenum; const params: PGLfloat); inline;
-
-procedure glMaterialf(face, pname: GLenum; param: GLfloat); inline;
-procedure glMaterialfv(face, pname: GLenum; const params: PGLfloat); inline;
-procedure glMateriali(face, pname: GLenum; param: GLint); inline;
-procedure glMaterialiv(face, pname: GLenum; const params: PGLint); inline;
-procedure glMatrixMode(mode: GLenum); inline;
-
-procedure glNewList(list: GLuint; mode: GLenum); inline;
-procedure glNormal3f(nx, ny, nz: GLfloat); inline;
-procedure glNormalPointer(atype: GLenum; stride: GLsizei; const pointer: Pointer); inline;
-
-procedure glVertex2f(x, y: GLfloat); inline;
-procedure glVertex2i(x, y: GLint); inline;
-procedure glVertex3f(x, y, z: GLfloat); inline;
-procedure glVertex3fv(const v: PGLfloat); inline;
-
-procedure glPointSize(size: GLfloat); inline;
-procedure glRasterPos3f(x, y, z: GLfloat); inline;
-procedure glReadPixels(x, y: GLint; width, height: GLsizei; format, atype: GLenum; pixels: Pointer); inline;
-
-procedure glShadeModel(mode: GLenum); inline;
-
-procedure glStencilFunc(func: GLenum; ref: GLint; mask: GLuint); inline;
-procedure glStencilOp(fail, zfail, zpass: GLenum); inline;
-
-procedure glTexCoordPointer(size: GLint; atype: GLenum; stride: GLsizei; const pointer: Pointer); inline;
-procedure glTexParameterf(target: GLenum; pname: GLenum; param: GLfloat); inline;
-
-procedure glFrustum(left, right, bottom, top, zNear, zFar: GLdouble); inline;
-procedure glTranslatef(x, y, z: GLfloat); inline;
-procedure glScalef(x, y, z: GLfloat); inline;
-procedure glRotatef(angle, x, y, z: GLfloat); inline;
-
-procedure glOrtho(left, right, bottom, top, zNear, zFar: GLdouble); inline;
-procedure glPopMatrix; inline;
-procedure glPushMatrix; inline;
-
-procedure glTexImage2D(target: GLenum; level, internalformat: GLint; width, height: GLsizei; border: GLint; format, atype: GLenum; const pixels: Pointer); inline;
-procedure glTexParameteri(target: GLenum; pname: GLenum; param: GLint); inline;
-procedure glTexCoord2f(s, t: GLfloat); inline;
-procedure glTexGeni(coord: GLenum; pname: GLenum; param: GLint); inline;
-procedure glBindTexture(target: GLenum; texture: GLuint); inline;
-procedure glGenTextures(n: GLsizei; textures: PGLuint); inline;
-
-procedure glBlendFunc(sfactor, dfactor: GLenum); inline;
-
-procedure glVertexPointer(size: GLint; atype: GLenum; stride: GLsizei; const pointer: Pointer); inline;
-
-procedure glViewport(x, y: GLint; width, height: GLsizei); inline;
-{$ENDIF GL_UNIT}
-
-{ ****************************************************************************************************** }
-{ ** GLU functions ** }
-{ ****************************************************************************************************** }
-
-{$IFDEF GLU_UNIT}
-procedure gluLookAt(eyex, eyey, eyez, centerx, centery, centerz, upx, upy, upz: GLdouble); inline;
-procedure gluOrtho2D(left,right, bottom, top: GLdouble); inline;
-procedure gluPerspective(fovy, aspect, zNear, zFar: GLdouble); inline;
-{$ENDIF GLU_UNIT}
-
-{ ****************************************************************************************************** }
-{ ** GLUT functions ** }
-{ ****************************************************************************************************** }
-
-{$IFDEF GLUT_UNIT}
-procedure GLUTInit(argcp: PLongInt; argv: PPChar); inline;
-procedure GLUTInitDisplayMode(mode: Word); inline;
-procedure GLUTInitWindowPosition(x, y: Integer); inline;
-procedure GLUTInitWindowSize(width, height: LongInt); inline;
-
-function GLUTCreateWindow(const title: PChar): LongInt; inline;
-procedure GLUTDestroyWindow(win: LongInt); inline;
-procedure GLUTDisplayFunc(f: TGlutVoidCallback); inline;
-procedure GLUTIdleFunc(f: TGlutVoidCallback); inline;
-procedure GLUTTimerFunc(millis: Word; f: TGlut1IntCallback; value: LongInt); inline;
-function GLUTGetWindowHandle: pointer; inline; // MorphOS specific
-procedure GLUTVisibilityFunc(f: TGlut1IntCallback); inline;
-procedure GLUTKeyboardFunc(f: TGlut1Char2IntCallback); inline;
-procedure GLUTMouseFunc(f: TGlut4IntCallback); inline;
-procedure GLUTSpecialFunc(f: TGlut3IntCallback); inline;
-procedure GLUTReshapeFunc(f: TGlut2IntCallback); inline;
-procedure GLUTMotionFunc(f: TGlut2IntCallback); inline;
-procedure GLUTPassiveMotionFunc(f: TGlut2IntCallback); inline;
-
-procedure GLUTSwapBuffers; inline;
-procedure GLUTPostRedisplay; inline;
-
-function GLUTGet(t: GLenum): LongInt; inline;
-
-procedure GLUTMainLoop; inline;
-
-procedure GLUTFullScreen; inline;
-procedure GLUTSetColor(cell: Integer; red, green, blue: GLfloat); inline;
-{$ENDIF GLUT_UNIT}