diff options
author | marco <marco@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2008-01-26 21:00:05 +0000 |
---|---|---|
committer | marco <marco@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2008-01-26 21:00:05 +0000 |
commit | 56d40fd1ebbd8bf4ad772b2f9bc888655dcf8d4e (patch) | |
tree | c67c29ea7e59a2bf15c88a92b19ea6dfab2fc4e0 /packages/extra | |
parent | 6101b09806e25e9078f5db1587ff8fdbcd462670 (diff) | |
download | fpc-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/Makefile | 2395 | ||||
-rw-r--r-- | packages/extra/opengl/Makefile.fpc | 33 | ||||
-rw-r--r-- | packages/extra/opengl/examples/Makefile | 2172 | ||||
-rw-r--r-- | packages/extra/opengl/examples/Makefile.fpc | 28 | ||||
-rw-r--r-- | packages/extra/opengl/examples/bounce.pp | 246 | ||||
-rw-r--r-- | packages/extra/opengl/examples/glutdemo.pp | 134 | ||||
-rw-r--r-- | packages/extra/opengl/examples/glxtest.pp | 110 | ||||
-rw-r--r-- | packages/extra/opengl/examples/morph3d.pp | 915 | ||||
-rw-r--r-- | packages/extra/opengl/examples/radblur.pp | 375 | ||||
-rw-r--r-- | packages/extra/opengl/fpmake.inc | 17 | ||||
-rw-r--r-- | packages/extra/opengl/fpmake.pp | 17 | ||||
-rw-r--r-- | packages/extra/opengl/gl.pp | 2346 | ||||
-rw-r--r-- | packages/extra/opengl/glext.pp | 9547 | ||||
-rw-r--r-- | packages/extra/opengl/glu.pp | 572 | ||||
-rw-r--r-- | packages/extra/opengl/glunits.txt | 46 | ||||
-rw-r--r-- | packages/extra/opengl/glut.pp | 2102 | ||||
-rw-r--r-- | packages/extra/opengl/glx.pp | 240 | ||||
-rw-r--r-- | packages/extra/opengl/readme | 22 | ||||
-rw-r--r-- | packages/extra/opengl/tinygl.inc | 846 | ||||
-rw-r--r-- | packages/extra/opengl/tinyglh.inc | 165 |
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} |