Compare commits

..

241 Commits

Author SHA1 Message Date
Brian Paul
4266ec91fe removed extra right-paren 2002-06-25 15:23:51 +00:00
Brian Paul
8a5bdd826a added glCullFace bug fix 2002-06-25 15:22:12 +00:00
Keith Whitwell
20cbbf8459 Check for GL_FRONT_AND_BACK culling before installing optimized tri
funcs.
2002-06-25 08:41:06 +00:00
Keith Whitwell
2847895a03 Check for FRONT_AND_BACK culling before installing an optimized tri func 2002-06-25 08:38:33 +00:00
Brian Paul
79d05b5649 version updates 2002-06-24 20:44:58 +00:00
Karl Schultz
a0ad8d5a8a Remove -Zi from CFLAGS. I probably left it in there during a debug
session.
2002-06-24 20:19:16 +00:00
Karl Schultz
1a9198f118 Set global "Current" context in WMesaMakeCurrent before calling
GetBufferSize, since GetBufferSize needs Current to be set.
2002-06-24 20:18:04 +00:00
Brian Paul
dd8fbed413 compilation fixes 2002-06-24 17:37:53 +00:00
Brian Paul
972cc7827f put XSync in get_buffer_size(), plus clean-up 2002-06-19 21:50:14 +00:00
Brian Paul
263d8ff8e3 new fix for initial window size problem 2002-06-17 23:32:43 +00:00
Brian Paul
363c8b9048 Fix glXCopyContext bug 2002-06-16 03:55:27 +00:00
Brian Paul
eb7b122807 added glXCopyContext bug fix 2002-06-16 03:33:33 +00:00
Brian Paul
6306085c69 Fixed a few bugs in _mesa_copy_context() related to pointer corruption.
Added _mesa_copy_texture_state() to texstate.c
Added _meas_copy_texture_object() to texobj.c, use it in attrib.c
2002-06-16 03:19:57 +00:00
Brian Paul
7e20f99f81 fixed window size initialization bug 2002-06-16 01:11:03 +00:00
Brian Paul
a79f7f8838 added updated GGI driver info 2002-06-15 03:17:28 +00:00
Brian Paul
d1d4f6bd34 Sync with Mesa changes in DRI trunk.
Updated device drivers since Driver->SetDrawBuffer() no longer returns bool.
2002-06-14 03:49:09 +00:00
Brian Paul
640f61ba13 Moved big/little endian code to glheader.h.
Define either MESA_BIG_ENDIAN or MESA_LITTLE_ENDIAN.
2002-06-12 00:28:55 +00:00
Brian Paul
07e3f72bf8 Added CPLUSPLUS for sunos5 entries 2002-06-10 17:01:30 +00:00
Brian Paul
d06d24f497 GGI driver updates (Filip Spacek) 2002-06-10 15:16:16 +00:00
Brian Paul
3fa786c175 fixed two texture target error checking conditions 2002-06-08 13:05:07 +00:00
Brian Paul
984bb590df tweaked a comment 2002-06-08 12:43:40 +00:00
Brian Paul
67c5effe5c added GL_TEXTURE_FILTER_CONTROL_EXT query to glGetTexEnv[if]v() 2002-06-08 12:43:05 +00:00
Brian Paul
fbe488cb76 glext.h version 15 2002-06-08 12:40:47 +00:00
Brian Paul
dbd36a0ca0 added missing texture cube map targets 2002-06-08 12:39:39 +00:00
Brian Paul
076870f384 version 15 of glext.h 2002-06-07 20:21:29 +00:00
Brian Paul
c1fba8241b added glext.h GL_MAX_RECTANGLE_TEXTURE_SIZE_NV fix 2002-06-07 19:38:06 +00:00
Brian Paul
690798ae3b s/GL_MAX_TEXTURE_RECTANGLE_SIZE_NV/GL_MAX_RECTANGLE_TEXTURE_SIZE_NV/ 2002-06-07 19:29:09 +00:00
Brian Paul
89e91fcc9a replaced hard-coded 4 with NUM_TEXTURE_TARGETS 2002-06-06 16:25:07 +00:00
Brian Paul
d5a8eeaeeb replaced 0xf and 0xf0 with TEXTURE0_ANY and TEXTURE1_ANY 2002-06-06 16:15:12 +00:00
Brian Paul
b118f433e1 NASM fix for *_CONTENT() macros (Josh Vanderhoof) 2002-06-06 15:33:15 +00:00
Brian Paul
fbbb780e1f more big-endian tweaks 2002-06-05 16:40:21 +00:00
Brian Paul
9429860763 use CONTENT() macro on line 205 (Josh Vanderhoof) 2002-06-04 21:29:01 +00:00
Brian Paul
531af3f17f bring over Michel Daenzer's DRI changes 2002-06-03 16:02:04 +00:00
Keith Whitwell
054f415f45 Fix FETCH(argb1555) mask values 2002-05-09 20:51:32 +00:00
Brian Paul
b1b4382283 remove -xK flag from linux-icc 2002-05-06 15:46:17 +00:00
Brian Paul
3aef708b56 added linux-icc config (Marc.Dietrich) 2002-05-05 15:57:09 +00:00
Alan Hourihane
d63730d087 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).
2002-05-01 14:53:52 +00:00
Brian Paul
2469fc9672 bump version to 4.0.3 2002-04-26 13:57:15 +00:00
Brian Paul
86ab257a46 Mesa 4.0.3 updates 2002-04-26 13:54:47 +00:00
Brian Paul
d7e7d8ec74 bump version numbers to 4.0.3 2002-04-26 13:51:53 +00:00
Brian Paul
fe4edce605 added GL_TEXTURE_MAX_ANISOTROPY_EXT to glGetTexParameteriv() 2002-04-26 13:39:38 +00:00
Brian Paul
b0f477e5dd added GL_TEXTURE_MAX_ANISOTROPY_EXT to glGetTexParameter (bug 548812) 2002-04-25 22:11:24 +00:00
Brian Paul
ce4c38fe2e backport array bound checking in glPixelMap() from Mesa 4.1 2002-04-24 20:41:51 +00:00
Brian Paul
09760a9563 test mapsize against 1, not 0 in glPixelMap() 2002-04-24 20:11:56 +00:00
Brian Paul
d7abab5c67 added GL_EDGE_FLAG_ARRAY_COUNT_EXT to glGetBooleanv() (Bug 548277) 2002-04-24 20:06:28 +00:00
Karl Schultz
e900da049b Apply alpha buffer control fix to accum buffer too. 2002-04-23 18:38:00 +00:00
Karl Schultz
9def08ad3d 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.
- add logic to wglChoosePixelFormat to match PFD's with respect to alpha.
- Create/clear software alpha buffer as required.
Now a wgl or GLUT program can control the creation of a software alpha
buffer via the PFD or GLUT parms, respectively.
2002-04-23 18:24:41 +00:00
Brian Paul
978731595d call _mesa_sizeof_packed_type() in _mesa_GetTexImage() (bug 547203) 2002-04-23 16:45:16 +00:00
Alan Hourihane
00e5cb4120 same NULL checks for 4_0 branch 2002-04-22 20:04:52 +00:00
Brian Paul
b338ee265a fixed Width/Height cut&paste typo 2002-04-20 17:59:43 +00:00
Alan Hourihane
8d3f06a565 Correct check for noop array state change (Raystonn) 2002-04-19 08:37:10 +00:00
Brian Paul
0d1785c6db back-port new casts and C++ fixes from trunk 2002-04-19 01:10:48 +00:00
Brian Paul
79474dc528 fixed problem with swap() function and GCC3 (patch 414404) 2002-04-17 19:30:19 +00:00
Brian Paul
43e90c0053 Disabled SPARC cliptest functions for now. See bug report 544665. 2002-04-17 19:08:37 +00:00
Karl Schultz
c748b6c3d8 Build demos/samples correctly on Windows (Robert Bergkvist) to sync up
with the main branch.  (I should have done this for 4.0.2)
2002-04-15 22:13:00 +00:00
Karl Schultz
2c109c15e0 update to match branch - performance measuring additions. 2002-04-15 21:22:36 +00:00
Brian Paul
22fcb86432 Jose's latest patch (GMBT_GEOMETRIC_CORRECTION) 2002-04-12 21:57:46 +00:00
Brian Paul
70c5d68365 fixes for corrected GL_DOT3_RGB[A]_EXT token values 2002-04-12 21:17:53 +00:00
Brian Paul
1b0fcb2124 version 13 of glext.h - fixes GL_EXT_texture_env_dot3 token values 2002-04-12 21:09:24 +00:00
Brian Paul
6668d2fcb1 new MMX blend code (Jose Fonseca) 2002-04-10 16:32:50 +00:00
Brian Paul
e3c2d6bd0c removed stray 'n' character at top of file 2002-04-09 13:33:34 +00:00
Keith Whitwell
655e0ad0c1 bring in changes from dri tcl branch 2002-04-09 12:13:06 +00:00
Brian Paul
d99fa29b94 tranforming display list normals by non-uniform scale didn't work (Carlos Pereira) 2002-04-08 15:36:03 +00:00
Brian Paul
7229861a46 Pass context pointer to _tnl_free_immediate() and don't rely on backref
pointer (fixes Allen Barnett's display list sharing problem).
2002-04-06 16:35:17 +00:00
Karl Schultz
f5130e3473 export another symbol for recent osmesa changes. 2002-04-05 17:13:10 +00:00
Brian Paul
a5ed2460e9 repair Array.NewState flags (Michael Fitzpatrick) 2002-04-04 23:57:58 +00:00
Brian Paul
e2130abf8f call _mesa_ResizeBuffersMESA() in OSMesaMakeCurrent() to reconcile buffer size changes 2002-04-04 17:12:47 +00:00
Brian Paul
bf6a6f1d59 fixed some 3D texture image stride bugs when using 16-bit channels 2002-04-04 17:05:59 +00:00
Brian Paul
abd10c99e5 fixed 16/32-bit channel problems in CopyColor[Sub]Table() 2002-04-04 17:04:56 +00:00
Brian Paul
c3bc8a9c1e Texture combine alpha subtraction was wrong. Fixed 16-bit channel glitches 2002-04-04 17:04:50 +00:00
Brian Paul
aa5698e8ed DJGPP fixes 2002-04-01 17:09:25 +00:00
Brian Paul
cf4c9ada0d another DOS driver update 2002-04-01 16:54:11 +00:00
Brian Paul
13c751a1c2 Use invert_matrix_general() instead of invert_matrix_perspective() because
the former fails for some projection matrices (ala Vis5D with Chromium).
2002-03-29 17:15:01 +00:00
Brian Paul
2af71a9acf added dmesadxe.h to tar file list 2002-03-29 14:42:29 +00:00
Brian Paul
5e0316f1a8 decrement Transform._AnyClip when clip planes are disabled 2002-03-28 22:45:50 +00:00
Brian Paul
2366fb3b89 popping of user-defined clip planes was broken 2002-03-28 22:42:34 +00:00
Karl Schultz
4ad3511865 (WIN32)Use _glapi_get_context to get the context in buffer_size() instead
of the GET_CURRENT_CONTEXT macro.  The macro tries to use the glapi_Context
variable which needs to be imported from the MesaGL DLL, which is too
problematic to do at the moment.
2002-03-25 23:52:34 +00:00
Karl Schultz
44f6191507 export _glapi_get_context for osmesa. 2002-03-25 23:41:49 +00:00
Brian Paul
aaf89c1cc7 re-adding a lost file 2002-03-23 02:36:52 +00:00
Brian Paul
7350dd7395 DOS/Mesa driver updates (Daniel Borca) 2002-03-23 02:23:06 +00:00
Brian Paul
972815c414 final? updates 2002-03-23 02:22:01 +00:00
Brian Paul
0bb0b4df73 latest extension headers from SGI 2002-03-23 01:49:09 +00:00
Brian Paul
e07b4252ad removed glSamplePass() 2002-03-20 22:06:57 +00:00
Brian Paul
b8855675ca latest bug fixes 2002-03-19 16:49:07 +00:00
Brian Paul
6bf823ac2d don't set plane mask for xm_buffer->gc, it causes an accum buffer conformance problem 2002-03-19 16:47:56 +00:00
Brian Paul
af3f3080f9 Use MESA_PBUFFER_ALLOC/FREE macros to allocate all framebuffer and texture
memory.  These can be overridden by applications which need to manage this
memory specially.  Contributed by Gerk Huisma.
2002-03-19 16:42:41 +00:00
Brian Paul
bb47715320 fix Intel C compiler warnings (Gerk Huisma) 2002-03-19 15:22:41 +00:00
Brian Paul
cef9cdf3bb undo previous check-in 2002-03-16 01:00:43 +00:00
Brian Paul
4493f41577 added XMesaResizeBuffers() 2002-03-16 00:50:36 +00:00
Brian Paul
a4f3130a7f Lots of changes related to framebuffer/window buffer resizing. Basically,
instead of passing a GLcontext* to ResizeBuffers(), pass a GLframebuffer*.
The idea is that a window can be resized without it being bound to a rendering
context.  This makes for a nice clean-up in the XFree86 server-side GLX code.
Renamed ctx->Driver.ResizeBuffersMESA() to ctx->Driver.ResizeBuffers().
2002-03-16 00:50:11 +00:00
Brian Paul
b2c3daa875 protect currentReadable reference with #ifndef GLX_BUILT_IN_XMESA 2002-03-15 19:11:37 +00:00
Brian Paul
3d6951c097 updated comments. removed dead code. 2002-03-15 18:32:54 +00:00
Brian Paul
db0ed6252b remove a debug printf 2002-03-15 18:24:34 +00:00
Brian Paul
e6c59e8d0c fixed typo in CONVERT_TEXEL_DWORD for convert_abgr8888_to_ai88 textures (Michael Fitzpatrick) 2002-03-15 17:57:42 +00:00
Brian Paul
378fcdb818 fixed pointer arithmetic error in glCopyPixels 2002-03-14 22:09:05 +00:00
Brian Paul
cd3f5d807a put lodbias loop inside test for non-NULL lambda array 2002-03-13 04:45:35 +00:00
Brian Paul
c3e908891c added thread rendering bug fix 2002-03-12 21:57:27 +00:00
Brian Paul
fdbaf407a7 Removed the xm_context field from XMesaBuffer. It was preventing N threads
from rendering into one window in parallel and wasn't really needed anyway.
2002-03-12 21:54:03 +00:00
Brian Paul
5a86d3852c tweak file list for tarballs 2002-03-11 14:59:12 +00:00
Brian Paul
96d0be5cf2 obsolete 2002-03-11 14:56:42 +00:00
Brian Paul
0bd26c3c55 fix some minor warnings 2002-03-08 19:43:36 +00:00
Brian Paul
9f7053e913 updates for 4.0.2 2002-03-08 19:28:57 +00:00
Brian Paul
9fa55ac457 DOS driver updates from Daniel Borca 2002-03-08 19:27:28 +00:00
Brian Paul
101092ea11 new DOS driver files from Daniel Borca 2002-03-08 19:24:36 +00:00
Brian Paul
da648d9afd minor patches from David Dawes 2002-03-07 21:50:53 +00:00
Brian Paul
7a3b7c9687 syntax fixes for Solaris (David Dawes) 2002-03-07 21:39:09 +00:00
Brian Paul
55f8fcba10 use -O3 for osmesa16/32 builds, disable FX and SVGA in debug builds 2002-03-01 19:38:53 +00:00
Brian Paul
7419597f2f return 'Mesa Offscreen16' or 'Mesa Offscreen32' if using deep color channels 2002-03-01 19:37:28 +00:00
Brian Paul
e784671997 silence gcc warnings (Marc La France) 2002-03-01 04:25:42 +00:00
Brian Paul
c2165e799c updated comments for CHAN_BITS=16 or 32 2002-03-01 04:23:16 +00:00
Brian Paul
40519b3eb3 DOS driver updates from Daniel Borca 2002-02-23 17:07:21 +00:00
Brian Paul
dcda68de33 Fixed out-of-bounds memory write problem (CONVERT_TEXEL_DWORD macro).
Renamed 'packing' to 'unpacking' since we're moving data from client -> GL.
Rnamed DST_ROW_WIDTH to DST_ROW_BYTES.
2002-02-21 15:11:15 +00:00
Brian Paul
8308199e5d added XMesaGarbageCollect item 2002-02-21 00:00:25 +00:00
Brian Paul
3b029b0c7d check for initialized XMesaBuffer in XMesaGarbageCollect() 2002-02-20 23:59:40 +00:00
Brian Paul
bff7677bd9 undo some debug changes mistakenly checked in earlier 2002-02-17 17:38:44 +00:00
Brian Paul
41796ecc25 added two latest bug fixes 2002-02-15 19:15:59 +00:00
Brian Paul
94865a95b1 use separate GC for SwapBuffers to avoid colormask problem 2002-02-15 19:15:08 +00:00
Karl Schultz
b8b23d4552 fix casts to quiet compiler warnings. 2002-02-15 18:50:48 +00:00
Brian Paul
3245cfdf41 obsolete 2002-02-15 14:04:57 +00:00
Brian Paul
69e043158a fixed float->int conversion. Fix conditional for 16-bit Z buffer path 2002-02-15 03:38:29 +00:00
Keith Whitwell
3ce17ffb84 Remove debug 2002-02-13 23:52:48 +00:00
Keith Whitwell
33b483f882 remove debug prints 2002-02-12 21:07:59 +00:00
Keith Whitwell
308a036114 More support for t&l drivers.
Fix reset_stipple calls.
Fix unsigned compare bugs.
2002-02-12 17:37:26 +00:00
Karl Schultz
4c97c84f7e silence compiler warning (windows) 2002-02-12 16:36:36 +00:00
Brian Paul
d7bde06097 silence compiler warnings 2002-02-12 16:07:15 +00:00
Brian Paul
a00292bcfe silence compiler warning 2002-02-12 16:06:16 +00:00
Brian Paul
7d729ffb58 release notes for 4.0.2 2002-02-12 15:54:47 +00:00
Brian Paul
aeb6c0af5e replace assertion with a test (avoid div by zero error) 2002-02-12 03:14:58 +00:00
Brian Paul
41110917d7 Prep for Mesa 4.0.2 release. 2002-02-12 03:13:41 +00:00
Brian Paul
a58b1ed0a3 Daniel Borca's GLUT for DOS/DJGPP. 2002-02-12 02:59:24 +00:00
Brian Paul
27b503cab8 Daniel Borca's new DOS/DJGPP driver. 2002-02-12 02:58:56 +00:00
Brian Paul
d38cdd33d0 removed GLUT reference 2002-01-30 21:54:47 +00:00
Brian Paul
851acc6ea7 added some handy debug code 2002-01-30 16:47:04 +00:00
Brian Paul
6115d784a7 don't use affine/persp_textured_triangle funcs when CHAN_BITS > 8 2002-01-30 16:45:29 +00:00
Brian Paul
fcca385bec replace GLushort w/ GLubyte in DEST_4US template (fixes 16-bit GLchan problem 2002-01-30 16:42:23 +00:00
Brian Paul
06743cf365 updated gl_mangle.h (Ray Tice) 2002-01-18 14:55:50 +00:00
Brian Paul
b372b40bd1 set PB->haveSpec in line functions that emit specular color 2002-01-16 18:24:31 +00:00
Karl Schultz
3e3bd40614 Fixes for 24-bit Windows devices. The old code was trying to do 3-byte
stores with a full DWORD store (yuk).  (Jeff Lewis)
2002-01-16 15:37:49 +00:00
Brian Paul
3fb6d0bfde added some missing error checks 2002-01-15 21:50:15 +00:00
Brian Paul
b36acc0423 removed API compat stuff 2002-01-15 20:17:59 +00:00
Karl Schultz
287d6127d2 Fixed pixel color component problem and clear code for 24-bit Windows
devices.  (Jeff Lewis)
2002-01-15 16:47:37 +00:00
Karl Schultz
a8290d3a95 Remove trailing CR's from most of the lines. No logical changes. 2002-01-15 16:12:15 +00:00
Brian Paul
b26f972618 don't apply scissor box in read_fast_rgba_pixels() 2002-01-12 16:12:42 +00:00
Brian Paul
5bd6bad38d fixed int->float conversion bug in _mesa_TexEnviv() 2002-01-09 02:14:50 +00:00
Brian Paul
1ae3437156 fixed GL_REPLACE / GL_RGB bug 2002-01-09 00:28:53 +00:00
Brian Paul
93665403aa texture env color wasn't used correctly in GL_BLEND mode 2002-01-09 00:12:37 +00:00
Brian Paul
04613cb0bc compile with -DNDEBUG 2002-01-08 15:58:11 +00:00
Brian Paul
e0a30e9d2d work-around for QNX compiler problem 2002-01-08 14:56:33 +00:00
Brian Paul
fd3da01ec3 fix typo (d'oh) 2002-01-04 14:36:58 +00:00
Brian Paul
40bbb8b7f3 fix bug 498555 - test for __GNUC__ 2002-01-04 14:35:34 +00:00
Brian Paul
00b7772bda fixes from Albert Chin 2002-01-03 16:29:07 +00:00
Karl Schultz
0fc4d7e46d Define finite as _finite for Windows. 2001-12-20 18:58:24 +00:00
Keith Whitwell
1261fed2c3 Further help with libGL version skew in dri drivers. 2001-12-20 15:29:15 +00:00
Keith Whitwell
4f4f542bd7 Fix clipping problem on mga 2001-12-20 09:53:57 +00:00
Brian Paul
550169ab62 added separate specular bug fix 2001-12-19 01:20:40 +00:00
Brian Paul
ad83c33a4d have to clamp color+specular in _swrast_add_spec_terms_triangle()! (fixes Chimera bug) 2001-12-19 01:13:12 +00:00
Brian Paul
a340c4f6ef disable blocks of GGI code so it at least compiles instead of bombing 2001-12-18 05:09:51 +00:00
Brian Paul
781f27575c added prototype glutGetProcAddress() function 2001-12-17 19:48:23 +00:00
Brian Paul
08e126fba6 Texture type is GLuint 2001-12-17 19:45:21 +00:00
Brian Paul
b03241a552 put the .type stuff on a separate line 2001-12-17 19:44:54 +00:00
Brian Paul
e4efc983bd minor update 2001-12-17 19:43:38 +00:00
Brian Paul
785bfd0c1e remove conditional in RESET_STIPPLE to fix conformance failure 2001-12-17 01:46:38 +00:00
Brian Paul
a0e4612f49 added normal length cache bug fix 2001-12-15 00:50:55 +00:00
Brian Paul
f6e1618f97 free the NormalLengthPtr if non-null in _tnl_free_immediate() 2001-12-15 00:48:41 +00:00
Karl Schultz
3a450fb4b0 Use $(MAKE) on the irix targets, instead of hard-coding pmake,
as suggested in SF bug 482149.  People can still use
pmake -v -f Makefile.X11 if they want to use pmake (works great for me).
Sorry, this should have been in the last check-in.
2001-12-14 17:46:20 +00:00
Karl Schultz
43daa03ac1 Add .cc as a valid suffix. 2001-12-14 17:18:08 +00:00
Karl Schultz
cb69912494 Cleanup for IRIX 6 platforms. Build src-glu instead of si-glu due
to problems with building the c++ code in the si-glu.
2001-12-14 17:11:46 +00:00
Karl Schultz
b4518ee5d4 Fix up targets for
irix6-o32, irix6-o32-dso, irix6-n32, irix6-n32-dso
2001-12-14 16:40:35 +00:00
Karl Schultz
6ef05c2817 Remove rules that were put into place to deal with compiling files that
are in subdirectories of this directory.  The list of rules that were here
was out of date for Mesa 4 and would likely get out of date again.  It is
better to have make handle it (e.g., use pmake -v on IRIX).
2001-12-14 16:33:06 +00:00
Brian Paul
26d31abd87 s/glxGetProcAddress/glXGetProcAddressARB/ 2001-12-14 11:39:39 +00:00
Brian Paul
7702362bda added GLX_SAMPLE_BUFFERS and GLX_SAMPLES 2001-12-14 03:20:57 +00:00
Karl Schultz
5141607357 Remove const from save_TexParameteri to match prototype for glTexParameteri.
Allows compilation on IRIX.
2001-12-13 19:55:00 +00:00
Brian Paul
a9e14e7bb9 added feedback bug fix item 2001-12-13 19:13:55 +00:00
Brian Paul
5196a16629 fixed errors in feedback for glDraw/CopyPixels and glBitmap 2001-12-13 19:12:30 +00:00
Karl Schultz
7f37280955 Add missing entry points 2001-12-13 19:07:28 +00:00
Brian Paul
986b7ec195 added optimized blending item 2001-12-13 16:24:28 +00:00
Brian Paul
9012185ae8 special case blend optmizations (Jeremy Fitzhardinge) 2001-12-13 16:14:17 +00:00
Brian Paul
2edf851932 added glTexParameter bug fix 2001-12-13 16:03:06 +00:00
Brian Paul
1703b67ee0 call FLUSH_VERTICES() in _mesaTexParameterfv() (bug 491832) 2001-12-13 16:02:32 +00:00
Brian Paul
9342fbe46e latest bug fixes 2001-12-13 14:18:46 +00:00
Keith Whitwell
2f88c5fbd4 fix primitive calculation in 1-line dlist immediates (molecules) 2001-12-13 10:57:55 +00:00
Keith Whitwell
dc35f387ca fix for ubyte colors 2001-12-13 10:57:41 +00:00
Keith Whitwell
597ec4040c fix glut tess lockup 2001-12-11 15:12:57 +00:00
Keith Whitwell
51aa3d2f30 Add INF_OR_NAN tests to swrast functions 2001-12-05 10:22:55 +00:00
Keith Whitwell
0c1f42ef29 further tweak to dlist change 2001-12-04 13:04:05 +00:00
Keith Whitwell
06ae58eebb remove debug 2001-12-03 17:59:36 +00:00
Keith Whitwell
d8deb468f7 guard ResetStipple calls 2001-12-03 17:49:01 +00:00
Keith Whitwell
4aac60f691 fx another place where PRIM_PARITY is calculated 2001-12-03 17:46:57 +00:00
Keith Whitwell
e20d35d74a correctly reset input after dlist execution 2001-12-03 17:44:02 +00:00
Keith Whitwell
ed26c2d950 remove debug 2001-12-03 17:40:43 +00:00
Keith Whitwell
95681b4a85 avoid side-effects in macro param 2001-12-03 17:39:09 +00:00
Karl Schultz
17a5135fee Add darwin target 2001-11-30 20:18:41 +00:00
Karl Schultz
69b71bc1ab malloc() prototype is in stdlib.h for darwin 2001-11-30 20:12:38 +00:00
Alan Hourihane
9f6957e702 Don't reset the _tnl_CurrentInput pointer on DestroyContext. 2001-11-30 15:42:32 +00:00
Karl Schultz
bf78731523 update version string to 4.0 2001-11-29 22:56:10 +00:00
Karl Schultz
c527df81df update updated date 2001-11-29 16:54:32 +00:00
Karl Schultz
ca2315d95b Update notes about si-glu NURBS code. 2001-11-29 16:53:16 +00:00
Karl Schultz
c4dd9e2a03 Fix compilation errors and warnings for NURBS support. (Robert Bergkvist) 2001-11-29 16:38:26 +00:00
Keith Whitwell
34174976c4 use smaller buffer when decomposing large drawarrays, for cache goodness 2001-11-29 15:15:11 +00:00
Brian Paul
ff23c15bdc updated comment about CHAN_BITS 2001-11-28 17:18:20 +00:00
Brian Paul
eb0ce107c7 use v2 color, not v0 in flat_ci_triangle() 2001-11-28 16:11:14 +00:00
Keith Whitwell
bfe6c71b99 update vendor string 2001-11-28 11:54:45 +00:00
Brian Paul
69f2ff5f38 added triangle parity bug fix and GLUT glXGetProcAddressARB item 2001-11-27 02:58:01 +00:00
Brian Paul
f28c19da41 use glXGetProcAddressARB to avoid extension linkage problems 2001-11-27 02:50:55 +00:00
Brian Paul
c132ca9774 don't directly call glSecondaryColor*EXT() or glFogCoord*EXT() 2001-11-26 23:45:36 +00:00
Brian Paul
8ca1772d4a fix some warnings 2001-11-26 17:21:24 +00:00
Keith Whitwell
ff5fe4836a Possible fix for vtk tristrip bug 2001-11-26 12:55:12 +00:00
Brian Paul
f88e0898a1 fixed some GLenum/GLuint mixups 2001-11-25 18:54:45 +00:00
Brian Paul
3f2eedd634 bump version to 4.0.1 2001-11-25 18:50:19 +00:00
Brian Paul
158c7413fb updates for 4.0.1 2001-11-23 20:47:25 +00:00
Brian Paul
0a96860e04 attempted fix for bug 474479 2001-11-23 20:43:32 +00:00
Keith Whitwell
37b10249e5 Fix decomposition of quads/quad-strips to indexed tris 2001-11-22 13:56:25 +00:00
Keith Whitwell
589cee71b8 Another locked drawarrays fix 2001-11-22 09:23:31 +00:00
Brian Paul
c6dcd5c4cf added CVA and glapi_sparc.S bug fixes 2001-11-20 00:08:17 +00:00
Brian Paul
e1ec4771f1 fixed Solaris/GCC compilation problems 2001-11-20 00:06:25 +00:00
Keith Whitwell
917e942fe2 3dnow normalize_normals function isn't working - disable it. 2001-11-19 13:50:35 +00:00
Keith Whitwell
f427427ca8 possible fix for cva ignore start index bug 2001-11-19 10:20:37 +00:00
Brian Paul
7ed97d4ef4 added latest bug fixes for 4.0.1 2001-11-18 23:25:35 +00:00
Brian Paul
267b9cc082 fixed a few missing entries for GetProcAddress() 2001-11-18 23:24:49 +00:00
Brian Paul
efb678da77 added missing const to glXGetContextIDEXT() prototype 2001-11-18 22:16:35 +00:00
Brian Paul
32aa05bfd6 added -Bsymbolic item 2001-11-15 19:50:24 +00:00
Brian Paul
299a71fe04 added better sub-pixel AA item 2001-11-13 00:26:07 +00:00
Brian Paul
63da26bd62 improved AA subpixel sample positions (Ray Tice) 2001-11-13 00:24:51 +00:00
Brian Paul
dfb7ebf8a0 added latest post-4.0 bug fixes 2001-11-09 22:05:10 +00:00
Brian Paul
64681c1f82 fix typedef problem found with MSDev 6.0 2001-11-09 22:03:54 +00:00
Brian Paul
8c3149f250 added GLX 1.4 function manglers 2001-11-09 22:00:26 +00:00
Brian Paul
53e284bda1 added 1.3 function manglers 2001-11-09 21:59:18 +00:00
Brian Paul
f46ce82219 define GL_VERSION_1_3 (doh!) 2001-11-09 21:54:05 +00:00
Brian Paul
4256cf0175 casts to silence warnings from gcc 2.96 2001-11-06 16:00:58 +00:00
Brian Paul
986749a4ea added GL_MAX_TEXTURE_LOD_BIAS_EXT fix 2001-11-06 15:53:25 +00:00
Brian Paul
07042d164b added missing GL_MAX_TEXTURE_LOD_BIAS_EXT query 2001-11-06 15:51:06 +00:00
Brian Paul
0739d6f158 fix error in error checking conditional (bug 476846) 2001-11-03 04:10:08 +00:00
Brian Paul
2fd7a602a7 added hash table mutex bug fix 2001-11-02 00:58:32 +00:00
Brian Paul
f97edb4ca3 init the hash table mutex in _mesa_NewHashTable (Won-Suk Chun) 2001-11-02 00:56:45 +00:00
Karl Schultz
3b0571dd5c Updates for improved DirectDraw support (Daniel Slater) 2001-11-01 22:52:18 +00:00
Brian Paul
c25f068355 added some (void *) casts to silence gcc 2.96 warnings 2001-11-01 00:38:37 +00:00
Keith Whitwell
3a05f42b28 add linux-x11-debug build target 2001-10-30 16:00:20 +00:00
Karl Schultz
2631c2a2de Change name of glut lib from glut32 to MesaGlut.
This helps avoid confusion with other gluts on the system that may be
lined with OpenGl32.dll and Glu32.dll.
2001-10-26 21:22:40 +00:00
Karl Schultz
b2728086ec Copy ../util/readtex.[ch] 2001-10-26 21:03:15 +00:00
Brian Paul
2e7644f13d bug fix: missing breaks in glGet*() 2001-10-25 23:21:52 +00:00
Brian Paul
9c3e7d2294 added a bunch of missing breaks for multisample gets 2001-10-25 23:21:11 +00:00
435 changed files with 24909 additions and 53383 deletions

View File

@@ -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"

View File

@@ -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] \

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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 $

View File

@@ -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

View File

@@ -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.

View File

@@ -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 $

View File

@@ -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 $

View File

@@ -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 $

View File

@@ -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 $

View File

@@ -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 $

View File

@@ -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 $

View File

@@ -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

View File

@@ -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.

View File

@@ -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 =

View File

@@ -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 =

View File

@@ -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

View File

@@ -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>&nbsp;
<a href="../core/index.html">core</a>&nbsp;
<a href="../math/index.html">math</a>&nbsp;
<a href="../swrast/index.html">swrast</a>&nbsp;
<a href="../swrast_setup/index.html">swrast_setup</a>&nbsp;
<a href="../tnl/index.html">tnl</a>&nbsp;
<a href="../tnl_dd/index.html">tnl_dd</a>&nbsp;
</center>

View File

@@ -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

View File

@@ -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 =

View File

@@ -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 =

View File

@@ -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 =

View File

@@ -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 =

View File

@@ -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 =

View File

@@ -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])

