Compare commits
241 Commits
mesa_5_0
...
mesa_4_0_3
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4266ec91fe | ||
|
|
8a5bdd826a | ||
|
|
20cbbf8459 | ||
|
|
2847895a03 | ||
|
|
79d05b5649 | ||
|
|
a0ad8d5a8a | ||
|
|
1a9198f118 | ||
|
|
dd8fbed413 | ||
|
|
972cc7827f | ||
|
|
263d8ff8e3 | ||
|
|
363c8b9048 | ||
|
|
eb7b122807 | ||
|
|
6306085c69 | ||
|
|
7e20f99f81 | ||
|
|
a79f7f8838 | ||
|
|
d1d4f6bd34 | ||
|
|
640f61ba13 | ||
|
|
07e3f72bf8 | ||
|
|
d06d24f497 | ||
|
|
3fa786c175 | ||
|
|
984bb590df | ||
|
|
67c5effe5c | ||
|
|
fbe488cb76 | ||
|
|
dbd36a0ca0 | ||
|
|
076870f384 | ||
|
|
c1fba8241b | ||
|
|
690798ae3b | ||
|
|
89e91fcc9a | ||
|
|
d5a8eeaeeb | ||
|
|
b118f433e1 | ||
|
|
fbbb780e1f | ||
|
|
9429860763 | ||
|
|
531af3f17f | ||
|
|
054f415f45 | ||
|
|
b1b4382283 | ||
|
|
3aef708b56 | ||
|
|
d63730d087 | ||
|
|
2469fc9672 | ||
|
|
86ab257a46 | ||
|
|
d7e7d8ec74 | ||
|
|
fe4edce605 | ||
|
|
b0f477e5dd | ||
|
|
ce4c38fe2e | ||
|
|
09760a9563 | ||
|
|
d7abab5c67 | ||
|
|
e900da049b | ||
|
|
9def08ad3d | ||
|
|
978731595d | ||
|
|
00e5cb4120 | ||
|
|
b338ee265a | ||
|
|
8d3f06a565 | ||
|
|
0d1785c6db | ||
|
|
79474dc528 | ||
|
|
43e90c0053 | ||
|
|
c748b6c3d8 | ||
|
|
2c109c15e0 | ||
|
|
22fcb86432 | ||
|
|
70c5d68365 | ||
|
|
1b0fcb2124 | ||
|
|
6668d2fcb1 | ||
|
|
e3c2d6bd0c | ||
|
|
655e0ad0c1 | ||
|
|
d99fa29b94 | ||
|
|
7229861a46 | ||
|
|
f5130e3473 | ||
|
|
a5ed2460e9 | ||
|
|
e2130abf8f | ||
|
|
bf6a6f1d59 | ||
|
|
abd10c99e5 | ||
|
|
c3bc8a9c1e | ||
|
|
aa5698e8ed | ||
|
|
cf4c9ada0d | ||
|
|
13c751a1c2 | ||
|
|
2af71a9acf | ||
|
|
5e0316f1a8 | ||
|
|
2366fb3b89 | ||
|
|
4ad3511865 | ||
|
|
44f6191507 | ||
|
|
aaf89c1cc7 | ||
|
|
7350dd7395 | ||
|
|
972815c414 | ||
|
|
0bb0b4df73 | ||
|
|
e07b4252ad | ||
|
|
b8855675ca | ||
|
|
6bf823ac2d | ||
|
|
af3f3080f9 | ||
|
|
bb47715320 | ||
|
|
cef9cdf3bb | ||
|
|
4493f41577 | ||
|
|
a4f3130a7f | ||
|
|
b2c3daa875 | ||
|
|
3d6951c097 | ||
|
|
db0ed6252b | ||
|
|
e6c59e8d0c | ||
|
|
378fcdb818 | ||
|
|
cd3f5d807a | ||
|
|
c3e908891c | ||
|
|
fdbaf407a7 | ||
|
|
5a86d3852c | ||
|
|
96d0be5cf2 | ||
|
|
0bd26c3c55 | ||
|
|
9f7053e913 | ||
|
|
9fa55ac457 | ||
|
|
101092ea11 | ||
|
|
da648d9afd | ||
|
|
7a3b7c9687 | ||
|
|
55f8fcba10 | ||
|
|
7419597f2f | ||
|
|
e784671997 | ||
|
|
c2165e799c | ||
|
|
40519b3eb3 | ||
|
|
dcda68de33 | ||
|
|
8308199e5d | ||
|
|
3b029b0c7d | ||
|
|
bff7677bd9 | ||
|
|
41796ecc25 | ||
|
|
94865a95b1 | ||
|
|
b8b23d4552 | ||
|
|
3245cfdf41 | ||
|
|
69e043158a | ||
|
|
3ce17ffb84 | ||
|
|
33b483f882 | ||
|
|
308a036114 | ||
|
|
4c97c84f7e | ||
|
|
d7bde06097 | ||
|
|
a00292bcfe | ||
|
|
7d729ffb58 | ||
|
|
aeb6c0af5e | ||
|
|
41110917d7 | ||
|
|
a58b1ed0a3 | ||
|
|
27b503cab8 | ||
|
|
d38cdd33d0 | ||
|
|
851acc6ea7 | ||
|
|
6115d784a7 | ||
|
|
fcca385bec | ||
|
|
06743cf365 | ||
|
|
b372b40bd1 | ||
|
|
3e3bd40614 | ||
|
|
3fb6d0bfde | ||
|
|
b36acc0423 | ||
|
|
287d6127d2 | ||
|
|
a8290d3a95 | ||
|
|
b26f972618 | ||
|
|
5bd6bad38d | ||
|
|
1ae3437156 | ||
|
|
93665403aa | ||
|
|
04613cb0bc | ||
|
|
e0a30e9d2d | ||
|
|
fd3da01ec3 | ||
|
|
40bbb8b7f3 | ||
|
|
00b7772bda | ||
|
|
0fc4d7e46d | ||
|
|
1261fed2c3 | ||
|
|
4f4f542bd7 | ||
|
|
550169ab62 | ||
|
|
ad83c33a4d | ||
|
|
a340c4f6ef | ||
|
|
781f27575c | ||
|
|
08e126fba6 | ||
|
|
b03241a552 | ||
|
|
e4efc983bd | ||
|
|
785bfd0c1e | ||
|
|
a0e4612f49 | ||
|
|
f6e1618f97 | ||
|
|
3a450fb4b0 | ||
|
|
43daa03ac1 | ||
|
|
cb69912494 | ||
|
|
b4518ee5d4 | ||
|
|
6ef05c2817 | ||
|
|
26d31abd87 | ||
|
|
7702362bda | ||
|
|
5141607357 | ||
|
|
a9e14e7bb9 | ||
|
|
5196a16629 | ||
|
|
7f37280955 | ||
|
|
986b7ec195 | ||
|
|
9012185ae8 | ||
|
|
2edf851932 | ||
|
|
1703b67ee0 | ||
|
|
9342fbe46e | ||
|
|
2f88c5fbd4 | ||
|
|
dc35f387ca | ||
|
|
597ec4040c | ||
|
|
51aa3d2f30 | ||
|
|
0c1f42ef29 | ||
|
|
06ae58eebb | ||
|
|
d8deb468f7 | ||
|
|
4aac60f691 | ||
|
|
e20d35d74a | ||
|
|
ed26c2d950 | ||
|
|
95681b4a85 | ||
|
|
17a5135fee | ||
|
|
69b71bc1ab | ||
|
|
9f6957e702 | ||
|
|
bf78731523 | ||
|
|
c527df81df | ||
|
|
ca2315d95b | ||
|
|
c4dd9e2a03 | ||
|
|
34174976c4 | ||
|
|
ff23c15bdc | ||
|
|
eb0ce107c7 | ||
|
|
bfe6c71b99 | ||
|
|
69f2ff5f38 | ||
|
|
f28c19da41 | ||
|
|
c132ca9774 | ||
|
|
8ca1772d4a | ||
|
|
ff5fe4836a | ||
|
|
f88e0898a1 | ||
|
|
3f2eedd634 | ||
|
|
158c7413fb | ||
|
|
0a96860e04 | ||
|
|
37b10249e5 | ||
|
|
589cee71b8 | ||
|
|
c6dcd5c4cf | ||
|
|
e1ec4771f1 | ||
|
|
917e942fe2 | ||
|
|
f427427ca8 | ||
|
|
7ed97d4ef4 | ||
|
|
267b9cc082 | ||
|
|
efb678da77 | ||
|
|
32aa05bfd6 | ||
|
|
299a71fe04 | ||
|
|
63da26bd62 | ||
|
|
dfb7ebf8a0 | ||
|
|
64681c1f82 | ||
|
|
8c3149f250 | ||
|
|
53e284bda1 | ||
|
|
f46ce82219 | ||
|
|
4256cf0175 | ||
|
|
986749a4ea | ||
|
|
07042d164b | ||
|
|
0739d6f158 | ||
|
|
2fd7a602a7 | ||
|
|
f97edb4ca3 | ||
|
|
3b0571dd5c | ||
|
|
c25f068355 | ||
|
|
3a05f42b28 | ||
|
|
2631c2a2de | ||
|
|
b2728086ec | ||
|
|
2e7644f13d | ||
|
|
9c3e7d2294 |
111
Make-config
111
Make-config
@@ -1,8 +1,8 @@
|
|||||||
# $Id: Make-config,v 1.67 2002/11/12 02:49:14 brianp Exp $
|
# $Id: Make-config,v 1.50.2.10 2002/06/10 17:01:30 brianp Exp $
|
||||||
|
|
||||||
MESA_MAJOR=5
|
MESA_MAJOR=4
|
||||||
MESA_MINOR=0
|
MESA_MINOR=0
|
||||||
MESA_TINY=0
|
MESA_TINY=3
|
||||||
VERSION=$(MESA_MAJOR).$(MESA_MINOR)
|
VERSION=$(MESA_MAJOR).$(MESA_MINOR)
|
||||||
|
|
||||||
# Mesa 3-D graphics library
|
# Mesa 3-D graphics library
|
||||||
@@ -155,7 +155,7 @@ cygnus:
|
|||||||
"CFLAGS = -I. -DWIN32 -D__WIN32__ -D_WINDOWS \
|
"CFLAGS = -I. -DWIN32 -D__WIN32__ -D_WINDOWS \
|
||||||
-O2 -funroll-loops \
|
-O2 -funroll-loops \
|
||||||
-fexpensive-optimizations -fomit-frame-pointer -ffast-math \
|
-fexpensive-optimizations -fomit-frame-pointer -ffast-math \
|
||||||
-malign-loops=2 -malign-functions=2" \
|
-malign-loops=2 -malign-jumps=2 -malign-functions=2" \
|
||||||
"CCFLAGS = $(CFLAGS)" \
|
"CCFLAGS = $(CFLAGS)" \
|
||||||
"MAKELIB = ../bin/mklib.ar-ruv" \
|
"MAKELIB = ../bin/mklib.ar-ruv" \
|
||||||
"WLIBS = ../lib/wing32.a -lkernel32 -luser32 -lgdi32"
|
"WLIBS = ../lib/wing32.a -lkernel32 -luser32 -lgdi32"
|
||||||
@@ -174,7 +174,7 @@ cygnus-linux:
|
|||||||
"CFLAGS = -I. -DWIN32 -D__WIN32__ -D_WINDOWS \
|
"CFLAGS = -I. -DWIN32 -D__WIN32__ -D_WINDOWS \
|
||||||
-O2 -funroll-loops \
|
-O2 -funroll-loops \
|
||||||
-fexpensive-optimizations -fomit-frame-pointer -ffast-math \
|
-fexpensive-optimizations -fomit-frame-pointer -ffast-math \
|
||||||
-malign-loops=2 -malign-functions=2" \
|
-malign-loops=2 -malign-jumps=2 -malign-functions=2" \
|
||||||
"MAKELIB = ../bin/mklib.cygnus-linux" \
|
"MAKELIB = ../bin/mklib.cygnus-linux" \
|
||||||
"WLIBS = ../lib/wing32.a -lkernel32 -luser32 -lgdi32"
|
"WLIBS = ../lib/wing32.a -lkernel32 -luser32 -lgdi32"
|
||||||
|
|
||||||
@@ -308,7 +308,6 @@ hpux9-gcc-sl:
|
|||||||
"MAKELIB = ../bin/mklib.hpux" \
|
"MAKELIB = ../bin/mklib.hpux" \
|
||||||
"APP_LIB_DEPS = -L/usr/lib/X11R5 -lXext -lXmu -lXi -lX11 -lm"
|
"APP_LIB_DEPS = -L/usr/lib/X11R5 -lXext -lXmu -lXi -lX11 -lm"
|
||||||
|
|
||||||
# The hpux10 configs should work for hpux11 as well.
|
|
||||||
hpux10:
|
hpux10:
|
||||||
$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
|
$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
|
||||||
"GL_LIB = libGL.a" \
|
"GL_LIB = libGL.a" \
|
||||||
@@ -317,23 +316,19 @@ hpux10:
|
|||||||
"GLW_LIB = libGLw.a" \
|
"GLW_LIB = libGLw.a" \
|
||||||
"OSMESA_LIB = libOSMesa.a" \
|
"OSMESA_LIB = libOSMesa.a" \
|
||||||
"CC = cc" \
|
"CC = cc" \
|
||||||
"CPLUSPLUS = aCC" \
|
|
||||||
"CFLAGS = +O3 +DAportable -Aa -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include -DUSE_XSHM" \
|
"CFLAGS = +O3 +DAportable -Aa -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include -DUSE_XSHM" \
|
||||||
"CCFLAGS = +O3 +DAportable -Aa -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include -DUSE_XSHM" \
|
|
||||||
"MAKELIB = ../bin/mklib.ar-ruv" \
|
"MAKELIB = ../bin/mklib.ar-ruv" \
|
||||||
"APP_LIB_DEPS = -L/usr/lib/X11R6 -L/usr/contrib/X11R6/lib -lXext -lXmu -lXi -lX11 -lm -L/usr/lib -lCsup"
|
"APP_LIB_DEPS = -L/usr/lib/X11R6 -L/usr/contrib/X11R6/lib -lXext -lXmu -lXi -lX11 -lm"
|
||||||
|
|
||||||
hpux10-sl:
|
hpux10-sl:
|
||||||
$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
|
$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
|
||||||
"GL_LIB = libGL" \
|
"GL_LIB = libGL" \
|
||||||
"GLU_LIB = libGLU" \
|
"GLU_LIB = libGLU" \
|
||||||
"GLUT_LIB = libglut" \
|
"GLUT_LIB = libglut" \
|
||||||
"GLW_LIB = libGLw" \
|
"GLW_LIB = libGLw.a" \
|
||||||
"OSMESA_LIB = libOSMesa" \
|
"OSMESA_LIB = libOSMesa.a" \
|
||||||
"CC = cc" \
|
"CC = cc" \
|
||||||
"CPLUSPLUS = aCC" \
|
"CFLAGS = +z -Ae +O2 +Onolimit +Oaggressive -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include -DUSE_XSHM" \
|
||||||
"CFLAGS = +O3 +DAportable +z -Aa -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include -DUSE_XSHM" \
|
|
||||||
"CCFLAGS = +O3 +DAportable +Z -Aa -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include -DUSE_XSHM" \
|
|
||||||
"MAKELIB = ../bin/mklib.hpux" \
|
"MAKELIB = ../bin/mklib.hpux" \
|
||||||
"APP_LIB_DEPS = -L/usr/lib/X11R6 -L/usr/contrib/X11R6/lib -lXext -lXmu -lXi -lX11 -lm"
|
"APP_LIB_DEPS = -L/usr/lib/X11R6 -L/usr/contrib/X11R6/lib -lXext -lXmu -lXi -lX11 -lm"
|
||||||
|
|
||||||
@@ -602,14 +597,14 @@ linux-x86:
|
|||||||
"APP_LIB_DEPS = -lm" \
|
"APP_LIB_DEPS = -lm" \
|
||||||
"ASM_SOURCES = X86/common_x86_asm.S X86/glapi_x86.S \
|
"ASM_SOURCES = X86/common_x86_asm.S X86/glapi_x86.S \
|
||||||
X86/x86_xform2.S X86/x86_xform3.S X86/x86_xform4.S \
|
X86/x86_xform2.S X86/x86_xform3.S X86/x86_xform4.S \
|
||||||
X86/x86_cliptest.S \
|
X86/x86_cliptest.S X86/x86_vertex.S \
|
||||||
X86/mmx_blend.S \
|
X86/mmx_blend.S \
|
||||||
X86/3dnow_xform1.S X86/3dnow_xform2.S \
|
X86/3dnow_xform1.S X86/3dnow_xform2.S \
|
||||||
X86/3dnow_xform3.S X86/3dnow_xform4.S \
|
X86/3dnow_xform3.S X86/3dnow_xform4.S \
|
||||||
X86/3dnow_normal.S \
|
X86/3dnow_normal.S X86/3dnow_vertex.S \
|
||||||
X86/sse_xform1.S X86/sse_xform2.S \
|
X86/sse_xform1.S X86/sse_xform2.S \
|
||||||
X86/sse_xform3.S X86/sse_xform4.S \
|
X86/sse_xform3.S X86/sse_xform4.S \
|
||||||
X86/sse_normal.S"
|
X86/sse_normal.S X86/sse_vertex.S"
|
||||||
|
|
||||||
linux-icc:
|
linux-icc:
|
||||||
$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
|
$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
|
||||||
@@ -620,7 +615,7 @@ linux-icc:
|
|||||||
"OSMESA_LIB = libOSMesa.so" \
|
"OSMESA_LIB = libOSMesa.so" \
|
||||||
"CC = icc" \
|
"CC = icc" \
|
||||||
"CPLUSPLUS = g++" \
|
"CPLUSPLUS = g++" \
|
||||||
"CFLAGS = -O3 -tpp6 -axK -KPIC -D_GCC_LIMITS_H_ -D__GNUC__ -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -DPTHREADS -I/usr/X11R6/include" \
|
"CFLAGS = -O3 -tpp6 -KPIC -D_GCC_LIMITS_H_ -D__GNUC__ -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -DPTHREADS -I/usr/X11R6/include" \
|
||||||
"MAKELIB = ../bin/mklib.linux" \
|
"MAKELIB = ../bin/mklib.linux" \
|
||||||
"GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lm -lpthread" \
|
"GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lm -lpthread" \
|
||||||
"GLU_LIB_DEPS = -L../lib -lGL -lm" \
|
"GLU_LIB_DEPS = -L../lib -lGL -lm" \
|
||||||
@@ -628,14 +623,14 @@ linux-icc:
|
|||||||
"APP_LIB_DEPS = -lm" \
|
"APP_LIB_DEPS = -lm" \
|
||||||
"ASM_SOURCES = X86/common_x86_asm.S X86/glapi_x86.S \
|
"ASM_SOURCES = X86/common_x86_asm.S X86/glapi_x86.S \
|
||||||
X86/x86_xform2.S X86/x86_xform3.S X86/x86_xform4.S \
|
X86/x86_xform2.S X86/x86_xform3.S X86/x86_xform4.S \
|
||||||
X86/x86_cliptest.S \
|
X86/x86_cliptest.S X86/x86_vertex.S \
|
||||||
X86/mmx_blend.S \
|
X86/mmx_blend.S \
|
||||||
X86/3dnow_xform1.S X86/3dnow_xform2.S \
|
X86/3dnow_xform1.S X86/3dnow_xform2.S \
|
||||||
X86/3dnow_xform3.S X86/3dnow_xform4.S \
|
X86/3dnow_xform3.S X86/3dnow_xform4.S \
|
||||||
X86/3dnow_normal.S \
|
X86/3dnow_normal.S X86/3dnow_vertex.S \
|
||||||
X86/sse_xform1.S X86/sse_xform2.S \
|
X86/sse_xform1.S X86/sse_xform2.S \
|
||||||
X86/sse_xform3.S X86/sse_xform4.S \
|
X86/sse_xform3.S X86/sse_xform4.S \
|
||||||
X86/sse_normal.S"
|
X86/sse_normal.S X86/sse_vertex.S"
|
||||||
|
|
||||||
linux-x86-static:
|
linux-x86-static:
|
||||||
$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
|
$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
|
||||||
@@ -646,7 +641,7 @@ linux-x86-static:
|
|||||||
"OSMESA_LIB = libOSMesa.a" \
|
"OSMESA_LIB = libOSMesa.a" \
|
||||||
"CC = gcc" \
|
"CC = gcc" \
|
||||||
"CPLUSPLUS = g++" \
|
"CPLUSPLUS = g++" \
|
||||||
"CFLAGS = -Wall -O3 -ansi -pedantic -fPIC -ffast-math -funroll-loops -fomit-frame-pointer -malign-loops=2 -malign-functions=2 -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -DPTHREADS -I/usr/X11R6/include" \
|
"CFLAGS = -Wall -O3 -ansi -pedantic -fPIC -ffast-math -funroll-loops -fomit-frame-pointer -malign-loops=2 -malign-jumps=2 -malign-functions=2 -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -DPTHREADS -I/usr/X11R6/include" \
|
||||||
"MAKELIB = ../bin/mklib.ar-ruv" \
|
"MAKELIB = ../bin/mklib.ar-ruv" \
|
||||||
"GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lm -lpthread" \
|
"GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lm -lpthread" \
|
||||||
"GLU_LIB_DEPS = -L../lib -lGL -lm" \
|
"GLU_LIB_DEPS = -L../lib -lGL -lm" \
|
||||||
@@ -654,14 +649,14 @@ linux-x86-static:
|
|||||||
"APP_LIB_DEPS = -lm" \
|
"APP_LIB_DEPS = -lm" \
|
||||||
"ASM_SOURCES = X86/common_x86_asm.S X86/glapi_x86.S \
|
"ASM_SOURCES = X86/common_x86_asm.S X86/glapi_x86.S \
|
||||||
X86/x86_xform2.S X86/x86_xform3.S X86/x86_xform4.S \
|
X86/x86_xform2.S X86/x86_xform3.S X86/x86_xform4.S \
|
||||||
X86/x86_cliptest.S \
|
X86/x86_cliptest.S X86/x86_vertex.S \
|
||||||
X86/mmx_blend.S \
|
X86/mmx_blend.S \
|
||||||
X86/3dnow_xform1.S X86/3dnow_xform2.S \
|
X86/3dnow_xform1.S X86/3dnow_xform2.S \
|
||||||
X86/3dnow_xform3.S X86/3dnow_xform4.S \
|
X86/3dnow_xform3.S X86/3dnow_xform4.S \
|
||||||
X86/3dnow_normal.S \
|
X86/3dnow_normal.S X86/3dnow_vertex.S \
|
||||||
X86/sse_xform1.S X86/sse_xform2.S \
|
X86/sse_xform1.S X86/sse_xform2.S \
|
||||||
X86/sse_xform3.S X86/sse_xform4.S \
|
X86/sse_xform3.S X86/sse_xform4.S \
|
||||||
X86/sse_normal.S"
|
X86/sse_normal.S X86/sse_vertex.S"
|
||||||
|
|
||||||
# Contributed by Uwe_Maurer@t-online.de
|
# Contributed by Uwe_Maurer@t-online.de
|
||||||
linux-ggi:
|
linux-ggi:
|
||||||
@@ -694,7 +689,7 @@ linux-386-ggi:
|
|||||||
"APP_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lggi -lm" \
|
"APP_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lggi -lm" \
|
||||||
"ASM_SOURCES = X86/common_x86_asm.S X86/glapi_x86.S \
|
"ASM_SOURCES = X86/common_x86_asm.S X86/glapi_x86.S \
|
||||||
X86/x86_xform2.S X86/x86_xform3.S X86/x86_xform4.S \
|
X86/x86_xform2.S X86/x86_xform3.S X86/x86_xform4.S \
|
||||||
X86/x86_cliptest.S"
|
X86/x86_cliptest.S X86/x86_vertex.S"
|
||||||
|
|
||||||
linux-glide:
|
linux-glide:
|
||||||
$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
|
$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
|
||||||
@@ -728,10 +723,10 @@ linux-386-glide:
|
|||||||
"GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -L/usr/local/glide/lib -lglide2x -lm -lpthread" \
|
"GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -L/usr/local/glide/lib -lglide2x -lm -lpthread" \
|
||||||
"GLU_LIB_DEPS = -L../lib -lGL -lm" \
|
"GLU_LIB_DEPS = -L../lib -lGL -lm" \
|
||||||
"GLUT_LIB_DEPS = -L../lib -lGLU -lGL -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm" \
|
"GLUT_LIB_DEPS = -L../lib -lGLU -lGL -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm" \
|
||||||
"APP_LIB_DEPS = -L/usr/local/glide/lib -lglide2x -lglut -lGLU -lGL" \
|
"APP_LIB_DEPS = -L/usr/local/glide/lib -lglide2x -lglut -lGLU -lGL -lm" \
|
||||||
"ASM_SOURCES = X86/common_x86_asm.S X86/glapi_x86.S \
|
"ASM_SOURCES = X86/common_x86_asm.S X86/glapi_x86.S \
|
||||||
X86/x86_xform2.S X86/x86_xform3.S X86/x86_xform4.S \
|
X86/x86_xform2.S X86/x86_xform3.S X86/x86_xform4.S \
|
||||||
X86/x86_cliptest.S"
|
X86/x86_cliptest.S X86/x86_vertex.S"
|
||||||
|
|
||||||
linux-386-opt-glide:
|
linux-386-opt-glide:
|
||||||
$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
|
$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
|
||||||
@@ -742,16 +737,16 @@ linux-386-opt-glide:
|
|||||||
"OSMESA_LIB = libOSMesa.so" \
|
"OSMESA_LIB = libOSMesa.so" \
|
||||||
"CC = gcc" \
|
"CC = gcc" \
|
||||||
"CPLUSPLUS = g++" \
|
"CPLUSPLUS = g++" \
|
||||||
"CFLAGS = -O3 -m486 -fomit-frame-pointer -pipe -ansi -pedantic -ffast-math -fexpensive-optimizations -malign-loops=2 -malign-functions=2 -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DFX -DUSE_X86_ASM -DPTHREADS -I/usr/X11R6/include -I/usr/include/glide -I/usr/local/glide/include" \
|
"CFLAGS = -O3 -m486 -fomit-frame-pointer -pipe -ansi -pedantic -ffast-math -fexpensive-optimizations -malign-loops=2 -malign-jumps=2 -malign-functions=2 -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DFX -DUSE_X86_ASM -DPTHREADS -I/usr/X11R6/include -I/usr/include/glide -I/usr/local/glide/include" \
|
||||||
"CCFLAGS = $(CFLAGS)" \
|
"CCFLAGS = $(CFLAGS)" \
|
||||||
"MAKELIB = ../bin/mklib.linux" \
|
"MAKELIB = ../bin/mklib.linux" \
|
||||||
"GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -L/usr/local/glide/lib -lglide2x -lm -lpthread" \
|
"GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -L/usr/local/glide/lib -lglide2x -lm -lpthread" \
|
||||||
"GLU_LIB_DEPS = -L../lib -lGL -lm" \
|
"GLU_LIB_DEPS = -L../lib -lGL -lm" \
|
||||||
"GLUT_LIB_DEPS = -L../lib -lGLU -lGL -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm" \
|
"GLUT_LIB_DEPS = -L../lib -lGLU -lGL -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm" \
|
||||||
"APP_LIB_DEPS = -lm" \
|
"APP_LIB_DEPS = -L/usr/local/glide/lib -lglide2x -lglut -lGLU -lGL -lm" \
|
||||||
"ASM_SOURCES = X86/common_x86_asm.S X86/glapi_x86.S \
|
"ASM_SOURCES = X86/common_x86_asm.S X86/glapi_x86.S \
|
||||||
X86/x86_xform2.S X86/x86_xform3.S X86/x86_xform4.S \
|
X86/x86_xform2.S X86/x86_xform3.S X86/x86_xform4.S \
|
||||||
X86/x86_cliptest.S"
|
X86/x86_cliptest.S X86/x86_vertex.S"
|
||||||
|
|
||||||
linux-x86-glide:
|
linux-x86-glide:
|
||||||
$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
|
$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
|
||||||
@@ -762,23 +757,23 @@ linux-x86-glide:
|
|||||||
"OSMESA_LIB = libOSMesa.so" \
|
"OSMESA_LIB = libOSMesa.so" \
|
||||||
"CC = gcc" \
|
"CC = gcc" \
|
||||||
"CPLUSPLUS = g++" \
|
"CPLUSPLUS = g++" \
|
||||||
"CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -funroll-loops -fomit-frame-pointer -malign-loops=2 -malign-functions=2 -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -DUSE_XSHM -DFX -DPTHREADS -I/usr/X11R6/include -I/usr/include/glide -I/usr/local/glide/include -I/usr/src/mesa-glx/src/FX/X86" \
|
"CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -funroll-loops -fomit-frame-pointer -malign-loops=2 -malign-jumps=2 -malign-functions=2 -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -DUSE_XSHM -DFX -DPTHREADS -I/usr/X11R6/include -I/usr/include/glide -I/usr/local/glide/include -I/usr/src/mesa-glx/src/FX/X86" \
|
||||||
"MAKELIB = ../bin/mklib.linux" \
|
"MAKELIB = ../bin/mklib.linux" \
|
||||||
"GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -L/usr/local/glide/lib -lglide2x -lm -lpthread" \
|
"GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -L/usr/local/glide/lib -lglide2x -lm -lpthread" \
|
||||||
"GLU_LIB_DEPS = -L../lib -lGL -lm" \
|
"GLU_LIB_DEPS = -L../lib -lGL -lm" \
|
||||||
"GLUT_LIB_DEPS = -L../lib -lGLU -lGL -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm" \
|
"GLUT_LIB_DEPS = -L../lib -lGLU -lGL -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm" \
|
||||||
"APP_LIB_DEPS = -lm" \
|
"APP_LIB_DEPS = -L/usr/local/glide/lib -lglide2x -lglut -lGLU -lGL -lm" \
|
||||||
"ASM_SOURCES = X86/common_x86_asm.S X86/glapi_x86.S \
|
"ASM_SOURCES = X86/common_x86_asm.S X86/glapi_x86.S \
|
||||||
X86/x86_xform2.S X86/x86_xform3.S X86/x86_xform4.S \
|
X86/x86_xform2.S X86/x86_xform3.S X86/x86_xform4.S \
|
||||||
X86/x86_cliptest.S \
|
X86/x86_cliptest.S X86/x86_vertex.S \
|
||||||
X86/mmx_blend.S \
|
X86/mmx_blend.S \
|
||||||
X86/3dnow_xform1.S X86/3dnow_xform2.S \
|
X86/3dnow_xform1.S X86/3dnow_xform2.S \
|
||||||
X86/3dnow_xform3.S X86/3dnow_xform4.S \
|
X86/3dnow_xform3.S X86/3dnow_xform4.S \
|
||||||
X86/3dnow_normal.S \
|
X86/3dnow_normal.S X86/3dnow_vertex.S \
|
||||||
FX/X86/fx_3dnow_fastpath.S \
|
FX/X86/fx_3dnow_fastpath.S \
|
||||||
X86/sse_xform1.S X86/sse_xform2.S \
|
X86/sse_xform1.S X86/sse_xform2.S \
|
||||||
X86/sse_xform3.S X86/sse_xform4.S \
|
X86/sse_xform3.S X86/sse_xform4.S \
|
||||||
X86/sse_normal.S "
|
X86/sse_normal.S X86/sse_vertex.S"
|
||||||
|
|
||||||
linux-alpha:
|
linux-alpha:
|
||||||
$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
|
$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
|
||||||
@@ -919,7 +914,7 @@ linux-osmesa32:
|
|||||||
# May want to add these CFLAGS for better performance under LynxOS and GCC:
|
# May want to add these CFLAGS for better performance under LynxOS and GCC:
|
||||||
# -fPIC -O2 -ansi -pedantic -mieee-fp -DUSE_XSHM -funroll-loops
|
# -fPIC -O2 -ansi -pedantic -mieee-fp -DUSE_XSHM -funroll-loops
|
||||||
# -fexpensive-optimizations -fomit-frame-pointer -ffast-math
|
# -fexpensive-optimizations -fomit-frame-pointer -ffast-math
|
||||||
# and -malign-loops=2 -malign-functions=2 for Pentium
|
# and -malign-loops=2 -malign-jumps=2 -malign-functions=2 for Pentium
|
||||||
lynxos:
|
lynxos:
|
||||||
$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
|
$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
|
||||||
"GL_LIB = libGL.a" \
|
"GL_LIB = libGL.a" \
|
||||||
@@ -1048,7 +1043,7 @@ os2-x11:
|
|||||||
"APP_LIB_DEPS = -Zmt -Zcrtdll -Zexe -L$(X11ROOT)/XFree86/lib -lXt -lX11 -lm" \
|
"APP_LIB_DEPS = -Zmt -Zcrtdll -Zexe -L$(X11ROOT)/XFree86/lib -lXt -lX11 -lm" \
|
||||||
"ASM_SOURCES = X86/common_x86_asm.S X86/glapi_x86.S \
|
"ASM_SOURCES = X86/common_x86_asm.S X86/glapi_x86.S \
|
||||||
X86/x86_xform2.S X86/x86_xform3.S X86/x86_xform4.S \
|
X86/x86_xform2.S X86/x86_xform3.S X86/x86_xform4.S \
|
||||||
X86/x86_cliptest.S"
|
X86/x86_cliptest.S X86/x86_vertex.S"
|
||||||
|
|
||||||
osf1:
|
osf1:
|
||||||
$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
|
$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
|
||||||
@@ -1522,7 +1517,7 @@ linux-debug:
|
|||||||
"OSMESA_LIB = libOSMesa.so" \
|
"OSMESA_LIB = libOSMesa.so" \
|
||||||
"CC = gcc" \
|
"CC = gcc" \
|
||||||
"CPLUSPLUS = g++" \
|
"CPLUSPLUS = g++" \
|
||||||
"CFLAGS = -g -ansi -pedantic -Wall -Wmissing-prototypes -Wundef -fPIC -ffast-math -D_SVID_SOURCE -D_BSD_SOURCE -I/usr/X11R6/include -DUSE_XSHM -DPTHREADS -DDEBUG -DMESA_DEBUG" \
|
"CFLAGS = -g -ansi -pedantic -Wall -Wmissing-prototypes -Wundef -fPIC -ffast-math -D_SVID_SOURCE -D_BSD_SOURCE -I/usr/X11R6/include -DUSE_XSHM -DPTHREADS -DDEBUG -DMESA_DEBUG -DSVGA_foo -I/usr/include/glide -DFX_foo -DMESA_TRACE" \
|
||||||
"CCFLAGS = $(CFLAGS)" \
|
"CCFLAGS = $(CFLAGS)" \
|
||||||
"MAKELIB = ../bin/mklib.linux" \
|
"MAKELIB = ../bin/mklib.linux" \
|
||||||
"GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread" \
|
"GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread" \
|
||||||
@@ -1530,6 +1525,24 @@ linux-debug:
|
|||||||
"GLUT_LIB_DEPS = -L../lib -lGLU -lGL -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm" \
|
"GLUT_LIB_DEPS = -L../lib -lGLU -lGL -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm" \
|
||||||
"APP_LIB_DEPS = -lglut -lGLU -lGL"
|
"APP_LIB_DEPS = -lglut -lGLU -lGL"
|
||||||
|
|
||||||
|
linux-x11-debug:
|
||||||
|
$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
|
||||||
|
"GL_LIB = libGL.so" \
|
||||||
|
"GLU_LIB = libGLU.so" \
|
||||||
|
"GLUT_LIB = libglut.so" \
|
||||||
|
"GLW_LIB = libGLw.so" \
|
||||||
|
"OSMESA_LIB = libOSMesa.so" \
|
||||||
|
"CC = gcc" \
|
||||||
|
"CPLUSPLUS = g++" \
|
||||||
|
"CFLAGS = -g -ansi -pedantic -Wall -Wmissing-prototypes -Wundef -fPIC -ffast-math -D_SVID_SOURCE -D_BSD_SOURCE -I/usr/X11R6/include -DUSE_XSHM -DPTHREADS -DDEBUG -DMESA_DEBUG -DMESA_TRACE" \
|
||||||
|
"CCFLAGS = $(CFLAGS)" \
|
||||||
|
"MAKELIB = ../bin/mklib.linux" \
|
||||||
|
"GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread" \
|
||||||
|
"GLU_LIB_DEPS = -L../lib -lGL -lm" \
|
||||||
|
"GLUT_LIB_DEPS = -L../lib -lGLU -lGL -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm" \
|
||||||
|
"APP_LIB_DEPS = -lglut -lGLU -lGL"
|
||||||
|
|
||||||
|
|
||||||
linux-static-debug:
|
linux-static-debug:
|
||||||
$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
|
$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
|
||||||
"GL_LIB = libGL.a" \
|
"GL_LIB = libGL.a" \
|
||||||
@@ -1553,7 +1566,7 @@ linux-x86-debug:
|
|||||||
"OSMESA_LIB = libOSMesa.so" \
|
"OSMESA_LIB = libOSMesa.so" \
|
||||||
"CC = gcc" \
|
"CC = gcc" \
|
||||||
"CPLUSPLUS = g++" \
|
"CPLUSPLUS = g++" \
|
||||||
"CFLAGS = -O2 -g -ansi -pedantic -Wall -Wmissing-prototypes -fPIC -ffast-math -malign-loops=2 -malign-functions=2 -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -DPTHREADS -I/usr/X11R6/include -DDEBUG -DMESA_DEBUG" \
|
"CFLAGS = -O2 -g -ansi -pedantic -Wall -Wmissing-prototypes -fPIC -ffast-math -malign-loops=2 -malign-jumps=2 -malign-functions=2 -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -DPTHREADS -I/usr/X11R6/include -DDEBUG -DMESA_DEBUG" \
|
||||||
"MAKELIB = ../bin/mklib.linux" \
|
"MAKELIB = ../bin/mklib.linux" \
|
||||||
"GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lm -lpthread" \
|
"GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lm -lpthread" \
|
||||||
"GLU_LIB_DEPS = -L../lib -lGL -lm" \
|
"GLU_LIB_DEPS = -L../lib -lGL -lm" \
|
||||||
@@ -1561,14 +1574,14 @@ linux-x86-debug:
|
|||||||
"APP_LIB_DEPS = -lm" \
|
"APP_LIB_DEPS = -lm" \
|
||||||
"ASM_SOURCES = X86/common_x86_asm.S X86/glapi_x86.S \
|
"ASM_SOURCES = X86/common_x86_asm.S X86/glapi_x86.S \
|
||||||
X86/x86_xform2.S X86/x86_xform3.S X86/x86_xform4.S \
|
X86/x86_xform2.S X86/x86_xform3.S X86/x86_xform4.S \
|
||||||
X86/x86_cliptest.S \
|
X86/x86_cliptest.S X86/x86_vertex.S \
|
||||||
X86/mmx_blend.S \
|
X86/mmx_blend.S \
|
||||||
X86/3dnow_xform1.S X86/3dnow_xform2.S \
|
X86/3dnow_xform1.S X86/3dnow_xform2.S \
|
||||||
X86/3dnow_xform3.S X86/3dnow_xform4.S \
|
X86/3dnow_xform3.S X86/3dnow_xform4.S \
|
||||||
X86/3dnow_normal.S \
|
X86/3dnow_normal.S X86/3dnow_vertex.S \
|
||||||
X86/sse_xform1.S X86/sse_xform2.S \
|
X86/sse_xform1.S X86/sse_xform2.S \
|
||||||
X86/sse_xform3.S X86/sse_xform4.S \
|
X86/sse_xform3.S X86/sse_xform4.S \
|
||||||
X86/sse_normal.S"
|
X86/sse_normal.S X86/sse_vertex.S"
|
||||||
|
|
||||||
linux-glide-debug:
|
linux-glide-debug:
|
||||||
$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
|
$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
|
||||||
@@ -1600,15 +1613,15 @@ linux-prof:
|
|||||||
"APP_LIB_DEPS = -L/usr/X11/lib -lX11 -lXext -lXmu -lXt -lXi -lSM -lICE -lm" \
|
"APP_LIB_DEPS = -L/usr/X11/lib -lX11 -lXext -lXmu -lXt -lXi -lSM -lICE -lm" \
|
||||||
"ASM_SOURCES = X86/common_x86_asm.S X86/glapi_x86.S \
|
"ASM_SOURCES = X86/common_x86_asm.S X86/glapi_x86.S \
|
||||||
X86/x86_xform2.S X86/x86_xform3.S X86/x86_xform4.S \
|
X86/x86_xform2.S X86/x86_xform3.S X86/x86_xform4.S \
|
||||||
X86/x86_cliptest.S \
|
X86/x86_cliptest.S X86/x86_vertex.S \
|
||||||
X86/mmx_blend.S \
|
X86/mmx_blend.S \
|
||||||
X86/3dnow_xform1.S X86/3dnow_xform2.S \
|
X86/3dnow_xform1.S X86/3dnow_xform2.S \
|
||||||
X86/3dnow_xform3.S X86/3dnow_xform4.S \
|
X86/3dnow_xform3.S X86/3dnow_xform4.S \
|
||||||
X86/3dnow_normal.S \
|
X86/3dnow_normal.S X86/3dnow_vertex.S \
|
||||||
FX/X86/fx_3dnow_fastpath.S \
|
FX/X86/fx_3dnow_fastpath.S \
|
||||||
X86/sse_xform1.S X86/sse_xform2.S \
|
X86/sse_xform1.S X86/sse_xform2.S \
|
||||||
X86/sse_xform3.S X86/sse_xform4.S \
|
X86/sse_xform3.S X86/sse_xform4.S \
|
||||||
X86/sse_normal.S "
|
X86/sse_normal.S X86/sse_vertex.S"
|
||||||
|
|
||||||
linux-glide-prof:
|
linux-glide-prof:
|
||||||
$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
|
$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
|
||||||
@@ -1625,12 +1638,12 @@ linux-glide-prof:
|
|||||||
"APP_LIB_DEPS = -L/usr/local/glide/lib -lglide2x -L/usr/X11/lib -lX11 -lXext -lXmu -lXt -lXi -lSM -lICE -lm" \
|
"APP_LIB_DEPS = -L/usr/local/glide/lib -lglide2x -L/usr/X11/lib -lX11 -lXext -lXmu -lXt -lXi -lSM -lICE -lm" \
|
||||||
"ASM_SOURCES = X86/common_x86_asm.S X86/glapi_x86.S \
|
"ASM_SOURCES = X86/common_x86_asm.S X86/glapi_x86.S \
|
||||||
X86/x86_xform2.S X86/x86_xform3.S X86/x86_xform4.S \
|
X86/x86_xform2.S X86/x86_xform3.S X86/x86_xform4.S \
|
||||||
X86/x86_cliptest.S \
|
X86/x86_cliptest.S X86/x86_vertex.S \
|
||||||
X86/mmx_blend.S \
|
X86/mmx_blend.S \
|
||||||
X86/3dnow_xform1.S X86/3dnow_xform2.S \
|
X86/3dnow_xform1.S X86/3dnow_xform2.S \
|
||||||
X86/3dnow_xform3.S X86/3dnow_xform4.S \
|
X86/3dnow_xform3.S X86/3dnow_xform4.S \
|
||||||
X86/3dnow_normal.S \
|
X86/3dnow_normal.S X86/3dnow_vertex.S \
|
||||||
FX/X86/fx_3dnow_fastpath.S \
|
FX/X86/fx_3dnow_fastpath.S \
|
||||||
X86/sse_xform1.S X86/sse_xform2.S \
|
X86/sse_xform1.S X86/sse_xform2.S \
|
||||||
X86/sse_xform3.S X86/sse_xform4.S \
|
X86/sse_xform3.S X86/sse_xform4.S \
|
||||||
X86/sse_normal.S"
|
X86/sse_normal.S X86/sse_vertex.S"
|
||||||
|
|||||||
29
Makefile.X11
29
Makefile.X11
@@ -1,7 +1,7 @@
|
|||||||
# $Id: Makefile.X11,v 1.69 2002/11/13 15:33:51 brianp Exp $
|
# $Id: Makefile.X11,v 1.56.2.10 2002/06/24 20:44:58 brianp Exp $
|
||||||
|
|
||||||
# Mesa 3-D graphics library
|
# Mesa 3-D graphics library
|
||||||
# Version: 5.0
|
# Version: 4.0.3
|
||||||
#
|
#
|
||||||
# Copyright (C) 1999-2002 Brian Paul All Rights Reserved.
|
# Copyright (C) 1999-2002 Brian Paul All Rights Reserved.
|
||||||
#
|
#
|
||||||
@@ -51,8 +51,8 @@ default:
|
|||||||
@echo " make hpux9-sl for HP systems with HPUX 9.x, make shared libs"
|
@echo " make hpux9-sl for HP systems with HPUX 9.x, make shared libs"
|
||||||
@echo " make hpux9-gcc for HP systems with HPUX 9.x using GCC"
|
@echo " make hpux9-gcc for HP systems with HPUX 9.x using GCC"
|
||||||
@echo " make hpux9-gcc-sl for HP systems with HPUX 9.x, GCC, make shared libs"
|
@echo " make hpux9-gcc-sl for HP systems with HPUX 9.x, GCC, make shared libs"
|
||||||
@echo " make hpux10 for HP systems with HPUX 10.x and 11.x"
|
@echo " make hpux10 for HP systems with HPUX 10.x"
|
||||||
@echo " make hpux10-sl for HP systems with HPUX 10.x and 11.x, shared libs"
|
@echo " make hpux10-sl for HP systems with HPUX 10.x, shared libs"
|
||||||
@echo " make hpux10-gcc for HP systems with HPUX 10.x w/ GCC"
|
@echo " make hpux10-gcc for HP systems with HPUX 10.x w/ GCC"
|
||||||
@echo " make hpux10-gcc-sl for HP systems with HPUX 10.x w/ GCC, shared libs"
|
@echo " make hpux10-gcc-sl for HP systems with HPUX 10.x w/ GCC, shared libs"
|
||||||
@echo " make irix4 for SGI systems with IRIX 4.x"
|
@echo " make irix4 for SGI systems with IRIX 4.x"
|
||||||
@@ -143,7 +143,7 @@ aix aix-sl amix bsdos bsdos4 darwin dgux freebsd freebsd-386 gcc \
|
|||||||
hpux9 hpux9-sl hpux9-gcc hpux9-gcc-sl \
|
hpux9 hpux9-sl hpux9-gcc hpux9-gcc-sl \
|
||||||
hpux10 hpux10-sl hpux10-gcc hpux10-gcc-sl \
|
hpux10 hpux10-sl hpux10-gcc hpux10-gcc-sl \
|
||||||
irix4 irix5 irix5-gcc irix5-dso \
|
irix4 irix5 irix5-gcc irix5-dso \
|
||||||
linux linux-static linux-debug linux-static-debug linux-prof \
|
linux linux-static linux-debug linux-x11-debug linux-static-debug linux-prof \
|
||||||
linux-x86 linux-icc linux-x86-static linux-x86-debug \
|
linux-x86 linux-icc linux-x86-static linux-x86-debug \
|
||||||
linux-glide linux-386-glide linux-386-opt-glide \
|
linux-glide linux-386-glide linux-386-opt-glide \
|
||||||
linux-x86-glide linux-glide-debug linux-glide-prof \
|
linux-x86-glide linux-glide-debug linux-glide-prof \
|
||||||
@@ -301,7 +301,6 @@ linux-osmesa16 linux-osmesa32:
|
|||||||
if [ -d src ] ; then touch src/depend ; fi
|
if [ -d src ] ; then touch src/depend ; fi
|
||||||
if [ -d src ] ; then cd src ; $(MAKE) -f Makefile.OSMesa16 $@ ; fi
|
if [ -d src ] ; then cd src ; $(MAKE) -f Makefile.OSMesa16 $@ ; fi
|
||||||
|
|
||||||
|
|
||||||
# Remove .o files, emacs backup files, etc.
|
# Remove .o files, emacs backup files, etc.
|
||||||
clean:
|
clean:
|
||||||
-rm -f ggi/*~ *.o
|
-rm -f ggi/*~ *.o
|
||||||
@@ -330,10 +329,11 @@ realclean: clean
|
|||||||
cd samples && $(MAKE) -f Makefile.X11 realclean || true
|
cd samples && $(MAKE) -f Makefile.X11 realclean || true
|
||||||
|
|
||||||
|
|
||||||
DIRECTORY = Mesa-5.0
|
|
||||||
LIB_NAME = MesaLib-5.0
|
DIRECTORY = Mesa-4.0.3
|
||||||
DEMO_NAME = MesaDemos-5.0
|
LIB_NAME = MesaLib-4.0.3
|
||||||
GLU_NAME = MesaGLU-5.0
|
DEMO_NAME = MesaDemos-4.0.3
|
||||||
|
GLU_NAME = MesaGLU-4.0.3
|
||||||
GLUT_NAME = GLUT-3.7
|
GLUT_NAME = GLUT-3.7
|
||||||
|
|
||||||
|
|
||||||
@@ -350,14 +350,17 @@ LIB_FILES = \
|
|||||||
$(DIRECTORY)/configure \
|
$(DIRECTORY)/configure \
|
||||||
$(DIRECTORY)/configure.in \
|
$(DIRECTORY)/configure.in \
|
||||||
$(DIRECTORY)/install-sh \
|
$(DIRECTORY)/install-sh \
|
||||||
|
$(DIRECTORY)/ltconfig \
|
||||||
$(DIRECTORY)/ltmain.sh \
|
$(DIRECTORY)/ltmain.sh \
|
||||||
$(DIRECTORY)/missing \
|
$(DIRECTORY)/missing \
|
||||||
$(DIRECTORY)/mkinstalldirs \
|
$(DIRECTORY)/mkinstalldirs \
|
||||||
$(DIRECTORY)/stamp-h.in \
|
$(DIRECTORY)/stamp-h.in \
|
||||||
|
$(DIRECTORY)/docs/CONFIG \
|
||||||
$(DIRECTORY)/docs/CONFORM \
|
$(DIRECTORY)/docs/CONFORM \
|
||||||
$(DIRECTORY)/docs/COPYING \
|
$(DIRECTORY)/docs/COPYING \
|
||||||
$(DIRECTORY)/docs/COPYRIGHT \
|
$(DIRECTORY)/docs/COPYRIGHT \
|
||||||
$(DIRECTORY)/docs/DEVINFO \
|
$(DIRECTORY)/docs/DEVINFO \
|
||||||
|
$(DIRECTORY)/docs/IAFA-PACKAGE \
|
||||||
$(DIRECTORY)/docs/INSTALL \
|
$(DIRECTORY)/docs/INSTALL \
|
||||||
$(DIRECTORY)/docs/INSTALL.GNU \
|
$(DIRECTORY)/docs/INSTALL.GNU \
|
||||||
$(DIRECTORY)/docs/README \
|
$(DIRECTORY)/docs/README \
|
||||||
@@ -398,6 +401,7 @@ LIB_FILES = \
|
|||||||
$(DIRECTORY)/include/GL/xmesa_x.h \
|
$(DIRECTORY)/include/GL/xmesa_x.h \
|
||||||
$(DIRECTORY)/include/GL/xmesa_xf86.h \
|
$(DIRECTORY)/include/GL/xmesa_xf86.h \
|
||||||
$(DIRECTORY)/include/GLView.h \
|
$(DIRECTORY)/include/GLView.h \
|
||||||
|
$(DIRECTORY)/include/dmesadxe.h \
|
||||||
$(DIRECTORY)/include/Makefile.in \
|
$(DIRECTORY)/include/Makefile.in \
|
||||||
$(DIRECTORY)/include/Makefile.am \
|
$(DIRECTORY)/include/Makefile.am \
|
||||||
$(DIRECTORY)/src/Makefile* \
|
$(DIRECTORY)/src/Makefile* \
|
||||||
@@ -428,8 +432,7 @@ LIB_FILES = \
|
|||||||
$(DIRECTORY)/src/windml/tornado/*.cdf \
|
$(DIRECTORY)/src/windml/tornado/*.cdf \
|
||||||
$(DIRECTORY)/src/windml/man3/*.3 \
|
$(DIRECTORY)/src/windml/man3/*.3 \
|
||||||
$(DIRECTORY)/src/windml/man3/*.html \
|
$(DIRECTORY)/src/windml/man3/*.html \
|
||||||
$(DIRECTORY)/src/DOS/*.[chS] \
|
$(DIRECTORY)/src/DOS/*.[ch] \
|
||||||
$(DIRECTORY)/src/DOS/vesa/*.[ch] \
|
|
||||||
$(DIRECTORY)/src/BeOS/*.cpp \
|
$(DIRECTORY)/src/BeOS/*.cpp \
|
||||||
$(DIRECTORY)/src/FX/Makefile.am \
|
$(DIRECTORY)/src/FX/Makefile.am \
|
||||||
$(DIRECTORY)/src/FX/Makefile.in \
|
$(DIRECTORY)/src/FX/Makefile.in \
|
||||||
@@ -622,7 +625,7 @@ DEMO_FILES = \
|
|||||||
$(DIRECTORY)/demos/README \
|
$(DIRECTORY)/demos/README \
|
||||||
$(DIRECTORY)/xdemos/Makefile* \
|
$(DIRECTORY)/xdemos/Makefile* \
|
||||||
$(DIRECTORY)/xdemos/descrip.mms \
|
$(DIRECTORY)/xdemos/descrip.mms \
|
||||||
$(DIRECTORY)/xdemos/*.[chf] \
|
$(DIRECTORY)/xdemos/*.[cf] \
|
||||||
$(DIRECTORY)/book/Makefile* \
|
$(DIRECTORY)/book/Makefile* \
|
||||||
$(DIRECTORY)/book/README \
|
$(DIRECTORY)/book/README \
|
||||||
$(DIRECTORY)/book/*.[ch] \
|
$(DIRECTORY)/book/*.[ch] \
|
||||||
|
|||||||
@@ -1,94 +0,0 @@
|
|||||||
Name
|
|
||||||
|
|
||||||
MESA_agp_offset
|
|
||||||
|
|
||||||
Name Strings
|
|
||||||
|
|
||||||
GLX_MESA_agp_offset
|
|
||||||
|
|
||||||
Contact
|
|
||||||
|
|
||||||
Brian Paul, Tungsten Graphics, Inc. (brian 'at' tungstengraphics.com)
|
|
||||||
Keith Whitwell, Tungsten Graphics, Inc. (keith 'at' tungstengraphics.com)
|
|
||||||
|
|
||||||
Status
|
|
||||||
|
|
||||||
Shipping (Mesa 4.0.4 and later. Only implemented in particular
|
|
||||||
XFree86/DRI drivers.)
|
|
||||||
|
|
||||||
Version
|
|
||||||
|
|
||||||
1.0
|
|
||||||
|
|
||||||
Number
|
|
||||||
|
|
||||||
TBD
|
|
||||||
|
|
||||||
Dependencies
|
|
||||||
|
|
||||||
OpenGL 1.0 or later is required
|
|
||||||
GLX_NV_vertex_array_range is required.
|
|
||||||
This extensions is written against the OpenGL 1.4 Specification.
|
|
||||||
|
|
||||||
Overview
|
|
||||||
|
|
||||||
This extensions provides a way to convert pointers in an AGP memory
|
|
||||||
region into byte offsets into the AGP aperture.
|
|
||||||
Note, this extension depends on GLX_NV_vertex_array_range, for which
|
|
||||||
no real specification exists. See GL_NV_vertex_array_range for more
|
|
||||||
information.
|
|
||||||
|
|
||||||
IP Status
|
|
||||||
|
|
||||||
None
|
|
||||||
|
|
||||||
Issues
|
|
||||||
|
|
||||||
None
|
|
||||||
|
|
||||||
New Procedures and Functions
|
|
||||||
|
|
||||||
GLuint glXGetAGPOffsetMESA( const GLvoid *pointer )
|
|
||||||
|
|
||||||
New Tokens
|
|
||||||
|
|
||||||
None
|
|
||||||
|
|
||||||
Additions to the OpenGL 1.4 Specification
|
|
||||||
|
|
||||||
None
|
|
||||||
|
|
||||||
Additions to Chapter 3 the GLX 1.4 Specification (Functions and Errors)
|
|
||||||
|
|
||||||
Add a new section, 3.6 as follows:
|
|
||||||
|
|
||||||
3.6 AGP Memory Access
|
|
||||||
|
|
||||||
On "PC" computers, AGP memory can be allocated with glXAllocateMemoryNV
|
|
||||||
and freed with glXFreeMemoryNV. Sometimes it's useful to know where a
|
|
||||||
block of AGP memory is located with respect to the start of the AGP
|
|
||||||
aperature. The function
|
|
||||||
|
|
||||||
GLuint glXGetAGPOffsetMESA( const GLvoid *pointer )
|
|
||||||
|
|
||||||
Returns the offset of the given memory block from the start of AGP
|
|
||||||
memory in basic machine units (i.e. bytes). If pointer is invalid
|
|
||||||
the value ~0 will be returned.
|
|
||||||
|
|
||||||
GLX Protocol
|
|
||||||
|
|
||||||
None. This is a client side-only extension.
|
|
||||||
|
|
||||||
Errors
|
|
||||||
|
|
||||||
glXGetAGPOffsetMESA will return ~0 if the pointer does not point to
|
|
||||||
an AGP memory region.
|
|
||||||
|
|
||||||
New State
|
|
||||||
|
|
||||||
None
|
|
||||||
|
|
||||||
Revision History
|
|
||||||
|
|
||||||
20 September 2002 - Initial draft
|
|
||||||
2 October 2002 - finished GLX chapter 3 additions
|
|
||||||
@@ -1,138 +0,0 @@
|
|||||||
Name
|
|
||||||
|
|
||||||
MESA_pack_invert
|
|
||||||
|
|
||||||
Name Strings
|
|
||||||
|
|
||||||
GL_MESA_pack_invert
|
|
||||||
|
|
||||||
Contact
|
|
||||||
|
|
||||||
Brian Paul, Tungsten Graphics, Inc. (brian 'at' tungstengraphics.com)
|
|
||||||
Keith Whitwell, Tungsten Graphics, Inc. (keith 'at' tungstengraphics.com)
|
|
||||||
|
|
||||||
Status
|
|
||||||
|
|
||||||
Shipping (Mesa 4.0.4 and later)
|
|
||||||
|
|
||||||
Version
|
|
||||||
|
|
||||||
1.0
|
|
||||||
|
|
||||||
Number
|
|
||||||
|
|
||||||
TBD
|
|
||||||
|
|
||||||
Dependencies
|
|
||||||
|
|
||||||
OpenGL 1.0 or later is required
|
|
||||||
This extensions is written against the OpenGL 1.4 Specification.
|
|
||||||
|
|
||||||
Overview
|
|
||||||
|
|
||||||
This extension adds a new pixel storage parameter to indicate that
|
|
||||||
images are to be packed in top-to-bottom order instead of OpenGL's
|
|
||||||
conventional bottom-to-top order. Only pixel packing can be
|
|
||||||
inverted (i.e. for glReadPixels, glGetTexImage, glGetConvolutionFilter,
|
|
||||||
etc).
|
|
||||||
|
|
||||||
Almost all known image file formats store images in top-to-bottom
|
|
||||||
order. As it is, OpenGL reads images from the frame buffer in
|
|
||||||
bottom-to-top order. Thus, images usually have to be inverted before
|
|
||||||
writing them to a file with image I/O libraries. This extension
|
|
||||||
allows images to be read such that inverting isn't needed.
|
|
||||||
|
|
||||||
IP Status
|
|
||||||
|
|
||||||
None
|
|
||||||
|
|
||||||
Issues
|
|
||||||
|
|
||||||
1. Should we also defined UNPACK_INVERT_MESA for glDrawPixels, etc?
|
|
||||||
|
|
||||||
Resolved: No, we're only concerned with pixel packing. There are other
|
|
||||||
solutions for inverting images when using glDrawPixels (negative Y pixel
|
|
||||||
zoom) or glTexImage (invert the vertex T coordinates). It would be easy
|
|
||||||
enough to define a complementary extension for pixel packing in the
|
|
||||||
future if needed.
|
|
||||||
|
|
||||||
New Procedures and Functions
|
|
||||||
|
|
||||||
None
|
|
||||||
|
|
||||||
New Tokens
|
|
||||||
|
|
||||||
Accepted by the <pname> parameter of PixelStorei and PixelStoref
|
|
||||||
and the <pname> parameter of GetIntegerv, GetFloatv, GetDoublev
|
|
||||||
and GetBooleanv:
|
|
||||||
|
|
||||||
PACK_INVERT_MESA 0x8758
|
|
||||||
|
|
||||||
Additions to Chapter 2 of the OpenGL 1.4 Specification (OpenGL Operation)
|
|
||||||
|
|
||||||
None
|
|
||||||
|
|
||||||
Additions to Chapter 3 of the OpenGL 1.4 Specification (Rasterization)
|
|
||||||
|
|
||||||
None
|
|
||||||
|
|
||||||
Additions to Chapter 4 of the OpenGL 1.4 Specification (Per-Fragment
|
|
||||||
Operations and the Frame Buffer)
|
|
||||||
|
|
||||||
Add the following entry to table 4.4 (PixelStore parameters) on page 182:
|
|
||||||
|
|
||||||
Parameter Name Type Initial Value Valid Range
|
|
||||||
---------------------------------------------------------
|
|
||||||
PACK_INVERT_MESA boolean FALSE TRUE/FALSE
|
|
||||||
|
|
||||||
In the section labeled "Placement in Client Memory" on page 184
|
|
||||||
insert the following text into the paragraph before the sentence
|
|
||||||
that starts with "If the format is RED, GREEN, BLUE...":
|
|
||||||
|
|
||||||
"The parameter PACK_INVERT_MESA controls whether the image is packed
|
|
||||||
in bottom-to-top order (the default) or top-to-bottom order. Equation
|
|
||||||
3.8 is modified as follows:
|
|
||||||
|
|
||||||
... the first element of the Nth row is indicated by
|
|
||||||
|
|
||||||
p + Nk, if PACK_INVERT_MESA is false
|
|
||||||
p + k * (H - 1) - Nk, if PACK_INVERT_MESA is true, where H is the
|
|
||||||
image height
|
|
||||||
"
|
|
||||||
|
|
||||||
Additions to Chapter 5 of the OpenGL 1.4 Specification (Special Functions)
|
|
||||||
|
|
||||||
None
|
|
||||||
|
|
||||||
Additions to Chapter 6 of the OpenGL 1.4 Specification (State and
|
|
||||||
State Requests)
|
|
||||||
|
|
||||||
None
|
|
||||||
|
|
||||||
Additions to Appendix A of the OpenGL 1.4 Specification (Invariance)
|
|
||||||
|
|
||||||
None
|
|
||||||
|
|
||||||
Additions to the AGL/GLX/WGL Specifications
|
|
||||||
|
|
||||||
None
|
|
||||||
|
|
||||||
GLX Protocol
|
|
||||||
|
|
||||||
None
|
|
||||||
|
|
||||||
Errors
|
|
||||||
|
|
||||||
None
|
|
||||||
|
|
||||||
New State
|
|
||||||
|
|
||||||
Add the following entry to table 6.20 (Pixels) on page 235:
|
|
||||||
|
|
||||||
Get Value Type Get Cmd Initial Value Description Sec Attribute
|
|
||||||
--------------------------------------------------------------------------------------------------
|
|
||||||
PACK_INVERT_MESA boolean GetBoolean FALSE Value of PACK_INVERT_MESA 4.3.2 pixel-store
|
|
||||||
|
|
||||||
Revision History
|
|
||||||
|
|
||||||
21 September 2002 - Initial draft
|
|
||||||
@@ -1,197 +0,0 @@
|
|||||||
Name
|
|
||||||
|
|
||||||
MESA_ycbcr_texture
|
|
||||||
|
|
||||||
Name Strings
|
|
||||||
|
|
||||||
GL_MESA_ycbcr_texture
|
|
||||||
|
|
||||||
Contact
|
|
||||||
|
|
||||||
Brian Paul, Tungsten Graphics, Inc. (brian 'at' tungstengraphics.com)
|
|
||||||
Keith Whitwell, Tungsten Graphics, Inc. (keith 'at' tungstengraphics.com)
|
|
||||||
|
|
||||||
Status
|
|
||||||
|
|
||||||
Shipping (Mesa 4.0.4 and later)
|
|
||||||
|
|
||||||
Version
|
|
||||||
|
|
||||||
1.0
|
|
||||||
|
|
||||||
Number
|
|
||||||
|
|
||||||
TBD
|
|
||||||
|
|
||||||
Dependencies
|
|
||||||
|
|
||||||
OpenGL 1.0 or later is required
|
|
||||||
This extensions is written against the OpenGL 1.4 Specification.
|
|
||||||
NV_texture_rectangle effects the definition of this extension.
|
|
||||||
|
|
||||||
Overview
|
|
||||||
|
|
||||||
This extension supports texture images in the YCbCr format. There is
|
|
||||||
no support for converting YCbCr images to RGB or vice versa. The
|
|
||||||
intention is for YCbCr image data to be directly sent to the renderer
|
|
||||||
without any pixel transfer operations. Only 2D texture images are
|
|
||||||
supported (not glDrawPixels, glReadPixels, etc).
|
|
||||||
|
|
||||||
A YCbCr pixel (texel) is a 16-bit unsigned short with two components.
|
|
||||||
The first component is luminance (Y). For pixels in even-numbered
|
|
||||||
image columns, the second component is Cb. For pixels in odd-numbered
|
|
||||||
image columns, the second component is Cr. If one were to convert the
|
|
||||||
data to RGB one would need to examine two pixels from columns N and N+1
|
|
||||||
(where N is even) to deduce the RGB color.
|
|
||||||
|
|
||||||
IP Status
|
|
||||||
|
|
||||||
None
|
|
||||||
|
|
||||||
Issues
|
|
||||||
|
|
||||||
None
|
|
||||||
|
|
||||||
New Procedures and Functions
|
|
||||||
|
|
||||||
None
|
|
||||||
|
|
||||||
New Tokens
|
|
||||||
|
|
||||||
Accepted by the <internalFormat> and <format> parameters of
|
|
||||||
TexImage2D and TexSubImage2D:
|
|
||||||
|
|
||||||
GL_YCBCR_MESA 0x8757
|
|
||||||
|
|
||||||
Accepted by the <type> parameter of TexImage2D and TexSubImage2D:
|
|
||||||
|
|
||||||
GL_UNSIGNED_SHORT_8_8_MESA 0x85BA /* same as Apple's */
|
|
||||||
GL_UNSIGNED_SHORT_8_8_REV_MESA 0x85BB /* same as Apple's */
|
|
||||||
|
|
||||||
Additions to Chapter 2 of the OpenGL 1.4 Specification (OpenGL Operation)
|
|
||||||
|
|
||||||
None
|
|
||||||
|
|
||||||
Additions to Chapter 3 of the OpenGL 1.4 Specification (Rasterization)
|
|
||||||
|
|
||||||
In section 3.6.4, Rasterization of Pixel Rectangles, on page 102,
|
|
||||||
add the following to Table 3.8 (Packed pixel formats):
|
|
||||||
|
|
||||||
type Parameter GL Data Number of Matching
|
|
||||||
Token Name Type Components Pixel Formats
|
|
||||||
-------------- ------- ---------- -------------
|
|
||||||
UNSIGNED_SHORT_8_8_MESA ushort 3 YCBCR_422_MESA
|
|
||||||
UNSIGNED_SHORT_8_8_REV_MESA ushort 3 YCBCR_422_MESA
|
|
||||||
|
|
||||||
|
|
||||||
In section 3.6.4, Rasterization of Pixel Rectangles, on page 102,
|
|
||||||
add the following to Table 3.10 (UNSIGNED_SHORT formats):
|
|
||||||
|
|
||||||
UNSIGNED_SHORT_8_8_MESA:
|
|
||||||
|
|
||||||
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
|
|
||||||
+-------------------------------+-------------------------------+
|
|
||||||
| 1st | 2nd |
|
|
||||||
+-------------------------------+-------------------------------+
|
|
||||||
|
|
||||||
UNSIGNED_SHORT_8_8_REV_MESA:
|
|
||||||
|
|
||||||
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
|
|
||||||
+-------------------------------+-------------------------------+
|
|
||||||
| 2nd | 1st |
|
|
||||||
+-------------------------------+-------------------------------+
|
|
||||||
|
|
||||||
|
|
||||||
In section 3.6.4, Rasterization of Pixel Rectangles, on page 102,
|
|
||||||
add the following to Table 3.12 (Packed pixel fiedl assignments):
|
|
||||||
|
|
||||||
First Second Third Fourth
|
|
||||||
Format Element Element Element Element
|
|
||||||
------ ------- ------- ------- -------
|
|
||||||
YCBCR_422_MESA luminance chroma
|
|
||||||
|
|
||||||
|
|
||||||
In section 3.8.1, Texture Image Specification, on page 125, add
|
|
||||||
another item to the list of TexImage2D and TexImage3D equivalence
|
|
||||||
exceptions:
|
|
||||||
|
|
||||||
* The value of internalformat and format may be YCBCR_MESA to
|
|
||||||
indicate that the image data is in YCbCr format. type must
|
|
||||||
be either UNSIGNED_SHORT_8_8_MESA or UNSIGNED_SHORT_8_8_REV_MESA
|
|
||||||
as seen in tables 3.8 and 3.10. Table 3.12 describes the mapping
|
|
||||||
between Y and Cb/Cr to the components.
|
|
||||||
If NV_texture_rectangle is supported target may also be
|
|
||||||
TEXTURE_RECTANGLE_NV or PROXY_TEXTURE_RECTANGLE_NV.
|
|
||||||
All pixel transfer operations are bypassed. The texture is stored as
|
|
||||||
YCbCr, not RGB. Queries of the texture's red, green and blue component
|
|
||||||
sizes will return zero.
|
|
||||||
|
|
||||||
|
|
||||||
In section 3.8.1, Texture Image Specification, on page 126, add
|
|
||||||
another item to the list of TexImage1D and TexImage2D equivalence
|
|
||||||
exceptions:
|
|
||||||
|
|
||||||
* The value of internalformat and format can not be YCBCR_MESA.
|
|
||||||
|
|
||||||
|
|
||||||
In section 3.8.2, Alternate Texture Image Specification Commands, on
|
|
||||||
page 129, insert this paragraph after the first full paragraph on the
|
|
||||||
page:
|
|
||||||
|
|
||||||
"If the internal storage format of the image being updated by
|
|
||||||
TexSubImage2D is YCBCR_MESA then format must be YCBCR_MESA.
|
|
||||||
The error INVALID_OPERATION will be generated otherwise."
|
|
||||||
|
|
||||||
|
|
||||||
Additions to Chapter 4 of the OpenGL 1.4 Specification (Per-Fragment
|
|
||||||
Operations and the Frame Buffer)
|
|
||||||
|
|
||||||
None
|
|
||||||
|
|
||||||
Additions to Chapter 5 of the OpenGL 1.4 Specification (Special Functions)
|
|
||||||
|
|
||||||
None
|
|
||||||
|
|
||||||
Additions to Chapter 6 of the OpenGL 1.4 Specification (State and
|
|
||||||
State Requests)
|
|
||||||
|
|
||||||
None
|
|
||||||
|
|
||||||
Additions to Appendix A of the OpenGL 1.4 Specification (Invariance)
|
|
||||||
|
|
||||||
None
|
|
||||||
|
|
||||||
Additions to the AGL/GLX/WGL Specifications
|
|
||||||
|
|
||||||
None
|
|
||||||
|
|
||||||
GLX Protocol
|
|
||||||
|
|
||||||
None
|
|
||||||
|
|
||||||
Errors
|
|
||||||
|
|
||||||
INVALID_ENUM is generated by TexImage2D if <internalFormat> is
|
|
||||||
MESA_YCBCR but <format> is not MESA_YCBCR.
|
|
||||||
|
|
||||||
INVALID_ENUM is generated by TexImage2D if <format> is MESA_YCBCR but
|
|
||||||
<internalFormat> is not MESA_YCBCR.
|
|
||||||
|
|
||||||
INVALID_VALUE is generated by TexImage2D if <format> is MESA_YCBCR and
|
|
||||||
<internalFormat> is MESA_YCBCR and <border> is not zero.
|
|
||||||
|
|
||||||
INVALID_OPERATION is generated by TexSubImage2D if the internal image
|
|
||||||
format is YCBCR_MESA and format is not YCBCR_MESA.
|
|
||||||
|
|
||||||
INVALID_OPERATION is generated by CopyTexSubImage2D if the internal
|
|
||||||
image is YCBCR_MESA.
|
|
||||||
|
|
||||||
New State
|
|
||||||
|
|
||||||
Edit table 6.16 on page 231: change the type of TEXTURE_INTERNAL_FORMAT
|
|
||||||
from n x Z42 to n x Z43 to indicate that internal format may also be
|
|
||||||
YCBCR_MESA.
|
|
||||||
|
|
||||||
Revision History
|
|
||||||
|
|
||||||
20 September 2002 - Initial draft
|
|
||||||
@@ -1,25 +1,10 @@
|
|||||||
|
|
||||||
3Dfx Glide device driver
|
3Dfx Glide device driver for Mesa 3.3
|
||||||
|
(see below for FAQ)
|
||||||
|
|
||||||
|
|
||||||
|
Warning: this document is rather out of date, but most of the information
|
||||||
Info for Mesa 4.1
|
should still apply.
|
||||||
-----------------
|
|
||||||
|
|
||||||
The 3dfx Glide driver in Mesa is disabled by default. Not too many people
|
|
||||||
use this driver anymore and at some point down the road it will be dropped.
|
|
||||||
|
|
||||||
To use/enable the Glide driver either do this:
|
|
||||||
|
|
||||||
'./configure --with-glide=DIR' Where DIR is the location of Glide, like
|
|
||||||
/usr/ or /usr/local
|
|
||||||
|
|
||||||
OR
|
|
||||||
|
|
||||||
'make linux-x86-glide' If using the old-style Makefile system.
|
|
||||||
|
|
||||||
The rest of this file hasn't changed since Mesa 3.3. Some of it's out of
|
|
||||||
date, but some is still valid.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -32,6 +17,8 @@ What do you need ?
|
|||||||
under Linux (more information in the "Useful Glide Environment
|
under Linux (more information in the "Useful Glide Environment
|
||||||
Variables");
|
Variables");
|
||||||
|
|
||||||
|
- Mesa 3.1;
|
||||||
|
|
||||||
- The 3Dfx Glide library 2.3 or later for your OS (the 2.4 works fine).
|
- The 3Dfx Glide library 2.3 or later for your OS (the 2.4 works fine).
|
||||||
The Voodoo2 requires the Glide library 2.51. The Glide 3.1 is not
|
The Voodoo2 requires the Glide library 2.51. The Glide 3.1 is not
|
||||||
compatible with the Glide 2.x so it doesn't work with the current
|
compatible with the Glide 2.x so it doesn't work with the current
|
||||||
@@ -40,6 +27,8 @@ What do you need ?
|
|||||||
- A compiler supported by the Glide library (Micro$oft VC++ (tested),
|
- A compiler supported by the Glide library (Micro$oft VC++ (tested),
|
||||||
Watcom (tested), GCC for Linux (tested), etc.);
|
Watcom (tested), GCC for Linux (tested), etc.);
|
||||||
|
|
||||||
|
- A lot of patience, this is an alpha release.
|
||||||
|
|
||||||
- It's nice to have two monitors - one for your normal graphics
|
- It's nice to have two monitors - one for your normal graphics
|
||||||
card and one for your 3Dfx card. If something goes wrong with
|
card and one for your 3Dfx card. If something goes wrong with
|
||||||
an application using the 3Dfx hardware you can still see your
|
an application using the 3Dfx hardware you can still see your
|
||||||
|
|||||||
@@ -3,71 +3,61 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
* Introduction
|
Introduction
|
||||||
|
|
||||||
Mesa 4.1 features a driver for the BeOS. The driver implements
|
Mesa 3.1 features a new driver for the BeOS. The new driver implements
|
||||||
a clone of the BGLView class. This class, derived from BView, allows
|
a clone of the BGLView class. This class, derived from BView, allows
|
||||||
OpenGL rendering into a BeOS window.
|
OpenGL rendering into a BeOS window.
|
||||||
The 4.1 BeOS driver is an update of Brian Paul's BeOS driver released in Mesa 3.1.
|
|
||||||
|
|
||||||
Any application which uses the BGLView should be able to use Mesa
|
Any application which uses the BGLView should be able to use Mesa
|
||||||
instead of Be's OpenGL without changing any code.
|
instead of Be's OpenGL without changing any code.
|
||||||
|
|
||||||
Since Be's OpenGL implementation (as of R5) is basically just the
|
Since Be's OpenGL implementation (as of R4) is basically just the
|
||||||
SGI sample implementation, it's pretty slow. You'll see that Mesa
|
SGI sample implementation, it's pretty slow. You'll see that Mesa
|
||||||
is considerably faster.
|
is considerably faster.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
* Source Code
|
Source Code
|
||||||
|
|
||||||
The source code for the driver is in Mesa-4.1/src/BeOS/ directory.
|
The source code for the driver is in Mesa-3.1/src/BeOS/GLView.cpp
|
||||||
It's not 100% finished at this time but many GLUT-based demos are
|
It's not 100% finished at this time but many GLUT-based demos are
|
||||||
working. No optimizations have been made at this time.
|
working. No optimizations have been made at this time.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
* Compiling
|
Compiling
|
||||||
|
|
||||||
Requirements:
|
In the Mesa-3.x directory type "make -f Makefile.X11 beos-r4".
|
||||||
- gcc version 2.95.3 for BeOS
|
When it finishes the libMesaGL.so and libMesaGLU.so libraries for
|
||||||
You can find it here: http://www.bebits.com/app/2157
|
BeOS will be in the Mesa-3.x/lib/ directory.
|
||||||
|
|
||||||
Move to the Mesa-4.x src sub-directory and then type "make -f Makefile.BeOS-R5".
|
|
||||||
When it finishes the Mesa based libGL.so library for
|
|
||||||
BeOS will be in the Mesa-4.x/src/obj.{x86|ppc}/ directory.
|
|
||||||
|
|
||||||
To install it as Be's default libGL.so replacement, put it in your
|
|
||||||
/boot/home/config/lib/ directory. All your GL/GLUTapps will use
|
|
||||||
the Mesa based then.
|
|
||||||
|
|
||||||
By default, it build a non-debug version library.
|
|
||||||
The x86 (MMX, SSE and 3DNOW) optimizations are also supported for x86 target.
|
|
||||||
Sorry, Mesa don't have ppc (Altivec) optimizations yet.
|
|
||||||
|
|
||||||
|
|
||||||
* Example Programs
|
|
||||||
|
|
||||||
Look in the Mesa-4.x/BeOS/ directory for one or two BGLView demo
|
Example Programs
|
||||||
|
|
||||||
|
Look in the Mesa-3.x/BeOS/ directory for one or two BGLView demo
|
||||||
programs. They should have been compiled along with the Mesa
|
programs. They should have been compiled along with the Mesa
|
||||||
library.
|
library.
|
||||||
|
|
||||||
|
|
||||||
* GLUT
|
|
||||||
|
|
||||||
A beta version of GLUT 3.7 port for BeOS can be found at
|
GLUT
|
||||||
http://anobject.com/jehamby/Code/Glut-3.7-x86.zip.
|
|
||||||
|
|
||||||
There's is a 2.5 version in src-glut.beos/, too.
|
A version of GLUT 2.5 for BeOS can be found in src-glut.beos/.
|
||||||
The original distribution can be obtained from
|
The original distribution can be obtained from
|
||||||
http://home.beoscentral.com/jehamby/Glut-3.5-x86.zip
|
http://home.beoscentral.com/jehamby/Glut-3.5-x86.zip
|
||||||
|
|
||||||
They are special version of GLUT adapted for the BeOS. I don't
|
This is a special version of GLUT adapted for the BeOS. I don't
|
||||||
believe Mark Kilgard's normal GLUT distribution includes BeOS
|
believe Mark Kilgard's normal GLUT distribution includes BeOS
|
||||||
support.
|
support.
|
||||||
|
|
||||||
|
It seems that you have to recompile GLUT with libMesaGL.so instead
|
||||||
|
of libGL.so in order for everything to work. I'm not sure why.
|
||||||
|
|
||||||
* Special Features
|
|
||||||
|
|
||||||
|
Special Features
|
||||||
|
|
||||||
Mesa's implementation of the BGLView class has an extra member
|
Mesa's implementation of the BGLView class has an extra member
|
||||||
function: CopySubBufferMESA(). It basically works like SwapBuffers()
|
function: CopySubBufferMESA(). It basically works like SwapBuffers()
|
||||||
@@ -79,9 +69,7 @@ cause a fatal error when running with Be's OpenGL.
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
* Work Left To Do
|
Work Left To Do
|
||||||
|
|
||||||
BDirectWindow single buffering support is not implemented yet.
|
|
||||||
|
|
||||||
Color index mode is not implemented yet.
|
Color index mode is not implemented yet.
|
||||||
|
|
||||||
@@ -92,7 +80,7 @@ rendering. This should also be implemented for Mesa.
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
* Old BeOS Driver
|
Old BeOS Driver
|
||||||
|
|
||||||
Mesa 2.6 had an earlier BeOS driver. It was based on Mesa's Off-screen
|
Mesa 2.6 had an earlier BeOS driver. It was based on Mesa's Off-screen
|
||||||
rendering interface, not BGLView. If you're interested in the older
|
rendering interface, not BGLView. If you're interested in the older
|
||||||
@@ -100,7 +88,7 @@ driver you should get Mesa 2.6.
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
* BeOS and Glide
|
BeOS and Glide
|
||||||
|
|
||||||
Mesa 3.0 supported the 3Dfx/Glide library on Beos. Download Mesa 3.0
|
Mesa 3.0 supported the 3Dfx/Glide library on Beos. Download Mesa 3.0
|
||||||
if interested. Ideally, the 3Dfx/Glide support should be updated to
|
if interested. Ideally, the 3Dfx/Glide support should be updated to
|
||||||
@@ -111,4 +99,4 @@ of February, 1999.
|
|||||||
|
|
||||||
|
|
||||||
----------------------------------------------------------------------
|
----------------------------------------------------------------------
|
||||||
$Id: README.BEOS,v 1.7 2002/09/19 16:19:44 brianp Exp $
|
$Id: README.BEOS,v 1.6 1999/11/27 01:40:40 brianp Exp $
|
||||||
|
|||||||
171
docs/README.DJ
171
docs/README.DJ
@@ -1,4 +1,4 @@
|
|||||||
Mesa 4.1 DOS/DJGPP Port v1.2
|
Mesa 4.0 DOS/DJGPP Port v1.0
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
|
||||||
@@ -6,144 +6,75 @@
|
|||||||
Description:
|
Description:
|
||||||
~~~~~~~~~~~~
|
~~~~~~~~~~~~
|
||||||
|
|
||||||
Well, guess what... this is the DOS port of Mesa 4.1, for DJGPP fans... Whoa!
|
Well, guess what... this is the DOS port of MESA 4.0, for DJGPP fans... Whoa!
|
||||||
The driver has its origins in ddsample.c, written by Brian Paul and found by me
|
|
||||||
in Mesa 3.4.2.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Legal:
|
Legal:
|
||||||
~~~~~~
|
~~~~~~
|
||||||
|
|
||||||
Mesa copyright applies, provided this package is used within Mesa. For anything
|
MESA copyright applies.
|
||||||
else, see GPL.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Installation:
|
Installation:
|
||||||
~~~~~~~~~~~~~
|
~~~~~~~~~~~~~
|
||||||
|
|
||||||
Unzip and type:
|
Type "make -f Makefile.DJ" to compile the libraries. Make accepts some options
|
||||||
|
which are passed to compiler: the target cpu (CPU=..., default=`pentium') and
|
||||||
make -f Makefile.DJ [OPTIONS...]
|
X86 specific options (HAVE_X86=1, HAVE_MMX=1, HAVE_SSE=1, HAVE_3DNOW=1). The
|
||||||
|
core library (libGL) requires LFN support during compilation. Also, you must
|
||||||
Available options:
|
have the DXE2 package (available on SimTel.Net, courtesy of Andrew Zabolotny)
|
||||||
|
installed in order to build the dynamic modules; if you encounter errors, you
|
||||||
Environment variables:
|
can fetch a patched version from my web page.
|
||||||
CPU optimize for the given processor.
|
The demos are not built automagically (see Pitfalls below). To make them, use
|
||||||
default = k6
|
one of the following rules:
|
||||||
BIG_OPT=1 crazy optimizations; not very useful, though...
|
Static:
|
||||||
default = no
|
gcc -o OUT.exe IN.c -lglut -lglu -lgl
|
||||||
GLIDE absolute path to Glide library; used with FX.
|
Dynamic:
|
||||||
default = $(TOP)/include/glide3
|
gcc -o OUT.exe -include dmesadxe.h IN.c -ligl -liglu -liglut -ldl
|
||||||
FX=1 build for 3dfx Glide3; use it if you have the Glide
|
Usage of the dynamic modules requires three things:
|
||||||
SDK (designed for your platform), and, of course, a
|
- include DMESADXE.H in one of the sources, so references inside
|
||||||
3dfx card... Note that this disables compilation of
|
dynamic modules will get resolved (or use `-include' directive)
|
||||||
actual DMesa code, as Glide does all the stuff!
|
- link against import libraries (libIgl*.a) and LIBDL.A, which will do
|
||||||
default = no
|
the dynamic linkage job for you
|
||||||
HAVE_X86=1 optimize for i386.
|
- put the DXEs somewhere along the library path (LD_LIBRARY_PATH) or
|
||||||
default = no
|
in the current directory
|
||||||
HAVE_MMX=1 MMX instructions; use only if you assembler/compiler
|
|
||||||
supports MMX instruction set; backwards compatibility
|
|
||||||
with older processors is still preserved.
|
|
||||||
default = no
|
|
||||||
HAVE_SSE=1 (see HAVE_MMX)
|
|
||||||
default = no
|
|
||||||
HAVE_3DNOW=1 (see HAVE_MMX)
|
|
||||||
default = no
|
|
||||||
|
|
||||||
Targets:
|
|
||||||
all: build everything
|
|
||||||
libgl: build GL
|
|
||||||
libglu: build GLU
|
|
||||||
libglut: build GLUT
|
|
||||||
clean: remove object files
|
|
||||||
realclean: remove all generated files
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Tested on:
|
Tested on:
|
||||||
CPU: K6-2 (CXT) @500(412.5) MHz
|
CPU: Intel Pentium w/ MMX @166 MHz
|
||||||
Mainboard: ViA Apollo VP2/97 w/ 128 MB SDRAM
|
Mainboard: ViA Apollo VP2 w/ 128 MB SDRAM
|
||||||
Video card: PowerColor Evil King3 (Voodoo3 3000) w/ 16384 kB SDRAM
|
Video card: Matrox Millenium 2064W w/ 2048 kB WRAM, BIOS v3.0
|
||||||
DJGPP: djdev 2.04 + gcc v3.2 + make v3.79.1
|
DJGPP: djdev 2.03 + gcc v3.0.3 + make v3.79
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
FAQ:
|
libGL (the core):
|
||||||
~~~~
|
~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
1. Compilation
|
Of course, MESA 4.0 core sources are required. It will probably work with
|
||||||
|
MESA 3.5, but not a chance with earlier versions due to major changes to the
|
||||||
|
MESA driver interface and the directory tree. All should compile succesfully.
|
||||||
|
|
||||||
Q) I tried to run `make' and it exits because `gcc' complains it cannot find
|
The driver has its origins in ddsample.c, written by Brian Paul and found by
|
||||||
some stupid file.
|
me in MESA 3.4.2. I touched almost all the functions, changing the coding
|
||||||
A) You need LFN support.
|
style :-( Sorry!
|
||||||
A) When compiling for Glide (FX=1), pay attention to Glide path.
|
|
||||||
|
|
||||||
2. Dynamic modules
|
Pitfalls:
|
||||||
|
1. The current version supports only RGB[A] modes, for it made no sense to me
|
||||||
|
to endorse color-index (aka palette) modes.
|
||||||
|
2. Single-buffered is not allowed at all. Until I can find a way to use *REAL*
|
||||||
|
hardware acceleration, it won't get implemented.
|
||||||
|
3. Another weird "feature" is that buffer width must be multiple of 4 (I'm a
|
||||||
|
lazy programmer and I found that the easiest way to keep buffer handling at
|
||||||
|
peak performance ;-).
|
||||||
|
|
||||||
Q) What are you mumbling about dynamic modules?
|
|
||||||
A) You must have the DXE2 package (available on SimTel.Net, courtesy of
|
|
||||||
Andrew Zabolotny) installed in order to build the dynamic modules.
|
|
||||||
|
|
||||||
Q) I have DXE2, but I couldn't build the `dxe2gen.exe'.
|
|
||||||
Q) I built `dxe2gen.exe', but it doesn't do the job right.
|
|
||||||
A) There is a patched version on my web page.
|
|
||||||
|
|
||||||
Q) DXE2 modules give me headaches...
|
libGLU:
|
||||||
A) The DXE2 modules are not compulsory. The static libraries are still built
|
~~~~~~~
|
||||||
and you can use them in the old-fashioned, classic way... and learn to
|
|
||||||
live with your ~2MB executable size. For example:
|
|
||||||
gcc -o OUT.exe IN.c -lglut -lglu -lgl
|
|
||||||
|
|
||||||
Q) Okay, DXE2 modules are built. How can I use them?
|
Mesa GLU sources are required.
|
||||||
A) Build your export object file; then link it with your application.
|
|
||||||
For example:
|
|
||||||
dxe2res -o dmesadxe.c gl.dxe glu.dxe glut.dxe
|
|
||||||
gcc -o dmesadxe.o dmesadxe.c
|
|
||||||
gcc -o OUT.exe dmesadxe.o IN.c -liglut -liglu -ligl -ldl
|
|
||||||
|
|
||||||
Q) What is that `dxe2res.exe' thing?
|
|
||||||
A) That is an utility that generates the export file for a given set of
|
|
||||||
modules. If you can't find it in the DXE2 package, you must be looking at
|
|
||||||
the wrong archive :)
|
|
||||||
|
|
||||||
3. Using Mesa for DJGPP
|
|
||||||
|
|
||||||
Q) Does this build work in Win9x?
|
|
||||||
A) Yes.
|
|
||||||
|
|
||||||
Q) Does it work under NT (W2k, XP) core?
|
|
||||||
A) Uh... probably not!
|
|
||||||
|
|
||||||
Q) I made a simple application and it does nothing. It exits right away. Not
|
|
||||||
even a blank screen.
|
|
||||||
A) The current version supports only RGB[A] modes, for it made no sense to
|
|
||||||
me to endorse color-index (aka palette) modes.
|
|
||||||
A) Single-buffered is not allowed at all. Until I can find a way to use
|
|
||||||
*REAL* hardware acceleration, it won't get implemented.
|
|
||||||
A) Another weird "feature" is that buffer width must be multiple of 4 (I'm a
|
|
||||||
lazy programmer and I found that the easiest way to keep buffer handling
|
|
||||||
at peak performance ;-).
|
|
||||||
|
|
||||||
Q) My demo doesn't display text. I know I used the glut font routines!
|
|
||||||
A) Then you probably use GLUT as a DXE. Well, there is no direct access to
|
|
||||||
variables due to the way DXE works. Read the documentation. The author of
|
|
||||||
GLUT took this into account for _WIN32 DLL's only; I don't want to modify
|
|
||||||
his headers. The only workaround is to link GLUT the old way :-(
|
|
||||||
|
|
||||||
Q) DMesa is so SLOOOW! The Win32 OpenGL performs so much
|
|
||||||
better...
|
|
||||||
A) Is that a question? If you have a Voodoo3/Banshee card, you're lucky. The
|
|
||||||
Glide port is on my web page. If you haven't, sorry; everything is done
|
|
||||||
in software. Suggestions?
|
|
||||||
|
|
||||||
Q) I have a super/mega/ultra monitor and all you can do is 60Hz? My eyes are
|
|
||||||
leaking from the orbits...
|
|
||||||
A) If you were compiling for Glide, see Glide info. If not, be aware that
|
|
||||||
refresh rate control works only for VESA 3.0. The environment variable
|
|
||||||
DMESA_REFRESH sets the default screen refresh. For example:
|
|
||||||
set DMESA_REFRESH=75
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -154,7 +85,7 @@ Well, this "skeletal" GLUT implementation is not mine. Thanks should go to
|
|||||||
Bernhard Tschirren, Mark Kilgard, Brian Paul and probably others (or probably
|
Bernhard Tschirren, Mark Kilgard, Brian Paul and probably others (or probably
|
||||||
not ;-). I only changed it to be self-standing (Allegro-free). The keyboard,
|
not ;-). I only changed it to be self-standing (Allegro-free). The keyboard,
|
||||||
mouse and timer drivers were inspired from an old project of mine (D3Xl) and
|
mouse and timer drivers were inspired from an old project of mine (D3Xl) and
|
||||||
fixed with many Allegro "infusions"; I deeply thank to Shawn Hargreaves et co.
|
fixed with some Allegro "infusions"; I deeply thank to Shawn Hargreaves et co.
|
||||||
|
|
||||||
My keyboard driver used only scancodes, but since GLUT requires ASCII values
|
My keyboard driver used only scancodes, but since GLUT requires ASCII values
|
||||||
for keys, I borrowed the translation tables (and maybe more) from Allegro.
|
for keys, I borrowed the translation tables (and maybe more) from Allegro.
|
||||||
@@ -191,14 +122,6 @@ History:
|
|||||||
|
|
||||||
v1.0 mar-2002 initial release
|
v1.0 mar-2002 initial release
|
||||||
|
|
||||||
v1.1 sep-2002 + added 3dfx Glide3 support
|
|
||||||
+ added refresh rate control
|
|
||||||
+ added fonts in glut
|
|
||||||
* lots of minor changes
|
|
||||||
|
|
||||||
v1.2 nov-2002 * synced w/ Mesa-4.1
|
|
||||||
- removed dmesadxe.h
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Contact:
|
Contact:
|
||||||
|
|||||||
@@ -1,17 +1,12 @@
|
|||||||
File: docs/README.WIN32
|
File: docs/README.WIN32
|
||||||
|
|
||||||
Last updated: Nov 08, 2002 - Karl Schultz - kschultz@users.sourceforge.net
|
Last updated: Nov 29, 2001 - Karl Schultz - kschultz@users.sourceforge.net
|
||||||
|
|
||||||
Quick Start
|
Quick Start
|
||||||
|
|
||||||
Unzip both ZIP files (MesaLib and MesaDemos) into the same directory.
|
|
||||||
This is important because the current makefiles in MesaLib assume that
|
|
||||||
the directories in MesaDemos are present.
|
|
||||||
|
|
||||||
If you have Microsoft Visual C++ 6.0 installed, simply go to the top directory
|
If you have Microsoft Visual C++ 6.0 installed, simply go to the top directory
|
||||||
of the Mesa distribution and type 'nmake -f Makefile.win NODEBUG=1' for
|
of the Mesa distribution and type 'nmake -f Makefile.win NODEBUG=1' for
|
||||||
an optimized build. Note that you may have to run ...VC98/BIN/VCVARS32.BAT
|
an optimized build.
|
||||||
to set up the appropriate compiler environment variables.
|
|
||||||
|
|
||||||
Details and Notes
|
Details and Notes
|
||||||
|
|
||||||
@@ -20,16 +15,11 @@ Details and Notes
|
|||||||
si-glu MesaGLU.dll, MesaGLU.lib
|
si-glu MesaGLU.dll, MesaGLU.lib
|
||||||
src-glut glut32.dll, glut32.lib
|
src-glut glut32.dll, glut32.lib
|
||||||
demos a handful of demo executables.
|
demos a handful of demo executables.
|
||||||
book more examples
|
|
||||||
samples more examples
|
|
||||||
|
|
||||||
- After building, you can copy the above DLL files to a place in your PATH
|
- After building, you can copy the above DLL files to a place in your PATH
|
||||||
such as $SystemRoot/SYSTEM32. If you don't like putting things in a
|
or to the demos directory if you just want to give the demos a try.
|
||||||
system directory, place them in the same directory as the executable(s).
|
The DLL and LIB files are copied to the ./lib directory. The makefile
|
||||||
For example, you can copy the DLL files to the demos directory if you
|
creates this directory if it does not already exist.
|
||||||
just want to run the demos. The build process places the DLL and LIB files
|
|
||||||
in the ./lib directory. The makefile creates this directory if it does
|
|
||||||
not already exist.
|
|
||||||
|
|
||||||
- The make targets 'clean' and 'clobber' will remove objects and libraries.
|
- The make targets 'clean' and 'clobber' will remove objects and libraries.
|
||||||
But the files in ./lib are never cleaned.
|
But the files in ./lib are never cleaned.
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
|
|
||||||
Mesa Unix/X11 Information
|
Mesa 4.0.3 Unix/X11 Information
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -18,15 +18,21 @@ There are two ways to compile Mesa on Unix/X11 systems:
|
|||||||
the top-level Makefile and Make-config files. There are instructions in
|
the top-level Makefile and Make-config files. There are instructions in
|
||||||
each file.
|
each file.
|
||||||
|
|
||||||
When finished, the Mesa libraries will be in the Mesa-x.y/lib/ directory.
|
|
||||||
|
|
||||||
|
|
||||||
2. The new way:
|
2. The new way:
|
||||||
Type './configure' and then 'make'. This uses GNU autoconfig.
|
Type './configure' and then 'make'. This uses GNU autoconfig.
|
||||||
Run 'make check' to build the demos.
|
|
||||||
See docs/INSTALL for more details.
|
See docs/INSTALL for more details.
|
||||||
When finished, the Mesa libraries will be in the Mesa-x.y/src/.libs/,
|
|
||||||
Mesa-x.y/si-glu/.libs, etc directories.
|
|
||||||
|
The top-level makefile will execute the makefiles in a number of sub-
|
||||||
|
directories. When finished, the Mesa libraries will be in the Mesa-4.0.3/lib/
|
||||||
|
directory. A few GLUT demos in the demos/ directory should be ready to run.
|
||||||
|
|
||||||
|
If you also downloaded and unpacked the demos there should be executables
|
||||||
|
in the "xdemos/", "samples/", and "book/" directories for you to try out.
|
||||||
|
|
||||||
|
If you have compilation problems you should try to fix them and return the
|
||||||
|
patches to the author.
|
||||||
|
|
||||||
|
|
||||||
Notes on assembly language optimizations:
|
Notes on assembly language optimizations:
|
||||||
@@ -317,4 +323,4 @@ Summary of X-related environment variables:
|
|||||||
|
|
||||||
|
|
||||||
----------------------------------------------------------------------
|
----------------------------------------------------------------------
|
||||||
$Id: README.X11,v 3.9 2002/10/29 23:42:48 brianp Exp $
|
$Id: README.X11,v 3.8.2.3 2002/04/26 13:54:47 brianp Exp $
|
||||||
|
|||||||
@@ -19,4 +19,4 @@ see the VERSIONS file.
|
|||||||
|
|
||||||
|
|
||||||
----------------------------------------------------------------------
|
----------------------------------------------------------------------
|
||||||
$Id: RELNOTES-3.4,v 1.2 2002/03/23 02:37:17 brianp Exp $
|
$Id: RELNOTES-3.4,v 1.1.4.1 2002/03/23 02:36:52 brianp Exp $
|
||||||
|
|||||||
@@ -19,4 +19,4 @@ Mesa 4.0.1 only contains bug fixes since version 4.0.
|
|||||||
See the docs/VERSIONS file for the list of bug fixes.
|
See the docs/VERSIONS file for the list of bug fixes.
|
||||||
|
|
||||||
----------------------------------------------------------------------
|
----------------------------------------------------------------------
|
||||||
$Id: RELNOTES-4.0.1,v 1.2 2001/12/18 14:08:23 brianp Exp $
|
$Id: RELNOTES-4.0.1,v 1.1.2.2 2001/12/17 19:43:38 brianp Exp $
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
|
|
||||||
Mesa 4.0.2 release notes
|
Mesa 4.0.2 release notes
|
||||||
|
|
||||||
March 25, 2002
|
April 2, 2002
|
||||||
|
|
||||||
PLEASE READ!!!!
|
PLEASE READ!!!!
|
||||||
|
|
||||||
@@ -47,4 +47,4 @@ D3D needs updating
|
|||||||
|
|
||||||
|
|
||||||
----------------------------------------------------------------------
|
----------------------------------------------------------------------
|
||||||
$Id: RELNOTES-4.0.2,v 1.2 2002/03/23 02:38:39 brianp Exp $
|
$Id: RELNOTES-4.0.2,v 1.1.2.3 2002/04/01 16:54:11 brianp Exp $
|
||||||
|
|||||||
@@ -49,4 +49,4 @@ D3D needs updating
|
|||||||
|
|
||||||
|
|
||||||
----------------------------------------------------------------------
|
----------------------------------------------------------------------
|
||||||
$Id: RELNOTES-4.0.3,v 1.2 2002/06/26 02:36:34 brianp Exp $
|
$Id: RELNOTES-4.0.3,v 1.1.2.3 2002/06/24 20:44:58 brianp Exp $
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
|
|
||||||
Mesa 4.1 release notes
|
Mesa 4.1 release notes
|
||||||
|
|
||||||
October 29, 2002
|
<month>, <day>, <year>
|
||||||
|
|
||||||
PLEASE READ!!!!
|
PLEASE READ!!!!
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -11,298 +11,18 @@ Introduction
|
|||||||
------------
|
------------
|
||||||
|
|
||||||
Mesa uses an even/odd version number scheme like the Linux kernel.
|
Mesa uses an even/odd version number scheme like the Linux kernel.
|
||||||
Even numbered versions (such as 4.0) designate stable releases.
|
|
||||||
Odd numbered versions (such as 4.1) designate new developmental releases.
|
Odd numbered versions (such as 4.1) designate new developmental releases.
|
||||||
|
Even numbered versions (such as 4.0) designate stable releases.
|
||||||
|
|
||||||
|
|
||||||
New Features in Mesa 4.1
|
New Features in Mesa 4.1
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
New extensions. Docs at http://oss.sgi.com/projects/ogl-sample/registry/
|
<to be determined>
|
||||||
|
|
||||||
GL_NV_vertex_program
|
|
||||||
|
|
||||||
NVIDIA's vertex programming extension
|
|
||||||
|
|
||||||
GL_NV_vertex_program1_1
|
|
||||||
|
|
||||||
A few features built on top of GL_NV_vertex_program
|
|
||||||
|
|
||||||
GL_ARB_window_pos
|
|
||||||
|
|
||||||
This is the ARB-approved version of GL_MESA_window_pos
|
|
||||||
|
|
||||||
GL_ARB_depth_texture
|
|
||||||
|
|
||||||
This is the ARB-approved version of GL_SGIX_depth_texture.
|
|
||||||
It allows depth (Z buffer) data to be stored in textures.
|
|
||||||
This is used by GL_ARB_shadow
|
|
||||||
|
|
||||||
GL_ARB_shadow
|
|
||||||
|
|
||||||
Shadow mapping with depth textures.
|
|
||||||
This is the ARB-approved version of GL_SGIX_shadow.
|
|
||||||
|
|
||||||
GL_ARB_shadow_ambient
|
|
||||||
|
|
||||||
Allows one to specify the luminance of shadowed pixels.
|
|
||||||
This is the ARB-approved version of GL_SGIX_shadow_ambient.
|
|
||||||
|
|
||||||
GL_EXT_shadow_funcs
|
|
||||||
|
|
||||||
Extends the set of GL_ARB_shadow texture comparision functions to
|
|
||||||
include all eight of standard OpenGL dept-test functions.
|
|
||||||
|
|
||||||
GL_ARB_point_parameters
|
|
||||||
|
|
||||||
This is basically the same as GL_EXT_point_parameters.
|
|
||||||
|
|
||||||
GL_ARB_texture_env_crossbar
|
|
||||||
|
|
||||||
Allows any texture combine stage to reference any texture source unit.
|
|
||||||
|
|
||||||
GL_NV_point_sprite
|
|
||||||
|
|
||||||
For rendering points as textured quads. Useful for particle effects.
|
|
||||||
|
|
||||||
GL_NV_texture_rectangle (new in 4.0.4 actually)
|
|
||||||
|
|
||||||
Allows one to use textures with sizes that are not powers of two.
|
|
||||||
Note that mipmapping and several texture wrap modes are not allowed.
|
|
||||||
|
|
||||||
GL_EXT_multi_draw_arrays
|
|
||||||
|
|
||||||
Allows arrays of vertex arrays to be rendered with one call.
|
|
||||||
|
|
||||||
GL_EXT_stencil_two_side
|
|
||||||
|
|
||||||
Separate stencil modes for front and back-facing polygons.
|
|
||||||
|
|
||||||
GLX_SGIX_fbconfig & GLX_SGIX_pbuffer
|
|
||||||
|
|
||||||
Off-screen rendering support.
|
|
||||||
|
|
||||||
GL_ATI_texture_mirror_once
|
|
||||||
|
|
||||||
Adds two new texture wrap modes: GL_MIRROR_CLAMP_ATI and
|
|
||||||
GL_MIRROR_CLAMP_TO_EDGE_ATI.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Device Driver Status
|
|
||||||
--------------------
|
|
||||||
|
|
||||||
A number of Mesa's software drivers haven't been actively maintained for
|
|
||||||
some time. We rely on volunteers to maintain many of these drivers.
|
|
||||||
Here's the current status of all included drivers:
|
|
||||||
|
|
||||||
|
|
||||||
Driver Status
|
|
||||||
---------------------- ---------------------
|
|
||||||
XMesa (Xlib) implements OpenGL 1.3
|
|
||||||
OSMesa (off-screen) implements OpenGL 1.3
|
|
||||||
FX (3dfx Voodoo1/2) implements OpenGL 1.3
|
|
||||||
SVGA implements OpenGL 1.3
|
|
||||||
Wind River UGL implements OpenGL 1.3
|
|
||||||
Windows/Win32 implements OpenGL 1.3
|
|
||||||
DOS/DJGPP implements OpenGL 1.3
|
|
||||||
GGI implements OpenGL 1.3
|
|
||||||
BeOS needs updating (underway)
|
|
||||||
Allegro needs updating
|
|
||||||
D3D needs updating
|
|
||||||
DOS needs updating
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
New features in GLUT
|
|
||||||
--------------------
|
|
||||||
|
|
||||||
1. Frames per second printing
|
|
||||||
|
|
||||||
GLUT now looks for an environment variable called "GLUT_FPS". If it's
|
|
||||||
set, GLUT will print out a frames/second statistic to stderr when
|
|
||||||
glutSwapBuffers() is called. By default, frames/second is computed
|
|
||||||
and displayed once every 5 seconds. You can specify a different
|
|
||||||
interval (in milliseconds) when you set the env var. For example
|
|
||||||
'export GLUT_FPS=1000' or 'setenv GLUT_FPS 1000' will set the interval
|
|
||||||
to one second.
|
|
||||||
|
|
||||||
NOTE: the demo or application must call the glutInit() function for
|
|
||||||
this to work. Otherwise, the env var will be ignored.
|
|
||||||
|
|
||||||
Finally, this feature may not be reliable in multi-window programs.
|
|
||||||
|
|
||||||
|
|
||||||
2. glutGetProcAddress() function
|
|
||||||
|
|
||||||
The new function:
|
|
||||||
|
|
||||||
void *glutGetProcAddress(const char *procName)
|
|
||||||
|
|
||||||
is a wrapper for glXGetProcAddressARB() and wglGetProcAddress(). It
|
|
||||||
lets you dynamically get the address of an OpenGL function at runtime.
|
|
||||||
The GLUT_API_VERSION has been bumped to 5, but I haven't bumped the
|
|
||||||
GLUT version number from 3.7 since that's probably Mark Kilgard's role.
|
|
||||||
|
|
||||||
This function should probably also be able to return the address of
|
|
||||||
GLUT functions themselves, but it doesn't do that yet.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
XXX Things To Do Yet XXXX
|
|
||||||
-------------------------
|
|
||||||
|
|
||||||
isosurf with vertex program exhibits some missing triangles (probably
|
|
||||||
when recycling the vertex buffer for long prims).
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Porting Info
|
|
||||||
------------
|
|
||||||
|
|
||||||
If you're porting a DRI or other driver from Mesa 4.0.x to Mesa 4.1 here
|
|
||||||
are some things to change:
|
|
||||||
|
|
||||||
1. ctx->Texture._ReallyEnabled is obsolete.
|
|
||||||
|
|
||||||
Since there are now 5 texture targets (1D, 2D, 3D, cube and rect) that
|
|
||||||
left room for only 6 units (6*5 < 32) in this field.
|
|
||||||
This field is being replaced by ctx->Texture._EnabledUnits which has one
|
|
||||||
bit per texture unit. If the bit k of _EnabledUnits is set, that means
|
|
||||||
ctx->Texture.Unit[k]._ReallyEnabled is non-zero. You'll have to look at
|
|
||||||
ctx->Texture.Unit[k]._ReallyEnabled to learn if the 1D, 2D, 3D, cube or
|
|
||||||
rect texture is enabled for unit k.
|
|
||||||
|
|
||||||
This also means that the constants TEXTURE1_*, TEXTURE2_*, etc are
|
|
||||||
obsolete.
|
|
||||||
|
|
||||||
The tokens TEXTURE0_* have been replaced as well (since there's no
|
|
||||||
significance to the "0" part:
|
|
||||||
|
|
||||||
old token new token
|
|
||||||
TEXTURE0_1D TEXTURE_1D_BIT
|
|
||||||
TEXTURE0_2D TEXTURE_2D_BIT
|
|
||||||
TEXTURE0_3D TEXTURE_3D_BIT
|
|
||||||
TEXTURE0_CUBE TEXTURE_CUBE_BIT
|
|
||||||
<none> TEXTURE_RECT_BIT
|
|
||||||
|
|
||||||
These tokens are only used for the ctx->Texture.Unit[i].Enabled and
|
|
||||||
ctx->Texture.Unit[i]._ReallyEnabled fields. Exactly 0 or 1 bits will
|
|
||||||
be set in _ReallyEnabled at any time!
|
|
||||||
|
|
||||||
Q: "What's the purpose of Unit[i].Enabled vs Unit[i]._ReallyEnabled?"
|
|
||||||
A: The user can enable GL_TEXTURE_1D, GL_TEXTURE_2D, etc for any
|
|
||||||
texure unit all at once (an unusual thing to do).
|
|
||||||
OpenGL defines priorities that basically say GL_TEXTURE_2D has
|
|
||||||
higher priority than GL_TEXTURE_1D, etc. Also, just because a
|
|
||||||
texture target is enabled by the user doesn't mean we'll actually
|
|
||||||
use that texture! If a texture object is incomplete (missing mip-
|
|
||||||
map levels, etc) it's as if texturing is disabled for that target.
|
|
||||||
The _ReallyEnabled field will have a bit set ONLY if the texture
|
|
||||||
target is enabled and complete. This spares the driver writer from
|
|
||||||
examining a _lot_ of GL state to determine which texture target is
|
|
||||||
to be used.
|
|
||||||
|
|
||||||
|
|
||||||
2. Tnl tokens changes
|
|
||||||
|
|
||||||
During the implementation of GL_NV_vertex_program some of the vertex
|
|
||||||
buffer code was changed. Specifically, the VERT_* bits defined in
|
|
||||||
tnl/t_context.h have been renamed to better match the conventions of
|
|
||||||
GL_NV_vertex_program. The old names are still present but obsolete.
|
|
||||||
Drivers should use the newer names.
|
|
||||||
|
|
||||||
For example: VERT_RGBA is now VERT_BIT_COLOR0 and
|
|
||||||
VERT_SPEC_RGB is now VERT_BIT_COLOR1.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
3. Read/Draw Buffer changes
|
|
||||||
|
|
||||||
The business of setting the current read/draw buffers in Mesa 4.0.x
|
|
||||||
was complicated. It's much simpler now in Mesa 4.1.
|
|
||||||
|
|
||||||
Here are the changes:
|
|
||||||
|
|
||||||
- Renamed ctx->Color.DrawDestMask to ctx->Color._DrawDestMask
|
|
||||||
- Removed ctx->Color.DriverDrawBuffer
|
|
||||||
- Removed ctx->Pixel.DriverReadBuffer
|
|
||||||
- Removed ctx->Color.MultiDrawBuffer
|
|
||||||
- Removed ctx->Driver.SetDrawBuffer()
|
|
||||||
- Removed swrast->Driver.SetReadBuffer().
|
|
||||||
- Added ctx->Color._DrawDestMask - a bitmask of FRONT/BACK_LEFT/RIGHT_BIT
|
|
||||||
values to indicate the current draw buffers.
|
|
||||||
- Added ctx->Pixel._ReadSrcMask to indicate the source for pixel reading.
|
|
||||||
The value is _one_ of the FRONT/BACK_LEFT/RIGHT_BIT values.
|
|
||||||
- Added ctx->Driver.DrawBuffer() and ctx->Driver.ReadBuffer().
|
|
||||||
These functions exactly correspond to glDrawBuffer and glReadBuffer calls.
|
|
||||||
Many drivers will set ctx->Driver.DrawBuffer = _swrast_DrawBuffer and
|
|
||||||
leave ctx->Draw.ReadBuffer NULL.
|
|
||||||
DRI drivers should implement their own function for ctx->Driver.DrawBuffer
|
|
||||||
and use it to set the current hardware drawing buffer. You'll probably
|
|
||||||
also want to check for GL_FRONT_AND_BACK mode and fall back to software.
|
|
||||||
Call _swrast_DrawBuffer() too, to update the swrast state.
|
|
||||||
- Added swrast->Driver.SetBuffer().
|
|
||||||
This function should be implemented by all device drivers that use swrast.
|
|
||||||
Mesa will call it to specify the buffer to use for span reading AND
|
|
||||||
writing and point/line/triangle rendering.
|
|
||||||
There should be no confusion between current read or draw buffer anymore.
|
|
||||||
- Added swrast->CurrentBuffer to indicate which color buffer to read/draw.
|
|
||||||
Will be FRONT_LEFT_BIT, BACK_LEFT_BIT, FRONT_RIGHT_BIT or BACK_RIGHT_BIT.
|
|
||||||
This value is usually passed to swrast->Driver.SetBuffer().
|
|
||||||
|
|
||||||
|
|
||||||
4. _mesa_create_context() changes. This function now takes a pointer to
|
|
||||||
a __GLimports object. The __GLimports structure contains function
|
|
||||||
pointers to system functions like fprintf(), malloc(), etc.
|
|
||||||
The _mesa_init_default_imports() function can be used to initialize
|
|
||||||
a __GLimports object. Most device drivers (like the DRI drivers)
|
|
||||||
should use this.
|
|
||||||
|
|
||||||
|
|
||||||
5. In tnl's struct vertex_buffer, the field "ProjectedClipCoords"
|
|
||||||
has been replaced by "NdcPtr" to better match the OpenGL spec's
|
|
||||||
terminology.
|
|
||||||
|
|
||||||
|
|
||||||
6. Since GL_EXT_stencil_two_side has been implemented, many of the
|
|
||||||
ctx->Stencil fields are now 2-element arrays. For example,
|
|
||||||
"GLenum Ref" is now "GLenum Ref[2]" The [0] elements are the front-face
|
|
||||||
values and the [1] elements are the back-face values.
|
|
||||||
ctx->Stencil.ActiveFace is 0 or 1 to indicate the current face for
|
|
||||||
the glStencilOp/Func/Mask() functions.
|
|
||||||
ctx->Stencil.TestTwoSide controls whether or not 1 or 2-sided stenciling
|
|
||||||
is enabled.
|
|
||||||
|
|
||||||
|
|
||||||
7. Removed ctx->Polygon._OffsetAny. Removed ctx->Polygon.OffsetMRD.
|
|
||||||
|
|
||||||
|
|
||||||
8. GLfloat / GLchan changes:
|
|
||||||
|
|
||||||
- Changed ctx->Driver.ClearColor() to take GLfloat[4] instead of GLchan[4].
|
|
||||||
ctx->Color.ClearColor is now GLfloat[4] too.
|
|
||||||
- Changed ctx->Driver.AlphaRef() to take GLfloat instead of GLchan.
|
|
||||||
- ctx->Color.AlphaRef is now GLfloat.
|
|
||||||
- texObj->BorderColor is now GLfloat[4]. texObj->_BorderChan is GLchan[4].
|
|
||||||
|
|
||||||
This is part of an effort to remove all GLchan types from core Mesa so
|
|
||||||
that someday we can support 8, 16 and 32-bit color channels dynamically
|
|
||||||
at runtime, instead of at compile-time.
|
|
||||||
|
|
||||||
|
|
||||||
9. GLboolean ctx->Tranform.ClipEnabled[MAX_CLIP_PLANES] has been replaced
|
|
||||||
by GLuint ctx->Transform.ClipPlanesEnabled. The later is a bitfield.
|
|
||||||
|
|
||||||
|
|
||||||
10. There's a new matrix_stack type in mtypes.h used for the Modelview,
|
|
||||||
Projection, Color and Texcoord matrix stacks.
|
|
||||||
|
|
||||||
|
|
||||||
11. The ctx->Current.* fields have changed a lot. Now, there's a
|
|
||||||
ctx->Current.Attrib[] array for all vertex attributes which matches
|
|
||||||
the NV vertex program conventions.
|
|
||||||
|
|
||||||
|
|
||||||
----------------------------------------------------------------------
|
----------------------------------------------------------------------
|
||||||
$Id: RELNOTES-4.1,v 1.22 2002/10/29 15:06:37 brianp Exp $
|
$Id: RELNOTES-4.1,v 1.1 2001/10/22 22:57:23 brianp Exp $
|
||||||
|
|||||||
@@ -1,85 +0,0 @@
|
|||||||
|
|
||||||
Mesa 5.0 release notes
|
|
||||||
|
|
||||||
November 13, 2002
|
|
||||||
|
|
||||||
PLEASE READ!!!!
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Introduction
|
|
||||||
------------
|
|
||||||
|
|
||||||
Mesa uses an even/odd version number scheme like the Linux kernel.
|
|
||||||
Even-numbered versions (such as 5.0) designate stable releases.
|
|
||||||
Odd-numbered versions (such as 4.1) designate new developmental releases.
|
|
||||||
|
|
||||||
Mesa 5.0 is basically just a stabilization of Mesa 4.1. To see a list of
|
|
||||||
bug fixes, etc. see the VERSIONS file.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
New Features in Mesa 5.0
|
|
||||||
------------------------
|
|
||||||
|
|
||||||
Mesa 5.0 supports OpenGL 1.4. Note Mesa's versioning convention:
|
|
||||||
|
|
||||||
OpenGL Version Mesa Version
|
|
||||||
------------------------------
|
|
||||||
1.0 1.x
|
|
||||||
1.1 2.x
|
|
||||||
1.2 3.x
|
|
||||||
1.3 4.x
|
|
||||||
1.4 5.x
|
|
||||||
|
|
||||||
OpenGL 1.4 (and Mesa 5.0) incorporates the following OpenGL extensions as
|
|
||||||
standard features:
|
|
||||||
|
|
||||||
GL_ARB_depth_texture
|
|
||||||
GL_ARB_shadow
|
|
||||||
GL_ARB_texture_env_crossbar
|
|
||||||
GL_ARB_texture_mirror_repeat
|
|
||||||
GL_ARB_window_pos
|
|
||||||
GL_EXT_blend_color
|
|
||||||
GL_EXT_blend_func_separate
|
|
||||||
GL_EXT_blend_logic_op
|
|
||||||
GL_EXT_blend_minmax
|
|
||||||
GL_EXT_blend_subtract
|
|
||||||
GL_EXT_fog_coord
|
|
||||||
GL_EXT_multi_draw_arrays
|
|
||||||
GL_EXT_point_parameters
|
|
||||||
GL_EXT_secondary_color
|
|
||||||
GL_EXT_stencil_wrap
|
|
||||||
GL_SGIS_generate_mipmap
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Device Driver Status
|
|
||||||
--------------------
|
|
||||||
|
|
||||||
A number of Mesa's software drivers haven't been actively maintained for
|
|
||||||
some time. We rely on volunteers to maintain many of these drivers.
|
|
||||||
Here's the current status of all included drivers:
|
|
||||||
|
|
||||||
|
|
||||||
Driver Status
|
|
||||||
---------------------- ---------------------
|
|
||||||
XMesa (Xlib) implements OpenGL 1.4
|
|
||||||
OSMesa (off-screen) implements OpenGL 1.4
|
|
||||||
FX (3dfx Voodoo1/2) implements OpenGL 1.3
|
|
||||||
SVGA implements OpenGL 1.3
|
|
||||||
Wind River UGL implements OpenGL 1.3
|
|
||||||
Windows/Win32 implements OpenGL 1.4
|
|
||||||
DOS/DJGPP implements OpenGL 1.3
|
|
||||||
GGI implements OpenGL 1.3
|
|
||||||
DOS implements OpenGL 1.4
|
|
||||||
BeOS needs updating (underway)
|
|
||||||
Allegro needs updating
|
|
||||||
D3D needs updating
|
|
||||||
|
|
||||||
Note: supporting OpenGL 1.4 (vs. 1.3 or 1.2) usually only requires that the
|
|
||||||
driver call the _mesa_enable_1_4_extensions() function.
|
|
||||||
|
|
||||||
|
|
||||||
----------------------------------------------------------------------
|
|
||||||
$Id: RELNOTES-5.0,v 3.2 2002/11/13 15:33:51 brianp Exp $
|
|
||||||
103
docs/VERSIONS
103
docs/VERSIONS
@@ -1,4 +1,4 @@
|
|||||||
$Id: VERSIONS,v 1.118 2002/11/13 15:33:50 brianp Exp $
|
$Id: VERSIONS,v 1.73.2.29 2002/06/25 15:22:12 brianp Exp $
|
||||||
|
|
||||||
|
|
||||||
Mesa Version History
|
Mesa Version History
|
||||||
@@ -899,7 +899,7 @@ Mesa Version History
|
|||||||
- fixed 3DNow! code to not read past end of arrays (Andrew Lewycky)
|
- fixed 3DNow! code to not read past end of arrays (Andrew Lewycky)
|
||||||
|
|
||||||
|
|
||||||
4.0.1 December 17, 2001
|
4.0.1 December 17, 2001
|
||||||
New:
|
New:
|
||||||
- better sub-pixel sample positions for AA triangles (Ray Tice)
|
- better sub-pixel sample positions for AA triangles (Ray Tice)
|
||||||
- slightly faster blending for (GL_ZERO, GL_ONE) and (GL_ONE, GL_ZERO)
|
- slightly faster blending for (GL_ZERO, GL_ONE) and (GL_ONE, GL_ZERO)
|
||||||
@@ -981,102 +981,3 @@ Mesa Version History
|
|||||||
- lots of T&L updates for the Radeon DRI driver
|
- lots of T&L updates for the Radeon DRI driver
|
||||||
Known bugs:
|
Known bugs:
|
||||||
- mipmap LOD computation (fixed for Mesa 4.1)
|
- mipmap LOD computation (fixed for Mesa 4.1)
|
||||||
|
|
||||||
|
|
||||||
4.0.4 October 3, 2002
|
|
||||||
New:
|
|
||||||
- GL_NV_texture_rectangle extension
|
|
||||||
- updated glext.h header (version 17)
|
|
||||||
- updated DOS driver (Daniel Borca)
|
|
||||||
- updated BeOS R5 driver (Philippe Houdoin)
|
|
||||||
- added GL_IBM_texture_mirror_repeat
|
|
||||||
- glxinfo now takes -l option to print interesting OpenGL limits info
|
|
||||||
- GL_MESA_ycbcr_texture extension
|
|
||||||
- GL_APPLE_client_storage extension (for some DRI drivers only)
|
|
||||||
- GL_MESA_pack_invert extension
|
|
||||||
Bug fixes:
|
|
||||||
- fixed GL_LINEAR fog bug by adding clamping
|
|
||||||
- fixed FP exceptions found using Alpha CPU
|
|
||||||
- 3dfx MESA_GLX_FX=window (render to window) didn't work
|
|
||||||
- fixed memory leak in wglCreateContest (Karl Schultz)
|
|
||||||
- define GLAPIENTRY and GLAPI if undefined in glu.h
|
|
||||||
- wglGetProcAddress didn't handle all API functions
|
|
||||||
- when testing for OpenGL 1.2 vs 1.3, check for GL_ARB_texture_cube_map
|
|
||||||
- removed GL_MAX_CONVOLUTION_WIDTH/HEIGHT from glGetInteger/Float/etc()
|
|
||||||
- error checking in compressed tex image functions had some glitches
|
|
||||||
- fixed AIX compile problem in src/config.c
|
|
||||||
- glGetTexImage was using pixel unpacking instead of packing params
|
|
||||||
- auto-mipmap generation for cube maps was incorrect
|
|
||||||
Changes:
|
|
||||||
- max texture units reduced to six to accomodate texture rectangles
|
|
||||||
- removed unfinished GL_MESA_sprite_point extension code
|
|
||||||
|
|
||||||
|
|
||||||
4.1 October 29, 2002
|
|
||||||
New:
|
|
||||||
- GL_NV_vertex_program extension
|
|
||||||
- GL_NV_vertex_program1_1 extension
|
|
||||||
- GL_ARB_window_pos extension
|
|
||||||
- GL_ARB_depth_texture extension
|
|
||||||
- GL_ARB_shadow extension
|
|
||||||
- GL_ARB_shadow_ambient extension
|
|
||||||
- GL_EXT_shadow_funcs extension
|
|
||||||
- GL_ARB_point_parameters extension
|
|
||||||
- GL_ARB_texture_env_crossbar
|
|
||||||
- GL_NV_point_sprite extension
|
|
||||||
- GL_NV_texture_rectangle extension
|
|
||||||
- GL_EXT_multi_draw_arrays extension
|
|
||||||
- GL_EXT_stencil_two_side extension
|
|
||||||
- GLX_SGIX_fbconfig and GLX_SGIX_pbuffer extensions
|
|
||||||
- GL_ATI_texture_mirror_once extension (Ian Romanick)
|
|
||||||
- massive overhaul/simplification of software rasterizer module,
|
|
||||||
many contributions from Klaus Niederkrueger
|
|
||||||
- faster software texturing in some cases (i.e. trilinear filtering)
|
|
||||||
- new OSMesaGetProcAddress() function
|
|
||||||
- more blend modes implemented with MMX code (Jose Fonseca)
|
|
||||||
- added glutGetProcAddress() to GLUT
|
|
||||||
- added GLUT_FPS env var to compute frames/second in glutSwapBuffers()
|
|
||||||
- pbinfo and pbdemo PBuffer programs
|
|
||||||
- glxinfo -v prints transprent pixel info (Gerd Sussner)
|
|
||||||
Bug fixes:
|
|
||||||
- better mipmap LOD computation (prevents excessive blurriness)
|
|
||||||
- OSMesaMakeCurrent() didn't recognize buffer size changes
|
|
||||||
- assorted conformance fixes for 16-bit/channel rendering
|
|
||||||
- texcombine alpha subtraction mode was broken
|
|
||||||
- fixed some blend problems when GLchan==GLfloat (Gerk Huisma)
|
|
||||||
- clamp colors to [0,inf] in OSMesa if GLchan==GLfloat (Gerk Huisma)
|
|
||||||
- fixed divide by zero error in NURBS tessellator (Jon Perry)
|
|
||||||
- fixed GL_LINEAR fog bug by adding clamping
|
|
||||||
- fixed FP exceptions found using Alpha CPU
|
|
||||||
- 3dfx/glide driver render-to-window feature was broken
|
|
||||||
- added missing GLX_TRANSPARENT_RGB token to glx.h
|
|
||||||
- fixed error checking related to paletted textures
|
|
||||||
- fixed reference count error in glDeleteTextures (Randy Fayan)
|
|
||||||
Changes:
|
|
||||||
- New spec file and Python code to generate some GL dispatch files
|
|
||||||
- Glide driver defaults to "no" with autoconf/automake
|
|
||||||
- updated demos/stex3d with new options
|
|
||||||
|
|
||||||
|
|
||||||
5.0 November 13, 2002
|
|
||||||
New:
|
|
||||||
- OpenGL 1.4 support (glGetString(GL_VERSION) returns "1.4")
|
|
||||||
- removed some overlooked debugging code
|
|
||||||
- glxinfo updated to support GLX_ARB_multisample
|
|
||||||
- GLUT now support GLX_ARB_multisample
|
|
||||||
- updated DOS driver (Daniel Borca)
|
|
||||||
Bug fixes:
|
|
||||||
- GL_POINT and GL_LINE-mode polygons didn't obey cull state
|
|
||||||
- fixed potential bug in _mesa_align_malloc/calloc()
|
|
||||||
- fixed missing triangle bug when running vertex programs
|
|
||||||
- fixed a few HPUX compilation problems
|
|
||||||
- FX (Glide) driver didn't compile
|
|
||||||
- setting GL_TEXTURE_BORDER_COLOR with glTexParameteriv() didn't work
|
|
||||||
- a few EXT functions, like glGenTexturesEXT, were no-ops
|
|
||||||
- a few OpenGL 1.4 functions like glFogCoord*, glBlendFuncSeparate,
|
|
||||||
glMultiDrawArrays and glMultiDrawElements were missing
|
|
||||||
- glGet*(GL_ACTIVE_STENCIL_FACE_EXT) was broken
|
|
||||||
- Pentium 4 Mobile was mistakenly identified as having 3DNow!
|
|
||||||
- fixed one-bit error in point/line fragment Z calculation
|
|
||||||
- fixed potential segfault in fakeglx code
|
|
||||||
- fixed color overflow problem in DOT3 texture env mode
|
|
||||||
|
|||||||
@@ -1,90 +0,0 @@
|
|||||||
<HTML>
|
|
||||||
<HEAD>
|
|
||||||
<TITLE>Index to Mesa Documentation</TITLE>
|
|
||||||
</HEAD>
|
|
||||||
|
|
||||||
<BODY>
|
|
||||||
|
|
||||||
<H1>Main Documentation</H1>
|
|
||||||
<UL>
|
|
||||||
<LI><A HREF="README">README</A> - general, top-level documentation
|
|
||||||
<LI><A HREF="INSTALL">INSTALL</A> - compilation/installation instructions
|
|
||||||
<LI><A HREF="VERSIONS">VERSIONS</A> - version history / change log
|
|
||||||
<LI><A HREF="COPYRIGHT">COPYRIGHT</A> - copyright and license information
|
|
||||||
<LI><A HREF="COPYING">COPYING</A> - some parts of Mesa are GPL'd
|
|
||||||
<LI><A HREF="CONFORM">CONFORM</A>
|
|
||||||
- results of running the OpenGL conformance tests
|
|
||||||
<LI><A HREF="DEVINFO">DEVINFO</A> - information for Mesa developers
|
|
||||||
<LI><A HREF="http://www.mesa3d.org/">www.mesa3d.org</A> - Mesa website
|
|
||||||
</UL>
|
|
||||||
|
|
||||||
<H1>Platform and Driver Information</H1>
|
|
||||||
<P>
|
|
||||||
Be warned, some of these files may be very out of date.
|
|
||||||
</P>
|
|
||||||
<UL>
|
|
||||||
<LI><A HREF="README.X11">README.X11</A> - X Window System / Unix / Linux
|
|
||||||
<LI><A HREF="README.WIN32">README.WIN32</A> - Microsoft Windows
|
|
||||||
<LI><A HREF="README.VMS">README.VMS</A> - DEC VMS
|
|
||||||
<LI><A HREF="README.GGI">README.GGI</A> - GGI
|
|
||||||
<LI><A HREF="README.3DFX">README.3DFX</A> - 3Dfx/Glide driver
|
|
||||||
<LI><A HREF="README.AMIWIN">README.AMIWIN</A> - Amiga Amiwin
|
|
||||||
<LI><A HREF="README.BEOS">README.BEOS</A> - BeOS
|
|
||||||
<LI><A HREF="README.D3D">README.D3D</A> - Direct3D driver
|
|
||||||
<LI><A HREF="README.DJ">README.DJ</A> - DJGPP
|
|
||||||
<LI><A HREF="README.LYNXOS">README.LYNXOS</A> - LynxOS
|
|
||||||
<LI><A HREF="README.MINGW32">README.MINGW32</A> - Mingw32
|
|
||||||
<LI><A HREF="README.NeXT">README.NeXT</A> - NeXT
|
|
||||||
<LI><A HREF="README.OpenStep">README.OpenStep</A> - OpenStep
|
|
||||||
<LI><A HREF="README.OS2">README.OS2</A> - OS/2
|
|
||||||
<LI><A HREF="README.WINDML">README.WINDML</A> - WindML
|
|
||||||
</UL>
|
|
||||||
|
|
||||||
<H1>Release Notes</H1>
|
|
||||||
<UL>
|
|
||||||
<LI><A HREF="RELNOTES-5.0">RELNOTES-5.0</A>
|
|
||||||
<LI><A HREF="RELNOTES-4.1">RELNOTES-4.1</A>
|
|
||||||
<LI><A HREF="RELNOTES-4.0.3">RELNOTES-4.0.3</A>
|
|
||||||
<LI><A HREF="RELNOTES-4.0.2">RELNOTES-4.0.2</A>
|
|
||||||
<LI><A HREF="RELNOTES-4.0.1">RELNOTES-4.0.1</A>
|
|
||||||
<LI><A HREF="RELNOTES-4.0">RELNOTES-4.0</A>
|
|
||||||
<LI><A HREF="RELNOTES-3.5">RELNOTES-3.5</A>
|
|
||||||
<LI><A HREF="RELNOTES-3.4.2">RELNOTES-3.4.2</A>
|
|
||||||
<LI><A HREF="RELNOTES-3.4.1">RELNOTES-3.4.1</A>
|
|
||||||
<LI><A HREF="RELNOTES-3.4">RELNOTES-3.4</A>
|
|
||||||
<LI><A HREF="RELNOTES-3.3">RELNOTES-3.3</A>
|
|
||||||
<LI><A HREF="RELNOTES-3.2.1">RELNOTES-3.2.1</A>
|
|
||||||
<LI><A HREF="RELNOTES-3.2">RELNOTES-3.2</A>
|
|
||||||
<LI><A HREF="RELNOTES-3.1">RELNOTES-3.1</A>
|
|
||||||
</UL>
|
|
||||||
|
|
||||||
<H1>Mesa Extension Specifications</H1>
|
|
||||||
<UL>
|
|
||||||
<LI><A HREF="MESA_agp_offset.spec">MESA_agp_offset.spec</A>
|
|
||||||
<LI><A HREF="MESA_copy_sub_buffer.spec">MESA_copy_sub_buffer.spec</A>
|
|
||||||
<LI><A HREF="MESA_packed_depth_stencil.spec">MESA_packed_depth_stencil.spec</A>
|
|
||||||
<LI><A HREF="MESA_pack_invert.spec">MESA_pack_invert.spec</A>
|
|
||||||
<LI><A HREF="MESA_pixmap_colormap.spec">MESA_pixmap_colormap.spec</A>
|
|
||||||
<LI><A HREF="MESA_release_buffers.spec">MESA_release_buffers.spec</A>
|
|
||||||
<LI><A HREF="MESA_resize_buffers.spec">MESA_resize_buffers.spec</A>
|
|
||||||
<LI><A HREF="MESA_set_3dfx_mode.spec">MESA_set_3dfx_mode.spec</A>
|
|
||||||
<LI><A HREF="MESA_sprite_point.spec">MESA_sprite_point.spec</A> (obsolete)
|
|
||||||
<LI><A HREF="MESA_trace.spec">MESA_trace.spec</A> (obsolete)
|
|
||||||
<LI><A HREF="MESA_window_pos.spec">MESA_window_pos.spec</A>
|
|
||||||
<LI><A HREF="MESA_ycbcr_texture.spec">MESA_ycbcr_texture.spec</A>
|
|
||||||
</UL>
|
|
||||||
|
|
||||||
<H1>Source Code Documentation</H1>
|
|
||||||
<P>
|
|
||||||
<A HREF="http://www.doxygen.org">Doxygen</A> is used to automatically
|
|
||||||
produce cross-referenced documentation from the Mesa sources.
|
|
||||||
This is not included in the normal Mesa distribution.
|
|
||||||
Download Mesa from CVS if interested.
|
|
||||||
</P>
|
|
||||||
<P>
|
|
||||||
<A HREF="../doxy/core/index.html">Source documentation</A>
|
|
||||||
</P>
|
|
||||||
|
|
||||||
|
|
||||||
</BODY>
|
|
||||||
</HTML>
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
|
|
||||||
This directory is for doxygen (a source code documentation system).
|
|
||||||
|
|
||||||
See http://www.doxygen.org/ for more info.
|
|
||||||
|
|
||||||
Either run 'make' (Unix) or 'doxy.bat' (Windows) to run doxygen
|
|
||||||
and generate souce code documentation.
|
|
||||||
|
|
||||||
Then, load doxy/core.index.html into your web browser.
|
|
||||||
@@ -1,183 +0,0 @@
|
|||||||
# Doxyfile 0.1
|
|
||||||
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# General configuration options
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
PROJECT_NAME = "Mesa array_cache"
|
|
||||||
PROJECT_NUMBER = 4.1
|
|
||||||
OUTPUT_DIRECTORY = .
|
|
||||||
OUTPUT_LANGUAGE = English
|
|
||||||
EXTRACT_ALL = YES
|
|
||||||
EXTRACT_PRIVATE = NO
|
|
||||||
EXTRACT_STATIC = NO
|
|
||||||
EXTRACT_LOCAL_CLASSES = YES
|
|
||||||
HIDE_UNDOC_MEMBERS = NO
|
|
||||||
HIDE_UNDOC_CLASSES = NO
|
|
||||||
BRIEF_MEMBER_DESC = YES
|
|
||||||
REPEAT_BRIEF = YES
|
|
||||||
ALWAYS_DETAILED_SEC = NO
|
|
||||||
INLINE_INHERITED_MEMB = NO
|
|
||||||
FULL_PATH_NAMES = NO
|
|
||||||
STRIP_FROM_PATH =
|
|
||||||
INTERNAL_DOCS = NO
|
|
||||||
STRIP_CODE_COMMENTS = YES
|
|
||||||
CASE_SENSE_NAMES = YES
|
|
||||||
SHORT_NAMES = NO
|
|
||||||
HIDE_SCOPE_NAMES = NO
|
|
||||||
VERBATIM_HEADERS = YES
|
|
||||||
SHOW_INCLUDE_FILES = YES
|
|
||||||
JAVADOC_AUTOBRIEF = NO
|
|
||||||
INHERIT_DOCS = YES
|
|
||||||
INLINE_INFO = YES
|
|
||||||
SORT_MEMBER_DOCS = NO
|
|
||||||
DISTRIBUTE_GROUP_DOC = NO
|
|
||||||
TAB_SIZE = 8
|
|
||||||
GENERATE_TODOLIST = YES
|
|
||||||
GENERATE_TESTLIST = YES
|
|
||||||
GENERATE_BUGLIST = YES
|
|
||||||
ALIASES =
|
|
||||||
ENABLED_SECTIONS =
|
|
||||||
MAX_INITIALIZER_LINES = 30
|
|
||||||
OPTIMIZE_OUTPUT_FOR_C = YES
|
|
||||||
SHOW_USED_FILES = YES
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to warning and progress messages
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
QUIET = YES
|
|
||||||
WARNINGS = YES
|
|
||||||
WARN_IF_UNDOCUMENTED = YES
|
|
||||||
WARN_FORMAT =
|
|
||||||
WARN_LOGFILE =
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to the input files
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
INPUT = ../src/array_cache/
|
|
||||||
FILE_PATTERNS = *.c \
|
|
||||||
*.h
|
|
||||||
RECURSIVE = NO
|
|
||||||
EXCLUDE =
|
|
||||||
EXCLUDE_PATTERNS =
|
|
||||||
EXAMPLE_PATH =
|
|
||||||
EXAMPLE_PATTERNS =
|
|
||||||
EXAMPLE_RECURSIVE = NO
|
|
||||||
IMAGE_PATH =
|
|
||||||
INPUT_FILTER =
|
|
||||||
FILTER_SOURCE_FILES = NO
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to source browsing
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
SOURCE_BROWSER = NO
|
|
||||||
INLINE_SOURCES = NO
|
|
||||||
REFERENCED_BY_RELATION = YES
|
|
||||||
REFERENCES_RELATION = YES
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to the alphabetical class index
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
ALPHABETICAL_INDEX = YES
|
|
||||||
COLS_IN_ALPHA_INDEX = 5
|
|
||||||
IGNORE_PREFIX =
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to the HTML output
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
GENERATE_HTML = YES
|
|
||||||
HTML_OUTPUT = array_cache
|
|
||||||
HTML_HEADER = header.html
|
|
||||||
HTML_FOOTER =
|
|
||||||
HTML_STYLESHEET =
|
|
||||||
HTML_ALIGN_MEMBERS = YES
|
|
||||||
GENERATE_HTMLHELP = NO
|
|
||||||
GENERATE_CHI = NO
|
|
||||||
BINARY_TOC = NO
|
|
||||||
TOC_EXPAND = NO
|
|
||||||
DISABLE_INDEX = NO
|
|
||||||
ENUM_VALUES_PER_LINE = 4
|
|
||||||
GENERATE_TREEVIEW = NO
|
|
||||||
TREEVIEW_WIDTH = 250
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to the LaTeX output
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
GENERATE_LATEX = NO
|
|
||||||
LATEX_OUTPUT =
|
|
||||||
COMPACT_LATEX = NO
|
|
||||||
PAPER_TYPE = a4wide
|
|
||||||
EXTRA_PACKAGES =
|
|
||||||
LATEX_HEADER =
|
|
||||||
PDF_HYPERLINKS = NO
|
|
||||||
USE_PDFLATEX = NO
|
|
||||||
LATEX_BATCHMODE = NO
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to the RTF output
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
GENERATE_RTF = NO
|
|
||||||
RTF_OUTPUT =
|
|
||||||
COMPACT_RTF = NO
|
|
||||||
RTF_HYPERLINKS = NO
|
|
||||||
RTF_STYLESHEET_FILE =
|
|
||||||
RTF_EXTENSIONS_FILE =
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to the man page output
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
GENERATE_MAN = NO
|
|
||||||
MAN_OUTPUT =
|
|
||||||
MAN_EXTENSION =
|
|
||||||
MAN_LINKS = NO
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to the XML output
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
GENERATE_XML = NO
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options for the AutoGen Definitions output
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
GENERATE_AUTOGEN_DEF = NO
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# Configuration options related to the preprocessor
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
ENABLE_PREPROCESSING = YES
|
|
||||||
MACRO_EXPANSION = NO
|
|
||||||
EXPAND_ONLY_PREDEF = NO
|
|
||||||
SEARCH_INCLUDES = YES
|
|
||||||
INCLUDE_PATH =
|
|
||||||
INCLUDE_FILE_PATTERNS =
|
|
||||||
PREDEFINED =
|
|
||||||
EXPAND_AS_DEFINED =
|
|
||||||
SKIP_FUNCTION_MACROS = YES
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# Configuration::addtions related to external references
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
TAGFILES = core.tag=../core \
|
|
||||||
tnl.tag=../tnl \
|
|
||||||
swrast_setup.tag=../swrast_setup \
|
|
||||||
swrast.tag=../swrast \
|
|
||||||
math.tag=../math \
|
|
||||||
tnl_dd.tag=../tnl_dd
|
|
||||||
GENERATE_TAGFILE = array_cache.tag
|
|
||||||
ALLEXTERNALS = NO
|
|
||||||
PERL_PATH =
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# Configuration options related to the dot tool
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
CLASS_DIAGRAMS = YES
|
|
||||||
HAVE_DOT = NO
|
|
||||||
CLASS_GRAPH = YES
|
|
||||||
COLLABORATION_GRAPH = YES
|
|
||||||
TEMPLATE_RELATIONS = YES
|
|
||||||
HIDE_UNDOC_RELATIONS = YES
|
|
||||||
INCLUDE_GRAPH = YES
|
|
||||||
INCLUDED_BY_GRAPH = YES
|
|
||||||
GRAPHICAL_HIERARCHY = YES
|
|
||||||
DOT_PATH =
|
|
||||||
DOTFILE_DIRS =
|
|
||||||
MAX_DOT_GRAPH_WIDTH = 1024
|
|
||||||
MAX_DOT_GRAPH_HEIGHT = 1024
|
|
||||||
GENERATE_LEGEND = YES
|
|
||||||
DOT_CLEANUP = YES
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# Configuration::addtions related to the search engine
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
SEARCHENGINE = NO
|
|
||||||
CGI_NAME =
|
|
||||||
CGI_URL =
|
|
||||||
DOC_URL =
|
|
||||||
DOC_ABSPATH =
|
|
||||||
BIN_ABSPATH =
|
|
||||||
EXT_DOC_PATHS =
|
|
||||||
@@ -1,183 +0,0 @@
|
|||||||
# Doxyfile 0.1
|
|
||||||
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# General configuration options
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
PROJECT_NAME = "Mesa Core"
|
|
||||||
PROJECT_NUMBER = 4.1
|
|
||||||
OUTPUT_DIRECTORY =
|
|
||||||
OUTPUT_LANGUAGE = English
|
|
||||||
EXTRACT_ALL = YES
|
|
||||||
EXTRACT_PRIVATE = NO
|
|
||||||
EXTRACT_STATIC = NO
|
|
||||||
EXTRACT_LOCAL_CLASSES = YES
|
|
||||||
HIDE_UNDOC_MEMBERS = NO
|
|
||||||
HIDE_UNDOC_CLASSES = NO
|
|
||||||
BRIEF_MEMBER_DESC = YES
|
|
||||||
REPEAT_BRIEF = YES
|
|
||||||
ALWAYS_DETAILED_SEC = NO
|
|
||||||
INLINE_INHERITED_MEMB = NO
|
|
||||||
FULL_PATH_NAMES = NO
|
|
||||||
STRIP_FROM_PATH =
|
|
||||||
INTERNAL_DOCS = NO
|
|
||||||
STRIP_CODE_COMMENTS = YES
|
|
||||||
CASE_SENSE_NAMES = YES
|
|
||||||
SHORT_NAMES = NO
|
|
||||||
HIDE_SCOPE_NAMES = NO
|
|
||||||
VERBATIM_HEADERS = YES
|
|
||||||
SHOW_INCLUDE_FILES = YES
|
|
||||||
JAVADOC_AUTOBRIEF = NO
|
|
||||||
INHERIT_DOCS = YES
|
|
||||||
INLINE_INFO = YES
|
|
||||||
SORT_MEMBER_DOCS = NO
|
|
||||||
DISTRIBUTE_GROUP_DOC = NO
|
|
||||||
TAB_SIZE = 8
|
|
||||||
GENERATE_TODOLIST = YES
|
|
||||||
GENERATE_TESTLIST = YES
|
|
||||||
GENERATE_BUGLIST = YES
|
|
||||||
ALIASES =
|
|
||||||
ENABLED_SECTIONS =
|
|
||||||
MAX_INITIALIZER_LINES = 30
|
|
||||||
OPTIMIZE_OUTPUT_FOR_C = YES
|
|
||||||
SHOW_USED_FILES = YES
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to warning and progress messages
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
QUIET = YES
|
|
||||||
WARNINGS = YES
|
|
||||||
WARN_IF_UNDOCUMENTED = YES
|
|
||||||
WARN_FORMAT =
|
|
||||||
WARN_LOGFILE =
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to the input files
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
INPUT = ../src/
|
|
||||||
FILE_PATTERNS = *.h *.c
|
|
||||||
RECURSIVE = NO
|
|
||||||
EXCLUDE = ../src/glapitemp.h ../src/glapioffsets.h
|
|
||||||
EXCLUDE_PATTERNS =
|
|
||||||
EXAMPLE_PATH =
|
|
||||||
EXAMPLE_PATTERNS =
|
|
||||||
EXAMPLE_RECURSIVE = NO
|
|
||||||
IMAGE_PATH =
|
|
||||||
INPUT_FILTER =
|
|
||||||
FILTER_SOURCE_FILES = NO
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to source browsing
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
SOURCE_BROWSER = NO
|
|
||||||
INLINE_SOURCES = NO
|
|
||||||
REFERENCED_BY_RELATION = YES
|
|
||||||
REFERENCES_RELATION = YES
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to the alphabetical class index
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
ALPHABETICAL_INDEX = YES
|
|
||||||
COLS_IN_ALPHA_INDEX = 5
|
|
||||||
IGNORE_PREFIX = _
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to the HTML output
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
GENERATE_HTML = YES
|
|
||||||
HTML_OUTPUT = core
|
|
||||||
HTML_HEADER = header.html
|
|
||||||
HTML_FOOTER =
|
|
||||||
HTML_STYLESHEET =
|
|
||||||
HTML_ALIGN_MEMBERS = YES
|
|
||||||
GENERATE_HTMLHELP = NO
|
|
||||||
GENERATE_CHI = NO
|
|
||||||
BINARY_TOC = NO
|
|
||||||
TOC_EXPAND = NO
|
|
||||||
DISABLE_INDEX = NO
|
|
||||||
ENUM_VALUES_PER_LINE = 4
|
|
||||||
GENERATE_TREEVIEW = NO
|
|
||||||
TREEVIEW_WIDTH = 250
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to the LaTeX output
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
GENERATE_LATEX = NO
|
|
||||||
LATEX_OUTPUT =
|
|
||||||
COMPACT_LATEX = NO
|
|
||||||
PAPER_TYPE = a4wide
|
|
||||||
EXTRA_PACKAGES =
|
|
||||||
LATEX_HEADER =
|
|
||||||
PDF_HYPERLINKS = NO
|
|
||||||
USE_PDFLATEX = NO
|
|
||||||
LATEX_BATCHMODE = NO
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to the RTF output
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
GENERATE_RTF = NO
|
|
||||||
RTF_OUTPUT =
|
|
||||||
COMPACT_RTF = NO
|
|
||||||
RTF_HYPERLINKS = NO
|
|
||||||
RTF_STYLESHEET_FILE =
|
|
||||||
RTF_EXTENSIONS_FILE =
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to the man page output
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
GENERATE_MAN = NO
|
|
||||||
MAN_OUTPUT =
|
|
||||||
MAN_EXTENSION =
|
|
||||||
MAN_LINKS = NO
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to the XML output
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
GENERATE_XML = NO
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options for the AutoGen Definitions output
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
GENERATE_AUTOGEN_DEF = NO
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# Configuration options related to the preprocessor
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
ENABLE_PREPROCESSING = YES
|
|
||||||
MACRO_EXPANSION = NO
|
|
||||||
EXPAND_ONLY_PREDEF = NO
|
|
||||||
SEARCH_INCLUDES = YES
|
|
||||||
INCLUDE_PATH = ../include/
|
|
||||||
INCLUDE_FILE_PATTERNS =
|
|
||||||
PREDEFINED =
|
|
||||||
EXPAND_AS_DEFINED =
|
|
||||||
SKIP_FUNCTION_MACROS = YES
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# Configuration::addtions related to external references
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
TAGFILES = tnl_dd.tag=../tnl_dd \
|
|
||||||
array_cache.tag=../array_cache \
|
|
||||||
math.tag=../math \
|
|
||||||
swrast.tag=../swrast \
|
|
||||||
swrast_setup.tag=../swrast_setup \
|
|
||||||
tnl.tag=../tnl \
|
|
||||||
array_cache.tag=array_cache
|
|
||||||
GENERATE_TAGFILE = core.tag
|
|
||||||
ALLEXTERNALS = NO
|
|
||||||
PERL_PATH =
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# Configuration options related to the dot tool
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
CLASS_DIAGRAMS = NO
|
|
||||||
HAVE_DOT = NO
|
|
||||||
CLASS_GRAPH = YES
|
|
||||||
COLLABORATION_GRAPH = YES
|
|
||||||
TEMPLATE_RELATIONS = YES
|
|
||||||
HIDE_UNDOC_RELATIONS = YES
|
|
||||||
INCLUDE_GRAPH = YES
|
|
||||||
INCLUDED_BY_GRAPH = YES
|
|
||||||
GRAPHICAL_HIERARCHY = YES
|
|
||||||
DOT_PATH =
|
|
||||||
DOTFILE_DIRS =
|
|
||||||
MAX_DOT_GRAPH_WIDTH = 1024
|
|
||||||
MAX_DOT_GRAPH_HEIGHT = 1024
|
|
||||||
GENERATE_LEGEND = YES
|
|
||||||
DOT_CLEANUP = YES
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# Configuration::addtions related to the search engine
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
SEARCHENGINE = NO
|
|
||||||
CGI_NAME =
|
|
||||||
CGI_URL =
|
|
||||||
DOC_URL =
|
|
||||||
DOC_ABSPATH =
|
|
||||||
BIN_ABSPATH =
|
|
||||||
EXT_DOC_PATHS =
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
doxygen tnl_dd.doxy
|
|
||||||
doxygen array_cache.doxy
|
|
||||||
doxygen math.doxy
|
|
||||||
doxygen swrast.doxy
|
|
||||||
doxygen swrast_setup.doxy
|
|
||||||
doxygen tnl.doxy
|
|
||||||
doxygen core.doxy
|
|
||||||
echo Building again, to resolve tags
|
|
||||||
doxygen tnl_dd.doxy
|
|
||||||
doxygen array_cache.doxy
|
|
||||||
doxygen math.doxy
|
|
||||||
doxygen swrast.doxy
|
|
||||||
doxygen swrast_setup.doxy
|
|
||||||
doxygen tnl.doxy
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
<html><head><title>Mesa API docs</title>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
|
||||||
</head>
|
|
||||||
<body><center>
|
|
||||||
<a href="../array_cache/index.html">array_cache</a>
|
|
||||||
<a href="../core/index.html">core</a>
|
|
||||||
<a href="../math/index.html">math</a>
|
|
||||||
<a href="../swrast/index.html">swrast</a>
|
|
||||||
<a href="../swrast_setup/index.html">swrast_setup</a>
|
|
||||||
<a href="../tnl/index.html">tnl</a>
|
|
||||||
<a href="../tnl_dd/index.html">tnl_dd</a>
|
|
||||||
</center>
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
default:
|
|
||||||
doxygen tnl_dd.doxy
|
|
||||||
doxygen array_cache.doxy
|
|
||||||
doxygen math.doxy
|
|
||||||
doxygen swrast.doxy
|
|
||||||
doxygen swrast_setup.doxy
|
|
||||||
doxygen tnl.doxy
|
|
||||||
doxygen core.doxy
|
|
||||||
echo "Building again, to resolve tags"
|
|
||||||
doxygen tnl_dd.doxy
|
|
||||||
doxygen array_cache.doxy
|
|
||||||
doxygen math.doxy
|
|
||||||
doxygen swrast.doxy
|
|
||||||
doxygen swrast_setup.doxy
|
|
||||||
doxygen tnl.doxy
|
|
||||||
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm -rf array_cache core math swrast swrast_setup tnl_dd tnl
|
|
||||||
rm -rf *.tag
|
|
||||||
|
|
||||||
@@ -1,183 +0,0 @@
|
|||||||
# Doxyfile 0.1
|
|
||||||
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# General configuration options
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
PROJECT_NAME = "Mesa math"
|
|
||||||
PROJECT_NUMBER = 4.1
|
|
||||||
OUTPUT_DIRECTORY = .
|
|
||||||
OUTPUT_LANGUAGE = English
|
|
||||||
EXTRACT_ALL = YES
|
|
||||||
EXTRACT_PRIVATE = NO
|
|
||||||
EXTRACT_STATIC = NO
|
|
||||||
EXTRACT_LOCAL_CLASSES = YES
|
|
||||||
HIDE_UNDOC_MEMBERS = NO
|
|
||||||
HIDE_UNDOC_CLASSES = NO
|
|
||||||
BRIEF_MEMBER_DESC = YES
|
|
||||||
REPEAT_BRIEF = YES
|
|
||||||
ALWAYS_DETAILED_SEC = NO
|
|
||||||
INLINE_INHERITED_MEMB = NO
|
|
||||||
FULL_PATH_NAMES = NO
|
|
||||||
STRIP_FROM_PATH =
|
|
||||||
INTERNAL_DOCS = NO
|
|
||||||
STRIP_CODE_COMMENTS = YES
|
|
||||||
CASE_SENSE_NAMES = YES
|
|
||||||
SHORT_NAMES = NO
|
|
||||||
HIDE_SCOPE_NAMES = NO
|
|
||||||
VERBATIM_HEADERS = YES
|
|
||||||
SHOW_INCLUDE_FILES = YES
|
|
||||||
JAVADOC_AUTOBRIEF = NO
|
|
||||||
INHERIT_DOCS = YES
|
|
||||||
INLINE_INFO = YES
|
|
||||||
SORT_MEMBER_DOCS = NO
|
|
||||||
DISTRIBUTE_GROUP_DOC = NO
|
|
||||||
TAB_SIZE = 8
|
|
||||||
GENERATE_TODOLIST = YES
|
|
||||||
GENERATE_TESTLIST = YES
|
|
||||||
GENERATE_BUGLIST = YES
|
|
||||||
ALIASES =
|
|
||||||
ENABLED_SECTIONS =
|
|
||||||
MAX_INITIALIZER_LINES = 30
|
|
||||||
OPTIMIZE_OUTPUT_FOR_C = YES
|
|
||||||
SHOW_USED_FILES = YES
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to warning and progress messages
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
QUIET = YES
|
|
||||||
WARNINGS = YES
|
|
||||||
WARN_IF_UNDOCUMENTED = YES
|
|
||||||
WARN_FORMAT =
|
|
||||||
WARN_LOGFILE =
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to the input files
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
INPUT = ../src/math/
|
|
||||||
FILE_PATTERNS = *.c \
|
|
||||||
*.h
|
|
||||||
RECURSIVE = NO
|
|
||||||
EXCLUDE =
|
|
||||||
EXCLUDE_PATTERNS =
|
|
||||||
EXAMPLE_PATH =
|
|
||||||
EXAMPLE_PATTERNS =
|
|
||||||
EXAMPLE_RECURSIVE = NO
|
|
||||||
IMAGE_PATH =
|
|
||||||
INPUT_FILTER =
|
|
||||||
FILTER_SOURCE_FILES = NO
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to source browsing
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
SOURCE_BROWSER = NO
|
|
||||||
INLINE_SOURCES = NO
|
|
||||||
REFERENCED_BY_RELATION = YES
|
|
||||||
REFERENCES_RELATION = YES
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to the alphabetical class index
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
ALPHABETICAL_INDEX = YES
|
|
||||||
COLS_IN_ALPHA_INDEX = 5
|
|
||||||
IGNORE_PREFIX =
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to the HTML output
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
GENERATE_HTML = YES
|
|
||||||
HTML_OUTPUT = math
|
|
||||||
HTML_HEADER = header.html
|
|
||||||
HTML_FOOTER =
|
|
||||||
HTML_STYLESHEET =
|
|
||||||
HTML_ALIGN_MEMBERS = YES
|
|
||||||
GENERATE_HTMLHELP = NO
|
|
||||||
GENERATE_CHI = NO
|
|
||||||
BINARY_TOC = NO
|
|
||||||
TOC_EXPAND = NO
|
|
||||||
DISABLE_INDEX = NO
|
|
||||||
ENUM_VALUES_PER_LINE = 4
|
|
||||||
GENERATE_TREEVIEW = NO
|
|
||||||
TREEVIEW_WIDTH = 250
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to the LaTeX output
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
GENERATE_LATEX = NO
|
|
||||||
LATEX_OUTPUT =
|
|
||||||
COMPACT_LATEX = NO
|
|
||||||
PAPER_TYPE = a4wide
|
|
||||||
EXTRA_PACKAGES =
|
|
||||||
LATEX_HEADER =
|
|
||||||
PDF_HYPERLINKS = NO
|
|
||||||
USE_PDFLATEX = NO
|
|
||||||
LATEX_BATCHMODE = NO
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to the RTF output
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
GENERATE_RTF = NO
|
|
||||||
RTF_OUTPUT =
|
|
||||||
COMPACT_RTF = NO
|
|
||||||
RTF_HYPERLINKS = NO
|
|
||||||
RTF_STYLESHEET_FILE =
|
|
||||||
RTF_EXTENSIONS_FILE =
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to the man page output
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
GENERATE_MAN = NO
|
|
||||||
MAN_OUTPUT =
|
|
||||||
MAN_EXTENSION =
|
|
||||||
MAN_LINKS = NO
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to the XML output
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
GENERATE_XML = NO
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options for the AutoGen Definitions output
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
GENERATE_AUTOGEN_DEF = NO
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# Configuration options related to the preprocessor
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
ENABLE_PREPROCESSING = YES
|
|
||||||
MACRO_EXPANSION = NO
|
|
||||||
EXPAND_ONLY_PREDEF = NO
|
|
||||||
SEARCH_INCLUDES = YES
|
|
||||||
INCLUDE_PATH =
|
|
||||||
INCLUDE_FILE_PATTERNS =
|
|
||||||
PREDEFINED =
|
|
||||||
EXPAND_AS_DEFINED =
|
|
||||||
SKIP_FUNCTION_MACROS = YES
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# Configuration::addtions related to external references
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
TAGFILES = tnl_dd.tag=../tnl_dd \
|
|
||||||
core.tag=../core \
|
|
||||||
swrast.tag=../swrast \
|
|
||||||
swrast_setup.tag=../swrast_setup \
|
|
||||||
tnl.tag=../tnl \
|
|
||||||
array_cache.tag=../array_cache
|
|
||||||
GENERATE_TAGFILE = math.tag
|
|
||||||
ALLEXTERNALS = NO
|
|
||||||
PERL_PATH =
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# Configuration options related to the dot tool
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
CLASS_DIAGRAMS = YES
|
|
||||||
HAVE_DOT = NO
|
|
||||||
CLASS_GRAPH = YES
|
|
||||||
COLLABORATION_GRAPH = YES
|
|
||||||
TEMPLATE_RELATIONS = YES
|
|
||||||
HIDE_UNDOC_RELATIONS = YES
|
|
||||||
INCLUDE_GRAPH = YES
|
|
||||||
INCLUDED_BY_GRAPH = YES
|
|
||||||
GRAPHICAL_HIERARCHY = YES
|
|
||||||
DOT_PATH =
|
|
||||||
DOTFILE_DIRS =
|
|
||||||
MAX_DOT_GRAPH_WIDTH = 1024
|
|
||||||
MAX_DOT_GRAPH_HEIGHT = 1024
|
|
||||||
GENERATE_LEGEND = YES
|
|
||||||
DOT_CLEANUP = YES
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# Configuration::addtions related to the search engine
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
SEARCHENGINE = NO
|
|
||||||
CGI_NAME =
|
|
||||||
CGI_URL =
|
|
||||||
DOC_URL =
|
|
||||||
DOC_ABSPATH =
|
|
||||||
BIN_ABSPATH =
|
|
||||||
EXT_DOC_PATHS =
|
|
||||||
@@ -1,183 +0,0 @@
|
|||||||
# Doxyfile 0.1
|
|
||||||
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# General configuration options
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
PROJECT_NAME = "Mesa swrast"
|
|
||||||
PROJECT_NUMBER = 4.1
|
|
||||||
OUTPUT_DIRECTORY =
|
|
||||||
OUTPUT_LANGUAGE = English
|
|
||||||
EXTRACT_ALL = NO
|
|
||||||
EXTRACT_PRIVATE = NO
|
|
||||||
EXTRACT_STATIC = NO
|
|
||||||
EXTRACT_LOCAL_CLASSES = YES
|
|
||||||
HIDE_UNDOC_MEMBERS = NO
|
|
||||||
HIDE_UNDOC_CLASSES = NO
|
|
||||||
BRIEF_MEMBER_DESC = YES
|
|
||||||
REPEAT_BRIEF = YES
|
|
||||||
ALWAYS_DETAILED_SEC = NO
|
|
||||||
INLINE_INHERITED_MEMB = NO
|
|
||||||
FULL_PATH_NAMES = NO
|
|
||||||
STRIP_FROM_PATH =
|
|
||||||
INTERNAL_DOCS = NO
|
|
||||||
STRIP_CODE_COMMENTS = YES
|
|
||||||
CASE_SENSE_NAMES = YES
|
|
||||||
SHORT_NAMES = NO
|
|
||||||
HIDE_SCOPE_NAMES = NO
|
|
||||||
VERBATIM_HEADERS = YES
|
|
||||||
SHOW_INCLUDE_FILES = YES
|
|
||||||
JAVADOC_AUTOBRIEF = NO
|
|
||||||
INHERIT_DOCS = YES
|
|
||||||
INLINE_INFO = YES
|
|
||||||
SORT_MEMBER_DOCS = NO
|
|
||||||
DISTRIBUTE_GROUP_DOC = NO
|
|
||||||
TAB_SIZE = 8
|
|
||||||
GENERATE_TODOLIST = YES
|
|
||||||
GENERATE_TESTLIST = YES
|
|
||||||
GENERATE_BUGLIST = YES
|
|
||||||
ALIASES =
|
|
||||||
ENABLED_SECTIONS =
|
|
||||||
MAX_INITIALIZER_LINES = 30
|
|
||||||
OPTIMIZE_OUTPUT_FOR_C = NO
|
|
||||||
SHOW_USED_FILES = YES
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to warning and progress messages
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
QUIET = YES
|
|
||||||
WARNINGS = YES
|
|
||||||
WARN_IF_UNDOCUMENTED = YES
|
|
||||||
WARN_FORMAT =
|
|
||||||
WARN_LOGFILE =
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to the input files
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
INPUT = ../src/swrast/
|
|
||||||
FILE_PATTERNS = *.c \
|
|
||||||
*.h
|
|
||||||
RECURSIVE = NO
|
|
||||||
EXCLUDE =
|
|
||||||
EXCLUDE_PATTERNS =
|
|
||||||
EXAMPLE_PATH =
|
|
||||||
EXAMPLE_PATTERNS =
|
|
||||||
EXAMPLE_RECURSIVE = NO
|
|
||||||
IMAGE_PATH =
|
|
||||||
INPUT_FILTER =
|
|
||||||
FILTER_SOURCE_FILES = NO
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to source browsing
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
SOURCE_BROWSER = NO
|
|
||||||
INLINE_SOURCES = NO
|
|
||||||
REFERENCED_BY_RELATION = YES
|
|
||||||
REFERENCES_RELATION = YES
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to the alphabetical class index
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
ALPHABETICAL_INDEX = YES
|
|
||||||
COLS_IN_ALPHA_INDEX = 5
|
|
||||||
IGNORE_PREFIX =
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to the HTML output
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
GENERATE_HTML = YES
|
|
||||||
HTML_OUTPUT = swrast
|
|
||||||
HTML_HEADER = header.html
|
|
||||||
HTML_FOOTER =
|
|
||||||
HTML_STYLESHEET =
|
|
||||||
HTML_ALIGN_MEMBERS = YES
|
|
||||||
GENERATE_HTMLHELP = NO
|
|
||||||
GENERATE_CHI = NO
|
|
||||||
BINARY_TOC = NO
|
|
||||||
TOC_EXPAND = NO
|
|
||||||
DISABLE_INDEX = NO
|
|
||||||
ENUM_VALUES_PER_LINE = 4
|
|
||||||
GENERATE_TREEVIEW = NO
|
|
||||||
TREEVIEW_WIDTH = 250
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to the LaTeX output
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
GENERATE_LATEX = NO
|
|
||||||
LATEX_OUTPUT =
|
|
||||||
COMPACT_LATEX = NO
|
|
||||||
PAPER_TYPE = a4wide
|
|
||||||
EXTRA_PACKAGES =
|
|
||||||
LATEX_HEADER =
|
|
||||||
PDF_HYPERLINKS = NO
|
|
||||||
USE_PDFLATEX = NO
|
|
||||||
LATEX_BATCHMODE = NO
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to the RTF output
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
GENERATE_RTF = NO
|
|
||||||
RTF_OUTPUT =
|
|
||||||
COMPACT_RTF = NO
|
|
||||||
RTF_HYPERLINKS = NO
|
|
||||||
RTF_STYLESHEET_FILE =
|
|
||||||
RTF_EXTENSIONS_FILE =
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to the man page output
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
GENERATE_MAN = NO
|
|
||||||
MAN_OUTPUT =
|
|
||||||
MAN_EXTENSION =
|
|
||||||
MAN_LINKS = NO
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to the XML output
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
GENERATE_XML = NO
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options for the AutoGen Definitions output
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
GENERATE_AUTOGEN_DEF = NO
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# Configuration options related to the preprocessor
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
ENABLE_PREPROCESSING = YES
|
|
||||||
MACRO_EXPANSION = NO
|
|
||||||
EXPAND_ONLY_PREDEF = NO
|
|
||||||
SEARCH_INCLUDES = YES
|
|
||||||
INCLUDE_PATH =
|
|
||||||
INCLUDE_FILE_PATTERNS =
|
|
||||||
PREDEFINED =
|
|
||||||
EXPAND_AS_DEFINED =
|
|
||||||
SKIP_FUNCTION_MACROS = YES
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# Configuration::addtions related to external references
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
TAGFILES = core.tag=../core \
|
|
||||||
math.tag=../math \
|
|
||||||
tnl_dd.tag=../tnl_dd \
|
|
||||||
swrast_setup.tag=../swrast_setup \
|
|
||||||
tnl.tag=../tnl \
|
|
||||||
array_cache.tag=array_cache
|
|
||||||
GENERATE_TAGFILE = swrast.tag
|
|
||||||
ALLEXTERNALS = NO
|
|
||||||
PERL_PATH =
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# Configuration options related to the dot tool
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
CLASS_DIAGRAMS = YES
|
|
||||||
HAVE_DOT = NO
|
|
||||||
CLASS_GRAPH = YES
|
|
||||||
COLLABORATION_GRAPH = YES
|
|
||||||
TEMPLATE_RELATIONS = YES
|
|
||||||
HIDE_UNDOC_RELATIONS = YES
|
|
||||||
INCLUDE_GRAPH = YES
|
|
||||||
INCLUDED_BY_GRAPH = YES
|
|
||||||
GRAPHICAL_HIERARCHY = YES
|
|
||||||
DOT_PATH =
|
|
||||||
DOTFILE_DIRS =
|
|
||||||
MAX_DOT_GRAPH_WIDTH = 1024
|
|
||||||
MAX_DOT_GRAPH_HEIGHT = 1024
|
|
||||||
GENERATE_LEGEND = YES
|
|
||||||
DOT_CLEANUP = YES
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# Configuration::addtions related to the search engine
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
SEARCHENGINE = NO
|
|
||||||
CGI_NAME =
|
|
||||||
CGI_URL =
|
|
||||||
DOC_URL =
|
|
||||||
DOC_ABSPATH =
|
|
||||||
BIN_ABSPATH =
|
|
||||||
EXT_DOC_PATHS =
|
|
||||||
@@ -1,183 +0,0 @@
|
|||||||
# Doxyfile 0.1
|
|
||||||
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# General configuration options
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
PROJECT_NAME = "Mesa swrast_setup"
|
|
||||||
PROJECT_NUMBER = 4.1
|
|
||||||
OUTPUT_DIRECTORY =
|
|
||||||
OUTPUT_LANGUAGE = English
|
|
||||||
EXTRACT_ALL = YES
|
|
||||||
EXTRACT_PRIVATE = NO
|
|
||||||
EXTRACT_STATIC = NO
|
|
||||||
EXTRACT_LOCAL_CLASSES = YES
|
|
||||||
HIDE_UNDOC_MEMBERS = NO
|
|
||||||
HIDE_UNDOC_CLASSES = NO
|
|
||||||
BRIEF_MEMBER_DESC = YES
|
|
||||||
REPEAT_BRIEF = YES
|
|
||||||
ALWAYS_DETAILED_SEC = NO
|
|
||||||
INLINE_INHERITED_MEMB = NO
|
|
||||||
FULL_PATH_NAMES = NO
|
|
||||||
STRIP_FROM_PATH =
|
|
||||||
INTERNAL_DOCS = NO
|
|
||||||
STRIP_CODE_COMMENTS = YES
|
|
||||||
CASE_SENSE_NAMES = YES
|
|
||||||
SHORT_NAMES = NO
|
|
||||||
HIDE_SCOPE_NAMES = NO
|
|
||||||
VERBATIM_HEADERS = YES
|
|
||||||
SHOW_INCLUDE_FILES = YES
|
|
||||||
JAVADOC_AUTOBRIEF = NO
|
|
||||||
INHERIT_DOCS = YES
|
|
||||||
INLINE_INFO = YES
|
|
||||||
SORT_MEMBER_DOCS = NO
|
|
||||||
DISTRIBUTE_GROUP_DOC = NO
|
|
||||||
TAB_SIZE = 8
|
|
||||||
GENERATE_TODOLIST = YES
|
|
||||||
GENERATE_TESTLIST = YES
|
|
||||||
GENERATE_BUGLIST = YES
|
|
||||||
ALIASES =
|
|
||||||
ENABLED_SECTIONS =
|
|
||||||
MAX_INITIALIZER_LINES = 30
|
|
||||||
OPTIMIZE_OUTPUT_FOR_C = YES
|
|
||||||
SHOW_USED_FILES = YES
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to warning and progress messages
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
QUIET = YES
|
|
||||||
WARNINGS = YES
|
|
||||||
WARN_IF_UNDOCUMENTED = YES
|
|
||||||
WARN_FORMAT =
|
|
||||||
WARN_LOGFILE =
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to the input files
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
INPUT = ../src/swrast_setup/
|
|
||||||
FILE_PATTERNS = *.c \
|
|
||||||
*.h
|
|
||||||
RECURSIVE = NO
|
|
||||||
EXCLUDE =
|
|
||||||
EXCLUDE_PATTERNS =
|
|
||||||
EXAMPLE_PATH =
|
|
||||||
EXAMPLE_PATTERNS =
|
|
||||||
EXAMPLE_RECURSIVE = NO
|
|
||||||
IMAGE_PATH =
|
|
||||||
INPUT_FILTER =
|
|
||||||
FILTER_SOURCE_FILES = NO
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to source browsing
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
SOURCE_BROWSER = NO
|
|
||||||
INLINE_SOURCES = NO
|
|
||||||
REFERENCED_BY_RELATION = YES
|
|
||||||
REFERENCES_RELATION = YES
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to the alphabetical class index
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
ALPHABETICAL_INDEX = YES
|
|
||||||
COLS_IN_ALPHA_INDEX = 5
|
|
||||||
IGNORE_PREFIX =
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to the HTML output
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
GENERATE_HTML = YES
|
|
||||||
HTML_OUTPUT = swrast_setup
|
|
||||||
HTML_HEADER = header.html
|
|
||||||
HTML_FOOTER =
|
|
||||||
HTML_STYLESHEET =
|
|
||||||
HTML_ALIGN_MEMBERS = YES
|
|
||||||
GENERATE_HTMLHELP = NO
|
|
||||||
GENERATE_CHI = NO
|
|
||||||
BINARY_TOC = NO
|
|
||||||
TOC_EXPAND = NO
|
|
||||||
DISABLE_INDEX = NO
|
|
||||||
ENUM_VALUES_PER_LINE = 4
|
|
||||||
GENERATE_TREEVIEW = NO
|
|
||||||
TREEVIEW_WIDTH = 250
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to the LaTeX output
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
GENERATE_LATEX = NO
|
|
||||||
LATEX_OUTPUT =
|
|
||||||
COMPACT_LATEX = NO
|
|
||||||
PAPER_TYPE = a4wide
|
|
||||||
EXTRA_PACKAGES =
|
|
||||||
LATEX_HEADER =
|
|
||||||
PDF_HYPERLINKS = NO
|
|
||||||
USE_PDFLATEX = NO
|
|
||||||
LATEX_BATCHMODE = NO
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to the RTF output
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
GENERATE_RTF = NO
|
|
||||||
RTF_OUTPUT =
|
|
||||||
COMPACT_RTF = NO
|
|
||||||
RTF_HYPERLINKS = NO
|
|
||||||
RTF_STYLESHEET_FILE =
|
|
||||||
RTF_EXTENSIONS_FILE =
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to the man page output
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
GENERATE_MAN = NO
|
|
||||||
MAN_OUTPUT =
|
|
||||||
MAN_EXTENSION =
|
|
||||||
MAN_LINKS = NO
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to the XML output
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
GENERATE_XML = NO
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options for the AutoGen Definitions output
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
GENERATE_AUTOGEN_DEF = NO
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# Configuration options related to the preprocessor
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
ENABLE_PREPROCESSING = YES
|
|
||||||
MACRO_EXPANSION = NO
|
|
||||||
EXPAND_ONLY_PREDEF = NO
|
|
||||||
SEARCH_INCLUDES = YES
|
|
||||||
INCLUDE_PATH =
|
|
||||||
INCLUDE_FILE_PATTERNS =
|
|
||||||
PREDEFINED =
|
|
||||||
EXPAND_AS_DEFINED =
|
|
||||||
SKIP_FUNCTION_MACROS = YES
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# Configuration::addtions related to external references
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
TAGFILES = tnl_dd.tag=../tnl_dd \
|
|
||||||
core.tag=../core \
|
|
||||||
math.tag=../math \
|
|
||||||
swrast.tag=../swrast \
|
|
||||||
tnl.tag=../tnl \
|
|
||||||
array_cache.tag=../array_cache
|
|
||||||
GENERATE_TAGFILE = swrast_setup.tag
|
|
||||||
ALLEXTERNALS = YES
|
|
||||||
PERL_PATH =
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# Configuration options related to the dot tool
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
CLASS_DIAGRAMS = YES
|
|
||||||
HAVE_DOT = NO
|
|
||||||
CLASS_GRAPH = YES
|
|
||||||
COLLABORATION_GRAPH = YES
|
|
||||||
TEMPLATE_RELATIONS = YES
|
|
||||||
HIDE_UNDOC_RELATIONS = YES
|
|
||||||
INCLUDE_GRAPH = YES
|
|
||||||
INCLUDED_BY_GRAPH = YES
|
|
||||||
GRAPHICAL_HIERARCHY = YES
|
|
||||||
DOT_PATH =
|
|
||||||
DOTFILE_DIRS =
|
|
||||||
MAX_DOT_GRAPH_WIDTH = 1024
|
|
||||||
MAX_DOT_GRAPH_HEIGHT = 1024
|
|
||||||
GENERATE_LEGEND = YES
|
|
||||||
DOT_CLEANUP = YES
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# Configuration::addtions related to the search engine
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
SEARCHENGINE = NO
|
|
||||||
CGI_NAME =
|
|
||||||
CGI_URL =
|
|
||||||
DOC_URL =
|
|
||||||
DOC_ABSPATH =
|
|
||||||
BIN_ABSPATH =
|
|
||||||
EXT_DOC_PATHS =
|
|
||||||
183
doxygen/tnl.doxy
183
doxygen/tnl.doxy
@@ -1,183 +0,0 @@
|
|||||||
# Doxyfile 0.1
|
|
||||||
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# General configuration options
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
PROJECT_NAME = "Mesa tnl"
|
|
||||||
PROJECT_NUMBER = 4.1
|
|
||||||
OUTPUT_DIRECTORY =
|
|
||||||
OUTPUT_LANGUAGE = English
|
|
||||||
EXTRACT_ALL = YES
|
|
||||||
EXTRACT_PRIVATE = NO
|
|
||||||
EXTRACT_STATIC = NO
|
|
||||||
EXTRACT_LOCAL_CLASSES = YES
|
|
||||||
HIDE_UNDOC_MEMBERS = NO
|
|
||||||
HIDE_UNDOC_CLASSES = NO
|
|
||||||
BRIEF_MEMBER_DESC = YES
|
|
||||||
REPEAT_BRIEF = YES
|
|
||||||
ALWAYS_DETAILED_SEC = NO
|
|
||||||
INLINE_INHERITED_MEMB = NO
|
|
||||||
FULL_PATH_NAMES = NO
|
|
||||||
STRIP_FROM_PATH =
|
|
||||||
INTERNAL_DOCS = NO
|
|
||||||
STRIP_CODE_COMMENTS = YES
|
|
||||||
CASE_SENSE_NAMES = YES
|
|
||||||
SHORT_NAMES = NO
|
|
||||||
HIDE_SCOPE_NAMES = NO
|
|
||||||
VERBATIM_HEADERS = YES
|
|
||||||
SHOW_INCLUDE_FILES = YES
|
|
||||||
JAVADOC_AUTOBRIEF = NO
|
|
||||||
INHERIT_DOCS = YES
|
|
||||||
INLINE_INFO = YES
|
|
||||||
SORT_MEMBER_DOCS = NO
|
|
||||||
DISTRIBUTE_GROUP_DOC = NO
|
|
||||||
TAB_SIZE = 8
|
|
||||||
GENERATE_TODOLIST = YES
|
|
||||||
GENERATE_TESTLIST = YES
|
|
||||||
GENERATE_BUGLIST = YES
|
|
||||||
ALIASES =
|
|
||||||
ENABLED_SECTIONS =
|
|
||||||
MAX_INITIALIZER_LINES = 30
|
|
||||||
OPTIMIZE_OUTPUT_FOR_C = YES
|
|
||||||
SHOW_USED_FILES = YES
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to warning and progress messages
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
QUIET = YES
|
|
||||||
WARNINGS = YES
|
|
||||||
WARN_IF_UNDOCUMENTED = YES
|
|
||||||
WARN_FORMAT =
|
|
||||||
WARN_LOGFILE =
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to the input files
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
INPUT = ../src/tnl/
|
|
||||||
FILE_PATTERNS = *.c \
|
|
||||||
*.h
|
|
||||||
RECURSIVE = NO
|
|
||||||
EXCLUDE =
|
|
||||||
EXCLUDE_PATTERNS =
|
|
||||||
EXAMPLE_PATH =
|
|
||||||
EXAMPLE_PATTERNS =
|
|
||||||
EXAMPLE_RECURSIVE = NO
|
|
||||||
IMAGE_PATH =
|
|
||||||
INPUT_FILTER =
|
|
||||||
FILTER_SOURCE_FILES = NO
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to source browsing
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
SOURCE_BROWSER = NO
|
|
||||||
INLINE_SOURCES = NO
|
|
||||||
REFERENCED_BY_RELATION = YES
|
|
||||||
REFERENCES_RELATION = YES
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to the alphabetical class index
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
ALPHABETICAL_INDEX = YES
|
|
||||||
COLS_IN_ALPHA_INDEX = 5
|
|
||||||
IGNORE_PREFIX =
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to the HTML output
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
GENERATE_HTML = YES
|
|
||||||
HTML_OUTPUT = tnl
|
|
||||||
HTML_HEADER = header.html
|
|
||||||
HTML_FOOTER =
|
|
||||||
HTML_STYLESHEET =
|
|
||||||
HTML_ALIGN_MEMBERS = YES
|
|
||||||
GENERATE_HTMLHELP = NO
|
|
||||||
GENERATE_CHI = NO
|
|
||||||
BINARY_TOC = NO
|
|
||||||
TOC_EXPAND = NO
|
|
||||||
DISABLE_INDEX = NO
|
|
||||||
ENUM_VALUES_PER_LINE = 4
|
|
||||||
GENERATE_TREEVIEW = NO
|
|
||||||
TREEVIEW_WIDTH = 250
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to the LaTeX output
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
GENERATE_LATEX = NO
|
|
||||||
LATEX_OUTPUT =
|
|
||||||
COMPACT_LATEX = NO
|
|
||||||
PAPER_TYPE = a4wide
|
|
||||||
EXTRA_PACKAGES =
|
|
||||||
LATEX_HEADER =
|
|
||||||
PDF_HYPERLINKS = NO
|
|
||||||
USE_PDFLATEX = NO
|
|
||||||
LATEX_BATCHMODE = NO
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to the RTF output
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
GENERATE_RTF = NO
|
|
||||||
RTF_OUTPUT =
|
|
||||||
COMPACT_RTF = NO
|
|
||||||
RTF_HYPERLINKS = NO
|
|
||||||
RTF_STYLESHEET_FILE =
|
|
||||||
RTF_EXTENSIONS_FILE =
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to the man page output
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
GENERATE_MAN = NO
|
|
||||||
MAN_OUTPUT =
|
|
||||||
MAN_EXTENSION =
|
|
||||||
MAN_LINKS = NO
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to the XML output
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
GENERATE_XML = NO
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options for the AutoGen Definitions output
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
GENERATE_AUTOGEN_DEF = NO
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# Configuration options related to the preprocessor
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
ENABLE_PREPROCESSING = YES
|
|
||||||
MACRO_EXPANSION = NO
|
|
||||||
EXPAND_ONLY_PREDEF = NO
|
|
||||||
SEARCH_INCLUDES = YES
|
|
||||||
INCLUDE_PATH =
|
|
||||||
INCLUDE_FILE_PATTERNS =
|
|
||||||
PREDEFINED =
|
|
||||||
EXPAND_AS_DEFINED =
|
|
||||||
SKIP_FUNCTION_MACROS = YES
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# Configuration::addtions related to external references
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
TAGFILES = tnl_dd.tag=../tnl \
|
|
||||||
core.tag=../core \
|
|
||||||
math.tag=../math \
|
|
||||||
swrast.tag=../swrast \
|
|
||||||
swrast_setup.tag=swrast_setup \
|
|
||||||
array_cache.tag=array_cache
|
|
||||||
GENERATE_TAGFILE = tnl.tag
|
|
||||||
ALLEXTERNALS = YES
|
|
||||||
PERL_PATH =
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# Configuration options related to the dot tool
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
CLASS_DIAGRAMS = YES
|
|
||||||
HAVE_DOT = NO
|
|
||||||
CLASS_GRAPH = YES
|
|
||||||
COLLABORATION_GRAPH = YES
|
|
||||||
TEMPLATE_RELATIONS = YES
|
|
||||||
HIDE_UNDOC_RELATIONS = YES
|
|
||||||
INCLUDE_GRAPH = YES
|
|
||||||
INCLUDED_BY_GRAPH = YES
|
|
||||||
GRAPHICAL_HIERARCHY = YES
|
|
||||||
DOT_PATH =
|
|
||||||
DOTFILE_DIRS =
|
|
||||||
MAX_DOT_GRAPH_WIDTH = 1024
|
|
||||||
MAX_DOT_GRAPH_HEIGHT = 1024
|
|
||||||
GENERATE_LEGEND = YES
|
|
||||||
DOT_CLEANUP = YES
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# Configuration::addtions related to the search engine
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
SEARCHENGINE = NO
|
|
||||||
CGI_NAME =
|
|
||||||
CGI_URL =
|
|
||||||
DOC_URL =
|
|
||||||
DOC_ABSPATH =
|
|
||||||
BIN_ABSPATH =
|
|
||||||
EXT_DOC_PATHS =
|
|
||||||
@@ -1,182 +0,0 @@
|
|||||||
# Doxyfile 0.1
|
|
||||||
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# General configuration options
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
PROJECT_NAME = "Mesa tnl_dd"
|
|
||||||
PROJECT_NUMBER = 4.1
|
|
||||||
OUTPUT_DIRECTORY =
|
|
||||||
OUTPUT_LANGUAGE = English
|
|
||||||
EXTRACT_ALL = YES
|
|
||||||
EXTRACT_PRIVATE = NO
|
|
||||||
EXTRACT_STATIC = NO
|
|
||||||
EXTRACT_LOCAL_CLASSES = YES
|
|
||||||
HIDE_UNDOC_MEMBERS = NO
|
|
||||||
HIDE_UNDOC_CLASSES = NO
|
|
||||||
BRIEF_MEMBER_DESC = YES
|
|
||||||
REPEAT_BRIEF = YES
|
|
||||||
ALWAYS_DETAILED_SEC = NO
|
|
||||||
INLINE_INHERITED_MEMB = NO
|
|
||||||
FULL_PATH_NAMES = NO
|
|
||||||
STRIP_FROM_PATH =
|
|
||||||
INTERNAL_DOCS = NO
|
|
||||||
STRIP_CODE_COMMENTS = YES
|
|
||||||
CASE_SENSE_NAMES = YES
|
|
||||||
SHORT_NAMES = NO
|
|
||||||
HIDE_SCOPE_NAMES = NO
|
|
||||||
VERBATIM_HEADERS = YES
|
|
||||||
SHOW_INCLUDE_FILES = YES
|
|
||||||
JAVADOC_AUTOBRIEF = NO
|
|
||||||
INHERIT_DOCS = YES
|
|
||||||
INLINE_INFO = NO
|
|
||||||
SORT_MEMBER_DOCS = NO
|
|
||||||
DISTRIBUTE_GROUP_DOC = NO
|
|
||||||
TAB_SIZE = 8
|
|
||||||
GENERATE_TODOLIST = YES
|
|
||||||
GENERATE_TESTLIST = YES
|
|
||||||
GENERATE_BUGLIST = YES
|
|
||||||
ALIASES =
|
|
||||||
ENABLED_SECTIONS =
|
|
||||||
MAX_INITIALIZER_LINES = 30
|
|
||||||
OPTIMIZE_OUTPUT_FOR_C = YES
|
|
||||||
SHOW_USED_FILES = YES
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to warning and progress messages
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
QUIET = YES
|
|
||||||
WARNINGS = YES
|
|
||||||
WARN_IF_UNDOCUMENTED = YES
|
|
||||||
WARN_FORMAT =
|
|
||||||
WARN_LOGFILE =
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to the input files
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
INPUT = ../src/tnl_dd/
|
|
||||||
FILE_PATTERNS = *.h
|
|
||||||
RECURSIVE = YES
|
|
||||||
EXCLUDE =
|
|
||||||
EXCLUDE_PATTERNS =
|
|
||||||
EXAMPLE_PATH =
|
|
||||||
EXAMPLE_PATTERNS =
|
|
||||||
EXAMPLE_RECURSIVE = NO
|
|
||||||
IMAGE_PATH =
|
|
||||||
INPUT_FILTER =
|
|
||||||
FILTER_SOURCE_FILES = NO
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to source browsing
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
SOURCE_BROWSER = NO
|
|
||||||
INLINE_SOURCES = NO
|
|
||||||
REFERENCED_BY_RELATION = YES
|
|
||||||
REFERENCES_RELATION = YES
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to the alphabetical class index
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
ALPHABETICAL_INDEX = YES
|
|
||||||
COLS_IN_ALPHA_INDEX = 5
|
|
||||||
IGNORE_PREFIX =
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to the HTML output
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
GENERATE_HTML = YES
|
|
||||||
HTML_OUTPUT = tnl_dd
|
|
||||||
HTML_HEADER = header.html
|
|
||||||
HTML_FOOTER =
|
|
||||||
HTML_STYLESHEET =
|
|
||||||
HTML_ALIGN_MEMBERS = YES
|
|
||||||
GENERATE_HTMLHELP = NO
|
|
||||||
GENERATE_CHI = NO
|
|
||||||
BINARY_TOC = NO
|
|
||||||
TOC_EXPAND = NO
|
|
||||||
DISABLE_INDEX = NO
|
|
||||||
ENUM_VALUES_PER_LINE = 4
|
|
||||||
GENERATE_TREEVIEW = NO
|
|
||||||
TREEVIEW_WIDTH = 250
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to the LaTeX output
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
GENERATE_LATEX = NO
|
|
||||||
LATEX_OUTPUT =
|
|
||||||
COMPACT_LATEX = NO
|
|
||||||
PAPER_TYPE = a4wide
|
|
||||||
EXTRA_PACKAGES =
|
|
||||||
LATEX_HEADER =
|
|
||||||
PDF_HYPERLINKS = NO
|
|
||||||
USE_PDFLATEX = NO
|
|
||||||
LATEX_BATCHMODE = NO
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to the RTF output
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
GENERATE_RTF = NO
|
|
||||||
RTF_OUTPUT =
|
|
||||||
COMPACT_RTF = NO
|
|
||||||
RTF_HYPERLINKS = NO
|
|
||||||
RTF_STYLESHEET_FILE =
|
|
||||||
RTF_EXTENSIONS_FILE =
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to the man page output
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
GENERATE_MAN = NO
|
|
||||||
MAN_OUTPUT =
|
|
||||||
MAN_EXTENSION =
|
|
||||||
MAN_LINKS = NO
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to the XML output
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
GENERATE_XML = NO
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options for the AutoGen Definitions output
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
GENERATE_AUTOGEN_DEF = NO
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# Configuration options related to the preprocessor
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
ENABLE_PREPROCESSING = YES
|
|
||||||
MACRO_EXPANSION = NO
|
|
||||||
EXPAND_ONLY_PREDEF = NO
|
|
||||||
SEARCH_INCLUDES = YES
|
|
||||||
INCLUDE_PATH =
|
|
||||||
INCLUDE_FILE_PATTERNS =
|
|
||||||
PREDEFINED =
|
|
||||||
EXPAND_AS_DEFINED =
|
|
||||||
SKIP_FUNCTION_MACROS = YES
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# Configuration::addtions related to external references
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
TAGFILES = core.tag=../core \
|
|
||||||
math.tag=../math \
|
|
||||||
swrast.tag=../swrast \
|
|
||||||
swrast_setup.tag=../swrast_setup \
|
|
||||||
tnl.tag=../tnl \
|
|
||||||
array_cache.tag=array_cache
|
|
||||||
GENERATE_TAGFILE = tnl_dd.tag
|
|
||||||
ALLEXTERNALS = NO
|
|
||||||
PERL_PATH =
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# Configuration options related to the dot tool
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
CLASS_DIAGRAMS = YES
|
|
||||||
HAVE_DOT = NO
|
|
||||||
CLASS_GRAPH = YES
|
|
||||||
COLLABORATION_GRAPH = YES
|
|
||||||
TEMPLATE_RELATIONS = YES
|
|
||||||
HIDE_UNDOC_RELATIONS = YES
|
|
||||||
INCLUDE_GRAPH = YES
|
|
||||||
INCLUDED_BY_GRAPH = YES
|
|
||||||
GRAPHICAL_HIERARCHY = YES
|
|
||||||
DOT_PATH =
|
|
||||||
DOTFILE_DIRS =
|
|
||||||
MAX_DOT_GRAPH_WIDTH = 1024
|
|
||||||
MAX_DOT_GRAPH_HEIGHT = 1024
|
|
||||||
GENERATE_LEGEND = YES
|
|
||||||
DOT_CLEANUP = YES
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# Configuration::addtions related to the search engine
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
SEARCHENGINE = NO
|
|
||||||
CGI_NAME =
|
|
||||||
CGI_URL =
|
|
||||||
DOC_URL =
|
|
||||||
DOC_ABSPATH =
|
|
||||||
BIN_ABSPATH =
|
|
||||||
EXT_DOC_PATHS =
|
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
/*
|
/*
|
||||||
* Mesa 3-D graphics library
|
* Mesa 3-D graphics library
|
||||||
* Version: 5.0
|
* Version: 4.0
|
||||||
*
|
*
|
||||||
* Copyright (C) 1999-2002 Brian Paul All Rights Reserved.
|
* Copyright (C) 1999 Brian Paul All Rights Reserved.
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
* copy of this software and associated documentation files (the "Software"),
|
* copy of this software and associated documentation files (the "Software"),
|
||||||
@@ -23,7 +23,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* DOS/DJGPP device driver v1.2 for Mesa 4.1
|
* DOS/DJGPP device driver v1.0 for Mesa 4.0
|
||||||
*
|
*
|
||||||
* Copyright (C) 2002 - Borca Daniel
|
* Copyright (C) 2002 - Borca Daniel
|
||||||
* Email : dborca@yahoo.com
|
* Email : dborca@yahoo.com
|
||||||
@@ -31,10 +31,10 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
#ifndef DMESA_H_included
|
#ifndef DMESA_included
|
||||||
#define DMESA_H_included
|
#define DMESA_included
|
||||||
|
|
||||||
#define DMESA_MAJOR_VERSION 5
|
#define DMESA_MAJOR_VERSION 4
|
||||||
#define DMESA_MINOR_VERSION 0
|
#define DMESA_MINOR_VERSION 0
|
||||||
|
|
||||||
typedef struct dmesa_context *DMesaContext;
|
typedef struct dmesa_context *DMesaContext;
|
||||||
@@ -45,10 +45,8 @@ typedef struct dmesa_buffer *DMesaBuffer;
|
|||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
DMesaVisual DMesaCreateVisual (GLint width, GLint height,
|
DMesaVisual DMesaCreateVisual (GLint width, GLint height, GLint colDepth,
|
||||||
GLint colDepth,
|
GLboolean dbFlag, GLint depthSize,
|
||||||
GLboolean dbFlag,
|
|
||||||
GLint depthSize,
|
|
||||||
GLint stencilSize,
|
GLint stencilSize,
|
||||||
GLint accumSize);
|
GLint accumSize);
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $Id: ggimesa.h,v 1.4 2002/06/10 15:16:44 brianp Exp $ */
|
/* $Id: ggimesa.h,v 1.3.6.1 2002/06/10 15:16:16 brianp Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Mesa 3-D graphics library GGI bindings (GGIGL [giggle])
|
* Mesa 3-D graphics library GGI bindings (GGIGL [giggle])
|
||||||
|
|||||||
724
include/GL/gl.h
724
include/GL/gl.h
@@ -1,10 +1,10 @@
|
|||||||
/* $Id: gl.h,v 1.72 2002/10/17 19:39:31 kschultz Exp $ */
|
/* $Id: gl.h,v 1.59.2.3 2002/04/26 13:53:09 brianp Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Mesa 3-D graphics library
|
* Mesa 3-D graphics library
|
||||||
* Version: 4.1
|
* Version: 4.0.3
|
||||||
*
|
*
|
||||||
* Copyright (C) 1999-2002 Brian Paul All Rights Reserved.
|
* Copyright (C) 1999-2003 Brian Paul All Rights Reserved.
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
* copy of this software and associated documentation files (the "Software"),
|
* copy of this software and associated documentation files (the "Software"),
|
||||||
@@ -63,23 +63,6 @@
|
|||||||
# define GLAPIENTRY
|
# define GLAPIENTRY
|
||||||
#endif /* WIN32 / CYGWIN bracket */
|
#endif /* WIN32 / CYGWIN bracket */
|
||||||
|
|
||||||
#if (defined(__BEOS__) && defined(__POWERPC__)) || defined(__QUICKDRAW__)
|
|
||||||
# define PRAGMA_EXPORT_SUPPORTED 1
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
|
||||||
* WINDOWS: Include windows.h here to define APIENTRY.
|
|
||||||
* It is also useful when applications include this file by
|
|
||||||
* including only glut.h, since glut.h depends on windows.h.
|
|
||||||
* Applications needing to include windows.h with parms other
|
|
||||||
* than "WIN32_LEAN_AND_MEAN" may include windows.h before
|
|
||||||
* glut.h or gl.h.
|
|
||||||
*/
|
|
||||||
#if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__)
|
|
||||||
#define WIN32_LEAN_AND_MEAN 1
|
|
||||||
#include <windows.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(_WIN32) && !defined(_WINGDI_) && !defined(_GNU_H_WINDOWS32_DEFINES) && !defined(OPENSTEP) && !defined(__CYGWIN__)
|
#if defined(_WIN32) && !defined(_WINGDI_) && !defined(_GNU_H_WINDOWS32_DEFINES) && !defined(OPENSTEP) && !defined(__CYGWIN__)
|
||||||
#include <gl/mesa_wgl.h>
|
#include <gl/mesa_wgl.h>
|
||||||
#endif
|
#endif
|
||||||
@@ -87,19 +70,6 @@
|
|||||||
#if defined(macintosh) && PRAGMA_IMPORT_SUPPORTED
|
#if defined(macintosh) && PRAGMA_IMPORT_SUPPORTED
|
||||||
#pragma import on
|
#pragma import on
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef APIENTRY
|
|
||||||
#define APIENTRY GLAPIENTRY
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef CENTERLINE_CLPP
|
|
||||||
#define signed
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(PRAGMA_EXPORT_SUPPORTED)
|
|
||||||
#pragma export on
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* End system-specific stuff.
|
* End system-specific stuff.
|
||||||
**********************************************************************/
|
**********************************************************************/
|
||||||
@@ -119,8 +89,13 @@ extern "C" {
|
|||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
*
|
||||||
* Datatypes
|
* Datatypes
|
||||||
|
*
|
||||||
*/
|
*/
|
||||||
|
#ifdef CENTERLINE_CLPP
|
||||||
|
#define signed
|
||||||
|
#endif
|
||||||
typedef unsigned int GLenum;
|
typedef unsigned int GLenum;
|
||||||
typedef unsigned char GLboolean;
|
typedef unsigned char GLboolean;
|
||||||
typedef unsigned int GLbitfield;
|
typedef unsigned int GLbitfield;
|
||||||
@@ -140,7 +115,9 @@ typedef double GLclampd; /* double precision float in [0,1] */
|
|||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
*
|
||||||
* Constants
|
* Constants
|
||||||
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Boolean values */
|
/* Boolean values */
|
||||||
@@ -356,6 +333,10 @@ typedef double GLclampd; /* double precision float in [0,1] */
|
|||||||
#define GL_DST_COLOR 0x0306
|
#define GL_DST_COLOR 0x0306
|
||||||
#define GL_ONE_MINUS_DST_COLOR 0x0307
|
#define GL_ONE_MINUS_DST_COLOR 0x0307
|
||||||
#define GL_SRC_ALPHA_SATURATE 0x0308
|
#define GL_SRC_ALPHA_SATURATE 0x0308
|
||||||
|
#define GL_CONSTANT_COLOR 0x8001
|
||||||
|
#define GL_ONE_MINUS_CONSTANT_COLOR 0x8002
|
||||||
|
#define GL_CONSTANT_ALPHA 0x8003
|
||||||
|
#define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004
|
||||||
|
|
||||||
/* Render Mode */
|
/* Render Mode */
|
||||||
#define GL_FEEDBACK 0x1C01
|
#define GL_FEEDBACK 0x1C01
|
||||||
@@ -523,6 +504,8 @@ typedef double GLclampd; /* double precision float in [0,1] */
|
|||||||
/* Evaluators */
|
/* Evaluators */
|
||||||
#define GL_AUTO_NORMAL 0x0D80
|
#define GL_AUTO_NORMAL 0x0D80
|
||||||
#define GL_MAP1_COLOR_4 0x0D90
|
#define GL_MAP1_COLOR_4 0x0D90
|
||||||
|
#define GL_MAP1_GRID_DOMAIN 0x0DD0
|
||||||
|
#define GL_MAP1_GRID_SEGMENTS 0x0DD1
|
||||||
#define GL_MAP1_INDEX 0x0D91
|
#define GL_MAP1_INDEX 0x0D91
|
||||||
#define GL_MAP1_NORMAL 0x0D92
|
#define GL_MAP1_NORMAL 0x0D92
|
||||||
#define GL_MAP1_TEXTURE_COORD_1 0x0D93
|
#define GL_MAP1_TEXTURE_COORD_1 0x0D93
|
||||||
@@ -532,6 +515,8 @@ typedef double GLclampd; /* double precision float in [0,1] */
|
|||||||
#define GL_MAP1_VERTEX_3 0x0D97
|
#define GL_MAP1_VERTEX_3 0x0D97
|
||||||
#define GL_MAP1_VERTEX_4 0x0D98
|
#define GL_MAP1_VERTEX_4 0x0D98
|
||||||
#define GL_MAP2_COLOR_4 0x0DB0
|
#define GL_MAP2_COLOR_4 0x0DB0
|
||||||
|
#define GL_MAP2_GRID_DOMAIN 0x0DD2
|
||||||
|
#define GL_MAP2_GRID_SEGMENTS 0x0DD3
|
||||||
#define GL_MAP2_INDEX 0x0DB1
|
#define GL_MAP2_INDEX 0x0DB1
|
||||||
#define GL_MAP2_NORMAL 0x0DB2
|
#define GL_MAP2_NORMAL 0x0DB2
|
||||||
#define GL_MAP2_TEXTURE_COORD_1 0x0DB3
|
#define GL_MAP2_TEXTURE_COORD_1 0x0DB3
|
||||||
@@ -540,10 +525,6 @@ typedef double GLclampd; /* double precision float in [0,1] */
|
|||||||
#define GL_MAP2_TEXTURE_COORD_4 0x0DB6
|
#define GL_MAP2_TEXTURE_COORD_4 0x0DB6
|
||||||
#define GL_MAP2_VERTEX_3 0x0DB7
|
#define GL_MAP2_VERTEX_3 0x0DB7
|
||||||
#define GL_MAP2_VERTEX_4 0x0DB8
|
#define GL_MAP2_VERTEX_4 0x0DB8
|
||||||
#define GL_MAP1_GRID_DOMAIN 0x0DD0
|
|
||||||
#define GL_MAP1_GRID_SEGMENTS 0x0DD1
|
|
||||||
#define GL_MAP2_GRID_DOMAIN 0x0DD2
|
|
||||||
#define GL_MAP2_GRID_SEGMENTS 0x0DD3
|
|
||||||
#define GL_COEFF 0x0A00
|
#define GL_COEFF 0x0A00
|
||||||
#define GL_DOMAIN 0x0A02
|
#define GL_DOMAIN 0x0A02
|
||||||
#define GL_ORDER 0x0A01
|
#define GL_ORDER 0x0A01
|
||||||
@@ -743,6 +724,243 @@ typedef double GLclampd; /* double precision float in [0,1] */
|
|||||||
#define GL_CLIENT_ALL_ATTRIB_BITS 0xFFFFFFFF
|
#define GL_CLIENT_ALL_ATTRIB_BITS 0xFFFFFFFF
|
||||||
|
|
||||||
|
|
||||||
|
/* OpenGL 1.2 */
|
||||||
|
#define GL_RESCALE_NORMAL 0x803A
|
||||||
|
#define GL_CLAMP_TO_EDGE 0x812F
|
||||||
|
#define GL_MAX_ELEMENTS_VERTICES 0x80E8
|
||||||
|
#define GL_MAX_ELEMENTS_INDICES 0x80E9
|
||||||
|
#define GL_BGR 0x80E0
|
||||||
|
#define GL_BGRA 0x80E1
|
||||||
|
#define GL_UNSIGNED_BYTE_3_3_2 0x8032
|
||||||
|
#define GL_UNSIGNED_BYTE_2_3_3_REV 0x8362
|
||||||
|
#define GL_UNSIGNED_SHORT_5_6_5 0x8363
|
||||||
|
#define GL_UNSIGNED_SHORT_5_6_5_REV 0x8364
|
||||||
|
#define GL_UNSIGNED_SHORT_4_4_4_4 0x8033
|
||||||
|
#define GL_UNSIGNED_SHORT_4_4_4_4_REV 0x8365
|
||||||
|
#define GL_UNSIGNED_SHORT_5_5_5_1 0x8034
|
||||||
|
#define GL_UNSIGNED_SHORT_1_5_5_5_REV 0x8366
|
||||||
|
#define GL_UNSIGNED_INT_8_8_8_8 0x8035
|
||||||
|
#define GL_UNSIGNED_INT_8_8_8_8_REV 0x8367
|
||||||
|
#define GL_UNSIGNED_INT_10_10_10_2 0x8036
|
||||||
|
#define GL_UNSIGNED_INT_2_10_10_10_REV 0x8368
|
||||||
|
#define GL_LIGHT_MODEL_COLOR_CONTROL 0x81F8
|
||||||
|
#define GL_SINGLE_COLOR 0x81F9
|
||||||
|
#define GL_SEPARATE_SPECULAR_COLOR 0x81FA
|
||||||
|
#define GL_TEXTURE_MIN_LOD 0x813A
|
||||||
|
#define GL_TEXTURE_MAX_LOD 0x813B
|
||||||
|
#define GL_TEXTURE_BASE_LEVEL 0x813C
|
||||||
|
#define GL_TEXTURE_MAX_LEVEL 0x813D
|
||||||
|
#define GL_SMOOTH_POINT_SIZE_RANGE 0x0B12
|
||||||
|
#define GL_SMOOTH_POINT_SIZE_GRANULARITY 0x0B13
|
||||||
|
#define GL_SMOOTH_LINE_WIDTH_RANGE 0x0B22
|
||||||
|
#define GL_SMOOTH_LINE_WIDTH_GRANULARITY 0x0B23
|
||||||
|
#define GL_ALIASED_POINT_SIZE_RANGE 0x846D
|
||||||
|
#define GL_ALIASED_LINE_WIDTH_RANGE 0x846E
|
||||||
|
#define GL_PACK_SKIP_IMAGES 0x806B
|
||||||
|
#define GL_PACK_IMAGE_HEIGHT 0x806C
|
||||||
|
#define GL_UNPACK_SKIP_IMAGES 0x806D
|
||||||
|
#define GL_UNPACK_IMAGE_HEIGHT 0x806E
|
||||||
|
#define GL_TEXTURE_3D 0x806F
|
||||||
|
#define GL_PROXY_TEXTURE_3D 0x8070
|
||||||
|
#define GL_TEXTURE_DEPTH 0x8071
|
||||||
|
#define GL_TEXTURE_WRAP_R 0x8072
|
||||||
|
#define GL_MAX_3D_TEXTURE_SIZE 0x8073
|
||||||
|
#define GL_TEXTURE_BINDING_3D 0x806A
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* OpenGL 1.2 imaging subset
|
||||||
|
*/
|
||||||
|
/* GL_EXT_color_table */
|
||||||
|
#define GL_COLOR_TABLE 0x80D0
|
||||||
|
#define GL_POST_CONVOLUTION_COLOR_TABLE 0x80D1
|
||||||
|
#define GL_POST_COLOR_MATRIX_COLOR_TABLE 0x80D2
|
||||||
|
#define GL_PROXY_COLOR_TABLE 0x80D3
|
||||||
|
#define GL_PROXY_POST_CONVOLUTION_COLOR_TABLE 0x80D4
|
||||||
|
#define GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE 0x80D5
|
||||||
|
#define GL_COLOR_TABLE_SCALE 0x80D6
|
||||||
|
#define GL_COLOR_TABLE_BIAS 0x80D7
|
||||||
|
#define GL_COLOR_TABLE_FORMAT 0x80D8
|
||||||
|
#define GL_COLOR_TABLE_WIDTH 0x80D9
|
||||||
|
#define GL_COLOR_TABLE_RED_SIZE 0x80DA
|
||||||
|
#define GL_COLOR_TABLE_GREEN_SIZE 0x80DB
|
||||||
|
#define GL_COLOR_TABLE_BLUE_SIZE 0x80DC
|
||||||
|
#define GL_COLOR_TABLE_ALPHA_SIZE 0x80DD
|
||||||
|
#define GL_COLOR_TABLE_LUMINANCE_SIZE 0x80DE
|
||||||
|
#define GL_COLOR_TABLE_INTENSITY_SIZE 0x80DF
|
||||||
|
/* GL_EXT_convolution and GL_HP_convolution_border_modes */
|
||||||
|
#define GL_CONVOLUTION_1D 0x8010
|
||||||
|
#define GL_CONVOLUTION_2D 0x8011
|
||||||
|
#define GL_SEPARABLE_2D 0x8012
|
||||||
|
#define GL_CONVOLUTION_BORDER_MODE 0x8013
|
||||||
|
#define GL_CONVOLUTION_FILTER_SCALE 0x8014
|
||||||
|
#define GL_CONVOLUTION_FILTER_BIAS 0x8015
|
||||||
|
#define GL_REDUCE 0x8016
|
||||||
|
#define GL_CONVOLUTION_FORMAT 0x8017
|
||||||
|
#define GL_CONVOLUTION_WIDTH 0x8018
|
||||||
|
#define GL_CONVOLUTION_HEIGHT 0x8019
|
||||||
|
#define GL_MAX_CONVOLUTION_WIDTH 0x801A
|
||||||
|
#define GL_MAX_CONVOLUTION_HEIGHT 0x801B
|
||||||
|
#define GL_POST_CONVOLUTION_RED_SCALE 0x801C
|
||||||
|
#define GL_POST_CONVOLUTION_GREEN_SCALE 0x801D
|
||||||
|
#define GL_POST_CONVOLUTION_BLUE_SCALE 0x801E
|
||||||
|
#define GL_POST_CONVOLUTION_ALPHA_SCALE 0x801F
|
||||||
|
#define GL_POST_CONVOLUTION_RED_BIAS 0x8020
|
||||||
|
#define GL_POST_CONVOLUTION_GREEN_BIAS 0x8021
|
||||||
|
#define GL_POST_CONVOLUTION_BLUE_BIAS 0x8022
|
||||||
|
#define GL_POST_CONVOLUTION_ALPHA_BIAS 0x8023
|
||||||
|
#define GL_CONSTANT_BORDER 0x8151
|
||||||
|
#define GL_REPLICATE_BORDER 0x8153
|
||||||
|
#define GL_CONVOLUTION_BORDER_COLOR 0x8154
|
||||||
|
/* GL_SGI_color_matrix */
|
||||||
|
#define GL_COLOR_MATRIX 0x80B1
|
||||||
|
#define GL_COLOR_MATRIX_STACK_DEPTH 0x80B2
|
||||||
|
#define GL_MAX_COLOR_MATRIX_STACK_DEPTH 0x80B3
|
||||||
|
#define GL_POST_COLOR_MATRIX_RED_SCALE 0x80B4
|
||||||
|
#define GL_POST_COLOR_MATRIX_GREEN_SCALE 0x80B5
|
||||||
|
#define GL_POST_COLOR_MATRIX_BLUE_SCALE 0x80B6
|
||||||
|
#define GL_POST_COLOR_MATRIX_ALPHA_SCALE 0x80B7
|
||||||
|
#define GL_POST_COLOR_MATRIX_RED_BIAS 0x80B8
|
||||||
|
#define GL_POST_COLOR_MATRIX_GREEN_BIAS 0x80B9
|
||||||
|
#define GL_POST_COLOR_MATRIX_BLUE_BIAS 0x80BA
|
||||||
|
#define GL_POST_COLOR_MATRIX_ALPHA_BIAS 0x80BB
|
||||||
|
/* GL_EXT_histogram */
|
||||||
|
#define GL_HISTOGRAM 0x8024
|
||||||
|
#define GL_PROXY_HISTOGRAM 0x8025
|
||||||
|
#define GL_HISTOGRAM_WIDTH 0x8026
|
||||||
|
#define GL_HISTOGRAM_FORMAT 0x8027
|
||||||
|
#define GL_HISTOGRAM_RED_SIZE 0x8028
|
||||||
|
#define GL_HISTOGRAM_GREEN_SIZE 0x8029
|
||||||
|
#define GL_HISTOGRAM_BLUE_SIZE 0x802A
|
||||||
|
#define GL_HISTOGRAM_ALPHA_SIZE 0x802B
|
||||||
|
#define GL_HISTOGRAM_LUMINANCE_SIZE 0x802C
|
||||||
|
#define GL_HISTOGRAM_SINK 0x802D
|
||||||
|
#define GL_MINMAX 0x802E
|
||||||
|
#define GL_MINMAX_FORMAT 0x802F
|
||||||
|
#define GL_MINMAX_SINK 0x8030
|
||||||
|
#define GL_TABLE_TOO_LARGE 0x8031
|
||||||
|
/* GL_EXT_blend_color, GL_EXT_blend_minmax */
|
||||||
|
#define GL_BLEND_EQUATION 0x8009
|
||||||
|
#define GL_MIN 0x8007
|
||||||
|
#define GL_MAX 0x8008
|
||||||
|
#define GL_FUNC_ADD 0x8006
|
||||||
|
#define GL_FUNC_SUBTRACT 0x800A
|
||||||
|
#define GL_FUNC_REVERSE_SUBTRACT 0x800B
|
||||||
|
#define GL_BLEND_COLOR 0x8005
|
||||||
|
|
||||||
|
|
||||||
|
/* OpenGL 1.3 */
|
||||||
|
/* multitexture */
|
||||||
|
#define GL_TEXTURE0 0x84C0
|
||||||
|
#define GL_TEXTURE1 0x84C1
|
||||||
|
#define GL_TEXTURE2 0x84C2
|
||||||
|
#define GL_TEXTURE3 0x84C3
|
||||||
|
#define GL_TEXTURE4 0x84C4
|
||||||
|
#define GL_TEXTURE5 0x84C5
|
||||||
|
#define GL_TEXTURE6 0x84C6
|
||||||
|
#define GL_TEXTURE7 0x84C7
|
||||||
|
#define GL_TEXTURE8 0x84C8
|
||||||
|
#define GL_TEXTURE9 0x84C9
|
||||||
|
#define GL_TEXTURE10 0x84CA
|
||||||
|
#define GL_TEXTURE11 0x84CB
|
||||||
|
#define GL_TEXTURE12 0x84CC
|
||||||
|
#define GL_TEXTURE13 0x84CD
|
||||||
|
#define GL_TEXTURE14 0x84CE
|
||||||
|
#define GL_TEXTURE15 0x84CF
|
||||||
|
#define GL_TEXTURE16 0x84D0
|
||||||
|
#define GL_TEXTURE17 0x84D1
|
||||||
|
#define GL_TEXTURE18 0x84D2
|
||||||
|
#define GL_TEXTURE19 0x84D3
|
||||||
|
#define GL_TEXTURE20 0x84D4
|
||||||
|
#define GL_TEXTURE21 0x84D5
|
||||||
|
#define GL_TEXTURE22 0x84D6
|
||||||
|
#define GL_TEXTURE23 0x84D7
|
||||||
|
#define GL_TEXTURE24 0x84D8
|
||||||
|
#define GL_TEXTURE25 0x84D9
|
||||||
|
#define GL_TEXTURE26 0x84DA
|
||||||
|
#define GL_TEXTURE27 0x84DB
|
||||||
|
#define GL_TEXTURE28 0x84DC
|
||||||
|
#define GL_TEXTURE29 0x84DD
|
||||||
|
#define GL_TEXTURE30 0x84DE
|
||||||
|
#define GL_TEXTURE31 0x84DF
|
||||||
|
#define GL_ACTIVE_TEXTURE 0x84E0
|
||||||
|
#define GL_CLIENT_ACTIVE_TEXTURE 0x84E1
|
||||||
|
#define GL_MAX_TEXTURE_UNITS 0x84E2
|
||||||
|
/* texture_cube_map */
|
||||||
|
#define GL_NORMAL_MAP 0x8511
|
||||||
|
#define GL_REFLECTION_MAP 0x8512
|
||||||
|
#define GL_TEXTURE_CUBE_MAP 0x8513
|
||||||
|
#define GL_TEXTURE_BINDING_CUBE_MAP 0x8514
|
||||||
|
#define GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x8515
|
||||||
|
#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x8516
|
||||||
|
#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x8517
|
||||||
|
#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x8518
|
||||||
|
#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x8519
|
||||||
|
#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x851A
|
||||||
|
#define GL_PROXY_TEXTURE_CUBE_MAP 0x851B
|
||||||
|
#define GL_MAX_CUBE_MAP_TEXTURE_SIZE 0x851C
|
||||||
|
/* texture_compression */
|
||||||
|
#define GL_COMPRESSED_ALPHA 0x84E9
|
||||||
|
#define GL_COMPRESSED_LUMINANCE 0x84EA
|
||||||
|
#define GL_COMPRESSED_LUMINANCE_ALPHA 0x84EB
|
||||||
|
#define GL_COMPRESSED_INTENSITY 0x84EC
|
||||||
|
#define GL_COMPRESSED_RGB 0x84ED
|
||||||
|
#define GL_COMPRESSED_RGBA 0x84EE
|
||||||
|
#define GL_TEXTURE_COMPRESSION_HINT 0x84EF
|
||||||
|
#define GL_TEXTURE_COMPRESSED_IMAGE_SIZE 0x86A0
|
||||||
|
#define GL_TEXTURE_COMPRESSED 0x86A1
|
||||||
|
#define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2
|
||||||
|
#define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3
|
||||||
|
/* multisample */
|
||||||
|
#define GL_MULTISAMPLE 0x809D
|
||||||
|
#define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E
|
||||||
|
#define GL_SAMPLE_ALPHA_TO_ONE 0x809F
|
||||||
|
#define GL_SAMPLE_COVERAGE 0x80A0
|
||||||
|
#define GL_SAMPLE_BUFFERS 0x80A8
|
||||||
|
#define GL_SAMPLES 0x80A9
|
||||||
|
#define GL_SAMPLE_COVERAGE_VALUE 0x80AA
|
||||||
|
#define GL_SAMPLE_COVERAGE_INVERT 0x80AB
|
||||||
|
#define GL_MULTISAMPLE_BIT 0x20000000
|
||||||
|
/* transpose_matrix */
|
||||||
|
#define GL_TRANSPOSE_MODELVIEW_MATRIX 0x84E3
|
||||||
|
#define GL_TRANSPOSE_PROJECTION_MATRIX 0x84E4
|
||||||
|
#define GL_TRANSPOSE_TEXTURE_MATRIX 0x84E5
|
||||||
|
#define GL_TRANSPOSE_COLOR_MATRIX 0x84E6
|
||||||
|
/* texture_env_combine */
|
||||||
|
#define GL_COMBINE 0x8570
|
||||||
|
#define GL_COMBINE_RGB 0x8571
|
||||||
|
#define GL_COMBINE_ALPHA 0x8572
|
||||||
|
#define GL_SOURCE0_RGB 0x8580
|
||||||
|
#define GL_SOURCE1_RGB 0x8581
|
||||||
|
#define GL_SOURCE2_RGB 0x8582
|
||||||
|
#define GL_SOURCE0_ALPHA 0x8588
|
||||||
|
#define GL_SOURCE1_ALPHA 0x8589
|
||||||
|
#define GL_SOURCE2_ALPHA 0x858A
|
||||||
|
#define GL_OPERAND0_RGB 0x8590
|
||||||
|
#define GL_OPERAND1_RGB 0x8591
|
||||||
|
#define GL_OPERAND2_RGB 0x8592
|
||||||
|
#define GL_OPERAND0_ALPHA 0x8598
|
||||||
|
#define GL_OPERAND1_ALPHA 0x8599
|
||||||
|
#define GL_OPERAND2_ALPHA 0x859A
|
||||||
|
#define GL_RGB_SCALE 0x8573
|
||||||
|
#define GL_ADD_SIGNED 0x8574
|
||||||
|
#define GL_INTERPOLATE 0x8575
|
||||||
|
#define GL_SUBTRACT 0x84E7
|
||||||
|
#define GL_CONSTANT 0x8576
|
||||||
|
#define GL_PRIMARY_COLOR 0x8577
|
||||||
|
#define GL_PREVIOUS 0x8578
|
||||||
|
/* texture_env_dot3 */
|
||||||
|
#define GL_DOT3_RGB 0x86AE
|
||||||
|
#define GL_DOT3_RGBA 0x86AF
|
||||||
|
/* texture_border_clamp */
|
||||||
|
#define GL_CLAMP_TO_BORDER 0x812D
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#if defined(__BEOS__) || defined(__QUICKDRAW__)
|
||||||
|
#pragma export on
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Miscellaneous
|
* Miscellaneous
|
||||||
@@ -840,6 +1058,7 @@ GLAPI void GLAPIENTRY glFlush( void );
|
|||||||
GLAPI void GLAPIENTRY glHint( GLenum target, GLenum mode );
|
GLAPI void GLAPIENTRY glHint( GLenum target, GLenum mode );
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Depth Buffer
|
* Depth Buffer
|
||||||
*/
|
*/
|
||||||
@@ -862,6 +1081,7 @@ GLAPI void GLAPIENTRY glClearAccum( GLfloat red, GLfloat green, GLfloat blue, GL
|
|||||||
GLAPI void GLAPIENTRY glAccum( GLenum op, GLfloat value );
|
GLAPI void GLAPIENTRY glAccum( GLenum op, GLfloat value );
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Transformation
|
* Transformation
|
||||||
*/
|
*/
|
||||||
@@ -903,6 +1123,7 @@ GLAPI void GLAPIENTRY glTranslated( GLdouble x, GLdouble y, GLdouble z );
|
|||||||
GLAPI void GLAPIENTRY glTranslatef( GLfloat x, GLfloat y, GLfloat z );
|
GLAPI void GLAPIENTRY glTranslatef( GLfloat x, GLfloat y, GLfloat z );
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Display Lists
|
* Display Lists
|
||||||
*/
|
*/
|
||||||
@@ -925,6 +1146,7 @@ GLAPI void GLAPIENTRY glCallLists( GLsizei n, GLenum type,
|
|||||||
GLAPI void GLAPIENTRY glListBase( GLuint base );
|
GLAPI void GLAPIENTRY glListBase( GLuint base );
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Drawing Functions
|
* Drawing Functions
|
||||||
*/
|
*/
|
||||||
@@ -1120,6 +1342,7 @@ GLAPI void GLAPIENTRY glRectiv( const GLint *v1, const GLint *v2 );
|
|||||||
GLAPI void GLAPIENTRY glRectsv( const GLshort *v1, const GLshort *v2 );
|
GLAPI void GLAPIENTRY glRectsv( const GLshort *v1, const GLshort *v2 );
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Vertex Arrays (1.1)
|
* Vertex Arrays (1.1)
|
||||||
*/
|
*/
|
||||||
@@ -1153,6 +1376,7 @@ GLAPI void GLAPIENTRY glDrawElements( GLenum mode, GLsizei count,
|
|||||||
GLAPI void GLAPIENTRY glInterleavedArrays( GLenum format, GLsizei stride,
|
GLAPI void GLAPIENTRY glInterleavedArrays( GLenum format, GLsizei stride,
|
||||||
const GLvoid *pointer );
|
const GLvoid *pointer );
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Lighting
|
* Lighting
|
||||||
*/
|
*/
|
||||||
@@ -1187,6 +1411,8 @@ GLAPI void GLAPIENTRY glGetMaterialiv( GLenum face, GLenum pname, GLint *params
|
|||||||
GLAPI void GLAPIENTRY glColorMaterial( GLenum face, GLenum mode );
|
GLAPI void GLAPIENTRY glColorMaterial( GLenum face, GLenum mode );
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Raster functions
|
* Raster functions
|
||||||
*/
|
*/
|
||||||
@@ -1228,6 +1454,8 @@ GLAPI void GLAPIENTRY glCopyPixels( GLint x, GLint y,
|
|||||||
GLsizei width, GLsizei height,
|
GLsizei width, GLsizei height,
|
||||||
GLenum type );
|
GLenum type );
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Stenciling
|
* Stenciling
|
||||||
*/
|
*/
|
||||||
@@ -1305,6 +1533,7 @@ GLAPI void GLAPIENTRY glGetTexImage( GLenum target, GLint level,
|
|||||||
GLvoid *pixels );
|
GLvoid *pixels );
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* 1.1 functions */
|
/* 1.1 functions */
|
||||||
|
|
||||||
GLAPI void GLAPIENTRY glGenTextures( GLsizei n, GLuint *textures );
|
GLAPI void GLAPIENTRY glGenTextures( GLsizei n, GLuint *textures );
|
||||||
@@ -1361,6 +1590,8 @@ GLAPI void GLAPIENTRY glCopyTexSubImage2D( GLenum target, GLint level,
|
|||||||
GLsizei width, GLsizei height );
|
GLsizei width, GLsizei height );
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Evaluators
|
* Evaluators
|
||||||
*/
|
*/
|
||||||
@@ -1414,6 +1645,7 @@ GLAPI void GLAPIENTRY glEvalMesh1( GLenum mode, GLint i1, GLint i2 );
|
|||||||
GLAPI void GLAPIENTRY glEvalMesh2( GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2 );
|
GLAPI void GLAPIENTRY glEvalMesh2( GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2 );
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Fog
|
* Fog
|
||||||
*/
|
*/
|
||||||
@@ -1427,6 +1659,7 @@ GLAPI void GLAPIENTRY glFogfv( GLenum pname, const GLfloat *params );
|
|||||||
GLAPI void GLAPIENTRY glFogiv( GLenum pname, const GLint *params );
|
GLAPI void GLAPIENTRY glFogiv( GLenum pname, const GLint *params );
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Selection and Feedback
|
* Selection and Feedback
|
||||||
*/
|
*/
|
||||||
@@ -1447,57 +1680,12 @@ GLAPI void GLAPIENTRY glPopName( void );
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/* 1.2 functions */
|
||||||
* OpenGL 1.2
|
|
||||||
*/
|
|
||||||
|
|
||||||
#define GL_RESCALE_NORMAL 0x803A
|
|
||||||
#define GL_CLAMP_TO_EDGE 0x812F
|
|
||||||
#define GL_MAX_ELEMENTS_VERTICES 0x80E8
|
|
||||||
#define GL_MAX_ELEMENTS_INDICES 0x80E9
|
|
||||||
#define GL_BGR 0x80E0
|
|
||||||
#define GL_BGRA 0x80E1
|
|
||||||
#define GL_UNSIGNED_BYTE_3_3_2 0x8032
|
|
||||||
#define GL_UNSIGNED_BYTE_2_3_3_REV 0x8362
|
|
||||||
#define GL_UNSIGNED_SHORT_5_6_5 0x8363
|
|
||||||
#define GL_UNSIGNED_SHORT_5_6_5_REV 0x8364
|
|
||||||
#define GL_UNSIGNED_SHORT_4_4_4_4 0x8033
|
|
||||||
#define GL_UNSIGNED_SHORT_4_4_4_4_REV 0x8365
|
|
||||||
#define GL_UNSIGNED_SHORT_5_5_5_1 0x8034
|
|
||||||
#define GL_UNSIGNED_SHORT_1_5_5_5_REV 0x8366
|
|
||||||
#define GL_UNSIGNED_INT_8_8_8_8 0x8035
|
|
||||||
#define GL_UNSIGNED_INT_8_8_8_8_REV 0x8367
|
|
||||||
#define GL_UNSIGNED_INT_10_10_10_2 0x8036
|
|
||||||
#define GL_UNSIGNED_INT_2_10_10_10_REV 0x8368
|
|
||||||
#define GL_LIGHT_MODEL_COLOR_CONTROL 0x81F8
|
|
||||||
#define GL_SINGLE_COLOR 0x81F9
|
|
||||||
#define GL_SEPARATE_SPECULAR_COLOR 0x81FA
|
|
||||||
#define GL_TEXTURE_MIN_LOD 0x813A
|
|
||||||
#define GL_TEXTURE_MAX_LOD 0x813B
|
|
||||||
#define GL_TEXTURE_BASE_LEVEL 0x813C
|
|
||||||
#define GL_TEXTURE_MAX_LEVEL 0x813D
|
|
||||||
#define GL_SMOOTH_POINT_SIZE_RANGE 0x0B12
|
|
||||||
#define GL_SMOOTH_POINT_SIZE_GRANULARITY 0x0B13
|
|
||||||
#define GL_SMOOTH_LINE_WIDTH_RANGE 0x0B22
|
|
||||||
#define GL_SMOOTH_LINE_WIDTH_GRANULARITY 0x0B23
|
|
||||||
#define GL_ALIASED_POINT_SIZE_RANGE 0x846D
|
|
||||||
#define GL_ALIASED_LINE_WIDTH_RANGE 0x846E
|
|
||||||
#define GL_PACK_SKIP_IMAGES 0x806B
|
|
||||||
#define GL_PACK_IMAGE_HEIGHT 0x806C
|
|
||||||
#define GL_UNPACK_SKIP_IMAGES 0x806D
|
|
||||||
#define GL_UNPACK_IMAGE_HEIGHT 0x806E
|
|
||||||
#define GL_TEXTURE_3D 0x806F
|
|
||||||
#define GL_PROXY_TEXTURE_3D 0x8070
|
|
||||||
#define GL_TEXTURE_DEPTH 0x8071
|
|
||||||
#define GL_TEXTURE_WRAP_R 0x8072
|
|
||||||
#define GL_MAX_3D_TEXTURE_SIZE 0x8073
|
|
||||||
#define GL_TEXTURE_BINDING_3D 0x806A
|
|
||||||
|
|
||||||
GLAPI void GLAPIENTRY glDrawRangeElements( GLenum mode, GLuint start,
|
GLAPI void GLAPIENTRY glDrawRangeElements( GLenum mode, GLuint start,
|
||||||
GLuint end, GLsizei count, GLenum type, const GLvoid *indices );
|
GLuint end, GLsizei count, GLenum type, const GLvoid *indices );
|
||||||
|
|
||||||
GLAPI void GLAPIENTRY glTexImage3D( GLenum target, GLint level,
|
GLAPI void GLAPIENTRY glTexImage3D( GLenum target, GLint level,
|
||||||
GLint internalFormat,
|
GLenum internalFormat,
|
||||||
GLsizei width, GLsizei height,
|
GLsizei width, GLsizei height,
|
||||||
GLsizei depth, GLint border,
|
GLsizei depth, GLint border,
|
||||||
GLenum format, GLenum type,
|
GLenum format, GLenum type,
|
||||||
@@ -1516,92 +1704,8 @@ GLAPI void GLAPIENTRY glCopyTexSubImage3D( GLenum target, GLint level,
|
|||||||
GLint y, GLsizei width,
|
GLint y, GLsizei width,
|
||||||
GLsizei height );
|
GLsizei height );
|
||||||
|
|
||||||
typedef void (APIENTRY * PFNGLDRAWRANGEELEMENTSPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices);
|
|
||||||
typedef void (APIENTRY * PFNGLTEXIMAGE3DPROC) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
|
|
||||||
typedef void (APIENTRY * PFNGLTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);
|
|
||||||
typedef void (APIENTRY * PFNGLCOPYTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* GL_ARB_imaging
|
|
||||||
*/
|
|
||||||
|
|
||||||
#define GL_CONSTANT_COLOR 0x8001
|
|
||||||
#define GL_ONE_MINUS_CONSTANT_COLOR 0x8002
|
|
||||||
#define GL_CONSTANT_ALPHA 0x8003
|
|
||||||
#define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004
|
|
||||||
#define GL_COLOR_TABLE 0x80D0
|
|
||||||
#define GL_POST_CONVOLUTION_COLOR_TABLE 0x80D1
|
|
||||||
#define GL_POST_COLOR_MATRIX_COLOR_TABLE 0x80D2
|
|
||||||
#define GL_PROXY_COLOR_TABLE 0x80D3
|
|
||||||
#define GL_PROXY_POST_CONVOLUTION_COLOR_TABLE 0x80D4
|
|
||||||
#define GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE 0x80D5
|
|
||||||
#define GL_COLOR_TABLE_SCALE 0x80D6
|
|
||||||
#define GL_COLOR_TABLE_BIAS 0x80D7
|
|
||||||
#define GL_COLOR_TABLE_FORMAT 0x80D8
|
|
||||||
#define GL_COLOR_TABLE_WIDTH 0x80D9
|
|
||||||
#define GL_COLOR_TABLE_RED_SIZE 0x80DA
|
|
||||||
#define GL_COLOR_TABLE_GREEN_SIZE 0x80DB
|
|
||||||
#define GL_COLOR_TABLE_BLUE_SIZE 0x80DC
|
|
||||||
#define GL_COLOR_TABLE_ALPHA_SIZE 0x80DD
|
|
||||||
#define GL_COLOR_TABLE_LUMINANCE_SIZE 0x80DE
|
|
||||||
#define GL_COLOR_TABLE_INTENSITY_SIZE 0x80DF
|
|
||||||
#define GL_CONVOLUTION_1D 0x8010
|
|
||||||
#define GL_CONVOLUTION_2D 0x8011
|
|
||||||
#define GL_SEPARABLE_2D 0x8012
|
|
||||||
#define GL_CONVOLUTION_BORDER_MODE 0x8013
|
|
||||||
#define GL_CONVOLUTION_FILTER_SCALE 0x8014
|
|
||||||
#define GL_CONVOLUTION_FILTER_BIAS 0x8015
|
|
||||||
#define GL_REDUCE 0x8016
|
|
||||||
#define GL_CONVOLUTION_FORMAT 0x8017
|
|
||||||
#define GL_CONVOLUTION_WIDTH 0x8018
|
|
||||||
#define GL_CONVOLUTION_HEIGHT 0x8019
|
|
||||||
#define GL_MAX_CONVOLUTION_WIDTH 0x801A
|
|
||||||
#define GL_MAX_CONVOLUTION_HEIGHT 0x801B
|
|
||||||
#define GL_POST_CONVOLUTION_RED_SCALE 0x801C
|
|
||||||
#define GL_POST_CONVOLUTION_GREEN_SCALE 0x801D
|
|
||||||
#define GL_POST_CONVOLUTION_BLUE_SCALE 0x801E
|
|
||||||
#define GL_POST_CONVOLUTION_ALPHA_SCALE 0x801F
|
|
||||||
#define GL_POST_CONVOLUTION_RED_BIAS 0x8020
|
|
||||||
#define GL_POST_CONVOLUTION_GREEN_BIAS 0x8021
|
|
||||||
#define GL_POST_CONVOLUTION_BLUE_BIAS 0x8022
|
|
||||||
#define GL_POST_CONVOLUTION_ALPHA_BIAS 0x8023
|
|
||||||
#define GL_CONSTANT_BORDER 0x8151
|
|
||||||
#define GL_REPLICATE_BORDER 0x8153
|
|
||||||
#define GL_CONVOLUTION_BORDER_COLOR 0x8154
|
|
||||||
#define GL_COLOR_MATRIX 0x80B1
|
|
||||||
#define GL_COLOR_MATRIX_STACK_DEPTH 0x80B2
|
|
||||||
#define GL_MAX_COLOR_MATRIX_STACK_DEPTH 0x80B3
|
|
||||||
#define GL_POST_COLOR_MATRIX_RED_SCALE 0x80B4
|
|
||||||
#define GL_POST_COLOR_MATRIX_GREEN_SCALE 0x80B5
|
|
||||||
#define GL_POST_COLOR_MATRIX_BLUE_SCALE 0x80B6
|
|
||||||
#define GL_POST_COLOR_MATRIX_ALPHA_SCALE 0x80B7
|
|
||||||
#define GL_POST_COLOR_MATRIX_RED_BIAS 0x80B8
|
|
||||||
#define GL_POST_COLOR_MATRIX_GREEN_BIAS 0x80B9
|
|
||||||
#define GL_POST_COLOR_MATRIX_BLUE_BIAS 0x80BA
|
|
||||||
#define GL_POST_COLOR_MATRIX_ALPHA_BIAS 0x80BB
|
|
||||||
#define GL_HISTOGRAM 0x8024
|
|
||||||
#define GL_PROXY_HISTOGRAM 0x8025
|
|
||||||
#define GL_HISTOGRAM_WIDTH 0x8026
|
|
||||||
#define GL_HISTOGRAM_FORMAT 0x8027
|
|
||||||
#define GL_HISTOGRAM_RED_SIZE 0x8028
|
|
||||||
#define GL_HISTOGRAM_GREEN_SIZE 0x8029
|
|
||||||
#define GL_HISTOGRAM_BLUE_SIZE 0x802A
|
|
||||||
#define GL_HISTOGRAM_ALPHA_SIZE 0x802B
|
|
||||||
#define GL_HISTOGRAM_LUMINANCE_SIZE 0x802C
|
|
||||||
#define GL_HISTOGRAM_SINK 0x802D
|
|
||||||
#define GL_MINMAX 0x802E
|
|
||||||
#define GL_MINMAX_FORMAT 0x802F
|
|
||||||
#define GL_MINMAX_SINK 0x8030
|
|
||||||
#define GL_TABLE_TOO_LARGE 0x8031
|
|
||||||
#define GL_BLEND_EQUATION 0x8009
|
|
||||||
#define GL_MIN 0x8007
|
|
||||||
#define GL_MAX 0x8008
|
|
||||||
#define GL_FUNC_ADD 0x8006
|
|
||||||
#define GL_FUNC_SUBTRACT 0x800A
|
|
||||||
#define GL_FUNC_REVERSE_SUBTRACT 0x800B
|
|
||||||
#define GL_BLEND_COLOR 0x8005
|
|
||||||
|
|
||||||
|
/* 1.2 imaging extension functions */
|
||||||
|
|
||||||
GLAPI void GLAPIENTRY glColorTable( GLenum target, GLenum internalformat,
|
GLAPI void GLAPIENTRY glColorTable( GLenum target, GLenum internalformat,
|
||||||
GLsizei width, GLenum format,
|
GLsizei width, GLenum format,
|
||||||
@@ -1711,151 +1815,9 @@ GLAPI void GLAPIENTRY glSeparableFilter2D( GLenum target,
|
|||||||
GLAPI void GLAPIENTRY glGetSeparableFilter( GLenum target, GLenum format,
|
GLAPI void GLAPIENTRY glGetSeparableFilter( GLenum target, GLenum format,
|
||||||
GLenum type, GLvoid *row, GLvoid *column, GLvoid *span );
|
GLenum type, GLvoid *row, GLvoid *column, GLvoid *span );
|
||||||
|
|
||||||
typedef void (APIENTRY * PFNGLBLENDCOLORPROC) (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
|
|
||||||
typedef void (APIENTRY * PFNGLBLENDEQUATIONPROC) (GLenum mode);
|
|
||||||
typedef void (APIENTRY * PFNGLCOLORTABLEPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table);
|
|
||||||
typedef void (APIENTRY * PFNGLCOLORTABLEPARAMETERFVPROC) (GLenum target, GLenum pname, const GLfloat *params);
|
|
||||||
typedef void (APIENTRY * PFNGLCOLORTABLEPARAMETERIVPROC) (GLenum target, GLenum pname, const GLint *params);
|
|
||||||
typedef void (APIENTRY * PFNGLCOPYCOLORTABLEPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
|
|
||||||
typedef void (APIENTRY * PFNGLGETCOLORTABLEPROC) (GLenum target, GLenum format, GLenum type, GLvoid *table);
|
|
||||||
typedef void (APIENTRY * PFNGLGETCOLORTABLEPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params);
|
|
||||||
typedef void (APIENTRY * PFNGLGETCOLORTABLEPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
|
|
||||||
typedef void (APIENTRY * PFNGLCOLORSUBTABLEPROC) (GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data);
|
|
||||||
typedef void (APIENTRY * PFNGLCOPYCOLORSUBTABLEPROC) (GLenum target, GLsizei start, GLint x, GLint y, GLsizei width);
|
|
||||||
typedef void (APIENTRY * PFNGLCONVOLUTIONFILTER1DPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image);
|
|
||||||
typedef void (APIENTRY * PFNGLCONVOLUTIONFILTER2DPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image);
|
|
||||||
typedef void (APIENTRY * PFNGLCONVOLUTIONPARAMETERFPROC) (GLenum target, GLenum pname, GLfloat params);
|
|
||||||
typedef void (APIENTRY * PFNGLCONVOLUTIONPARAMETERFVPROC) (GLenum target, GLenum pname, const GLfloat *params);
|
|
||||||
typedef void (APIENTRY * PFNGLCONVOLUTIONPARAMETERIPROC) (GLenum target, GLenum pname, GLint params);
|
|
||||||
typedef void (APIENTRY * PFNGLCONVOLUTIONPARAMETERIVPROC) (GLenum target, GLenum pname, const GLint *params);
|
|
||||||
typedef void (APIENTRY * PFNGLCOPYCONVOLUTIONFILTER1DPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
|
|
||||||
typedef void (APIENTRY * PFNGLCOPYCONVOLUTIONFILTER2DPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height);
|
|
||||||
typedef void (APIENTRY * PFNGLGETCONVOLUTIONFILTERPROC) (GLenum target, GLenum format, GLenum type, GLvoid *image);
|
|
||||||
typedef void (APIENTRY * PFNGLGETCONVOLUTIONPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params);
|
|
||||||
typedef void (APIENTRY * PFNGLGETCONVOLUTIONPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
|
|
||||||
typedef void (APIENTRY * PFNGLGETSEPARABLEFILTERPROC) (GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span);
|
|
||||||
typedef void (APIENTRY * PFNGLSEPARABLEFILTER2DPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column);
|
|
||||||
typedef void (APIENTRY * PFNGLGETHISTOGRAMPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);
|
|
||||||
typedef void (APIENTRY * PFNGLGETHISTOGRAMPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params);
|
|
||||||
typedef void (APIENTRY * PFNGLGETHISTOGRAMPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
|
|
||||||
typedef void (APIENTRY * PFNGLGETMINMAXPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);
|
|
||||||
typedef void (APIENTRY * PFNGLGETMINMAXPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params);
|
|
||||||
typedef void (APIENTRY * PFNGLGETMINMAXPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
|
|
||||||
typedef void (APIENTRY * PFNGLHISTOGRAMPROC) (GLenum target, GLsizei width, GLenum internalformat, GLboolean sink);
|
|
||||||
typedef void (APIENTRY * PFNGLMINMAXPROC) (GLenum target, GLenum internalformat, GLboolean sink);
|
|
||||||
typedef void (APIENTRY * PFNGLRESETHISTOGRAMPROC) (GLenum target);
|
|
||||||
typedef void (APIENTRY * PFNGLRESETMINMAXPROC) (GLenum target);
|
|
||||||
|
|
||||||
|
|
||||||
|
/* 1.3 functions */
|
||||||
/*
|
|
||||||
* OpenGL 1.3
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* multitexture */
|
|
||||||
#define GL_TEXTURE0 0x84C0
|
|
||||||
#define GL_TEXTURE1 0x84C1
|
|
||||||
#define GL_TEXTURE2 0x84C2
|
|
||||||
#define GL_TEXTURE3 0x84C3
|
|
||||||
#define GL_TEXTURE4 0x84C4
|
|
||||||
#define GL_TEXTURE5 0x84C5
|
|
||||||
#define GL_TEXTURE6 0x84C6
|
|
||||||
#define GL_TEXTURE7 0x84C7
|
|
||||||
#define GL_TEXTURE8 0x84C8
|
|
||||||
#define GL_TEXTURE9 0x84C9
|
|
||||||
#define GL_TEXTURE10 0x84CA
|
|
||||||
#define GL_TEXTURE11 0x84CB
|
|
||||||
#define GL_TEXTURE12 0x84CC
|
|
||||||
#define GL_TEXTURE13 0x84CD
|
|
||||||
#define GL_TEXTURE14 0x84CE
|
|
||||||
#define GL_TEXTURE15 0x84CF
|
|
||||||
#define GL_TEXTURE16 0x84D0
|
|
||||||
#define GL_TEXTURE17 0x84D1
|
|
||||||
#define GL_TEXTURE18 0x84D2
|
|
||||||
#define GL_TEXTURE19 0x84D3
|
|
||||||
#define GL_TEXTURE20 0x84D4
|
|
||||||
#define GL_TEXTURE21 0x84D5
|
|
||||||
#define GL_TEXTURE22 0x84D6
|
|
||||||
#define GL_TEXTURE23 0x84D7
|
|
||||||
#define GL_TEXTURE24 0x84D8
|
|
||||||
#define GL_TEXTURE25 0x84D9
|
|
||||||
#define GL_TEXTURE26 0x84DA
|
|
||||||
#define GL_TEXTURE27 0x84DB
|
|
||||||
#define GL_TEXTURE28 0x84DC
|
|
||||||
#define GL_TEXTURE29 0x84DD
|
|
||||||
#define GL_TEXTURE30 0x84DE
|
|
||||||
#define GL_TEXTURE31 0x84DF
|
|
||||||
#define GL_ACTIVE_TEXTURE 0x84E0
|
|
||||||
#define GL_CLIENT_ACTIVE_TEXTURE 0x84E1
|
|
||||||
#define GL_MAX_TEXTURE_UNITS 0x84E2
|
|
||||||
/* texture_cube_map */
|
|
||||||
#define GL_NORMAL_MAP 0x8511
|
|
||||||
#define GL_REFLECTION_MAP 0x8512
|
|
||||||
#define GL_TEXTURE_CUBE_MAP 0x8513
|
|
||||||
#define GL_TEXTURE_BINDING_CUBE_MAP 0x8514
|
|
||||||
#define GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x8515
|
|
||||||
#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x8516
|
|
||||||
#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x8517
|
|
||||||
#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x8518
|
|
||||||
#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x8519
|
|
||||||
#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x851A
|
|
||||||
#define GL_PROXY_TEXTURE_CUBE_MAP 0x851B
|
|
||||||
#define GL_MAX_CUBE_MAP_TEXTURE_SIZE 0x851C
|
|
||||||
/* texture_compression */
|
|
||||||
#define GL_COMPRESSED_ALPHA 0x84E9
|
|
||||||
#define GL_COMPRESSED_LUMINANCE 0x84EA
|
|
||||||
#define GL_COMPRESSED_LUMINANCE_ALPHA 0x84EB
|
|
||||||
#define GL_COMPRESSED_INTENSITY 0x84EC
|
|
||||||
#define GL_COMPRESSED_RGB 0x84ED
|
|
||||||
#define GL_COMPRESSED_RGBA 0x84EE
|
|
||||||
#define GL_TEXTURE_COMPRESSION_HINT 0x84EF
|
|
||||||
#define GL_TEXTURE_COMPRESSED_IMAGE_SIZE 0x86A0
|
|
||||||
#define GL_TEXTURE_COMPRESSED 0x86A1
|
|
||||||
#define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2
|
|
||||||
#define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3
|
|
||||||
/* multisample */
|
|
||||||
#define GL_MULTISAMPLE 0x809D
|
|
||||||
#define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E
|
|
||||||
#define GL_SAMPLE_ALPHA_TO_ONE 0x809F
|
|
||||||
#define GL_SAMPLE_COVERAGE 0x80A0
|
|
||||||
#define GL_SAMPLE_BUFFERS 0x80A8
|
|
||||||
#define GL_SAMPLES 0x80A9
|
|
||||||
#define GL_SAMPLE_COVERAGE_VALUE 0x80AA
|
|
||||||
#define GL_SAMPLE_COVERAGE_INVERT 0x80AB
|
|
||||||
#define GL_MULTISAMPLE_BIT 0x20000000
|
|
||||||
/* transpose_matrix */
|
|
||||||
#define GL_TRANSPOSE_MODELVIEW_MATRIX 0x84E3
|
|
||||||
#define GL_TRANSPOSE_PROJECTION_MATRIX 0x84E4
|
|
||||||
#define GL_TRANSPOSE_TEXTURE_MATRIX 0x84E5
|
|
||||||
#define GL_TRANSPOSE_COLOR_MATRIX 0x84E6
|
|
||||||
/* texture_env_combine */
|
|
||||||
#define GL_COMBINE 0x8570
|
|
||||||
#define GL_COMBINE_RGB 0x8571
|
|
||||||
#define GL_COMBINE_ALPHA 0x8572
|
|
||||||
#define GL_SOURCE0_RGB 0x8580
|
|
||||||
#define GL_SOURCE1_RGB 0x8581
|
|
||||||
#define GL_SOURCE2_RGB 0x8582
|
|
||||||
#define GL_SOURCE0_ALPHA 0x8588
|
|
||||||
#define GL_SOURCE1_ALPHA 0x8589
|
|
||||||
#define GL_SOURCE2_ALPHA 0x858A
|
|
||||||
#define GL_OPERAND0_RGB 0x8590
|
|
||||||
#define GL_OPERAND1_RGB 0x8591
|
|
||||||
#define GL_OPERAND2_RGB 0x8592
|
|
||||||
#define GL_OPERAND0_ALPHA 0x8598
|
|
||||||
#define GL_OPERAND1_ALPHA 0x8599
|
|
||||||
#define GL_OPERAND2_ALPHA 0x859A
|
|
||||||
#define GL_RGB_SCALE 0x8573
|
|
||||||
#define GL_ADD_SIGNED 0x8574
|
|
||||||
#define GL_INTERPOLATE 0x8575
|
|
||||||
#define GL_SUBTRACT 0x84E7
|
|
||||||
#define GL_CONSTANT 0x8576
|
|
||||||
#define GL_PRIMARY_COLOR 0x8577
|
|
||||||
#define GL_PREVIOUS 0x8578
|
|
||||||
/* texture_env_dot3 */
|
|
||||||
#define GL_DOT3_RGB 0x86AE
|
|
||||||
#define GL_DOT3_RGBA 0x86AF
|
|
||||||
/* texture_border_clamp */
|
|
||||||
#define GL_CLAMP_TO_BORDER 0x812D
|
|
||||||
|
|
||||||
GLAPI void GLAPIENTRY glActiveTexture( GLenum texture );
|
GLAPI void GLAPIENTRY glActiveTexture( GLenum texture );
|
||||||
|
|
||||||
@@ -1950,53 +1912,6 @@ GLAPI void GLAPIENTRY glMultTransposeMatrixf( const GLfloat m[16] );
|
|||||||
|
|
||||||
GLAPI void GLAPIENTRY glSampleCoverage( GLclampf value, GLboolean invert );
|
GLAPI void GLAPIENTRY glSampleCoverage( GLclampf value, GLboolean invert );
|
||||||
|
|
||||||
typedef void (APIENTRY * PFNGLACTIVETEXTUREPROC) (GLenum texture);
|
|
||||||
typedef void (APIENTRY * PFNGLCLIENTACTIVETEXTUREPROC) (GLenum texture);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD1DPROC) (GLenum target, GLdouble s);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD1DVPROC) (GLenum target, const GLdouble *v);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD1FPROC) (GLenum target, GLfloat s);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD1FVPROC) (GLenum target, const GLfloat *v);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD1IPROC) (GLenum target, GLint s);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD1IVPROC) (GLenum target, const GLint *v);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD1SPROC) (GLenum target, GLshort s);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD1SVPROC) (GLenum target, const GLshort *v);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD2DPROC) (GLenum target, GLdouble s, GLdouble t);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD2DVPROC) (GLenum target, const GLdouble *v);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD2FPROC) (GLenum target, GLfloat s, GLfloat t);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD2FVPROC) (GLenum target, const GLfloat *v);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD2IPROC) (GLenum target, GLint s, GLint t);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD2IVPROC) (GLenum target, const GLint *v);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD2SPROC) (GLenum target, GLshort s, GLshort t);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD2SVPROC) (GLenum target, const GLshort *v);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD3DPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD3DVPROC) (GLenum target, const GLdouble *v);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD3FPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD3FVPROC) (GLenum target, const GLfloat *v);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD3IPROC) (GLenum target, GLint s, GLint t, GLint r);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD3IVPROC) (GLenum target, const GLint *v);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD3SPROC) (GLenum target, GLshort s, GLshort t, GLshort r);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD3SVPROC) (GLenum target, const GLshort *v);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD4DPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD4DVPROC) (GLenum target, const GLdouble *v);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD4FPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD4FVPROC) (GLenum target, const GLfloat *v);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD4IPROC) (GLenum target, GLint s, GLint t, GLint r, GLint q);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD4IVPROC) (GLenum target, const GLint *v);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD4SPROC) (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD4SVPROC) (GLenum target, const GLshort *v);
|
|
||||||
typedef void (APIENTRY * PFNGLLOADTRANSPOSEMATRIXFPROC) (const GLfloat *m);
|
|
||||||
typedef void (APIENTRY * PFNGLLOADTRANSPOSEMATRIXDPROC) (const GLdouble *m);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTTRANSPOSEMATRIXFPROC) (const GLfloat *m);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTTRANSPOSEMATRIXDPROC) (const GLdouble *m);
|
|
||||||
typedef void (APIENTRY * PFNGLSAMPLECOVERAGEPROC) (GLclampf value, GLboolean invert);
|
|
||||||
typedef void (APIENTRY * PFNGLCOMPRESSEDTEXIMAGE3DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data);
|
|
||||||
typedef void (APIENTRY * PFNGLCOMPRESSEDTEXIMAGE2DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data);
|
|
||||||
typedef void (APIENTRY * PFNGLCOMPRESSEDTEXIMAGE1DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data);
|
|
||||||
typedef void (APIENTRY * PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data);
|
|
||||||
typedef void (APIENTRY * PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data);
|
|
||||||
typedef void (APIENTRY * PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data);
|
|
||||||
typedef void (APIENTRY * PFNGLGETCOMPRESSEDTEXIMAGEPROC) (GLenum target, GLint level, void *img);
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* GL_ARB_multitexture (ARB extension 1 and OpenGL 1.2.1)
|
* GL_ARB_multitexture (ARB extension 1 and OpenGL 1.2.1)
|
||||||
@@ -2075,49 +1990,11 @@ GLAPI void GLAPIENTRY glMultiTexCoord4ivARB(GLenum target, const GLint *v);
|
|||||||
GLAPI void GLAPIENTRY glMultiTexCoord4sARB(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
|
GLAPI void GLAPIENTRY glMultiTexCoord4sARB(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
|
||||||
GLAPI void GLAPIENTRY glMultiTexCoord4svARB(GLenum target, const GLshort *v);
|
GLAPI void GLAPIENTRY glMultiTexCoord4svARB(GLenum target, const GLshort *v);
|
||||||
|
|
||||||
typedef void (APIENTRY * PFNGLACTIVETEXTUREARBPROC) (GLenum texture);
|
|
||||||
typedef void (APIENTRY * PFNGLCLIENTACTIVETEXTUREARBPROC) (GLenum texture);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD1DARBPROC) (GLenum target, GLdouble s);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD1DVARBPROC) (GLenum target, const GLdouble *v);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD1FARBPROC) (GLenum target, GLfloat s);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD1FVARBPROC) (GLenum target, const GLfloat *v);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD1IARBPROC) (GLenum target, GLint s);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD1IVARBPROC) (GLenum target, const GLint *v);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD1SARBPROC) (GLenum target, GLshort s);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD1SVARBPROC) (GLenum target, const GLshort *v);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD2DARBPROC) (GLenum target, GLdouble s, GLdouble t);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD2DVARBPROC) (GLenum target, const GLdouble *v);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD2FARBPROC) (GLenum target, GLfloat s, GLfloat t);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD2FVARBPROC) (GLenum target, const GLfloat *v);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD2IARBPROC) (GLenum target, GLint s, GLint t);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD2IVARBPROC) (GLenum target, const GLint *v);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD2SARBPROC) (GLenum target, GLshort s, GLshort t);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD2SVARBPROC) (GLenum target, const GLshort *v);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD3DARBPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD3DVARBPROC) (GLenum target, const GLdouble *v);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD3FARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD3FVARBPROC) (GLenum target, const GLfloat *v);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD3IARBPROC) (GLenum target, GLint s, GLint t, GLint r);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD3IVARBPROC) (GLenum target, const GLint *v);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD3SARBPROC) (GLenum target, GLshort s, GLshort t, GLshort r);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD3SVARBPROC) (GLenum target, const GLshort *v);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD4DARBPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD4DVARBPROC) (GLenum target, const GLdouble *v);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD4FARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD4FVARBPROC) (GLenum target, const GLfloat *v);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD4IARBPROC) (GLenum target, GLint s, GLint t, GLint r, GLint q);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD4IVARBPROC) (GLenum target, const GLint *v);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD4SARBPROC) (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD4SVARBPROC) (GLenum target, const GLshort *v);
|
|
||||||
|
|
||||||
#endif /* GL_ARB_multitexture */
|
#endif /* GL_ARB_multitexture */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Define this token if you want "old-style" header file behaviour (extensions
|
|
||||||
* defined in gl.h). Otherwise, extensions will be included from glext.h.
|
|
||||||
*/
|
|
||||||
#if defined(GL_GLEXT_LEGACY)
|
#if defined(GL_GLEXT_LEGACY)
|
||||||
|
|
||||||
|
|
||||||
@@ -2493,6 +2370,8 @@ GLAPI void GLAPIENTRY glUnlockArraysEXT( void );
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* 197. GL_MESA_window_pos
|
* 197. GL_MESA_window_pos
|
||||||
*/
|
*/
|
||||||
@@ -2562,7 +2441,7 @@ GLAPI void GLAPIENTRY glResizeBuffersMESA( void );
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* ???. GL_MESA_trace
|
* ???. GL_MESA_trace
|
||||||
* XXX obsolete
|
* XXX this should go into glext.h at some point
|
||||||
*/
|
*/
|
||||||
#ifndef GL_MESA_trace
|
#ifndef GL_MESA_trace
|
||||||
#define GL_MESA_trace 1
|
#define GL_MESA_trace 1
|
||||||
@@ -2593,7 +2472,7 @@ GLAPI void GLAPIENTRY glTracePointerRangeMESA( const GLvoid* first, const GLvoid
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* ???. GL_MESA_packed_depth_stencil
|
* ???. GL_MESA_packed_depth_stencil
|
||||||
* XXX obsolete
|
* XXX this will be in glext.h someday
|
||||||
*/
|
*/
|
||||||
#ifndef GL_MESA_packed_depth_stencil
|
#ifndef GL_MESA_packed_depth_stencil
|
||||||
#define GL_MESA_packed_depth_stencil 1
|
#define GL_MESA_packed_depth_stencil 1
|
||||||
@@ -2607,50 +2486,21 @@ GLAPI void GLAPIENTRY glTracePointerRangeMESA( const GLvoid* first, const GLvoid
|
|||||||
#endif /* GL_MESA_packed_depth_stencil */
|
#endif /* GL_MESA_packed_depth_stencil */
|
||||||
|
|
||||||
|
|
||||||
#ifndef GL_MESA_ycbcr_texture
|
/*
|
||||||
#define GL_MESA_ycbcr_texture 1
|
* ??. GL_MESA_sprite_point
|
||||||
|
*/
|
||||||
|
#ifndef GL_MESA_sprite_point
|
||||||
|
#define GL_MESA_sprite_point 1
|
||||||
|
|
||||||
#define GL_YCBCR_MESA 0x8757
|
#define GL_SPRITE_POINT_MESA 0x8757 /* XXX not finalized! */
|
||||||
#define GL_UNSIGNED_SHORT_8_8_MESA 0x85BA /* same as Apple */
|
|
||||||
#define GL_UNSIGNED_SHORT_8_8_REV_MESA 0x85BB /* same as Apple */
|
|
||||||
|
|
||||||
#endif /* GL_MESA_texture_ycbcr */
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#ifndef GL_MESA_pack_invert
|
|
||||||
#define GL_MESA_pack_invert 1
|
|
||||||
|
|
||||||
#define GL_PACK_INVERT_MESA 0x8758
|
|
||||||
|
|
||||||
#endif /* GL_MESA_pack_invert */
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#ifndef GL_APPLE_client_storage
|
|
||||||
#define GL_APPLE_client_storage 1
|
|
||||||
|
|
||||||
#define GL_UNPACK_CLIENT_STORAGE_APPLE 0x85B2
|
|
||||||
|
|
||||||
#endif /* GL_APPLE_client_storage */
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#ifndef GL_APPLE_ycbcr_422
|
|
||||||
#define GL_APPLE_ycbcr_422 1
|
|
||||||
|
|
||||||
#define GL_YCBCR_422_APPLE 0x85B9
|
|
||||||
#define GL_UNSIGNED_SHORT_8_8_APPLE 0x85BA
|
|
||||||
#define GL_UNSIGNED_SHORT_8_8_REV_APPLE 0x85BB
|
|
||||||
|
|
||||||
#endif /* GL_APPLE_ycbcr_422 */
|
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/**********************************************************************
|
/**********************************************************************
|
||||||
* Begin system-specific stuff
|
* Begin system-specific stuff
|
||||||
*/
|
*/
|
||||||
#if defined(PRAGMA_EXPORT_SUPPORTED)
|
#if defined(__BEOS__) || defined(__QUICKDRAW__)
|
||||||
#pragma export off
|
#pragma export off
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#if 0 /* $Id: gl_mangle.h,v 1.11 2002/01/18 14:55:40 brianp Exp $ */
|
#if 0 /* $Id: gl_mangle.h,v 1.7.2.3 2002/01/18 14:55:50 brianp Exp $ */
|
||||||
# DO NOT EDIT!!! - TO REGENERATE from gl.h, EXECUTE THIS FILE IN KORN SHELL and save the output
|
# DO NOT EDIT!!! - TO REGENERATE from gl.h, EXECUTE THIS FILE IN KORN SHELL and save the output
|
||||||
# This file is used to create GL function protypes and aliases for the function names
|
# This file is used to create GL function protypes and aliases for the function names
|
||||||
|
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ extern "C" {
|
|||||||
**
|
**
|
||||||
** Original Code. The Original Code is: OpenGL Sample Implementation,
|
** Original Code. The Original Code is: OpenGL Sample Implementation,
|
||||||
** Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
|
** Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
|
||||||
** Inc. The Original Code is Copyright (c) 1991-2002 Silicon Graphics, Inc.
|
** Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
|
||||||
** Copyright in any portions created by third parties is as indicated
|
** Copyright in any portions created by third parties is as indicated
|
||||||
** elsewhere herein. All Rights Reserved.
|
** elsewhere herein. All Rights Reserved.
|
||||||
**
|
**
|
||||||
@@ -49,9 +49,9 @@ extern "C" {
|
|||||||
/*************************************************************/
|
/*************************************************************/
|
||||||
|
|
||||||
/* Header file version number, required by OpenGL ABI for Linux */
|
/* Header file version number, required by OpenGL ABI for Linux */
|
||||||
/* glext.h last updated 2002/08/21 */
|
/* glext.h last updated 2002/05/30 */
|
||||||
/* Current version at http://oss.sgi.com/projects/ogl-sample/registry/ */
|
/* Current version at http://oss.sgi.com/projects/ogl-sample/registry/ */
|
||||||
#define GL_GLEXT_VERSION 17
|
#define GL_GLEXT_VERSION 15
|
||||||
|
|
||||||
#ifndef GL_VERSION_1_2
|
#ifndef GL_VERSION_1_2
|
||||||
#define GL_UNSIGNED_BYTE_3_3_2 0x8032
|
#define GL_UNSIGNED_BYTE_3_3_2 0x8032
|
||||||
@@ -60,16 +60,6 @@ extern "C" {
|
|||||||
#define GL_UNSIGNED_INT_8_8_8_8 0x8035
|
#define GL_UNSIGNED_INT_8_8_8_8 0x8035
|
||||||
#define GL_UNSIGNED_INT_10_10_10_2 0x8036
|
#define GL_UNSIGNED_INT_10_10_10_2 0x8036
|
||||||
#define GL_RESCALE_NORMAL 0x803A
|
#define GL_RESCALE_NORMAL 0x803A
|
||||||
#define GL_TEXTURE_BINDING_3D 0x806A
|
|
||||||
#define GL_PACK_SKIP_IMAGES 0x806B
|
|
||||||
#define GL_PACK_IMAGE_HEIGHT 0x806C
|
|
||||||
#define GL_UNPACK_SKIP_IMAGES 0x806D
|
|
||||||
#define GL_UNPACK_IMAGE_HEIGHT 0x806E
|
|
||||||
#define GL_TEXTURE_3D 0x806F
|
|
||||||
#define GL_PROXY_TEXTURE_3D 0x8070
|
|
||||||
#define GL_TEXTURE_DEPTH 0x8071
|
|
||||||
#define GL_TEXTURE_WRAP_R 0x8072
|
|
||||||
#define GL_MAX_3D_TEXTURE_SIZE 0x8073
|
|
||||||
#define GL_UNSIGNED_BYTE_2_3_3_REV 0x8362
|
#define GL_UNSIGNED_BYTE_2_3_3_REV 0x8362
|
||||||
#define GL_UNSIGNED_SHORT_5_6_5 0x8363
|
#define GL_UNSIGNED_SHORT_5_6_5 0x8363
|
||||||
#define GL_UNSIGNED_SHORT_5_6_5_REV 0x8364
|
#define GL_UNSIGNED_SHORT_5_6_5_REV 0x8364
|
||||||
@@ -153,7 +143,7 @@ extern "C" {
|
|||||||
#define GL_POST_COLOR_MATRIX_RED_BIAS 0x80B8
|
#define GL_POST_COLOR_MATRIX_RED_BIAS 0x80B8
|
||||||
#define GL_POST_COLOR_MATRIX_GREEN_BIAS 0x80B9
|
#define GL_POST_COLOR_MATRIX_GREEN_BIAS 0x80B9
|
||||||
#define GL_POST_COLOR_MATRIX_BLUE_BIAS 0x80BA
|
#define GL_POST_COLOR_MATRIX_BLUE_BIAS 0x80BA
|
||||||
#define GL_POST_COLOR_MATRIX_ALPHA_BIAS 0x80BB
|
#define GL_POST_COLOR_MATIX_ALPHA_BIAS 0x80BB
|
||||||
#define GL_COLOR_TABLE 0x80D0
|
#define GL_COLOR_TABLE 0x80D0
|
||||||
#define GL_POST_CONVOLUTION_COLOR_TABLE 0x80D1
|
#define GL_POST_CONVOLUTION_COLOR_TABLE 0x80D1
|
||||||
#define GL_POST_COLOR_MATRIX_COLOR_TABLE 0x80D2
|
#define GL_POST_COLOR_MATRIX_COLOR_TABLE 0x80D2
|
||||||
@@ -170,7 +160,9 @@ extern "C" {
|
|||||||
#define GL_COLOR_TABLE_ALPHA_SIZE 0x80DD
|
#define GL_COLOR_TABLE_ALPHA_SIZE 0x80DD
|
||||||
#define GL_COLOR_TABLE_LUMINANCE_SIZE 0x80DE
|
#define GL_COLOR_TABLE_LUMINANCE_SIZE 0x80DE
|
||||||
#define GL_COLOR_TABLE_INTENSITY_SIZE 0x80DF
|
#define GL_COLOR_TABLE_INTENSITY_SIZE 0x80DF
|
||||||
|
#define GL_IGNORE_BORDER 0x8150
|
||||||
#define GL_CONSTANT_BORDER 0x8151
|
#define GL_CONSTANT_BORDER 0x8151
|
||||||
|
#define GL_WRAP_BORDER 0x8152
|
||||||
#define GL_REPLICATE_BORDER 0x8153
|
#define GL_REPLICATE_BORDER 0x8153
|
||||||
#define GL_CONVOLUTION_BORDER_COLOR 0x8154
|
#define GL_CONVOLUTION_BORDER_COLOR 0x8154
|
||||||
#endif
|
#endif
|
||||||
@@ -275,48 +267,6 @@ extern "C" {
|
|||||||
#define GL_DOT3_RGBA 0x86AF
|
#define GL_DOT3_RGBA 0x86AF
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef GL_VERSION_1_4
|
|
||||||
#define GL_BLEND_DST_RGB 0x80C8
|
|
||||||
#define GL_BLEND_SRC_RGB 0x80C9
|
|
||||||
#define GL_BLEND_DST_ALPHA 0x80CA
|
|
||||||
#define GL_BLEND_SRC_ALPHA 0x80CB
|
|
||||||
#define GL_POINT_SIZE_MIN 0x8126
|
|
||||||
#define GL_POINT_SIZE_MAX 0x8127
|
|
||||||
#define GL_POINT_FADE_THRESHOLD_SIZE 0x8128
|
|
||||||
#define GL_POINT_DISTANCE_ATTENUATION 0x8129
|
|
||||||
#define GL_GENERATE_MIPMAP 0x8191
|
|
||||||
#define GL_GENERATE_MIPMAP_HINT 0x8192
|
|
||||||
#define GL_DEPTH_COMPONENT16 0x81A5
|
|
||||||
#define GL_DEPTH_COMPONENT24 0x81A6
|
|
||||||
#define GL_DEPTH_COMPONENT32 0x81A7
|
|
||||||
#define GL_MIRRORED_REPEAT 0x8370
|
|
||||||
#define GL_FOG_COORDINATE_SOURCE 0x8450
|
|
||||||
#define GL_FOG_COORDINATE 0x8451
|
|
||||||
#define GL_FRAGMENT_DEPTH 0x8452
|
|
||||||
#define GL_CURRENT_FOG_COORDINATE 0x8453
|
|
||||||
#define GL_FOG_COORDINATE_ARRAY_TYPE 0x8454
|
|
||||||
#define GL_FOG_COORDINATE_ARRAY_STRIDE 0x8455
|
|
||||||
#define GL_FOG_COORDINATE_ARRAY_POINTER 0x8456
|
|
||||||
#define GL_FOG_COORDINATE_ARRAY 0x8457
|
|
||||||
#define GL_COLOR_SUM 0x8458
|
|
||||||
#define GL_CURRENT_SECONDARY_COLOR 0x8459
|
|
||||||
#define GL_SECONDARY_COLOR_ARRAY_SIZE 0x845A
|
|
||||||
#define GL_SECONDARY_COLOR_ARRAY_TYPE 0x845B
|
|
||||||
#define GL_SECONDARY_COLOR_ARRAY_STRIDE 0x845C
|
|
||||||
#define GL_SECONDARY_COLOR_ARRAY_POINTER 0x845D
|
|
||||||
#define GL_SECONDARY_COLOR_ARRAY 0x845E
|
|
||||||
#define GL_MAX_TEXTURE_LOD_BIAS 0x84FD
|
|
||||||
#define GL_TEXTURE_FILTER_CONTROL 0x8500
|
|
||||||
#define GL_TEXTURE_LOD_BIAS 0x8501
|
|
||||||
#define GL_INCR_WRAP 0x8507
|
|
||||||
#define GL_DECR_WRAP 0x8508
|
|
||||||
#define GL_TEXTURE_DEPTH_SIZE 0x884A
|
|
||||||
#define GL_DEPTH_TEXTURE_MODE 0x884B
|
|
||||||
#define GL_TEXTURE_COMPARE_MODE 0x884C
|
|
||||||
#define GL_TEXTURE_COMPARE_FUNC 0x884D
|
|
||||||
#define GL_COMPARE_R_TO_TEXTURE 0x884E
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef GL_ARB_multitexture
|
#ifndef GL_ARB_multitexture
|
||||||
#define GL_TEXTURE0_ARB 0x84C0
|
#define GL_TEXTURE0_ARB 0x84C0
|
||||||
#define GL_TEXTURE1_ARB 0x84C1
|
#define GL_TEXTURE1_ARB 0x84C1
|
||||||
@@ -412,9 +362,17 @@ extern "C" {
|
|||||||
|
|
||||||
#ifndef GL_ARB_point_parameters
|
#ifndef GL_ARB_point_parameters
|
||||||
#define GL_POINT_SIZE_MIN_ARB 0x8126
|
#define GL_POINT_SIZE_MIN_ARB 0x8126
|
||||||
|
#define GL_POINT_SIZE_MIN_EXT 0x8126
|
||||||
|
#define GL_POINT_SIZE_MIN_SGIS 0x8126
|
||||||
#define GL_POINT_SIZE_MAX_ARB 0x8127
|
#define GL_POINT_SIZE_MAX_ARB 0x8127
|
||||||
|
#define GL_POINT_SIZE_MAX_EXT 0x8127
|
||||||
|
#define GL_POINT_SIZE_MAX_SGIS 0x8127
|
||||||
#define GL_POINT_FADE_THRESHOLD_SIZE_ARB 0x8128
|
#define GL_POINT_FADE_THRESHOLD_SIZE_ARB 0x8128
|
||||||
|
#define GL_POINT_FADE_THRESHOLD_SIZE_EXT 0x8128
|
||||||
|
#define GL_POINT_FADE_THRESHOLD_SIZE_SGIS 0x8128
|
||||||
#define GL_POINT_DISTANCE_ATTENUATION_ARB 0x8129
|
#define GL_POINT_DISTANCE_ATTENUATION_ARB 0x8129
|
||||||
|
#define GL_DISTANCE_ATTENUATION_EXT 0x8129
|
||||||
|
#define GL_DISTANCE_ATTENUATION_SGIS 0x8129
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef GL_ARB_vertex_blend
|
#ifndef GL_ARB_vertex_blend
|
||||||
@@ -533,88 +491,6 @@ extern "C" {
|
|||||||
#ifndef GL_ARB_window_pos
|
#ifndef GL_ARB_window_pos
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef GL_ARB_vertex_program
|
|
||||||
#define GL_VERTEX_PROGRAM_ARB 0x8620
|
|
||||||
#define GL_VERTEX_PROGRAM_POINT_SIZE_ARB 0x8642
|
|
||||||
#define GL_VERTEX_PROGRAM_TWO_SIDE_ARB 0x8643
|
|
||||||
#define GL_COLOR_SUM_ARB 0x8458
|
|
||||||
#define GL_PROGRAM_FORMAT_ASCII_ARB 0x8875
|
|
||||||
#define GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB 0x8622
|
|
||||||
#define GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB 0x8623
|
|
||||||
#define GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB 0x8624
|
|
||||||
#define GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB 0x8625
|
|
||||||
#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB 0x886A
|
|
||||||
#define GL_CURRENT_VERTEX_ATTRIB_ARB 0x8626
|
|
||||||
#define GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB 0x8645
|
|
||||||
#define GL_PROGRAM_LENGTH_ARB 0x8627
|
|
||||||
#define GL_PROGRAM_FORMAT_ARB 0x8876
|
|
||||||
#define GL_PROGRAM_BINDING_ARB 0x8677
|
|
||||||
#define GL_PROGRAM_INSTRUCTIONS_ARB 0x88A0
|
|
||||||
#define GL_MAX_PROGRAM_INSTRUCTIONS_ARB 0x88A1
|
|
||||||
#define GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB 0x88A2
|
|
||||||
#define GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB 0x88A3
|
|
||||||
#define GL_PROGRAM_TEMPORARIES_ARB 0x88A4
|
|
||||||
#define GL_MAX_PROGRAM_TEMPORARIES_ARB 0x88A5
|
|
||||||
#define GL_PROGRAM_NATIVE_TEMPORARIES_ARB 0x88A6
|
|
||||||
#define GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB 0x88A7
|
|
||||||
#define GL_PROGRAM_PARAMETERS_ARB 0x88A8
|
|
||||||
#define GL_MAX_PROGRAM_PARAMETERS_ARB 0x88A9
|
|
||||||
#define GL_PROGRAM_NATIVE_PARAMETERS_ARB 0x88AA
|
|
||||||
#define GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB 0x88AB
|
|
||||||
#define GL_PROGRAM_ATTRIBS_ARB 0x88AC
|
|
||||||
#define GL_MAX_PROGRAM_ATTRIBS_ARB 0x88AD
|
|
||||||
#define GL_PROGRAM_NATIVE_ATTRIBS_ARB 0x88AE
|
|
||||||
#define GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB 0x88AF
|
|
||||||
#define GL_PROGRAM_ADDRESS_REGISTERS_ARB 0x88B0
|
|
||||||
#define GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB 0x88B1
|
|
||||||
#define GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB 0x88B2
|
|
||||||
#define GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB 0x88B3
|
|
||||||
#define GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB 0x88B4
|
|
||||||
#define GL_MAX_PROGRAM_ENV_PARAMETERS_ARB 0x88B5
|
|
||||||
#define GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB 0x88B6
|
|
||||||
#define GL_PROGRAM_STRING_ARB 0x8628
|
|
||||||
#define GL_PROGRAM_ERROR_POSITION_ARB 0x864B
|
|
||||||
#define GL_CURRENT_MATRIX_ARB 0x8641
|
|
||||||
#define GL_TRANSPOSE_CURRENT_MATRIX_ARB 0x88B7
|
|
||||||
#define GL_CURRENT_MATRIX_STACK_DEPTH_ARB 0x8640
|
|
||||||
#define GL_MAX_VERTEX_ATTRIBS_ARB 0x8869
|
|
||||||
#define GL_MAX_PROGRAM_MATRICES_ARB 0x862F
|
|
||||||
#define GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB 0x862E
|
|
||||||
#define GL_PROGRAM_ERROR_STRING_ARB 0x8874
|
|
||||||
#define GL_MATRIX0_ARB 0x88C0
|
|
||||||
#define GL_MATRIX1_ARB 0x88C1
|
|
||||||
#define GL_MATRIX2_ARB 0x88C2
|
|
||||||
#define GL_MATRIX3_ARB 0x88C3
|
|
||||||
#define GL_MATRIX4_ARB 0x88C4
|
|
||||||
#define GL_MATRIX5_ARB 0x88C5
|
|
||||||
#define GL_MATRIX6_ARB 0x88C6
|
|
||||||
#define GL_MATRIX7_ARB 0x88C7
|
|
||||||
#define GL_MATRIX8_ARB 0x88C8
|
|
||||||
#define GL_MATRIX9_ARB 0x88C9
|
|
||||||
#define GL_MATRIX10_ARB 0x88CA
|
|
||||||
#define GL_MATRIX11_ARB 0x88CB
|
|
||||||
#define GL_MATRIX12_ARB 0x88CC
|
|
||||||
#define GL_MATRIX13_ARB 0x88CD
|
|
||||||
#define GL_MATRIX14_ARB 0x88CE
|
|
||||||
#define GL_MATRIX15_ARB 0x88CF
|
|
||||||
#define GL_MATRIX16_ARB 0x88D0
|
|
||||||
#define GL_MATRIX17_ARB 0x88D1
|
|
||||||
#define GL_MATRIX18_ARB 0x88D2
|
|
||||||
#define GL_MATRIX19_ARB 0x88D3
|
|
||||||
#define GL_MATRIX20_ARB 0x88D4
|
|
||||||
#define GL_MATRIX21_ARB 0x88D5
|
|
||||||
#define GL_MATRIX22_ARB 0x88D6
|
|
||||||
#define GL_MATRIX23_ARB 0x88D7
|
|
||||||
#define GL_MATRIX24_ARB 0x88D8
|
|
||||||
#define GL_MATRIX25_ARB 0x88D9
|
|
||||||
#define GL_MATRIX26_ARB 0x88DA
|
|
||||||
#define GL_MATRIX27_ARB 0x88DB
|
|
||||||
#define GL_MATRIX28_ARB 0x88DC
|
|
||||||
#define GL_MATRIX29_ARB 0x88DD
|
|
||||||
#define GL_MATRIX30_ARB 0x88DE
|
|
||||||
#define GL_MATRIX31_ARB 0x88DF
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef GL_EXT_abgr
|
#ifndef GL_EXT_abgr
|
||||||
#define GL_ABGR_EXT 0x8000
|
#define GL_ABGR_EXT 0x8000
|
||||||
#endif
|
#endif
|
||||||
@@ -680,14 +556,23 @@ extern "C" {
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef GL_EXT_texture3D
|
#ifndef GL_EXT_texture3D
|
||||||
|
#define GL_PACK_SKIP_IMAGES 0x806B
|
||||||
#define GL_PACK_SKIP_IMAGES_EXT 0x806B
|
#define GL_PACK_SKIP_IMAGES_EXT 0x806B
|
||||||
|
#define GL_PACK_IMAGE_HEIGHT 0x806C
|
||||||
#define GL_PACK_IMAGE_HEIGHT_EXT 0x806C
|
#define GL_PACK_IMAGE_HEIGHT_EXT 0x806C
|
||||||
|
#define GL_UNPACK_SKIP_IMAGES 0x806D
|
||||||
#define GL_UNPACK_SKIP_IMAGES_EXT 0x806D
|
#define GL_UNPACK_SKIP_IMAGES_EXT 0x806D
|
||||||
|
#define GL_UNPACK_IMAGE_HEIGHT 0x806E
|
||||||
#define GL_UNPACK_IMAGE_HEIGHT_EXT 0x806E
|
#define GL_UNPACK_IMAGE_HEIGHT_EXT 0x806E
|
||||||
|
#define GL_TEXTURE_3D 0x806F
|
||||||
#define GL_TEXTURE_3D_EXT 0x806F
|
#define GL_TEXTURE_3D_EXT 0x806F
|
||||||
|
#define GL_PROXY_TEXTURE_3D 0x8070
|
||||||
#define GL_PROXY_TEXTURE_3D_EXT 0x8070
|
#define GL_PROXY_TEXTURE_3D_EXT 0x8070
|
||||||
|
#define GL_TEXTURE_DEPTH 0x8071
|
||||||
#define GL_TEXTURE_DEPTH_EXT 0x8071
|
#define GL_TEXTURE_DEPTH_EXT 0x8071
|
||||||
|
#define GL_TEXTURE_WRAP_R 0x8072
|
||||||
#define GL_TEXTURE_WRAP_R_EXT 0x8072
|
#define GL_TEXTURE_WRAP_R_EXT 0x8072
|
||||||
|
#define GL_MAX_3D_TEXTURE_SIZE 0x8073
|
||||||
#define GL_MAX_3D_TEXTURE_SIZE_EXT 0x8073
|
#define GL_MAX_3D_TEXTURE_SIZE_EXT 0x8073
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -1014,20 +899,6 @@ extern "C" {
|
|||||||
#define GL_TEXTURE_MULTI_BUFFER_HINT_SGIX 0x812E
|
#define GL_TEXTURE_MULTI_BUFFER_HINT_SGIX 0x812E
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef GL_EXT_point_parameters
|
|
||||||
#define GL_POINT_SIZE_MIN_EXT 0x8126
|
|
||||||
#define GL_POINT_SIZE_MAX_EXT 0x8127
|
|
||||||
#define GL_POINT_FADE_THRESHOLD_SIZE_EXT 0x8128
|
|
||||||
#define GL_DISTANCE_ATTENUATION_EXT 0x8129
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef GL_SGIS_point_parameters
|
|
||||||
#define GL_POINT_SIZE_MIN_SGIS 0x8126
|
|
||||||
#define GL_POINT_SIZE_MAX_SGIS 0x8127
|
|
||||||
#define GL_POINT_FADE_THRESHOLD_SIZE_SGIS 0x8128
|
|
||||||
#define GL_DISTANCE_ATTENUATION_SGIS 0x8129
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef GL_SGIX_instruments
|
#ifndef GL_SGIX_instruments
|
||||||
#define GL_INSTRUMENT_BUFFER_POINTER_SGIX 0x8180
|
#define GL_INSTRUMENT_BUFFER_POINTER_SGIX 0x8180
|
||||||
#define GL_INSTRUMENT_MEASUREMENTS_SGIX 0x8181
|
#define GL_INSTRUMENT_MEASUREMENTS_SGIX 0x8181
|
||||||
@@ -2418,11 +2289,6 @@ extern "C" {
|
|||||||
#ifndef GL_EXT_shadow_funcs
|
#ifndef GL_EXT_shadow_funcs
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef GL_EXT_stencil_two_side
|
|
||||||
#define GL_STENCIL_TEST_TWO_SIDE_EXT 0x8910
|
|
||||||
#define GL_ACTIVE_STENCIL_FACE_EXT 0x8911
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
/*************************************************************/
|
/*************************************************************/
|
||||||
|
|
||||||
@@ -2606,102 +2472,6 @@ typedef void (APIENTRY * PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC) (GLenum target, GLint
|
|||||||
typedef void (APIENTRY * PFNGLGETCOMPRESSEDTEXIMAGEPROC) (GLenum target, GLint level, void *img);
|
typedef void (APIENTRY * PFNGLGETCOMPRESSEDTEXIMAGEPROC) (GLenum target, GLint level, void *img);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef GL_VERSION_1_4
|
|
||||||
#define GL_VERSION_1_4 1
|
|
||||||
#ifdef GL_GLEXT_PROTOTYPES
|
|
||||||
GLAPI void APIENTRY glBlendFuncSeparate (GLenum, GLenum, GLenum, GLenum);
|
|
||||||
GLAPI void APIENTRY glFogCoordf (GLfloat);
|
|
||||||
GLAPI void APIENTRY glFogCoordfv (const GLfloat *);
|
|
||||||
GLAPI void APIENTRY glFogCoordd (GLdouble);
|
|
||||||
GLAPI void APIENTRY glFogCoorddv (const GLdouble *);
|
|
||||||
GLAPI void APIENTRY glFogCoordPointer (GLenum, GLsizei, const GLvoid *);
|
|
||||||
GLAPI void APIENTRY glMultiDrawArrays (GLenum, GLint *, GLsizei *, GLsizei);
|
|
||||||
GLAPI void APIENTRY glMultiDrawElements (GLenum, const GLsizei *, GLenum, const GLvoid* *, GLsizei);
|
|
||||||
GLAPI void APIENTRY glPointParameterf (GLenum, GLfloat);
|
|
||||||
GLAPI void APIENTRY glPointParameterfv (GLenum, const GLfloat *);
|
|
||||||
GLAPI void APIENTRY glPointParameteri (GLenum, GLint);
|
|
||||||
GLAPI void APIENTRY glPointParameteriv (GLenum, const GLint *);
|
|
||||||
GLAPI void APIENTRY glSecondaryColor3b (GLbyte, GLbyte, GLbyte);
|
|
||||||
GLAPI void APIENTRY glSecondaryColor3bv (const GLbyte *);
|
|
||||||
GLAPI void APIENTRY glSecondaryColor3d (GLdouble, GLdouble, GLdouble);
|
|
||||||
GLAPI void APIENTRY glSecondaryColor3dv (const GLdouble *);
|
|
||||||
GLAPI void APIENTRY glSecondaryColor3f (GLfloat, GLfloat, GLfloat);
|
|
||||||
GLAPI void APIENTRY glSecondaryColor3fv (const GLfloat *);
|
|
||||||
GLAPI void APIENTRY glSecondaryColor3i (GLint, GLint, GLint);
|
|
||||||
GLAPI void APIENTRY glSecondaryColor3iv (const GLint *);
|
|
||||||
GLAPI void APIENTRY glSecondaryColor3s (GLshort, GLshort, GLshort);
|
|
||||||
GLAPI void APIENTRY glSecondaryColor3sv (const GLshort *);
|
|
||||||
GLAPI void APIENTRY glSecondaryColor3ub (GLubyte, GLubyte, GLubyte);
|
|
||||||
GLAPI void APIENTRY glSecondaryColor3ubv (const GLubyte *);
|
|
||||||
GLAPI void APIENTRY glSecondaryColor3ui (GLuint, GLuint, GLuint);
|
|
||||||
GLAPI void APIENTRY glSecondaryColor3uiv (const GLuint *);
|
|
||||||
GLAPI void APIENTRY glSecondaryColor3us (GLushort, GLushort, GLushort);
|
|
||||||
GLAPI void APIENTRY glSecondaryColor3usv (const GLushort *);
|
|
||||||
GLAPI void APIENTRY glSecondaryColorPointer (GLint, GLenum, GLsizei, const GLvoid *);
|
|
||||||
GLAPI void APIENTRY glWindowPos2d (GLdouble, GLdouble);
|
|
||||||
GLAPI void APIENTRY glWindowPos2dv (const GLdouble *);
|
|
||||||
GLAPI void APIENTRY glWindowPos2f (GLfloat, GLfloat);
|
|
||||||
GLAPI void APIENTRY glWindowPos2fv (const GLfloat *);
|
|
||||||
GLAPI void APIENTRY glWindowPos2i (GLint, GLint);
|
|
||||||
GLAPI void APIENTRY glWindowPos2iv (const GLint *);
|
|
||||||
GLAPI void APIENTRY glWindowPos2s (GLshort, GLshort);
|
|
||||||
GLAPI void APIENTRY glWindowPos2sv (const GLshort *);
|
|
||||||
GLAPI void APIENTRY glWindowPos3d (GLdouble, GLdouble, GLdouble);
|
|
||||||
GLAPI void APIENTRY glWindowPos3dv (const GLdouble *);
|
|
||||||
GLAPI void APIENTRY glWindowPos3f (GLfloat, GLfloat, GLfloat);
|
|
||||||
GLAPI void APIENTRY glWindowPos3fv (const GLfloat *);
|
|
||||||
GLAPI void APIENTRY glWindowPos3i (GLint, GLint, GLint);
|
|
||||||
GLAPI void APIENTRY glWindowPos3iv (const GLint *);
|
|
||||||
GLAPI void APIENTRY glWindowPos3s (GLshort, GLshort, GLshort);
|
|
||||||
GLAPI void APIENTRY glWindowPos3sv (const GLshort *);
|
|
||||||
#endif /* GL_GLEXT_PROTOTYPES */
|
|
||||||
typedef void (APIENTRY * PFNGLBLENDFUNCSEPARATEPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
|
|
||||||
typedef void (APIENTRY * PFNGLFOGCOORDFPROC) (GLfloat coord);
|
|
||||||
typedef void (APIENTRY * PFNGLFOGCOORDFVPROC) (const GLfloat *coord);
|
|
||||||
typedef void (APIENTRY * PFNGLFOGCOORDDPROC) (GLdouble coord);
|
|
||||||
typedef void (APIENTRY * PFNGLFOGCOORDDVPROC) (const GLdouble *coord);
|
|
||||||
typedef void (APIENTRY * PFNGLFOGCOORDPOINTERPROC) (GLenum type, GLsizei stride, const GLvoid *pointer);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTIDRAWARRAYSPROC) (GLenum mode, GLint *first, GLsizei *count, GLsizei primcount);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTIDRAWELEMENTSPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount);
|
|
||||||
typedef void (APIENTRY * PFNGLPOINTPARAMETERFPROC) (GLenum pname, GLfloat param);
|
|
||||||
typedef void (APIENTRY * PFNGLPOINTPARAMETERFVPROC) (GLenum pname, const GLfloat *params);
|
|
||||||
typedef void (APIENTRY * PFNGLPOINTPARAMETERIPROC) (GLenum pname, GLint param);
|
|
||||||
typedef void (APIENTRY * PFNGLPOINTPARAMETERIVPROC) (GLenum pname, const GLint *params);
|
|
||||||
typedef void (APIENTRY * PFNGLSECONDARYCOLOR3BPROC) (GLbyte red, GLbyte green, GLbyte blue);
|
|
||||||
typedef void (APIENTRY * PFNGLSECONDARYCOLOR3BVPROC) (const GLbyte *v);
|
|
||||||
typedef void (APIENTRY * PFNGLSECONDARYCOLOR3DPROC) (GLdouble red, GLdouble green, GLdouble blue);
|
|
||||||
typedef void (APIENTRY * PFNGLSECONDARYCOLOR3DVPROC) (const GLdouble *v);
|
|
||||||
typedef void (APIENTRY * PFNGLSECONDARYCOLOR3FPROC) (GLfloat red, GLfloat green, GLfloat blue);
|
|
||||||
typedef void (APIENTRY * PFNGLSECONDARYCOLOR3FVPROC) (const GLfloat *v);
|
|
||||||
typedef void (APIENTRY * PFNGLSECONDARYCOLOR3IPROC) (GLint red, GLint green, GLint blue);
|
|
||||||
typedef void (APIENTRY * PFNGLSECONDARYCOLOR3IVPROC) (const GLint *v);
|
|
||||||
typedef void (APIENTRY * PFNGLSECONDARYCOLOR3SPROC) (GLshort red, GLshort green, GLshort blue);
|
|
||||||
typedef void (APIENTRY * PFNGLSECONDARYCOLOR3SVPROC) (const GLshort *v);
|
|
||||||
typedef void (APIENTRY * PFNGLSECONDARYCOLOR3UBPROC) (GLubyte red, GLubyte green, GLubyte blue);
|
|
||||||
typedef void (APIENTRY * PFNGLSECONDARYCOLOR3UBVPROC) (const GLubyte *v);
|
|
||||||
typedef void (APIENTRY * PFNGLSECONDARYCOLOR3UIPROC) (GLuint red, GLuint green, GLuint blue);
|
|
||||||
typedef void (APIENTRY * PFNGLSECONDARYCOLOR3UIVPROC) (const GLuint *v);
|
|
||||||
typedef void (APIENTRY * PFNGLSECONDARYCOLOR3USPROC) (GLushort red, GLushort green, GLushort blue);
|
|
||||||
typedef void (APIENTRY * PFNGLSECONDARYCOLOR3USVPROC) (const GLushort *v);
|
|
||||||
typedef void (APIENTRY * PFNGLSECONDARYCOLORPOINTERPROC) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
|
|
||||||
typedef void (APIENTRY * PFNGLWINDOWPOS2DPROC) (GLdouble x, GLdouble y);
|
|
||||||
typedef void (APIENTRY * PFNGLWINDOWPOS2DVPROC) (const GLdouble *v);
|
|
||||||
typedef void (APIENTRY * PFNGLWINDOWPOS2FPROC) (GLfloat x, GLfloat y);
|
|
||||||
typedef void (APIENTRY * PFNGLWINDOWPOS2FVPROC) (const GLfloat *v);
|
|
||||||
typedef void (APIENTRY * PFNGLWINDOWPOS2IPROC) (GLint x, GLint y);
|
|
||||||
typedef void (APIENTRY * PFNGLWINDOWPOS2IVPROC) (const GLint *v);
|
|
||||||
typedef void (APIENTRY * PFNGLWINDOWPOS2SPROC) (GLshort x, GLshort y);
|
|
||||||
typedef void (APIENTRY * PFNGLWINDOWPOS2SVPROC) (const GLshort *v);
|
|
||||||
typedef void (APIENTRY * PFNGLWINDOWPOS3DPROC) (GLdouble x, GLdouble y, GLdouble z);
|
|
||||||
typedef void (APIENTRY * PFNGLWINDOWPOS3DVPROC) (const GLdouble *v);
|
|
||||||
typedef void (APIENTRY * PFNGLWINDOWPOS3FPROC) (GLfloat x, GLfloat y, GLfloat z);
|
|
||||||
typedef void (APIENTRY * PFNGLWINDOWPOS3FVPROC) (const GLfloat *v);
|
|
||||||
typedef void (APIENTRY * PFNGLWINDOWPOS3IPROC) (GLint x, GLint y, GLint z);
|
|
||||||
typedef void (APIENTRY * PFNGLWINDOWPOS3IVPROC) (const GLint *v);
|
|
||||||
typedef void (APIENTRY * PFNGLWINDOWPOS3SPROC) (GLshort x, GLshort y, GLshort z);
|
|
||||||
typedef void (APIENTRY * PFNGLWINDOWPOS3SVPROC) (const GLshort *v);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef GL_ARB_multitexture
|
#ifndef GL_ARB_multitexture
|
||||||
#define GL_ARB_multitexture 1
|
#define GL_ARB_multitexture 1
|
||||||
#ifdef GL_GLEXT_PROTOTYPES
|
#ifdef GL_GLEXT_PROTOTYPES
|
||||||
@@ -2948,136 +2718,6 @@ typedef void (APIENTRY * PFNGLWINDOWPOS3SARBPROC) (GLshort x, GLshort y, GLshort
|
|||||||
typedef void (APIENTRY * PFNGLWINDOWPOS3SVARBPROC) (const GLshort *v);
|
typedef void (APIENTRY * PFNGLWINDOWPOS3SVARBPROC) (const GLshort *v);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef GL_ARB_vertex_program
|
|
||||||
#define GL_ARB_vertex_program 1
|
|
||||||
#ifdef GL_GLEXT_PROTOTYPES
|
|
||||||
GLAPI void APIENTRY glVertexAttrib1dARB (GLuint, GLdouble);
|
|
||||||
GLAPI void APIENTRY glVertexAttrib1dvARB (GLuint, const GLdouble *);
|
|
||||||
GLAPI void APIENTRY glVertexAttrib1fARB (GLuint, GLfloat);
|
|
||||||
GLAPI void APIENTRY glVertexAttrib1fvARB (GLuint, const GLfloat *);
|
|
||||||
GLAPI void APIENTRY glVertexAttrib1sARB (GLuint, GLshort);
|
|
||||||
GLAPI void APIENTRY glVertexAttrib1svARB (GLuint, const GLshort *);
|
|
||||||
GLAPI void APIENTRY glVertexAttrib2dARB (GLuint, GLdouble, GLdouble);
|
|
||||||
GLAPI void APIENTRY glVertexAttrib2dvARB (GLuint, const GLdouble *);
|
|
||||||
GLAPI void APIENTRY glVertexAttrib2fARB (GLuint, GLfloat, GLfloat);
|
|
||||||
GLAPI void APIENTRY glVertexAttrib2fvARB (GLuint, const GLfloat *);
|
|
||||||
GLAPI void APIENTRY glVertexAttrib2sARB (GLuint, GLshort, GLshort);
|
|
||||||
GLAPI void APIENTRY glVertexAttrib2svARB (GLuint, const GLshort *);
|
|
||||||
GLAPI void APIENTRY glVertexAttrib3dARB (GLuint, GLdouble, GLdouble, GLdouble);
|
|
||||||
GLAPI void APIENTRY glVertexAttrib3dvARB (GLuint, const GLdouble *);
|
|
||||||
GLAPI void APIENTRY glVertexAttrib3fARB (GLuint, GLfloat, GLfloat, GLfloat);
|
|
||||||
GLAPI void APIENTRY glVertexAttrib3fvARB (GLuint, const GLfloat *);
|
|
||||||
GLAPI void APIENTRY glVertexAttrib3sARB (GLuint, GLshort, GLshort, GLshort);
|
|
||||||
GLAPI void APIENTRY glVertexAttrib3svARB (GLuint, const GLshort *);
|
|
||||||
GLAPI void APIENTRY glVertexAttrib4NbvARB (GLuint, const GLbyte *);
|
|
||||||
GLAPI void APIENTRY glVertexAttrib4NivARB (GLuint, const GLint *);
|
|
||||||
GLAPI void APIENTRY glVertexAttrib4NsvARB (GLuint, const GLshort *);
|
|
||||||
GLAPI void APIENTRY glVertexAttrib4NubARB (GLuint, GLubyte, GLubyte, GLubyte, GLubyte);
|
|
||||||
GLAPI void APIENTRY glVertexAttrib4NubvARB (GLuint, const GLubyte *);
|
|
||||||
GLAPI void APIENTRY glVertexAttrib4NuivARB (GLuint, const GLuint *);
|
|
||||||
GLAPI void APIENTRY glVertexAttrib4NusvARB (GLuint, const GLushort *);
|
|
||||||
GLAPI void APIENTRY glVertexAttrib4bvARB (GLuint, const GLbyte *);
|
|
||||||
GLAPI void APIENTRY glVertexAttrib4dARB (GLuint, GLdouble, GLdouble, GLdouble, GLdouble);
|
|
||||||
GLAPI void APIENTRY glVertexAttrib4dvARB (GLuint, const GLdouble *);
|
|
||||||
GLAPI void APIENTRY glVertexAttrib4fARB (GLuint, GLfloat, GLfloat, GLfloat, GLfloat);
|
|
||||||
GLAPI void APIENTRY glVertexAttrib4fvARB (GLuint, const GLfloat *);
|
|
||||||
GLAPI void APIENTRY glVertexAttrib4ivARB (GLuint, const GLint *);
|
|
||||||
GLAPI void APIENTRY glVertexAttrib4sARB (GLuint, GLshort, GLshort, GLshort, GLshort);
|
|
||||||
GLAPI void APIENTRY glVertexAttrib4svARB (GLuint, const GLshort *);
|
|
||||||
GLAPI void APIENTRY glVertexAttrib4ubvARB (GLuint, const GLubyte *);
|
|
||||||
GLAPI void APIENTRY glVertexAttrib4uivARB (GLuint, const GLuint *);
|
|
||||||
GLAPI void APIENTRY glVertexAttrib4usvARB (GLuint, const GLushort *);
|
|
||||||
GLAPI void APIENTRY glVertexAttribPointerARB (GLuint, GLint, GLenum, GLboolean, GLsizei, const GLvoid *);
|
|
||||||
GLAPI void APIENTRY glEnableVertexAttribArrayARB (GLuint);
|
|
||||||
GLAPI void APIENTRY glDisableVertexAttribArrayARB (GLuint);
|
|
||||||
GLAPI void APIENTRY glProgramStringARB (GLenum, GLenum, GLsizei, const GLvoid *);
|
|
||||||
GLAPI void APIENTRY glBindProgramARB (GLenum, GLuint);
|
|
||||||
GLAPI void APIENTRY glDeleteProgramsARB (GLsizei, const GLuint *);
|
|
||||||
GLAPI void APIENTRY glGenProgramsARB (GLsizei, GLuint *);
|
|
||||||
GLAPI void APIENTRY glProgramEnvParameter4dARB (GLenum, GLuint, GLdouble, GLdouble, GLdouble, GLdouble);
|
|
||||||
GLAPI void APIENTRY glProgramEnvParameter4dvARB (GLenum, GLuint, const GLdouble *);
|
|
||||||
GLAPI void APIENTRY glProgramEnvParameter4fARB (GLenum, GLuint, GLfloat, GLfloat, GLfloat, GLfloat);
|
|
||||||
GLAPI void APIENTRY glProgramEnvParameter4fvARB (GLenum, GLuint, const GLfloat *);
|
|
||||||
GLAPI void APIENTRY glProgramLocalParameter4dARB (GLenum, GLuint, GLdouble, GLdouble, GLdouble, GLdouble);
|
|
||||||
GLAPI void APIENTRY glProgramLocalParameter4dvARB (GLenum, GLuint, const GLdouble *);
|
|
||||||
GLAPI void APIENTRY glProgramLocalParameter4fARB (GLenum, GLuint, GLfloat, GLfloat, GLfloat, GLfloat);
|
|
||||||
GLAPI void APIENTRY glProgramLocalParameter4fvARB (GLenum, GLuint, const GLfloat *);
|
|
||||||
GLAPI void APIENTRY glGetProgramEnvParameterdvARB (GLenum, GLuint, GLdouble *);
|
|
||||||
GLAPI void APIENTRY glGetProgramEnvParameterfvARB (GLenum, GLuint, GLfloat *);
|
|
||||||
GLAPI void APIENTRY glGetProgramLocalParameterdvARB (GLenum, GLuint, GLdouble *);
|
|
||||||
GLAPI void APIENTRY glGetProgramLocalParameterfvARB (GLenum, GLuint, GLfloat *);
|
|
||||||
GLAPI void APIENTRY glGetProgramivARB (GLenum, GLenum, GLint *);
|
|
||||||
GLAPI void APIENTRY glGetProgramStringARB (GLenum, GLenum, GLvoid *);
|
|
||||||
GLAPI void APIENTRY glGetVertexAttribdvARB (GLuint, GLenum, GLdouble *);
|
|
||||||
GLAPI void APIENTRY glGetVertexAttribfvARB (GLuint, GLenum, GLfloat *);
|
|
||||||
GLAPI void APIENTRY glGetVertexAttribivARB (GLuint, GLenum, GLint *);
|
|
||||||
GLAPI void APIENTRY glGetVertexAttribPointervARB (GLuint, GLenum, GLvoid* *);
|
|
||||||
GLAPI GLboolean APIENTRY glIsProgramARB (GLuint);
|
|
||||||
#endif /* GL_GLEXT_PROTOTYPES */
|
|
||||||
typedef void (APIENTRY * PFNGLVERTEXATTRIB1DARBPROC) (GLuint index, GLdouble x);
|
|
||||||
typedef void (APIENTRY * PFNGLVERTEXATTRIB1DVARBPROC) (GLuint index, const GLdouble *v);
|
|
||||||
typedef void (APIENTRY * PFNGLVERTEXATTRIB1FARBPROC) (GLuint index, GLfloat x);
|
|
||||||
typedef void (APIENTRY * PFNGLVERTEXATTRIB1FVARBPROC) (GLuint index, const GLfloat *v);
|
|
||||||
typedef void (APIENTRY * PFNGLVERTEXATTRIB1SARBPROC) (GLuint index, GLshort x);
|
|
||||||
typedef void (APIENTRY * PFNGLVERTEXATTRIB1SVARBPROC) (GLuint index, const GLshort *v);
|
|
||||||
typedef void (APIENTRY * PFNGLVERTEXATTRIB2DARBPROC) (GLuint index, GLdouble x, GLdouble y);
|
|
||||||
typedef void (APIENTRY * PFNGLVERTEXATTRIB2DVARBPROC) (GLuint index, const GLdouble *v);
|
|
||||||
typedef void (APIENTRY * PFNGLVERTEXATTRIB2FARBPROC) (GLuint index, GLfloat x, GLfloat y);
|
|
||||||
typedef void (APIENTRY * PFNGLVERTEXATTRIB2FVARBPROC) (GLuint index, const GLfloat *v);
|
|
||||||
typedef void (APIENTRY * PFNGLVERTEXATTRIB2SARBPROC) (GLuint index, GLshort x, GLshort y);
|
|
||||||
typedef void (APIENTRY * PFNGLVERTEXATTRIB2SVARBPROC) (GLuint index, const GLshort *v);
|
|
||||||
typedef void (APIENTRY * PFNGLVERTEXATTRIB3DARBPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z);
|
|
||||||
typedef void (APIENTRY * PFNGLVERTEXATTRIB3DVARBPROC) (GLuint index, const GLdouble *v);
|
|
||||||
typedef void (APIENTRY * PFNGLVERTEXATTRIB3FARBPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z);
|
|
||||||
typedef void (APIENTRY * PFNGLVERTEXATTRIB3FVARBPROC) (GLuint index, const GLfloat *v);
|
|
||||||
typedef void (APIENTRY * PFNGLVERTEXATTRIB3SARBPROC) (GLuint index, GLshort x, GLshort y, GLshort z);
|
|
||||||
typedef void (APIENTRY * PFNGLVERTEXATTRIB3SVARBPROC) (GLuint index, const GLshort *v);
|
|
||||||
typedef void (APIENTRY * PFNGLVERTEXATTRIB4NBVARBPROC) (GLuint index, const GLbyte *v);
|
|
||||||
typedef void (APIENTRY * PFNGLVERTEXATTRIB4NIVARBPROC) (GLuint index, const GLint *v);
|
|
||||||
typedef void (APIENTRY * PFNGLVERTEXATTRIB4NSVARBPROC) (GLuint index, const GLshort *v);
|
|
||||||
typedef void (APIENTRY * PFNGLVERTEXATTRIB4NUBARBPROC) (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);
|
|
||||||
typedef void (APIENTRY * PFNGLVERTEXATTRIB4NUBVARBPROC) (GLuint index, const GLubyte *v);
|
|
||||||
typedef void (APIENTRY * PFNGLVERTEXATTRIB4NUIVARBPROC) (GLuint index, const GLuint *v);
|
|
||||||
typedef void (APIENTRY * PFNGLVERTEXATTRIB4NUSVARBPROC) (GLuint index, const GLushort *v);
|
|
||||||
typedef void (APIENTRY * PFNGLVERTEXATTRIB4BVARBPROC) (GLuint index, const GLbyte *v);
|
|
||||||
typedef void (APIENTRY * PFNGLVERTEXATTRIB4DARBPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
|
|
||||||
typedef void (APIENTRY * PFNGLVERTEXATTRIB4DVARBPROC) (GLuint index, const GLdouble *v);
|
|
||||||
typedef void (APIENTRY * PFNGLVERTEXATTRIB4FARBPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
|
|
||||||
typedef void (APIENTRY * PFNGLVERTEXATTRIB4FVARBPROC) (GLuint index, const GLfloat *v);
|
|
||||||
typedef void (APIENTRY * PFNGLVERTEXATTRIB4IVARBPROC) (GLuint index, const GLint *v);
|
|
||||||
typedef void (APIENTRY * PFNGLVERTEXATTRIB4SARBPROC) (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);
|
|
||||||
typedef void (APIENTRY * PFNGLVERTEXATTRIB4SVARBPROC) (GLuint index, const GLshort *v);
|
|
||||||
typedef void (APIENTRY * PFNGLVERTEXATTRIB4UBVARBPROC) (GLuint index, const GLubyte *v);
|
|
||||||
typedef void (APIENTRY * PFNGLVERTEXATTRIB4UIVARBPROC) (GLuint index, const GLuint *v);
|
|
||||||
typedef void (APIENTRY * PFNGLVERTEXATTRIB4USVARBPROC) (GLuint index, const GLushort *v);
|
|
||||||
typedef void (APIENTRY * PFNGLVERTEXATTRIBPOINTERARBPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer);
|
|
||||||
typedef void (APIENTRY * PFNGLENABLEVERTEXATTRIBARRAYARBPROC) (GLuint index);
|
|
||||||
typedef void (APIENTRY * PFNGLDISABLEVERTEXATTRIBARRAYARBPROC) (GLuint index);
|
|
||||||
typedef void (APIENTRY * PFNGLPROGRAMSTRINGARBPROC) (GLenum target, GLenum format, GLsizei len, const GLvoid *string);
|
|
||||||
typedef void (APIENTRY * PFNGLBINDPROGRAMARBPROC) (GLenum target, GLuint program);
|
|
||||||
typedef void (APIENTRY * PFNGLDELETEPROGRAMSARBPROC) (GLsizei n, const GLuint *programs);
|
|
||||||
typedef void (APIENTRY * PFNGLGENPROGRAMSARBPROC) (GLsizei n, GLuint *programs);
|
|
||||||
typedef void (APIENTRY * PFNGLPROGRAMENVPARAMETER4DARBPROC) (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
|
|
||||||
typedef void (APIENTRY * PFNGLPROGRAMENVPARAMETER4DVARBPROC) (GLenum target, GLuint index, const GLdouble *params);
|
|
||||||
typedef void (APIENTRY * PFNGLPROGRAMENVPARAMETER4FARBPROC) (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
|
|
||||||
typedef void (APIENTRY * PFNGLPROGRAMENVPARAMETER4FVARBPROC) (GLenum target, GLuint index, const GLfloat *params);
|
|
||||||
typedef void (APIENTRY * PFNGLPROGRAMLOCALPARAMETER4DARBPROC) (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
|
|
||||||
typedef void (APIENTRY * PFNGLPROGRAMLOCALPARAMETER4DVARBPROC) (GLenum target, GLuint index, const GLdouble *params);
|
|
||||||
typedef void (APIENTRY * PFNGLPROGRAMLOCALPARAMETER4FARBPROC) (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
|
|
||||||
typedef void (APIENTRY * PFNGLPROGRAMLOCALPARAMETER4FVARBPROC) (GLenum target, GLuint index, const GLfloat *params);
|
|
||||||
typedef void (APIENTRY * PFNGLGETPROGRAMENVPARAMETERDVARBPROC) (GLenum target, GLuint index, GLdouble *params);
|
|
||||||
typedef void (APIENTRY * PFNGLGETPROGRAMENVPARAMETERFVARBPROC) (GLenum target, GLuint index, GLfloat *params);
|
|
||||||
typedef void (APIENTRY * PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC) (GLenum target, GLuint index, GLdouble *params);
|
|
||||||
typedef void (APIENTRY * PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC) (GLenum target, GLuint index, GLfloat *params);
|
|
||||||
typedef void (APIENTRY * PFNGLGETPROGRAMIVARBPROC) (GLenum target, GLenum pname, GLint *params);
|
|
||||||
typedef void (APIENTRY * PFNGLGETPROGRAMSTRINGARBPROC) (GLenum target, GLenum pname, GLvoid *string);
|
|
||||||
typedef void (APIENTRY * PFNGLGETVERTEXATTRIBDVARBPROC) (GLuint index, GLenum pname, GLdouble *params);
|
|
||||||
typedef void (APIENTRY * PFNGLGETVERTEXATTRIBFVARBPROC) (GLuint index, GLenum pname, GLfloat *params);
|
|
||||||
typedef void (APIENTRY * PFNGLGETVERTEXATTRIBIVARBPROC) (GLuint index, GLenum pname, GLint *params);
|
|
||||||
typedef void (APIENTRY * PFNGLGETVERTEXATTRIBPOINTERVARBPROC) (GLuint index, GLenum pname, GLvoid* *pointer);
|
|
||||||
typedef GLboolean (APIENTRY * PFNGLISPROGRAMARBPROC) (GLuint program);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef GL_EXT_abgr
|
#ifndef GL_EXT_abgr
|
||||||
#define GL_EXT_abgr 1
|
#define GL_EXT_abgr 1
|
||||||
#endif
|
#endif
|
||||||
@@ -4122,15 +3762,9 @@ typedef void (APIENTRY * PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3F
|
|||||||
#define GL_EXT_blend_func_separate 1
|
#define GL_EXT_blend_func_separate 1
|
||||||
#ifdef GL_GLEXT_PROTOTYPES
|
#ifdef GL_GLEXT_PROTOTYPES
|
||||||
GLAPI void APIENTRY glBlendFuncSeparateEXT (GLenum, GLenum, GLenum, GLenum);
|
GLAPI void APIENTRY glBlendFuncSeparateEXT (GLenum, GLenum, GLenum, GLenum);
|
||||||
#endif /* GL_GLEXT_PROTOTYPES */
|
|
||||||
typedef void (APIENTRY * PFNGLBLENDFUNCSEPARATEEXTPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef GL_INGR_blend_func_separate
|
|
||||||
#define GL_INGR_blend_func_separate 1
|
|
||||||
#ifdef GL_GLEXT_PROTOTYPES
|
|
||||||
GLAPI void APIENTRY glBlendFuncSeparateINGR (GLenum, GLenum, GLenum, GLenum);
|
GLAPI void APIENTRY glBlendFuncSeparateINGR (GLenum, GLenum, GLenum, GLenum);
|
||||||
#endif /* GL_GLEXT_PROTOTYPES */
|
#endif /* GL_GLEXT_PROTOTYPES */
|
||||||
|
typedef void (APIENTRY * PFNGLBLENDFUNCSEPARATEEXTPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
|
||||||
typedef void (APIENTRY * PFNGLBLENDFUNCSEPARATEINGRPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
|
typedef void (APIENTRY * PFNGLBLENDFUNCSEPARATEINGRPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -5008,14 +4642,6 @@ typedef void (APIENTRY * PFNGLPOINTPARAMETERIVNVPROC) (GLenum pname, const GLint
|
|||||||
#define GL_EXT_shadow_funcs 1
|
#define GL_EXT_shadow_funcs 1
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef GL_EXT_stencil_two_side
|
|
||||||
#define GL_EXT_stencil_two_side 1
|
|
||||||
#ifdef GL_GLEXT_PROTOTYPES
|
|
||||||
GLAPI void APIENTRY glActiveStencilFaceEXT (GLenum);
|
|
||||||
#endif /* GL_GLEXT_PROTOTYPES */
|
|
||||||
typedef void (APIENTRY * PFNGLACTIVESTENCILFACEEXTPROC) (GLenum face);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -36,14 +36,6 @@
|
|||||||
|
|
||||||
#include <GL/gl.h>
|
#include <GL/gl.h>
|
||||||
|
|
||||||
#ifndef GLAPIENTRY
|
|
||||||
#define GLAPIENTRY
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef GLAPI
|
|
||||||
#define GLAPI
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -223,11 +223,9 @@ WGLAPI int GLAPIENTRY SetPixelFormat(HDC,int,const PIXELFORMATDESCRIPTOR *);
|
|||||||
video resize subAPI, glutPostWindowRedisplay, glutKeyboardUpFunc,
|
video resize subAPI, glutPostWindowRedisplay, glutKeyboardUpFunc,
|
||||||
glutSpecialUpFunc, glutIgnoreKeyRepeat, glutSetKeyRepeat,
|
glutSpecialUpFunc, glutIgnoreKeyRepeat, glutSetKeyRepeat,
|
||||||
glutJoystickFunc, glutForceJoystickFunc (NOT FINALIZED!).
|
glutJoystickFunc, glutForceJoystickFunc (NOT FINALIZED!).
|
||||||
|
|
||||||
GLUT_API_VERSION=5 glutGetProcAddress (added by BrianP)
|
|
||||||
**/
|
**/
|
||||||
#ifndef GLUT_API_VERSION /* allow this to be overriden */
|
#ifndef GLUT_API_VERSION /* allow this to be overriden */
|
||||||
#define GLUT_API_VERSION 5
|
#define GLUT_API_VERSION 3
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -663,9 +661,6 @@ GLUTAPI int GLUTAPIENTRY glutExtensionSupported(const char *name);
|
|||||||
GLUTAPI int GLUTAPIENTRY glutGetModifiers(void);
|
GLUTAPI int GLUTAPIENTRY glutGetModifiers(void);
|
||||||
GLUTAPI int GLUTAPIENTRY glutLayerGet(GLenum type);
|
GLUTAPI int GLUTAPIENTRY glutLayerGet(GLenum type);
|
||||||
#endif
|
#endif
|
||||||
#if (GLUT_API_VERSION >= 5)
|
|
||||||
GLUTAPI void * GLUTAPIENTRY glutGetProcAddress(const char *procName);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* GLUT font sub-API */
|
/* GLUT font sub-API */
|
||||||
GLUTAPI void GLUTAPIENTRY glutBitmapCharacter(void *font, int character);
|
GLUTAPI void GLUTAPIENTRY glutBitmapCharacter(void *font, int character);
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
/* $Id: glx.h,v 1.38 2002/10/14 13:52:27 brianp Exp $ */
|
/* $Id: glx.h,v 1.33.2.2 2002/04/26 13:53:09 brianp Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Mesa 3-D graphics library
|
* Mesa 3-D graphics library
|
||||||
* Version: 4.1
|
* Version: 4.0.3
|
||||||
*
|
*
|
||||||
* Copyright (C) 1999-2002 Brian Paul All Rights Reserved.
|
* Copyright (C) 1999-2002 Brian Paul All Rights Reserved.
|
||||||
*
|
*
|
||||||
@@ -154,7 +154,6 @@ extern "C" {
|
|||||||
#define GLX_STATIC_COLOR 0x8005
|
#define GLX_STATIC_COLOR 0x8005
|
||||||
#define GLX_GRAY_SCALE 0x8006
|
#define GLX_GRAY_SCALE 0x8006
|
||||||
#define GLX_STATIC_GRAY 0x8007
|
#define GLX_STATIC_GRAY 0x8007
|
||||||
#define GLX_TRANSPARENT_RGB 0x8008
|
|
||||||
#define GLX_TRANSPARENT_INDEX 0x8009
|
#define GLX_TRANSPARENT_INDEX 0x8009
|
||||||
#define GLX_RGBA_TYPE 0x8014
|
#define GLX_RGBA_TYPE 0x8014
|
||||||
#define GLX_COLOR_INDEX_TYPE 0x8015
|
#define GLX_COLOR_INDEX_TYPE 0x8015
|
||||||
@@ -298,6 +297,7 @@ extern void glXGetSelectedEvent( Display *dpy, GLXDrawable drawable,
|
|||||||
extern void (*glXGetProcAddress(const GLubyte *procname))();
|
extern void (*glXGetProcAddress(const GLubyte *procname))();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#ifndef GLX_GLXEXT_LEGACY
|
#ifndef GLX_GLXEXT_LEGACY
|
||||||
|
|
||||||
#include <GL/glxext.h>
|
#include <GL/glxext.h>
|
||||||
@@ -453,38 +453,6 @@ extern void (*glXGetProcAddressARB(const GLubyte *procName))();
|
|||||||
#endif /* GLX_GLXEXT_LEGACY */
|
#endif /* GLX_GLXEXT_LEGACY */
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
** The following aren't in glxext.h yet.
|
|
||||||
**/
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* ???. GLX_NV_vertex_array_range
|
|
||||||
*/
|
|
||||||
#ifndef GLX_NV_vertex_array_range
|
|
||||||
#define GLX_NV_vertex_array_range
|
|
||||||
|
|
||||||
extern void *glXAllocateMemoryNV(GLsizei size, GLfloat readfreq, GLfloat writefreq, GLfloat priority);
|
|
||||||
extern void glXFreeMemoryNV(GLvoid *pointer);
|
|
||||||
typedef void * ( * PFNGLXALLOCATEMEMORYNVPROC) (GLsizei size, GLfloat readfreq, GLfloat writefreq, GLfloat priority);
|
|
||||||
typedef void ( * PFNGLXFREEMEMORYNVPROC) (GLvoid *pointer);
|
|
||||||
|
|
||||||
#endif /* GLX_NV_vertex_array_range */
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* ???. GLX_MESA_agp_offset
|
|
||||||
*/
|
|
||||||
#ifndef GLX_MESA_agp_offset
|
|
||||||
#define GLX_MESA_agp_offset 1
|
|
||||||
|
|
||||||
extern GLuint glXGetAGPOffsetMESA(const GLvoid *pointer);
|
|
||||||
typedef GLuint (* PFNGLXGETAGPOFFSETMESAPROC) (const GLvoid *pointer);
|
|
||||||
|
|
||||||
#endif /* GLX_MESA_agp_offset */
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $Id: glx_mangle.h,v 1.2 2001/11/09 22:01:02 brianp Exp $ */
|
/* $Id: glx_mangle.h,v 1.1.1.1.8.1 2001/11/09 22:00:26 brianp Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Mesa 3-D graphics library
|
* Mesa 3-D graphics library
|
||||||
|
|||||||
@@ -314,9 +314,7 @@ struct __GLdrawablePrivateRec {
|
|||||||
void (*unlockDP)(__GLdrawablePrivate *glPriv);
|
void (*unlockDP)(__GLdrawablePrivate *glPriv);
|
||||||
|
|
||||||
/* exported */
|
/* exported */
|
||||||
#if 0 /* disable, just like in __GLimportsRec */
|
|
||||||
void *wsPriv; /* pointer to the window system DrawablePrivate */
|
void *wsPriv; /* pointer to the window system DrawablePrivate */
|
||||||
#endif
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
void *privatePtr;
|
void *privatePtr;
|
||||||
#else
|
#else
|
||||||
@@ -375,13 +373,8 @@ typedef struct __GLimportsRec {
|
|||||||
/* Drawing surface management */
|
/* Drawing surface management */
|
||||||
__GLdrawablePrivate *(*getDrawablePrivate)(__GLcontext *gc);
|
__GLdrawablePrivate *(*getDrawablePrivate)(__GLcontext *gc);
|
||||||
|
|
||||||
#if 0
|
|
||||||
/* At some point, this field got removed from the XFree86 glcore.h file.
|
|
||||||
* we're removing it here to prevent interop problems. (Brian)
|
|
||||||
*/
|
|
||||||
/* Pointer to the window system context */
|
/* Pointer to the window system context */
|
||||||
void *wscx;
|
void *wscx;
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Operating system dependent data goes here */
|
/* Operating system dependent data goes here */
|
||||||
void *other;
|
void *other;
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
/* $Id: osmesa.h,v 1.10 2002/04/04 16:58:04 brianp Exp $ */
|
/* $Id: osmesa.h,v 1.9.2.1 2002/04/26 13:53:09 brianp Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Mesa 3-D graphics library
|
* Mesa 3-D graphics library
|
||||||
* Version: 4.1
|
* Version: 4.0.3
|
||||||
*
|
*
|
||||||
* Copyright (C) 1999-2002 Brian Paul All Rights Reserved.
|
* Copyright (C) 1999-2002 Brian Paul All Rights Reserved.
|
||||||
*
|
*
|
||||||
@@ -63,8 +63,8 @@ extern "C" {
|
|||||||
|
|
||||||
|
|
||||||
#define OSMESA_MAJOR_VERSION 4
|
#define OSMESA_MAJOR_VERSION 4
|
||||||
#define OSMESA_MINOR_VERSION 1
|
#define OSMESA_MINOR_VERSION 0
|
||||||
#define OSMESA_PATCH_VERSION 0
|
#define OSMESA_PATCH_VERSION 3
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -254,15 +254,6 @@ OSMesaGetColorBuffer( OSMesaContext c, GLint *width, GLint *height,
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Return pointer to the named function.
|
|
||||||
*
|
|
||||||
* New in Mesa 4.1
|
|
||||||
*/
|
|
||||||
GLAPI void * GLAPIENTRY
|
|
||||||
OSMesaGetProcAddress( const char *funcName );
|
|
||||||
|
|
||||||
|
|
||||||
#if defined(__BEOS__) || defined(__QUICKDRAW__)
|
#if defined(__BEOS__) || defined(__QUICKDRAW__)
|
||||||
#pragma export off
|
#pragma export off
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $Id: wmesa.h,v 1.2 2002/04/23 18:23:32 kschultz Exp $ */
|
/* $Id: wmesa.h,v 1.1.1.1.8.1 2002/04/23 18:24:41 kschultz Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Mesa 3-D graphics library
|
* Mesa 3-D graphics library
|
||||||
@@ -24,7 +24,7 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* $Log: wmesa.h,v $
|
* $Log: wmesa.h,v $
|
||||||
* Revision 1.2 2002/04/23 18:23:32 kschultz
|
* Revision 1.1.1.1.8.1 2002/04/23 18:24:41 kschultz
|
||||||
* Fix up alpha buffer handling for Windows.
|
* Fix up alpha buffer handling for Windows.
|
||||||
* - add two new Pixel Format Descriptors that do not have alpha bits to
|
* - add two new Pixel Format Descriptors that do not have alpha bits to
|
||||||
* mirror the two that do.
|
* mirror the two that do.
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
/* $Id: xmesa.h,v 1.14 2002/10/05 03:03:37 brianp Exp $ */
|
/* $Id: xmesa.h,v 1.12.2.2 2002/04/26 13:53:09 brianp Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Mesa 3-D graphics library
|
* Mesa 3-D graphics library
|
||||||
* Version: 4.1
|
* Version: 4.0.3
|
||||||
*
|
*
|
||||||
* Copyright (C) 1999-2002 Brian Paul All Rights Reserved.
|
* Copyright (C) 1999-2003 Brian Paul All Rights Reserved.
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
* copy of this software and associated documentation files (the "Software"),
|
* copy of this software and associated documentation files (the "Software"),
|
||||||
@@ -90,7 +90,7 @@ extern struct Library *XLibBase;
|
|||||||
|
|
||||||
|
|
||||||
#define XMESA_MAJOR_VERSION 4
|
#define XMESA_MAJOR_VERSION 4
|
||||||
#define XMESA_MINOR_VERSION 1
|
#define XMESA_MINOR_VERSION 0
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -374,16 +374,6 @@ extern GLboolean XMesaSetFXmode( GLint mode );
|
|||||||
extern void XMesaResizeBuffers( XMesaBuffer b );
|
extern void XMesaResizeBuffers( XMesaBuffer b );
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Create a pbuffer.
|
|
||||||
* New in Mesa 4.1
|
|
||||||
*/
|
|
||||||
extern XMesaBuffer XMesaCreatePBuffer(XMesaVisual v, XMesaColormap cmap,
|
|
||||||
unsigned int width, unsigned int height);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ class SampleGLWindow : public BWindow
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
SampleGLWindow(BRect frame, uint32 type);
|
SampleGLWindow(BRect frame, uint32 type);
|
||||||
virtual bool QuitRequested() { be_app->PostMessage(B_QUIT_REQUESTED); return true; }
|
virtual bool QuitRequested() { return true; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
SampleGLView *theView;
|
SampleGLView *theView;
|
||||||
@@ -135,7 +135,7 @@ void SampleGLView::gInit(void)
|
|||||||
use_stipple_mode = GL_FALSE;
|
use_stipple_mode = GL_FALSE;
|
||||||
use_smooth_mode = GL_TRUE;
|
use_smooth_mode = GL_TRUE;
|
||||||
linesize = 2;
|
linesize = 2;
|
||||||
pointsize = 6;
|
pointsize = 4;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -147,46 +147,35 @@ void SampleGLView::gDraw(void)
|
|||||||
glClear(GL_COLOR_BUFFER_BIT);
|
glClear(GL_COLOR_BUFFER_BIT);
|
||||||
glLineWidth(linesize);
|
glLineWidth(linesize);
|
||||||
|
|
||||||
/*
|
|
||||||
|
|
||||||
if (use_stipple_mode) {
|
if (use_stipple_mode) {
|
||||||
glEnable(GL_LINE_STIPPLE);
|
glEnable(GL_LINE_STIPPLE);
|
||||||
} else {
|
} else {
|
||||||
glDisable(GL_LINE_STIPPLE);
|
glDisable(GL_LINE_STIPPLE);
|
||||||
}
|
}
|
||||||
*/
|
|
||||||
|
|
||||||
glDisable(GL_POINT_SMOOTH);
|
|
||||||
|
|
||||||
|
if (use_smooth_mode) {
|
||||||
|
glEnable(GL_LINE_SMOOTH);
|
||||||
|
glEnable(GL_BLEND);
|
||||||
|
} else {
|
||||||
|
glDisable(GL_LINE_SMOOTH);
|
||||||
|
glDisable(GL_BLEND);
|
||||||
|
}
|
||||||
|
|
||||||
glPushMatrix();
|
glPushMatrix();
|
||||||
|
|
||||||
glPointSize(pointsize); // Set size for point
|
|
||||||
|
|
||||||
for (i = 0; i < 360; i += 5) {
|
for (i = 0; i < 360; i += 5) {
|
||||||
glRotatef(5.0, 0,0,1); // Rotate right 5 degrees
|
glRotatef(5.0, 0,0,1); // Rotate right 5 degrees
|
||||||
|
|
||||||
if (use_smooth_mode) {
|
|
||||||
glEnable(GL_LINE_SMOOTH);
|
|
||||||
glEnable(GL_BLEND);
|
|
||||||
} else {
|
|
||||||
glDisable(GL_LINE_SMOOTH);
|
|
||||||
glDisable(GL_BLEND);
|
|
||||||
}
|
|
||||||
|
|
||||||
glColor3f(1.0, 1.0, 0.0); // Set color for line
|
glColor3f(1.0, 1.0, 0.0); // Set color for line
|
||||||
glBegin(GL_LINE_STRIP); // And create the line
|
glBegin(GL_LINE_STRIP); // And create the line
|
||||||
glVertex3fv(pntA);
|
glVertex3fv(pntA);
|
||||||
glVertex3fv(pntB);
|
glVertex3fv(pntB);
|
||||||
glEnd();
|
glEnd();
|
||||||
|
|
||||||
glDisable(GL_POINT_SMOOTH);
|
glPointSize(pointsize); // Set size for point
|
||||||
glDisable(GL_BLEND);
|
|
||||||
|
|
||||||
glColor3f(0.0, 1.0, 0.0); // Set color for point
|
glColor3f(0.0, 1.0, 0.0); // Set color for point
|
||||||
glBegin(GL_POINTS);
|
glBegin(GL_POINTS);
|
||||||
glVertex3fv(pntA); // Draw point at one end
|
glVertex3fv(pntA); // Draw point at one end
|
||||||
glVertex3fv(pntB); // Draw point at other end
|
glVertex3fv(pntB); // Draw point at other end
|
||||||
glEnd();
|
glEnd();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# $Id: Makefile.win,v 1.7 2002/01/16 00:48:43 kschultz Exp $
|
# $Id: Makefile.win,v 1.5.2.2 2002/04/15 22:14:09 kschultz Exp $
|
||||||
|
|
||||||
# Mesa 3-D graphics library
|
# Mesa 3-D graphics library
|
||||||
# Version: 3.5
|
# Version: 3.5
|
||||||
|
|||||||
@@ -1,10 +1,36 @@
|
|||||||
/* $Id: clearspd.c,v 1.5 2002/10/31 12:38:32 keithw Exp $ */
|
/* $Id: clearspd.c,v 1.3 2000/12/07 21:50:39 brianp Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Simple GLUT program to measure glClear() and glutSwapBuffers() speed.
|
* Simple GLUT program to measure glClear() and glutSwapBuffers() speed.
|
||||||
* Brian Paul February 15, 1997 This file in public domain.
|
* Brian Paul February 15, 1997 This file in public domain.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* $Log: clearspd.c,v $
|
||||||
|
* Revision 1.3 2000/12/07 21:50:39 brianp
|
||||||
|
* call glFinish() before getting t1 time
|
||||||
|
*
|
||||||
|
* Revision 1.2 2000/04/10 16:25:15 brianp
|
||||||
|
* fixed visual selection and reporting results
|
||||||
|
*
|
||||||
|
* Revision 1.1.1.1 1999/08/19 00:55:40 jtg
|
||||||
|
* Imported sources
|
||||||
|
*
|
||||||
|
* Revision 3.3 1999/03/28 18:18:33 brianp
|
||||||
|
* minor clean-up
|
||||||
|
*
|
||||||
|
* Revision 3.2 1999/03/18 08:16:34 joukj
|
||||||
|
*
|
||||||
|
* cmpstr needs string.h to included to avoid warnings
|
||||||
|
*
|
||||||
|
* Revision 3.1 1998/06/29 02:38:30 brianp
|
||||||
|
* removed unneeded includes
|
||||||
|
*
|
||||||
|
* Revision 3.0 1998/02/14 18:42:29 brianp
|
||||||
|
* initial rev
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
@@ -61,12 +87,6 @@ static void Display( void )
|
|||||||
glutSwapBuffers();
|
glutSwapBuffers();
|
||||||
}
|
}
|
||||||
|
|
||||||
/* NOTE: If clearspd doesn't map it's window immediately on
|
|
||||||
* starting, swaps will be istantaneous, so this will send Loops
|
|
||||||
* towards infinity. When a window is finally mapped, it may be
|
|
||||||
* minutes before the first call to glutSwapBuffers, making it look
|
|
||||||
* like there's a driver bug.
|
|
||||||
*/
|
|
||||||
if (t1-t0 < MinPeriod) {
|
if (t1-t0 < MinPeriod) {
|
||||||
/* Next time do more clears to get longer elapsed time */
|
/* Next time do more clears to get longer elapsed time */
|
||||||
Loops *= 2;
|
Loops *= 2;
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $Id: cubemap.c,v 1.4 2002/10/25 17:20:26 brianp Exp $ */
|
/* $Id: cubemap.c,v 1.3 2000/06/27 17:04:43 brianp Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* GL_ARB_texture_cube_map demo
|
* GL_ARB_texture_cube_map demo
|
||||||
@@ -36,100 +36,25 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
#include <assert.h>
|
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include "GL/glut.h"
|
#include "GL/glut.h"
|
||||||
#include "../util/readtex.c" /* a hack */
|
|
||||||
|
|
||||||
|
|
||||||
static GLfloat Xrot = 0, Yrot = 0;
|
static GLfloat Xrot = 0, Yrot = 0;
|
||||||
static GLfloat EyeDist = 10;
|
|
||||||
|
|
||||||
|
|
||||||
static void draw_skybox( void )
|
|
||||||
{
|
|
||||||
const GLfloat eps1 = 0.99;
|
|
||||||
const GLfloat br = 20.0; /* box radius */
|
|
||||||
|
|
||||||
glBegin(GL_QUADS);
|
|
||||||
|
|
||||||
/* +X side */
|
|
||||||
glTexCoord3f(1.0, -eps1, -eps1); glVertex3f(br, -br, -br);
|
|
||||||
glTexCoord3f(1.0, -eps1, eps1); glVertex3f(br, -br, br);
|
|
||||||
glTexCoord3f(1.0, eps1, eps1); glVertex3f(br, br, br);
|
|
||||||
glTexCoord3f(1.0, eps1, -eps1); glVertex3f(br, br, -br);
|
|
||||||
|
|
||||||
/* -X side */
|
|
||||||
glTexCoord3f(-1.0, eps1, -eps1); glVertex3f(-br, br, -br);
|
|
||||||
glTexCoord3f(-1.0, eps1, eps1); glVertex3f(-br, br, br);
|
|
||||||
glTexCoord3f(-1.0, -eps1, eps1); glVertex3f(-br, -br, br);
|
|
||||||
glTexCoord3f(-1.0, -eps1, -eps1); glVertex3f(-br, -br, -br);
|
|
||||||
|
|
||||||
/* +Y side */
|
|
||||||
glTexCoord3f(-eps1, 1.0, -eps1); glVertex3f(-br, br, -br);
|
|
||||||
glTexCoord3f(-eps1, 1.0, eps1); glVertex3f(-br, br, br);
|
|
||||||
glTexCoord3f( eps1, 1.0, eps1); glVertex3f( br, br, br);
|
|
||||||
glTexCoord3f( eps1, 1.0, -eps1); glVertex3f( br, br, -br);
|
|
||||||
|
|
||||||
/* -Y side */
|
|
||||||
glTexCoord3f(-eps1, -1.0, -eps1); glVertex3f(-br, -br, -br);
|
|
||||||
glTexCoord3f(-eps1, -1.0, eps1); glVertex3f(-br, -br, br);
|
|
||||||
glTexCoord3f( eps1, -1.0, eps1); glVertex3f( br, -br, br);
|
|
||||||
glTexCoord3f( eps1, -1.0, -eps1); glVertex3f( br, -br, -br);
|
|
||||||
|
|
||||||
/* +Z side */
|
|
||||||
glTexCoord3f( eps1, -eps1, 1.0); glVertex3f( br, -br, br);
|
|
||||||
glTexCoord3f(-eps1, -eps1, 1.0); glVertex3f(-br, -br, br);
|
|
||||||
glTexCoord3f(-eps1, eps1, 1.0); glVertex3f(-br, br, br);
|
|
||||||
glTexCoord3f( eps1, eps1, 1.0); glVertex3f( br, br, br);
|
|
||||||
|
|
||||||
/* -Z side */
|
|
||||||
glTexCoord3f( eps1, eps1, -1.0); glVertex3f( br, br, -br);
|
|
||||||
glTexCoord3f(-eps1, eps1, -1.0); glVertex3f(-br, br, -br);
|
|
||||||
glTexCoord3f(-eps1, -eps1, -1.0); glVertex3f(-br, -br, -br);
|
|
||||||
glTexCoord3f( eps1, -eps1, -1.0); glVertex3f( br, -br, -br);
|
|
||||||
|
|
||||||
glEnd();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static void draw( void )
|
static void draw( void )
|
||||||
{
|
{
|
||||||
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
|
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
|
||||||
|
|
||||||
glPushMatrix(); /*MODELVIEW*/
|
glMatrixMode(GL_TEXTURE);
|
||||||
glTranslatef( 0.0, 0.0, -EyeDist );
|
glLoadIdentity();
|
||||||
|
glRotatef(Xrot, 1, 0, 0);
|
||||||
/* skybox */
|
glRotatef(Yrot, 0, 1, 0);
|
||||||
glDisable(GL_TEXTURE_GEN_S);
|
glutSolidSphere(2.0, 20, 20);
|
||||||
glDisable(GL_TEXTURE_GEN_T);
|
glMatrixMode(GL_MODELVIEW);
|
||||||
glDisable(GL_TEXTURE_GEN_R);
|
|
||||||
|
|
||||||
glMatrixMode(GL_MODELVIEW);
|
|
||||||
glPushMatrix();
|
|
||||||
glRotatef(Xrot, 1, 0, 0);
|
|
||||||
glRotatef(Yrot, 0, 1, 0);
|
|
||||||
draw_skybox();
|
|
||||||
glPopMatrix();
|
|
||||||
|
|
||||||
/* sphere */
|
|
||||||
glMatrixMode(GL_TEXTURE);
|
|
||||||
glLoadIdentity();
|
|
||||||
glRotatef(-Yrot, 0, 1, 0);
|
|
||||||
glRotatef(-Xrot, 1, 0, 0);
|
|
||||||
|
|
||||||
glEnable(GL_TEXTURE_GEN_S);
|
|
||||||
glEnable(GL_TEXTURE_GEN_T);
|
|
||||||
glEnable(GL_TEXTURE_GEN_R);
|
|
||||||
glutSolidSphere(2.0, 20, 20);
|
|
||||||
|
|
||||||
glLoadIdentity(); /* texture */
|
|
||||||
|
|
||||||
glMatrixMode(GL_MODELVIEW);
|
|
||||||
glPopMatrix();
|
|
||||||
|
|
||||||
glutSwapBuffers();
|
glutSwapBuffers();
|
||||||
}
|
}
|
||||||
@@ -137,8 +62,7 @@ static void draw( void )
|
|||||||
|
|
||||||
static void idle(void)
|
static void idle(void)
|
||||||
{
|
{
|
||||||
GLfloat t = 0.05 * glutGet(GLUT_ELAPSED_TIME);
|
Yrot += 5.0;
|
||||||
Yrot = t;
|
|
||||||
glutPostRedisplay();
|
glutPostRedisplay();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -157,6 +81,9 @@ static void set_mode(GLuint mode)
|
|||||||
glTexGeni(GL_R, GL_TEXTURE_GEN_MODE, GL_NORMAL_MAP_ARB);
|
glTexGeni(GL_R, GL_TEXTURE_GEN_MODE, GL_NORMAL_MAP_ARB);
|
||||||
printf("GL_NORMAL_MAP_ARB mode\n");
|
printf("GL_NORMAL_MAP_ARB mode\n");
|
||||||
}
|
}
|
||||||
|
glEnable(GL_TEXTURE_GEN_S);
|
||||||
|
glEnable(GL_TEXTURE_GEN_T);
|
||||||
|
glEnable(GL_TEXTURE_GEN_R);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -178,16 +105,6 @@ static void key(unsigned char k, int x, int y)
|
|||||||
mode = !mode;
|
mode = !mode;
|
||||||
set_mode(mode);
|
set_mode(mode);
|
||||||
break;
|
break;
|
||||||
case 'z':
|
|
||||||
EyeDist -= 0.5;
|
|
||||||
if (EyeDist < 6.0)
|
|
||||||
EyeDist = 6.0;
|
|
||||||
break;
|
|
||||||
case 'Z':
|
|
||||||
EyeDist += 0.5;
|
|
||||||
if (EyeDist > 90.0)
|
|
||||||
EyeDist = 90;
|
|
||||||
break;
|
|
||||||
case 27:
|
case 27:
|
||||||
exit(0);
|
exit(0);
|
||||||
}
|
}
|
||||||
@@ -197,15 +114,15 @@ static void key(unsigned char k, int x, int y)
|
|||||||
|
|
||||||
static void specialkey(int key, int x, int y)
|
static void specialkey(int key, int x, int y)
|
||||||
{
|
{
|
||||||
GLfloat step = 5;
|
GLfloat step = 10;
|
||||||
(void) x;
|
(void) x;
|
||||||
(void) y;
|
(void) y;
|
||||||
switch (key) {
|
switch (key) {
|
||||||
case GLUT_KEY_UP:
|
case GLUT_KEY_UP:
|
||||||
Xrot += step;
|
Xrot -= step;
|
||||||
break;
|
break;
|
||||||
case GLUT_KEY_DOWN:
|
case GLUT_KEY_DOWN:
|
||||||
Xrot -= step;
|
Xrot += step;
|
||||||
break;
|
break;
|
||||||
case GLUT_KEY_LEFT:
|
case GLUT_KEY_LEFT:
|
||||||
Yrot -= step;
|
Yrot -= step;
|
||||||
@@ -221,17 +138,17 @@ static void specialkey(int key, int x, int y)
|
|||||||
/* new window size or exposure */
|
/* new window size or exposure */
|
||||||
static void reshape(int width, int height)
|
static void reshape(int width, int height)
|
||||||
{
|
{
|
||||||
GLfloat ar = (float) width / (float) height;
|
|
||||||
glViewport(0, 0, (GLint)width, (GLint)height);
|
glViewport(0, 0, (GLint)width, (GLint)height);
|
||||||
glMatrixMode(GL_PROJECTION);
|
glMatrixMode(GL_PROJECTION);
|
||||||
glLoadIdentity();
|
glLoadIdentity();
|
||||||
glFrustum( -2.0*ar, 2.0*ar, -2.0, 2.0, 4.0, 100.0 );
|
glFrustum( -2.0, 2.0, -2.0, 2.0, 6.0, 20.0 );
|
||||||
glMatrixMode(GL_MODELVIEW);
|
glMatrixMode(GL_MODELVIEW);
|
||||||
glLoadIdentity();
|
glLoadIdentity();
|
||||||
|
glTranslatef( 0.0, 0.0, -8.0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void init_checkers( void )
|
static void init( void )
|
||||||
{
|
{
|
||||||
#define CUBE_TEX_SIZE 64
|
#define CUBE_TEX_SIZE 64
|
||||||
GLubyte image[CUBE_TEX_SIZE][CUBE_TEX_SIZE][3];
|
GLubyte image[CUBE_TEX_SIZE][CUBE_TEX_SIZE][3];
|
||||||
@@ -254,6 +171,16 @@ static void init_checkers( void )
|
|||||||
|
|
||||||
GLint i, j, f;
|
GLint i, j, f;
|
||||||
|
|
||||||
|
/* check for extension */
|
||||||
|
{
|
||||||
|
char *exten = (char *) glGetString(GL_EXTENSIONS);
|
||||||
|
if (!strstr(exten, "GL_ARB_texture_cube_map")) {
|
||||||
|
printf("Sorry, this demo requires GL_ARB_texture_cube_map\n");
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
|
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
|
||||||
|
|
||||||
/* make colored checkerboard cube faces */
|
/* make colored checkerboard cube faces */
|
||||||
@@ -276,102 +203,18 @@ static void init_checkers( void )
|
|||||||
glTexImage2D(targets[f], 0, GL_RGB, CUBE_TEX_SIZE, CUBE_TEX_SIZE, 0,
|
glTexImage2D(targets[f], 0, GL_RGB, CUBE_TEX_SIZE, CUBE_TEX_SIZE, 0,
|
||||||
GL_RGB, GL_UNSIGNED_BYTE, image);
|
GL_RGB, GL_UNSIGNED_BYTE, image);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
|
#if 1
|
||||||
static void load(GLenum target, const char *filename,
|
glTexParameteri(GL_TEXTURE_CUBE_MAP_ARB, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
|
||||||
GLboolean flipTB, GLboolean flipLR)
|
glTexParameteri(GL_TEXTURE_CUBE_MAP_ARB, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
|
||||||
{
|
#else
|
||||||
GLint w, h;
|
glTexParameteri(GL_TEXTURE_CUBE_MAP_ARB, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
|
||||||
GLenum format;
|
glTexParameteri(GL_TEXTURE_CUBE_MAP_ARB, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
|
||||||
GLubyte *img = LoadRGBImage( filename, &w, &h, &format );
|
#endif
|
||||||
if (!img) {
|
|
||||||
printf("Error: couldn't load texture image %s\n", filename);
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
assert(format == GL_RGB);
|
|
||||||
|
|
||||||
/* <sigh> the way the texture cube mapping works, we have to flip
|
|
||||||
* images to make things look right.
|
|
||||||
*/
|
|
||||||
if (flipTB) {
|
|
||||||
const int stride = 3 * w;
|
|
||||||
GLubyte temp[3*1024];
|
|
||||||
int i;
|
|
||||||
for (i = 0; i < h / 2; i++) {
|
|
||||||
memcpy(temp, img + i * stride, stride);
|
|
||||||
memcpy(img + i * stride, img + (h - i - 1) * stride, stride);
|
|
||||||
memcpy(img + (h - i - 1) * stride, temp, stride);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (flipLR) {
|
|
||||||
const int stride = 3 * w;
|
|
||||||
GLubyte temp[3];
|
|
||||||
GLubyte *row;
|
|
||||||
int i, j;
|
|
||||||
for (i = 0; i < h; i++) {
|
|
||||||
row = img + i * stride;
|
|
||||||
for (j = 0; j < w / 2; j++) {
|
|
||||||
int k = w - j - 1;
|
|
||||||
temp[0] = row[j*3+0];
|
|
||||||
temp[1] = row[j*3+1];
|
|
||||||
temp[2] = row[j*3+2];
|
|
||||||
row[j*3+0] = row[k*3+0];
|
|
||||||
row[j*3+1] = row[k*3+1];
|
|
||||||
row[j*3+2] = row[k*3+2];
|
|
||||||
row[k*3+0] = temp[0];
|
|
||||||
row[k*3+1] = temp[1];
|
|
||||||
row[k*3+2] = temp[2];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
gluBuild2DMipmaps(target, GL_RGB, w, h, format, GL_UNSIGNED_BYTE, img);
|
|
||||||
free(img);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static void load_envmaps(void)
|
|
||||||
{
|
|
||||||
load(GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB, "right.rgb", GL_TRUE, GL_FALSE);
|
|
||||||
load(GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB, "left.rgb", GL_TRUE, GL_FALSE);
|
|
||||||
load(GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB, "top.rgb", GL_FALSE, GL_TRUE);
|
|
||||||
load(GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB, "bottom.rgb", GL_FALSE, GL_TRUE);
|
|
||||||
load(GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB, "front.rgb", GL_TRUE, GL_FALSE);
|
|
||||||
load(GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB, "back.rgb", GL_TRUE, GL_FALSE);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static void init( GLboolean useImageFiles )
|
|
||||||
{
|
|
||||||
GLenum filter;
|
|
||||||
|
|
||||||
/* check for extension */
|
|
||||||
{
|
|
||||||
char *exten = (char *) glGetString(GL_EXTENSIONS);
|
|
||||||
if (!strstr(exten, "GL_ARB_texture_cube_map")) {
|
|
||||||
printf("Sorry, this demo requires GL_ARB_texture_cube_map\n");
|
|
||||||
exit(0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
printf("GL_RENDERER: %s\n", (char *) glGetString(GL_RENDERER));
|
|
||||||
|
|
||||||
if (useImageFiles) {
|
|
||||||
load_envmaps();
|
|
||||||
filter = GL_LINEAR;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
init_checkers();
|
|
||||||
filter = GL_NEAREST;
|
|
||||||
}
|
|
||||||
|
|
||||||
glTexParameteri(GL_TEXTURE_CUBE_MAP_ARB, GL_TEXTURE_MIN_FILTER, filter);
|
|
||||||
glTexParameteri(GL_TEXTURE_CUBE_MAP_ARB, GL_TEXTURE_MAG_FILTER, filter);
|
|
||||||
glTexParameteri(GL_TEXTURE_CUBE_MAP_ARB, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
|
glTexParameteri(GL_TEXTURE_CUBE_MAP_ARB, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
|
||||||
glTexParameteri(GL_TEXTURE_CUBE_MAP_ARB, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
|
glTexParameteri(GL_TEXTURE_CUBE_MAP_ARB, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
|
||||||
|
|
||||||
glEnable(GL_TEXTURE_CUBE_MAP_ARB);
|
glEnable(GL_TEXTURE_CUBE_MAP_ARB);
|
||||||
glEnable(GL_DEPTH_TEST);
|
|
||||||
|
|
||||||
glClearColor(.3, .3, .3, 0);
|
glClearColor(.3, .3, .3, 0);
|
||||||
glColor3f( 1.0, 1.0, 1.0 );
|
glColor3f( 1.0, 1.0, 1.0 );
|
||||||
@@ -386,21 +229,16 @@ static void usage(void)
|
|||||||
printf(" SPACE - toggle animation\n");
|
printf(" SPACE - toggle animation\n");
|
||||||
printf(" CURSOR KEYS - rotation\n");
|
printf(" CURSOR KEYS - rotation\n");
|
||||||
printf(" m - toggle texgen reflection mode\n");
|
printf(" m - toggle texgen reflection mode\n");
|
||||||
printf(" z/Z - change viewing distance\n");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int main( int argc, char *argv[] )
|
int main( int argc, char *argv[] )
|
||||||
{
|
{
|
||||||
glutInitWindowPosition(0, 0);
|
glutInitWindowPosition(0, 0);
|
||||||
glutInitWindowSize(600, 500);
|
glutInitWindowSize(300, 300);
|
||||||
glutInitDisplayMode( GLUT_RGB | GLUT_DEPTH | GLUT_DOUBLE );
|
glutInitDisplayMode( GLUT_RGB | GLUT_DEPTH | GLUT_DOUBLE );
|
||||||
glutCreateWindow("Texture Cube Maping");
|
glutCreateWindow("Texture Cube Maping");
|
||||||
|
init();
|
||||||
if (argc > 1 && strcmp(argv[1] , "-i") == 0)
|
|
||||||
init( 1 );
|
|
||||||
else
|
|
||||||
init( 0 );
|
|
||||||
glutReshapeFunc( reshape );
|
glutReshapeFunc( reshape );
|
||||||
glutKeyboardFunc( key );
|
glutKeyboardFunc( key );
|
||||||
glutSpecialFunc( specialkey );
|
glutSpecialFunc( specialkey );
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $Id: drawpix.c,v 1.8 2002/07/12 15:54:02 brianp Exp $ */
|
/* $Id: drawpix.c,v 1.5 2000/12/24 22:53:54 pesco Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* glDrawPixels demo/test/benchmark
|
* glDrawPixels demo/test/benchmark
|
||||||
@@ -6,6 +6,61 @@
|
|||||||
* Brian Paul September 25, 1997 This file is in the public domain.
|
* Brian Paul September 25, 1997 This file is in the public domain.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* $Log: drawpix.c,v $
|
||||||
|
* Revision 1.5 2000/12/24 22:53:54 pesco
|
||||||
|
* * demos/Makefile.am (INCLUDES): Added -I$(top_srcdir)/util.
|
||||||
|
* * demos/Makefile.X11, demos/Makefile.BeOS-R4, demos/Makefile.cygnus:
|
||||||
|
* Essentially the same.
|
||||||
|
* Program files updated to include "readtex.c", not "../util/readtex.c".
|
||||||
|
* * demos/reflect.c: Likewise for "showbuffer.c".
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* * Makefile.am (EXTRA_DIST): Added top-level regular files.
|
||||||
|
*
|
||||||
|
* * include/GL/Makefile.am (INC_X11): Added glxext.h.
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* * src/GGI/include/ggi/mesa/Makefile.am (EXTRA_HEADERS): Include
|
||||||
|
* Mesa GGI headers in dist even if HAVE_GGI is not given.
|
||||||
|
*
|
||||||
|
* * configure.in: Look for GLUT and demo source dirs in $srcdir.
|
||||||
|
*
|
||||||
|
* * src/swrast/Makefile.am (libMesaSwrast_la_SOURCES): Set to *.[ch].
|
||||||
|
* More source list updates in various Makefile.am's.
|
||||||
|
*
|
||||||
|
* * Makefile.am (dist-hook): Remove CVS directory from distribution.
|
||||||
|
* (DIST_SUBDIRS): List all possible subdirs here.
|
||||||
|
* (SUBDIRS): Only list subdirs selected for build again.
|
||||||
|
* The above two applied to all subdir Makefile.am's also.
|
||||||
|
*
|
||||||
|
* Revision 1.4 2000/09/08 21:45:21 brianp
|
||||||
|
* added dither key option
|
||||||
|
*
|
||||||
|
* Revision 1.3 1999/10/28 18:23:29 brianp
|
||||||
|
* minor changes to Usage() function
|
||||||
|
*
|
||||||
|
* Revision 1.2 1999/10/21 22:13:58 brianp
|
||||||
|
* added f key to toggle front/back drawing
|
||||||
|
*
|
||||||
|
* Revision 1.1.1.1 1999/08/19 00:55:40 jtg
|
||||||
|
* Imported sources
|
||||||
|
*
|
||||||
|
* Revision 3.3 1999/03/28 18:18:33 brianp
|
||||||
|
* minor clean-up
|
||||||
|
*
|
||||||
|
* Revision 3.2 1998/11/05 04:34:04 brianp
|
||||||
|
* moved image files to ../images/ directory
|
||||||
|
*
|
||||||
|
* Revision 3.1 1998/02/22 16:43:17 brianp
|
||||||
|
* added a few casts to silence compiler warnings
|
||||||
|
*
|
||||||
|
* Revision 3.0 1998/02/14 18:42:29 brianp
|
||||||
|
* initial rev
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
@@ -23,8 +78,6 @@ static int Xpos, Ypos;
|
|||||||
static int SkipPixels, SkipRows;
|
static int SkipPixels, SkipRows;
|
||||||
static int DrawWidth, DrawHeight;
|
static int DrawWidth, DrawHeight;
|
||||||
static int Scissor = 0;
|
static int Scissor = 0;
|
||||||
static int Fog = 0;
|
|
||||||
static GLfloat Zpos = -1.0;
|
|
||||||
static float Xzoom, Yzoom;
|
static float Xzoom, Yzoom;
|
||||||
static GLboolean DrawFront = GL_FALSE;
|
static GLboolean DrawFront = GL_FALSE;
|
||||||
static GLboolean Dither = GL_TRUE;
|
static GLboolean Dither = GL_TRUE;
|
||||||
@@ -37,8 +90,6 @@ static void Reset( void )
|
|||||||
DrawHeight = ImgHeight;
|
DrawHeight = ImgHeight;
|
||||||
SkipPixels = SkipRows = 0;
|
SkipPixels = SkipRows = 0;
|
||||||
Scissor = 0;
|
Scissor = 0;
|
||||||
Fog = 0;
|
|
||||||
Zpos = -1.0;
|
|
||||||
Xzoom = Yzoom = 1.0;
|
Xzoom = Yzoom = 1.0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -51,7 +102,7 @@ static void Display( void )
|
|||||||
glRasterPos2i(Xpos, Ypos);
|
glRasterPos2i(Xpos, Ypos);
|
||||||
#else
|
#else
|
||||||
/* This allows negative raster positions: */
|
/* This allows negative raster positions: */
|
||||||
glRasterPos3f(0, 0, Zpos);
|
glRasterPos2i(0, 0);
|
||||||
glBitmap(0, 0, 0, 0, Xpos, Ypos, NULL);
|
glBitmap(0, 0, 0, 0, Xpos, Ypos, NULL);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -63,13 +114,9 @@ static void Display( void )
|
|||||||
if (Scissor)
|
if (Scissor)
|
||||||
glEnable(GL_SCISSOR_TEST);
|
glEnable(GL_SCISSOR_TEST);
|
||||||
|
|
||||||
if (Fog)
|
|
||||||
glEnable(GL_FOG);
|
|
||||||
|
|
||||||
glDrawPixels(DrawWidth, DrawHeight, ImgFormat, GL_UNSIGNED_BYTE, Image);
|
glDrawPixels(DrawWidth, DrawHeight, ImgFormat, GL_UNSIGNED_BYTE, Image);
|
||||||
|
|
||||||
glDisable(GL_SCISSOR_TEST);
|
glDisable(GL_SCISSOR_TEST);
|
||||||
glDisable(GL_FOG);
|
|
||||||
|
|
||||||
if (!DrawFront)
|
if (!DrawFront)
|
||||||
glutSwapBuffers();
|
glutSwapBuffers();
|
||||||
@@ -89,8 +136,6 @@ static void Benchmark( void )
|
|||||||
glPixelZoom( Xzoom, Yzoom );
|
glPixelZoom( Xzoom, Yzoom );
|
||||||
if (Scissor)
|
if (Scissor)
|
||||||
glEnable(GL_SCISSOR_TEST);
|
glEnable(GL_SCISSOR_TEST);
|
||||||
if (Fog)
|
|
||||||
glEnable(GL_FOG);
|
|
||||||
|
|
||||||
if (DrawFront)
|
if (DrawFront)
|
||||||
glDrawBuffer(GL_FRONT);
|
glDrawBuffer(GL_FRONT);
|
||||||
@@ -108,7 +153,6 @@ static void Benchmark( void )
|
|||||||
|
|
||||||
/* GL clean-up */
|
/* GL clean-up */
|
||||||
glDisable(GL_SCISSOR_TEST);
|
glDisable(GL_SCISSOR_TEST);
|
||||||
glDisable(GL_FOG);
|
|
||||||
|
|
||||||
/* Results */
|
/* Results */
|
||||||
seconds = (double) (endTime - startTime) / 1000.0;
|
seconds = (double) (endTime - startTime) / 1000.0;
|
||||||
@@ -123,7 +167,7 @@ static void Reshape( int width, int height )
|
|||||||
glViewport( 0, 0, width, height );
|
glViewport( 0, 0, width, height );
|
||||||
glMatrixMode( GL_PROJECTION );
|
glMatrixMode( GL_PROJECTION );
|
||||||
glLoadIdentity();
|
glLoadIdentity();
|
||||||
glOrtho( 0.0, width, 0.0, height, 0.0, 2.0 );
|
glOrtho( 0.0, width, 0.0, height, -1.0, 1.0 );
|
||||||
glMatrixMode( GL_MODELVIEW );
|
glMatrixMode( GL_MODELVIEW );
|
||||||
glLoadIdentity();
|
glLoadIdentity();
|
||||||
|
|
||||||
@@ -189,21 +233,9 @@ static void Key( unsigned char key, int x, int y )
|
|||||||
case 'Y':
|
case 'Y':
|
||||||
Yzoom += 0.1;
|
Yzoom += 0.1;
|
||||||
break;
|
break;
|
||||||
case 'z':
|
|
||||||
Zpos -= 0.1;
|
|
||||||
printf("RasterPos Z = %g\n", Zpos);
|
|
||||||
break;
|
|
||||||
case 'Z':
|
|
||||||
Zpos += 0.1;
|
|
||||||
printf("RasterPos Z = %g\n", Zpos);
|
|
||||||
break;
|
|
||||||
case 'b':
|
case 'b':
|
||||||
Benchmark();
|
Benchmark();
|
||||||
break;
|
break;
|
||||||
case 'F':
|
|
||||||
Fog = !Fog;
|
|
||||||
printf("Fog %d\n", Fog);
|
|
||||||
break;
|
|
||||||
case 'f':
|
case 'f':
|
||||||
DrawFront = !DrawFront;
|
DrawFront = !DrawFront;
|
||||||
if (DrawFront)
|
if (DrawFront)
|
||||||
@@ -244,8 +276,6 @@ static void SpecialKey( int key, int x, int y )
|
|||||||
|
|
||||||
static void Init( GLboolean ciMode )
|
static void Init( GLboolean ciMode )
|
||||||
{
|
{
|
||||||
static const GLfloat fogColor[4] = {0, 1, 0, 0};
|
|
||||||
|
|
||||||
printf("GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
|
printf("GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
|
||||||
printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
|
printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
|
||||||
|
|
||||||
@@ -257,7 +287,7 @@ static void Init( GLboolean ciMode )
|
|||||||
|
|
||||||
if (ciMode) {
|
if (ciMode) {
|
||||||
/* Convert RGB image to grayscale */
|
/* Convert RGB image to grayscale */
|
||||||
GLubyte *indexImage = (GLubyte *) malloc( ImgWidth * ImgHeight );
|
GLubyte *indexImage = malloc( ImgWidth * ImgHeight );
|
||||||
GLint i;
|
GLint i;
|
||||||
for (i=0; i<ImgWidth*ImgHeight; i++) {
|
for (i=0; i<ImgWidth*ImgHeight; i++) {
|
||||||
int gray = Image[i*3] + Image[i*3+1] + Image[i*3+2];
|
int gray = Image[i*3] + Image[i*3+1] + Image[i*3+2];
|
||||||
@@ -278,11 +308,6 @@ static void Init( GLboolean ciMode )
|
|||||||
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
|
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
|
||||||
glPixelStorei(GL_UNPACK_ROW_LENGTH, ImgWidth);
|
glPixelStorei(GL_UNPACK_ROW_LENGTH, ImgWidth);
|
||||||
|
|
||||||
glFogi(GL_FOG_MODE, GL_LINEAR);
|
|
||||||
glFogf(GL_FOG_START, 0);
|
|
||||||
glFogf(GL_FOG_END, 2);
|
|
||||||
glFogfv(GL_FOG_COLOR, fogColor);
|
|
||||||
|
|
||||||
Reset();
|
Reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -306,10 +331,6 @@ static void Usage(void)
|
|||||||
printf(" r Decrease GL_UNPACK_SKIP_ROWS*\n");
|
printf(" r Decrease GL_UNPACK_SKIP_ROWS*\n");
|
||||||
printf(" R Increase GL_UNPACK_SKIP_ROWS*\n");
|
printf(" R Increase GL_UNPACK_SKIP_ROWS*\n");
|
||||||
printf(" s Toggle GL_SCISSOR_TEST\n");
|
printf(" s Toggle GL_SCISSOR_TEST\n");
|
||||||
printf(" F Toggle GL_FOG\n");
|
|
||||||
printf(" z Decrease RasterPos Z\n");
|
|
||||||
printf(" Z Increase RasterPos Z\n");
|
|
||||||
|
|
||||||
printf(" f Toggle front/back buffer drawing\n");
|
printf(" f Toggle front/back buffer drawing\n");
|
||||||
printf(" b Benchmark test\n");
|
printf(" b Benchmark test\n");
|
||||||
printf(" ESC Exit\n");
|
printf(" ESC Exit\n");
|
||||||
|
|||||||
@@ -660,7 +660,7 @@ inittextures(void)
|
|||||||
|
|
||||||
if ((gluerr = gluBuild2DMipmaps(GL_TEXTURE_2D, 4, 128, 128, GL_RGBA,
|
if ((gluerr = gluBuild2DMipmaps(GL_TEXTURE_2D, 4, 128, 128, GL_RGBA,
|
||||||
GL_UNSIGNED_BYTE, (GLvoid *) (tex)))) {
|
GL_UNSIGNED_BYTE, (GLvoid *) (tex)))) {
|
||||||
fprintf(stderr, "GLULib%s\n", (char *) gluErrorString(gluerr));
|
fprintf(stderr, "GLULib%s\n", gluErrorString(gluerr));
|
||||||
exit(-1);
|
exit(-1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -752,7 +752,7 @@ main(int ac, char **av)
|
|||||||
glFogfv(GL_FOG_COLOR, fogcolor);
|
glFogfv(GL_FOG_COLOR, fogcolor);
|
||||||
glFogf(GL_FOG_DENSITY, 0.1);
|
glFogf(GL_FOG_DENSITY, 0.1);
|
||||||
|
|
||||||
p = (part *) malloc(sizeof(part) * np);
|
p = malloc(sizeof(part) * np);
|
||||||
|
|
||||||
for (i = 0; i < np; i++)
|
for (i = 0; i < np; i++)
|
||||||
setnewpart(&p[i]);
|
setnewpart(&p[i]);
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
/* $Id: gamma.c,v 1.3 2002/04/22 16:03:37 brianp Exp $ */
|
|
||||||
|
/* $Id: gamma.c,v 1.2 2000/03/18 01:13:29 brianp Exp $ */
|
||||||
|
|
||||||
/* Draw test patterns to help determine correct gamma value for a display.
|
/* Draw test patterns to help determine correct gamma value for a display.
|
||||||
When the intensities of the inner squares nearly match the intensities
|
When the intensities of the inner squares nearly match the intensities
|
||||||
@@ -22,6 +23,22 @@
|
|||||||
|
|
||||||
/* Conversion to GLUT by Mark J. Kilgard */
|
/* Conversion to GLUT by Mark J. Kilgard */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* $Log: gamma.c,v $
|
||||||
|
* Revision 1.2 2000/03/18 01:13:29 brianp
|
||||||
|
* colors were computed incorrectly (Hans Nelles)
|
||||||
|
*
|
||||||
|
* Revision 1.1.1.1 1999/08/19 00:55:40 jtg
|
||||||
|
* Imported sources
|
||||||
|
*
|
||||||
|
* Revision 3.1 1999/06/19 01:35:38 brianp
|
||||||
|
* merged in Kai Schuetz's RGB changes
|
||||||
|
*
|
||||||
|
* Revision 3.0 1998/02/14 18:42:29 brianp
|
||||||
|
* initial rev
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $Id: glinfo.c,v 1.2 2002/04/22 16:03:37 brianp Exp $ */
|
/* $Id: glinfo.c,v 1.1 1999/08/19 00:55:40 jtg Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Print GL, GLU and GLUT version and extension info
|
* Print GL, GLU and GLUT version and extension info
|
||||||
@@ -8,6 +8,23 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* $Log: glinfo.c,v $
|
||||||
|
* Revision 1.1 1999/08/19 00:55:40 jtg
|
||||||
|
* Initial revision
|
||||||
|
*
|
||||||
|
* Revision 3.2 1999/02/02 04:45:49 brianp
|
||||||
|
* include stdio.h before glut.h
|
||||||
|
*
|
||||||
|
* Revision 3.1 1998/02/22 16:42:54 brianp
|
||||||
|
* added casts to prevent compiler warnings
|
||||||
|
*
|
||||||
|
* Revision 3.0 1998/02/14 18:42:29 brianp
|
||||||
|
* initial rev
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <GL/glut.h>
|
#include <GL/glut.h>
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $Id: glutfx.c,v 1.3 2002/04/22 16:03:37 brianp Exp $ */
|
/* $Id: glutfx.c,v 1.2 2000/06/27 17:04:43 brianp Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Example of how one might use GLUT with the 3Dfx driver in full-screen mode.
|
* Example of how one might use GLUT with the 3Dfx driver in full-screen mode.
|
||||||
@@ -14,6 +14,25 @@
|
|||||||
* Brian Paul This file is in the public domain.
|
* Brian Paul This file is in the public domain.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* $Log: glutfx.c,v $
|
||||||
|
* Revision 1.2 2000/06/27 17:04:43 brianp
|
||||||
|
* fixed compiler warnings
|
||||||
|
*
|
||||||
|
* Revision 1.1.1.1 1999/08/19 00:55:40 jtg
|
||||||
|
* Imported sources
|
||||||
|
*
|
||||||
|
* Revision 3.2 1999/03/28 18:18:33 brianp
|
||||||
|
* minor clean-up
|
||||||
|
*
|
||||||
|
* Revision 3.1 1998/06/29 02:37:30 brianp
|
||||||
|
* minor changes for Windows (Ted Jump)
|
||||||
|
*
|
||||||
|
* Revision 3.0 1998/02/14 18:42:29 brianp
|
||||||
|
* initial rev
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|||||||
@@ -186,7 +186,7 @@ inittextures(void)
|
|||||||
(gluerr =
|
(gluerr =
|
||||||
gluBuild2DMipmaps(GL_TEXTURE_2D, 3, TEX_SKY_WIDTH, TEX_SKY_HEIGHT,
|
gluBuild2DMipmaps(GL_TEXTURE_2D, 3, TEX_SKY_WIDTH, TEX_SKY_HEIGHT,
|
||||||
GL_RGB, GL_UNSIGNED_BYTE, (GLvoid *) (tsky)))) {
|
GL_RGB, GL_UNSIGNED_BYTE, (GLvoid *) (tsky)))) {
|
||||||
fprintf(stderr, "GLULib%s\n", (char *) gluErrorString(gluerr));
|
fprintf(stderr, "GLULib%s\n", gluErrorString(gluerr));
|
||||||
exit(-1);
|
exit(-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $Id: isosurf.c,v 1.15 2002/10/18 17:47:35 kschultz Exp $ */
|
/* $Id: isosurf.c,v 1.13 2001/10/04 19:14:26 kschultz Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Display an isosurface of 3-D wind speed volume.
|
* Display an isosurface of 3-D wind speed volume.
|
||||||
@@ -32,7 +32,6 @@
|
|||||||
#include <math.h>
|
#include <math.h>
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
#undef CLIP_MASK
|
|
||||||
#endif
|
#endif
|
||||||
#define GL_GLEXT_LEGACY
|
#define GL_GLEXT_LEGACY
|
||||||
#include "GL/glut.h"
|
#include "GL/glut.h"
|
||||||
@@ -40,36 +39,34 @@
|
|||||||
#include "readtex.c" /* I know, this is a hack. KW: me too. */
|
#include "readtex.c" /* I know, this is a hack. KW: me too. */
|
||||||
#define TEXTURE_FILE "../images/reflect.rgb"
|
#define TEXTURE_FILE "../images/reflect.rgb"
|
||||||
|
|
||||||
#define LIT 0x00000001
|
#define LIT 0x1
|
||||||
#define UNLIT 0x00000002
|
#define UNLIT 0x2
|
||||||
#define REFLECT 0x00000004
|
#define REFLECT 0x10
|
||||||
#define POINT_FILTER 0x00000008
|
#define POINT_FILTER 0x40
|
||||||
#define LINEAR_FILTER 0x00000010
|
#define LINEAR_FILTER 0x80
|
||||||
#define GLVERTEX 0x00000020
|
#define GLVERTEX 0x100
|
||||||
#define DRAW_ELTS 0x00000040
|
#define DRAW_ELTS 0x4
|
||||||
#define DRAW_ARRAYS 0x00000080
|
#define DRAW_ARRAYS 0x200
|
||||||
#define ARRAY_ELT 0x00000100
|
#define ARRAY_ELT 0x400
|
||||||
#define LOCKED 0x00000200
|
#define LOCKED 0x800
|
||||||
#define UNLOCKED 0x00000400
|
#define UNLOCKED 0x8
|
||||||
#define IMMEDIATE 0x00000800
|
#define IMMEDIATE 0x1000
|
||||||
#define DISPLAYLIST 0x00001000
|
#define DISPLAYLIST 0x2000000
|
||||||
#define SHADE_SMOOTH 0x00002000
|
#define SHADE_SMOOTH 0x2000
|
||||||
#define SHADE_FLAT 0x00004000
|
#define SHADE_FLAT 0x4000
|
||||||
#define TRIANGLES 0x00008000
|
#define TRIANGLES 0x8000
|
||||||
#define STRIPS 0x00010000
|
#define STRIPS 0x10000
|
||||||
#define POINTS 0x00020000
|
#define POINTS 0x20000
|
||||||
#define USER_CLIP 0x00040000
|
#define USER_CLIP 0x40000
|
||||||
#define NO_USER_CLIP 0x00080000
|
#define NO_USER_CLIP 0x80000
|
||||||
#define MATERIALS 0x00100000
|
#define MATERIALS 0x100000
|
||||||
#define NO_MATERIALS 0x00200000
|
#define NO_MATERIALS 0x200000
|
||||||
#define FOG 0x00400000
|
#define FOG 0x400000
|
||||||
#define NO_FOG 0x00800000
|
#define NO_FOG 0x800000
|
||||||
#define QUIT 0x01000000
|
#define QUIT 0x1000000
|
||||||
#define GLINFO 0x02000000
|
#define GLINFO 0x4000000
|
||||||
#define STIPPLE 0x04000000
|
#define STIPPLE 0x8000000
|
||||||
#define NO_STIPPLE 0x08000000
|
#define NO_STIPPLE 0x20
|
||||||
#define POLYGON_FILL 0x10000000
|
|
||||||
#define POLYGON_LINE 0x20000000
|
|
||||||
|
|
||||||
#define LIGHT_MASK (LIT|UNLIT|REFLECT)
|
#define LIGHT_MASK (LIT|UNLIT|REFLECT)
|
||||||
#define FILTER_MASK (POINT_FILTER|LINEAR_FILTER)
|
#define FILTER_MASK (POINT_FILTER|LINEAR_FILTER)
|
||||||
@@ -82,10 +79,9 @@
|
|||||||
#define SHADE_MASK (SHADE_SMOOTH|SHADE_FLAT)
|
#define SHADE_MASK (SHADE_SMOOTH|SHADE_FLAT)
|
||||||
#define FOG_MASK (FOG|NO_FOG)
|
#define FOG_MASK (FOG|NO_FOG)
|
||||||
#define STIPPLE_MASK (STIPPLE|NO_STIPPLE)
|
#define STIPPLE_MASK (STIPPLE|NO_STIPPLE)
|
||||||
#define POLYGON_MASK (POLYGON_FILL|POLYGON_LINE)
|
|
||||||
|
|
||||||
#define MAXVERTS 10000
|
#define MAXVERTS 10000
|
||||||
static GLint maxverts = MAXVERTS;
|
static GLuint maxverts = MAXVERTS;
|
||||||
static float data[MAXVERTS][6];
|
static float data[MAXVERTS][6];
|
||||||
static float compressed_data[MAXVERTS][6];
|
static float compressed_data[MAXVERTS][6];
|
||||||
static float expanded_data[MAXVERTS*3][6];
|
static float expanded_data[MAXVERTS*3][6];
|
||||||
@@ -148,7 +144,7 @@ static void read_surface( char *filename )
|
|||||||
static void print_flags( const char *msg, GLuint flags )
|
static void print_flags( const char *msg, GLuint flags )
|
||||||
{
|
{
|
||||||
fprintf(stderr,
|
fprintf(stderr,
|
||||||
"%s (0x%x): %s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s\n",
|
"%s (0x%x): %s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s\n",
|
||||||
msg, flags,
|
msg, flags,
|
||||||
(flags & GLVERTEX) ? "glVertex, " : "",
|
(flags & GLVERTEX) ? "glVertex, " : "",
|
||||||
(flags & DRAW_ARRAYS) ? "glDrawArrays, " : "",
|
(flags & DRAW_ARRAYS) ? "glDrawArrays, " : "",
|
||||||
@@ -166,8 +162,7 @@ static void print_flags( const char *msg, GLuint flags )
|
|||||||
(flags & USER_CLIP) ? "user_clip, " : "",
|
(flags & USER_CLIP) ? "user_clip, " : "",
|
||||||
(flags & MATERIALS) ? "materials, " : "",
|
(flags & MATERIALS) ? "materials, " : "",
|
||||||
(flags & FOG) ? "fog, " : "",
|
(flags & FOG) ? "fog, " : "",
|
||||||
(flags & STIPPLE) ? "stipple, " : "",
|
(flags & STIPPLE) ? "stipple, " : "");
|
||||||
(flags & POLYGON_LINE) ? "polygon mode line, " : "");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -338,7 +333,7 @@ static void make_tri_indices( void )
|
|||||||
{
|
{
|
||||||
unsigned int *v = tri_indices;
|
unsigned int *v = tri_indices;
|
||||||
unsigned int parity = 0;
|
unsigned int parity = 0;
|
||||||
int i, j;
|
unsigned int i, j;
|
||||||
|
|
||||||
for (j=2;j<numverts;j++,parity^=1) {
|
for (j=2;j<numverts;j++,parity^=1) {
|
||||||
if (parity) {
|
if (parity) {
|
||||||
@@ -368,9 +363,9 @@ static void make_tri_indices( void )
|
|||||||
|
|
||||||
#define MIN(x,y) (x < y) ? x : y
|
#define MIN(x,y) (x < y) ? x : y
|
||||||
|
|
||||||
static void draw_surface( unsigned int with_state )
|
static void draw_surface( int with_state )
|
||||||
{
|
{
|
||||||
GLint i, j;
|
GLuint i, j;
|
||||||
|
|
||||||
if (with_state & DISPLAYLIST) {
|
if (with_state & DISPLAYLIST) {
|
||||||
if ((with_state & (RENDER_STYLE_MASK|PRIMITIVE_MASK|MATERIAL_MASK)) !=
|
if ((with_state & (RENDER_STYLE_MASK|PRIMITIVE_MASK|MATERIAL_MASK)) !=
|
||||||
@@ -689,34 +684,28 @@ static void ModeMenu(int m)
|
|||||||
|
|
||||||
if (CHANGED(state, m, FOG_MASK)) {
|
if (CHANGED(state, m, FOG_MASK)) {
|
||||||
UPDATE(state, m, FOG_MASK);
|
UPDATE(state, m, FOG_MASK);
|
||||||
if (m & FOG) {
|
if (m & FOG)
|
||||||
|
{
|
||||||
glEnable(GL_FOG);
|
glEnable(GL_FOG);
|
||||||
}
|
}
|
||||||
else {
|
else
|
||||||
|
{
|
||||||
glDisable(GL_FOG);
|
glDisable(GL_FOG);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (CHANGED(state, m, STIPPLE_MASK)) {
|
if (CHANGED(state, m, STIPPLE_MASK)) {
|
||||||
UPDATE(state, m, STIPPLE_MASK);
|
UPDATE(state, m, STIPPLE_MASK);
|
||||||
if (m & STIPPLE) {
|
if (m & STIPPLE)
|
||||||
|
{
|
||||||
glEnable(GL_POLYGON_STIPPLE);
|
glEnable(GL_POLYGON_STIPPLE);
|
||||||
}
|
}
|
||||||
else {
|
else
|
||||||
|
{
|
||||||
glDisable(GL_POLYGON_STIPPLE);
|
glDisable(GL_POLYGON_STIPPLE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (CHANGED(state, m, POLYGON_MASK)) {
|
|
||||||
UPDATE(state, m, POLYGON_MASK);
|
|
||||||
if (m & POLYGON_FILL) {
|
|
||||||
glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef GL_EXT_vertex_array
|
#ifdef GL_EXT_vertex_array
|
||||||
if (CHANGED(state, m, (LOCK_MASK|RENDER_STYLE_MASK|PRIMITIVE_MASK)))
|
if (CHANGED(state, m, (LOCK_MASK|RENDER_STYLE_MASK|PRIMITIVE_MASK)))
|
||||||
{
|
{
|
||||||
@@ -1088,9 +1077,6 @@ int main(int argc, char **argv)
|
|||||||
glutAddMenuEntry("Stipple", STIPPLE);
|
glutAddMenuEntry("Stipple", STIPPLE);
|
||||||
glutAddMenuEntry("No Stipple", NO_STIPPLE);
|
glutAddMenuEntry("No Stipple", NO_STIPPLE);
|
||||||
glutAddMenuEntry("", 0);
|
glutAddMenuEntry("", 0);
|
||||||
glutAddMenuEntry("Polygon Mode Fill", POLYGON_FILL);
|
|
||||||
glutAddMenuEntry("Polygon Mode Line", POLYGON_LINE);
|
|
||||||
glutAddMenuEntry("", 0);
|
|
||||||
glutAddMenuEntry("Point Filtered", POINT_FILTER);
|
glutAddMenuEntry("Point Filtered", POINT_FILTER);
|
||||||
glutAddMenuEntry("Linear Filtered", LINEAR_FILTER);
|
glutAddMenuEntry("Linear Filtered", LINEAR_FILTER);
|
||||||
glutAddMenuEntry("", 0);
|
glutAddMenuEntry("", 0);
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $Id: multiarb.c,v 1.11 2002/02/13 02:23:33 brianp Exp $ */
|
/* $Id: multiarb.c,v 1.10 2001/06/20 19:12:30 brianp Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* GL_ARB_multitexture demo
|
* GL_ARB_multitexture demo
|
||||||
@@ -8,7 +8,72 @@
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
* Brian Paul November 1998 This program is in the public domain.
|
* Brian Paul November 1998 This program is in the public domain.
|
||||||
* Modified on 12 Feb 2002 for > 2 texture units.
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* $Log: multiarb.c,v $
|
||||||
|
* Revision 1.10 2001/06/20 19:12:30 brianp
|
||||||
|
* also print GL_MAX_TEXTURE_SIZE
|
||||||
|
*
|
||||||
|
* Revision 1.9 2001/06/13 14:33:16 brianp
|
||||||
|
* moved glTexEnvi calls to better logical locations
|
||||||
|
*
|
||||||
|
* Revision 1.8 2000/12/24 22:53:54 pesco
|
||||||
|
* * demos/Makefile.am (INCLUDES): Added -I$(top_srcdir)/util.
|
||||||
|
* * demos/Makefile.X11, demos/Makefile.BeOS-R4, demos/Makefile.cygnus:
|
||||||
|
* Essentially the same.
|
||||||
|
* Program files updated to include "readtex.c", not "../util/readtex.c".
|
||||||
|
* * demos/reflect.c: Likewise for "showbuffer.c".
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* * Makefile.am (EXTRA_DIST): Added top-level regular files.
|
||||||
|
*
|
||||||
|
* * include/GL/Makefile.am (INC_X11): Added glxext.h.
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* * src/GGI/include/ggi/mesa/Makefile.am (EXTRA_HEADERS): Include
|
||||||
|
* Mesa GGI headers in dist even if HAVE_GGI is not given.
|
||||||
|
*
|
||||||
|
* * configure.in: Look for GLUT and demo source dirs in $srcdir.
|
||||||
|
*
|
||||||
|
* * src/swrast/Makefile.am (libMesaSwrast_la_SOURCES): Set to *.[ch].
|
||||||
|
* More source list updates in various Makefile.am's.
|
||||||
|
*
|
||||||
|
* * Makefile.am (dist-hook): Remove CVS directory from distribution.
|
||||||
|
* (DIST_SUBDIRS): List all possible subdirs here.
|
||||||
|
* (SUBDIRS): Only list subdirs selected for build again.
|
||||||
|
* The above two applied to all subdir Makefile.am's also.
|
||||||
|
*
|
||||||
|
* Revision 1.7 2000/11/01 16:02:01 brianp
|
||||||
|
* print number of texture units
|
||||||
|
*
|
||||||
|
* Revision 1.6 2000/05/23 23:21:00 brianp
|
||||||
|
* set default window pos
|
||||||
|
*
|
||||||
|
* Revision 1.5 2000/02/02 17:31:45 brianp
|
||||||
|
* changed > to >=
|
||||||
|
*
|
||||||
|
* Revision 1.4 2000/02/02 01:07:21 brianp
|
||||||
|
* limit Drift to [0, 1]
|
||||||
|
*
|
||||||
|
* Revision 1.3 1999/10/21 16:40:32 brianp
|
||||||
|
* added -info command line option
|
||||||
|
*
|
||||||
|
* Revision 1.2 1999/10/13 12:02:13 brianp
|
||||||
|
* use texture objects now
|
||||||
|
*
|
||||||
|
* Revision 1.1.1.1 1999/08/19 00:55:40 jtg
|
||||||
|
* Imported sources
|
||||||
|
*
|
||||||
|
* Revision 1.3 1999/03/28 18:20:49 brianp
|
||||||
|
* minor clean-up
|
||||||
|
*
|
||||||
|
* Revision 1.2 1998/11/05 04:34:04 brianp
|
||||||
|
* moved image files to ../images/ directory
|
||||||
|
*
|
||||||
|
* Revision 1.1 1998/11/03 01:36:33 brianp
|
||||||
|
* Initial revision
|
||||||
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
@@ -24,13 +89,12 @@
|
|||||||
#define TEXTURE_2_FILE "../images/reflect.rgb"
|
#define TEXTURE_2_FILE "../images/reflect.rgb"
|
||||||
|
|
||||||
#define TEX0 1
|
#define TEX0 1
|
||||||
#define TEX7 8
|
#define TEX1 2
|
||||||
|
#define TEXBOTH 3
|
||||||
#define ANIMATE 10
|
#define ANIMATE 10
|
||||||
#define QUIT 100
|
#define QUIT 100
|
||||||
|
|
||||||
static GLboolean Animate = GL_TRUE;
|
static GLboolean Animate = GL_TRUE;
|
||||||
static GLint NumUnits = 1;
|
|
||||||
static GLboolean TexEnabled[8];
|
|
||||||
|
|
||||||
static GLfloat Drift = 0.0;
|
static GLfloat Drift = 0.0;
|
||||||
static GLfloat Xrot = 20.0, Yrot = 30.0, Zrot = 0.0;
|
static GLfloat Xrot = 20.0, Yrot = 30.0, Zrot = 0.0;
|
||||||
@@ -40,30 +104,24 @@ static GLfloat Xrot = 20.0, Yrot = 30.0, Zrot = 0.0;
|
|||||||
static void Idle( void )
|
static void Idle( void )
|
||||||
{
|
{
|
||||||
if (Animate) {
|
if (Animate) {
|
||||||
GLint i;
|
|
||||||
|
|
||||||
Drift += 0.05;
|
Drift += 0.05;
|
||||||
if (Drift >= 1.0)
|
if (Drift >= 1.0)
|
||||||
Drift = 0.0;
|
Drift = 0.0;
|
||||||
|
|
||||||
for (i = 0; i < NumUnits; i++) {
|
#ifdef GL_ARB_multitexture
|
||||||
glActiveTextureARB(GL_TEXTURE0_ARB + i);
|
glActiveTextureARB(GL_TEXTURE0_ARB);
|
||||||
glMatrixMode(GL_TEXTURE);
|
#endif
|
||||||
glLoadIdentity();
|
glMatrixMode(GL_TEXTURE);
|
||||||
if (i == 0) {
|
glLoadIdentity();
|
||||||
glTranslatef(Drift, 0.0, 0.0);
|
glTranslatef(Drift, 0.0, 0.0);
|
||||||
glScalef(2, 2, 2);
|
glMatrixMode(GL_MODELVIEW);
|
||||||
}
|
|
||||||
else if (i == 1) {
|
#ifdef GL_ARB_multitexture
|
||||||
glTranslatef(0.0, Drift, 0.0);
|
glActiveTextureARB(GL_TEXTURE1_ARB);
|
||||||
}
|
#endif
|
||||||
else {
|
glMatrixMode(GL_TEXTURE);
|
||||||
glTranslatef(0.5, 0.5, 0.0);
|
glLoadIdentity();
|
||||||
glRotatef(180.0 * Drift, 0, 0, 1);
|
glTranslatef(0.0, Drift, 0.0);
|
||||||
glScalef(1.0/i, 1.0/i, 1.0/i);
|
|
||||||
glTranslatef(-0.5, -0.5, 0.0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
glMatrixMode(GL_MODELVIEW);
|
glMatrixMode(GL_MODELVIEW);
|
||||||
|
|
||||||
glutPostRedisplay();
|
glutPostRedisplay();
|
||||||
@@ -73,30 +131,37 @@ static void Idle( void )
|
|||||||
|
|
||||||
static void DrawObject(void)
|
static void DrawObject(void)
|
||||||
{
|
{
|
||||||
GLint i;
|
|
||||||
|
|
||||||
if (!TexEnabled[0] && !TexEnabled[1])
|
|
||||||
glColor3f(0.1, 0.1, 0.1); /* add onto this */
|
|
||||||
else
|
|
||||||
glColor3f(1, 1, 1); /* modulate this */
|
|
||||||
|
|
||||||
glBegin(GL_QUADS);
|
glBegin(GL_QUADS);
|
||||||
|
|
||||||
for (i = 0; i < NumUnits; i++)
|
#ifdef GL_ARB_multitexture
|
||||||
glMultiTexCoord2fARB(GL_TEXTURE0_ARB + i, 0.0, 0.0);
|
glMultiTexCoord2fARB(GL_TEXTURE0_ARB, 0.0, 0.0);
|
||||||
|
glMultiTexCoord2fARB(GL_TEXTURE1_ARB, 0.0, 0.0);
|
||||||
glVertex2f(-1.0, -1.0);
|
glVertex2f(-1.0, -1.0);
|
||||||
|
|
||||||
for (i = 0; i < NumUnits; i++)
|
glMultiTexCoord2fARB(GL_TEXTURE0_ARB, 2.0, 0.0);
|
||||||
glMultiTexCoord2fARB(GL_TEXTURE0_ARB + i, 1.0, 0.0);
|
glMultiTexCoord2fARB(GL_TEXTURE1_ARB, 1.0, 0.0);
|
||||||
glVertex2f(1.0, -1.0);
|
glVertex2f(1.0, -1.0);
|
||||||
|
|
||||||
for (i = 0; i < NumUnits; i++)
|
glMultiTexCoord2fARB(GL_TEXTURE0_ARB, 2.0, 2.0);
|
||||||
glMultiTexCoord2fARB(GL_TEXTURE0_ARB + i, 1.0, 1.0);
|
glMultiTexCoord2fARB(GL_TEXTURE1_ARB, 1.0, 1.0);
|
||||||
glVertex2f(1.0, 1.0);
|
glVertex2f(1.0, 1.0);
|
||||||
|
|
||||||
for (i = 0; i < NumUnits; i++)
|
glMultiTexCoord2fARB(GL_TEXTURE0_ARB, 0.0, 2.0);
|
||||||
glMultiTexCoord2fARB(GL_TEXTURE0_ARB + i, 0.0, 1.0);
|
glMultiTexCoord2fARB(GL_TEXTURE1_ARB, 0.0, 1.0);
|
||||||
glVertex2f(-1.0, 1.0);
|
glVertex2f(-1.0, 1.0);
|
||||||
|
#else
|
||||||
|
glTexCoord2f(0.0, 0.0);
|
||||||
|
glVertex2f(-1.0, -1.0);
|
||||||
|
|
||||||
|
glTexCoord2f(1.0, 0.0);
|
||||||
|
glVertex2f(1.0, -1.0);
|
||||||
|
|
||||||
|
glTexCoord2f(1.0, 1.0);
|
||||||
|
glVertex2f(1.0, 1.0);
|
||||||
|
|
||||||
|
glTexCoord2f(0.0, 1.0);
|
||||||
|
glVertex2f(-1.0, 1.0);
|
||||||
|
#endif
|
||||||
|
|
||||||
glEnd();
|
glEnd();
|
||||||
}
|
}
|
||||||
@@ -134,19 +199,16 @@ static void Reshape( int width, int height )
|
|||||||
|
|
||||||
static void ModeMenu(int entry)
|
static void ModeMenu(int entry)
|
||||||
{
|
{
|
||||||
if (entry >= TEX0 && entry <= TEX7) {
|
GLboolean enable0 = GL_FALSE, enable1 = GL_FALSE;
|
||||||
/* toggle */
|
if (entry==TEX0) {
|
||||||
GLint i = entry - TEX0;
|
enable0 = GL_TRUE;
|
||||||
TexEnabled[i] = !TexEnabled[i];
|
}
|
||||||
glActiveTextureARB(GL_TEXTURE0_ARB + i);
|
else if (entry==TEX1) {
|
||||||
if (TexEnabled[i])
|
enable1 = GL_TRUE;
|
||||||
glEnable(GL_TEXTURE_2D);
|
}
|
||||||
else
|
else if (entry==TEXBOTH) {
|
||||||
glDisable(GL_TEXTURE_2D);
|
enable0 = GL_TRUE;
|
||||||
printf("Enabled: ");
|
enable1 = GL_TRUE;
|
||||||
for (i = 0; i < NumUnits; i++)
|
|
||||||
printf("%d ", (int) TexEnabled[i]);
|
|
||||||
printf("\n");
|
|
||||||
}
|
}
|
||||||
else if (entry==ANIMATE) {
|
else if (entry==ANIMATE) {
|
||||||
Animate = !Animate;
|
Animate = !Animate;
|
||||||
@@ -155,6 +217,26 @@ static void ModeMenu(int entry)
|
|||||||
exit(0);
|
exit(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (entry != ANIMATE) {
|
||||||
|
#ifdef GL_ARB_multitexture
|
||||||
|
glActiveTextureARB(GL_TEXTURE0_ARB);
|
||||||
|
#endif
|
||||||
|
if (enable0) {
|
||||||
|
glEnable(GL_TEXTURE_2D);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
glDisable(GL_TEXTURE_2D);
|
||||||
|
|
||||||
|
#ifdef GL_ARB_multitexture
|
||||||
|
glActiveTextureARB(GL_TEXTURE1_ARB);
|
||||||
|
#endif
|
||||||
|
if (enable1) {
|
||||||
|
glEnable(GL_TEXTURE_2D);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
glDisable(GL_TEXTURE_2D);
|
||||||
|
}
|
||||||
|
|
||||||
glutPostRedisplay();
|
glutPostRedisplay();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -198,8 +280,8 @@ static void SpecialKey( int key, int x, int y )
|
|||||||
|
|
||||||
static void Init( int argc, char *argv[] )
|
static void Init( int argc, char *argv[] )
|
||||||
{
|
{
|
||||||
GLuint texObj[8];
|
GLuint texObj[2];
|
||||||
GLint size, i;
|
GLint units, size;
|
||||||
|
|
||||||
const char *exten = (const char *) glGetString(GL_EXTENSIONS);
|
const char *exten = (const char *) glGetString(GL_EXTENSIONS);
|
||||||
if (!strstr(exten, "GL_ARB_multitexture")) {
|
if (!strstr(exten, "GL_ARB_multitexture")) {
|
||||||
@@ -207,82 +289,64 @@ static void Init( int argc, char *argv[] )
|
|||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
glGetIntegerv(GL_MAX_TEXTURE_UNITS_ARB, &NumUnits);
|
glGetIntegerv(GL_MAX_TEXTURE_UNITS_ARB, &units);
|
||||||
printf("%d texture units supported\n", NumUnits);
|
printf("%d texture units supported\n", units);
|
||||||
if (NumUnits > 8)
|
|
||||||
NumUnits = 8;
|
|
||||||
|
|
||||||
glGetIntegerv(GL_MAX_TEXTURE_SIZE, &size);
|
glGetIntegerv(GL_MAX_TEXTURE_SIZE, &size);
|
||||||
printf("%d x %d max texture size\n", size, size);
|
printf("%d x %d max texture size\n", size, size);
|
||||||
|
|
||||||
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
|
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
|
||||||
|
|
||||||
for (i = 0; i < NumUnits; i++) {
|
|
||||||
if (i < 2)
|
|
||||||
TexEnabled[i] = GL_TRUE;
|
|
||||||
else
|
|
||||||
TexEnabled[i] = GL_FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* allocate two texture objects */
|
/* allocate two texture objects */
|
||||||
glGenTextures(NumUnits, texObj);
|
glGenTextures(2, texObj);
|
||||||
|
|
||||||
/* setup the texture objects */
|
/* setup texture obj 0 */
|
||||||
for (i = 0; i < NumUnits; i++) {
|
glBindTexture(GL_TEXTURE_2D, texObj[0]);
|
||||||
|
#ifdef LINEAR_FILTER
|
||||||
glActiveTextureARB(GL_TEXTURE0_ARB + i);
|
/* linear filtering looks much nicer but is much slower for Mesa */
|
||||||
glBindTexture(GL_TEXTURE_2D, texObj[i]);
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
|
||||||
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
|
||||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
|
#else
|
||||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
|
||||||
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
|
||||||
if (i == 0) {
|
#endif
|
||||||
if (!LoadRGBMipmaps(TEXTURE_1_FILE, GL_RGB)) {
|
if (!LoadRGBMipmaps(TEXTURE_1_FILE, GL_RGB)) {
|
||||||
printf("Error: couldn't load texture image\n");
|
printf("Error: couldn't load texture image\n");
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
|
||||||
}
|
|
||||||
else if (i == 1) {
|
|
||||||
if (!LoadRGBMipmaps(TEXTURE_2_FILE, GL_RGB)) {
|
|
||||||
printf("Error: couldn't load texture image\n");
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
/* checker */
|
|
||||||
GLubyte image[8][8][3];
|
|
||||||
GLint i, j;
|
|
||||||
for (i = 0; i < 8; i++) {
|
|
||||||
for (j = 0; j < 8; j++) {
|
|
||||||
if ((i + j) & 1) {
|
|
||||||
image[i][j][0] = 50;
|
|
||||||
image[i][j][1] = 50;
|
|
||||||
image[i][j][2] = 50;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
image[i][j][0] = 25;
|
|
||||||
image[i][j][1] = 25;
|
|
||||||
image[i][j][2] = 25;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, 8, 8, 0,
|
|
||||||
GL_RGB, GL_UNSIGNED_BYTE, (GLvoid *) image);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Bind texObj[i] to ith texture unit */
|
|
||||||
if (i < 2)
|
|
||||||
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
|
|
||||||
else
|
|
||||||
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_ADD);
|
|
||||||
|
|
||||||
if (TexEnabled[i])
|
|
||||||
glEnable(GL_TEXTURE_2D);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* setup texture obj 1 */
|
||||||
|
glBindTexture(GL_TEXTURE_2D, texObj[1]);
|
||||||
|
#ifdef LINEAR_FILTER
|
||||||
|
/* linear filtering looks much nicer but is much slower for Mesa */
|
||||||
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
|
||||||
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
|
||||||
|
#else
|
||||||
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
|
||||||
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
|
||||||
|
#endif
|
||||||
|
if (!LoadRGBMipmaps(TEXTURE_2_FILE, GL_RGB)) {
|
||||||
|
printf("Error: couldn't load texture image\n");
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* now bind the texture objects to the respective texture units */
|
||||||
|
#ifdef GL_ARB_multitexture
|
||||||
|
glActiveTextureARB(GL_TEXTURE0_ARB);
|
||||||
|
glBindTexture(GL_TEXTURE_2D, texObj[0]);
|
||||||
|
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
|
||||||
|
glActiveTextureARB(GL_TEXTURE1_ARB);
|
||||||
|
glBindTexture(GL_TEXTURE_2D, texObj[1]);
|
||||||
|
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
|
||||||
|
#endif
|
||||||
|
|
||||||
glShadeModel(GL_FLAT);
|
glShadeModel(GL_FLAT);
|
||||||
glClearColor(0.3, 0.3, 0.4, 1.0);
|
glClearColor(0.3, 0.3, 0.4, 1.0);
|
||||||
|
|
||||||
|
ModeMenu(TEXBOTH);
|
||||||
|
|
||||||
if (argc > 1 && strcmp(argv[1], "-info")==0) {
|
if (argc > 1 && strcmp(argv[1], "-info")==0) {
|
||||||
printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
|
printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
|
||||||
printf("GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
|
printf("GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
|
||||||
@@ -294,8 +358,6 @@ static void Init( int argc, char *argv[] )
|
|||||||
|
|
||||||
int main( int argc, char *argv[] )
|
int main( int argc, char *argv[] )
|
||||||
{
|
{
|
||||||
GLint i;
|
|
||||||
|
|
||||||
glutInit( &argc, argv );
|
glutInit( &argc, argv );
|
||||||
glutInitWindowSize( 300, 300 );
|
glutInitWindowSize( 300, 300 );
|
||||||
glutInitWindowPosition( 0, 0 );
|
glutInitWindowPosition( 0, 0 );
|
||||||
@@ -311,12 +373,9 @@ int main( int argc, char *argv[] )
|
|||||||
glutIdleFunc( Idle );
|
glutIdleFunc( Idle );
|
||||||
|
|
||||||
glutCreateMenu(ModeMenu);
|
glutCreateMenu(ModeMenu);
|
||||||
|
glutAddMenuEntry("Texture 0", TEX0);
|
||||||
for (i = 0; i < NumUnits; i++) {
|
glutAddMenuEntry("Texture 1", TEX1);
|
||||||
char s[100];
|
glutAddMenuEntry("Multi-texture", TEXBOTH);
|
||||||
sprintf(s, "Toggle Texture %d", i);
|
|
||||||
glutAddMenuEntry(s, TEX0 + i);
|
|
||||||
}
|
|
||||||
glutAddMenuEntry("Toggle Animation", ANIMATE);
|
glutAddMenuEntry("Toggle Animation", ANIMATE);
|
||||||
glutAddMenuEntry("Quit", QUIT);
|
glutAddMenuEntry("Quit", QUIT);
|
||||||
glutAttachMenu(GLUT_RIGHT_BUTTON);
|
glutAttachMenu(GLUT_RIGHT_BUTTON);
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $Id: osdemo.c,v 1.9 2002/07/12 15:54:19 brianp Exp $ */
|
/* $Id: osdemo.c,v 1.7.2.1 2002/04/15 21:22:36 kschultz Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Demo of off-screen Mesa rendering
|
* Demo of off-screen Mesa rendering
|
||||||
@@ -24,7 +24,6 @@
|
|||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
|
||||||
#include "GL/osmesa.h"
|
#include "GL/osmesa.h"
|
||||||
#include "GL/glut.h"
|
#include "GL/glut.h"
|
||||||
|
|
||||||
@@ -153,7 +152,6 @@ static void render_image( void )
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#ifdef SAVE_TARGA
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
write_targa(const char *filename, const GLubyte *buffer, int width, int height)
|
write_targa(const char *filename, const GLubyte *buffer, int width, int height)
|
||||||
@@ -194,7 +192,6 @@ write_targa(const char *filename, const GLubyte *buffer, int width, int height)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#else
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
write_ppm(const char *filename, const GLubyte *buffer, int width, int height)
|
write_ppm(const char *filename, const GLubyte *buffer, int width, int height)
|
||||||
@@ -241,8 +238,6 @@ write_ppm(const char *filename, const GLubyte *buffer, int width, int height)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
int main( int argc, char *argv[] )
|
int main( int argc, char *argv[] )
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $Id: paltex.c,v 1.9 2002/07/22 13:45:31 brianp Exp $ */
|
/* $Id: paltex.c,v 1.6.2.1 2002/04/15 22:14:09 kschultz Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Paletted texture demo. Written by Brian Paul.
|
* Paletted texture demo. Written by Brian Paul.
|
||||||
@@ -94,16 +94,15 @@ static void Init( void )
|
|||||||
{
|
{
|
||||||
#define HEIGHT 8
|
#define HEIGHT 8
|
||||||
#define WIDTH 32
|
#define WIDTH 32
|
||||||
/* 257 = HEIGHT * WIDTH + 1 (for trailing '\0') */
|
static char texture[HEIGHT][WIDTH] = {
|
||||||
static char texture[257] = {"\
|
" ",
|
||||||
\
|
" MMM EEEE SSS AAA ",
|
||||||
MMM EEEE SSS AAA \
|
" M M M E S S A A ",
|
||||||
M M M E S S A A \
|
" M M M EEEE SS A A ",
|
||||||
M M M EEEE SS A A \
|
" M M M E SS AAAAA ",
|
||||||
M M M E SS AAAAA \
|
" M M E S S A A ",
|
||||||
M M E S S A A \
|
" M M EEEE SSS A A ",
|
||||||
M M EEEE SSS A A \
|
" "
|
||||||
"
|
|
||||||
};
|
};
|
||||||
GLubyte table[256][4];
|
GLubyte table[256][4];
|
||||||
|
|
||||||
@@ -162,7 +161,7 @@ static void Init( void )
|
|||||||
0, /* border */
|
0, /* border */
|
||||||
GL_COLOR_INDEX, /* texture format */
|
GL_COLOR_INDEX, /* texture format */
|
||||||
GL_UNSIGNED_BYTE, /* texture type */
|
GL_UNSIGNED_BYTE, /* texture type */
|
||||||
texture); /* the texture */
|
texture); /* teh texture */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
|
||||||
|
|||||||
@@ -11,6 +11,36 @@
|
|||||||
is present , the particle size is attenuated based on eye distance. */
|
is present , the particle size is attenuated based on eye distance. */
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* $Log: pointblast.c,v $
|
||||||
|
* Revision 1.2.6.1 2002/04/15 22:14:09 kschultz
|
||||||
|
* Build demos/samples correctly on Windows (Robert Bergkvist) to sync up
|
||||||
|
* with the main branch. (I should have done this for 4.0.2)
|
||||||
|
*
|
||||||
|
* Revision 1.3 2002/01/16 00:48:43 kschultz
|
||||||
|
* Demo updates for Windows (Robert Bergkvist)
|
||||||
|
*
|
||||||
|
* Revision 1.2 2000/06/27 17:04:43 brianp
|
||||||
|
* fixed compiler warnings
|
||||||
|
*
|
||||||
|
* Revision 1.1.1.1 1999/08/19 00:55:40 jtg
|
||||||
|
* Imported sources
|
||||||
|
*
|
||||||
|
* Revision 3.3 1998/07/26 01:24:27 brianp
|
||||||
|
* removed include of gl.h
|
||||||
|
*
|
||||||
|
* Revision 3.2 1998/02/14 18:51:46 brianp
|
||||||
|
* fixed a small compiler warning
|
||||||
|
*
|
||||||
|
* Revision 3.1 1998/02/14 18:45:25 brianp
|
||||||
|
* optimized to use flat shading, don't blend ground polygon
|
||||||
|
*
|
||||||
|
* Revision 3.0 1998/02/14 18:42:29 brianp
|
||||||
|
* initial rev
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|||||||
@@ -8,7 +8,6 @@
|
|||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
|
||||||
#ifdef WIN32
|
#ifdef WIN32
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $Id: readpix.c,v 1.8 2002/07/12 15:54:02 brianp Exp $ */
|
/* $Id: readpix.c,v 1.4.2.1 2002/05/01 14:53:52 alanh Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* glReadPixels and glCopyPixels test
|
* glReadPixels and glCopyPixels test
|
||||||
@@ -6,6 +6,30 @@
|
|||||||
* Brian Paul March 1, 2000 This file is in the public domain.
|
* Brian Paul March 1, 2000 This file is in the public domain.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* $Log: readpix.c,v $
|
||||||
|
* Revision 1.4.2.1 2002/05/01 14:53:52 alanh
|
||||||
|
* glutSwapBuffers implicitly does a glFinish when swapping back to the front
|
||||||
|
* buffer. We now issue a glFinish when not issuing SwapBuffers to ensure
|
||||||
|
* the pipeline is complete.
|
||||||
|
*
|
||||||
|
* (Problem found with Chromium).
|
||||||
|
*
|
||||||
|
* Revision 1.4 2000/10/16 21:24:39 brianp
|
||||||
|
* use gray background, memset TempImage to white to help with debugging
|
||||||
|
*
|
||||||
|
* Revision 1.3 2000/03/31 01:01:31 brianp
|
||||||
|
* tweaks to allow different read formats/types
|
||||||
|
*
|
||||||
|
* Revision 1.2 2000/03/23 19:47:25 brianp
|
||||||
|
* added benchmarking
|
||||||
|
*
|
||||||
|
* Revision 1.1 2000/03/01 16:23:14 brianp
|
||||||
|
* test glDraw/Read/CopyPixels()
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
@@ -219,7 +243,7 @@ Init( GLboolean ciMode )
|
|||||||
|
|
||||||
if (ciMode) {
|
if (ciMode) {
|
||||||
/* Convert RGB image to grayscale */
|
/* Convert RGB image to grayscale */
|
||||||
GLubyte *indexImage = (GLubyte *) malloc( ImgWidth * ImgHeight );
|
GLubyte *indexImage = malloc( ImgWidth * ImgHeight );
|
||||||
GLint i;
|
GLint i;
|
||||||
for (i=0; i<ImgWidth*ImgHeight; i++) {
|
for (i=0; i<ImgWidth*ImgHeight; i++) {
|
||||||
int gray = Image[i*3] + Image[i*3+1] + Image[i*3+2];
|
int gray = Image[i*3] + Image[i*3+1] + Image[i*3+2];
|
||||||
|
|||||||
@@ -1,14 +1,12 @@
|
|||||||
/* $Id: shadowtex.c,v 1.7 2002/07/12 15:54:02 brianp Exp $ */
|
/* $Id: shadowtex.c,v 1.4 2001/02/28 18:41:50 brianp Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Shadow demo using the GL_ARB_depth_texture, GL_ARB_shadow and
|
* Shadow demo using the GL_SGIX_depth_texture, GL_SGIX_shadow and
|
||||||
* GL_ARB_shadow_ambient extensions (or the old SGIX extensions).
|
* GL_SGIX_shadow_ambient extensions.
|
||||||
*
|
*
|
||||||
* Brian Paul
|
* Brian Paul
|
||||||
* 19 Feb 2001
|
* 19 Feb 2001
|
||||||
*
|
*
|
||||||
* Added GL_EXT_shadow_funcs support on 23 March 2002
|
|
||||||
*
|
|
||||||
* Copyright (C) 1999-2001 Brian Paul All Rights Reserved.
|
* Copyright (C) 1999-2001 Brian Paul All Rights Reserved.
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
@@ -37,12 +35,6 @@
|
|||||||
#include <GL/glut.h>
|
#include <GL/glut.h>
|
||||||
#include "../util/showbuffer.c"
|
#include "../util/showbuffer.c"
|
||||||
|
|
||||||
#if 0 /* change to 1 if you want to use the old SGIX extensions */
|
|
||||||
#undef GL_ARB_depth_texture
|
|
||||||
#undef GL_ARB_shadow
|
|
||||||
#undef GL_ARB_shadow_ambient
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
#define DEG_TO_RAD (3.14159 / 180.0)
|
#define DEG_TO_RAD (3.14159 / 180.0)
|
||||||
|
|
||||||
@@ -69,16 +61,6 @@ static GLfloat Bias = -0.06;
|
|||||||
|
|
||||||
static GLboolean Anim = GL_TRUE;
|
static GLboolean Anim = GL_TRUE;
|
||||||
|
|
||||||
static GLboolean HaveEXTshadowFuncs = GL_FALSE;
|
|
||||||
static GLint Operator = 0;
|
|
||||||
static const GLenum OperatorFunc[8] = {
|
|
||||||
GL_LEQUAL, GL_LESS, GL_GEQUAL, GL_GREATER,
|
|
||||||
GL_EQUAL, GL_NOTEQUAL, GL_ALWAYS, GL_NEVER };
|
|
||||||
static const char *OperatorName[8] = {
|
|
||||||
"GL_LEQUAL", "GL_LESS", "GL_GEQUAL", "GL_GREATER",
|
|
||||||
"GL_EQUAL", "GL_NOTEQUAL", "GL_ALWAYS", "GL_NEVER" };
|
|
||||||
|
|
||||||
|
|
||||||
static GLuint DisplayMode;
|
static GLuint DisplayMode;
|
||||||
#define SHOW_NORMAL 0
|
#define SHOW_NORMAL 0
|
||||||
#define SHOW_DEPTH_IMAGE 1
|
#define SHOW_DEPTH_IMAGE 1
|
||||||
@@ -249,7 +231,6 @@ Display(void)
|
|||||||
{
|
{
|
||||||
GLfloat ar = (GLfloat) WindowWidth / (GLfloat) WindowHeight;
|
GLfloat ar = (GLfloat) WindowWidth / (GLfloat) WindowHeight;
|
||||||
GLfloat d;
|
GLfloat d;
|
||||||
GLenum error;
|
|
||||||
|
|
||||||
ComputeLightPos(LightDist, LightLatitude, LightLongitude,
|
ComputeLightPos(LightDist, LightLatitude, LightLongitude,
|
||||||
LightPos, SpotDir);
|
LightPos, SpotDir);
|
||||||
@@ -276,8 +257,8 @@ Display(void)
|
|||||||
*/
|
*/
|
||||||
if (DisplayMode == SHOW_DEPTH_MAPPING) {
|
if (DisplayMode == SHOW_DEPTH_MAPPING) {
|
||||||
/* load depth image as gray-scale luminance texture */
|
/* load depth image as gray-scale luminance texture */
|
||||||
GLfloat *depth = (GLfloat *) malloc(ShadowTexWidth * ShadowTexHeight
|
GLfloat *depth = malloc(ShadowTexWidth * ShadowTexHeight
|
||||||
* sizeof(GLfloat));
|
* sizeof(GLfloat));
|
||||||
if (depth) {
|
if (depth) {
|
||||||
glReadPixels(0, 0, ShadowTexWidth, ShadowTexHeight,
|
glReadPixels(0, 0, ShadowTexWidth, ShadowTexHeight,
|
||||||
GL_DEPTH_COMPONENT, GL_FLOAT, depth);
|
GL_DEPTH_COMPONENT, GL_FLOAT, depth);
|
||||||
@@ -321,11 +302,7 @@ Display(void)
|
|||||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
|
||||||
}
|
}
|
||||||
if (DisplayMode == SHOW_DEPTH_MAPPING) {
|
if (DisplayMode == SHOW_DEPTH_MAPPING) {
|
||||||
#if defined(GL_ARB_shadow)
|
|
||||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_COMPARE_MODE_ARB, GL_NONE);
|
|
||||||
#elif defined(GL_SGIX_shadow)
|
|
||||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_COMPARE_SGIX, GL_FALSE);
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_COMPARE_SGIX, GL_FALSE);
|
||||||
#endif
|
|
||||||
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
|
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
|
||||||
glEnable(GL_TEXTURE_2D);
|
glEnable(GL_TEXTURE_2D);
|
||||||
MakeShadowMatrix(LightPos, SpotDir, SpotAngle, ShadowNear, ShadowFar);
|
MakeShadowMatrix(LightPos, SpotDir, SpotAngle, ShadowNear, ShadowFar);
|
||||||
@@ -341,12 +318,7 @@ Display(void)
|
|||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
assert(DisplayMode == SHOW_NORMAL);
|
assert(DisplayMode == SHOW_NORMAL);
|
||||||
#if defined(GL_ARB_shadow)
|
|
||||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_COMPARE_MODE_ARB,
|
|
||||||
GL_COMPARE_R_TO_TEXTURE_ARB);
|
|
||||||
#elif defined(GL_SGIX_shadow)
|
|
||||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_COMPARE_SGIX, GL_TRUE);
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_COMPARE_SGIX, GL_TRUE);
|
||||||
#endif
|
|
||||||
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
|
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
|
||||||
glEnable(GL_TEXTURE_2D);
|
glEnable(GL_TEXTURE_2D);
|
||||||
MakeShadowMatrix(LightPos, SpotDir, SpotAngle, ShadowNear, ShadowFar);
|
MakeShadowMatrix(LightPos, SpotDir, SpotAngle, ShadowNear, ShadowFar);
|
||||||
@@ -359,11 +331,6 @@ Display(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
glutSwapBuffers();
|
glutSwapBuffers();
|
||||||
|
|
||||||
error = glGetError();
|
|
||||||
if (error) {
|
|
||||||
printf("GL Error: %s\n", gluErrorString(error));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -433,16 +400,6 @@ Key(unsigned char key, int x, int y)
|
|||||||
case ' ':
|
case ' ':
|
||||||
DisplayMode = SHOW_NORMAL;
|
DisplayMode = SHOW_NORMAL;
|
||||||
break;
|
break;
|
||||||
case 'o':
|
|
||||||
if (HaveEXTshadowFuncs) {
|
|
||||||
Operator++;
|
|
||||||
if (Operator >= 8)
|
|
||||||
Operator = 0;
|
|
||||||
printf("Operator: %s\n", OperatorName[Operator]);
|
|
||||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_COMPARE_FUNC_ARB,
|
|
||||||
OperatorFunc[Operator]);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 'z':
|
case 'z':
|
||||||
Zrot -= step;
|
Zrot -= step;
|
||||||
break;
|
break;
|
||||||
@@ -497,22 +454,11 @@ SpecialKey(int key, int x, int y)
|
|||||||
static void
|
static void
|
||||||
Init(void)
|
Init(void)
|
||||||
{
|
{
|
||||||
#if defined(GL_ARB_depth_texture) && defined(GL_ARB_shadow)
|
|
||||||
if (!glutExtensionSupported("GL_ARB_depth_texture") ||
|
|
||||||
!glutExtensionSupported("GL_ARB_shadow")) {
|
|
||||||
printf("Sorry, this demo requires the GL_ARB_depth_texture and GL_ARB_shadow extensions\n");
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
printf("Using GL_ARB_depth_texture and GL_ARB_shadow\n");
|
|
||||||
#elif defined(GL_SGIX_depth_texture) && defined(GL_SGIX_shadow)
|
|
||||||
if (!glutExtensionSupported("GL_SGIX_depth_texture") ||
|
if (!glutExtensionSupported("GL_SGIX_depth_texture") ||
|
||||||
!glutExtensionSupported("GL_SGIX_shadow")) {
|
!glutExtensionSupported("GL_SGIX_shadow")) {
|
||||||
printf("Sorry, this demo requires the GL_SGIX_depth_texture and GL_SGIX_shadow extensions\n");
|
printf("Sorry, this demo requires the GL_SGIX_depth_texture and GL_SGIX_shadow extensions\n");
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
printf("Using GL_SGIX_depth_texture and GL_SGIX_shadow\n");
|
|
||||||
#endif
|
|
||||||
HaveEXTshadowFuncs = glutExtensionSupported("GL_EXT_shadow_funcs");
|
|
||||||
|
|
||||||
glTexParameteri(GL_TEXTURE_1D, GL_TEXTURE_WRAP_S, GL_CLAMP);
|
glTexParameteri(GL_TEXTURE_1D, GL_TEXTURE_WRAP_S, GL_CLAMP);
|
||||||
glTexParameteri(GL_TEXTURE_1D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
|
glTexParameteri(GL_TEXTURE_1D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
|
||||||
@@ -520,25 +466,13 @@ Init(void)
|
|||||||
glTexParameteri(GL_TEXTURE_1D, GL_TEXTURE_WRAP_T, GL_CLAMP);
|
glTexParameteri(GL_TEXTURE_1D, GL_TEXTURE_WRAP_T, GL_CLAMP);
|
||||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP);
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP);
|
||||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP);
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP);
|
||||||
#if defined(GL_ARB_shadow)
|
#ifdef GL_SGIX_shadow
|
||||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_COMPARE_MODE_ARB,
|
|
||||||
GL_COMPARE_R_TO_TEXTURE_ARB);
|
|
||||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_COMPARE_FUNC_ARB, GL_LEQUAL);
|
|
||||||
#elif defined(GL_SGIX_shadow)
|
|
||||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_COMPARE_OPERATOR_SGIX,
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_COMPARE_OPERATOR_SGIX,
|
||||||
GL_TEXTURE_LEQUAL_R_SGIX);
|
GL_TEXTURE_LEQUAL_R_SGIX);
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef GL_SGIX_shadow_ambient
|
||||||
#if defined(GL_ARB_shadow_ambient)
|
if (glutExtensionSupported("GL_SGIX_shadow_ambient"))
|
||||||
if (glutExtensionSupported("GL_ARB_shadow_ambient")) {
|
|
||||||
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_COMPARE_FAIL_VALUE_ARB, 0.3);
|
|
||||||
printf("and GL_ARB_shadow_ambient\n");
|
|
||||||
}
|
|
||||||
#elif defined(GL_SGIX_shadow_ambient)
|
|
||||||
if (glutExtensionSupported("GL_SGIX_shadow_ambient")) {
|
|
||||||
glTexParameterf(GL_TEXTURE_2D, GL_SHADOW_AMBIENT_SGIX, 0.3);
|
glTexParameterf(GL_TEXTURE_2D, GL_SHADOW_AMBIENT_SGIX, 0.3);
|
||||||
printf("and GL_SGIX_shadow_ambient\n");
|
|
||||||
}
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* setup 1-D grayscale texture image for SHOW_DISTANCE mode */
|
/* setup 1-D grayscale texture image for SHOW_DISTANCE mode */
|
||||||
@@ -570,8 +504,6 @@ PrintHelp(void)
|
|||||||
printf(" b/B = decrease/increase shadow map Z bias\n");
|
printf(" b/B = decrease/increase shadow map Z bias\n");
|
||||||
printf(" cursor keys = rotate scene\n");
|
printf(" cursor keys = rotate scene\n");
|
||||||
printf(" <shift> + cursor keys = rotate light source\n");
|
printf(" <shift> + cursor keys = rotate light source\n");
|
||||||
if (HaveEXTshadowFuncs)
|
|
||||||
printf(" o = cycle through comparison modes\n");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $Id: spectex.c,v 1.2 2002/04/22 16:03:37 brianp Exp $ */
|
/* $Id: spectex.c,v 1.1 1999/08/19 00:55:40 jtg Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* GLUT demonstration of texturing with specular highlights.
|
* GLUT demonstration of texturing with specular highlights.
|
||||||
@@ -17,6 +17,24 @@
|
|||||||
* Brian Paul February 1997
|
* Brian Paul February 1997
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* $Log: spectex.c,v $
|
||||||
|
* Revision 1.1 1999/08/19 00:55:40 jtg
|
||||||
|
* Initial revision
|
||||||
|
*
|
||||||
|
* Revision 3.2 1999/03/28 18:22:05 brianp
|
||||||
|
* minor clean-up
|
||||||
|
*
|
||||||
|
* Revision 3.1 1998/02/14 18:47:48 brianp
|
||||||
|
* added OpenGL 1.2 separate specular interpolation support
|
||||||
|
*
|
||||||
|
* Revision 3.0 1998/02/14 18:42:29 brianp
|
||||||
|
* initial rev
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
|||||||
1076
progs/demos/stex3d.c
1076
progs/demos/stex3d.c
File diff suppressed because it is too large
Load Diff
@@ -11,7 +11,6 @@
|
|||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
|
|
||||||
#ifdef WIN32
|
#ifdef WIN32
|
||||||
@@ -572,7 +571,7 @@ loadpic(void)
|
|||||||
if ((gluerr = gluBuild2DMipmaps(GL_TEXTURE_2D, 1, 256, 256, GL_LUMINANCE,
|
if ((gluerr = gluBuild2DMipmaps(GL_TEXTURE_2D, 1, 256, 256, GL_LUMINANCE,
|
||||||
GL_UNSIGNED_BYTE,
|
GL_UNSIGNED_BYTE,
|
||||||
(GLvoid *) (&terrainpic[0])))) {
|
(GLvoid *) (&terrainpic[0])))) {
|
||||||
fprintf(stderr, "GLULib%s\n", (char *) gluErrorString(gluerr));
|
fprintf(stderr, "GLULib%s\n", gluErrorString(gluerr));
|
||||||
exit(-1);
|
exit(-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $Id: tessdemo.c,v 1.13 2002/10/18 17:47:36 kschultz Exp $ */
|
/* $Id: tessdemo.c,v 1.11 2001/03/21 02:47:32 gareth Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* A demo of the GLU polygon tesselation functions written by Bogdan Sikorski.
|
* A demo of the GLU polygon tesselation functions written by Bogdan Sikorski.
|
||||||
@@ -90,7 +90,7 @@ static void GLCALLBACK edge_callback( GLenum flag )
|
|||||||
|
|
||||||
static void GLCALLBACK end_callback()
|
static void GLCALLBACK end_callback()
|
||||||
{
|
{
|
||||||
GLuint i;
|
GLint i;
|
||||||
|
|
||||||
glBegin( GL_LINES );
|
glBegin( GL_LINES );
|
||||||
|
|
||||||
@@ -165,8 +165,6 @@ static void set_screen_wh( GLsizei w, GLsizei h )
|
|||||||
height = h;
|
height = h;
|
||||||
}
|
}
|
||||||
|
|
||||||
typedef void (GLAPIENTRY *callback_t)();
|
|
||||||
|
|
||||||
static void tesse( void )
|
static void tesse( void )
|
||||||
{
|
{
|
||||||
GLUtesselator *tobj;
|
GLUtesselator *tobj;
|
||||||
@@ -179,11 +177,11 @@ static void tesse( void )
|
|||||||
|
|
||||||
if ( tobj != NULL ) {
|
if ( tobj != NULL ) {
|
||||||
gluTessNormal( tobj, 0.0, 0.0, 1.0 );
|
gluTessNormal( tobj, 0.0, 0.0, 1.0 );
|
||||||
gluTessCallback( tobj, GLU_TESS_BEGIN, (callback_t) glBegin );
|
gluTessCallback( tobj, GLU_TESS_BEGIN, glBegin );
|
||||||
gluTessCallback( tobj, GLU_TESS_VERTEX, (callback_t) glVertex2fv );
|
gluTessCallback( tobj, GLU_TESS_VERTEX, glVertex2fv );
|
||||||
gluTessCallback( tobj, GLU_TESS_END, (callback_t) glEnd );
|
gluTessCallback( tobj, GLU_TESS_END, glEnd );
|
||||||
gluTessCallback( tobj, GLU_TESS_ERROR, (callback_t) error_callback );
|
gluTessCallback( tobj, GLU_TESS_ERROR, error_callback );
|
||||||
gluTessCallback( tobj, GLU_TESS_COMBINE, (callback_t) combine_callback );
|
gluTessCallback( tobj, GLU_TESS_COMBINE, combine_callback );
|
||||||
|
|
||||||
glNewList( list_start, GL_COMPILE );
|
glNewList( list_start, GL_COMPILE );
|
||||||
gluBeginPolygon( tobj );
|
gluBeginPolygon( tobj );
|
||||||
@@ -203,10 +201,10 @@ static void tesse( void )
|
|||||||
gluEndPolygon( tobj );
|
gluEndPolygon( tobj );
|
||||||
glEndList();
|
glEndList();
|
||||||
|
|
||||||
gluTessCallback( tobj, GLU_TESS_BEGIN, (callback_t) begin_callback );
|
gluTessCallback( tobj, GLU_TESS_BEGIN, begin_callback );
|
||||||
gluTessCallback( tobj, GLU_TESS_VERTEX, (callback_t) vertex_callback );
|
gluTessCallback( tobj, GLU_TESS_VERTEX, vertex_callback );
|
||||||
gluTessCallback( tobj, GLU_TESS_END, (callback_t) end_callback );
|
gluTessCallback( tobj, GLU_TESS_END, end_callback );
|
||||||
gluTessCallback( tobj, GLU_TESS_EDGE_FLAG, (callback_t) edge_callback );
|
gluTessCallback( tobj, GLU_TESS_EDGE_FLAG, edge_callback );
|
||||||
|
|
||||||
glNewList( list_start + 1, GL_COMPILE );
|
glNewList( list_start + 1, GL_COMPILE );
|
||||||
gluBeginPolygon( tobj );
|
gluBeginPolygon( tobj );
|
||||||
@@ -310,7 +308,6 @@ static void mouse_clicked( int button, int state, int x, int y )
|
|||||||
static void display( void )
|
static void display( void )
|
||||||
{
|
{
|
||||||
GLuint i,j;
|
GLuint i,j;
|
||||||
GLsizei ii, jj;
|
|
||||||
GLuint point_cnt;
|
GLuint point_cnt;
|
||||||
|
|
||||||
glClear( GL_COLOR_BUFFER_BIT );
|
glClear( GL_COLOR_BUFFER_BIT );
|
||||||
@@ -322,12 +319,12 @@ static void display( void )
|
|||||||
|
|
||||||
glBegin( GL_LINES );
|
glBegin( GL_LINES );
|
||||||
|
|
||||||
for ( ii = 0 ; ii < width ; ii += 10 ) {
|
for ( i = 0 ; i < width ; i += 10 ) {
|
||||||
for ( jj = 0 ; jj < height ; jj += 10 ) {
|
for ( j = 0 ; j < height ; j += 10 ) {
|
||||||
glVertex2i( 0, jj );
|
glVertex2i( 0, j );
|
||||||
glVertex2i( width, jj );
|
glVertex2i( width, j );
|
||||||
glVertex2i( ii, height );
|
glVertex2i( i, height );
|
||||||
glVertex2i( ii, 0 );
|
glVertex2i( i, 0 );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $Id: texcyl.c,v 1.6 2002/04/22 16:03:37 brianp Exp $ */
|
/* $Id: texcyl.c,v 1.5 2001/03/27 17:35:26 brianp Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Textured cylinder demo: lighting, texturing, reflection mapping.
|
* Textured cylinder demo: lighting, texturing, reflection mapping.
|
||||||
@@ -10,6 +10,61 @@
|
|||||||
* Brian Paul May 1997 This program is in the public domain.
|
* Brian Paul May 1997 This program is in the public domain.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* $Log: texcyl.c,v $
|
||||||
|
* Revision 1.5 2001/03/27 17:35:26 brianp
|
||||||
|
* set initial window pos
|
||||||
|
*
|
||||||
|
* Revision 1.4 2000/12/24 22:53:54 pesco
|
||||||
|
* * demos/Makefile.am (INCLUDES): Added -I$(top_srcdir)/util.
|
||||||
|
* * demos/Makefile.X11, demos/Makefile.BeOS-R4, demos/Makefile.cygnus:
|
||||||
|
* Essentially the same.
|
||||||
|
* Program files updated to include "readtex.c", not "../util/readtex.c".
|
||||||
|
* * demos/reflect.c: Likewise for "showbuffer.c".
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* * Makefile.am (EXTRA_DIST): Added top-level regular files.
|
||||||
|
*
|
||||||
|
* * include/GL/Makefile.am (INC_X11): Added glxext.h.
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* * src/GGI/include/ggi/mesa/Makefile.am (EXTRA_HEADERS): Include
|
||||||
|
* Mesa GGI headers in dist even if HAVE_GGI is not given.
|
||||||
|
*
|
||||||
|
* * configure.in: Look for GLUT and demo source dirs in $srcdir.
|
||||||
|
*
|
||||||
|
* * src/swrast/Makefile.am (libMesaSwrast_la_SOURCES): Set to *.[ch].
|
||||||
|
* More source list updates in various Makefile.am's.
|
||||||
|
*
|
||||||
|
* * Makefile.am (dist-hook): Remove CVS directory from distribution.
|
||||||
|
* (DIST_SUBDIRS): List all possible subdirs here.
|
||||||
|
* (SUBDIRS): Only list subdirs selected for build again.
|
||||||
|
* The above two applied to all subdir Makefile.am's also.
|
||||||
|
*
|
||||||
|
* Revision 1.3 2000/09/29 23:09:39 brianp
|
||||||
|
* added fps output
|
||||||
|
*
|
||||||
|
* Revision 1.2 1999/10/21 16:39:06 brianp
|
||||||
|
* added -info command line option
|
||||||
|
*
|
||||||
|
* Revision 1.1.1.1 1999/08/19 00:55:40 jtg
|
||||||
|
* Imported sources
|
||||||
|
*
|
||||||
|
* Revision 3.3 1999/03/28 18:24:37 brianp
|
||||||
|
* minor clean-up
|
||||||
|
*
|
||||||
|
* Revision 3.2 1998/11/05 04:34:04 brianp
|
||||||
|
* moved image files to ../images/ directory
|
||||||
|
*
|
||||||
|
* Revision 3.1 1998/06/23 03:16:51 brianp
|
||||||
|
* added Point/Linear sampling menu items
|
||||||
|
*
|
||||||
|
* Revision 3.0 1998/02/14 18:42:29 brianp
|
||||||
|
* initial rev
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $Id: texobj.c,v 1.6 2002/01/04 21:05:57 brianp Exp $ */
|
/* $Id: texobj.c,v 1.5 2000/07/19 23:57:24 brianp Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Example of using the 1.1 texture object functions.
|
* Example of using the 1.1 texture object functions.
|
||||||
@@ -7,7 +7,6 @@
|
|||||||
* Brian Paul June 1996 This file is in the public domain.
|
* Brian Paul June 1996 This file is in the public domain.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <assert.h>
|
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
@@ -174,7 +173,6 @@ static void init( void )
|
|||||||
if (UseObj) {
|
if (UseObj) {
|
||||||
#ifdef TEXTURE_OBJECT
|
#ifdef TEXTURE_OBJECT
|
||||||
glBindTexture( GL_TEXTURE_2D, TexObj[0] );
|
glBindTexture( GL_TEXTURE_2D, TexObj[0] );
|
||||||
assert(glIsTexture(TexObj[0]));
|
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@@ -208,9 +206,7 @@ static void init( void )
|
|||||||
if (UseObj) {
|
if (UseObj) {
|
||||||
#ifdef TEXTURE_OBJECT
|
#ifdef TEXTURE_OBJECT
|
||||||
glBindTexture( GL_TEXTURE_2D, TexObj[1] );
|
glBindTexture( GL_TEXTURE_2D, TexObj[1] );
|
||||||
assert(glIsTexture(TexObj[1]));
|
|
||||||
#endif
|
#endif
|
||||||
assert(!glIsTexture(TexObj[1] + 999));
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
glNewList( TexObj[1], GL_COMPILE );
|
glNewList( TexObj[1], GL_COMPILE );
|
||||||
|
|||||||
@@ -1,10 +1,37 @@
|
|||||||
/* $Id: trispd.c,v 1.4 2002/07/12 15:54:02 brianp Exp $ */
|
/* $Id: trispd.c,v 1.2 2000/10/26 15:26:14 brianp Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Simple GLUT program to measure triangle strip rendering speed.
|
* Simple GLUT program to measure triangle strip rendering speed.
|
||||||
* Brian Paul February 15, 1997 This file is in the public domain.
|
* Brian Paul February 15, 1997 This file is in the public domain.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* $Log: trispd.c,v $
|
||||||
|
* Revision 1.2 2000/10/26 15:26:14 brianp
|
||||||
|
* added a glFinish() call
|
||||||
|
*
|
||||||
|
* Revision 1.1.1.1 1999/08/19 00:55:40 jtg
|
||||||
|
* Imported sources
|
||||||
|
*
|
||||||
|
* Revision 3.4 1999/03/28 18:24:37 brianp
|
||||||
|
* minor clean-up
|
||||||
|
*
|
||||||
|
* Revision 3.3 1999/03/18 08:16:52 joukj
|
||||||
|
*
|
||||||
|
* cmpstr needs string.h to included to avoid warnings
|
||||||
|
*
|
||||||
|
* Revision 3.2 1998/07/08 03:02:00 brianp
|
||||||
|
* added Marten Stromberg's texture options
|
||||||
|
*
|
||||||
|
* Revision 3.1 1998/06/29 02:36:58 brianp
|
||||||
|
* removed unneeded includes
|
||||||
|
*
|
||||||
|
* Revision 3.0 1998/02/14 18:42:29 brianp
|
||||||
|
* initial rev
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
@@ -131,7 +158,7 @@ static void LoadTex(int comp, int filter)
|
|||||||
{
|
{
|
||||||
GLubyte *pixels;
|
GLubyte *pixels;
|
||||||
int x, y;
|
int x, y;
|
||||||
pixels = (GLubyte *) malloc(4*256*256);
|
pixels = malloc(4*256*256);
|
||||||
for (y = 0; y < 256; ++y)
|
for (y = 0; y < 256; ++y)
|
||||||
for (x = 0; x < 256; ++x) {
|
for (x = 0; x < 256; ++x) {
|
||||||
pixels[(y*256+x)*4+0] = (int)(128.5 + 127.0 * cos(0.024544 * x));
|
pixels[(y*256+x)*4+0] = (int)(128.5 + 127.0 * cos(0.024544 * x));
|
||||||
|
|||||||
@@ -1,10 +1,67 @@
|
|||||||
/* $Id: winpos.c,v 1.5 2002/04/22 16:03:37 brianp Exp $ */
|
/* $Id: winpos.c,v 1.3.2.1 2002/04/15 22:14:09 kschultz Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Example of how to use the GL_MESA_window_pos extension.
|
* Example of how to use the GL_MESA_window_pos extension.
|
||||||
* Brian Paul This file is in the public domain.
|
* Brian Paul This file is in the public domain.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* $Log: winpos.c,v $
|
||||||
|
* Revision 1.3.2.1 2002/04/15 22:14:09 kschultz
|
||||||
|
* Build demos/samples correctly on Windows (Robert Bergkvist) to sync up
|
||||||
|
* with the main branch. (I should have done this for 4.0.2)
|
||||||
|
*
|
||||||
|
* Revision 1.4 2002/01/16 00:48:43 kschultz
|
||||||
|
* Demo updates for Windows (Robert Bergkvist)
|
||||||
|
*
|
||||||
|
* Revision 1.3 2000/12/24 22:53:54 pesco
|
||||||
|
* * demos/Makefile.am (INCLUDES): Added -I$(top_srcdir)/util.
|
||||||
|
* * demos/Makefile.X11, demos/Makefile.BeOS-R4, demos/Makefile.cygnus:
|
||||||
|
* Essentially the same.
|
||||||
|
* Program files updated to include "readtex.c", not "../util/readtex.c".
|
||||||
|
* * demos/reflect.c: Likewise for "showbuffer.c".
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* * Makefile.am (EXTRA_DIST): Added top-level regular files.
|
||||||
|
*
|
||||||
|
* * include/GL/Makefile.am (INC_X11): Added glxext.h.
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* * src/GGI/include/ggi/mesa/Makefile.am (EXTRA_HEADERS): Include
|
||||||
|
* Mesa GGI headers in dist even if HAVE_GGI is not given.
|
||||||
|
*
|
||||||
|
* * configure.in: Look for GLUT and demo source dirs in $srcdir.
|
||||||
|
*
|
||||||
|
* * src/swrast/Makefile.am (libMesaSwrast_la_SOURCES): Set to *.[ch].
|
||||||
|
* More source list updates in various Makefile.am's.
|
||||||
|
*
|
||||||
|
* * Makefile.am (dist-hook): Remove CVS directory from distribution.
|
||||||
|
* (DIST_SUBDIRS): List all possible subdirs here.
|
||||||
|
* (SUBDIRS): Only list subdirs selected for build again.
|
||||||
|
* The above two applied to all subdir Makefile.am's also.
|
||||||
|
*
|
||||||
|
* Revision 1.2 2000/06/27 17:04:43 brianp
|
||||||
|
* fixed compiler warnings
|
||||||
|
*
|
||||||
|
* Revision 1.1.1.1 1999/08/19 00:55:40 jtg
|
||||||
|
* Imported sources
|
||||||
|
*
|
||||||
|
* Revision 3.3 1999/03/28 18:24:37 brianp
|
||||||
|
* minor clean-up
|
||||||
|
*
|
||||||
|
* Revision 3.2 1998/11/05 04:34:04 brianp
|
||||||
|
* moved image files to ../images/ directory
|
||||||
|
*
|
||||||
|
* Revision 3.1 1998/02/22 16:36:10 brianp
|
||||||
|
* changed image file and set unpack alignment to 1
|
||||||
|
*
|
||||||
|
* Revision 3.0 1998/02/14 18:42:29 brianp
|
||||||
|
* initial rev
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|||||||
@@ -143,8 +143,6 @@ void display(void)
|
|||||||
|
|
||||||
size = glRenderMode (GL_RENDER);
|
size = glRenderMode (GL_RENDER);
|
||||||
printBuffer (size, feedBuffer);
|
printBuffer (size, feedBuffer);
|
||||||
|
|
||||||
glFinish();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ARGSUSED1 */
|
/* ARGSUSED1 */
|
||||||
|
|||||||
@@ -103,8 +103,8 @@ drawRects(GLenum mode)
|
|||||||
void
|
void
|
||||||
processHits(GLint hits, GLuint buffer[])
|
processHits(GLint hits, GLuint buffer[])
|
||||||
{
|
{
|
||||||
GLint i;
|
unsigned int i, j;
|
||||||
GLuint j, names, *ptr;
|
GLuint names, *ptr;
|
||||||
|
|
||||||
printf("hits = %d\n", hits);
|
printf("hits = %d\n", hits);
|
||||||
ptr = (GLuint *) buffer;
|
ptr = (GLuint *) buffer;
|
||||||
|
|||||||
@@ -87,8 +87,8 @@ void drawSquares(GLenum mode)
|
|||||||
*/
|
*/
|
||||||
void processHits (GLint hits, GLuint buffer[])
|
void processHits (GLint hits, GLuint buffer[])
|
||||||
{
|
{
|
||||||
GLint i;
|
unsigned int i, j;
|
||||||
GLuint j, ii = 0, jj = 0, names, *ptr;
|
GLuint ii = 0, jj = 0, names, *ptr;
|
||||||
|
|
||||||
printf ("hits = %d\n", hits);
|
printf ("hits = %d\n", hits);
|
||||||
ptr = (GLuint *) buffer;
|
ptr = (GLuint *) buffer;
|
||||||
|
|||||||
@@ -124,8 +124,8 @@ void drawScene (void)
|
|||||||
*/
|
*/
|
||||||
void processHits (GLint hits, GLuint buffer[])
|
void processHits (GLint hits, GLuint buffer[])
|
||||||
{
|
{
|
||||||
GLint i;
|
unsigned int i, j;
|
||||||
GLuint j, names, *ptr;
|
GLuint names, *ptr;
|
||||||
|
|
||||||
printf ("hits = %d\n", hits);
|
printf ("hits = %d\n", hits);
|
||||||
ptr = (GLuint *) buffer;
|
ptr = (GLuint *) buffer;
|
||||||
|
|||||||
@@ -94,7 +94,7 @@ void CALLBACK vertexCallback(GLvoid *vertex)
|
|||||||
|
|
||||||
pointer = (GLdouble *) vertex;
|
pointer = (GLdouble *) vertex;
|
||||||
glColor3dv(pointer+3);
|
glColor3dv(pointer+3);
|
||||||
glVertex3dv(pointer);
|
glVertex3dv(vertex);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* combineCallback is used to create a new vertex when edges
|
/* combineCallback is used to create a new vertex when edges
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# $Id: Makefile.win,v 1.1 2002/01/16 00:57:54 kschultz Exp $
|
# $Id: Makefile.win,v 1.1.2.1 2002/04/15 22:13:31 kschultz Exp $
|
||||||
|
|
||||||
# Mesa 3-D graphics library
|
# Mesa 3-D graphics library
|
||||||
# Version: 3.5
|
# Version: 3.5
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
size_t sizeX, sizeY;
|
int sizeX, sizeY;
|
||||||
GLubyte *data;
|
GLubyte *data;
|
||||||
} PPMImage;
|
} PPMImage;
|
||||||
|
|
||||||
@@ -30,7 +30,7 @@ static PPMImage *LoadPPM(const char *filename)
|
|||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
result = (PPMImage *) malloc(sizeof(PPMImage));
|
result = malloc(sizeof(PPMImage));
|
||||||
if (!result)
|
if (!result)
|
||||||
{
|
{
|
||||||
fprintf(stderr, "Unable to allocate memory\n");
|
fprintf(stderr, "Unable to allocate memory\n");
|
||||||
@@ -52,7 +52,7 @@ static PPMImage *LoadPPM(const char *filename)
|
|||||||
while (fgetc(fp) != '\n')
|
while (fgetc(fp) != '\n')
|
||||||
;
|
;
|
||||||
|
|
||||||
result->data = (GLubyte *) malloc(3 * result->sizeX * result->sizeY);
|
result->data = malloc(3 * result->sizeX * result->sizeY);
|
||||||
if (!result)
|
if (!result)
|
||||||
{
|
{
|
||||||
fprintf(stderr, "Unable to allocate memory\n");
|
fprintf(stderr, "Unable to allocate memory\n");
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $Id: logo.c,v 1.3 2002/11/05 20:59:16 brianp Exp $ */
|
/* $Id: logo.c,v 1.2 1999/12/15 13:02:09 brianp Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
|
* Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
|
||||||
@@ -1397,15 +1397,12 @@ static void Key(unsigned char key, int x, int y)
|
|||||||
switch (polyMode) {
|
switch (polyMode) {
|
||||||
case GL_BACK:
|
case GL_BACK:
|
||||||
polyMode = GL_FRONT;
|
polyMode = GL_FRONT;
|
||||||
printf("PolygonMode GL_FRONT\n");
|
|
||||||
break;
|
break;
|
||||||
case GL_FRONT:
|
case GL_FRONT:
|
||||||
polyMode = GL_FRONT_AND_BACK;
|
polyMode = GL_FRONT_AND_BACK;
|
||||||
printf("PolygonMode GL_FRONT_AND_BACK\n");
|
|
||||||
break;
|
break;
|
||||||
case GL_FRONT_AND_BACK:
|
case GL_FRONT_AND_BACK:
|
||||||
polyMode = GL_BACK;
|
polyMode = GL_BACK;
|
||||||
printf("PolygonMode GL_BACK\n");
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
@@ -1458,17 +1455,14 @@ static void Key(unsigned char key, int x, int y)
|
|||||||
|
|
||||||
case 'q':
|
case 'q':
|
||||||
glDisable(GL_CULL_FACE);
|
glDisable(GL_CULL_FACE);
|
||||||
printf("disable culling\n");
|
|
||||||
break;
|
break;
|
||||||
case 'w':
|
case 'w':
|
||||||
glEnable(GL_CULL_FACE);
|
glEnable(GL_CULL_FACE);
|
||||||
glCullFace(GL_FRONT);
|
glCullFace(GL_FRONT);
|
||||||
printf("enable front face culling\n");
|
|
||||||
break;
|
break;
|
||||||
case 'e':
|
case 'e':
|
||||||
glEnable(GL_CULL_FACE);
|
glEnable(GL_CULL_FACE);
|
||||||
glCullFace(GL_BACK);
|
glCullFace(GL_BACK);
|
||||||
printf("enable back face culling\n");
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'r':
|
case 'r':
|
||||||
|
|||||||
@@ -216,13 +216,11 @@ static void CALLBACK ErrorCallback(GLenum which)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
typedef void (GLAPIENTRY *callback_t)();
|
|
||||||
|
|
||||||
static void Init(void)
|
static void Init(void)
|
||||||
{
|
{
|
||||||
|
|
||||||
theNurbs = gluNewNurbsRenderer();
|
theNurbs = gluNewNurbsRenderer();
|
||||||
gluNurbsCallback(theNurbs, GLU_ERROR, (callback_t) ErrorCallback);
|
gluNurbsCallback(theNurbs, GLU_ERROR, ErrorCallback);
|
||||||
|
|
||||||
gluNurbsProperty(theNurbs, GLU_SAMPLING_TOLERANCE, 15.0);
|
gluNurbsProperty(theNurbs, GLU_SAMPLING_TOLERANCE, 15.0);
|
||||||
gluNurbsProperty(theNurbs, GLU_DISPLAY_MODE, GLU_OUTLINE_PATCH);
|
gluNurbsProperty(theNurbs, GLU_DISPLAY_MODE, GLU_OUTLINE_PATCH);
|
||||||
|
|||||||
@@ -102,8 +102,6 @@ static void CALLBACK ErrorHandler(GLenum which)
|
|||||||
fprintf(stderr, "Quad Error: %s\n", gluErrorString(which));
|
fprintf(stderr, "Quad Error: %s\n", gluErrorString(which));
|
||||||
}
|
}
|
||||||
|
|
||||||
typedef void (GLAPIENTRY *callback_t)();
|
|
||||||
|
|
||||||
static void Init(void)
|
static void Init(void)
|
||||||
{
|
{
|
||||||
static GLint colorIndexes[3] = {0, 200, 255};
|
static GLint colorIndexes[3] = {0, 200, 255};
|
||||||
@@ -165,7 +163,7 @@ static void Init(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
quadObj = gluNewQuadric();
|
quadObj = gluNewQuadric();
|
||||||
gluQuadricCallback(quadObj, GLU_ERROR, (callback_t) ErrorHandler);
|
gluQuadricCallback(quadObj, GLU_ERROR, ErrorHandler);
|
||||||
|
|
||||||
radius1 = 10;
|
radius1 = 10;
|
||||||
radius2 = 5;
|
radius2 = 5;
|
||||||
|
|||||||
@@ -1,31 +1,23 @@
|
|||||||
|
|
||||||
# Simple makefile for compiling test programs on Linux
|
# Simple makefile for compiling test programs on Linux
|
||||||
# These programs aren't intended to be included with the normal
|
# These programs aren't intended to be included with the normal
|
||||||
# distro. They're not too interesting but they're good for testing.
|
# distro as they're not too interesting but good for testing during
|
||||||
|
# development.
|
||||||
|
|
||||||
|
|
||||||
CC = gcc
|
CC = gcc
|
||||||
CFLAGS = -g -I../include
|
CFLAGS = -g -I../include
|
||||||
LIBS = -L../lib -lglut -lGLU -lGL -L/usr/X11R6/lib -lX11 -lXext -lm
|
LIBS = -L../lib -lglut -lGLU -lGL -L/usr/X11R6/lib -lX11 -lXext -lm
|
||||||
|
|
||||||
PROGS = antialias \
|
PROGS = cva \
|
||||||
cva \
|
|
||||||
dinoshade \
|
dinoshade \
|
||||||
fogcoord \
|
fogcoord \
|
||||||
getprocaddress \
|
|
||||||
manytex \
|
manytex \
|
||||||
multipal \
|
multipal \
|
||||||
projtex \
|
projtex \
|
||||||
seccolor \
|
seccolor \
|
||||||
sharedtex \
|
sharedtex \
|
||||||
stencilwrap \
|
texline
|
||||||
texline \
|
|
||||||
texwrap \
|
|
||||||
vptest1 \
|
|
||||||
vptest2 \
|
|
||||||
vptest3 \
|
|
||||||
vptorus \
|
|
||||||
vpwarpmesh
|
|
||||||
|
|
||||||
|
|
||||||
##### RULES #####
|
##### RULES #####
|
||||||
@@ -44,11 +36,3 @@ default: $(PROGS)
|
|||||||
clean:
|
clean:
|
||||||
rm -f $(PROGS)
|
rm -f $(PROGS)
|
||||||
rm -f *.o
|
rm -f *.o
|
||||||
|
|
||||||
|
|
||||||
# auto code generation
|
|
||||||
getprocaddress: getprocaddress.c getproclist.h
|
|
||||||
|
|
||||||
getproclist.h: ../bin/APIspec getprocaddress.c getprocaddress.py
|
|
||||||
python getprocaddress.py > getproclist.h
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# $Id: Makefile.win,v 1.1 2002/01/16 01:03:25 kschultz Exp $
|
# $Id: Makefile.win,v 1.1.2.1 2002/04/15 22:13:00 kschultz Exp $
|
||||||
|
|
||||||
# Mesa 3-D graphics library
|
# Mesa 3-D graphics library
|
||||||
# Version: 3.5
|
# Version: 3.5
|
||||||
@@ -23,12 +23,7 @@ SRCS = cva.c \
|
|||||||
seccolor.c \
|
seccolor.c \
|
||||||
# sharedtex.c \
|
# sharedtex.c \
|
||||||
texline.c \
|
texline.c \
|
||||||
texwrap.c \
|
texwrap.c
|
||||||
vptest1.c \
|
|
||||||
vptest2.c \
|
|
||||||
vptest3.c \
|
|
||||||
vptorus.c \
|
|
||||||
vpwarpmesh.c
|
|
||||||
|
|
||||||
!include "../mesawin32.mak"
|
!include "../mesawin32.mak"
|
||||||
|
|
||||||
|
|||||||
@@ -1,226 +0,0 @@
|
|||||||
/* $Id: antialias.c,v 1.1 2002/11/08 18:30:26 brianp Exp $ */
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Test multisampling and polygon smoothing.
|
|
||||||
*
|
|
||||||
* Brian Paul
|
|
||||||
* 4 November 2002
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <math.h>
|
|
||||||
#include <GL/glut.h>
|
|
||||||
|
|
||||||
|
|
||||||
static GLfloat Zrot = 0;
|
|
||||||
static GLboolean Anim = GL_TRUE;
|
|
||||||
static GLboolean HaveMultisample = GL_TRUE;
|
|
||||||
|
|
||||||
|
|
||||||
static void
|
|
||||||
PrintString(const char *s)
|
|
||||||
{
|
|
||||||
while (*s) {
|
|
||||||
glutBitmapCharacter(GLUT_BITMAP_8_BY_13, (int) *s);
|
|
||||||
s++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static void
|
|
||||||
Polygon( GLint verts, GLfloat radius, GLfloat z )
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
for (i = 0; i < verts; i++) {
|
|
||||||
float a = (i * 2.0 * 3.14159) / verts;
|
|
||||||
float x = radius * cos(a);
|
|
||||||
float y = radius * sin(a);
|
|
||||||
glVertex3f(x, y, z);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static void
|
|
||||||
DrawObject( void )
|
|
||||||
{
|
|
||||||
glLineWidth(3.0);
|
|
||||||
glColor3f(1, 1, 1);
|
|
||||||
glBegin(GL_LINE_LOOP);
|
|
||||||
Polygon(12, 1.2, 0);
|
|
||||||
glEnd();
|
|
||||||
|
|
||||||
glLineWidth(1.0);
|
|
||||||
glColor3f(1, 1, 1);
|
|
||||||
glBegin(GL_LINE_LOOP);
|
|
||||||
Polygon(12, 1.1, 0);
|
|
||||||
glEnd();
|
|
||||||
|
|
||||||
glColor3f(1, 0, 0);
|
|
||||||
glBegin(GL_POLYGON);
|
|
||||||
Polygon(12, 0.4, 0.3);
|
|
||||||
glEnd();
|
|
||||||
|
|
||||||
glColor3f(0, 1, 0);
|
|
||||||
glBegin(GL_POLYGON);
|
|
||||||
Polygon(12, 0.6, 0.2);
|
|
||||||
glEnd();
|
|
||||||
|
|
||||||
glColor3f(0, 0, 1);
|
|
||||||
glBegin(GL_POLYGON);
|
|
||||||
Polygon(12, 0.8, 0.1);
|
|
||||||
glEnd();
|
|
||||||
|
|
||||||
glColor3f(1, 1, 1);
|
|
||||||
glBegin(GL_POLYGON);
|
|
||||||
Polygon(12, 1.0, 0);
|
|
||||||
glEnd();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static void
|
|
||||||
Display( void )
|
|
||||||
{
|
|
||||||
glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
|
|
||||||
|
|
||||||
glColor3f(1, 1, 1);
|
|
||||||
if (HaveMultisample) {
|
|
||||||
glRasterPos2f(-3.1, -1.6);
|
|
||||||
PrintString("MULTISAMPLE");
|
|
||||||
}
|
|
||||||
glRasterPos2f(-0.8, -1.6);
|
|
||||||
PrintString("No antialiasing");
|
|
||||||
glRasterPos2f(1.6, -1.6);
|
|
||||||
PrintString("GL_POLYGON_SMOOTH");
|
|
||||||
|
|
||||||
/* multisample */
|
|
||||||
if (HaveMultisample) {
|
|
||||||
glEnable(GL_DEPTH_TEST);
|
|
||||||
glEnable(GL_MULTISAMPLE_ARB);
|
|
||||||
glPushMatrix();
|
|
||||||
glTranslatef(-2.5, 0, 0);
|
|
||||||
glPushMatrix();
|
|
||||||
glRotatef(Zrot, 0, 0, 1);
|
|
||||||
DrawObject();
|
|
||||||
glPopMatrix();
|
|
||||||
glPopMatrix();
|
|
||||||
glDisable(GL_MULTISAMPLE_ARB);
|
|
||||||
glDisable(GL_DEPTH_TEST);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* non-aa */
|
|
||||||
glEnable(GL_DEPTH_TEST);
|
|
||||||
glPushMatrix();
|
|
||||||
glTranslatef(0, 0, 0);
|
|
||||||
glPushMatrix();
|
|
||||||
glRotatef(Zrot, 0, 0, 1);
|
|
||||||
DrawObject();
|
|
||||||
glPopMatrix();
|
|
||||||
glPopMatrix();
|
|
||||||
glDisable(GL_DEPTH_TEST);
|
|
||||||
|
|
||||||
/* polygon smooth */
|
|
||||||
glEnable(GL_POLYGON_SMOOTH);
|
|
||||||
glEnable(GL_LINE_SMOOTH);
|
|
||||||
glEnable(GL_BLEND);
|
|
||||||
glPushMatrix();
|
|
||||||
glTranslatef(2.5, 0, 0);
|
|
||||||
glPushMatrix();
|
|
||||||
glRotatef(Zrot, 0, 0, 1);
|
|
||||||
DrawObject();
|
|
||||||
glPopMatrix();
|
|
||||||
glPopMatrix();
|
|
||||||
glDisable(GL_LINE_SMOOTH);
|
|
||||||
glDisable(GL_POLYGON_SMOOTH);
|
|
||||||
glDisable(GL_BLEND);
|
|
||||||
|
|
||||||
glutSwapBuffers();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static void
|
|
||||||
Reshape( int width, int height )
|
|
||||||
{
|
|
||||||
GLfloat ar = (float) width / (float) height;
|
|
||||||
glViewport( 0, 0, width, height );
|
|
||||||
glMatrixMode( GL_PROJECTION );
|
|
||||||
glLoadIdentity();
|
|
||||||
glOrtho(-2.0*ar, 2.0*ar, -2.0, 2.0, -1.0, 1.0);
|
|
||||||
glMatrixMode( GL_MODELVIEW );
|
|
||||||
glLoadIdentity();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static void
|
|
||||||
Idle( void )
|
|
||||||
{
|
|
||||||
Zrot = 0.01 * glutGet(GLUT_ELAPSED_TIME);
|
|
||||||
glutPostRedisplay();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static void
|
|
||||||
Key( unsigned char key, int x, int y )
|
|
||||||
{
|
|
||||||
const GLfloat step = 1.0;
|
|
||||||
(void) x;
|
|
||||||
(void) y;
|
|
||||||
switch (key) {
|
|
||||||
case 'a':
|
|
||||||
Anim = !Anim;
|
|
||||||
if (Anim)
|
|
||||||
glutIdleFunc(Idle);
|
|
||||||
else
|
|
||||||
glutIdleFunc(NULL);
|
|
||||||
break;
|
|
||||||
case 'z':
|
|
||||||
Zrot = (int) (Zrot - step);
|
|
||||||
break;
|
|
||||||
case 'Z':
|
|
||||||
Zrot = (int) (Zrot + step);
|
|
||||||
break;
|
|
||||||
case 27:
|
|
||||||
exit(0);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
glutPostRedisplay();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static void
|
|
||||||
Init( void )
|
|
||||||
{
|
|
||||||
/* GLUT imposes the four samples/pixel requirement */
|
|
||||||
int s;
|
|
||||||
glGetIntegerv(GL_SAMPLES_ARB, &s);
|
|
||||||
if (!glutExtensionSupported("GL_ARB_multisample") || s < 1) {
|
|
||||||
printf("Warning: multisample antialiasing not supported.\n");
|
|
||||||
HaveMultisample = GL_FALSE;
|
|
||||||
}
|
|
||||||
printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
|
|
||||||
printf("GL_SAMPLES_ARB = %d\n", s);
|
|
||||||
|
|
||||||
glBlendFunc(GL_SRC_ALPHA, GL_ONE);
|
|
||||||
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
|
|
||||||
glBlendFunc(GL_SRC_ALPHA_SATURATE, GL_ONE);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
int
|
|
||||||
main( int argc, char *argv[] )
|
|
||||||
{
|
|
||||||
glutInit( &argc, argv );
|
|
||||||
glutInitWindowPosition( 0, 0 );
|
|
||||||
glutInitWindowSize( 600, 300 );
|
|
||||||
glutInitDisplayMode( GLUT_RGB | GLUT_ALPHA | GLUT_DOUBLE |
|
|
||||||
GLUT_DEPTH | GLUT_MULTISAMPLE );
|
|
||||||
glutCreateWindow(argv[0]);
|
|
||||||
glutReshapeFunc( Reshape );
|
|
||||||
glutKeyboardFunc( Key );
|
|
||||||
glutDisplayFunc( Display );
|
|
||||||
if (Anim)
|
|
||||||
glutIdleFunc( Idle );
|
|
||||||
Init();
|
|
||||||
glutMainLoop();
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $Id: cva.c,v 1.4 2002/01/16 01:03:25 kschultz Exp $ */
|
/* $Id: cva.c,v 1.3.2.1 2002/04/15 22:13:00 kschultz Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Trivial CVA test, good for testing driver fastpaths (especially
|
* Trivial CVA test, good for testing driver fastpaths (especially
|
||||||
|
|||||||
@@ -1,68 +0,0 @@
|
|||||||
# Makefile for GLUT-based demo programs for VMS
|
|
||||||
# contributed by Jouk Jansen joukj@crys.chem.uva.nl
|
|
||||||
|
|
||||||
|
|
||||||
.first
|
|
||||||
define gl [-.include.gl]
|
|
||||||
|
|
||||||
.include [-]mms-config.
|
|
||||||
|
|
||||||
##### MACROS #####
|
|
||||||
|
|
||||||
INCDIR = ([-.include],[-.util])
|
|
||||||
CFLAGS = /include=$(INCDIR)/prefix=all/name=(as_is,short)
|
|
||||||
|
|
||||||
.ifdef SHARE
|
|
||||||
GL_LIBS = $(XLIBS)
|
|
||||||
.else
|
|
||||||
GL_LIBS = [-.lib]libGLUT/l,libMesaGLU/l,libMesaGL/l,$(XLIBS)
|
|
||||||
.endif
|
|
||||||
|
|
||||||
LIB_DEP = [-.lib]$(GL_LIB) [-.lib]$(GLU_LIB) [-.lib]$(GLUT_LIB)
|
|
||||||
|
|
||||||
PROGS = cva.exe,\
|
|
||||||
dinoshade.exe,\
|
|
||||||
fogcoord.exe,\
|
|
||||||
manytex.exe,\
|
|
||||||
multipal.exe,\
|
|
||||||
projtex.exe,\
|
|
||||||
seccolor.exe,\
|
|
||||||
sharedtex.exe,\
|
|
||||||
texline.exe,\
|
|
||||||
texwrap.exe,\
|
|
||||||
vptest1.exe,\
|
|
||||||
vptest2.exe,\
|
|
||||||
vptest3.exe,\
|
|
||||||
vptorus.exe,\
|
|
||||||
vpwarpmesh.exe
|
|
||||||
|
|
||||||
##### RULES #####
|
|
||||||
.obj.exe :
|
|
||||||
cxxlink $(MMS$TARGET_NAME),$(GL_LIBS)
|
|
||||||
|
|
||||||
##### TARGETS #####
|
|
||||||
default :
|
|
||||||
$(MMS)$(MMSQUALIFIERS) $(PROGS)
|
|
||||||
|
|
||||||
clean :
|
|
||||||
delete *.obj;*
|
|
||||||
|
|
||||||
realclean :
|
|
||||||
delete $(PROGS)
|
|
||||||
delete *.obj;*
|
|
||||||
|
|
||||||
cva.exe : cva.obj $(LIB_DEP)
|
|
||||||
dinoshade.exe : dinoshade.obj $(LIB_DEP)
|
|
||||||
fogcoord.exe : fogcoord.obj $(LIB_DEP)
|
|
||||||
manytex.exe : manytex.obj $(LIB_DEP)
|
|
||||||
multipal.exe : multipal.obj $(LIB_DEP)
|
|
||||||
projtex.exe : projtex.obj $(LIB_DEP)
|
|
||||||
seccolor.exe : seccolor.obj $(LIB_DEP)
|
|
||||||
sharedtex.exe : sharedtex.obj $(LIB_DEP)
|
|
||||||
texline.exe : texline.obj $(LIB_DEP)
|
|
||||||
texwrap.exe : texwrap.obj $(LIB_DEP)
|
|
||||||
vptest1.exe : vptest1.obj $(LIB_DEP)
|
|
||||||
vptest2.exe : vptest2.obj $(LIB_DEP)
|
|
||||||
vptest3.exe : vptest3.obj $(LIB_DEP)
|
|
||||||
vptorus.exe : vptorus.obj $(LIB_DEP)
|
|
||||||
vpwarpmesh.exe : vpwarpmesh.obj $(LIB_DEP)
|
|
||||||
@@ -1,250 +0,0 @@
|
|||||||
/* $Id: getprocaddress.c,v 1.6 2002/11/08 15:35:46 brianp Exp $ */
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Copyright (C) 1999-2002 Brian Paul All Rights Reserved.
|
|
||||||
*
|
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
|
||||||
* copy of this software and associated documentation files (the "Software"),
|
|
||||||
* to deal in the Software without restriction, including without limitation
|
|
||||||
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
|
||||||
* and/or sell copies of the Software, and to permit persons to whom the
|
|
||||||
* Software is furnished to do so, subject to the following conditions:
|
|
||||||
*
|
|
||||||
* The above copyright notice and this permission notice shall be included
|
|
||||||
* in all copies or substantial portions of the Software.
|
|
||||||
*
|
|
||||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
|
||||||
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
|
||||||
* BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
|
||||||
* AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
|
||||||
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Test that glXGetProcAddress works.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#define GLX_GLXEXT_PROTOTYPES
|
|
||||||
|
|
||||||
#include <X11/Xlib.h>
|
|
||||||
#include <X11/Xutil.h>
|
|
||||||
#include <GL/gl.h>
|
|
||||||
#include <GL/glx.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <string.h>
|
|
||||||
|
|
||||||
|
|
||||||
static GLboolean
|
|
||||||
test_ActiveTextureARB(void *func)
|
|
||||||
{
|
|
||||||
PFNGLACTIVETEXTUREARBPROC activeTexture = (PFNGLACTIVETEXTUREARBPROC) func;
|
|
||||||
GLint t;
|
|
||||||
GLboolean pass;
|
|
||||||
(*activeTexture)(GL_TEXTURE1_ARB);
|
|
||||||
glGetIntegerv(GL_ACTIVE_TEXTURE_ARB, &t);
|
|
||||||
pass = (t == GL_TEXTURE1_ARB);
|
|
||||||
(*activeTexture)(GL_TEXTURE0_ARB); /* restore default */
|
|
||||||
return pass;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static GLboolean
|
|
||||||
test_SecondaryColor3fEXT(void *func)
|
|
||||||
{
|
|
||||||
PFNGLSECONDARYCOLOR3FEXTPROC secColor3f = (PFNGLSECONDARYCOLOR3FEXTPROC) func;
|
|
||||||
GLfloat color[4];
|
|
||||||
GLboolean pass;
|
|
||||||
(*secColor3f)(1.0, 1.0, 0.0);
|
|
||||||
glGetFloatv(GL_CURRENT_SECONDARY_COLOR_EXT, color);
|
|
||||||
pass = (color[0] == 1.0 && color[1] == 1.0 && color[2] == 0.0);
|
|
||||||
(*secColor3f)(0.0, 0.0, 0.0); /* restore default */
|
|
||||||
return pass;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static GLboolean
|
|
||||||
test_ActiveStencilFaceEXT(void *func)
|
|
||||||
{
|
|
||||||
PFNGLACTIVESTENCILFACEEXTPROC activeFace = (PFNGLACTIVESTENCILFACEEXTPROC) func;
|
|
||||||
GLint face;
|
|
||||||
GLboolean pass;
|
|
||||||
(*activeFace)(GL_BACK);
|
|
||||||
glGetIntegerv(GL_ACTIVE_STENCIL_FACE_EXT, &face);
|
|
||||||
pass = (face == GL_BACK);
|
|
||||||
(*activeFace)(GL_FRONT); /* restore default */
|
|
||||||
return pass;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* The following header file is auto-generated with Python. The Python
|
|
||||||
* script looks in this file for functions named "test_*" as seen above.
|
|
||||||
*/
|
|
||||||
#include "getproclist.h"
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static int
|
|
||||||
extension_supported(const char *haystack, const char *needle)
|
|
||||||
{
|
|
||||||
if (strstr(haystack, needle))
|
|
||||||
return 1;
|
|
||||||
else
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static void
|
|
||||||
check_functions( const char *extensions )
|
|
||||||
{
|
|
||||||
struct name_test_pair *entry;
|
|
||||||
int failures = 0, passes = 0;
|
|
||||||
int totalFail = 0, totalPass = 0;
|
|
||||||
int doTests;
|
|
||||||
|
|
||||||
for (entry = functions; entry->name; entry++) {
|
|
||||||
if (entry->name[0] == '-') {
|
|
||||||
if (entry->name[1] == '1') {
|
|
||||||
doTests = 1;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
/* check if the named extension is available */
|
|
||||||
doTests = extension_supported(extensions, entry->name+1);
|
|
||||||
}
|
|
||||||
if (doTests)
|
|
||||||
printf("Testing %s functions\n", entry->name + 1);
|
|
||||||
totalFail += failures;
|
|
||||||
totalPass += passes;
|
|
||||||
failures = 0;
|
|
||||||
passes = 0;
|
|
||||||
}
|
|
||||||
else if (doTests) {
|
|
||||||
void *funcPtr = (void *) glXGetProcAddressARB((const GLubyte *) entry->name);
|
|
||||||
if (funcPtr) {
|
|
||||||
if (entry->test) {
|
|
||||||
GLboolean b;
|
|
||||||
printf(" Validating %s:", entry->name);
|
|
||||||
b = (*entry->test)(funcPtr);
|
|
||||||
if (b) {
|
|
||||||
printf(" Pass\n");
|
|
||||||
passes++;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
printf(" FAIL!!!\n");
|
|
||||||
failures++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
passes++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
printf(" glXGetProcAddress(%s) failed!\n", entry->name);
|
|
||||||
failures++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (doTests && (!(entry+1)->name || (entry+1)->name[0] == '-')) {
|
|
||||||
if (failures > 0) {
|
|
||||||
printf(" %d failed.\n", failures);
|
|
||||||
}
|
|
||||||
if (passes > 0) {
|
|
||||||
printf(" %d passed.\n", passes);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
totalFail += failures;
|
|
||||||
totalPass += passes;
|
|
||||||
|
|
||||||
printf("-----------------------------\n");
|
|
||||||
printf("Total: %d pass %d fail\n", totalPass, totalFail);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static void
|
|
||||||
print_screen_info(Display *dpy, int scrnum, Bool allowDirect)
|
|
||||||
{
|
|
||||||
Window win;
|
|
||||||
int attribSingle[] = {
|
|
||||||
GLX_RGBA,
|
|
||||||
GLX_RED_SIZE, 1,
|
|
||||||
GLX_GREEN_SIZE, 1,
|
|
||||||
GLX_BLUE_SIZE, 1,
|
|
||||||
None };
|
|
||||||
int attribDouble[] = {
|
|
||||||
GLX_RGBA,
|
|
||||||
GLX_RED_SIZE, 1,
|
|
||||||
GLX_GREEN_SIZE, 1,
|
|
||||||
GLX_BLUE_SIZE, 1,
|
|
||||||
GLX_DOUBLEBUFFER,
|
|
||||||
None };
|
|
||||||
|
|
||||||
XSetWindowAttributes attr;
|
|
||||||
unsigned long mask;
|
|
||||||
Window root;
|
|
||||||
GLXContext ctx;
|
|
||||||
XVisualInfo *visinfo;
|
|
||||||
int width = 100, height = 100;
|
|
||||||
|
|
||||||
root = RootWindow(dpy, scrnum);
|
|
||||||
|
|
||||||
visinfo = glXChooseVisual(dpy, scrnum, attribSingle);
|
|
||||||
if (!visinfo) {
|
|
||||||
visinfo = glXChooseVisual(dpy, scrnum, attribDouble);
|
|
||||||
if (!visinfo) {
|
|
||||||
fprintf(stderr, "Error: couldn't find RGB GLX visual\n");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
attr.background_pixel = 0;
|
|
||||||
attr.border_pixel = 0;
|
|
||||||
attr.colormap = XCreateColormap(dpy, root, visinfo->visual, AllocNone);
|
|
||||||
attr.event_mask = StructureNotifyMask | ExposureMask;
|
|
||||||
mask = CWBackPixel | CWBorderPixel | CWColormap | CWEventMask;
|
|
||||||
win = XCreateWindow(dpy, root, 0, 0, width, height,
|
|
||||||
0, visinfo->depth, InputOutput,
|
|
||||||
visinfo->visual, mask, &attr);
|
|
||||||
|
|
||||||
ctx = glXCreateContext( dpy, visinfo, NULL, allowDirect );
|
|
||||||
if (!ctx) {
|
|
||||||
fprintf(stderr, "Error: glXCreateContext failed\n");
|
|
||||||
XDestroyWindow(dpy, win);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (glXMakeCurrent(dpy, win, ctx)) {
|
|
||||||
check_functions( (const char *) glGetString(GL_EXTENSIONS) );
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
fprintf(stderr, "Error: glXMakeCurrent failed\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
glXDestroyContext(dpy, ctx);
|
|
||||||
XDestroyWindow(dpy, win);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
int
|
|
||||||
main(int argc, char *argv[])
|
|
||||||
{
|
|
||||||
char *displayName = NULL;
|
|
||||||
Display *dpy;
|
|
||||||
|
|
||||||
dpy = XOpenDisplay(displayName);
|
|
||||||
if (!dpy) {
|
|
||||||
fprintf(stderr, "Error: unable to open display %s\n", displayName);
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
print_screen_info(dpy, 0, GL_TRUE);
|
|
||||||
|
|
||||||
XCloseDisplay(dpy);
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
@@ -1,96 +0,0 @@
|
|||||||
#!/usr/bin/env python
|
|
||||||
|
|
||||||
# $Id: getprocaddress.py,v 1.2 2002/11/08 15:49:31 brianp Exp $
|
|
||||||
|
|
||||||
# Helper for the getprocaddress.c test.
|
|
||||||
|
|
||||||
|
|
||||||
import re, string
|
|
||||||
|
|
||||||
|
|
||||||
def PrintHead():
|
|
||||||
print """
|
|
||||||
struct name_test_pair {
|
|
||||||
const char *name;
|
|
||||||
GLboolean (*test)(void *);
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct name_test_pair functions[] = {"""
|
|
||||||
|
|
||||||
|
|
||||||
def PrintTail():
|
|
||||||
print"""
|
|
||||||
{ NULL, NULL }
|
|
||||||
};
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
def HaveTest(function):
|
|
||||||
testFuncs = [
|
|
||||||
"glActiveTextureARB",
|
|
||||||
"glSampleCoverageARB"
|
|
||||||
]
|
|
||||||
if function in testFuncs:
|
|
||||||
return 1
|
|
||||||
else:
|
|
||||||
return 0
|
|
||||||
|
|
||||||
|
|
||||||
def FindTestFunctions():
|
|
||||||
"""Scan getprocaddress.c for lines that start with "test_" to find
|
|
||||||
extension function tests. Return a list of names found."""
|
|
||||||
functions = []
|
|
||||||
f = open("getprocaddress.c")
|
|
||||||
if not f:
|
|
||||||
return functions
|
|
||||||
for line in f.readlines():
|
|
||||||
v = re.search("^test_([a-zA-Z0-9]+)", line)
|
|
||||||
if v:
|
|
||||||
func = v.group(1)
|
|
||||||
functions.append(func)
|
|
||||||
f.close
|
|
||||||
return functions
|
|
||||||
|
|
||||||
|
|
||||||
def PrintFunctions(specFile, tests):
|
|
||||||
|
|
||||||
# init some vars
|
|
||||||
prevCategory = ''
|
|
||||||
funcName = ''
|
|
||||||
|
|
||||||
f = open(specFile)
|
|
||||||
for line in f.readlines():
|
|
||||||
|
|
||||||
# split line into tokens
|
|
||||||
tokens = string.split(line)
|
|
||||||
|
|
||||||
if len(tokens) > 0 and line[0] != '#':
|
|
||||||
|
|
||||||
if tokens[0] == 'name':
|
|
||||||
if funcName != '':
|
|
||||||
if category != prevCategory:
|
|
||||||
print ' { "-%s", NULL},' % category
|
|
||||||
prevCategory = category
|
|
||||||
|
|
||||||
if funcName in tests:
|
|
||||||
test = "test_%s" % funcName
|
|
||||||
else:
|
|
||||||
test = "NULL"
|
|
||||||
print ' { "gl%s", %s },' % (funcName, test)
|
|
||||||
funcName = tokens[1]
|
|
||||||
|
|
||||||
elif tokens[0] == 'category':
|
|
||||||
category = tokens[1]
|
|
||||||
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
#endfor
|
|
||||||
#enddef
|
|
||||||
|
|
||||||
|
|
||||||
tests = FindTestFunctions()
|
|
||||||
PrintHead()
|
|
||||||
PrintFunctions("../bin/APIspec", tests)
|
|
||||||
PrintTail()
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,177 +0,0 @@
|
|||||||
/* $Id: jkrahntest.c,v 1.1 2002/06/16 03:57:48 brianp Exp $ */
|
|
||||||
|
|
||||||
/* This is a good test for glXSwapBuffers on non-current windows,
|
|
||||||
* and the glXCopyContext function. Fixed several Mesa/DRI bugs with
|
|
||||||
* this program on 15 June 2002.
|
|
||||||
*
|
|
||||||
* Joe's comments follow:
|
|
||||||
*
|
|
||||||
* I have tried some different approaches for being able to
|
|
||||||
* draw to multiple windows using one context, or a copied
|
|
||||||
* context. Mesa/indirect rendering works to use one context
|
|
||||||
* for multiple windows, but crashes with glXCopyContext.
|
|
||||||
* DRI is badly broken, at least for ATI.
|
|
||||||
*
|
|
||||||
* I also noticed that glXMakeCurrent allows a window and context
|
|
||||||
* from different visuals to be attached (haven't tested recently).
|
|
||||||
*
|
|
||||||
* Joe Krahn <jkrahn@nc.rr.com>
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <GL/glx.h>
|
|
||||||
#include <GL/gl.h>
|
|
||||||
#include <string.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
#include <math.h>
|
|
||||||
#define M_PI 3.14159
|
|
||||||
#define DEGTOR (M_PI/180.0)
|
|
||||||
|
|
||||||
static int AttributeList[] = { GLX_RGBA, GLX_DOUBLEBUFFER, None };
|
|
||||||
|
|
||||||
int main(int argc, char **argv)
|
|
||||||
{
|
|
||||||
Window win1, win2;
|
|
||||||
XVisualInfo *vi;
|
|
||||||
XSetWindowAttributes swa;
|
|
||||||
Display *dpy;
|
|
||||||
GLXContext ctx1, ctx2;
|
|
||||||
float angle;
|
|
||||||
int test;
|
|
||||||
|
|
||||||
if (argc < 2) {
|
|
||||||
fprintf(stderr, "This program tests GLX context switching.\n");
|
|
||||||
fprintf(stderr, "Usage: cxbug <n>\n");
|
|
||||||
fprintf(stderr, "Where n is:\n");
|
|
||||||
fprintf(stderr, "\t1) Use two contexts and swap only when the context is current (typical case).\n");
|
|
||||||
fprintf(stderr, "\t2) Use two contexts and swap at the same time.\n");
|
|
||||||
fprintf(stderr, "\t\t Used to crash Mesa & nVidia, and DRI artifacts. Seems OK now.\n");
|
|
||||||
fprintf(stderr, "\t3) Use one context, but only swap when a context is current.\n");
|
|
||||||
fprintf(stderr, "\t\t Serious artifacts for DRI at least with ATI.\n");
|
|
||||||
fprintf(stderr, "\t4) Use one context, swap both windows at the same time, so the left\n");
|
|
||||||
fprintf(stderr, "\t\t window has no context at swap time. Severe artifacts for DRI.\n");
|
|
||||||
fprintf(stderr, "\t5) Use two contexts, copying one to the other when switching windows.\n");
|
|
||||||
fprintf(stderr, "\t\t DRI gives an error, indirect rendering crashes server.\n");
|
|
||||||
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
test = atoi(argv[1]);
|
|
||||||
|
|
||||||
/* get a connection */
|
|
||||||
dpy = XOpenDisplay(NULL);
|
|
||||||
|
|
||||||
/* Get an appropriate visual */
|
|
||||||
vi = glXChooseVisual(dpy, DefaultScreen(dpy), AttributeList);
|
|
||||||
if (vi == 0) {
|
|
||||||
fprintf(stderr, "No matching visuals found.\n");
|
|
||||||
exit(-1);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Create two GLX contexts, with list sharing */
|
|
||||||
ctx1 = glXCreateContext(dpy, vi, 0, True);
|
|
||||||
ctx2 = glXCreateContext(dpy, vi, ctx1, True);
|
|
||||||
|
|
||||||
/* create a colormap */
|
|
||||||
swa.colormap = XCreateColormap(dpy, RootWindow(dpy, vi->screen),
|
|
||||||
vi->visual, AllocNone);
|
|
||||||
swa.border_pixel = 0;
|
|
||||||
|
|
||||||
/* Create two windows */
|
|
||||||
win1 = XCreateWindow(dpy, RootWindow(dpy, vi->screen),
|
|
||||||
10, 10, 200, 200,
|
|
||||||
0, vi->depth, InputOutput, vi->visual,
|
|
||||||
CWBorderPixel | CWColormap, &swa);
|
|
||||||
XStoreName(dpy, win1, "Test [L]");
|
|
||||||
XMapWindow(dpy, win1);
|
|
||||||
XMoveWindow(dpy, win1, 10, 10); /* Initial requested x,y may not be honored */
|
|
||||||
{
|
|
||||||
XSizeHints sizehints;
|
|
||||||
static const char *name = "window";
|
|
||||||
sizehints.x = 10;
|
|
||||||
sizehints.y = 10;
|
|
||||||
sizehints.width = 200;
|
|
||||||
sizehints.height = 200;
|
|
||||||
sizehints.flags = USSize | USPosition;
|
|
||||||
XSetNormalHints(dpy, win1, &sizehints);
|
|
||||||
XSetStandardProperties(dpy, win1, name, name,
|
|
||||||
None, (char **)NULL, 0, &sizehints);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
win2 = XCreateWindow(dpy, RootWindow(dpy, vi->screen),
|
|
||||||
250, 10, 200, 200,
|
|
||||||
0, vi->depth, InputOutput, vi->visual,
|
|
||||||
CWBorderPixel | CWColormap, &swa);
|
|
||||||
XStoreName(dpy, win1, "Test [R]");
|
|
||||||
XMapWindow(dpy, win2);
|
|
||||||
XMoveWindow(dpy, win2, 260, 10);
|
|
||||||
{
|
|
||||||
XSizeHints sizehints;
|
|
||||||
static const char *name = "window";
|
|
||||||
sizehints.x = 10;
|
|
||||||
sizehints.y = 10;
|
|
||||||
sizehints.width = 200;
|
|
||||||
sizehints.height = 200;
|
|
||||||
sizehints.flags = USSize | USPosition;
|
|
||||||
XSetNormalHints(dpy, win2, &sizehints);
|
|
||||||
XSetStandardProperties(dpy, win2, name, name,
|
|
||||||
None, (char **)NULL, 0, &sizehints);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* Now draw some spinning things */
|
|
||||||
for (angle = 0; angle < 360*4; angle += 10.0) {
|
|
||||||
/* Connect the context to window 1 */
|
|
||||||
glXMakeCurrent(dpy, win1, ctx1);
|
|
||||||
|
|
||||||
/* Clear and draw in window 1 */
|
|
||||||
glDrawBuffer(GL_BACK);
|
|
||||||
glClearColor(1, 1, 0, 1);
|
|
||||||
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
|
|
||||||
glColor3f(1, 0, 0);
|
|
||||||
glBegin(GL_TRIANGLES);
|
|
||||||
glVertex2f(0, 0);
|
|
||||||
glVertex2f(cos(angle * DEGTOR), sin(angle * DEGTOR));
|
|
||||||
glVertex2f(cos((angle + 20.0) * DEGTOR),
|
|
||||||
sin((angle + 20.0) * DEGTOR));
|
|
||||||
glEnd();
|
|
||||||
glFlush();
|
|
||||||
|
|
||||||
if (test == 1 || test == 3 || test == 5)
|
|
||||||
glXSwapBuffers(dpy, win1);
|
|
||||||
|
|
||||||
if (test == 5)
|
|
||||||
glXCopyContext(dpy, ctx1, ctx2, GL_ALL_ATTRIB_BITS);
|
|
||||||
/* Connect the context to window 2 */
|
|
||||||
if (test == 3 || test == 4) {
|
|
||||||
glXMakeCurrent(dpy, win2, ctx1);
|
|
||||||
} else {
|
|
||||||
glXMakeCurrent(dpy, win2, ctx2);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Clear and draw in window 2 */
|
|
||||||
glDrawBuffer(GL_BACK);
|
|
||||||
glClearColor(0, 0, 1, 1);
|
|
||||||
glClear(GL_COLOR_BUFFER_BIT);
|
|
||||||
glColor3f(1, 1, 0);
|
|
||||||
glBegin(GL_TRIANGLES);
|
|
||||||
glVertex2f(0, 0);
|
|
||||||
glVertex2f(cos(angle * DEGTOR), sin(angle * DEGTOR));
|
|
||||||
glVertex2f(cos((angle + 20.0) * DEGTOR),
|
|
||||||
sin((angle + 20.0) * DEGTOR));
|
|
||||||
glEnd();
|
|
||||||
glFlush();
|
|
||||||
|
|
||||||
/* Swap buffers */
|
|
||||||
if (test == 2 || test == 4)
|
|
||||||
glXSwapBuffers(dpy, win1);
|
|
||||||
glXSwapBuffers(dpy, win2);
|
|
||||||
|
|
||||||
/* wait a while */
|
|
||||||
glXWaitX();
|
|
||||||
usleep(20000);
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $Id: manytex.c,v 1.4 2002/10/18 17:47:36 kschultz Exp $ */
|
/* $Id: manytex.c,v 1.3 2000/11/09 16:53:26 brianp Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* test handling of many texture maps
|
* test handling of many texture maps
|
||||||
@@ -28,7 +28,7 @@ static GLboolean MipMap = GL_FALSE;
|
|||||||
static GLboolean LinearFilter = GL_FALSE;
|
static GLboolean LinearFilter = GL_FALSE;
|
||||||
static GLboolean RandomSize = GL_FALSE;
|
static GLboolean RandomSize = GL_FALSE;
|
||||||
static GLint Rows, Columns;
|
static GLint Rows, Columns;
|
||||||
static GLint LowPriorityCount = 0;
|
static GLuint LowPriorityCount = 0;
|
||||||
|
|
||||||
|
|
||||||
static void Idle( void )
|
static void Idle( void )
|
||||||
|
|||||||
@@ -1,7 +1,57 @@
|
|||||||
/* $Id: multipal.c,v 1.4 2002/10/18 17:47:36 kschultz Exp $ */
|
/* $Id: multipal.c,v 1.1.2.1 2002/04/15 22:13:00 kschultz Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Test multitexture and paletted textures.
|
* GL_ARB_multitexture demo
|
||||||
|
*
|
||||||
|
* Command line options:
|
||||||
|
* -info print GL implementation information
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* Brian Paul November 1998 This program is in the public domain.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* $Log: multipal.c,v $
|
||||||
|
* Revision 1.1.2.1 2002/04/15 22:13:00 kschultz
|
||||||
|
* Build demos/samples correctly on Windows (Robert Bergkvist) to sync up
|
||||||
|
* with the main branch. (I should have done this for 4.0.2)
|
||||||
|
*
|
||||||
|
* Revision 1.2 2002/01/16 01:03:25 kschultz
|
||||||
|
* get tests working on windows (Robert Bergkvist)
|
||||||
|
*
|
||||||
|
* Revision 1.1 2000/11/18 17:12:33 brianp
|
||||||
|
* test texture palettes with multitexture
|
||||||
|
*
|
||||||
|
* Revision 1.7 2000/11/01 16:02:01 brianp
|
||||||
|
* print number of texture units
|
||||||
|
*
|
||||||
|
* Revision 1.6 2000/05/23 23:21:00 brianp
|
||||||
|
* set default window pos
|
||||||
|
*
|
||||||
|
* Revision 1.5 2000/02/02 17:31:45 brianp
|
||||||
|
* changed > to >=
|
||||||
|
*
|
||||||
|
* Revision 1.4 2000/02/02 01:07:21 brianp
|
||||||
|
* limit Drift to [0, 1]
|
||||||
|
*
|
||||||
|
* Revision 1.3 1999/10/21 16:40:32 brianp
|
||||||
|
* added -info command line option
|
||||||
|
*
|
||||||
|
* Revision 1.2 1999/10/13 12:02:13 brianp
|
||||||
|
* use texture objects now
|
||||||
|
*
|
||||||
|
* Revision 1.1.1.1 1999/08/19 00:55:40 jtg
|
||||||
|
* Imported sources
|
||||||
|
*
|
||||||
|
* Revision 1.3 1999/03/28 18:20:49 brianp
|
||||||
|
* minor clean-up
|
||||||
|
*
|
||||||
|
* Revision 1.2 1998/11/05 04:34:04 brianp
|
||||||
|
* moved image files to ../images/ directory
|
||||||
|
*
|
||||||
|
* Revision 1.1 1998/11/03 01:36:33 brianp
|
||||||
|
* Initial revision
|
||||||
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
@@ -213,7 +263,7 @@ static void SpecialKey( int key, int x, int y )
|
|||||||
static void load_tex(const char *fname, int channel)
|
static void load_tex(const char *fname, int channel)
|
||||||
{
|
{
|
||||||
GLubyte *image;
|
GLubyte *image;
|
||||||
GLenum format;
|
GLenum format, type;
|
||||||
GLint w, h;
|
GLint w, h;
|
||||||
GLubyte *grayImage;
|
GLubyte *grayImage;
|
||||||
int i;
|
int i;
|
||||||
@@ -260,14 +310,11 @@ static void Init( int argc, char *argv[] )
|
|||||||
GLuint texObj[2];
|
GLuint texObj[2];
|
||||||
GLint units;
|
GLint units;
|
||||||
|
|
||||||
if (!glutExtensionSupported("GL_ARB_multitexture")) {
|
const char *exten = (const char *) glGetString(GL_EXTENSIONS);
|
||||||
|
if (!strstr(exten, "GL_ARB_multitexture")) {
|
||||||
printf("Sorry, GL_ARB_multitexture not supported by this renderer.\n");
|
printf("Sorry, GL_ARB_multitexture not supported by this renderer.\n");
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
if (!glutExtensionSupported("GL_EXT_paletted_texture")) {
|
|
||||||
printf("Sorry, GL_EXT_paletted_texture not supported by this renderer.\n");
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
glGetIntegerv(GL_MAX_TEXTURE_UNITS_ARB, &units);
|
glGetIntegerv(GL_MAX_TEXTURE_UNITS_ARB, &units);
|
||||||
printf("%d texture units supported\n", units);
|
printf("%d texture units supported\n", units);
|
||||||
|
|||||||
@@ -1,238 +0,0 @@
|
|||||||
/*
|
|
||||||
* Test vertex arrays and multitexture.
|
|
||||||
* Press 'a' to toggle vertex arrays on/off.
|
|
||||||
* When you run this program you should see a square with four colors:
|
|
||||||
*
|
|
||||||
* +------+------+
|
|
||||||
* |yellow| pink |
|
|
||||||
* +------+------+
|
|
||||||
* |green | blue |
|
|
||||||
* +------+------+
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
#include <assert.h>
|
|
||||||
#include <math.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <string.h>
|
|
||||||
#include "GL/glut.h"
|
|
||||||
|
|
||||||
static GLuint Window = 0;
|
|
||||||
|
|
||||||
static GLuint TexObj[2];
|
|
||||||
static GLfloat Angle = 0.0f;
|
|
||||||
static GLboolean UseArrays = 1, Anim = 0;
|
|
||||||
|
|
||||||
static GLfloat VertArray[4][2] = {
|
|
||||||
{-1.2, -1.2}, {1.2, -1.2}, {1.2, 1.2}, {-1.2, 1.2}
|
|
||||||
};
|
|
||||||
|
|
||||||
static GLfloat Tex0Array[4][2] = {
|
|
||||||
{0, 0}, {1, 0}, {1, 1}, {0, 1}
|
|
||||||
};
|
|
||||||
|
|
||||||
static GLfloat Tex1Array[4][2] = {
|
|
||||||
{0, 0}, {1, 0}, {1, 1}, {0, 1}
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
static void init_arrays(void)
|
|
||||||
{
|
|
||||||
glVertexPointer(2, GL_FLOAT, 0, VertArray);
|
|
||||||
glEnableClientState(GL_VERTEX_ARRAY);
|
|
||||||
|
|
||||||
glClientActiveTextureARB(GL_TEXTURE0_ARB);
|
|
||||||
glTexCoordPointer(2, GL_FLOAT, 0, Tex0Array);
|
|
||||||
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
|
|
||||||
|
|
||||||
glClientActiveTextureARB(GL_TEXTURE1_ARB);
|
|
||||||
glTexCoordPointer(2, GL_FLOAT, 0, Tex1Array);
|
|
||||||
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static void draw( void )
|
|
||||||
{
|
|
||||||
glClear( GL_COLOR_BUFFER_BIT );
|
|
||||||
|
|
||||||
glColor3f( 0.0, 0.0, 0.0 );
|
|
||||||
|
|
||||||
/* draw first polygon */
|
|
||||||
glPushMatrix();
|
|
||||||
glRotatef( Angle, 0.0, 0.0, 1.0 );
|
|
||||||
|
|
||||||
if (UseArrays) {
|
|
||||||
glDrawArrays(GL_POLYGON, 0, 4);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
glBegin( GL_POLYGON );
|
|
||||||
glTexCoord2f( 0.0, 0.0 );
|
|
||||||
glMultiTexCoord2fARB(GL_TEXTURE1_ARB, 0.0, 0.0);
|
|
||||||
glVertex2f( -1.0, -1.0 );
|
|
||||||
|
|
||||||
glTexCoord2f( 1.0, 0.0 );
|
|
||||||
glMultiTexCoord2fARB(GL_TEXTURE1_ARB, 1.0, 0.0);
|
|
||||||
glVertex2f( 1.0, -1.0 );
|
|
||||||
|
|
||||||
glTexCoord2f( 1.0, 1.0 );
|
|
||||||
glMultiTexCoord2fARB(GL_TEXTURE1_ARB, 1.0, 1.0);
|
|
||||||
glVertex2f( 1.0, 1.0 );
|
|
||||||
|
|
||||||
glTexCoord2f( 0.0, 1.0 );
|
|
||||||
glMultiTexCoord2fARB(GL_TEXTURE1_ARB, 0.0, 1.0);
|
|
||||||
glVertex2f( -1.0, 1.0 );
|
|
||||||
glEnd();
|
|
||||||
}
|
|
||||||
|
|
||||||
glPopMatrix();
|
|
||||||
|
|
||||||
glutSwapBuffers();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static void idle( void )
|
|
||||||
{
|
|
||||||
Angle += 2.0;
|
|
||||||
glutPostRedisplay();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* change view Angle, exit upon ESC */
|
|
||||||
static void key(unsigned char k, int x, int y)
|
|
||||||
{
|
|
||||||
(void) x;
|
|
||||||
(void) y;
|
|
||||||
switch (k) {
|
|
||||||
case 'a':
|
|
||||||
UseArrays = !UseArrays;
|
|
||||||
printf("UseArrays: %d\n", UseArrays);
|
|
||||||
break;
|
|
||||||
case ' ':
|
|
||||||
Anim = !Anim;
|
|
||||||
if (Anim)
|
|
||||||
glutIdleFunc(idle);
|
|
||||||
else
|
|
||||||
glutIdleFunc(NULL);
|
|
||||||
break;
|
|
||||||
case 27:
|
|
||||||
glDeleteTextures( 2, TexObj );
|
|
||||||
glutDestroyWindow(Window);
|
|
||||||
exit(0);
|
|
||||||
}
|
|
||||||
glutPostRedisplay();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* new window size or exposure */
|
|
||||||
static void reshape( int width, int height )
|
|
||||||
{
|
|
||||||
glViewport(0, 0, (GLint)width, (GLint)height);
|
|
||||||
glMatrixMode(GL_PROJECTION);
|
|
||||||
glLoadIdentity();
|
|
||||||
/* glOrtho( -3.0, 3.0, -3.0, 3.0, -10.0, 10.0 );*/
|
|
||||||
glFrustum( -2.0, 2.0, -2.0, 2.0, 6.0, 20.0 );
|
|
||||||
glMatrixMode(GL_MODELVIEW);
|
|
||||||
glLoadIdentity();
|
|
||||||
glTranslatef( 0.0, 0.0, -8.0 );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static void init( void )
|
|
||||||
{
|
|
||||||
static int width=8, height=8;
|
|
||||||
GLubyte tex[64][3];
|
|
||||||
GLint i, j;
|
|
||||||
|
|
||||||
/* generate texture object IDs */
|
|
||||||
glGenTextures( 2, TexObj );
|
|
||||||
|
|
||||||
/*
|
|
||||||
* setup first texture object
|
|
||||||
*/
|
|
||||||
glActiveTextureARB(GL_TEXTURE0_ARB);
|
|
||||||
glEnable( GL_TEXTURE_2D );
|
|
||||||
glTexEnvi( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_ADD );
|
|
||||||
|
|
||||||
glBindTexture( GL_TEXTURE_2D, TexObj[0] );
|
|
||||||
assert(glIsTexture(TexObj[0]));
|
|
||||||
|
|
||||||
/* red over black */
|
|
||||||
for (i=0;i<height;i++) {
|
|
||||||
for (j=0;j<width;j++) {
|
|
||||||
int p = i*width+j;
|
|
||||||
if (i < height / 2) {
|
|
||||||
tex[p][0] = 0; tex[p][1] = 0; tex[p][2] = 0;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
tex[p][0] = 255; tex[p][1] = 0; tex[p][2] = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
glTexImage2D( GL_TEXTURE_2D, 0, 3, width, height, 0,
|
|
||||||
GL_RGB, GL_UNSIGNED_BYTE, tex );
|
|
||||||
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST );
|
|
||||||
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST );
|
|
||||||
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT );
|
|
||||||
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT );
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* setup second texture object
|
|
||||||
*/
|
|
||||||
glActiveTextureARB(GL_TEXTURE1_ARB);
|
|
||||||
glEnable( GL_TEXTURE_2D );
|
|
||||||
glTexEnvi( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_ADD );
|
|
||||||
|
|
||||||
glBindTexture( GL_TEXTURE_2D, TexObj[1] );
|
|
||||||
assert(glIsTexture(TexObj[1]));
|
|
||||||
|
|
||||||
/* left=green, right = blue */
|
|
||||||
for (i=0;i<height;i++) {
|
|
||||||
for (j=0;j<width;j++) {
|
|
||||||
int p = i*width+j;
|
|
||||||
if (j < width / 2) {
|
|
||||||
tex[p][0] = 0; tex[p][1] = 255; tex[p][2] = 0;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
tex[p][0] = 0; tex[p][1] = 0; tex[p][2] = 255;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
glTexImage2D( GL_TEXTURE_2D, 0, 3, width, height, 0,
|
|
||||||
GL_RGB, GL_UNSIGNED_BYTE, tex );
|
|
||||||
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST );
|
|
||||||
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST );
|
|
||||||
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT );
|
|
||||||
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
int main( int argc, char *argv[] )
|
|
||||||
{
|
|
||||||
glutInit(&argc, argv);
|
|
||||||
glutInitWindowPosition(0, 0);
|
|
||||||
glutInitWindowSize(300, 300);
|
|
||||||
glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE );
|
|
||||||
|
|
||||||
Window = glutCreateWindow("Texture Objects");
|
|
||||||
if (!Window) {
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
init();
|
|
||||||
init_arrays();
|
|
||||||
|
|
||||||
glutReshapeFunc( reshape );
|
|
||||||
glutKeyboardFunc( key );
|
|
||||||
if (Anim)
|
|
||||||
glutIdleFunc( idle );
|
|
||||||
glutDisplayFunc( draw );
|
|
||||||
glutMainLoop();
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $Id: sharedtex.c,v 1.2 2002/01/16 14:32:46 joukj Exp $ */
|
/* $Id: sharedtex.c,v 1.1 2000/09/01 21:01:18 brianp Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Test sharing of display lists and texture objects between GLX contests.
|
* Test sharing of display lists and texture objects between GLX contests.
|
||||||
@@ -32,7 +32,6 @@
|
|||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <string.h>
|
|
||||||
|
|
||||||
|
|
||||||
struct window {
|
struct window {
|
||||||
@@ -143,7 +142,7 @@ AddWindow(const char *displayName, int xpos, int ypos,
|
|||||||
if (!glXMakeCurrent(dpy, win, ctx)) {
|
if (!glXMakeCurrent(dpy, win, ctx)) {
|
||||||
Error(displayName, "glXMakeCurrent failed");
|
Error(displayName, "glXMakeCurrent failed");
|
||||||
printf("glXMakeCurrent failed in Redraw()\n");
|
printf("glXMakeCurrent failed in Redraw()\n");
|
||||||
return NULL;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* save the info for this window */
|
/* save the info for this window */
|
||||||
|
|||||||
@@ -1,147 +0,0 @@
|
|||||||
/* Test GL_EXT_stencil_wrap extension.
|
|
||||||
* This is by no means complete, just a quick check.
|
|
||||||
*
|
|
||||||
* Brian Paul 30 October 2002
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <assert.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <math.h>
|
|
||||||
#include <GL/glut.h>
|
|
||||||
|
|
||||||
|
|
||||||
static void RunTest(void)
|
|
||||||
{
|
|
||||||
const GLenum prim = GL_LINES;
|
|
||||||
GLubyte val;
|
|
||||||
int bits, max, i;
|
|
||||||
|
|
||||||
glGetIntegerv(GL_STENCIL_BITS, &bits);
|
|
||||||
max = (1 << bits) - 1;
|
|
||||||
|
|
||||||
glClearStencil(0);
|
|
||||||
glEnable(GL_STENCIL_TEST);
|
|
||||||
glStencilFunc(GL_ALWAYS, 0, ~0);
|
|
||||||
|
|
||||||
/* test GL_INCR (saturation) */
|
|
||||||
glClear(GL_STENCIL_BUFFER_BIT);
|
|
||||||
glStencilOp(GL_KEEP, GL_KEEP, GL_INCR);
|
|
||||||
printf("Testing GL_INCR...\n");
|
|
||||||
for (i = 1; i < max+10; i++) {
|
|
||||||
int expected = (i > max) ? max : i;
|
|
||||||
glBegin(prim);
|
|
||||||
glVertex2f(0.5, 0.5); glVertex2f(9.5, 0.5);
|
|
||||||
glEnd();
|
|
||||||
glReadPixels(0, 0, 1, 1, GL_STENCIL_INDEX, GL_UNSIGNED_BYTE, &val);
|
|
||||||
assert(val == expected);
|
|
||||||
}
|
|
||||||
printf("OK!\n");
|
|
||||||
|
|
||||||
/* test GL_INCR_WRAP_EXT (wrap around) */
|
|
||||||
glClear(GL_STENCIL_BUFFER_BIT);
|
|
||||||
glStencilOp(GL_KEEP, GL_KEEP, GL_INCR_WRAP_EXT);
|
|
||||||
printf("Testing GL_INCR_WRAP_EXT...\n");
|
|
||||||
for (i = 1; i < max+10; i++) {
|
|
||||||
int expected = i % (max + 1);
|
|
||||||
glBegin(prim);
|
|
||||||
glVertex2f(0.5, 0.5); glVertex2f(9.5, 0.5);
|
|
||||||
glEnd();
|
|
||||||
glReadPixels(0, 0, 1, 1, GL_STENCIL_INDEX, GL_UNSIGNED_BYTE, &val);
|
|
||||||
assert(val == expected);
|
|
||||||
}
|
|
||||||
printf("OK!\n");
|
|
||||||
|
|
||||||
glClearStencil(max);
|
|
||||||
|
|
||||||
/* test GL_INCR (saturation) */
|
|
||||||
glClear(GL_STENCIL_BUFFER_BIT);
|
|
||||||
glStencilOp(GL_KEEP, GL_KEEP, GL_DECR);
|
|
||||||
printf("Testing GL_DECR...\n");
|
|
||||||
for (i = max-1; i > -10; i--) {
|
|
||||||
int expected = (i < 0) ? 0 : i;
|
|
||||||
glBegin(prim);
|
|
||||||
glVertex2f(0.5, 0.5); glVertex2f(9.5, 0.5);
|
|
||||||
glEnd();
|
|
||||||
glReadPixels(0, 0, 1, 1, GL_STENCIL_INDEX, GL_UNSIGNED_BYTE, &val);
|
|
||||||
assert(val == expected);
|
|
||||||
}
|
|
||||||
printf("OK!\n");
|
|
||||||
|
|
||||||
/* test GL_INCR_WRAP_EXT (wrap-around) */
|
|
||||||
glClear(GL_STENCIL_BUFFER_BIT);
|
|
||||||
glStencilOp(GL_KEEP, GL_KEEP, GL_DECR_WRAP_EXT);
|
|
||||||
printf("Testing GL_DECR_WRAP_EXT...\n");
|
|
||||||
for (i = max-1; i > -10; i--) {
|
|
||||||
int expected = (i < 0) ? max + i + 1: i;
|
|
||||||
glBegin(prim);
|
|
||||||
glVertex2f(0.5, 0.5); glVertex2f(9.5, 0.5);
|
|
||||||
glEnd();
|
|
||||||
glReadPixels(0, 0, 1, 1, GL_STENCIL_INDEX, GL_UNSIGNED_BYTE, &val);
|
|
||||||
assert(val == expected);
|
|
||||||
}
|
|
||||||
printf("OK!\n");
|
|
||||||
|
|
||||||
glDisable(GL_STENCIL_TEST);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static void Display( void )
|
|
||||||
{
|
|
||||||
glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
|
|
||||||
|
|
||||||
RunTest();
|
|
||||||
|
|
||||||
glutSwapBuffers();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static void Reshape( int width, int height )
|
|
||||||
{
|
|
||||||
glViewport( 0, 0, width, height );
|
|
||||||
glMatrixMode( GL_PROJECTION );
|
|
||||||
glLoadIdentity();
|
|
||||||
glOrtho(0, width, 0, height, -1, 1);
|
|
||||||
glMatrixMode( GL_MODELVIEW );
|
|
||||||
glLoadIdentity();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static void Key( unsigned char key, int x, int y )
|
|
||||||
{
|
|
||||||
(void) x;
|
|
||||||
(void) y;
|
|
||||||
switch (key) {
|
|
||||||
case 27:
|
|
||||||
exit(0);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
glutPostRedisplay();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static void Init( void )
|
|
||||||
{
|
|
||||||
printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
|
|
||||||
printf("GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
|
|
||||||
if (!glutExtensionSupported("GL_EXT_stencil_wrap")) {
|
|
||||||
printf("Sorry, GL_EXT_stencil_wrap not supported.\n");
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
int main( int argc, char *argv[] )
|
|
||||||
{
|
|
||||||
glutInit( &argc, argv );
|
|
||||||
glutInitWindowPosition( 0, 0 );
|
|
||||||
glutInitWindowSize( 400, 400 );
|
|
||||||
glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE | GLUT_STENCIL );
|
|
||||||
glutCreateWindow(argv[0]);
|
|
||||||
glutReshapeFunc( Reshape );
|
|
||||||
glutKeyboardFunc( Key );
|
|
||||||
glutDisplayFunc( Display );
|
|
||||||
Init();
|
|
||||||
glutMainLoop();
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $Id: texline.c,v 1.4 2002/08/17 00:30:36 brianp Exp $ */
|
/* $Id: texline.c,v 1.3 2001/05/21 17:45:25 brianp Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Test textured lines.
|
* Test textured lines.
|
||||||
@@ -18,14 +18,14 @@
|
|||||||
|
|
||||||
static GLboolean Antialias = GL_FALSE;
|
static GLboolean Antialias = GL_FALSE;
|
||||||
static GLboolean Animate = GL_FALSE;
|
static GLboolean Animate = GL_FALSE;
|
||||||
static GLint Texture = 1;
|
static GLboolean Texture = GL_TRUE;
|
||||||
static GLboolean Stipple = GL_FALSE;
|
|
||||||
static GLfloat LineWidth = 1.0;
|
static GLfloat LineWidth = 1.0;
|
||||||
|
static GLboolean Multitex = GL_FALSE;
|
||||||
|
|
||||||
static GLfloat Xrot = -60.0, Yrot = 0.0, Zrot = 0.0;
|
static GLfloat Xrot = -60.0, Yrot = 0.0, Zrot = 0.0;
|
||||||
static GLfloat DYrot = 1.0;
|
static GLfloat DYrot = 1.0;
|
||||||
static GLboolean Points = GL_FALSE;
|
static GLboolean Points = GL_FALSE;
|
||||||
static GLfloat Scale = 1.0;
|
|
||||||
|
|
||||||
static void Idle( void )
|
static void Idle( void )
|
||||||
{
|
{
|
||||||
@@ -46,7 +46,6 @@ static void Display( void )
|
|||||||
glRotatef(Xrot, 1.0, 0.0, 0.0);
|
glRotatef(Xrot, 1.0, 0.0, 0.0);
|
||||||
glRotatef(Yrot, 0.0, 1.0, 0.0);
|
glRotatef(Yrot, 0.0, 1.0, 0.0);
|
||||||
glRotatef(Zrot, 0.0, 0.0, 1.0);
|
glRotatef(Zrot, 0.0, 0.0, 1.0);
|
||||||
glScalef(Scale, Scale, Scale);
|
|
||||||
|
|
||||||
if (Texture)
|
if (Texture)
|
||||||
glColor3f(1, 1, 1);
|
glColor3f(1, 1, 1);
|
||||||
@@ -123,27 +122,11 @@ static void Key( unsigned char key, int x, int y )
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 't':
|
case 't':
|
||||||
Texture++;
|
Texture = !Texture;
|
||||||
if (Texture > 2)
|
if (Texture)
|
||||||
Texture = 0;
|
|
||||||
if (Texture == 0) {
|
|
||||||
glActiveTextureARB(GL_TEXTURE0_ARB);
|
|
||||||
glDisable(GL_TEXTURE_2D);
|
|
||||||
glActiveTextureARB(GL_TEXTURE1_ARB);
|
|
||||||
glDisable(GL_TEXTURE_2D);
|
|
||||||
}
|
|
||||||
else if (Texture == 1) {
|
|
||||||
glActiveTextureARB(GL_TEXTURE0_ARB);
|
|
||||||
glEnable(GL_TEXTURE_2D);
|
glEnable(GL_TEXTURE_2D);
|
||||||
glActiveTextureARB(GL_TEXTURE1_ARB);
|
else
|
||||||
glDisable(GL_TEXTURE_2D);
|
glDisable(GL_TEXTURE_2D);
|
||||||
}
|
|
||||||
else {
|
|
||||||
glActiveTextureARB(GL_TEXTURE0_ARB);
|
|
||||||
glEnable(GL_TEXTURE_2D);
|
|
||||||
glActiveTextureARB(GL_TEXTURE1_ARB);
|
|
||||||
glEnable(GL_TEXTURE_2D);
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
case 'w':
|
case 'w':
|
||||||
LineWidth -= 0.25;
|
LineWidth -= 0.25;
|
||||||
@@ -159,16 +142,18 @@ static void Key( unsigned char key, int x, int y )
|
|||||||
glLineWidth(LineWidth);
|
glLineWidth(LineWidth);
|
||||||
glPointSize(LineWidth);
|
glPointSize(LineWidth);
|
||||||
break;
|
break;
|
||||||
|
case 'm':
|
||||||
|
Multitex = !Multitex;
|
||||||
|
if (Multitex) {
|
||||||
|
glEnable(GL_TEXTURE_2D);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
glDisable(GL_TEXTURE_2D);
|
||||||
|
}
|
||||||
|
break;
|
||||||
case 'p':
|
case 'p':
|
||||||
Points = !Points;
|
Points = !Points;
|
||||||
break;
|
break;
|
||||||
case 's':
|
|
||||||
Stipple = !Stipple;
|
|
||||||
if (Stipple)
|
|
||||||
glEnable(GL_LINE_STIPPLE);
|
|
||||||
else
|
|
||||||
glDisable(GL_LINE_STIPPLE);
|
|
||||||
break;
|
|
||||||
case ' ':
|
case ' ':
|
||||||
Animate = !Animate;
|
Animate = !Animate;
|
||||||
if (Animate)
|
if (Animate)
|
||||||
@@ -215,7 +200,7 @@ static void Init( int argc, char *argv[] )
|
|||||||
for (u = 0; u < 2; u++) {
|
for (u = 0; u < 2; u++) {
|
||||||
glActiveTextureARB(GL_TEXTURE0_ARB + u);
|
glActiveTextureARB(GL_TEXTURE0_ARB + u);
|
||||||
glBindTexture(GL_TEXTURE_2D, 10+u);
|
glBindTexture(GL_TEXTURE_2D, 10+u);
|
||||||
if (u == 0)
|
if (u == 0 || Multitex)
|
||||||
glEnable(GL_TEXTURE_2D);
|
glEnable(GL_TEXTURE_2D);
|
||||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
|
||||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
|
||||||
@@ -234,8 +219,6 @@ static void Init( int argc, char *argv[] )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
glLineStipple(1, 0xff);
|
|
||||||
|
|
||||||
if (argc > 1 && strcmp(argv[1], "-info")==0) {
|
if (argc > 1 && strcmp(argv[1], "-info")==0) {
|
||||||
printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
|
printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
|
||||||
printf("GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
|
printf("GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
|
||||||
|
|||||||
@@ -1,298 +0,0 @@
|
|||||||
/* $Id: texrect.c,v 1.2 2002/10/15 14:43:55 brianp Exp $ */
|
|
||||||
|
|
||||||
/* GL_NV_texture_rectangle test
|
|
||||||
*
|
|
||||||
* Brian Paul
|
|
||||||
* 14 June 2002
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
#define GL_GLEXT_PROTOTYPES
|
|
||||||
#include <math.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <string.h>
|
|
||||||
#include <GL/glut.h>
|
|
||||||
|
|
||||||
#include "readtex.c" /* I know, this is a hack. */
|
|
||||||
|
|
||||||
#define TEXTURE_0_FILE "../images/girl.rgb"
|
|
||||||
#define TEXTURE_1_FILE "../images/reflect.rgb"
|
|
||||||
|
|
||||||
#define TEX0 1
|
|
||||||
#define TEX7 8
|
|
||||||
#define ANIMATE 10
|
|
||||||
#define QUIT 100
|
|
||||||
|
|
||||||
static GLboolean Animate = GL_TRUE;
|
|
||||||
static GLint NumUnits = 2;
|
|
||||||
static GLboolean TexEnabled[8];
|
|
||||||
static GLint Width[8], Height[8]; /* image sizes */
|
|
||||||
static GLenum Format[8];
|
|
||||||
|
|
||||||
static GLfloat Xrot = 00.0, Yrot = 00.0, Zrot = 0.0;
|
|
||||||
|
|
||||||
|
|
||||||
static void Idle( void )
|
|
||||||
{
|
|
||||||
Zrot += 1.0;
|
|
||||||
glutPostRedisplay();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static void DrawObject(void)
|
|
||||||
{
|
|
||||||
GLint i;
|
|
||||||
GLfloat d = 0; /* set this >0 to test clamping */
|
|
||||||
|
|
||||||
glColor3f(.1, .1, .1); /* modulate this */
|
|
||||||
|
|
||||||
glPushMatrix();
|
|
||||||
|
|
||||||
glRotatef(Zrot, 0, 0, 1);
|
|
||||||
|
|
||||||
glBegin(GL_QUADS);
|
|
||||||
|
|
||||||
for (i = 0; i < NumUnits; i++)
|
|
||||||
glMultiTexCoord2fARB(GL_TEXTURE0_ARB + i, -d, -d);
|
|
||||||
glVertex2f(-1.0, -1.0);
|
|
||||||
|
|
||||||
for (i = 0; i < NumUnits; i++)
|
|
||||||
glMultiTexCoord2fARB(GL_TEXTURE0_ARB + i, Width[i]+d, -3);
|
|
||||||
glVertex2f(1.0, -1.0);
|
|
||||||
|
|
||||||
for (i = 0; i < NumUnits; i++)
|
|
||||||
glMultiTexCoord2fARB(GL_TEXTURE0_ARB + i, Width[i]+d, Height[i]+3);
|
|
||||||
glVertex2f(1.0, 1.0);
|
|
||||||
|
|
||||||
for (i = 0; i < NumUnits; i++)
|
|
||||||
glMultiTexCoord2fARB(GL_TEXTURE0_ARB + i, -d, Height[i]+d);
|
|
||||||
glVertex2f(-1.0, 1.0);
|
|
||||||
|
|
||||||
glEnd();
|
|
||||||
glPopMatrix();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static void Display( void )
|
|
||||||
{
|
|
||||||
glClear( GL_COLOR_BUFFER_BIT );
|
|
||||||
|
|
||||||
glPushMatrix();
|
|
||||||
glRotatef(Xrot, 1.0, 0.0, 0.0);
|
|
||||||
glRotatef(Yrot, 0.0, 1.0, 0.0);
|
|
||||||
glRotatef(Zrot, 0.0, 0.0, 1.0);
|
|
||||||
glScalef(5.0, 5.0, 5.0);
|
|
||||||
DrawObject();
|
|
||||||
glPopMatrix();
|
|
||||||
|
|
||||||
glutSwapBuffers();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static void Reshape( int width, int height )
|
|
||||||
{
|
|
||||||
glViewport( 0, 0, width, height );
|
|
||||||
glMatrixMode( GL_PROJECTION );
|
|
||||||
glLoadIdentity();
|
|
||||||
glFrustum( -1.0, 1.0, -1.0, 1.0, 5.0, 100.0 );
|
|
||||||
glMatrixMode( GL_MODELVIEW );
|
|
||||||
glLoadIdentity();
|
|
||||||
glTranslatef( 0.0, 0.0, -35.0 );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static void ModeMenu(int entry)
|
|
||||||
{
|
|
||||||
if (entry >= TEX0 && entry < TEX0 + NumUnits) {
|
|
||||||
/* toggle */
|
|
||||||
GLint i = entry - TEX0;
|
|
||||||
TexEnabled[i] = !TexEnabled[i];
|
|
||||||
glActiveTextureARB(GL_TEXTURE0_ARB + i);
|
|
||||||
if (TexEnabled[i]) {
|
|
||||||
glEnable(GL_TEXTURE_RECTANGLE_NV);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
glDisable(GL_TEXTURE_RECTANGLE_NV);
|
|
||||||
}
|
|
||||||
printf("Enabled: ");
|
|
||||||
for (i = 0; i < NumUnits; i++)
|
|
||||||
printf("%d ", (int) TexEnabled[i]);
|
|
||||||
printf("\n");
|
|
||||||
}
|
|
||||||
else if (entry==ANIMATE) {
|
|
||||||
Animate = !Animate;
|
|
||||||
if (Animate)
|
|
||||||
glutIdleFunc(Idle);
|
|
||||||
else
|
|
||||||
glutIdleFunc(NULL);
|
|
||||||
}
|
|
||||||
else if (entry==QUIT) {
|
|
||||||
exit(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
glutPostRedisplay();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static void Key( unsigned char key, int x, int y )
|
|
||||||
{
|
|
||||||
(void) x;
|
|
||||||
(void) y;
|
|
||||||
switch (key) {
|
|
||||||
case 27:
|
|
||||||
exit(0);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
glutPostRedisplay();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static void SpecialKey( int key, int x, int y )
|
|
||||||
{
|
|
||||||
float step = 3.0;
|
|
||||||
(void) x;
|
|
||||||
(void) y;
|
|
||||||
|
|
||||||
switch (key) {
|
|
||||||
case GLUT_KEY_UP:
|
|
||||||
Xrot += step;
|
|
||||||
break;
|
|
||||||
case GLUT_KEY_DOWN:
|
|
||||||
Xrot -= step;
|
|
||||||
break;
|
|
||||||
case GLUT_KEY_LEFT:
|
|
||||||
Yrot += step;
|
|
||||||
break;
|
|
||||||
case GLUT_KEY_RIGHT:
|
|
||||||
Yrot -= step;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
glutPostRedisplay();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static void Init( int argc, char *argv[] )
|
|
||||||
{
|
|
||||||
GLuint texObj[8];
|
|
||||||
GLint size, i;
|
|
||||||
|
|
||||||
if (!glutExtensionSupported("GL_ARB_multitexture")) {
|
|
||||||
printf("Sorry, GL_ARB_multitexture needed by this program\n");
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!glutExtensionSupported("GL_NV_texture_rectangle")) {
|
|
||||||
printf("Sorry, GL_NV_texture_rectangle needed by this program\n");
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
glGetIntegerv(GL_MAX_TEXTURE_UNITS_ARB, &NumUnits);
|
|
||||||
printf("%d texture units supported, using 2.\n", NumUnits);
|
|
||||||
if (NumUnits > 2)
|
|
||||||
NumUnits = 2;
|
|
||||||
|
|
||||||
glGetIntegerv(GL_MAX_RECTANGLE_TEXTURE_SIZE_NV, &size);
|
|
||||||
printf("%d x %d max texture rectangle size\n", size, size);
|
|
||||||
|
|
||||||
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
|
|
||||||
|
|
||||||
for (i = 0; i < NumUnits; i++) {
|
|
||||||
TexEnabled[i] = GL_TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* allocate two texture objects */
|
|
||||||
glGenTextures(NumUnits, texObj);
|
|
||||||
|
|
||||||
/* setup the texture objects */
|
|
||||||
for (i = 0; i < NumUnits; i++) {
|
|
||||||
|
|
||||||
glActiveTextureARB(GL_TEXTURE0_ARB + i);
|
|
||||||
|
|
||||||
glBindTexture(GL_TEXTURE_RECTANGLE_NV, texObj[i]);
|
|
||||||
glTexParameteri(GL_TEXTURE_RECTANGLE_NV,
|
|
||||||
GL_TEXTURE_MIN_FILTER, GL_NEAREST);
|
|
||||||
glTexParameteri(GL_TEXTURE_RECTANGLE_NV,
|
|
||||||
GL_TEXTURE_MAG_FILTER, GL_NEAREST);
|
|
||||||
|
|
||||||
if (i == 0) {
|
|
||||||
GLubyte *img = LoadRGBImage(TEXTURE_0_FILE, &Width[0], &Height[0],
|
|
||||||
&Format[0]);
|
|
||||||
if (!img) {
|
|
||||||
printf("Error: couldn't load texture image\n");
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
printf("Texture %d: %s (%d x %d)\n", i,
|
|
||||||
TEXTURE_0_FILE, Width[0], Height[0]);
|
|
||||||
glTexImage2D(GL_TEXTURE_RECTANGLE_NV, 0, GL_RGB,
|
|
||||||
Width[0], Height[0], 0,
|
|
||||||
Format[0], GL_UNSIGNED_BYTE, img);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
GLubyte *img = LoadRGBImage(TEXTURE_1_FILE, &Width[1], &Height[1],
|
|
||||||
&Format[1]);
|
|
||||||
if (!img) {
|
|
||||||
printf("Error: couldn't load texture image\n");
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
printf("Texture %d: %s (%d x %d)\n", i,
|
|
||||||
TEXTURE_1_FILE, Width[1], Height[1]);
|
|
||||||
glTexImage2D(GL_TEXTURE_RECTANGLE_NV, 0, GL_RGB,
|
|
||||||
Width[1], Height[1], 0,
|
|
||||||
Format[1], GL_UNSIGNED_BYTE, img);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (i < 1)
|
|
||||||
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_ADD);
|
|
||||||
else
|
|
||||||
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_ADD);
|
|
||||||
|
|
||||||
if (TexEnabled[i])
|
|
||||||
glEnable(GL_TEXTURE_RECTANGLE_NV);
|
|
||||||
}
|
|
||||||
|
|
||||||
glShadeModel(GL_FLAT);
|
|
||||||
glClearColor(0.3, 0.3, 0.4, 1.0);
|
|
||||||
|
|
||||||
if (argc > 1 && strcmp(argv[1], "-info")==0) {
|
|
||||||
printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
|
|
||||||
printf("GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
|
|
||||||
printf("GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
|
|
||||||
printf("GL_EXTENSIONS = %s\n", (char *) glGetString(GL_EXTENSIONS));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
int main( int argc, char *argv[] )
|
|
||||||
{
|
|
||||||
GLint i;
|
|
||||||
|
|
||||||
glutInit( &argc, argv );
|
|
||||||
glutInitWindowSize( 300, 300 );
|
|
||||||
glutInitWindowPosition( 0, 0 );
|
|
||||||
glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE );
|
|
||||||
glutCreateWindow(argv[0] );
|
|
||||||
|
|
||||||
Init( argc, argv );
|
|
||||||
|
|
||||||
glutReshapeFunc( Reshape );
|
|
||||||
glutKeyboardFunc( Key );
|
|
||||||
glutSpecialFunc( SpecialKey );
|
|
||||||
glutDisplayFunc( Display );
|
|
||||||
if (Animate)
|
|
||||||
glutIdleFunc( Idle );
|
|
||||||
|
|
||||||
glutCreateMenu(ModeMenu);
|
|
||||||
|
|
||||||
for (i = 0; i < NumUnits; i++) {
|
|
||||||
char s[100];
|
|
||||||
sprintf(s, "Toggle Texture %d", i);
|
|
||||||
glutAddMenuEntry(s, TEX0 + i);
|
|
||||||
}
|
|
||||||
glutAddMenuEntry("Toggle Animation", ANIMATE);
|
|
||||||
glutAddMenuEntry("Quit", QUIT);
|
|
||||||
glutAttachMenu(GLUT_RIGHT_BUTTON);
|
|
||||||
|
|
||||||
glutMainLoop();
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $Id: texwrap.c,v 1.4 2002/10/18 17:47:36 kschultz Exp $ */
|
/* $Id: texwrap.c,v 1.2 2001/04/12 20:50:26 brianp Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Test texture wrap modes.
|
* Test texture wrap modes.
|
||||||
@@ -16,18 +16,10 @@
|
|||||||
#include <GL/glut.h>
|
#include <GL/glut.h>
|
||||||
|
|
||||||
|
|
||||||
#ifndef GL_CLAMP_TO_BORDER
|
#ifndef GL_CLAMP_TO_BORDER_ARB
|
||||||
#define GL_CLAMP_TO_BORDER 0x812D
|
#define GL_CLAMP_TO_BORDER_ARB 0x812D
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef GL_MIRRORED_REPEAT
|
|
||||||
#define GL_MIRRORED_REPEAT 0x8370
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef GL_ATI_texture_mirror_once
|
|
||||||
#define GL_MIRROR_CLAMP_ATI 0x8742
|
|
||||||
#define GL_MIRROR_CLAMP_TO_EDGE_ATI 0x8743
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define BORDER_TEXTURE 1
|
#define BORDER_TEXTURE 1
|
||||||
#define NO_BORDER_TEXTURE 2
|
#define NO_BORDER_TEXTURE 2
|
||||||
@@ -38,38 +30,6 @@ static GLubyte NoBorderImage[SIZE][SIZE][4];
|
|||||||
static GLuint Border = 1;
|
static GLuint Border = 1;
|
||||||
|
|
||||||
|
|
||||||
#define WRAP_MODE(m) { m , # m, GL_TRUE, 1.0, { NULL, NULL } }
|
|
||||||
#define WRAP_EXT(m,e1,e2,v) { m , # m, GL_FALSE, v, { e1, e2 } }
|
|
||||||
|
|
||||||
struct wrap_mode {
|
|
||||||
GLenum mode;
|
|
||||||
const char * name;
|
|
||||||
GLboolean supported;
|
|
||||||
GLfloat version;
|
|
||||||
const char * extension_names[2];
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct wrap_mode modes[] = {
|
|
||||||
WRAP_MODE( GL_REPEAT ),
|
|
||||||
WRAP_MODE( GL_CLAMP ),
|
|
||||||
WRAP_EXT ( GL_CLAMP_TO_EDGE, "GL_EXT_texture_edge_clamp",
|
|
||||||
"GL_SGIS_texture_edge_clamp",
|
|
||||||
1.2 ),
|
|
||||||
WRAP_EXT ( GL_CLAMP_TO_BORDER, "GL_ARB_texture_border_clamp",
|
|
||||||
"GL_SGIS_texture_border_clamp",
|
|
||||||
1.3 ),
|
|
||||||
WRAP_EXT ( GL_MIRRORED_REPEAT, "GL_ARB_texture_mirrored_repeat",
|
|
||||||
"GL_IBM_texture_mirrored_repeat",
|
|
||||||
1.4 ),
|
|
||||||
WRAP_EXT ( GL_MIRROR_CLAMP_ATI, "GL_ATI_texture_mirror_once",
|
|
||||||
NULL,
|
|
||||||
999.0 ),
|
|
||||||
WRAP_EXT ( GL_MIRROR_CLAMP_TO_EDGE_ATI, "GL_ATI_texture_mirror_once",
|
|
||||||
NULL,
|
|
||||||
999.0 ),
|
|
||||||
{ 0 }
|
|
||||||
};
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
PrintString(const char *s)
|
PrintString(const char *s)
|
||||||
{
|
{
|
||||||
@@ -82,36 +42,23 @@ PrintString(const char *s)
|
|||||||
|
|
||||||
static void Display( void )
|
static void Display( void )
|
||||||
{
|
{
|
||||||
GLenum i, j;
|
static const GLenum modes[] = {
|
||||||
GLint offset;
|
GL_REPEAT,
|
||||||
GLfloat version;
|
GL_CLAMP,
|
||||||
|
GL_CLAMP_TO_EDGE,
|
||||||
|
GL_CLAMP_TO_BORDER_ARB
|
||||||
|
};
|
||||||
|
static const char *names[] = {
|
||||||
|
"GL_REPEAT",
|
||||||
|
"GL_CLAMP",
|
||||||
|
"GL_CLAMP_TO_EDGE",
|
||||||
|
"GL_CLAMP_TO_BORDER_ARB"
|
||||||
|
};
|
||||||
|
|
||||||
/* Fill in the extensions that are supported.
|
GLint i, j;
|
||||||
*/
|
GLint numModes;
|
||||||
|
|
||||||
version = atof( (char *) glGetString( GL_VERSION ) );
|
|
||||||
for ( i = 0 ; modes[i].mode != 0 ; i++ ) {
|
|
||||||
if ( ((modes[i].extension_names[0] != NULL)
|
|
||||||
&& glutExtensionSupported(modes[i].extension_names[0]))
|
|
||||||
|| ((modes[i].extension_names[1] != NULL)
|
|
||||||
&& glutExtensionSupported(modes[i].extension_names[1])) ) {
|
|
||||||
modes[i].supported = GL_TRUE;
|
|
||||||
}
|
|
||||||
else if ( !modes[i].supported && (modes[i].version <= version) ) {
|
|
||||||
fprintf( stderr, "WARNING: OpenGL library meets minimum version\n"
|
|
||||||
" requirement for %s, but the\n"
|
|
||||||
" extension string is not advertised.\n"
|
|
||||||
" (%s%s%s)\n",
|
|
||||||
modes[i].name,
|
|
||||||
modes[i].extension_names[0],
|
|
||||||
(modes[i].extension_names[1] != NULL)
|
|
||||||
? " or " : "",
|
|
||||||
(modes[i].extension_names[1] != NULL)
|
|
||||||
? modes[i].extension_names[1] : "" );
|
|
||||||
modes[i].supported = GL_TRUE;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
numModes = glutExtensionSupported("GL_ARB_texture_border_clamp") ? 4 : 3;
|
||||||
|
|
||||||
glClearColor(0.5, 0.5, 0.5, 1.0);
|
glClearColor(0.5, 0.5, 0.5, 1.0);
|
||||||
glClear( GL_COLOR_BUFFER_BIT );
|
glClear( GL_COLOR_BUFFER_BIT );
|
||||||
@@ -125,11 +72,8 @@ static void Display( void )
|
|||||||
|
|
||||||
glBindTexture(GL_TEXTURE_2D, Border ? BORDER_TEXTURE : NO_BORDER_TEXTURE);
|
glBindTexture(GL_TEXTURE_2D, Border ? BORDER_TEXTURE : NO_BORDER_TEXTURE);
|
||||||
|
|
||||||
|
|
||||||
/* loop over min/mag filters */
|
/* loop over min/mag filters */
|
||||||
for (i = 0; i < 2; i++) {
|
for (i = 0; i < 2; i++) {
|
||||||
offset = 0;
|
|
||||||
|
|
||||||
if (i) {
|
if (i) {
|
||||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
|
||||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
|
||||||
@@ -140,20 +84,15 @@ static void Display( void )
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* loop over border modes */
|
/* loop over border modes */
|
||||||
for (j = 0; j < modes[j].mode != 0; j++) {
|
for (j = 0; j < numModes; j++) {
|
||||||
const GLfloat x0 = 0, y0 = 0, x1 = 140, y1 = 140;
|
const GLfloat x0 = 0, y0 = 0, x1 = 140, y1 = 140;
|
||||||
const GLfloat b = 0.2;
|
const GLfloat b = 0.2;
|
||||||
const GLfloat s0 = -b, t0 = -b, s1 = 1.0+b, t1 = 1.0+b;
|
const GLfloat s0 = -b, t0 = -b, s1 = 1.0+b, t1 = 1.0+b;
|
||||||
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, modes[j]);
|
||||||
if ( modes[j].supported != GL_TRUE )
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, modes[j]);
|
||||||
continue;
|
|
||||||
|
|
||||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, modes[j].mode);
|
|
||||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, modes[j].mode);
|
|
||||||
|
|
||||||
glPushMatrix();
|
glPushMatrix();
|
||||||
glTranslatef(offset * 150 + 10, i * 150 + 40, 0);
|
glTranslatef(j * 150 + 10, i * 150 + 25, 0);
|
||||||
offset++;
|
|
||||||
|
|
||||||
glEnable(GL_TEXTURE_2D);
|
glEnable(GL_TEXTURE_2D);
|
||||||
glColor3f(1, 1, 1);
|
glColor3f(1, 1, 1);
|
||||||
@@ -180,13 +119,9 @@ static void Display( void )
|
|||||||
|
|
||||||
glDisable(GL_TEXTURE_2D);
|
glDisable(GL_TEXTURE_2D);
|
||||||
glColor3f(1, 1, 1);
|
glColor3f(1, 1, 1);
|
||||||
offset = 0;
|
for (i = 0; i < numModes; i++) {
|
||||||
for (i = 0; i < modes[i].mode != 0; i++) {
|
glWindowPos2iMESA( i * 150 + 10, 5);
|
||||||
if ( modes[i].supported ) {
|
PrintString(names[i]);
|
||||||
glWindowPos2iMESA( offset * 150 + 10, 5 + ((offset & 1) * 15) );
|
|
||||||
PrintString(modes[i].name);
|
|
||||||
offset++;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
glutSwapBuffers();
|
glutSwapBuffers();
|
||||||
@@ -257,6 +192,7 @@ static void Init( void )
|
|||||||
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, SIZE+2, SIZE+2, 1,
|
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, SIZE+2, SIZE+2, 1,
|
||||||
GL_RGBA, GL_UNSIGNED_BYTE, (void *) BorderImage);
|
GL_RGBA, GL_UNSIGNED_BYTE, (void *) BorderImage);
|
||||||
|
|
||||||
|
|
||||||
for (i = 0; i < SIZE; i++) {
|
for (i = 0; i < SIZE; i++) {
|
||||||
for (j = 0; j < SIZE; j++) {
|
for (j = 0; j < SIZE; j++) {
|
||||||
if ((i + j) & 1) {
|
if ((i + j) & 1) {
|
||||||
@@ -287,7 +223,7 @@ int main( int argc, char *argv[] )
|
|||||||
{
|
{
|
||||||
glutInit( &argc, argv );
|
glutInit( &argc, argv );
|
||||||
glutInitWindowPosition( 0, 0 );
|
glutInitWindowPosition( 0, 0 );
|
||||||
glutInitWindowSize( 800, 355 );
|
glutInitWindowSize( 650, 340 );
|
||||||
glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE );
|
glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE );
|
||||||
glutCreateWindow(argv[0]);
|
glutCreateWindow(argv[0]);
|
||||||
glutReshapeFunc( Reshape );
|
glutReshapeFunc( Reshape );
|
||||||
|
|||||||
@@ -1,277 +0,0 @@
|
|||||||
/*
|
|
||||||
* Test vertex arrays with GL_NV_vertex_program
|
|
||||||
*
|
|
||||||
* Based on a stripped-down version of the isosurf demo.
|
|
||||||
* The vertex program is trivial: compute the resulting
|
|
||||||
* RGB color as a linear function of vertex XYZ.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <assert.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <string.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <string.h>
|
|
||||||
#include <math.h>
|
|
||||||
#define GL_GLEXT_PROTOTYPES
|
|
||||||
#include "GL/glut.h"
|
|
||||||
|
|
||||||
#define MAXVERTS 10000
|
|
||||||
static float data[MAXVERTS][6];
|
|
||||||
static GLint numverts;
|
|
||||||
|
|
||||||
static GLfloat xrot;
|
|
||||||
static GLfloat yrot;
|
|
||||||
static GLboolean useArrays = GL_FALSE;
|
|
||||||
static GLboolean useProgram = GL_FALSE;
|
|
||||||
|
|
||||||
|
|
||||||
static void read_surface( char *filename )
|
|
||||||
{
|
|
||||||
FILE *f;
|
|
||||||
|
|
||||||
f = fopen(filename,"r");
|
|
||||||
if (!f) {
|
|
||||||
printf("couldn't read %s\n", filename);
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
numverts = 0;
|
|
||||||
while (!feof(f) && numverts < MAXVERTS) {
|
|
||||||
fscanf( f, "%f %f %f %f %f %f",
|
|
||||||
&data[numverts][0], &data[numverts][1], &data[numverts][2],
|
|
||||||
&data[numverts][3], &data[numverts][4], &data[numverts][5] );
|
|
||||||
numverts++;
|
|
||||||
}
|
|
||||||
numverts--;
|
|
||||||
|
|
||||||
printf("%d vertices, %d triangles\n", numverts, numverts-2);
|
|
||||||
printf("data = %p\n", (void *) data);
|
|
||||||
fclose(f);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static void Display(void)
|
|
||||||
{
|
|
||||||
if (useProgram)
|
|
||||||
glEnable(GL_VERTEX_PROGRAM_NV);
|
|
||||||
else
|
|
||||||
glDisable(GL_VERTEX_PROGRAM_NV);
|
|
||||||
|
|
||||||
glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
|
|
||||||
|
|
||||||
glPushMatrix();
|
|
||||||
glRotatef(xrot, 1, 0, 0);
|
|
||||||
glRotatef(yrot, 0, 1, 0);
|
|
||||||
glScalef(2, 2, 2);
|
|
||||||
if (useArrays) {
|
|
||||||
if (useProgram) {
|
|
||||||
glVertexAttribPointerNV( 0, 3, GL_FLOAT, 6 * sizeof(GLfloat), data );
|
|
||||||
glEnableClientState( GL_VERTEX_ATTRIB_ARRAY0_NV );
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
glVertexPointer( 3, GL_FLOAT, 6 * sizeof(GLfloat), data );
|
|
||||||
glEnableClientState( GL_VERTEX_ARRAY );
|
|
||||||
}
|
|
||||||
glNormalPointer( GL_FLOAT, 6 * sizeof(GLfloat), ((GLfloat *) data) + 3);
|
|
||||||
glEnableClientState( GL_NORMAL_ARRAY );
|
|
||||||
|
|
||||||
glDrawArrays(GL_TRIANGLE_STRIP, 0, numverts);
|
|
||||||
|
|
||||||
glDisableClientState( GL_VERTEX_ATTRIB_ARRAY0_NV );
|
|
||||||
glDisableClientState( GL_VERTEX_ARRAY );
|
|
||||||
glDisableClientState( GL_NORMAL_ARRAY );
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
int i;
|
|
||||||
glBegin(GL_TRIANGLE_STRIP);
|
|
||||||
for (i = 0; i < numverts; i++) {
|
|
||||||
glNormal3fv( data[i] + 3 );
|
|
||||||
glVertex3fv( data[i] + 0 );
|
|
||||||
}
|
|
||||||
glEnd();
|
|
||||||
}
|
|
||||||
glPopMatrix();
|
|
||||||
|
|
||||||
if (glGetError())
|
|
||||||
printf("Error!\n");
|
|
||||||
|
|
||||||
glutSwapBuffers();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static void InitMaterials(void)
|
|
||||||
{
|
|
||||||
static float ambient[] = {0.1, 0.1, 0.1, 1.0};
|
|
||||||
static float diffuse[] = {0.5, 1.0, 1.0, 1.0};
|
|
||||||
static float position0[] = {0.0, 0.0, 20.0, 0.0};
|
|
||||||
static float position1[] = {0.0, 0.0, -20.0, 0.0};
|
|
||||||
static float front_mat_shininess[] = {60.0};
|
|
||||||
static float front_mat_specular[] = {0.2, 0.2, 0.2, 1.0};
|
|
||||||
static float front_mat_diffuse[] = {0.5, 0.28, 0.38, 1.0};
|
|
||||||
/*
|
|
||||||
static float back_mat_shininess[] = {60.0};
|
|
||||||
static float back_mat_specular[] = {0.5, 0.5, 0.2, 1.0};
|
|
||||||
static float back_mat_diffuse[] = {1.0, 1.0, 0.2, 1.0};
|
|
||||||
*/
|
|
||||||
static float lmodel_ambient[] = {1.0, 1.0, 1.0, 1.0};
|
|
||||||
static float lmodel_twoside[] = {GL_FALSE};
|
|
||||||
|
|
||||||
glLightfv(GL_LIGHT0, GL_AMBIENT, ambient);
|
|
||||||
glLightfv(GL_LIGHT0, GL_DIFFUSE, diffuse);
|
|
||||||
glLightfv(GL_LIGHT0, GL_POSITION, position0);
|
|
||||||
glEnable(GL_LIGHT0);
|
|
||||||
|
|
||||||
glLightfv(GL_LIGHT1, GL_AMBIENT, ambient);
|
|
||||||
glLightfv(GL_LIGHT1, GL_DIFFUSE, diffuse);
|
|
||||||
glLightfv(GL_LIGHT1, GL_POSITION, position1);
|
|
||||||
glEnable(GL_LIGHT1);
|
|
||||||
|
|
||||||
glLightModelfv(GL_LIGHT_MODEL_AMBIENT, lmodel_ambient);
|
|
||||||
glLightModelfv(GL_LIGHT_MODEL_TWO_SIDE, lmodel_twoside);
|
|
||||||
|
|
||||||
glMaterialfv(GL_FRONT_AND_BACK, GL_SHININESS, front_mat_shininess);
|
|
||||||
glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, front_mat_specular);
|
|
||||||
glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, front_mat_diffuse);
|
|
||||||
glEnable(GL_LIGHTING);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static void init_program(void)
|
|
||||||
{
|
|
||||||
/*
|
|
||||||
* c[0..3] = modelview matrix
|
|
||||||
* c[4..7] = inverse modelview matrix
|
|
||||||
* c[30] = color scale
|
|
||||||
* c[31] = color bias
|
|
||||||
*/
|
|
||||||
static const char prog[] =
|
|
||||||
"!!VP1.0\n"
|
|
||||||
|
|
||||||
"# RGB is proportional to XYZ \n"
|
|
||||||
|
|
||||||
"MUL R0, v[OPOS], c[30]; \n"
|
|
||||||
"ADD o[COL0], R0, c[31]; \n"
|
|
||||||
|
|
||||||
"# Continue with typical modelview/projection\n"
|
|
||||||
"MOV R3, v[OPOS]; \n"
|
|
||||||
"DP4 o[HPOS].x, c[0], R3 ; # object x MVP -> clip\n"
|
|
||||||
"DP4 o[HPOS].y, c[1], R3 ;\n"
|
|
||||||
"DP4 o[HPOS].z, c[2], R3 ;\n"
|
|
||||||
"DP4 o[HPOS].w, c[3], R3 ;\n"
|
|
||||||
|
|
||||||
"END";
|
|
||||||
|
|
||||||
static const GLfloat scale[4] = {2.0, 2.0, 2.0, 0.0};
|
|
||||||
static const GLfloat bias[4] = {1.0, 1.0, 1.0, 0.0};
|
|
||||||
|
|
||||||
if (!glutExtensionSupported("GL_NV_vertex_program")) {
|
|
||||||
printf("Sorry, this program requires GL_NV_vertex_program");
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
glLoadProgramNV(GL_VERTEX_PROGRAM_NV, 1,
|
|
||||||
strlen(prog), (const GLubyte *) prog);
|
|
||||||
assert(glIsProgramNV(1));
|
|
||||||
glBindProgramNV(GL_VERTEX_PROGRAM_NV, 1);
|
|
||||||
|
|
||||||
/* Load the program registers */
|
|
||||||
glTrackMatrixNV(GL_VERTEX_PROGRAM_NV, 0, GL_MODELVIEW_PROJECTION_NV, GL_IDENTITY_NV);
|
|
||||||
glTrackMatrixNV(GL_VERTEX_PROGRAM_NV, 4, GL_MODELVIEW, GL_INVERSE_TRANSPOSE_NV);
|
|
||||||
|
|
||||||
glProgramParameter4fvNV(GL_VERTEX_PROGRAM_NV, 30, scale);
|
|
||||||
glProgramParameter4fvNV(GL_VERTEX_PROGRAM_NV, 31, bias);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static void init(void)
|
|
||||||
{
|
|
||||||
xrot = 0;
|
|
||||||
yrot = 0;
|
|
||||||
glClearColor(0.0, 0.0, 1.0, 0.0);
|
|
||||||
glEnable( GL_DEPTH_TEST );
|
|
||||||
glEnable(GL_NORMALIZE);
|
|
||||||
InitMaterials();
|
|
||||||
read_surface( "../demos/isosurf.dat" );
|
|
||||||
init_program();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static void Reshape(int width, int height)
|
|
||||||
{
|
|
||||||
glViewport(0, 0, (GLint)width, (GLint)height);
|
|
||||||
glMatrixMode(GL_PROJECTION);
|
|
||||||
glLoadIdentity();
|
|
||||||
glFrustum( -1.0, 1.0, -1.0, 1.0, 5, 25 );
|
|
||||||
glMatrixMode(GL_MODELVIEW);
|
|
||||||
glLoadIdentity();
|
|
||||||
glTranslatef(0, 0, -15);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static void Key( unsigned char key, int x, int y )
|
|
||||||
{
|
|
||||||
(void) x;
|
|
||||||
(void) y;
|
|
||||||
switch (key) {
|
|
||||||
case 27:
|
|
||||||
exit(0);
|
|
||||||
case 'a':
|
|
||||||
useArrays = !useArrays;
|
|
||||||
printf("use arrays: %s\n", useArrays ? "yes" : "no");
|
|
||||||
break;
|
|
||||||
case 'p':
|
|
||||||
useProgram = !useProgram;
|
|
||||||
printf("use program: %s\n", useProgram ? "yes" : "no");
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
glutPostRedisplay();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static void SpecialKey( int key, int x, int y )
|
|
||||||
{
|
|
||||||
(void) x;
|
|
||||||
(void) y;
|
|
||||||
switch (key) {
|
|
||||||
case GLUT_KEY_LEFT:
|
|
||||||
yrot -= 15.0;
|
|
||||||
break;
|
|
||||||
case GLUT_KEY_RIGHT:
|
|
||||||
yrot += 15.0;
|
|
||||||
break;
|
|
||||||
case GLUT_KEY_UP:
|
|
||||||
xrot += 15.0;
|
|
||||||
break;
|
|
||||||
case GLUT_KEY_DOWN:
|
|
||||||
xrot -= 15.0;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
glutPostRedisplay();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
int main(int argc, char **argv)
|
|
||||||
{
|
|
||||||
glutInit(&argc, argv);
|
|
||||||
glutInitDisplayMode( GLUT_DEPTH | GLUT_RGB | GLUT_DOUBLE );
|
|
||||||
glutInitWindowPosition(0, 0);
|
|
||||||
glutInitWindowSize(400, 400);
|
|
||||||
if (glutCreateWindow("Isosurface") <= 0) {
|
|
||||||
exit(0);
|
|
||||||
}
|
|
||||||
glutReshapeFunc(Reshape);
|
|
||||||
glutKeyboardFunc(Key);
|
|
||||||
glutSpecialFunc(SpecialKey);
|
|
||||||
glutDisplayFunc(Display);
|
|
||||||
|
|
||||||
init();
|
|
||||||
|
|
||||||
glutMainLoop();
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
@@ -1,231 +0,0 @@
|
|||||||
/*
|
|
||||||
* Vertex program evaluators test.
|
|
||||||
* Based on book/bezmesh.c
|
|
||||||
*
|
|
||||||
* Brian Paul
|
|
||||||
* 22 June 2002
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <assert.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <string.h>
|
|
||||||
#define GL_GLEXT_PROTOTYPES
|
|
||||||
#include <GL/glut.h>
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Transform position by modelview/projection.
|
|
||||||
* Square incoming color.
|
|
||||||
*/
|
|
||||||
static const char prog[] =
|
|
||||||
"!!VP1.0\n"
|
|
||||||
|
|
||||||
"# Typical modelview/projection\n"
|
|
||||||
"DP4 o[HPOS].x, c[0], v[OPOS] ; # object x MVP -> clip\n"
|
|
||||||
"DP4 o[HPOS].y, c[1], v[OPOS] ;\n"
|
|
||||||
"DP4 o[HPOS].z, c[2], v[OPOS] ;\n"
|
|
||||||
"DP4 o[HPOS].w, c[3], v[OPOS] ;\n"
|
|
||||||
|
|
||||||
"MOV R0, v[COL0];\n # square the color\n"
|
|
||||||
"MUL R0, R0, R0;\n"
|
|
||||||
"MOV o[COL0], R0;\n # store output color\n"
|
|
||||||
|
|
||||||
"END";
|
|
||||||
|
|
||||||
|
|
||||||
static int program = 1;
|
|
||||||
|
|
||||||
|
|
||||||
GLfloat ctrlpoints[4][4][4] =
|
|
||||||
{
|
|
||||||
{
|
|
||||||
{-1.5, -1.5, 4.0, 1.0},
|
|
||||||
{-0.5, -1.5, 2.0, 1.0},
|
|
||||||
{0.5, -1.5, -1.0, 1.0},
|
|
||||||
{1.5, -1.5, 2.0, 1.0}},
|
|
||||||
{
|
|
||||||
{-1.5, -0.5, 1.0, 1.0},
|
|
||||||
{-0.5, -0.5, 3.0, 1.0},
|
|
||||||
{0.5, -0.5, 0.0, 1.0},
|
|
||||||
{1.5, -0.5, -1.0, 1.0}},
|
|
||||||
{
|
|
||||||
{-1.5, 0.5, 4.0, 1.0},
|
|
||||||
{-0.5, 0.5, 0.0, 1.0},
|
|
||||||
{0.5, 0.5, 3.0, 1.0},
|
|
||||||
{1.5, 0.5, 4.0, 1.0}},
|
|
||||||
{
|
|
||||||
{-1.5, 1.5, -2.0, 1.0},
|
|
||||||
{-0.5, 1.5, -2.0, 1.0},
|
|
||||||
{0.5, 1.5, 0.0, 1.0},
|
|
||||||
{1.5, 1.5, -1.0, 1.0}}
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
|
||||||
* +-------------+
|
|
||||||
* |green |yellow
|
|
||||||
* | |
|
|
||||||
* | |
|
|
||||||
* |black |red
|
|
||||||
* +-------------+
|
|
||||||
*/
|
|
||||||
GLfloat colorPoints[4][4][4] =
|
|
||||||
{
|
|
||||||
{
|
|
||||||
{0.0, 0.0, 0.0, 1.0},
|
|
||||||
{0.3, 0.0, 0.0, 1.0},
|
|
||||||
{0.6, 0.0, 0.0, 1.0},
|
|
||||||
{1.0, 0.0, 0.0, 1.0}},
|
|
||||||
{
|
|
||||||
{0.0, 0.3, 0.0, 1.0},
|
|
||||||
{0.3, 0.3, 0.0, 1.0},
|
|
||||||
{0.6, 0.3, 0.0, 1.0},
|
|
||||||
{1.0, 0.3, 0.0, 1.0}},
|
|
||||||
{
|
|
||||||
{0.0, 0.6, 0.0, 1.0},
|
|
||||||
{0.3, 0.6, 0.0, 1.0},
|
|
||||||
{0.6, 0.6, 0.0, 1.0},
|
|
||||||
{1.0, 0.6, 0.0, 1.0}},
|
|
||||||
{
|
|
||||||
{0.0, 1.0, 0.0, 1.0},
|
|
||||||
{0.3, 1.0, 0.0, 1.0},
|
|
||||||
{0.6, 1.0, 0.0, 1.0},
|
|
||||||
{1.0, 1.0, 0.0, 1.0}}
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
void
|
|
||||||
initlights(void)
|
|
||||||
{
|
|
||||||
GLfloat ambient[] = {0.2, 0.2, 0.2, 1.0};
|
|
||||||
GLfloat position[] = {0.0, 0.0, 2.0, 1.0};
|
|
||||||
GLfloat mat_diffuse[] = {0.6, 0.6, 0.6, 1.0};
|
|
||||||
GLfloat mat_specular[] = {1.0, 1.0, 1.0, 1.0};
|
|
||||||
GLfloat mat_shininess[] = {50.0};
|
|
||||||
|
|
||||||
#if 0 /* no lighting for now */
|
|
||||||
glEnable(GL_LIGHTING);
|
|
||||||
glEnable(GL_LIGHT0);
|
|
||||||
|
|
||||||
glLightfv(GL_LIGHT0, GL_AMBIENT, ambient);
|
|
||||||
glLightfv(GL_LIGHT0, GL_POSITION, position);
|
|
||||||
|
|
||||||
glMaterialfv(GL_FRONT, GL_DIFFUSE, mat_diffuse);
|
|
||||||
glMaterialfv(GL_FRONT, GL_SPECULAR, mat_specular);
|
|
||||||
glMaterialfv(GL_FRONT, GL_SHININESS, mat_shininess);
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
display(void)
|
|
||||||
{
|
|
||||||
glClearColor(.3, .3, .3, 0);
|
|
||||||
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
|
|
||||||
glPushMatrix();
|
|
||||||
#if 1
|
|
||||||
glRotatef(85.0, 1.0, 1.0, 1.0);
|
|
||||||
#endif
|
|
||||||
glEvalMesh2(GL_FILL, 0, 8, 0, 8);
|
|
||||||
glPopMatrix();
|
|
||||||
glFlush();
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
myinit(int argc, char *argv[])
|
|
||||||
{
|
|
||||||
glClearColor(0.0, 0.0, 0.0, 1.0);
|
|
||||||
glEnable(GL_DEPTH_TEST);
|
|
||||||
|
|
||||||
initlights(); /* for lighted version only */
|
|
||||||
|
|
||||||
glMapGrid2f(8, 0.0, 1.0, 8, 0.0, 1.0);
|
|
||||||
|
|
||||||
if (argc > 1)
|
|
||||||
program = 0;
|
|
||||||
|
|
||||||
printf("Using vertex program attribs? %s\n", program ? "yes" : "no");
|
|
||||||
|
|
||||||
if (!program) {
|
|
||||||
glMap2f(GL_MAP2_VERTEX_4,
|
|
||||||
0.0, 1.0, 4, 4,
|
|
||||||
0.0, 1.0, 16, 4, &ctrlpoints[0][0][0]);
|
|
||||||
glMap2f(GL_MAP2_COLOR_4,
|
|
||||||
0.0, 1.0, 4, 4,
|
|
||||||
0.0, 1.0, 16, 4, &colorPoints[0][0][0]);
|
|
||||||
glEnable(GL_MAP2_VERTEX_4);
|
|
||||||
glEnable(GL_MAP2_COLOR_4);
|
|
||||||
/*
|
|
||||||
glEnable(GL_AUTO_NORMAL);
|
|
||||||
glEnable(GL_NORMALIZE);
|
|
||||||
*/
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
glMap2f(GL_MAP2_VERTEX_ATTRIB0_4_NV,
|
|
||||||
0.0, 1.0, 4, 4,
|
|
||||||
0.0, 1.0, 16, 4, &ctrlpoints[0][0][0]);
|
|
||||||
glMap2f(GL_MAP2_VERTEX_ATTRIB3_4_NV,
|
|
||||||
0.0, 1.0, 4, 4,
|
|
||||||
0.0, 1.0, 16, 4, &colorPoints[0][0][0]);
|
|
||||||
glEnable(GL_MAP2_VERTEX_ATTRIB0_4_NV);
|
|
||||||
glEnable(GL_MAP2_VERTEX_ATTRIB3_4_NV);
|
|
||||||
|
|
||||||
/*
|
|
||||||
glEnable(GL_AUTO_NORMAL);
|
|
||||||
glEnable(GL_NORMALIZE);
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* vertex program init */
|
|
||||||
glLoadProgramNV(GL_VERTEX_PROGRAM_NV, 1,
|
|
||||||
strlen(prog), (const GLubyte *) prog);
|
|
||||||
assert(glIsProgramNV(1));
|
|
||||||
glBindProgramNV(GL_VERTEX_PROGRAM_NV, 1);
|
|
||||||
|
|
||||||
/* track matrices */
|
|
||||||
glTrackMatrixNV(GL_VERTEX_PROGRAM_NV, 0, GL_MODELVIEW_PROJECTION_NV, GL_IDENTITY_NV);
|
|
||||||
glEnable(GL_VERTEX_PROGRAM_NV);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
myReshape(int w, int h)
|
|
||||||
{
|
|
||||||
glViewport(0, 0, w, h);
|
|
||||||
glMatrixMode(GL_PROJECTION);
|
|
||||||
glLoadIdentity();
|
|
||||||
if (w <= h)
|
|
||||||
glOrtho(-4.0, 4.0, -4.0 * (GLfloat) h / (GLfloat) w,
|
|
||||||
4.0 * (GLfloat) h / (GLfloat) w, -4.0, 4.0);
|
|
||||||
else
|
|
||||||
glOrtho(-4.0 * (GLfloat) w / (GLfloat) h,
|
|
||||||
4.0 * (GLfloat) w / (GLfloat) h, -4.0, 4.0, -4.0, 4.0);
|
|
||||||
glMatrixMode(GL_MODELVIEW);
|
|
||||||
glLoadIdentity();
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
key(unsigned char k, int x, int y)
|
|
||||||
{
|
|
||||||
switch (k) {
|
|
||||||
case 27: /* Escape */
|
|
||||||
exit(0);
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
glutPostRedisplay();
|
|
||||||
}
|
|
||||||
|
|
||||||
int
|
|
||||||
main(int argc, char **argv)
|
|
||||||
{
|
|
||||||
glutInit(&argc, argv);
|
|
||||||
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB | GLUT_DEPTH);
|
|
||||||
glutInitWindowPosition(0, 0);
|
|
||||||
glutCreateWindow(argv[0]);
|
|
||||||
myinit(argc, argv);
|
|
||||||
glutReshapeFunc(myReshape);
|
|
||||||
glutDisplayFunc(display);
|
|
||||||
glutKeyboardFunc(key);
|
|
||||||
glutMainLoop();
|
|
||||||
return 0; /* ANSI C requires main to return int. */
|
|
||||||
}
|
|
||||||
@@ -1,170 +0,0 @@
|
|||||||
/* Test glGenProgramsNV(), glIsProgramNV(), glLoadProgramNV() */
|
|
||||||
|
|
||||||
#include <assert.h>
|
|
||||||
#include <string.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <math.h>
|
|
||||||
#define GL_GLEXT_PROTOTYPES
|
|
||||||
#include <GL/glut.h>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static void Display( void )
|
|
||||||
{
|
|
||||||
glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
|
|
||||||
|
|
||||||
glPushMatrix();
|
|
||||||
|
|
||||||
glBegin(GL_POLYGON);
|
|
||||||
glVertexAttrib2fNV(0, -1, -1);
|
|
||||||
glVertexAttrib2fNV(0, 1, -1);
|
|
||||||
glVertexAttrib2fNV(0, 0, 1);
|
|
||||||
glEnd();
|
|
||||||
|
|
||||||
glPopMatrix();
|
|
||||||
|
|
||||||
glutSwapBuffers();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static void Reshape( int width, int height )
|
|
||||||
{
|
|
||||||
glViewport( 0, 0, width, height );
|
|
||||||
glMatrixMode( GL_PROJECTION );
|
|
||||||
glLoadIdentity();
|
|
||||||
glFrustum( -1.0, 1.0, -1.0, 1.0, 5.0, 25.0 );
|
|
||||||
glMatrixMode( GL_MODELVIEW );
|
|
||||||
glLoadIdentity();
|
|
||||||
glTranslatef( 0.0, 0.0, -15.0 );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static void Key( unsigned char key, int x, int y )
|
|
||||||
{
|
|
||||||
(void) x;
|
|
||||||
(void) y;
|
|
||||||
switch (key) {
|
|
||||||
case 27:
|
|
||||||
exit(0);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
glutPostRedisplay();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static void Init( void )
|
|
||||||
{
|
|
||||||
static const char *prog1 =
|
|
||||||
"!!VP1.0\n"
|
|
||||||
"MUL o[COL0].xyz, R0, c[35]; \n"
|
|
||||||
"END\n";
|
|
||||||
static const char *prog2 =
|
|
||||||
"!!VP1.0\n"
|
|
||||||
"#\n"
|
|
||||||
"# c[0-3] = modelview projection (composite) matrix\n"
|
|
||||||
"# c[32] = normalized light direction in object-space\n"
|
|
||||||
"# c[35] = yellow diffuse material, (1.0, 1.0, 0.0, 1.0)\n"
|
|
||||||
"# c[64].x = 0.0\n"
|
|
||||||
"# c[64].z = 0.125, a scaling factor\n"
|
|
||||||
"#\n"
|
|
||||||
"# outputs diffuse illumination for color and perturbed position\n"
|
|
||||||
"#\n"
|
|
||||||
"DP3 R0, c[32], v[NRML]; # light direction DOT normal\n"
|
|
||||||
"MUL o[COL0].xyz, R0, c[35]; \n"
|
|
||||||
"MAX R0, c[64].x, R0; \n"
|
|
||||||
"MUL R0, R0, v[NRML]; \n"
|
|
||||||
"MUL R0, R0, c[64].z; \n"
|
|
||||||
"ADD R1, v[OPOS], -R0; # perturb object space position\n"
|
|
||||||
"DP4 o[HPOS].x, c[0], R1; \n"
|
|
||||||
"DP4 o[HPOS].y, c[1], R1; \n"
|
|
||||||
"DP4 o[HPOS].z, c[2], R1; \n"
|
|
||||||
"DP4 o[HPOS].w, c[3], R1; \n"
|
|
||||||
"END\n";
|
|
||||||
static const char *prog3 =
|
|
||||||
"!!VP1.0\n"
|
|
||||||
"DP4 o[HPOS].x, c[0], v[OPOS];\n"
|
|
||||||
"DP4 o[HPOS].y, c[1], v[OPOS];\n"
|
|
||||||
"DP4 o[HPOS].z, c[2], v[OPOS];\n"
|
|
||||||
"DP4 o[HPOS].w, c[3], v[OPOS];\n"
|
|
||||||
"DP3 R0.x, c[4], v[NRML];\n"
|
|
||||||
"DP3 R0.y, c[5], v[NRML]; \n"
|
|
||||||
"DP3 R0.z, c[6], v[NRML]; # R0 = n' = transformed normal\n"
|
|
||||||
"DP3 R1.x, c[32], R0; # R1.x = Lpos DOT n'\n"
|
|
||||||
"DP3 R1.y, c[33], R0; # R1.y = hHat DOT n'\n"
|
|
||||||
"MOV R1.w, c[38].x; # R1.w = specular power\n"
|
|
||||||
"LIT R2, R1; # Compute lighting values\n"
|
|
||||||
"MAD R3, c[35].x, R2.y, c[35].y; # diffuse + emissive\n"
|
|
||||||
"MAD o[COL0].xyz, c[36], R2.z, R3; # + specular\n"
|
|
||||||
"END\n";
|
|
||||||
static const char *prog4 =
|
|
||||||
"!!VP1.0\n"
|
|
||||||
"DP4 R2, R3, c[A0.x];\n"
|
|
||||||
"DP4 R2, R3, c[A0.x + 5];\n"
|
|
||||||
"DP4 o[HPOS], R3, c[A0.x - 4];\n"
|
|
||||||
"END\n";
|
|
||||||
static const char *prog5 =
|
|
||||||
"!!VSP1.0\n"
|
|
||||||
"DP4 R2, R3, c[A0.x];\n"
|
|
||||||
"DP4 R2, R3, v[0];\n"
|
|
||||||
"DP4 c[3], R3, R2;\n"
|
|
||||||
"END\n";
|
|
||||||
|
|
||||||
|
|
||||||
GLuint progs[5];
|
|
||||||
|
|
||||||
glGenProgramsNV(2, progs);
|
|
||||||
assert(progs[0]);
|
|
||||||
assert(progs[1]);
|
|
||||||
assert(progs[0] != progs[1]);
|
|
||||||
|
|
||||||
glGenProgramsNV(3, progs + 2);
|
|
||||||
assert(progs[2]);
|
|
||||||
assert(progs[3]);
|
|
||||||
assert(progs[2] != progs[3]);
|
|
||||||
assert(progs[0] != progs[2]);
|
|
||||||
|
|
||||||
|
|
||||||
glLoadProgramNV(GL_VERTEX_PROGRAM_NV, 1,
|
|
||||||
strlen(prog1),
|
|
||||||
(const GLubyte *) prog1);
|
|
||||||
assert(!glIsProgramNV(1));
|
|
||||||
|
|
||||||
glLoadProgramNV(GL_VERTEX_PROGRAM_NV, 2,
|
|
||||||
strlen(prog2),
|
|
||||||
(const GLubyte *) prog2);
|
|
||||||
assert(glIsProgramNV(2));
|
|
||||||
|
|
||||||
glLoadProgramNV(GL_VERTEX_PROGRAM_NV, 3,
|
|
||||||
strlen(prog3),
|
|
||||||
(const GLubyte *) prog3);
|
|
||||||
assert(glIsProgramNV(3));
|
|
||||||
|
|
||||||
glLoadProgramNV(GL_VERTEX_PROGRAM_NV, 4,
|
|
||||||
strlen(prog4),
|
|
||||||
(const GLubyte *) prog4);
|
|
||||||
assert(glIsProgramNV(4));
|
|
||||||
|
|
||||||
glLoadProgramNV(GL_VERTEX_STATE_PROGRAM_NV, 5,
|
|
||||||
strlen(prog5),
|
|
||||||
(const GLubyte *) prog5);
|
|
||||||
assert(glIsProgramNV(5));
|
|
||||||
|
|
||||||
printf("glGetError = %d\n", (int) glGetError());
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
int main( int argc, char *argv[] )
|
|
||||||
{
|
|
||||||
glutInit( &argc, argv );
|
|
||||||
glutInitWindowPosition( 0, 0 );
|
|
||||||
glutInitWindowSize( 250, 250 );
|
|
||||||
glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH );
|
|
||||||
glutCreateWindow(argv[0]);
|
|
||||||
glutReshapeFunc( Reshape );
|
|
||||||
glutKeyboardFunc( Key );
|
|
||||||
glutDisplayFunc( Display );
|
|
||||||
Init();
|
|
||||||
glutMainLoop();
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
@@ -1,151 +0,0 @@
|
|||||||
/* Test vertex state program execution */
|
|
||||||
|
|
||||||
#include <assert.h>
|
|
||||||
#include <string.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <math.h>
|
|
||||||
#define GL_GLEXT_PROTOTYPES
|
|
||||||
#include <GL/glut.h>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static void Display( void )
|
|
||||||
{
|
|
||||||
glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
|
|
||||||
glPushMatrix();
|
|
||||||
glutSolidCube(2.0);
|
|
||||||
glPopMatrix();
|
|
||||||
glutSwapBuffers();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static void Reshape( int width, int height )
|
|
||||||
{
|
|
||||||
glViewport( 0, 0, width, height );
|
|
||||||
glMatrixMode( GL_PROJECTION );
|
|
||||||
glLoadIdentity();
|
|
||||||
glFrustum( -1.0, 1.0, -1.0, 1.0, 5.0, 25.0 );
|
|
||||||
glMatrixMode( GL_MODELVIEW );
|
|
||||||
glLoadIdentity();
|
|
||||||
glTranslatef( 0.0, 0.0, -15.0 );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static void Key( unsigned char key, int x, int y )
|
|
||||||
{
|
|
||||||
(void) x;
|
|
||||||
(void) y;
|
|
||||||
switch (key) {
|
|
||||||
case 27:
|
|
||||||
exit(0);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
glutPostRedisplay();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static void Test1( void )
|
|
||||||
{
|
|
||||||
static const GLfloat p[4] = {9, 8, 7, 6};
|
|
||||||
GLfloat q[4];
|
|
||||||
/* test addition */
|
|
||||||
static const char *prog =
|
|
||||||
"!!VSP1.0\n"
|
|
||||||
"MOV R0, c[0];\n"
|
|
||||||
"MOV R1, c[1];\n"
|
|
||||||
"ADD c[2], R0, R1;\n"
|
|
||||||
"END\n";
|
|
||||||
|
|
||||||
glLoadProgramNV(GL_VERTEX_STATE_PROGRAM_NV, 1,
|
|
||||||
strlen(prog),
|
|
||||||
(const GLubyte *) prog);
|
|
||||||
assert(glIsProgramNV(1));
|
|
||||||
|
|
||||||
glProgramParameter4fNV(GL_VERTEX_PROGRAM_NV, 0, 1, 2, 3, 4);
|
|
||||||
glProgramParameter4fNV(GL_VERTEX_PROGRAM_NV, 1, 10, 20, 30, 40);
|
|
||||||
|
|
||||||
glExecuteProgramNV(GL_VERTEX_STATE_PROGRAM_NV, 1, p);
|
|
||||||
|
|
||||||
glGetProgramParameterfvNV(GL_VERTEX_PROGRAM_NV, 2, GL_PROGRAM_PARAMETER_NV, q);
|
|
||||||
printf("Result c[2] = %g %g %g %g (should be 11 22 33 44)\n",
|
|
||||||
q[0], q[1], q[2], q[3]);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static void Test2( void )
|
|
||||||
{
|
|
||||||
static const GLfloat p[4] = {9, 8, 7, 6};
|
|
||||||
GLfloat q[4];
|
|
||||||
/* test swizzling */
|
|
||||||
static const char *prog =
|
|
||||||
"!!VSP1.0\n"
|
|
||||||
"MOV R0, c[0].wzyx;\n"
|
|
||||||
"MOV R1, c[1].wzyx;\n"
|
|
||||||
"ADD c[2], R0, R1;\n"
|
|
||||||
"END\n";
|
|
||||||
|
|
||||||
glLoadProgramNV(GL_VERTEX_STATE_PROGRAM_NV, 1,
|
|
||||||
strlen(prog),
|
|
||||||
(const GLubyte *) prog);
|
|
||||||
assert(glIsProgramNV(1));
|
|
||||||
|
|
||||||
glProgramParameter4fNV(GL_VERTEX_PROGRAM_NV, 0, 1, 2, 3, 4);
|
|
||||||
glProgramParameter4fNV(GL_VERTEX_PROGRAM_NV, 1, 10, 20, 30, 40);
|
|
||||||
|
|
||||||
glExecuteProgramNV(GL_VERTEX_STATE_PROGRAM_NV, 1, p);
|
|
||||||
|
|
||||||
glGetProgramParameterfvNV(GL_VERTEX_PROGRAM_NV, 2, GL_PROGRAM_PARAMETER_NV, q);
|
|
||||||
printf("Result c[2] = %g %g %g %g (should be 44 33 22 11)\n",
|
|
||||||
q[0], q[1], q[2], q[3]);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static void Test3( void )
|
|
||||||
{
|
|
||||||
static const GLfloat p[4] = {0, 0, 0, 0};
|
|
||||||
GLfloat q[4];
|
|
||||||
/* normalize vector */
|
|
||||||
static const char *prog =
|
|
||||||
"!!VSP1.0\n"
|
|
||||||
"# c[0] = (nx,ny,nz)\n"
|
|
||||||
"# R0.xyz = normalize(R1)\n"
|
|
||||||
"# R0.w = 1/sqrt(nx*nx + ny*ny + nz*nz)\n"
|
|
||||||
"# c[2] = R0\n"
|
|
||||||
"DP3 R0.w, c[0], c[0];\n"
|
|
||||||
"RSQ R0.w, R0.w;\n"
|
|
||||||
"MUL R0.xyz, c[0], R0.w;\n"
|
|
||||||
"MOV c[2], R0;\n"
|
|
||||||
"END\n";
|
|
||||||
|
|
||||||
glLoadProgramNV(GL_VERTEX_STATE_PROGRAM_NV, 1,
|
|
||||||
strlen(prog),
|
|
||||||
(const GLubyte *) prog);
|
|
||||||
assert(glIsProgramNV(1));
|
|
||||||
|
|
||||||
glProgramParameter4fNV(GL_VERTEX_PROGRAM_NV, 0, 0, 10, 0, 0);
|
|
||||||
|
|
||||||
glExecuteProgramNV(GL_VERTEX_STATE_PROGRAM_NV, 1, p);
|
|
||||||
|
|
||||||
glGetProgramParameterfvNV(GL_VERTEX_PROGRAM_NV, 2, GL_PROGRAM_PARAMETER_NV, q);
|
|
||||||
printf("Result c[2] = %g %g %g %g (should be 0, 1, 0, 0.1)\n",
|
|
||||||
q[0], q[1], q[2], q[3]);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
int main( int argc, char *argv[] )
|
|
||||||
{
|
|
||||||
glutInit( &argc, argv );
|
|
||||||
glutInitWindowPosition( 0, 0 );
|
|
||||||
glutInitWindowSize( 50, 50 );
|
|
||||||
glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH );
|
|
||||||
glutCreateWindow(argv[0]);
|
|
||||||
glutReshapeFunc( Reshape );
|
|
||||||
glutKeyboardFunc( Key );
|
|
||||||
glutDisplayFunc( Display );
|
|
||||||
Test1();
|
|
||||||
Test2();
|
|
||||||
Test3();
|
|
||||||
glutMainLoop();
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
@@ -1,120 +0,0 @@
|
|||||||
/* Test glGenProgramsNV(), glIsProgramNV(), glLoadProgramNV() */
|
|
||||||
|
|
||||||
#include <assert.h>
|
|
||||||
#include <string.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <math.h>
|
|
||||||
#define GL_GLEXT_PROTOTYPES
|
|
||||||
#include <GL/glut.h>
|
|
||||||
|
|
||||||
static float Zrot = 0.0;
|
|
||||||
|
|
||||||
|
|
||||||
static void Display( void )
|
|
||||||
{
|
|
||||||
glClearColor(0.3, 0.3, 0.3, 1);
|
|
||||||
glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
|
|
||||||
|
|
||||||
glEnable(GL_VERTEX_PROGRAM_NV);
|
|
||||||
|
|
||||||
glLoadIdentity();
|
|
||||||
glRotatef(Zrot, 0, 0, 1);
|
|
||||||
|
|
||||||
glTrackMatrixNV(GL_VERTEX_PROGRAM_NV, 0, GL_MODELVIEW, GL_IDENTITY_NV);
|
|
||||||
glPushMatrix();
|
|
||||||
|
|
||||||
glVertexAttrib3fNV(3, 1, 0.5, 0.25);
|
|
||||||
glBegin(GL_TRIANGLES);
|
|
||||||
#if 1
|
|
||||||
glVertexAttrib3fNV(3, 1.0, 0.0, 0.0);
|
|
||||||
glVertexAttrib2fNV(0, -0.5, -0.5);
|
|
||||||
glVertexAttrib3fNV(3, 0.0, 1.0, 0.0);
|
|
||||||
glVertexAttrib2fNV(0, 0.5, -0.5);
|
|
||||||
glVertexAttrib3fNV(3, 0.0, 0.0, 1.0);
|
|
||||||
glVertexAttrib2fNV(0, 0, 0.5);
|
|
||||||
#else
|
|
||||||
glVertex2f( -1, -1);
|
|
||||||
glVertex2f( 1, -1);
|
|
||||||
glVertex2f( 0, 1);
|
|
||||||
#endif
|
|
||||||
glEnd();
|
|
||||||
|
|
||||||
glPopMatrix();
|
|
||||||
|
|
||||||
glutSwapBuffers();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static void Reshape( int width, int height )
|
|
||||||
{
|
|
||||||
glViewport( 0, 0, width, height );
|
|
||||||
glMatrixMode( GL_PROJECTION );
|
|
||||||
glLoadIdentity();
|
|
||||||
/* glFrustum( -2.0, 2.0, -2.0, 2.0, 5.0, 25.0 );*/
|
|
||||||
glOrtho(-2.0, 2.0, -2.0, 2.0, -2.0, 2.0 );
|
|
||||||
glMatrixMode( GL_MODELVIEW );
|
|
||||||
glLoadIdentity();
|
|
||||||
/*glTranslatef( 0.0, 0.0, -15.0 );*/
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static void Key( unsigned char key, int x, int y )
|
|
||||||
{
|
|
||||||
(void) x;
|
|
||||||
(void) y;
|
|
||||||
switch (key) {
|
|
||||||
case 'z':
|
|
||||||
Zrot -= 5.0;
|
|
||||||
break;
|
|
||||||
case 'Z':
|
|
||||||
Zrot += 5.0;
|
|
||||||
break;
|
|
||||||
case 27:
|
|
||||||
exit(0);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
glutPostRedisplay();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static void Init( void )
|
|
||||||
{
|
|
||||||
static const char *prog1 =
|
|
||||||
"!!VP1.0\n"
|
|
||||||
"MOV o[COL0], v[COL0];\n"
|
|
||||||
#if 0
|
|
||||||
"MOV o[HPOS], v[OPOS];\n"
|
|
||||||
#else
|
|
||||||
"DP4 o[HPOS].x, v[OPOS], c[0];\n"
|
|
||||||
"DP4 o[HPOS].y, v[OPOS], c[1];\n"
|
|
||||||
"DP4 o[HPOS].z, v[OPOS], c[2];\n"
|
|
||||||
"DP4 o[HPOS].w, v[OPOS], c[3];\n"
|
|
||||||
#endif
|
|
||||||
"END\n";
|
|
||||||
|
|
||||||
glLoadProgramNV(GL_VERTEX_PROGRAM_NV, 1,
|
|
||||||
strlen(prog1),
|
|
||||||
(const GLubyte *) prog1);
|
|
||||||
assert(glIsProgramNV(1));
|
|
||||||
|
|
||||||
glBindProgramNV(GL_VERTEX_PROGRAM_NV, 1);
|
|
||||||
|
|
||||||
printf("glGetError = %d\n", (int) glGetError());
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
int main( int argc, char *argv[] )
|
|
||||||
{
|
|
||||||
glutInit( &argc, argv );
|
|
||||||
glutInitWindowPosition( 0, 0 );
|
|
||||||
glutInitWindowSize( 250, 250 );
|
|
||||||
glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH );
|
|
||||||
glutCreateWindow(argv[0]);
|
|
||||||
glutReshapeFunc( Reshape );
|
|
||||||
glutKeyboardFunc( Key );
|
|
||||||
glutDisplayFunc( Display );
|
|
||||||
Init();
|
|
||||||
glutMainLoop();
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
@@ -1,174 +0,0 @@
|
|||||||
/*
|
|
||||||
* A lit, rotating torus via vertex program
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <assert.h>
|
|
||||||
#include <string.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <math.h>
|
|
||||||
#define GL_GLEXT_PROTOTYPES
|
|
||||||
#include <GL/glut.h>
|
|
||||||
|
|
||||||
static float Xrot = 0.0, Yrot = 0.0, Zrot = 0.0;
|
|
||||||
static GLboolean Anim = GL_TRUE;
|
|
||||||
|
|
||||||
|
|
||||||
static void Idle( void )
|
|
||||||
{
|
|
||||||
Xrot += .3;
|
|
||||||
Yrot += .4;
|
|
||||||
Zrot += .2;
|
|
||||||
glutPostRedisplay();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static void Display( void )
|
|
||||||
{
|
|
||||||
glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
|
|
||||||
|
|
||||||
glPushMatrix();
|
|
||||||
glRotatef(Xrot, 1, 0, 0);
|
|
||||||
glRotatef(Yrot, 0, 1, 0);
|
|
||||||
glRotatef(Zrot, 0, 0, 1);
|
|
||||||
glutSolidTorus(0.75, 2.0, 10, 20);
|
|
||||||
glPopMatrix();
|
|
||||||
|
|
||||||
glutSwapBuffers();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static void Reshape( int width, int height )
|
|
||||||
{
|
|
||||||
glViewport( 0, 0, width, height );
|
|
||||||
glMatrixMode( GL_PROJECTION );
|
|
||||||
glLoadIdentity();
|
|
||||||
glFrustum( -2.0, 2.0, -2.0, 2.0, 5.0, 25.0 );
|
|
||||||
glMatrixMode( GL_MODELVIEW );
|
|
||||||
glLoadIdentity();
|
|
||||||
glTranslatef( 0.0, 0.0, -12.0 );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static void Key( unsigned char key, int x, int y )
|
|
||||||
{
|
|
||||||
(void) x;
|
|
||||||
(void) y;
|
|
||||||
switch (key) {
|
|
||||||
case ' ':
|
|
||||||
Xrot = Yrot = Zrot = 0;
|
|
||||||
break;
|
|
||||||
case 'a':
|
|
||||||
Anim = !Anim;
|
|
||||||
if (Anim)
|
|
||||||
glutIdleFunc(Idle);
|
|
||||||
else
|
|
||||||
glutIdleFunc(NULL);
|
|
||||||
break;
|
|
||||||
case 'z':
|
|
||||||
Zrot -= 5.0;
|
|
||||||
break;
|
|
||||||
case 'Z':
|
|
||||||
Zrot += 5.0;
|
|
||||||
break;
|
|
||||||
case 27:
|
|
||||||
exit(0);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
glutPostRedisplay();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static void SpecialKey( int key, int x, int y )
|
|
||||||
{
|
|
||||||
const GLfloat step = 3.0;
|
|
||||||
(void) x;
|
|
||||||
(void) y;
|
|
||||||
switch (key) {
|
|
||||||
case GLUT_KEY_UP:
|
|
||||||
Xrot -= step;
|
|
||||||
break;
|
|
||||||
case GLUT_KEY_DOWN:
|
|
||||||
Xrot += step;
|
|
||||||
break;
|
|
||||||
case GLUT_KEY_LEFT:
|
|
||||||
Yrot -= step;
|
|
||||||
break;
|
|
||||||
case GLUT_KEY_RIGHT:
|
|
||||||
Yrot += step;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
glutPostRedisplay();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static void Init( void )
|
|
||||||
{
|
|
||||||
/* borrowed from an nvidia demo:
|
|
||||||
* c[0..3] = modelview matrix
|
|
||||||
* c[4..7] = inverse modelview matrix
|
|
||||||
* c[32] = light pos
|
|
||||||
* c[35] = diffuse color
|
|
||||||
*/
|
|
||||||
static const char prog[] =
|
|
||||||
"!!VP1.0\n"
|
|
||||||
"#Simple transform and diffuse lighting\n"
|
|
||||||
"\n"
|
|
||||||
"DP4 o[HPOS].x, c[0], v[OPOS] ; # object x MVP -> clip\n"
|
|
||||||
"DP4 o[HPOS].y, c[1], v[OPOS] ;\n"
|
|
||||||
"DP4 o[HPOS].z, c[2], v[OPOS] ;\n"
|
|
||||||
"DP4 o[HPOS].w, c[3], v[OPOS] ;\n"
|
|
||||||
|
|
||||||
"DP3 R1.x, c[4], v[NRML] ; # normal x MV-1T -> lighting normal\n"
|
|
||||||
"DP3 R1.y, c[5], v[NRML] ;\n"
|
|
||||||
"DP3 R1.z, c[6], v[NRML] ;\n"
|
|
||||||
|
|
||||||
"DP3 R0, c[32], R1 ; # L.N\n"
|
|
||||||
"MUL o[COL0].xyz, R0, c[35] ; # col = L.N * diffuse\n"
|
|
||||||
"MOV o[TEX0], v[TEX0];\n"
|
|
||||||
"END";
|
|
||||||
|
|
||||||
if (!glutExtensionSupported("GL_NV_vertex_program")) {
|
|
||||||
printf("Sorry, this program requires GL_NV_vertex_program");
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
glLoadProgramNV(GL_VERTEX_PROGRAM_NV, 1,
|
|
||||||
strlen(prog), (const GLubyte *) prog);
|
|
||||||
assert(glIsProgramNV(1));
|
|
||||||
glBindProgramNV(GL_VERTEX_PROGRAM_NV, 1);
|
|
||||||
|
|
||||||
/* Load the program registers */
|
|
||||||
glTrackMatrixNV(GL_VERTEX_PROGRAM_NV, 0, GL_MODELVIEW_PROJECTION_NV, GL_IDENTITY_NV);
|
|
||||||
glTrackMatrixNV(GL_VERTEX_PROGRAM_NV, 4, GL_MODELVIEW, GL_INVERSE_TRANSPOSE_NV);
|
|
||||||
|
|
||||||
/* Light position */
|
|
||||||
glProgramParameter4fNV(GL_VERTEX_PROGRAM_NV, 32, 2, 2, 4, 1);
|
|
||||||
/* Diffuse material color */
|
|
||||||
glProgramParameter4fNV(GL_VERTEX_PROGRAM_NV, 35, 0.25, 0, 0.25, 1);
|
|
||||||
|
|
||||||
glEnable(GL_VERTEX_PROGRAM_NV);
|
|
||||||
glEnable(GL_DEPTH_TEST);
|
|
||||||
glClearColor(0.3, 0.3, 0.3, 1);
|
|
||||||
|
|
||||||
printf("glGetError = %d\n", (int) glGetError());
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
int main( int argc, char *argv[] )
|
|
||||||
{
|
|
||||||
glutInit( &argc, argv );
|
|
||||||
glutInitWindowPosition( 0, 0 );
|
|
||||||
glutInitWindowSize( 250, 250 );
|
|
||||||
glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH );
|
|
||||||
glutCreateWindow(argv[0]);
|
|
||||||
glutReshapeFunc( Reshape );
|
|
||||||
glutKeyboardFunc( Key );
|
|
||||||
glutSpecialFunc( SpecialKey );
|
|
||||||
glutDisplayFunc( Display );
|
|
||||||
if (Anim)
|
|
||||||
glutIdleFunc(Idle);
|
|
||||||
Init();
|
|
||||||
glutMainLoop();
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user