Home | History | Annotate | Line # | Download | only in demos
      1  1.1  mrg INTRODUCTION
      2  1.1  mrg ------------
      3  1.1  mrg 
      4  1.1  mrg This directory is usually included in the Mesa demos distribution or
      5  1.1  mrg in the GLUT distribution.
      6  1.1  mrg 
      7  1.1  mrg I have written the demos included in this directory mainly for showing
      8  1.1  mrg the capabilities of the Mesa library when using the Voodoo driver.
      9  1.1  mrg However all the demos are written using the GLUT and OpenGL so they
     10  1.1  mrg work with any GLUT/OpenGL platform (tested: Linux+Mesa+Voodoo driver,
     11  1.1  mrg Linux+Mesa+X11 driver, Win95+Mesa+Voodoo driver and SGI Onyx IR thanks
     12  1.1  mrg to Mark Kilgard).
     13  1.1  mrg 
     14  1.1  mrg All the demos make an heavy use of texture mapping, blending, etc. so
     15  1.1  mrg you _need_ some kind of hardware support for the OpenGL otherwise they
     16  1.1  mrg will run at ~1fps. You need also a OpenGL 1.1 compliant library.
     17  1.1  mrg 
     18  1.1  mrg You can find some screenshot of these demos at
     19  1.1  mrg http://www-hmw.caribel.pisa.it/fxmesa/fxdemos.hmtl
     20  1.1  mrg 
     21  1.1  mrg Write me if you find some bug in the demos.
     22  1.1  mrg 
     23  1.1  mrg David Bucciarelli (tech.hmw (a] plus.it)
     24  1.1  mrg 
     25  1.1  mrg Humanware s.r.l.
     26  1.1  mrg Via XXIV Maggio 62
     27  1.1  mrg Pisa, Italy
     28  1.1  mrg Tel./Fax +39-50-554108
     29  1.1  mrg email: info.hmw (a] plus.it
     30  1.1  mrg www: www-hmw.caribel.pisa.it
     31  1.1  mrg 
     32  1.1  mrg 
     33  1.1  mrg A BRIEF DESCRIPTION OF THE DEMOS
     34  1.1  mrg --------------------------------
     35  1.1  mrg 
     36  1.1  mrg 
     37  1.1  mrg IPERS
     38  1.1  mrg -----
     39  1.1  mrg 
     40  1.1  mrg Sources: ipers.c image.c
     41  1.1  mrg 
     42  1.1  mrg A nice spinning fractal object.
     43  1.1  mrg 
     44  1.1  mrg 
     45  1.1  mrg RAY
     46  1.1  mrg ---
     47  1.1  mrg 
     48  1.1  mrg Sources: ray.c
     49  1.1  mrg 
     50  1.1  mrg I'm using ray tracing to dynamically generate texture maps with
     51  1.1  mrg specular, diffuse, shadows, and mirror colors. Each frame the texture
     52  1.1  mrg maps of the plane and of the sphere are partially updated.  With this
     53  1.1  mrg technique you can obtain true mirrors, shadows, specular highlights,
     54  1.1  mrg bump mapping, etc. in realtime.  This demo is really CPU intensive
     55  1.1  mrg (~25fps on a PentiumII@300MHz with a Pure3D).  Support on-the-fly
     56  1.1  mrg switching between fullscreen and in-window rendering under Linux/Mesa
     57  1.1  mrg (start your X server in 16 bpp mode and press the spacebar).
     58  1.1  mrg 
     59  1.1  mrg 
     60  1.1  mrg TUNNEL
     61  1.1  mrg ------
     62  1.1  mrg 
     63  1.1  mrg Sources: tunnel.c image.c sources.c
     64  1.1  mrg Data: bw.rgb tile.rgb
     65  1.1  mrg 
     66  1.1  mrg The model was designed and prelighted with Alias|Wavefront
     67  1.1  mrg PowerAnimator V8. Triangle strips were built with a tool written by me
     68  1.1  mrg and then statically included in the sources.  This demo doesn't
     69  1.1  mrg require the ZBuffer and use antialiased polygons.  Support on-the-fly
     70  1.1  mrg switching between fullscreen and in-window rendering under Linux/Mesa
     71  1.1  mrg (start your X server in 16 bpp mode and press the spacebar).
     72  1.1  mrg 
     73  1.1  mrg 
     74  1.1  mrg TUNNEL2
     75  1.1  mrg ------
     76  1.1  mrg 
     77  1.1  mrg Sources: tunnel2.c image.c sources.c
     78  1.1  mrg Data: bw.rgb tile.rgb
     79  1.1  mrg 
     80  1.1  mrg The some tunnel demo but with two output channels. A nice
     81  1.1  mrg example of the Mesa/Voodoo support for multiple boards in
     82  1.1  mrg the some PC.
     83  1.1  mrg 
     84  1.1  mrg 
     85  1.1  mrg TEAPOT
     86  1.1  mrg ------
     87  1.1  mrg 
     88  1.1  mrg Sources: teapot.c image.c dteapot.c shadow.c
     89  1.1  mrg Data: bw.rgb tile.rgb
     90  1.1  mrg 
     91  1.1  mrg The shadow is drawn projecting the teapot geometry over the plane. All
     92  1.1  mrg other light effects are drawn using the standard OpenGL capabilities.
     93  1.1  mrg Support on-the-fly switching between fullscreen and in-window
     94  1.1  mrg rendering under Linux/Mesa (start your X server in 16 bpp mode and
     95  1.1  mrg press the spacebar).
     96  1.1  mrg 
     97  1.1  mrg 
     98  1.1  mrg FIRE
     99  1.1  mrg ----
    100  1.1  mrg 
    101  1.1  mrg Sources: fire.c image.c
    102  1.1  mrg Data: s128.rgb tree2.rgb
    103  1.1  mrg 
    104  1.1  mrg The demo use a small particle system to draw some nice visual effect.
    105  1.1  mrg You can interactively change many parameters of the particle system
    106  1.1  mrg and you can choose the number of particles at the startup ('fire
    107  1.1  mrg 4000').  This demo should be called fountain.  Support on-the-fly
    108  1.1  mrg switching between fullscreen and in-window rendering under Linux/Mesa
    109  1.1  mrg (start your X server in 16 bpp mode and press the spacebar).
    110  1.1  mrg 
    111  1.1  mrg 
    112  1.1  mrg TERRAIN
    113  1.1  mrg -------
    114  1.1  mrg 
    115  1.1  mrg Sources: mesaland.c
    116  1.1  mrg 
    117  1.1  mrg This demo is base on another demo written by Mikael SkiZoWalker.  I
    118  1.1  mrg have added the capabilities to freely fly around, view culling and
    119  1.1  mrg some nice color.  Support on-the-fly switching between fullscreen and
    120  1.1  mrg in-window rendering under Linux/Mesa (start your X server in 16 bpp
    121  1.1  mrg mode and press the spacebar).
    122  1.1  mrg 
    123  1.1  mrg 
    124  1.1  mrg GLTEST
    125  1.1  mrg ------
    126  1.1  mrg 
    127  1.1  mrg Sources: gltest.c
    128  1.1  mrg 
    129  1.1  mrg This is a simple benchmark suite that I'm using in the development of
    130  1.1  mrg the Mesa/Voodoo driver. Type 'gltest >my.res' and you will get some
    131  1.1  mrg data about the performances of your OpenGL. Follow the results with my
    132  1.1  mrg PC (Linux+Mesa-2.6+PentiumII@300MHz+Pure3D):
    133  1.1  mrg 
    134  1.1  mrg Simple Points
    135  1.1  mrg 587900.080674 Pnts/sec
    136  1.1  mrg 
    137  1.1  mrg Smooth Lines
    138  1.1  mrg SIZE=480 => 39007.426183 Lins/sec
    139  1.1  mrg SIZE=250 => 74575.016485 Lins/sec
    140  1.1  mrg SIZE=100 => 179734.882409 Lins/sec
    141  1.1  mrg SIZE=050 => 183987.795297 Lins/sec
    142  1.1  mrg SIZE=025 => 183820.086309 Lins/sec
    143  1.1  mrg 
    144  1.1  mrg 
    145  1.1  mrg ZSmooth Triangles
    146  1.1  mrg SIZE=480 => 784.954997 Tris/sec
    147  1.1  mrg SIZE=250 => 2862.325889 Tris/sec
    148  1.1  mrg SIZE=100 => 17779.492938 Tris/sec
    149  1.1  mrg SIZE=050 => 159339.829844 Tris/sec
    150  1.1  mrg SIZE=025 => 428602.984008 Tris/sec
    151  1.1  mrg 
    152  1.1  mrg 
    153  1.1  mrg ZSmooth Tex Blend Triangles
    154  1.1  mrg SIZE=480 => 784.473931 Tris/sec
    155  1.1  mrg SIZE=250 => 2853.781513 Tris/sec
    156  1.1  mrg SIZE=100 => 17598.252146 Tris/sec
    157  1.1  mrg SIZE=050 => 152632.578337 Tris/sec
    158  1.1  mrg SIZE=025 => 377584.760048 Tris/sec
    159  1.1  mrg 
    160  1.1  mrg 
    161  1.1  mrg ZSmooth Tex Blend TMesh Triangles
    162  1.1  mrg SIZE=400 => 563.900695 Tris/sec, MPixel Fill/sec: 45.112056
    163  1.1  mrg SIZE=250 => 1449.777225 Tris/sec, MPixel Fill/sec: 45.305538
    164  1.1  mrg SIZE=100 => 8702.869121 Tris/sec, MPixel Fill/sec: 43.514346
    165  1.1  mrg SIZE=050 => 31896.867466 Tris/sec, MPixel Fill/sec: 39.871084
    166  1.1  mrg SIZE=025 => 114037.262894 Tris/sec, MPixel Fill/sec: 35.636645
    167  1.1  mrg SIZE=010 => 220494.235839 Tris/sec, MPixel Fill/sec: 11.024712
    168  1.1  mrg SIZE=005 => 225615.506651 Tris/sec, MPixel Fill/sec: 2.820194
    169  1.1  mrg SIZE=002 => 225607.681439 Tris/sec, MPixel Fill/sec: 0.451215
    170  1.1  mrg 
    171  1.1  mrg 
    172  1.1  mrg Color/Depth Buffer Clears
    173  1.1  mrg 295.042474 Clrs/sec, MPixel Fill/sec: 90.553256
    174  1.1  mrg 
    175  1.1  mrg 
    176  1.1  mrg Follow the results with my
    177  1.1  mrg PC (Linux+Mesa-3.0beta5+PentiumII@300MHz+Voodoo2):
    178  1.1  mrg 
    179  1.1  mrg 
    180  1.1  mrg Simple Points
    181  1.1  mrg 1620113.525130 Pnts/sec
    182  1.1  mrg 
    183  1.1  mrg Smooth Lines
    184  1.1  mrg SIZE=480 => 73841.166065 Lins/sec
    185  1.1  mrg SIZE=250 => 140794.035316 Lins/sec
    186  1.1  mrg SIZE=100 => 344185.242157 Lins/sec
    187  1.1  mrg SIZE=050 => 420399.008289 Lins/sec
    188  1.1  mrg SIZE=025 => 420261.389773 Lins/sec
    189  1.1  mrg 
    190  1.1  mrg 
    191  1.1  mrg ZSmooth Triangles
    192  1.1  mrg SIZE=480 => 1434.668506 Tris/sec
    193  1.1  mrg SIZE=250 => 5228.449614 Tris/sec
    194  1.1  mrg SIZE=100 => 46603.815842 Tris/sec
    195  1.1  mrg SIZE=050 => 325757.045961 Tris/sec
    196  1.1  mrg SIZE=025 => 589022.403336 Tris/sec
    197  1.1  mrg 
    198  1.1  mrg 
    199  1.1  mrg ZSmooth Tex Blend Triangles
    200  1.1  mrg SIZE=480 => 1414.900041 Tris/sec
    201  1.1  mrg SIZE=250 => 5006.055235 Tris/sec
    202  1.1  mrg SIZE=100 => 43602.252031 Tris/sec
    203  1.1  mrg SIZE=050 => 303497.092692 Tris/sec
    204  1.1  mrg SIZE=025 => 517087.428669 Tris/sec
    205  1.1  mrg 
    206  1.1  mrg 
    207  1.1  mrg ZSmooth Tex Blend TMesh Triangles
    208  1.1  mrg SIZE=400 => 1023.273112 Tris/sec, MPixel Fill/sec: 81.861849
    209  1.1  mrg SIZE=250 => 2595.692121 Tris/sec, MPixel Fill/sec: 81.115379
    210  1.1  mrg SIZE=100 => 15788.198912 Tris/sec, MPixel Fill/sec: 78.940995
    211  1.1  mrg SIZE=050 => 58784.121300 Tris/sec, MPixel Fill/sec: 73.480152
    212  1.1  mrg SIZE=025 => 244233.873481 Tris/sec, MPixel Fill/sec: 76.323085
    213  1.1  mrg SIZE=010 => 474995.004191 Tris/sec, MPixel Fill/sec: 23.749750
    214  1.1  mrg SIZE=005 => 475124.354163 Tris/sec, MPixel Fill/sec: 5.939054
    215  1.1  mrg SIZE=002 => 474959.089503 Tris/sec, MPixel Fill/sec: 0.949918
    216  1.1  mrg 
    217  1.1  mrg 
    218  1.1  mrg Color/Depth Buffer Clears
    219  1.1  mrg 478.654830 Clrs/sec, MPixel Fill/sec: 146.906826
    220  1.1  mrg 
    221  1.1  mrg 
    222  1.1  mrg PALTEX and GLBPALTX
    223  1.1  mrg -------------------
    224  1.1  mrg 
    225  1.1  mrg Sources: paltex.c and glbpaltx.c
    226  1.1  mrg 
    227  1.1  mrg The PALTEX example was written by Brian Paul and it shows the
    228  1.1  mrg capabilities of the GL_EXT_paletted_texture extension.  I have written
    229  1.1  mrg the other example in order to show the capabilities of the
    230  1.1  mrg gl3DfxSetPaletteEXT() (it used only by GLQuake and Quake2).
    231