4
This directory is usually included in the Mesa demos distribution or
5
in the GLUT distribution.
7
I have written the demos included in this directory mainly for showing
8
the capabilities of the Mesa library when using the Voodoo driver.
9
However all the demos are written using the GLUT and OpenGL so they
10
work with any GLUT/OpenGL platform (tested: Linux+Mesa+Voodoo driver,
11
Linux+Mesa+X11 driver, Win95+Mesa+Voodoo driver and SGI Onyx IR thanks
14
All the demos make an heavy use of texture mapping, blending, etc. so
15
you _need_ some kind of hardware support for the OpenGL otherwise they
16
will run at ~1fps. You need also a OpenGL 1.1 compliant library.
18
You can find some screenshot of these demos at
19
http://www-hmw.caribel.pisa.it/fxmesa/fxdemos.hmtl
21
Write me if you find some bug in the demos.
23
David Bucciarelli (tech.hmw@plus.it)
28
Tel./Fax +39-50-554108
29
email: info.hmw@plus.it
30
www: www-hmw.caribel.pisa.it
33
A BRIEF DESCRIPTION OF THE DEMOS
34
--------------------------------
40
Sources: ipers.c image.c
42
A nice spinning fractal object.
50
I'm using ray tracing to dynamically generate texture maps with
51
specular, diffuse, shadows, and mirror colors. Each frame the texture
52
maps of the plane and of the sphere are partially updated. With this
53
technique you can obtain true mirrors, shadows, specular highlights,
54
bump mapping, etc. in realtime. This demo is really CPU intensive
55
(~25fps on a PentiumII@300MHz with a Pure3D). Support on-the-fly
56
switching between fullscreen and in-window rendering under Linux/Mesa
57
(start your X server in 16 bpp mode and press the spacebar).
63
Sources: tunnel.c image.c sources.c
66
The model was designed and prelighted with Alias|Wavefront
67
PowerAnimator V8. Triangle strips were built with a tool written by me
68
and then statically included in the sources. This demo doesn't
69
require the ZBuffer and use antialiased polygons. Support on-the-fly
70
switching between fullscreen and in-window rendering under Linux/Mesa
71
(start your X server in 16 bpp mode and press the spacebar).
77
Sources: tunnel2.c image.c sources.c
80
The some tunnel demo but with two output channels. A nice
81
example of the Mesa/Voodoo support for multiple boards in
88
Sources: teapot.c image.c dteapot.c shadow.c
91
The shadow is drawn projecting the teapot geometry over the plane. All
92
other light effects are drawn using the standard OpenGL capabilities.
93
Support on-the-fly switching between fullscreen and in-window
94
rendering under Linux/Mesa (start your X server in 16 bpp mode and
101
Sources: fire.c image.c
102
Data: s128.rgb tree2.rgb
104
The demo use a small particle system to draw some nice visual effect.
105
You can interactively change many parameters of the particle system
106
and you can choose the number of particles at the startup ('fire
107
4000'). This demo should be called fountain. Support on-the-fly
108
switching between fullscreen and in-window rendering under Linux/Mesa
109
(start your X server in 16 bpp mode and press the spacebar).
117
This demo is base on another demo written by Mikael SkiZoWalker. I
118
have added the capabilities to freely fly around, view culling and
119
some nice color. Support on-the-fly switching between fullscreen and
120
in-window rendering under Linux/Mesa (start your X server in 16 bpp
121
mode and press the spacebar).
129
This is a simple benchmark suite that I'm using in the development of
130
the Mesa/Voodoo driver. Type 'gltest >my.res' and you will get some
131
data about the performances of your OpenGL. Follow the results with my
132
PC (Linux+Mesa-2.6+PentiumII@300MHz+Pure3D):
135
587900.080674 Pnts/sec
138
SIZE=480 => 39007.426183 Lins/sec
139
SIZE=250 => 74575.016485 Lins/sec
140
SIZE=100 => 179734.882409 Lins/sec
141
SIZE=050 => 183987.795297 Lins/sec
142
SIZE=025 => 183820.086309 Lins/sec
146
SIZE=480 => 784.954997 Tris/sec
147
SIZE=250 => 2862.325889 Tris/sec
148
SIZE=100 => 17779.492938 Tris/sec
149
SIZE=050 => 159339.829844 Tris/sec
150
SIZE=025 => 428602.984008 Tris/sec
153
ZSmooth Tex Blend Triangles
154
SIZE=480 => 784.473931 Tris/sec
155
SIZE=250 => 2853.781513 Tris/sec
156
SIZE=100 => 17598.252146 Tris/sec
157
SIZE=050 => 152632.578337 Tris/sec
158
SIZE=025 => 377584.760048 Tris/sec
161
ZSmooth Tex Blend TMesh Triangles
162
SIZE=400 => 563.900695 Tris/sec, MPixel Fill/sec: 45.112056
163
SIZE=250 => 1449.777225 Tris/sec, MPixel Fill/sec: 45.305538
164
SIZE=100 => 8702.869121 Tris/sec, MPixel Fill/sec: 43.514346
165
SIZE=050 => 31896.867466 Tris/sec, MPixel Fill/sec: 39.871084
166
SIZE=025 => 114037.262894 Tris/sec, MPixel Fill/sec: 35.636645
167
SIZE=010 => 220494.235839 Tris/sec, MPixel Fill/sec: 11.024712
168
SIZE=005 => 225615.506651 Tris/sec, MPixel Fill/sec: 2.820194
169
SIZE=002 => 225607.681439 Tris/sec, MPixel Fill/sec: 0.451215
172
Color/Depth Buffer Clears
173
295.042474 Clrs/sec, MPixel Fill/sec: 90.553256
176
Follow the results with my
177
PC (Linux+Mesa-3.0beta5+PentiumII@300MHz+Voodoo2):
181
1620113.525130 Pnts/sec
184
SIZE=480 => 73841.166065 Lins/sec
185
SIZE=250 => 140794.035316 Lins/sec
186
SIZE=100 => 344185.242157 Lins/sec
187
SIZE=050 => 420399.008289 Lins/sec
188
SIZE=025 => 420261.389773 Lins/sec
192
SIZE=480 => 1434.668506 Tris/sec
193
SIZE=250 => 5228.449614 Tris/sec
194
SIZE=100 => 46603.815842 Tris/sec
195
SIZE=050 => 325757.045961 Tris/sec
196
SIZE=025 => 589022.403336 Tris/sec
199
ZSmooth Tex Blend Triangles
200
SIZE=480 => 1414.900041 Tris/sec
201
SIZE=250 => 5006.055235 Tris/sec
202
SIZE=100 => 43602.252031 Tris/sec
203
SIZE=050 => 303497.092692 Tris/sec
204
SIZE=025 => 517087.428669 Tris/sec
207
ZSmooth Tex Blend TMesh Triangles
208
SIZE=400 => 1023.273112 Tris/sec, MPixel Fill/sec: 81.861849
209
SIZE=250 => 2595.692121 Tris/sec, MPixel Fill/sec: 81.115379
210
SIZE=100 => 15788.198912 Tris/sec, MPixel Fill/sec: 78.940995
211
SIZE=050 => 58784.121300 Tris/sec, MPixel Fill/sec: 73.480152
212
SIZE=025 => 244233.873481 Tris/sec, MPixel Fill/sec: 76.323085
213
SIZE=010 => 474995.004191 Tris/sec, MPixel Fill/sec: 23.749750
214
SIZE=005 => 475124.354163 Tris/sec, MPixel Fill/sec: 5.939054
215
SIZE=002 => 474959.089503 Tris/sec, MPixel Fill/sec: 0.949918
218
Color/Depth Buffer Clears
219
478.654830 Clrs/sec, MPixel Fill/sec: 146.906826
225
Sources: paltex.c and glbpaltx.c
227
The PALTEX example was written by Brian Paul and it shows the
228
capabilities of the GL_EXT_paletted_texture extension. I have written
229
the other example in order to show the capabilities of the
230
gl3DfxSetPaletteEXT() (it used only by GLQuake and Quake2).