Compare commits
241 Commits
mesa_4_1
...
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 |
84
Make-config
84
Make-config
@@ -1,8 +1,8 @@
|
||||
# $Id: Make-config,v 1.63 2002/06/10 17:01:46 brianp Exp $
|
||||
# $Id: Make-config,v 1.50.2.10 2002/06/10 17:01:30 brianp Exp $
|
||||
|
||||
MESA_MAJOR=4
|
||||
MESA_MINOR=1
|
||||
MESA_TINY=0
|
||||
MESA_MINOR=0
|
||||
MESA_TINY=3
|
||||
VERSION=$(MESA_MAJOR).$(MESA_MINOR)
|
||||
|
||||
# Mesa 3-D graphics library
|
||||
@@ -597,14 +597,14 @@ linux-x86:
|
||||
"APP_LIB_DEPS = -lm" \
|
||||
"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_cliptest.S \
|
||||
X86/x86_cliptest.S X86/x86_vertex.S \
|
||||
X86/mmx_blend.S \
|
||||
X86/3dnow_xform1.S X86/3dnow_xform2.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_xform3.S X86/sse_xform4.S \
|
||||
X86/sse_normal.S"
|
||||
X86/sse_normal.S X86/sse_vertex.S"
|
||||
|
||||
linux-icc:
|
||||
$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
|
||||
@@ -615,7 +615,7 @@ linux-icc:
|
||||
"OSMESA_LIB = libOSMesa.so" \
|
||||
"CC = icc" \
|
||||
"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" \
|
||||
"GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lm -lpthread" \
|
||||
"GLU_LIB_DEPS = -L../lib -lGL -lm" \
|
||||
@@ -623,14 +623,14 @@ linux-icc:
|
||||
"APP_LIB_DEPS = -lm" \
|
||||
"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_cliptest.S \
|
||||
X86/x86_cliptest.S X86/x86_vertex.S \
|
||||
X86/mmx_blend.S \
|
||||
X86/3dnow_xform1.S X86/3dnow_xform2.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_xform3.S X86/sse_xform4.S \
|
||||
X86/sse_normal.S"
|
||||
X86/sse_normal.S X86/sse_vertex.S"
|
||||
|
||||
linux-x86-static:
|
||||
$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
|
||||
@@ -649,14 +649,14 @@ linux-x86-static:
|
||||
"APP_LIB_DEPS = -lm" \
|
||||
"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_cliptest.S \
|
||||
X86/x86_cliptest.S X86/x86_vertex.S \
|
||||
X86/mmx_blend.S \
|
||||
X86/3dnow_xform1.S X86/3dnow_xform2.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_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
|
||||
linux-ggi:
|
||||
@@ -689,7 +689,7 @@ linux-386-ggi:
|
||||
"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 \
|
||||
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:
|
||||
$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
|
||||
@@ -723,10 +723,10 @@ linux-386-glide:
|
||||
"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" \
|
||||
"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 \
|
||||
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:
|
||||
$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
|
||||
@@ -743,10 +743,10 @@ linux-386-opt-glide:
|
||||
"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" \
|
||||
"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 \
|
||||
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:
|
||||
$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
|
||||
@@ -762,18 +762,18 @@ linux-x86-glide:
|
||||
"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" \
|
||||
"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 \
|
||||
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/3dnow_xform1.S X86/3dnow_xform2.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 \
|
||||
X86/sse_xform1.S X86/sse_xform2.S \
|
||||
X86/sse_xform3.S X86/sse_xform4.S \
|
||||
X86/sse_normal.S "
|
||||
X86/sse_normal.S X86/sse_vertex.S"
|
||||
|
||||
linux-alpha:
|
||||
$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
|
||||
@@ -1043,7 +1043,7 @@ os2-x11:
|
||||
"APP_LIB_DEPS = -Zmt -Zcrtdll -Zexe -L$(X11ROOT)/XFree86/lib -lXt -lX11 -lm" \
|
||||
"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_cliptest.S"
|
||||
X86/x86_cliptest.S X86/x86_vertex.S"
|
||||
|
||||
osf1:
|
||||
$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
|
||||
@@ -1517,7 +1517,7 @@ linux-debug:
|
||||
"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" \
|
||||
"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)" \
|
||||
"MAKELIB = ../bin/mklib.linux" \
|
||||
"GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread" \
|
||||
@@ -1525,6 +1525,24 @@ linux-debug:
|
||||
"GLUT_LIB_DEPS = -L../lib -lGLU -lGL -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm" \
|
||||
"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:
|
||||
$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
|
||||
"GL_LIB = libGL.a" \
|
||||
@@ -1556,14 +1574,14 @@ linux-x86-debug:
|
||||
"APP_LIB_DEPS = -lm" \
|
||||
"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_cliptest.S \
|
||||
X86/x86_cliptest.S X86/x86_vertex.S \
|
||||
X86/mmx_blend.S \
|
||||
X86/3dnow_xform1.S X86/3dnow_xform2.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_xform3.S X86/sse_xform4.S \
|
||||
X86/sse_normal.S"
|
||||
X86/sse_normal.S X86/sse_vertex.S"
|
||||
|
||||
linux-glide-debug:
|
||||
$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
|
||||
@@ -1595,15 +1613,15 @@ linux-prof:
|
||||
"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 \
|
||||
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/3dnow_xform1.S X86/3dnow_xform2.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 \
|
||||
X86/sse_xform1.S X86/sse_xform2.S \
|
||||
X86/sse_xform3.S X86/sse_xform4.S \
|
||||
X86/sse_normal.S "
|
||||
X86/sse_normal.S X86/sse_vertex.S"
|
||||
|
||||
linux-glide-prof:
|
||||
$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
|
||||
@@ -1620,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" \
|
||||
"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_cliptest.S \
|
||||
X86/x86_cliptest.S X86/x86_vertex.S \
|
||||
X86/mmx_blend.S \
|
||||
X86/3dnow_xform1.S X86/3dnow_xform2.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 \
|
||||
X86/sse_xform1.S X86/sse_xform2.S \
|
||||
X86/sse_xform3.S X86/sse_xform4.S \
|
||||
X86/sse_normal.S"
|
||||
X86/sse_normal.S X86/sse_vertex.S"
|
||||
|
22
Makefile.X11
22
Makefile.X11
@@ -1,7 +1,7 @@
|
||||
# $Id: Makefile.X11,v 1.65 2002/10/15 15:40:57 brianp Exp $
|
||||
# $Id: Makefile.X11,v 1.56.2.10 2002/06/24 20:44:58 brianp Exp $
|
||||
|
||||
# Mesa 3-D graphics library
|
||||
# Version: 4.1
|
||||
# Version: 4.0.3
|
||||
#
|
||||
# Copyright (C) 1999-2002 Brian Paul All Rights Reserved.
|
||||
#
|
||||
@@ -143,7 +143,7 @@ aix aix-sl amix bsdos bsdos4 darwin dgux freebsd freebsd-386 gcc \
|
||||
hpux9 hpux9-sl hpux9-gcc hpux9-gcc-sl \
|
||||
hpux10 hpux10-sl hpux10-gcc hpux10-gcc-sl \
|
||||
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-glide linux-386-glide linux-386-opt-glide \
|
||||
linux-x86-glide linux-glide-debug linux-glide-prof \
|
||||
@@ -300,7 +300,6 @@ linux-osmesa16 linux-osmesa32:
|
||||
-mkdir lib
|
||||
if [ -d src ] ; then touch src/depend ; fi
|
||||
if [ -d src ] ; then cd src ; $(MAKE) -f Makefile.OSMesa16 $@ ; fi
|
||||
|
||||
|
||||
# Remove .o files, emacs backup files, etc.
|
||||
clean:
|
||||
@@ -330,10 +329,11 @@ realclean: clean
|
||||
cd samples && $(MAKE) -f Makefile.X11 realclean || true
|
||||
|
||||
|
||||
DIRECTORY = Mesa-4.1
|
||||
LIB_NAME = MesaLib-4.1
|
||||
DEMO_NAME = MesaDemos-4.1
|
||||
GLU_NAME = MesaGLU-4.1
|
||||
|
||||
DIRECTORY = Mesa-4.0.3
|
||||
LIB_NAME = MesaLib-4.0.3
|
||||
DEMO_NAME = MesaDemos-4.0.3
|
||||
GLU_NAME = MesaGLU-4.0.3
|
||||
GLUT_NAME = GLUT-3.7
|
||||
|
||||
|
||||
@@ -350,6 +350,7 @@ LIB_FILES = \
|
||||
$(DIRECTORY)/configure \
|
||||
$(DIRECTORY)/configure.in \
|
||||
$(DIRECTORY)/install-sh \
|
||||
$(DIRECTORY)/ltconfig \
|
||||
$(DIRECTORY)/ltmain.sh \
|
||||
$(DIRECTORY)/missing \
|
||||
$(DIRECTORY)/mkinstalldirs \
|
||||
@@ -431,8 +432,7 @@ LIB_FILES = \
|
||||
$(DIRECTORY)/src/windml/tornado/*.cdf \
|
||||
$(DIRECTORY)/src/windml/man3/*.3 \
|
||||
$(DIRECTORY)/src/windml/man3/*.html \
|
||||
$(DIRECTORY)/src/DOS/*.[chS] \
|
||||
$(DIRECTORY)/src/DOS/vesa/*.[ch] \
|
||||
$(DIRECTORY)/src/DOS/*.[ch] \
|
||||
$(DIRECTORY)/src/BeOS/*.cpp \
|
||||
$(DIRECTORY)/src/FX/Makefile.am \
|
||||
$(DIRECTORY)/src/FX/Makefile.in \
|
||||
@@ -625,7 +625,7 @@ DEMO_FILES = \
|
||||
$(DIRECTORY)/demos/README \
|
||||
$(DIRECTORY)/xdemos/Makefile* \
|
||||
$(DIRECTORY)/xdemos/descrip.mms \
|
||||
$(DIRECTORY)/xdemos/*.[chf] \
|
||||
$(DIRECTORY)/xdemos/*.[cf] \
|
||||
$(DIRECTORY)/book/Makefile* \
|
||||
$(DIRECTORY)/book/README \
|
||||
$(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)
|
||||
|
||||
|
||||
|
||||
Info for Mesa 4.1
|
||||
-----------------
|
||||
|
||||
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.
|
||||
Warning: this document is rather out of date, but most of the information
|
||||
should still apply.
|
||||
|
||||
|
||||
|
||||
@@ -32,6 +17,8 @@ What do you need ?
|
||||
under Linux (more information in the "Useful Glide Environment
|
||||
Variables");
|
||||
|
||||
- Mesa 3.1;
|
||||
|
||||
- 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
|
||||
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),
|
||||
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
|
||||
card and one for your 3Dfx card. If something goes wrong with
|
||||
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
|
||||
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
|
||||
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
|
||||
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
|
||||
working. No optimizations have been made at this time.
|
||||
|
||||
|
||||
|
||||
* Compiling
|
||||
Compiling
|
||||
|
||||
Requirements:
|
||||
- gcc version 2.95.3 for BeOS
|
||||
You can find it here: http://www.bebits.com/app/2157
|
||||
|
||||
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.
|
||||
In the Mesa-3.x directory type "make -f Makefile.X11 beos-r4".
|
||||
When it finishes the libMesaGL.so and libMesaGLU.so libraries for
|
||||
BeOS will be in the Mesa-3.x/lib/ directory.
|
||||
|
||||
|
||||
* 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
|
||||
library.
|
||||
|
||||
|
||||
* GLUT
|
||||
|
||||
A beta version of GLUT 3.7 port for BeOS can be found at
|
||||
http://anobject.com/jehamby/Code/Glut-3.7-x86.zip.
|
||||
|
||||
There's is a 2.5 version in src-glut.beos/, too.
|
||||
GLUT
|
||||
|
||||
A version of GLUT 2.5 for BeOS can be found in src-glut.beos/.
|
||||
The original distribution can be obtained from
|
||||
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
|
||||
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
|
||||
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
|
||||
|
||||
BDirectWindow single buffering support is not implemented yet.
|
||||
Work Left To Do
|
||||
|
||||
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
|
||||
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
|
||||
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 $
|
||||
|
173
docs/README.DJ
173
docs/README.DJ
@@ -1,4 +1,4 @@
|
||||
Mesa 4.0 DOS/DJGPP Port v1.1
|
||||
Mesa 4.0 DOS/DJGPP Port v1.0
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
|
||||
@@ -6,150 +6,75 @@
|
||||
Description:
|
||||
~~~~~~~~~~~~
|
||||
|
||||
Well, guess what... this is the DOS port of Mesa 4.0.4, 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.
|
||||
Well, guess what... this is the DOS port of MESA 4.0, for DJGPP fans... Whoa!
|
||||
|
||||
|
||||
|
||||
Legal:
|
||||
~~~~~~
|
||||
|
||||
Mesa copyright applies, provided this package is used within Mesa. For anything
|
||||
else, see GPL.
|
||||
MESA copyright applies.
|
||||
|
||||
|
||||
|
||||
Installation:
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
Unzip and type:
|
||||
|
||||
make -f Makefile.DJ [OPTIONS...]
|
||||
|
||||
Available options:
|
||||
|
||||
Environment variables:
|
||||
CPU optimize for the given processor.
|
||||
default = k6
|
||||
BIG_OPT=1 crazy optimizations; not very useful, though...
|
||||
default = no
|
||||
GLIDE absolute path to Glide library; used with FX.
|
||||
default = $(TOP)/include/glide3
|
||||
FX=1 build for 3dfx Glide3; use it if you have the Glide
|
||||
SDK (designed for your platform), and, of course, a
|
||||
3dfx card... Note that this disables compilation of
|
||||
actual DMesa code, as Glide does all the stuff!
|
||||
default = no
|
||||
HAVE_X86=1 optimize for i386.
|
||||
default = no
|
||||
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:
|
||||
CPU: K6-2 (CXT) @500(412.5) MHz
|
||||
Mainboard: ViA Apollo VP2/97 w/ 128 MB SDRAM
|
||||
Video card: PowerColor Evil King3 (Voodoo3 3000) w/ 16384 kB SDRAM
|
||||
DJGPP: djdev 2.03 + gcc v3.1 + make v3.79.1
|
||||
|
||||
|
||||
|
||||
FAQ:
|
||||
~~~~
|
||||
|
||||
1. Compilation
|
||||
|
||||
Q) I tried to run `make' and it exits because `gcc' complains it cannot find
|
||||
some stupid file.
|
||||
A) You need LFN support.
|
||||
A) When compiling for Glide (FX=1), pay attention to Glide path.
|
||||
|
||||
2. Dynamic modules
|
||||
|
||||
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 couln'd 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...
|
||||
A) The DXE2 modules are not compulsory. The static libraries are still built
|
||||
and you can use them in the old-fashioned, classic way. For example:
|
||||
gcc -o OUT.exe IN.c -lglut -lglu -lgl
|
||||
|
||||
Q) Okay, DXE2 modules are built. How can I use them?
|
||||
A) Usage of the dynamic modules requires three things:
|
||||
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
|
||||
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
|
||||
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
|
||||
can fetch a patched version from my web page.
|
||||
The demos are not built automagically (see Pitfalls below). To make them, use
|
||||
one of the following rules:
|
||||
Static:
|
||||
gcc -o OUT.exe IN.c -lglut -lglu -lgl
|
||||
Dynamic:
|
||||
gcc -o OUT.exe -include dmesadxe.h IN.c -ligl -liglu -liglut -ldl
|
||||
Usage of the dynamic modules requires three things:
|
||||
- include DMESADXE.H in one of the sources, so references inside
|
||||
dynamic modules will get resolved (or use `-include' directive).
|
||||
- link against import libraries (libI*.a) and LIBDL.A, which will do
|
||||
dynamic modules will get resolved (or use `-include' directive)
|
||||
- link against import libraries (libIgl*.a) and LIBDL.A, which will do
|
||||
the dynamic linkage job for you
|
||||
- put the DXEs somewhere along the library path (LD_LIBRARY_PATH) or
|
||||
in the current directory
|
||||
For example:
|
||||
gcc -o OUT.exe -include dmesadxe.h IN.c -ligl -liglu -liglut -ldl
|
||||
|
||||
Q) The application dies with "Abort!" due to unresolved symbols.
|
||||
A) This is bad! Extract the unresolved symbol list from this module. For
|
||||
example:
|
||||
dxe2gen --show-unres gl.dxe > u
|
||||
Check DMESADXE.H; the symbols in `u' must either be present here or be
|
||||
exported from another module that has to be loaded before your faulting
|
||||
one. Then recompile.
|
||||
Tested on:
|
||||
CPU: Intel Pentium w/ MMX @166 MHz
|
||||
Mainboard: ViA Apollo VP2 w/ 128 MB SDRAM
|
||||
Video card: Matrox Millenium 2064W w/ 2048 kB WRAM, BIOS v3.0
|
||||
DJGPP: djdev 2.03 + gcc v3.0.3 + make v3.79
|
||||
|
||||
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!
|
||||
libGL (the core):
|
||||
~~~~~~~~~~~~~~~~~
|
||||
|
||||
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 ;-).
|
||||
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) 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 :-(
|
||||
The driver has its origins in ddsample.c, written by Brian Paul and found by
|
||||
me in MESA 3.4.2. I touched almost all the functions, changing the coding
|
||||
style :-( Sorry!
|
||||
|
||||
Q) The DJGPP port of Mesa 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?
|
||||
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) 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
|
||||
|
||||
|
||||
libGLU:
|
||||
~~~~~~~
|
||||
|
||||
Mesa GLU sources are required.
|
||||
|
||||
|
||||
|
||||
@@ -160,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
|
||||
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
|
||||
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
|
||||
for keys, I borrowed the translation tables (and maybe more) from Allegro.
|
||||
@@ -196,10 +121,6 @@ History:
|
||||
~~~~~~~~
|
||||
|
||||
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
|
||||
|
||||
|
||||
|
||||
|
@@ -1,13 +1,12 @@
|
||||
File: docs/README.WIN32
|
||||
|
||||
Last updated: Aug 15, 2002 - Karl Schultz - kschultz@users.sourceforge.net
|
||||
Last updated: Nov 29, 2001 - Karl Schultz - kschultz@users.sourceforge.net
|
||||
|
||||
Quick Start
|
||||
|
||||
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
|
||||
an optimized build. Note that you may have to run ...VC98/BIN/VCVARS32.BAT
|
||||
to set up the appropriate compiler environment variables.
|
||||
an optimized build.
|
||||
|
||||
Details and Notes
|
||||
|
||||
@@ -16,16 +15,11 @@ Details and Notes
|
||||
si-glu MesaGLU.dll, MesaGLU.lib
|
||||
src-glut glut32.dll, glut32.lib
|
||||
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
|
||||
such as $SystemRoot/SYSTEM32. If you don't like putting things in a
|
||||
system directory, place them in the same directory as the executable(s).
|
||||
For example, you can copy the DLL files to the demos directory if you
|
||||
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.
|
||||
or to the demos directory if you just want to give the demos a try.
|
||||
The DLL and LIB files are copied to 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.
|
||||
But the files in ./lib are never cleaned.
|
||||
|
@@ -1,5 +1,5 @@
|
||||
|
||||
Mesa 4.0 Unix/X11 Information
|
||||
Mesa 4.0.3 Unix/X11 Information
|
||||
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@ There are two ways to compile Mesa on Unix/X11 systems:
|
||||
|
||||
|
||||
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/lib/
|
||||
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
|
||||
@@ -323,4 +323,4 @@ Summary of X-related environment variables:
|
||||
|
||||
|
||||
----------------------------------------------------------------------
|
||||
$Id: README.X11,v 3.8 2001/09/23 16:10:02 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.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
$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
|
||||
|
||||
March 25, 2002
|
||||
April 2, 2002
|
||||
|
||||
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
|
||||
|
||||
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.
|
||||
Even numbered versions (such as 4.0) designate stable 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 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,4 +1,4 @@
|
||||
$Id: VERSIONS,v 1.103 2002/10/29 15:09:37 brianp Exp $
|
||||
$Id: VERSIONS,v 1.73.2.29 2002/06/25 15:22:12 brianp Exp $
|
||||
|
||||
|
||||
Mesa Version History
|
||||
@@ -899,7 +899,7 @@ Mesa Version History
|
||||
- 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:
|
||||
- better sub-pixel sample positions for AA triangles (Ray Tice)
|
||||
- slightly faster blending for (GL_ZERO, GL_ONE) and (GL_ONE, GL_ZERO)
|
||||
@@ -981,79 +981,3 @@ Mesa Version History
|
||||
- lots of T&L updates for the Radeon DRI driver
|
||||
Known bugs:
|
||||
- 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,1] 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
|
||||
- floating point color channels now clamped to [0,inf)
|
||||
- updated demos/stex3d with new options
|
||||
|
@@ -1,7 +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.
|
@@ -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,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])
|
||||
|
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
|
||||
* 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
|
||||
* copy of this software and associated documentation files (the "Software"),
|
||||
@@ -63,23 +63,6 @@
|
||||
# define GLAPIENTRY
|
||||
#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__)
|
||||
#include <gl/mesa_wgl.h>
|
||||
#endif
|
||||
@@ -87,19 +70,6 @@
|
||||
#if defined(macintosh) && PRAGMA_IMPORT_SUPPORTED
|
||||
#pragma import on
|
||||
#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.
|
||||
**********************************************************************/
|
||||
@@ -119,8 +89,13 @@ extern "C" {
|
||||
|
||||
|
||||
/*
|
||||
*
|
||||
* Datatypes
|
||||
*
|
||||
*/
|
||||
#ifdef CENTERLINE_CLPP
|
||||
#define signed
|
||||
#endif
|
||||
typedef unsigned int GLenum;
|
||||
typedef unsigned char GLboolean;
|
||||
typedef unsigned int GLbitfield;
|
||||
@@ -140,7 +115,9 @@ typedef double GLclampd; /* double precision float in [0,1] */
|
||||
|
||||
|
||||
/*
|
||||
*
|
||||
* Constants
|
||||
*
|
||||
*/
|
||||
|
||||
/* Boolean values */
|
||||
@@ -356,6 +333,10 @@ typedef double GLclampd; /* double precision float in [0,1] */
|
||||
#define GL_DST_COLOR 0x0306
|
||||
#define GL_ONE_MINUS_DST_COLOR 0x0307
|
||||
#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 */
|
||||
#define GL_FEEDBACK 0x1C01
|
||||
@@ -523,6 +504,8 @@ typedef double GLclampd; /* double precision float in [0,1] */
|
||||
/* Evaluators */
|
||||
#define GL_AUTO_NORMAL 0x0D80
|
||||
#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_NORMAL 0x0D92
|
||||
#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_4 0x0D98
|
||||
#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_NORMAL 0x0DB2
|
||||
#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_VERTEX_3 0x0DB7
|
||||
#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_DOMAIN 0x0A02
|
||||
#define GL_ORDER 0x0A01
|
||||
@@ -743,6 +724,243 @@ typedef double GLclampd; /* double precision float in [0,1] */
|
||||
#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
|
||||
@@ -840,6 +1058,7 @@ GLAPI void GLAPIENTRY glFlush( void );
|
||||
GLAPI void GLAPIENTRY glHint( GLenum target, GLenum mode );
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* 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 );
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* 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 );
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Display Lists
|
||||
*/
|
||||
@@ -925,6 +1146,7 @@ GLAPI void GLAPIENTRY glCallLists( GLsizei n, GLenum type,
|
||||
GLAPI void GLAPIENTRY glListBase( GLuint base );
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* 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 );
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Vertex Arrays (1.1)
|
||||
*/
|
||||
@@ -1153,6 +1376,7 @@ GLAPI void GLAPIENTRY glDrawElements( GLenum mode, GLsizei count,
|
||||
GLAPI void GLAPIENTRY glInterleavedArrays( GLenum format, GLsizei stride,
|
||||
const GLvoid *pointer );
|
||||
|
||||
|
||||
/*
|
||||
* Lighting
|
||||
*/
|
||||
@@ -1187,6 +1411,8 @@ GLAPI void GLAPIENTRY glGetMaterialiv( GLenum face, GLenum pname, GLint *params
|
||||
GLAPI void GLAPIENTRY glColorMaterial( GLenum face, GLenum mode );
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Raster functions
|
||||
*/
|
||||
@@ -1228,6 +1454,8 @@ GLAPI void GLAPIENTRY glCopyPixels( GLint x, GLint y,
|
||||
GLsizei width, GLsizei height,
|
||||
GLenum type );
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Stenciling
|
||||
*/
|
||||
@@ -1305,6 +1533,7 @@ GLAPI void GLAPIENTRY glGetTexImage( GLenum target, GLint level,
|
||||
GLvoid *pixels );
|
||||
|
||||
|
||||
|
||||
/* 1.1 functions */
|
||||
|
||||
GLAPI void GLAPIENTRY glGenTextures( GLsizei n, GLuint *textures );
|
||||
@@ -1361,6 +1590,8 @@ GLAPI void GLAPIENTRY glCopyTexSubImage2D( GLenum target, GLint level,
|
||||
GLsizei width, GLsizei height );
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* 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 );
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Fog
|
||||
*/
|
||||
@@ -1427,6 +1659,7 @@ GLAPI void GLAPIENTRY glFogfv( GLenum pname, const GLfloat *params );
|
||||
GLAPI void GLAPIENTRY glFogiv( GLenum pname, const GLint *params );
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Selection and Feedback
|
||||
*/
|
||||
@@ -1447,57 +1680,12 @@ GLAPI void GLAPIENTRY glPopName( void );
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* 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
|
||||
|
||||
/* 1.2 functions */
|
||||
GLAPI void GLAPIENTRY glDrawRangeElements( GLenum mode, GLuint start,
|
||||
GLuint end, GLsizei count, GLenum type, const GLvoid *indices );
|
||||
|
||||
GLAPI void GLAPIENTRY glTexImage3D( GLenum target, GLint level,
|
||||
GLint internalFormat,
|
||||
GLenum internalFormat,
|
||||
GLsizei width, GLsizei height,
|
||||
GLsizei depth, GLint border,
|
||||
GLenum format, GLenum type,
|
||||
@@ -1516,92 +1704,8 @@ GLAPI void GLAPIENTRY glCopyTexSubImage3D( GLenum target, GLint level,
|
||||
GLint y, GLsizei width,
|
||||
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,
|
||||
GLsizei width, GLenum format,
|
||||
@@ -1711,151 +1815,9 @@ GLAPI void GLAPIENTRY glSeparableFilter2D( GLenum target,
|
||||
GLAPI void GLAPIENTRY glGetSeparableFilter( GLenum target, GLenum format,
|
||||
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);
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* 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
|
||||
/* 1.3 functions */
|
||||
|
||||
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 );
|
||||
|
||||
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)
|
||||
@@ -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 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 */
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* 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)
|
||||
|
||||
|
||||
@@ -2493,6 +2370,8 @@ GLAPI void GLAPIENTRY glUnlockArraysEXT( void );
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* 197. GL_MESA_window_pos
|
||||
*/
|
||||
@@ -2562,7 +2441,7 @@ GLAPI void GLAPIENTRY glResizeBuffersMESA( void );
|
||||
|
||||
/*
|
||||
* ???. GL_MESA_trace
|
||||
* XXX obsolete
|
||||
* XXX this should go into glext.h at some point
|
||||
*/
|
||||
#ifndef GL_MESA_trace
|
||||
#define GL_MESA_trace 1
|
||||
@@ -2593,7 +2472,7 @@ GLAPI void GLAPIENTRY glTracePointerRangeMESA( const GLvoid* first, const GLvoid
|
||||
|
||||
/*
|
||||
* ???. GL_MESA_packed_depth_stencil
|
||||
* XXX obsolete
|
||||
* XXX this will be in glext.h someday
|
||||
*/
|
||||
#ifndef GL_MESA_packed_depth_stencil
|
||||
#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 */
|
||||
|
||||
|
||||
#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_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 */
|
||||
#define GL_SPRITE_POINT_MESA 0x8757 /* XXX not finalized! */
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
/**********************************************************************
|
||||
* Begin system-specific stuff
|
||||
*/
|
||||
#if defined(PRAGMA_EXPORT_SUPPORTED)
|
||||
#if defined(__BEOS__) || defined(__QUICKDRAW__)
|
||||
#pragma export off
|
||||
#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
|
||||
# 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,
|
||||
** 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
|
||||
** elsewhere herein. All Rights Reserved.
|
||||
**
|
||||
@@ -49,9 +49,9 @@ extern "C" {
|
||||
/*************************************************************/
|
||||
|
||||
/* 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/ */
|
||||
#define GL_GLEXT_VERSION 17
|
||||
#define GL_GLEXT_VERSION 15
|
||||
|
||||
#ifndef GL_VERSION_1_2
|
||||
#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_10_10_10_2 0x8036
|
||||
#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_SHORT_5_6_5 0x8363
|
||||
#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_GREEN_BIAS 0x80B9
|
||||
#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_POST_CONVOLUTION_COLOR_TABLE 0x80D1
|
||||
#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_LUMINANCE_SIZE 0x80DE
|
||||
#define GL_COLOR_TABLE_INTENSITY_SIZE 0x80DF
|
||||
#define GL_IGNORE_BORDER 0x8150
|
||||
#define GL_CONSTANT_BORDER 0x8151
|
||||
#define GL_WRAP_BORDER 0x8152
|
||||
#define GL_REPLICATE_BORDER 0x8153
|
||||
#define GL_CONVOLUTION_BORDER_COLOR 0x8154
|
||||
#endif
|
||||
@@ -275,48 +267,6 @@ extern "C" {
|
||||
#define GL_DOT3_RGBA 0x86AF
|
||||
#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
|
||||
#define GL_TEXTURE0_ARB 0x84C0
|
||||
#define GL_TEXTURE1_ARB 0x84C1
|
||||
@@ -412,9 +362,17 @@ extern "C" {
|
||||
|
||||
#ifndef GL_ARB_point_parameters
|
||||
#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_EXT 0x8127
|
||||
#define GL_POINT_SIZE_MAX_SGIS 0x8127
|
||||
#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_DISTANCE_ATTENUATION_EXT 0x8129
|
||||
#define GL_DISTANCE_ATTENUATION_SGIS 0x8129
|
||||
#endif
|
||||
|
||||
#ifndef GL_ARB_vertex_blend
|
||||
@@ -533,88 +491,6 @@ extern "C" {
|
||||
#ifndef GL_ARB_window_pos
|
||||
#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
|
||||
#define GL_ABGR_EXT 0x8000
|
||||
#endif
|
||||
@@ -680,14 +556,23 @@ extern "C" {
|
||||
#endif
|
||||
|
||||
#ifndef GL_EXT_texture3D
|
||||
#define GL_PACK_SKIP_IMAGES 0x806B
|
||||
#define GL_PACK_SKIP_IMAGES_EXT 0x806B
|
||||
#define GL_PACK_IMAGE_HEIGHT 0x806C
|
||||
#define GL_PACK_IMAGE_HEIGHT_EXT 0x806C
|
||||
#define GL_UNPACK_SKIP_IMAGES 0x806D
|
||||
#define GL_UNPACK_SKIP_IMAGES_EXT 0x806D
|
||||
#define GL_UNPACK_IMAGE_HEIGHT 0x806E
|
||||
#define GL_UNPACK_IMAGE_HEIGHT_EXT 0x806E
|
||||
#define GL_TEXTURE_3D 0x806F
|
||||
#define GL_TEXTURE_3D_EXT 0x806F
|
||||
#define GL_PROXY_TEXTURE_3D 0x8070
|
||||
#define GL_PROXY_TEXTURE_3D_EXT 0x8070
|
||||
#define GL_TEXTURE_DEPTH 0x8071
|
||||
#define GL_TEXTURE_DEPTH_EXT 0x8071
|
||||
#define GL_TEXTURE_WRAP_R 0x8072
|
||||
#define GL_TEXTURE_WRAP_R_EXT 0x8072
|
||||
#define GL_MAX_3D_TEXTURE_SIZE 0x8073
|
||||
#define GL_MAX_3D_TEXTURE_SIZE_EXT 0x8073
|
||||
#endif
|
||||
|
||||
@@ -1014,20 +899,6 @@ extern "C" {
|
||||
#define GL_TEXTURE_MULTI_BUFFER_HINT_SGIX 0x812E
|
||||
#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
|
||||
#define GL_INSTRUMENT_BUFFER_POINTER_SGIX 0x8180
|
||||
#define GL_INSTRUMENT_MEASUREMENTS_SGIX 0x8181
|
||||
@@ -2418,11 +2289,6 @@ extern "C" {
|
||||
#ifndef GL_EXT_shadow_funcs
|
||||
#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);
|
||||
#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
|
||||
#define GL_ARB_multitexture 1
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
@@ -2948,136 +2718,6 @@ typedef void (APIENTRY * PFNGLWINDOWPOS3SARBPROC) (GLshort x, GLshort y, GLshort
|
||||
typedef void (APIENTRY * PFNGLWINDOWPOS3SVARBPROC) (const GLshort *v);
|
||||
#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
|
||||
#define GL_EXT_abgr 1
|
||||
#endif
|
||||
@@ -4122,15 +3762,9 @@ typedef void (APIENTRY * PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3F
|
||||
#define GL_EXT_blend_func_separate 1
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
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);
|
||||
#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);
|
||||
#endif
|
||||
|
||||
@@ -5008,14 +4642,6 @@ typedef void (APIENTRY * PFNGLPOINTPARAMETERIVNVPROC) (GLenum pname, const GLint
|
||||
#define GL_EXT_shadow_funcs 1
|
||||
#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
|
||||
}
|
||||
|
@@ -36,14 +36,6 @@
|
||||
|
||||
#include <GL/gl.h>
|
||||
|
||||
#ifndef GLAPIENTRY
|
||||
#define GLAPIENTRY
|
||||
#endif
|
||||
|
||||
#ifndef GLAPI
|
||||
#define GLAPI
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
@@ -223,11 +223,9 @@ WGLAPI int GLAPIENTRY SetPixelFormat(HDC,int,const PIXELFORMATDESCRIPTOR *);
|
||||
video resize subAPI, glutPostWindowRedisplay, glutKeyboardUpFunc,
|
||||
glutSpecialUpFunc, glutIgnoreKeyRepeat, glutSetKeyRepeat,
|
||||
glutJoystickFunc, glutForceJoystickFunc (NOT FINALIZED!).
|
||||
|
||||
GLUT_API_VERSION=5 glutGetProcAddress (added by BrianP)
|
||||
**/
|
||||
#ifndef GLUT_API_VERSION /* allow this to be overriden */
|
||||
#define GLUT_API_VERSION 5
|
||||
#define GLUT_API_VERSION 3
|
||||
#endif
|
||||
|
||||
/**
|
||||
@@ -663,9 +661,6 @@ GLUTAPI int GLUTAPIENTRY glutExtensionSupported(const char *name);
|
||||
GLUTAPI int GLUTAPIENTRY glutGetModifiers(void);
|
||||
GLUTAPI int GLUTAPIENTRY glutLayerGet(GLenum type);
|
||||
#endif
|
||||
#if (GLUT_API_VERSION >= 5)
|
||||
GLUTAPI void * GLUTAPIENTRY glutGetProcAddress(const char *procName);
|
||||
#endif
|
||||
|
||||
/* GLUT font sub-API */
|
||||
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
|
||||
* Version: 4.1
|
||||
* Version: 4.0.3
|
||||
*
|
||||
* Copyright (C) 1999-2002 Brian Paul All Rights Reserved.
|
||||
*
|
||||
@@ -154,7 +154,6 @@ extern "C" {
|
||||
#define GLX_STATIC_COLOR 0x8005
|
||||
#define GLX_GRAY_SCALE 0x8006
|
||||
#define GLX_STATIC_GRAY 0x8007
|
||||
#define GLX_TRANSPARENT_RGB 0x8008
|
||||
#define GLX_TRANSPARENT_INDEX 0x8009
|
||||
#define GLX_RGBA_TYPE 0x8014
|
||||
#define GLX_COLOR_INDEX_TYPE 0x8015
|
||||
@@ -298,6 +297,7 @@ extern void glXGetSelectedEvent( Display *dpy, GLXDrawable drawable,
|
||||
extern void (*glXGetProcAddress(const GLubyte *procname))();
|
||||
|
||||
|
||||
|
||||
#ifndef GLX_GLXEXT_LEGACY
|
||||
|
||||
#include <GL/glxext.h>
|
||||
@@ -453,38 +453,6 @@ extern void (*glXGetProcAddressARB(const GLubyte *procName))();
|
||||
#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
|
||||
}
|
||||
|
@@ -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
|
||||
|
@@ -314,9 +314,7 @@ struct __GLdrawablePrivateRec {
|
||||
void (*unlockDP)(__GLdrawablePrivate *glPriv);
|
||||
|
||||
/* exported */
|
||||
#if 0 /* disable, just like in __GLimportsRec */
|
||||
void *wsPriv; /* pointer to the window system DrawablePrivate */
|
||||
#endif
|
||||
#ifdef __cplusplus
|
||||
void *privatePtr;
|
||||
#else
|
||||
@@ -375,13 +373,8 @@ typedef struct __GLimportsRec {
|
||||
/* Drawing surface management */
|
||||
__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 */
|
||||
void *wscx;
|
||||
#endif
|
||||
|
||||
/* Operating system dependent data goes here */
|
||||
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
|
||||
* Version: 4.1
|
||||
* Version: 4.0.3
|
||||
*
|
||||
* Copyright (C) 1999-2002 Brian Paul All Rights Reserved.
|
||||
*
|
||||
@@ -63,8 +63,8 @@ extern "C" {
|
||||
|
||||
|
||||
#define OSMESA_MAJOR_VERSION 4
|
||||
#define OSMESA_MINOR_VERSION 1
|
||||
#define OSMESA_PATCH_VERSION 0
|
||||
#define OSMESA_MINOR_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__)
|
||||
#pragma export off
|
||||
#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
|
||||
@@ -24,7 +24,7 @@
|
||||
|
||||
/*
|
||||
* $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.
|
||||
* - add two new Pixel Format Descriptors that do not have alpha bits to
|
||||
* 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
|
||||
* 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
|
||||
* 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_MINOR_VERSION 1
|
||||
#define XMESA_MINOR_VERSION 0
|
||||
|
||||
|
||||
|
||||
@@ -374,16 +374,6 @@ extern GLboolean XMesaSetFXmode( GLint mode );
|
||||
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
|
||||
}
|
||||
#endif
|
||||
|
@@ -32,7 +32,7 @@ class SampleGLWindow : public BWindow
|
||||
{
|
||||
public:
|
||||
SampleGLWindow(BRect frame, uint32 type);
|
||||
virtual bool QuitRequested() { be_app->PostMessage(B_QUIT_REQUESTED); return true; }
|
||||
virtual bool QuitRequested() { return true; }
|
||||
|
||||
private:
|
||||
SampleGLView *theView;
|
||||
@@ -135,7 +135,7 @@ void SampleGLView::gInit(void)
|
||||
use_stipple_mode = GL_FALSE;
|
||||
use_smooth_mode = GL_TRUE;
|
||||
linesize = 2;
|
||||
pointsize = 6;
|
||||
pointsize = 4;
|
||||
}
|
||||
|
||||
|
||||
@@ -147,46 +147,35 @@ void SampleGLView::gDraw(void)
|
||||
glClear(GL_COLOR_BUFFER_BIT);
|
||||
glLineWidth(linesize);
|
||||
|
||||
/*
|
||||
|
||||
if (use_stipple_mode) {
|
||||
glEnable(GL_LINE_STIPPLE);
|
||||
} else {
|
||||
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();
|
||||
|
||||
glPointSize(pointsize); // Set size for point
|
||||
|
||||
for (i = 0; i < 360; i += 5) {
|
||||
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
|
||||
glBegin(GL_LINE_STRIP); // And create the line
|
||||
glVertex3fv(pntA);
|
||||
glVertex3fv(pntB);
|
||||
glVertex3fv(pntA);
|
||||
glVertex3fv(pntB);
|
||||
glEnd();
|
||||
|
||||
glDisable(GL_POINT_SMOOTH);
|
||||
glDisable(GL_BLEND);
|
||||
|
||||
|
||||
glPointSize(pointsize); // Set size for point
|
||||
glColor3f(0.0, 1.0, 0.0); // Set color for point
|
||||
glBegin(GL_POINTS);
|
||||
glVertex3fv(pntA); // Draw point at one end
|
||||
glVertex3fv(pntB); // Draw point at other end
|
||||
glVertex3fv(pntA); // Draw point at one end
|
||||
glVertex3fv(pntB); // Draw point at other end
|
||||
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
|
||||
# Version: 3.5
|
||||
|
@@ -1,10 +1,36 @@
|
||||
/* $Id: clearspd.c,v 1.4 2002/04/22 16:03:37 brianp Exp $ */
|
||||
/* $Id: clearspd.c,v 1.3 2000/12/07 21:50:39 brianp Exp $ */
|
||||
|
||||
/*
|
||||
* Simple GLUT program to measure glClear() and glutSwapBuffers() speed.
|
||||
* 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 <stdlib.h>
|
||||
|
@@ -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
|
||||
@@ -36,100 +36,25 @@
|
||||
*/
|
||||
|
||||
|
||||
#include <assert.h>
|
||||
#include <math.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include "GL/glut.h"
|
||||
#include "../util/readtex.c" /* a hack */
|
||||
|
||||
|
||||
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 )
|
||||
{
|
||||
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
|
||||
|
||||
glPushMatrix(); /*MODELVIEW*/
|
||||
glTranslatef( 0.0, 0.0, -EyeDist );
|
||||
|
||||
/* skybox */
|
||||
glDisable(GL_TEXTURE_GEN_S);
|
||||
glDisable(GL_TEXTURE_GEN_T);
|
||||
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();
|
||||
glMatrixMode(GL_TEXTURE);
|
||||
glLoadIdentity();
|
||||
glRotatef(Xrot, 1, 0, 0);
|
||||
glRotatef(Yrot, 0, 1, 0);
|
||||
glutSolidSphere(2.0, 20, 20);
|
||||
glMatrixMode(GL_MODELVIEW);
|
||||
|
||||
glutSwapBuffers();
|
||||
}
|
||||
@@ -137,8 +62,7 @@ static void draw( void )
|
||||
|
||||
static void idle(void)
|
||||
{
|
||||
GLfloat t = 0.05 * glutGet(GLUT_ELAPSED_TIME);
|
||||
Yrot = t;
|
||||
Yrot += 5.0;
|
||||
glutPostRedisplay();
|
||||
}
|
||||
|
||||
@@ -157,6 +81,9 @@ static void set_mode(GLuint mode)
|
||||
glTexGeni(GL_R, GL_TEXTURE_GEN_MODE, GL_NORMAL_MAP_ARB);
|
||||
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;
|
||||
set_mode(mode);
|
||||
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:
|
||||
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)
|
||||
{
|
||||
GLfloat step = 5;
|
||||
GLfloat step = 10;
|
||||
(void) x;
|
||||
(void) y;
|
||||
switch (key) {
|
||||
case GLUT_KEY_UP:
|
||||
Xrot += step;
|
||||
Xrot -= step;
|
||||
break;
|
||||
case GLUT_KEY_DOWN:
|
||||
Xrot -= step;
|
||||
Xrot += step;
|
||||
break;
|
||||
case GLUT_KEY_LEFT:
|
||||
Yrot -= step;
|
||||
@@ -221,17 +138,17 @@ static void specialkey(int key, int x, int y)
|
||||
/* new window size or exposure */
|
||||
static void reshape(int width, int height)
|
||||
{
|
||||
GLfloat ar = (float) width / (float) height;
|
||||
glViewport(0, 0, (GLint)width, (GLint)height);
|
||||
glMatrixMode(GL_PROJECTION);
|
||||
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);
|
||||
glLoadIdentity();
|
||||
glTranslatef( 0.0, 0.0, -8.0 );
|
||||
}
|
||||
|
||||
|
||||
static void init_checkers( void )
|
||||
static void init( void )
|
||||
{
|
||||
#define CUBE_TEX_SIZE 64
|
||||
GLubyte image[CUBE_TEX_SIZE][CUBE_TEX_SIZE][3];
|
||||
@@ -254,6 +171,16 @@ static void init_checkers( void )
|
||||
|
||||
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);
|
||||
|
||||
/* 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,
|
||||
GL_RGB, GL_UNSIGNED_BYTE, image);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static void load(GLenum target, const char *filename,
|
||||
GLboolean flipTB, GLboolean flipLR)
|
||||
{
|
||||
GLint w, h;
|
||||
GLenum format;
|
||||
GLubyte *img = LoadRGBImage( filename, &w, &h, &format );
|
||||
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);
|
||||
#if 1
|
||||
glTexParameteri(GL_TEXTURE_CUBE_MAP_ARB, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
|
||||
glTexParameteri(GL_TEXTURE_CUBE_MAP_ARB, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
|
||||
#else
|
||||
glTexParameteri(GL_TEXTURE_CUBE_MAP_ARB, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
|
||||
glTexParameteri(GL_TEXTURE_CUBE_MAP_ARB, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
|
||||
#endif
|
||||
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);
|
||||
|
||||
glEnable(GL_TEXTURE_CUBE_MAP_ARB);
|
||||
glEnable(GL_DEPTH_TEST);
|
||||
|
||||
glClearColor(.3, .3, .3, 0);
|
||||
glColor3f( 1.0, 1.0, 1.0 );
|
||||
@@ -386,21 +229,16 @@ static void usage(void)
|
||||
printf(" SPACE - toggle animation\n");
|
||||
printf(" CURSOR KEYS - rotation\n");
|
||||
printf(" m - toggle texgen reflection mode\n");
|
||||
printf(" z/Z - change viewing distance\n");
|
||||
}
|
||||
|
||||
|
||||
int main( int argc, char *argv[] )
|
||||
{
|
||||
glutInitWindowPosition(0, 0);
|
||||
glutInitWindowSize(600, 500);
|
||||
glutInitWindowSize(300, 300);
|
||||
glutInitDisplayMode( GLUT_RGB | GLUT_DEPTH | GLUT_DOUBLE );
|
||||
glutCreateWindow("Texture Cube Maping");
|
||||
|
||||
if (argc > 1 && strcmp(argv[1] , "-i") == 0)
|
||||
init( 1 );
|
||||
else
|
||||
init( 0 );
|
||||
init();
|
||||
glutReshapeFunc( reshape );
|
||||
glutKeyboardFunc( key );
|
||||
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
|
||||
@@ -6,6 +6,61 @@
|
||||
* 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 <stdlib.h>
|
||||
#include <math.h>
|
||||
@@ -23,8 +78,6 @@ static int Xpos, Ypos;
|
||||
static int SkipPixels, SkipRows;
|
||||
static int DrawWidth, DrawHeight;
|
||||
static int Scissor = 0;
|
||||
static int Fog = 0;
|
||||
static GLfloat Zpos = -1.0;
|
||||
static float Xzoom, Yzoom;
|
||||
static GLboolean DrawFront = GL_FALSE;
|
||||
static GLboolean Dither = GL_TRUE;
|
||||
@@ -37,8 +90,6 @@ static void Reset( void )
|
||||
DrawHeight = ImgHeight;
|
||||
SkipPixels = SkipRows = 0;
|
||||
Scissor = 0;
|
||||
Fog = 0;
|
||||
Zpos = -1.0;
|
||||
Xzoom = Yzoom = 1.0;
|
||||
}
|
||||
|
||||
@@ -51,7 +102,7 @@ static void Display( void )
|
||||
glRasterPos2i(Xpos, Ypos);
|
||||
#else
|
||||
/* This allows negative raster positions: */
|
||||
glRasterPos3f(0, 0, Zpos);
|
||||
glRasterPos2i(0, 0);
|
||||
glBitmap(0, 0, 0, 0, Xpos, Ypos, NULL);
|
||||
#endif
|
||||
|
||||
@@ -63,13 +114,9 @@ static void Display( void )
|
||||
if (Scissor)
|
||||
glEnable(GL_SCISSOR_TEST);
|
||||
|
||||
if (Fog)
|
||||
glEnable(GL_FOG);
|
||||
|
||||
glDrawPixels(DrawWidth, DrawHeight, ImgFormat, GL_UNSIGNED_BYTE, Image);
|
||||
|
||||
glDisable(GL_SCISSOR_TEST);
|
||||
glDisable(GL_FOG);
|
||||
|
||||
if (!DrawFront)
|
||||
glutSwapBuffers();
|
||||
@@ -89,8 +136,6 @@ static void Benchmark( void )
|
||||
glPixelZoom( Xzoom, Yzoom );
|
||||
if (Scissor)
|
||||
glEnable(GL_SCISSOR_TEST);
|
||||
if (Fog)
|
||||
glEnable(GL_FOG);
|
||||
|
||||
if (DrawFront)
|
||||
glDrawBuffer(GL_FRONT);
|
||||
@@ -108,7 +153,6 @@ static void Benchmark( void )
|
||||
|
||||
/* GL clean-up */
|
||||
glDisable(GL_SCISSOR_TEST);
|
||||
glDisable(GL_FOG);
|
||||
|
||||
/* Results */
|
||||
seconds = (double) (endTime - startTime) / 1000.0;
|
||||
@@ -123,7 +167,7 @@ static void Reshape( int width, int height )
|
||||
glViewport( 0, 0, width, height );
|
||||
glMatrixMode( GL_PROJECTION );
|
||||
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 );
|
||||
glLoadIdentity();
|
||||
|
||||
@@ -189,21 +233,9 @@ static void Key( unsigned char key, int x, int y )
|
||||
case 'Y':
|
||||
Yzoom += 0.1;
|
||||
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':
|
||||
Benchmark();
|
||||
break;
|
||||
case 'F':
|
||||
Fog = !Fog;
|
||||
printf("Fog %d\n", Fog);
|
||||
break;
|
||||
case 'f':
|
||||
DrawFront = !DrawFront;
|
||||
if (DrawFront)
|
||||
@@ -244,8 +276,6 @@ static void SpecialKey( int key, int x, int y )
|
||||
|
||||
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_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
|
||||
|
||||
@@ -257,7 +287,7 @@ static void Init( GLboolean ciMode )
|
||||
|
||||
if (ciMode) {
|
||||
/* Convert RGB image to grayscale */
|
||||
GLubyte *indexImage = (GLubyte *) malloc( ImgWidth * ImgHeight );
|
||||
GLubyte *indexImage = malloc( ImgWidth * ImgHeight );
|
||||
GLint i;
|
||||
for (i=0; i<ImgWidth*ImgHeight; i++) {
|
||||
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_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();
|
||||
}
|
||||
|
||||
@@ -306,10 +331,6 @@ static void Usage(void)
|
||||
printf(" r Decrease GL_UNPACK_SKIP_ROWS*\n");
|
||||
printf(" R Increase GL_UNPACK_SKIP_ROWS*\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(" b Benchmark test\n");
|
||||
printf(" ESC Exit\n");
|
||||
|
@@ -660,7 +660,7 @@ inittextures(void)
|
||||
|
||||
if ((gluerr = gluBuild2DMipmaps(GL_TEXTURE_2D, 4, 128, 128, GL_RGBA,
|
||||
GL_UNSIGNED_BYTE, (GLvoid *) (tex)))) {
|
||||
fprintf(stderr, "GLULib%s\n", (char *) gluErrorString(gluerr));
|
||||
fprintf(stderr, "GLULib%s\n", gluErrorString(gluerr));
|
||||
exit(-1);
|
||||
}
|
||||
}
|
||||
@@ -752,7 +752,7 @@ main(int ac, char **av)
|
||||
glFogfv(GL_FOG_COLOR, fogcolor);
|
||||
glFogf(GL_FOG_DENSITY, 0.1);
|
||||
|
||||
p = (part *) malloc(sizeof(part) * np);
|
||||
p = malloc(sizeof(part) * np);
|
||||
|
||||
for (i = 0; i < np; 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.
|
||||
When the intensities of the inner squares nearly match the intensities
|
||||
@@ -22,6 +23,22 @@
|
||||
|
||||
/* 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 <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
|
||||
@@ -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 <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.
|
||||
@@ -14,6 +14,25 @@
|
||||
* 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 <stdlib.h>
|
||||
|
@@ -186,7 +186,7 @@ inittextures(void)
|
||||
(gluerr =
|
||||
gluBuild2DMipmaps(GL_TEXTURE_2D, 3, TEX_SKY_WIDTH, TEX_SKY_HEIGHT,
|
||||
GL_RGB, GL_UNSIGNED_BYTE, (GLvoid *) (tsky)))) {
|
||||
fprintf(stderr, "GLULib%s\n", (char *) gluErrorString(gluerr));
|
||||
fprintf(stderr, "GLULib%s\n", gluErrorString(gluerr));
|
||||
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.
|
||||
@@ -32,7 +32,6 @@
|
||||
#include <math.h>
|
||||
#ifdef _WIN32
|
||||
#include <windows.h>
|
||||
#undef CLIP_MASK
|
||||
#endif
|
||||
#define GL_GLEXT_LEGACY
|
||||
#include "GL/glut.h"
|
||||
@@ -40,36 +39,34 @@
|
||||
#include "readtex.c" /* I know, this is a hack. KW: me too. */
|
||||
#define TEXTURE_FILE "../images/reflect.rgb"
|
||||
|
||||
#define LIT 0x00000001
|
||||
#define UNLIT 0x00000002
|
||||
#define REFLECT 0x00000004
|
||||
#define POINT_FILTER 0x00000008
|
||||
#define LINEAR_FILTER 0x00000010
|
||||
#define GLVERTEX 0x00000020
|
||||
#define DRAW_ELTS 0x00000040
|
||||
#define DRAW_ARRAYS 0x00000080
|
||||
#define ARRAY_ELT 0x00000100
|
||||
#define LOCKED 0x00000200
|
||||
#define UNLOCKED 0x00000400
|
||||
#define IMMEDIATE 0x00000800
|
||||
#define DISPLAYLIST 0x00001000
|
||||
#define SHADE_SMOOTH 0x00002000
|
||||
#define SHADE_FLAT 0x00004000
|
||||
#define TRIANGLES 0x00008000
|
||||
#define STRIPS 0x00010000
|
||||
#define POINTS 0x00020000
|
||||
#define USER_CLIP 0x00040000
|
||||
#define NO_USER_CLIP 0x00080000
|
||||
#define MATERIALS 0x00100000
|
||||
#define NO_MATERIALS 0x00200000
|
||||
#define FOG 0x00400000
|
||||
#define NO_FOG 0x00800000
|
||||
#define QUIT 0x01000000
|
||||
#define GLINFO 0x02000000
|
||||
#define STIPPLE 0x04000000
|
||||
#define NO_STIPPLE 0x08000000
|
||||
#define POLYGON_FILL 0x10000000
|
||||
#define POLYGON_LINE 0x20000000
|
||||
#define LIT 0x1
|
||||
#define UNLIT 0x2
|
||||
#define REFLECT 0x10
|
||||
#define POINT_FILTER 0x40
|
||||
#define LINEAR_FILTER 0x80
|
||||
#define GLVERTEX 0x100
|
||||
#define DRAW_ELTS 0x4
|
||||
#define DRAW_ARRAYS 0x200
|
||||
#define ARRAY_ELT 0x400
|
||||
#define LOCKED 0x800
|
||||
#define UNLOCKED 0x8
|
||||
#define IMMEDIATE 0x1000
|
||||
#define DISPLAYLIST 0x2000000
|
||||
#define SHADE_SMOOTH 0x2000
|
||||
#define SHADE_FLAT 0x4000
|
||||
#define TRIANGLES 0x8000
|
||||
#define STRIPS 0x10000
|
||||
#define POINTS 0x20000
|
||||
#define USER_CLIP 0x40000
|
||||
#define NO_USER_CLIP 0x80000
|
||||
#define MATERIALS 0x100000
|
||||
#define NO_MATERIALS 0x200000
|
||||
#define FOG 0x400000
|
||||
#define NO_FOG 0x800000
|
||||
#define QUIT 0x1000000
|
||||
#define GLINFO 0x4000000
|
||||
#define STIPPLE 0x8000000
|
||||
#define NO_STIPPLE 0x20
|
||||
|
||||
#define LIGHT_MASK (LIT|UNLIT|REFLECT)
|
||||
#define FILTER_MASK (POINT_FILTER|LINEAR_FILTER)
|
||||
@@ -82,10 +79,9 @@
|
||||
#define SHADE_MASK (SHADE_SMOOTH|SHADE_FLAT)
|
||||
#define FOG_MASK (FOG|NO_FOG)
|
||||
#define STIPPLE_MASK (STIPPLE|NO_STIPPLE)
|
||||
#define POLYGON_MASK (POLYGON_FILL|POLYGON_LINE)
|
||||
|
||||
#define MAXVERTS 10000
|
||||
static GLint maxverts = MAXVERTS;
|
||||
static GLuint maxverts = MAXVERTS;
|
||||
static float data[MAXVERTS][6];
|
||||
static float compressed_data[MAXVERTS][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 )
|
||||
{
|
||||
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,
|
||||
(flags & GLVERTEX) ? "glVertex, " : "",
|
||||
(flags & DRAW_ARRAYS) ? "glDrawArrays, " : "",
|
||||
@@ -166,8 +162,7 @@ static void print_flags( const char *msg, GLuint flags )
|
||||
(flags & USER_CLIP) ? "user_clip, " : "",
|
||||
(flags & MATERIALS) ? "materials, " : "",
|
||||
(flags & FOG) ? "fog, " : "",
|
||||
(flags & STIPPLE) ? "stipple, " : "",
|
||||
(flags & POLYGON_LINE) ? "polygon mode line, " : "");
|
||||
(flags & STIPPLE) ? "stipple, " : "");
|
||||
}
|
||||
|
||||
|
||||
@@ -338,7 +333,7 @@ static void make_tri_indices( void )
|
||||
{
|
||||
unsigned int *v = tri_indices;
|
||||
unsigned int parity = 0;
|
||||
int i, j;
|
||||
unsigned int i, j;
|
||||
|
||||
for (j=2;j<numverts;j++,parity^=1) {
|
||||
if (parity) {
|
||||
@@ -368,9 +363,9 @@ static void make_tri_indices( void )
|
||||
|
||||
#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 & (RENDER_STYLE_MASK|PRIMITIVE_MASK|MATERIAL_MASK)) !=
|
||||
@@ -689,34 +684,28 @@ static void ModeMenu(int m)
|
||||
|
||||
if (CHANGED(state, m, FOG_MASK)) {
|
||||
UPDATE(state, m, FOG_MASK);
|
||||
if (m & FOG) {
|
||||
if (m & FOG)
|
||||
{
|
||||
glEnable(GL_FOG);
|
||||
}
|
||||
else {
|
||||
else
|
||||
{
|
||||
glDisable(GL_FOG);
|
||||
}
|
||||
}
|
||||
|
||||
if (CHANGED(state, m, STIPPLE_MASK)) {
|
||||
UPDATE(state, m, STIPPLE_MASK);
|
||||
if (m & STIPPLE) {
|
||||
if (m & STIPPLE)
|
||||
{
|
||||
glEnable(GL_POLYGON_STIPPLE);
|
||||
}
|
||||
else {
|
||||
else
|
||||
{
|
||||
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
|
||||
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("No Stipple", NO_STIPPLE);
|
||||
glutAddMenuEntry("", 0);
|
||||
glutAddMenuEntry("Polygon Mode Fill", POLYGON_FILL);
|
||||
glutAddMenuEntry("Polygon Mode Line", POLYGON_LINE);
|
||||
glutAddMenuEntry("", 0);
|
||||
glutAddMenuEntry("Point Filtered", POINT_FILTER);
|
||||
glutAddMenuEntry("Linear Filtered", LINEAR_FILTER);
|
||||
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
|
||||
@@ -8,7 +8,72 @@
|
||||
*
|
||||
*
|
||||
* 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 TEX0 1
|
||||
#define TEX7 8
|
||||
#define TEX1 2
|
||||
#define TEXBOTH 3
|
||||
#define ANIMATE 10
|
||||
#define QUIT 100
|
||||
|
||||
static GLboolean Animate = GL_TRUE;
|
||||
static GLint NumUnits = 1;
|
||||
static GLboolean TexEnabled[8];
|
||||
|
||||
static GLfloat Drift = 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 )
|
||||
{
|
||||
if (Animate) {
|
||||
GLint i;
|
||||
|
||||
Drift += 0.05;
|
||||
if (Drift >= 1.0)
|
||||
Drift = 0.0;
|
||||
|
||||
for (i = 0; i < NumUnits; i++) {
|
||||
glActiveTextureARB(GL_TEXTURE0_ARB + i);
|
||||
glMatrixMode(GL_TEXTURE);
|
||||
glLoadIdentity();
|
||||
if (i == 0) {
|
||||
glTranslatef(Drift, 0.0, 0.0);
|
||||
glScalef(2, 2, 2);
|
||||
}
|
||||
else if (i == 1) {
|
||||
glTranslatef(0.0, Drift, 0.0);
|
||||
}
|
||||
else {
|
||||
glTranslatef(0.5, 0.5, 0.0);
|
||||
glRotatef(180.0 * Drift, 0, 0, 1);
|
||||
glScalef(1.0/i, 1.0/i, 1.0/i);
|
||||
glTranslatef(-0.5, -0.5, 0.0);
|
||||
}
|
||||
}
|
||||
#ifdef GL_ARB_multitexture
|
||||
glActiveTextureARB(GL_TEXTURE0_ARB);
|
||||
#endif
|
||||
glMatrixMode(GL_TEXTURE);
|
||||
glLoadIdentity();
|
||||
glTranslatef(Drift, 0.0, 0.0);
|
||||
glMatrixMode(GL_MODELVIEW);
|
||||
|
||||
#ifdef GL_ARB_multitexture
|
||||
glActiveTextureARB(GL_TEXTURE1_ARB);
|
||||
#endif
|
||||
glMatrixMode(GL_TEXTURE);
|
||||
glLoadIdentity();
|
||||
glTranslatef(0.0, Drift, 0.0);
|
||||
glMatrixMode(GL_MODELVIEW);
|
||||
|
||||
glutPostRedisplay();
|
||||
@@ -73,30 +131,37 @@ static void Idle( 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);
|
||||
|
||||
for (i = 0; i < NumUnits; i++)
|
||||
glMultiTexCoord2fARB(GL_TEXTURE0_ARB + i, 0.0, 0.0);
|
||||
#ifdef GL_ARB_multitexture
|
||||
glMultiTexCoord2fARB(GL_TEXTURE0_ARB, 0.0, 0.0);
|
||||
glMultiTexCoord2fARB(GL_TEXTURE1_ARB, 0.0, 0.0);
|
||||
glVertex2f(-1.0, -1.0);
|
||||
|
||||
for (i = 0; i < NumUnits; i++)
|
||||
glMultiTexCoord2fARB(GL_TEXTURE0_ARB + i, 1.0, 0.0);
|
||||
glMultiTexCoord2fARB(GL_TEXTURE0_ARB, 2.0, 0.0);
|
||||
glMultiTexCoord2fARB(GL_TEXTURE1_ARB, 1.0, 0.0);
|
||||
glVertex2f(1.0, -1.0);
|
||||
|
||||
for (i = 0; i < NumUnits; i++)
|
||||
glMultiTexCoord2fARB(GL_TEXTURE0_ARB + i, 1.0, 1.0);
|
||||
glMultiTexCoord2fARB(GL_TEXTURE0_ARB, 2.0, 2.0);
|
||||
glMultiTexCoord2fARB(GL_TEXTURE1_ARB, 1.0, 1.0);
|
||||
glVertex2f(1.0, 1.0);
|
||||
|
||||
for (i = 0; i < NumUnits; i++)
|
||||
glMultiTexCoord2fARB(GL_TEXTURE0_ARB + i, 0.0, 1.0);
|
||||
glMultiTexCoord2fARB(GL_TEXTURE0_ARB, 0.0, 2.0);
|
||||
glMultiTexCoord2fARB(GL_TEXTURE1_ARB, 0.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();
|
||||
}
|
||||
@@ -134,19 +199,16 @@ static void Reshape( int width, int height )
|
||||
|
||||
static void ModeMenu(int entry)
|
||||
{
|
||||
if (entry >= TEX0 && entry <= TEX7) {
|
||||
/* toggle */
|
||||
GLint i = entry - TEX0;
|
||||
TexEnabled[i] = !TexEnabled[i];
|
||||
glActiveTextureARB(GL_TEXTURE0_ARB + i);
|
||||
if (TexEnabled[i])
|
||||
glEnable(GL_TEXTURE_2D);
|
||||
else
|
||||
glDisable(GL_TEXTURE_2D);
|
||||
printf("Enabled: ");
|
||||
for (i = 0; i < NumUnits; i++)
|
||||
printf("%d ", (int) TexEnabled[i]);
|
||||
printf("\n");
|
||||
GLboolean enable0 = GL_FALSE, enable1 = GL_FALSE;
|
||||
if (entry==TEX0) {
|
||||
enable0 = GL_TRUE;
|
||||
}
|
||||
else if (entry==TEX1) {
|
||||
enable1 = GL_TRUE;
|
||||
}
|
||||
else if (entry==TEXBOTH) {
|
||||
enable0 = GL_TRUE;
|
||||
enable1 = GL_TRUE;
|
||||
}
|
||||
else if (entry==ANIMATE) {
|
||||
Animate = !Animate;
|
||||
@@ -155,6 +217,26 @@ static void ModeMenu(int entry)
|
||||
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();
|
||||
}
|
||||
|
||||
@@ -198,8 +280,8 @@ static void SpecialKey( int key, int x, int y )
|
||||
|
||||
static void Init( int argc, char *argv[] )
|
||||
{
|
||||
GLuint texObj[8];
|
||||
GLint size, i;
|
||||
GLuint texObj[2];
|
||||
GLint units, size;
|
||||
|
||||
const char *exten = (const char *) glGetString(GL_EXTENSIONS);
|
||||
if (!strstr(exten, "GL_ARB_multitexture")) {
|
||||
@@ -207,82 +289,64 @@ static void Init( int argc, char *argv[] )
|
||||
exit(1);
|
||||
}
|
||||
|
||||
glGetIntegerv(GL_MAX_TEXTURE_UNITS_ARB, &NumUnits);
|
||||
printf("%d texture units supported\n", NumUnits);
|
||||
if (NumUnits > 8)
|
||||
NumUnits = 8;
|
||||
glGetIntegerv(GL_MAX_TEXTURE_UNITS_ARB, &units);
|
||||
printf("%d texture units supported\n", units);
|
||||
|
||||
glGetIntegerv(GL_MAX_TEXTURE_SIZE, &size);
|
||||
printf("%d x %d max texture size\n", size, size);
|
||||
|
||||
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 */
|
||||
glGenTextures(NumUnits, texObj);
|
||||
glGenTextures(2, texObj);
|
||||
|
||||
/* setup the texture objects */
|
||||
for (i = 0; i < NumUnits; i++) {
|
||||
|
||||
glActiveTextureARB(GL_TEXTURE0_ARB + i);
|
||||
glBindTexture(GL_TEXTURE_2D, texObj[i]);
|
||||
|
||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
|
||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
|
||||
|
||||
if (i == 0) {
|
||||
if (!LoadRGBMipmaps(TEXTURE_1_FILE, GL_RGB)) {
|
||||
printf("Error: couldn't load texture image\n");
|
||||
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 0 */
|
||||
glBindTexture(GL_TEXTURE_2D, texObj[0]);
|
||||
#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_1_FILE, GL_RGB)) {
|
||||
printf("Error: couldn't load texture image\n");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
||||
/* 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);
|
||||
glClearColor(0.3, 0.3, 0.4, 1.0);
|
||||
|
||||
ModeMenu(TEXBOTH);
|
||||
|
||||
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));
|
||||
@@ -294,8 +358,6 @@ static void Init( int argc, char *argv[] )
|
||||
|
||||
int main( int argc, char *argv[] )
|
||||
{
|
||||
GLint i;
|
||||
|
||||
glutInit( &argc, argv );
|
||||
glutInitWindowSize( 300, 300 );
|
||||
glutInitWindowPosition( 0, 0 );
|
||||
@@ -311,12 +373,9 @@ int main( int argc, char *argv[] )
|
||||
glutIdleFunc( Idle );
|
||||
|
||||
glutCreateMenu(ModeMenu);
|
||||
|
||||
for (i = 0; i < NumUnits; i++) {
|
||||
char s[100];
|
||||
sprintf(s, "Toggle Texture %d", i);
|
||||
glutAddMenuEntry(s, TEX0 + i);
|
||||
}
|
||||
glutAddMenuEntry("Texture 0", TEX0);
|
||||
glutAddMenuEntry("Texture 1", TEX1);
|
||||
glutAddMenuEntry("Multi-texture", TEXBOTH);
|
||||
glutAddMenuEntry("Toggle Animation", ANIMATE);
|
||||
glutAddMenuEntry("Quit", QUIT);
|
||||
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
|
||||
@@ -24,7 +24,6 @@
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include "GL/osmesa.h"
|
||||
#include "GL/glut.h"
|
||||
|
||||
@@ -153,7 +152,6 @@ static void render_image( void )
|
||||
}
|
||||
|
||||
|
||||
#ifdef SAVE_TARGA
|
||||
|
||||
static void
|
||||
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
|
||||
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[] )
|
||||
|
@@ -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.
|
||||
@@ -94,16 +94,15 @@ static void Init( void )
|
||||
{
|
||||
#define HEIGHT 8
|
||||
#define WIDTH 32
|
||||
/* 257 = HEIGHT * WIDTH + 1 (for trailing '\0') */
|
||||
static char texture[257] = {"\
|
||||
\
|
||||
MMM EEEE SSS AAA \
|
||||
M M M E S S A A \
|
||||
M M M EEEE SS A A \
|
||||
M M M E SS AAAAA \
|
||||
M M E S S A A \
|
||||
M M EEEE SSS A A \
|
||||
"
|
||||
static char texture[HEIGHT][WIDTH] = {
|
||||
" ",
|
||||
" MMM EEEE SSS AAA ",
|
||||
" M M M E S S A A ",
|
||||
" M M M EEEE SS A A ",
|
||||
" M M M E SS AAAAA ",
|
||||
" M M E S S A A ",
|
||||
" M M EEEE SSS A A ",
|
||||
" "
|
||||
};
|
||||
GLubyte table[256][4];
|
||||
|
||||
@@ -162,7 +161,7 @@ static void Init( void )
|
||||
0, /* border */
|
||||
GL_COLOR_INDEX, /* texture format */
|
||||
GL_UNSIGNED_BYTE, /* texture type */
|
||||
texture); /* the texture */
|
||||
texture); /* teh texture */
|
||||
#endif
|
||||
|
||||
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. */
|
||||
|
||||
|
||||
/*
|
||||
* $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 <stdlib.h>
|
||||
#include <string.h>
|
||||
|
@@ -8,7 +8,6 @@
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <math.h>
|
||||
|
||||
#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
|
||||
@@ -6,6 +6,30 @@
|
||||
* 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 <stdio.h>
|
||||
#include <stdlib.h>
|
||||
@@ -219,7 +243,7 @@ Init( GLboolean ciMode )
|
||||
|
||||
if (ciMode) {
|
||||
/* Convert RGB image to grayscale */
|
||||
GLubyte *indexImage = (GLubyte *) malloc( ImgWidth * ImgHeight );
|
||||
GLubyte *indexImage = malloc( ImgWidth * ImgHeight );
|
||||
GLint i;
|
||||
for (i=0; i<ImgWidth*ImgHeight; i++) {
|
||||
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
|
||||
* GL_ARB_shadow_ambient extensions (or the old SGIX extensions).
|
||||
* Shadow demo using the GL_SGIX_depth_texture, GL_SGIX_shadow and
|
||||
* GL_SGIX_shadow_ambient extensions.
|
||||
*
|
||||
* Brian Paul
|
||||
* 19 Feb 2001
|
||||
*
|
||||
* Added GL_EXT_shadow_funcs support on 23 March 2002
|
||||
*
|
||||
* Copyright (C) 1999-2001 Brian Paul All Rights Reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||
@@ -37,12 +35,6 @@
|
||||
#include <GL/glut.h>
|
||||
#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)
|
||||
|
||||
@@ -69,16 +61,6 @@ static GLfloat Bias = -0.06;
|
||||
|
||||
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;
|
||||
#define SHOW_NORMAL 0
|
||||
#define SHOW_DEPTH_IMAGE 1
|
||||
@@ -249,7 +231,6 @@ Display(void)
|
||||
{
|
||||
GLfloat ar = (GLfloat) WindowWidth / (GLfloat) WindowHeight;
|
||||
GLfloat d;
|
||||
GLenum error;
|
||||
|
||||
ComputeLightPos(LightDist, LightLatitude, LightLongitude,
|
||||
LightPos, SpotDir);
|
||||
@@ -276,8 +257,8 @@ Display(void)
|
||||
*/
|
||||
if (DisplayMode == SHOW_DEPTH_MAPPING) {
|
||||
/* load depth image as gray-scale luminance texture */
|
||||
GLfloat *depth = (GLfloat *) malloc(ShadowTexWidth * ShadowTexHeight
|
||||
* sizeof(GLfloat));
|
||||
GLfloat *depth = malloc(ShadowTexWidth * ShadowTexHeight
|
||||
* sizeof(GLfloat));
|
||||
if (depth) {
|
||||
glReadPixels(0, 0, ShadowTexWidth, ShadowTexHeight,
|
||||
GL_DEPTH_COMPONENT, GL_FLOAT, depth);
|
||||
@@ -321,11 +302,7 @@ Display(void)
|
||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
|
||||
}
|
||||
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);
|
||||
#endif
|
||||
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
|
||||
glEnable(GL_TEXTURE_2D);
|
||||
MakeShadowMatrix(LightPos, SpotDir, SpotAngle, ShadowNear, ShadowFar);
|
||||
@@ -341,12 +318,7 @@ Display(void)
|
||||
}
|
||||
else {
|
||||
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);
|
||||
#endif
|
||||
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
|
||||
glEnable(GL_TEXTURE_2D);
|
||||
MakeShadowMatrix(LightPos, SpotDir, SpotAngle, ShadowNear, ShadowFar);
|
||||
@@ -359,11 +331,6 @@ Display(void)
|
||||
}
|
||||
|
||||
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 ' ':
|
||||
DisplayMode = SHOW_NORMAL;
|
||||
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':
|
||||
Zrot -= step;
|
||||
break;
|
||||
@@ -497,22 +454,11 @@ SpecialKey(int key, int x, int y)
|
||||
static 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") ||
|
||||
!glutExtensionSupported("GL_SGIX_shadow")) {
|
||||
printf("Sorry, this demo requires the GL_SGIX_depth_texture and GL_SGIX_shadow extensions\n");
|
||||
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_MIN_FILTER, GL_LINEAR);
|
||||
@@ -520,25 +466,13 @@ Init(void)
|
||||
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_T, GL_CLAMP);
|
||||
#if defined(GL_ARB_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)
|
||||
#ifdef GL_SGIX_shadow
|
||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_COMPARE_OPERATOR_SGIX,
|
||||
GL_TEXTURE_LEQUAL_R_SGIX);
|
||||
#endif
|
||||
|
||||
#if defined(GL_ARB_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")) {
|
||||
#ifdef GL_SGIX_shadow_ambient
|
||||
if (glutExtensionSupported("GL_SGIX_shadow_ambient"))
|
||||
glTexParameterf(GL_TEXTURE_2D, GL_SHADOW_AMBIENT_SGIX, 0.3);
|
||||
printf("and GL_SGIX_shadow_ambient\n");
|
||||
}
|
||||
#endif
|
||||
|
||||
/* 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(" cursor keys = rotate scene\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.
|
||||
@@ -17,6 +17,24 @@
|
||||
* 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 <stdlib.h>
|
||||
#include <math.h>
|
||||
|
1080
progs/demos/stex3d.c
1080
progs/demos/stex3d.c
File diff suppressed because it is too large
Load Diff
@@ -11,7 +11,6 @@
|
||||
#include <stdio.h>
|
||||
#include <math.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <time.h>
|
||||
|
||||
#ifdef WIN32
|
||||
@@ -572,7 +571,7 @@ loadpic(void)
|
||||
if ((gluerr = gluBuild2DMipmaps(GL_TEXTURE_2D, 1, 256, 256, GL_LUMINANCE,
|
||||
GL_UNSIGNED_BYTE,
|
||||
(GLvoid *) (&terrainpic[0])))) {
|
||||
fprintf(stderr, "GLULib%s\n", (char *) gluErrorString(gluerr));
|
||||
fprintf(stderr, "GLULib%s\n", gluErrorString(gluerr));
|
||||
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.
|
||||
@@ -90,7 +90,7 @@ static void GLCALLBACK edge_callback( GLenum flag )
|
||||
|
||||
static void GLCALLBACK end_callback()
|
||||
{
|
||||
GLuint i;
|
||||
GLint i;
|
||||
|
||||
glBegin( GL_LINES );
|
||||
|
||||
@@ -165,8 +165,6 @@ static void set_screen_wh( GLsizei w, GLsizei h )
|
||||
height = h;
|
||||
}
|
||||
|
||||
typedef void (GLAPIENTRY *callback_t)();
|
||||
|
||||
static void tesse( void )
|
||||
{
|
||||
GLUtesselator *tobj;
|
||||
@@ -179,11 +177,11 @@ static void tesse( void )
|
||||
|
||||
if ( tobj != NULL ) {
|
||||
gluTessNormal( tobj, 0.0, 0.0, 1.0 );
|
||||
gluTessCallback( tobj, GLU_TESS_BEGIN, (callback_t) glBegin );
|
||||
gluTessCallback( tobj, GLU_TESS_VERTEX, (callback_t) glVertex2fv );
|
||||
gluTessCallback( tobj, GLU_TESS_END, (callback_t) glEnd );
|
||||
gluTessCallback( tobj, GLU_TESS_ERROR, (callback_t) error_callback );
|
||||
gluTessCallback( tobj, GLU_TESS_COMBINE, (callback_t) combine_callback );
|
||||
gluTessCallback( tobj, GLU_TESS_BEGIN, glBegin );
|
||||
gluTessCallback( tobj, GLU_TESS_VERTEX, glVertex2fv );
|
||||
gluTessCallback( tobj, GLU_TESS_END, glEnd );
|
||||
gluTessCallback( tobj, GLU_TESS_ERROR, error_callback );
|
||||
gluTessCallback( tobj, GLU_TESS_COMBINE, combine_callback );
|
||||
|
||||
glNewList( list_start, GL_COMPILE );
|
||||
gluBeginPolygon( tobj );
|
||||
@@ -203,10 +201,10 @@ static void tesse( void )
|
||||
gluEndPolygon( tobj );
|
||||
glEndList();
|
||||
|
||||
gluTessCallback( tobj, GLU_TESS_BEGIN, (callback_t) begin_callback );
|
||||
gluTessCallback( tobj, GLU_TESS_VERTEX, (callback_t) vertex_callback );
|
||||
gluTessCallback( tobj, GLU_TESS_END, (callback_t) end_callback );
|
||||
gluTessCallback( tobj, GLU_TESS_EDGE_FLAG, (callback_t) edge_callback );
|
||||
gluTessCallback( tobj, GLU_TESS_BEGIN, begin_callback );
|
||||
gluTessCallback( tobj, GLU_TESS_VERTEX, vertex_callback );
|
||||
gluTessCallback( tobj, GLU_TESS_END, end_callback );
|
||||
gluTessCallback( tobj, GLU_TESS_EDGE_FLAG, edge_callback );
|
||||
|
||||
glNewList( list_start + 1, GL_COMPILE );
|
||||
gluBeginPolygon( tobj );
|
||||
@@ -310,7 +308,6 @@ static void mouse_clicked( int button, int state, int x, int y )
|
||||
static void display( void )
|
||||
{
|
||||
GLuint i,j;
|
||||
GLsizei ii, jj;
|
||||
GLuint point_cnt;
|
||||
|
||||
glClear( GL_COLOR_BUFFER_BIT );
|
||||
@@ -322,12 +319,12 @@ static void display( void )
|
||||
|
||||
glBegin( GL_LINES );
|
||||
|
||||
for ( ii = 0 ; ii < width ; ii += 10 ) {
|
||||
for ( jj = 0 ; jj < height ; jj += 10 ) {
|
||||
glVertex2i( 0, jj );
|
||||
glVertex2i( width, jj );
|
||||
glVertex2i( ii, height );
|
||||
glVertex2i( ii, 0 );
|
||||
for ( i = 0 ; i < width ; i += 10 ) {
|
||||
for ( j = 0 ; j < height ; j += 10 ) {
|
||||
glVertex2i( 0, j );
|
||||
glVertex2i( width, j );
|
||||
glVertex2i( i, height );
|
||||
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.
|
||||
@@ -10,6 +10,61 @@
|
||||
* 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 <stdlib.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.
|
||||
@@ -7,7 +7,6 @@
|
||||
* Brian Paul June 1996 This file is in the public domain.
|
||||
*/
|
||||
|
||||
#include <assert.h>
|
||||
#include <math.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
@@ -174,7 +173,6 @@ static void init( void )
|
||||
if (UseObj) {
|
||||
#ifdef TEXTURE_OBJECT
|
||||
glBindTexture( GL_TEXTURE_2D, TexObj[0] );
|
||||
assert(glIsTexture(TexObj[0]));
|
||||
#endif
|
||||
}
|
||||
else {
|
||||
@@ -208,9 +206,7 @@ static void init( void )
|
||||
if (UseObj) {
|
||||
#ifdef TEXTURE_OBJECT
|
||||
glBindTexture( GL_TEXTURE_2D, TexObj[1] );
|
||||
assert(glIsTexture(TexObj[1]));
|
||||
#endif
|
||||
assert(!glIsTexture(TexObj[1] + 999));
|
||||
}
|
||||
else {
|
||||
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.
|
||||
* 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 <stdlib.h>
|
||||
#include <math.h>
|
||||
@@ -131,7 +158,7 @@ static void LoadTex(int comp, int filter)
|
||||
{
|
||||
GLubyte *pixels;
|
||||
int x, y;
|
||||
pixels = (GLubyte *) malloc(4*256*256);
|
||||
pixels = malloc(4*256*256);
|
||||
for (y = 0; y < 256; ++y)
|
||||
for (x = 0; x < 256; ++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.
|
||||
* 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 <string.h>
|
||||
#include <stdlib.h>
|
||||
|
@@ -143,8 +143,6 @@ void display(void)
|
||||
|
||||
size = glRenderMode (GL_RENDER);
|
||||
printBuffer (size, feedBuffer);
|
||||
|
||||
glFinish();
|
||||
}
|
||||
|
||||
/* ARGSUSED1 */
|
||||
|
@@ -103,8 +103,8 @@ drawRects(GLenum mode)
|
||||
void
|
||||
processHits(GLint hits, GLuint buffer[])
|
||||
{
|
||||
GLint i;
|
||||
GLuint j, names, *ptr;
|
||||
unsigned int i, j;
|
||||
GLuint names, *ptr;
|
||||
|
||||
printf("hits = %d\n", hits);
|
||||
ptr = (GLuint *) buffer;
|
||||
|
@@ -87,8 +87,8 @@ void drawSquares(GLenum mode)
|
||||
*/
|
||||
void processHits (GLint hits, GLuint buffer[])
|
||||
{
|
||||
GLint i;
|
||||
GLuint j, ii = 0, jj = 0, names, *ptr;
|
||||
unsigned int i, j;
|
||||
GLuint ii = 0, jj = 0, names, *ptr;
|
||||
|
||||
printf ("hits = %d\n", hits);
|
||||
ptr = (GLuint *) buffer;
|
||||
|
@@ -124,8 +124,8 @@ void drawScene (void)
|
||||
*/
|
||||
void processHits (GLint hits, GLuint buffer[])
|
||||
{
|
||||
GLint i;
|
||||
GLuint j, names, *ptr;
|
||||
unsigned int i, j;
|
||||
GLuint names, *ptr;
|
||||
|
||||
printf ("hits = %d\n", hits);
|
||||
ptr = (GLuint *) buffer;
|
||||
|
@@ -94,7 +94,7 @@ void CALLBACK vertexCallback(GLvoid *vertex)
|
||||
|
||||
pointer = (GLdouble *) vertex;
|
||||
glColor3dv(pointer+3);
|
||||
glVertex3dv(pointer);
|
||||
glVertex3dv(vertex);
|
||||
}
|
||||
|
||||
/* 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
|
||||
# Version: 3.5
|
||||
|
@@ -1,6 +1,6 @@
|
||||
|
||||
typedef struct {
|
||||
size_t sizeX, sizeY;
|
||||
int sizeX, sizeY;
|
||||
GLubyte *data;
|
||||
} PPMImage;
|
||||
|
||||
@@ -30,7 +30,7 @@ static PPMImage *LoadPPM(const char *filename)
|
||||
exit(1);
|
||||
}
|
||||
|
||||
result = (PPMImage *) malloc(sizeof(PPMImage));
|
||||
result = malloc(sizeof(PPMImage));
|
||||
if (!result)
|
||||
{
|
||||
fprintf(stderr, "Unable to allocate memory\n");
|
||||
@@ -52,7 +52,7 @@ static PPMImage *LoadPPM(const char *filename)
|
||||
while (fgetc(fp) != '\n')
|
||||
;
|
||||
|
||||
result->data = (GLubyte *) malloc(3 * result->sizeX * result->sizeY);
|
||||
result->data = malloc(3 * result->sizeX * result->sizeY);
|
||||
if (!result)
|
||||
{
|
||||
fprintf(stderr, "Unable to allocate memory\n");
|
||||
|
@@ -216,13 +216,11 @@ static void CALLBACK ErrorCallback(GLenum which)
|
||||
}
|
||||
}
|
||||
|
||||
typedef void (GLAPIENTRY *callback_t)();
|
||||
|
||||
static void Init(void)
|
||||
{
|
||||
|
||||
theNurbs = gluNewNurbsRenderer();
|
||||
gluNurbsCallback(theNurbs, GLU_ERROR, (callback_t) ErrorCallback);
|
||||
gluNurbsCallback(theNurbs, GLU_ERROR, ErrorCallback);
|
||||
|
||||
gluNurbsProperty(theNurbs, GLU_SAMPLING_TOLERANCE, 15.0);
|
||||
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));
|
||||
}
|
||||
|
||||
typedef void (GLAPIENTRY *callback_t)();
|
||||
|
||||
static void Init(void)
|
||||
{
|
||||
static GLint colorIndexes[3] = {0, 200, 255};
|
||||
@@ -165,7 +163,7 @@ static void Init(void)
|
||||
}
|
||||
|
||||
quadObj = gluNewQuadric();
|
||||
gluQuadricCallback(quadObj, GLU_ERROR, (callback_t) ErrorHandler);
|
||||
gluQuadricCallback(quadObj, GLU_ERROR, ErrorHandler);
|
||||
|
||||
radius1 = 10;
|
||||
radius2 = 5;
|
||||
|
@@ -17,13 +17,7 @@ PROGS = cva \
|
||||
projtex \
|
||||
seccolor \
|
||||
sharedtex \
|
||||
texline \
|
||||
texwrap \
|
||||
vptest1 \
|
||||
vptest2 \
|
||||
vptest3 \
|
||||
vptorus \
|
||||
vpwarpmesh
|
||||
texline
|
||||
|
||||
|
||||
##### RULES #####
|
||||
|
@@ -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
|
||||
# Version: 3.5
|
||||
@@ -23,12 +23,7 @@ SRCS = cva.c \
|
||||
seccolor.c \
|
||||
# sharedtex.c \
|
||||
texline.c \
|
||||
texwrap.c \
|
||||
vptest1.c \
|
||||
vptest2.c \
|
||||
vptest3.c \
|
||||
vptorus.c \
|
||||
vpwarpmesh.c
|
||||
texwrap.c
|
||||
|
||||
!include "../mesawin32.mak"
|
||||
|
||||
|
@@ -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
|
||||
|
@@ -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,56 +0,0 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
# $Id: functions.py,v 1.1 2001/11/18 23:16:56 brianp Exp $
|
||||
|
||||
# Helper for the getprocaddress.c test.
|
||||
|
||||
|
||||
import string
|
||||
|
||||
def PrintHead():
|
||||
print """
|
||||
static const char *functions[] = {"""
|
||||
|
||||
|
||||
def PrintTail():
|
||||
print"""
|
||||
NULL
|
||||
};
|
||||
"""
|
||||
|
||||
|
||||
def PrintFunctions(specFile):
|
||||
|
||||
# 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",' % category
|
||||
prevCategory = category
|
||||
|
||||
print ' "gl%s",' % funcName
|
||||
funcName = tokens[1]
|
||||
|
||||
elif tokens[0] == 'category':
|
||||
category = tokens[1]
|
||||
|
||||
#endif
|
||||
#endif
|
||||
#endfor
|
||||
#enddef
|
||||
|
||||
|
||||
PrintHead()
|
||||
PrintFunctions("../bin/APIspec")
|
||||
PrintTail()
|
File diff suppressed because it is too large
Load Diff
@@ -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
|
||||
@@ -28,7 +28,7 @@ static GLboolean MipMap = GL_FALSE;
|
||||
static GLboolean LinearFilter = GL_FALSE;
|
||||
static GLboolean RandomSize = GL_FALSE;
|
||||
static GLint Rows, Columns;
|
||||
static GLint LowPriorityCount = 0;
|
||||
static GLuint LowPriorityCount = 0;
|
||||
|
||||
|
||||
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>
|
||||
@@ -213,7 +263,7 @@ static void SpecialKey( int key, int x, int y )
|
||||
static void load_tex(const char *fname, int channel)
|
||||
{
|
||||
GLubyte *image;
|
||||
GLenum format;
|
||||
GLenum format, type;
|
||||
GLint w, h;
|
||||
GLubyte *grayImage;
|
||||
int i;
|
||||
@@ -260,14 +310,11 @@ static void Init( int argc, char *argv[] )
|
||||
GLuint texObj[2];
|
||||
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");
|
||||
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);
|
||||
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.
|
||||
@@ -32,7 +32,6 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
#include <string.h>
|
||||
|
||||
|
||||
struct window {
|
||||
@@ -143,7 +142,7 @@ AddWindow(const char *displayName, int xpos, int ypos,
|
||||
if (!glXMakeCurrent(dpy, win, ctx)) {
|
||||
Error(displayName, "glXMakeCurrent failed");
|
||||
printf("glXMakeCurrent failed in Redraw()\n");
|
||||
return NULL;
|
||||
return;
|
||||
}
|
||||
|
||||
/* save the info for this window */
|
||||
|
@@ -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.
|
||||
@@ -18,14 +18,14 @@
|
||||
|
||||
static GLboolean Antialias = GL_FALSE;
|
||||
static GLboolean Animate = GL_FALSE;
|
||||
static GLint Texture = 1;
|
||||
static GLboolean Stipple = GL_FALSE;
|
||||
static GLboolean Texture = GL_TRUE;
|
||||
static GLfloat LineWidth = 1.0;
|
||||
static GLboolean Multitex = GL_FALSE;
|
||||
|
||||
static GLfloat Xrot = -60.0, Yrot = 0.0, Zrot = 0.0;
|
||||
static GLfloat DYrot = 1.0;
|
||||
static GLboolean Points = GL_FALSE;
|
||||
static GLfloat Scale = 1.0;
|
||||
|
||||
|
||||
static void Idle( void )
|
||||
{
|
||||
@@ -46,7 +46,6 @@ static void Display( void )
|
||||
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(Scale, Scale, Scale);
|
||||
|
||||
if (Texture)
|
||||
glColor3f(1, 1, 1);
|
||||
@@ -123,27 +122,11 @@ static void Key( unsigned char key, int x, int y )
|
||||
}
|
||||
break;
|
||||
case 't':
|
||||
Texture++;
|
||||
if (Texture > 2)
|
||||
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);
|
||||
Texture = !Texture;
|
||||
if (Texture)
|
||||
glEnable(GL_TEXTURE_2D);
|
||||
glActiveTextureARB(GL_TEXTURE1_ARB);
|
||||
else
|
||||
glDisable(GL_TEXTURE_2D);
|
||||
}
|
||||
else {
|
||||
glActiveTextureARB(GL_TEXTURE0_ARB);
|
||||
glEnable(GL_TEXTURE_2D);
|
||||
glActiveTextureARB(GL_TEXTURE1_ARB);
|
||||
glEnable(GL_TEXTURE_2D);
|
||||
}
|
||||
break;
|
||||
case 'w':
|
||||
LineWidth -= 0.25;
|
||||
@@ -159,16 +142,18 @@ static void Key( unsigned char key, int x, int y )
|
||||
glLineWidth(LineWidth);
|
||||
glPointSize(LineWidth);
|
||||
break;
|
||||
case 'm':
|
||||
Multitex = !Multitex;
|
||||
if (Multitex) {
|
||||
glEnable(GL_TEXTURE_2D);
|
||||
}
|
||||
else {
|
||||
glDisable(GL_TEXTURE_2D);
|
||||
}
|
||||
break;
|
||||
case 'p':
|
||||
Points = !Points;
|
||||
break;
|
||||
case 's':
|
||||
Stipple = !Stipple;
|
||||
if (Stipple)
|
||||
glEnable(GL_LINE_STIPPLE);
|
||||
else
|
||||
glDisable(GL_LINE_STIPPLE);
|
||||
break;
|
||||
case ' ':
|
||||
Animate = !Animate;
|
||||
if (Animate)
|
||||
@@ -215,7 +200,7 @@ static void Init( int argc, char *argv[] )
|
||||
for (u = 0; u < 2; u++) {
|
||||
glActiveTextureARB(GL_TEXTURE0_ARB + u);
|
||||
glBindTexture(GL_TEXTURE_2D, 10+u);
|
||||
if (u == 0)
|
||||
if (u == 0 || Multitex)
|
||||
glEnable(GL_TEXTURE_2D);
|
||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_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) {
|
||||
printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
|
||||
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.
|
||||
@@ -16,18 +16,10 @@
|
||||
#include <GL/glut.h>
|
||||
|
||||
|
||||
#ifndef GL_CLAMP_TO_BORDER
|
||||
#define GL_CLAMP_TO_BORDER 0x812D
|
||||
#ifndef GL_CLAMP_TO_BORDER_ARB
|
||||
#define GL_CLAMP_TO_BORDER_ARB 0x812D
|
||||
#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 NO_BORDER_TEXTURE 2
|
||||
@@ -38,38 +30,6 @@ static GLubyte NoBorderImage[SIZE][SIZE][4];
|
||||
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
|
||||
PrintString(const char *s)
|
||||
{
|
||||
@@ -82,36 +42,23 @@ PrintString(const char *s)
|
||||
|
||||
static void Display( void )
|
||||
{
|
||||
GLenum i, j;
|
||||
GLint offset;
|
||||
GLfloat version;
|
||||
static const GLenum modes[] = {
|
||||
GL_REPEAT,
|
||||
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.
|
||||
*/
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
GLint i, j;
|
||||
GLint numModes;
|
||||
|
||||
numModes = glutExtensionSupported("GL_ARB_texture_border_clamp") ? 4 : 3;
|
||||
|
||||
glClearColor(0.5, 0.5, 0.5, 1.0);
|
||||
glClear( GL_COLOR_BUFFER_BIT );
|
||||
@@ -125,11 +72,8 @@ static void Display( void )
|
||||
|
||||
glBindTexture(GL_TEXTURE_2D, Border ? BORDER_TEXTURE : NO_BORDER_TEXTURE);
|
||||
|
||||
|
||||
/* loop over min/mag filters */
|
||||
for (i = 0; i < 2; i++) {
|
||||
offset = 0;
|
||||
|
||||
if (i) {
|
||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_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 */
|
||||
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 b = 0.2;
|
||||
const GLfloat s0 = -b, t0 = -b, s1 = 1.0+b, t1 = 1.0+b;
|
||||
|
||||
if ( modes[j].supported != GL_TRUE )
|
||||
continue;
|
||||
|
||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, modes[j].mode);
|
||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, modes[j].mode);
|
||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, modes[j]);
|
||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, modes[j]);
|
||||
|
||||
glPushMatrix();
|
||||
glTranslatef(offset * 150 + 10, i * 150 + 40, 0);
|
||||
offset++;
|
||||
glTranslatef(j * 150 + 10, i * 150 + 25, 0);
|
||||
|
||||
glEnable(GL_TEXTURE_2D);
|
||||
glColor3f(1, 1, 1);
|
||||
@@ -180,13 +119,9 @@ static void Display( void )
|
||||
|
||||
glDisable(GL_TEXTURE_2D);
|
||||
glColor3f(1, 1, 1);
|
||||
offset = 0;
|
||||
for (i = 0; i < modes[i].mode != 0; i++) {
|
||||
if ( modes[i].supported ) {
|
||||
glWindowPos2iMESA( offset * 150 + 10, 5 + ((offset & 1) * 15) );
|
||||
PrintString(modes[i].name);
|
||||
offset++;
|
||||
}
|
||||
for (i = 0; i < numModes; i++) {
|
||||
glWindowPos2iMESA( i * 150 + 10, 5);
|
||||
PrintString(names[i]);
|
||||
}
|
||||
|
||||
glutSwapBuffers();
|
||||
@@ -257,6 +192,7 @@ static void Init( void )
|
||||
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, SIZE+2, SIZE+2, 1,
|
||||
GL_RGBA, GL_UNSIGNED_BYTE, (void *) BorderImage);
|
||||
|
||||
|
||||
for (i = 0; i < SIZE; i++) {
|
||||
for (j = 0; j < SIZE; j++) {
|
||||
if ((i + j) & 1) {
|
||||
@@ -287,7 +223,7 @@ int main( int argc, char *argv[] )
|
||||
{
|
||||
glutInit( &argc, argv );
|
||||
glutInitWindowPosition( 0, 0 );
|
||||
glutInitWindowSize( 800, 355 );
|
||||
glutInitWindowSize( 650, 340 );
|
||||
glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE );
|
||||
glutCreateWindow(argv[0]);
|
||||
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;
|
||||
}
|
@@ -1,236 +0,0 @@
|
||||
/*
|
||||
* Warp a triangle mesh with a 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 = -60.0, Yrot = 0.0, Zrot = 0.0;
|
||||
static GLboolean Anim = GL_TRUE;
|
||||
static GLfloat Phi = 0.0;
|
||||
|
||||
|
||||
static void Idle( void )
|
||||
{
|
||||
Phi += 0.01;
|
||||
glutPostRedisplay();
|
||||
}
|
||||
|
||||
|
||||
static void DrawMesh( int rows, int cols )
|
||||
{
|
||||
static const GLfloat colorA[3] = { 0, 1, 0 };
|
||||
static const GLfloat colorB[3] = { 0, 0, 1 };
|
||||
const float dx = 2.0 / (cols - 1);
|
||||
const float dy = 2.0 / (rows - 1);
|
||||
float x, y;
|
||||
int i, j;
|
||||
|
||||
#if 1
|
||||
#define COLOR3FV(c) glVertexAttrib3fvNV(3, c)
|
||||
#define VERTEX2F(x, y) glVertexAttrib2fNV(0, x, y)
|
||||
#else
|
||||
#define COLOR3FV(c) glColor3fv(c)
|
||||
#define VERTEX2F(x, y) glVertex2f(x, y)
|
||||
#endif
|
||||
|
||||
y = -1.0;
|
||||
for (i = 0; i < rows - 1; i++) {
|
||||
glBegin(GL_QUAD_STRIP);
|
||||
x = -1.0;
|
||||
for (j = 0; j < cols; j++) {
|
||||
if ((i + j) & 1)
|
||||
COLOR3FV(colorA);
|
||||
else
|
||||
COLOR3FV(colorB);
|
||||
VERTEX2F(x, y);
|
||||
VERTEX2F(x, y + dy);
|
||||
x += dx;
|
||||
}
|
||||
glEnd();
|
||||
y += dy;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
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);
|
||||
|
||||
/* Position the gravity source */
|
||||
{
|
||||
GLfloat x, y, z, r = 0.5;
|
||||
x = r * cos(Phi);
|
||||
y = r * sin(Phi);
|
||||
z = 1.0;
|
||||
glProgramParameter4fNV(GL_VERTEX_PROGRAM_NV, 30, x, y, z, 1);
|
||||
glDisable(GL_VERTEX_PROGRAM_NV);
|
||||
glBegin(GL_POINTS);
|
||||
glColor3f(1,1,1);
|
||||
glVertex3f(x, y, z);
|
||||
glEnd();
|
||||
}
|
||||
|
||||
glEnable(GL_VERTEX_PROGRAM_NV);
|
||||
DrawMesh(8, 8);
|
||||
glPopMatrix();
|
||||
|
||||
glutSwapBuffers();
|
||||
}
|
||||
|
||||
|
||||
static void Reshape( int width, int height )
|
||||
{
|
||||
float ar = (float) width / (float) height;
|
||||
glViewport( 0, 0, width, height );
|
||||
glMatrixMode( GL_PROJECTION );
|
||||
glLoadIdentity();
|
||||
glFrustum( -1.0 * ar, 1.0 * ar, -1.0, 1.0, 5.0, 25.0 );
|
||||
glMatrixMode( GL_MODELVIEW );
|
||||
glLoadIdentity();
|
||||
glTranslatef( 0.0, 0.0, -12.0 );
|
||||
glScalef(2, 2, 2);
|
||||
}
|
||||
|
||||
|
||||
static void Key( unsigned char key, int x, int y )
|
||||
{
|
||||
(void) x;
|
||||
(void) y;
|
||||
switch (key) {
|
||||
case 'a':
|
||||
Anim = !Anim;
|
||||
if (Anim)
|
||||
glutIdleFunc(Idle);
|
||||
else
|
||||
glutIdleFunc(NULL);
|
||||
break;
|
||||
case 'p':
|
||||
Phi += 0.2;
|
||||
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 )
|
||||
{
|
||||
/*
|
||||
* c[0..3] = modelview matrix
|
||||
* c[4..7] = inverse modelview matrix
|
||||
* c[30] = gravity source location
|
||||
* c[31] = gravity source strength
|
||||
* c[32] = light pos
|
||||
* c[35] = diffuse color
|
||||
*/
|
||||
static const char prog[] =
|
||||
"!!VP1.0\n"
|
||||
|
||||
"# Compute distance from vertex to gravity source\n"
|
||||
"ADD R1, c[30], -v[OPOS]; # vector from vertex to gravity\n"
|
||||
"DP3 R2, R1, R1; # dot product\n"
|
||||
"RSQ R2, R2.x; # square root = distance\n"
|
||||
"MUL R2, R2, c[31].xxxx; # scale by the gravity factor\n"
|
||||
|
||||
"# Displace vertex by gravity factor along R1 vector\n"
|
||||
"MAD R3, R1, R2, v[OPOS];\n"
|
||||
|
||||
"# Continue with typical modelview/projection\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"
|
||||
|
||||
"MOV o[COL0], v[COL0];\n # copy input color to output color\n"
|
||||
|
||||
"END";
|
||||
|
||||
if (!glutExtensionSupported("GL_NV_vertex_program")) {
|
||||
printf("Sorry, this program requires GL_NV_vertex_program\n");
|
||||
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);
|
||||
|
||||
/* Gravity strength */
|
||||
glProgramParameter4fNV(GL_VERTEX_PROGRAM_NV, 31, .5, 0, 0, 0);
|
||||
|
||||
glEnable(GL_DEPTH_TEST);
|
||||
glClearColor(0.3, 0.3, 0.3, 1);
|
||||
glShadeModel(GL_FLAT);
|
||||
glPointSize(3);
|
||||
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;
|
||||
}
|
@@ -1,8 +1,8 @@
|
||||
# $Id: Makefile.X11,v 1.13 2002/10/05 18:30:46 brianp Exp $
|
||||
# $Id: Makefile.X11,v 1.11.2.1 2002/01/30 21:54:47 brianp Exp $
|
||||
|
||||
# Mesa 3-D graphics library
|
||||
# Version: 4.1
|
||||
# Copyright (C) 1995-2002 Brian Paul
|
||||
# Version: 4.0.2
|
||||
# Copyright (C) 1995-2001 Brian Paul
|
||||
|
||||
# Makefile for non-GLUT (X11, SVGA, etc) demo programs
|
||||
|
||||
@@ -24,8 +24,6 @@ PROGS = glthreads \
|
||||
glxpixmap \
|
||||
manywin \
|
||||
offset \
|
||||
pbinfo \
|
||||
pbdemo \
|
||||
wincopy \
|
||||
xdemo \
|
||||
xfont
|
||||
@@ -68,18 +66,3 @@ exec: $(PROGS)
|
||||
|
||||
include ../Make-config
|
||||
|
||||
pbinfo: pbinfo.o pbutil.o
|
||||
$(CC) pbinfo.o pbutil.o $(GL_LIBS) -o $@
|
||||
|
||||
pbdemo: pbdemo.o pbutil.o
|
||||
$(CC) pbdemo.o pbutil.o $(GL_LIBS) -o $@
|
||||
|
||||
pbinfo.o: pbinfo.c pbutil.h
|
||||
$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $<
|
||||
|
||||
pbdemo.o: pbdemo.c pbutil.h
|
||||
$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $<
|
||||
|
||||
pbutil.o: pbutil.c pbutil.h
|
||||
$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $<
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
# Makefile for GLUT-based demo programs for VMS
|
||||
# Makefile for demo programs for VMS
|
||||
# contributed by Jouk Jansen joukj@crys.chem.uva.nl
|
||||
|
||||
|
||||
@@ -9,38 +9,25 @@
|
||||
|
||||
##### MACROS #####
|
||||
|
||||
INCDIR = ([-.include],[-.util])
|
||||
CFLAGS = /include=$(INCDIR)/prefix=all/name=(as_is,short)/nowarn
|
||||
INCDIR = [-.include]
|
||||
CFLAGS = /include=$(INCDIR)/define=(FBIND=1)
|
||||
|
||||
.ifdef SHARE
|
||||
GL_LIBS = $(XLIBS)
|
||||
.else
|
||||
GL_LIBS = [-.lib]libGLUT/l,libMesaGLU/l,libMesaGL/l,$(XLIBS)
|
||||
.endif
|
||||
GL_LIBS = [-.lib]libMesaaux/l,libMesatk/l,libMesaGLU/l,libMesaGL/l,$(XLIBS)
|
||||
|
||||
LIB_DEP = [-.lib]$(GL_LIB) [-.lib]$(GLU_LIB) [-.lib]$(TK_LIB) [-.lib]$(AUX_LIB)
|
||||
|
||||
PROGS = bounce.exe;,gamma.exe;,gears.exe;,glxdemo.exe;,glxpixmap.exe;,\
|
||||
isosurf.exe;,offset.exe;,osdemo.exe;,spin.exe;,test0.exe;,\
|
||||
texobj.exe;,xdemo.exe;,reflect.exe;,winpos.exe;
|
||||
|
||||
LIB_DEP = [-.lib]$(GL_LIB) [-.lib]$(GLU_LIB) [-.lib]$(GLUT_LIB)
|
||||
|
||||
PROGS =glthreads.exe,\
|
||||
glxdemo.exe,\
|
||||
glxgears.exe,\
|
||||
glxheads.exe,\
|
||||
glxinfo.exe,\
|
||||
glxpixmap.exe,\
|
||||
manywin.exe,\
|
||||
offset.exe,\
|
||||
pbinfo.exe,\
|
||||
pbdemo.exe,\
|
||||
wincopy.exe,\
|
||||
xdemo.exe,\
|
||||
xfont.exe
|
||||
|
||||
##### RULES #####
|
||||
.obj.exe :
|
||||
cxxlink $(MMS$TARGET_NAME),$(GL_LIBS)
|
||||
|
||||
|
||||
##### TARGETS #####
|
||||
default :
|
||||
$(MMS)$(MMSQUALIFIERS) $(PROGS)
|
||||
mms $(PROGS)
|
||||
|
||||
clean :
|
||||
delete *.obj;*
|
||||
@@ -49,20 +36,44 @@ realclean :
|
||||
delete $(PROGS)
|
||||
delete *.obj;*
|
||||
|
||||
bounce.exe; : bounce.obj $(LIB_DEP)
|
||||
link bounce,$(GL_LIBS)
|
||||
|
||||
gamma.exe; : gamma.obj $(LIB_DEP)
|
||||
link gamma,$(GL_LIBS)
|
||||
|
||||
glthreads.exe : glthreads.obj $(LIB_DEP)
|
||||
glxdemo.exe : glxdemo.obj $(LIB_DEP)
|
||||
glxgears.exe : glxgears.obj $(LIB_DEP)
|
||||
glxheads.exe : glxheads.obj $(LIB_DEP)
|
||||
glxinfo.exe : glxinfo.obj $(LIB_DEP)
|
||||
glxpixmap.exe : glxpixmap.obj $(LIB_DEP)
|
||||
manywin.exe : manywin.obj $(LIB_DEP)
|
||||
offset.exe : offset.obj $(LIB_DEP)
|
||||
pbinfo.exe : pbinfo.obj pbutil.obj $(LIB_DEP)
|
||||
cxxlink pbinfo.obj,pbutil.obj,$(GL_LIBS)
|
||||
pbdemo.exe : pbdemo.obj pbutil.obj $(LIB_DEP)
|
||||
cxxlink pbdemo.obj,pbutil.obj,$(GL_LIBS)
|
||||
wincopy.exe : wincopy.obj $(LIB_DEP)
|
||||
xdemo.exe : xdemo.obj $(LIB_DEP)
|
||||
xfont.exe :xfont.obj $(LIB_DEP)
|
||||
gears.exe; : gears.obj $(LIB_DEP)
|
||||
link gears,$(GL_LIBS)
|
||||
|
||||
glxdemo.exe; : glxdemo.obj $(LIB_DEP)
|
||||
link glxdemo,$(GL_LIBS)
|
||||
|
||||
glxpixmap.exe; : glxpixmap.obj $(LIB_DEP)
|
||||
link glxpixmap,$(GL_LIBS)
|
||||
|
||||
isosurf.exe; : isosurf.obj $(LIB_DEP)
|
||||
link isosurf,$(GL_LIBS)
|
||||
|
||||
offset.exe; : offset.obj $(LIB_DEP)
|
||||
link offset,$(GL_LIBS)
|
||||
|
||||
osdemo.exe; : osdemo.obj $(LIB_DEP)
|
||||
link osdemo,$(GL_LIBS)
|
||||
|
||||
spin.exe; : spin.obj $(LIB_DEP)
|
||||
link spin,$(GL_LIBS)
|
||||
|
||||
test0.exe; : test0.obj $(LIB_DEP)
|
||||
link test0,$(GL_LIBS)
|
||||
|
||||
texobj.exe; : texobj.obj $(LIB_DEP)
|
||||
link texobj,$(GL_LIBS)
|
||||
|
||||
xdemo.exe; : xdemo.obj $(LIB_DEP)
|
||||
link xdemo,$(GL_LIBS)
|
||||
|
||||
reflect.exe; : reflect.obj $(LIB_DEP)
|
||||
link reflect,$(GL_LIBS)
|
||||
|
||||
winpos.exe; : winpos.obj $(LIB_DEP)
|
||||
link winpos,$(GL_LIBS)
|
||||
|
@@ -1,4 +1,4 @@
|
||||
/* $Id: glthreads.c,v 1.2 2002/03/08 19:44:28 brianp Exp $ */
|
||||
/* $Id: glthreads.c,v 1.1.4.1 2002/03/08 19:43:36 brianp Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (C) 2000 Brian Paul All Rights Reserved.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
/* $Id: glxdemo.c,v 1.2 2002/04/02 23:53:56 brianp Exp $ */
|
||||
/* $Id: glxdemo.c,v 1.1 1999/08/19 00:55:43 jtg Exp $ */
|
||||
|
||||
|
||||
/*
|
||||
@@ -11,11 +11,8 @@
|
||||
|
||||
/*
|
||||
* $Log: glxdemo.c,v $
|
||||
* Revision 1.2 2002/04/02 23:53:56 brianp
|
||||
* added an error check
|
||||
*
|
||||
* Revision 1.1.1.1 1999/08/19 00:55:43 jtg
|
||||
* Imported sources
|
||||
* Revision 1.1 1999/08/19 00:55:43 jtg
|
||||
* Initial revision
|
||||
*
|
||||
* Revision 3.0 1998/02/21 02:16:54 brianp
|
||||
* initial rev
|
||||
@@ -93,10 +90,6 @@ static Window make_rgb_db_window( Display *dpy,
|
||||
visinfo->visual, mask, &attr );
|
||||
|
||||
ctx = glXCreateContext( dpy, visinfo, NULL, True );
|
||||
if (!ctx) {
|
||||
printf("Error: glXCreateContext failed\n");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
glXMakeCurrent( dpy, win, ctx );
|
||||
|
||||
|
@@ -53,12 +53,8 @@ static int
|
||||
current_time(void)
|
||||
{
|
||||
struct timeval tv;
|
||||
#ifdef __VMS
|
||||
(void) gettimeofday(&tv, NULL );
|
||||
#else
|
||||
struct timezone tz;
|
||||
(void) gettimeofday(&tv, &tz);
|
||||
#endif
|
||||
return (int) tv.tv_sec;
|
||||
}
|
||||
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user