View File

@@ -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

View File

@@ -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

View File

@@ -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
}

View File

@@ -36,14 +36,6 @@
#include <GL/gl.h>
#ifndef GLAPIENTRY
#define GLAPIENTRY
#endif
#ifndef GLAPI
#define GLAPI
#endif
#ifdef __cplusplus
extern "C" {
#endif

View File

@@ -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);

View File

@@ -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
}

View File

@@ -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

View File

@@ -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;

View File

@@ -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

View File

@@ -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.

View File

@@ -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

View File

@@ -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();
}

View File

@@ -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

View File

@@ -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>

View File

@@ -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 );

View File

@@ -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");

View File

@@ -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]);

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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);
}

View File

@@ -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);

View File

@@ -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);

View File

@@ -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[] )

View File

@@ -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);

View File

@@ -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>

View File

@@ -8,7 +8,6 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#ifdef WIN32

View File

@@ -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];

View File

@@ -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");
}

View File

@@ -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>

File diff suppressed because it is too large Load Diff

View File

@@ -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);
}

View File

@@ -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 );
}
}

View File

@@ -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>

View File

@@ -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 );

View File

@@ -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));

View File

@@ -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>

View File

@@ -143,8 +143,6 @@ void display(void)
size = glRenderMode (GL_RENDER);
printBuffer (size, feedBuffer);
glFinish();
}
/* ARGSUSED1 */

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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

View File

@@ -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

View File

@@ -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");

View File

@@ -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);

View File

@@ -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;

View File

@@ -17,13 +17,7 @@ PROGS = cva \
projtex \
seccolor \
sharedtex \
texline \
texwrap \
vptest1 \
vptest2 \
vptest3 \
vptorus \
vpwarpmesh
texline
##### RULES #####

View File

@@ -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"

View File

@@ -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

View File

@@ -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)

View File

@@ -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

View File

@@ -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;
}

View File

@@ -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 )

View File

@@ -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);

View File

@@ -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;
}

View File

@@ -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 */

View File

@@ -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));

View File

@@ -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;
}

View File

@@ -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 );

View File

@@ -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;
}

View File

@@ -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. */
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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) $<

View File

@@ -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)

View File

@@ -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.

View File

@@ -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 );

View File

@@ -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