initial check-in
This commit is contained in:
parent
02e8a03593
commit
d88f8e9cac
|
@ -0,0 +1,230 @@
|
|||
INTRODUCTION
|
||||
------------
|
||||
|
||||
This directory is usually included in the Mesa demos distribution or
|
||||
in the GLUT distribution.
|
||||
|
||||
I have written the demos included in this directory mainly for showing
|
||||
the capabilities of the Mesa library when using the Voodoo driver.
|
||||
However all the demos are written using the GLUT and OpenGL so they
|
||||
work with any GLUT/OpenGL platform (tested: Linux+Mesa+Voodoo driver,
|
||||
Linux+Mesa+X11 driver, Win95+Mesa+Voodoo driver and SGI Onyx IR thanks
|
||||
to Mark Kilgard).
|
||||
|
||||
All the demos make an heavy use of texture mapping, blending, etc. so
|
||||
you _need_ some kind of hardware support for the OpenGL otherwise they
|
||||
will run at ~1fps. You need also a OpenGL 1.1 compliant library.
|
||||
|
||||
You can find some screenshot of these demos at
|
||||
http://www-hmw.caribel.pisa.it/fxmesa/fxdemos.hmtl
|
||||
|
||||
Write me if you find some bug in the demos.
|
||||
|
||||
David Bucciarelli (tech.hmw@plus.it)
|
||||
|
||||
Humanware s.r.l.
|
||||
Via XXIV Maggio 62
|
||||
Pisa, Italy
|
||||
Tel./Fax +39-50-554108
|
||||
email: info.hmw@plus.it
|
||||
www: www-hmw.caribel.pisa.it
|
||||
|
||||
|
||||
A BRIEF DESCRIPTION OF THE DEMOS
|
||||
--------------------------------
|
||||
|
||||
|
||||
IPERS
|
||||
-----
|
||||
|
||||
Sources: ipers.c image.c
|
||||
|
||||
A nice spinning fractal object.
|
||||
|
||||
|
||||
RAY
|
||||
---
|
||||
|
||||
Sources: ray.c
|
||||
|
||||
I'm using ray tracing to dynamically generate texture maps with
|
||||
specular, diffuse, shadows, and mirror colors. Each frame the texture
|
||||
maps of the plane and of the sphere are partially updated. With this
|
||||
technique you can obtain true mirrors, shadows, specular highlights,
|
||||
bump mapping, etc. in realtime. This demo is really CPU intensive
|
||||
(~25fps on a PentiumII@300MHz with a Pure3D). Support on-the-fly
|
||||
switching between fullscreen and in-window rendering under Linux/Mesa
|
||||
(start your X server in 16 bpp mode and press the spacebar).
|
||||
|
||||
|
||||
TUNNEL
|
||||
------
|
||||
|
||||
Sources: tunnel.c image.c sources.c
|
||||
Data: bw.rgb tile.rgb
|
||||
|
||||
The model was designed and prelighted with Alias|Wavefront
|
||||
PowerAnimator V8. Triangle strips were built with a tool written by me
|
||||
and then statically included in the sources. This demo doesn't
|
||||
require the ZBuffer and use antialiased polygons. Support on-the-fly
|
||||
switching between fullscreen and in-window rendering under Linux/Mesa
|
||||
(start your X server in 16 bpp mode and press the spacebar).
|
||||
|
||||
|
||||
TUNNEL2
|
||||
------
|
||||
|
||||
Sources: tunnel2.c image.c sources.c
|
||||
Data: bw.rgb tile.rgb
|
||||
|
||||
The some tunnel demo but with two output channels. A nice
|
||||
example of the Mesa/Voodoo support for multiple boards in
|
||||
the some PC.
|
||||
|
||||
|
||||
TEAPOT
|
||||
------
|
||||
|
||||
Sources: teapot.c image.c dteapot.c shadow.c
|
||||
Data: bw.rgb tile.rgb
|
||||
|
||||
The shadow is drawn projecting the teapot geometry over the plane. All
|
||||
other light effects are drawn using the standard OpenGL capabilities.
|
||||
Support on-the-fly switching between fullscreen and in-window
|
||||
rendering under Linux/Mesa (start your X server in 16 bpp mode and
|
||||
press the spacebar).
|
||||
|
||||
|
||||
FIRE
|
||||
----
|
||||
|
||||
Sources: fire.c image.c
|
||||
Data: s128.rgb tree2.rgb
|
||||
|
||||
The demo use a small particle system to draw some nice visual effect.
|
||||
You can interactively change many parameters of the particle system
|
||||
and you can choose the number of particles at the startup ('fire
|
||||
4000'). This demo should be called fountain. Support on-the-fly
|
||||
switching between fullscreen and in-window rendering under Linux/Mesa
|
||||
(start your X server in 16 bpp mode and press the spacebar).
|
||||
|
||||
|
||||
TERRAIN
|
||||
-------
|
||||
|
||||
Sources: mesaland.c
|
||||
|
||||
This demo is base on another demo written by Mikael SkiZoWalker. I
|
||||
have added the capabilities to freely fly around, view culling and
|
||||
some nice color. Support on-the-fly switching between fullscreen and
|
||||
in-window rendering under Linux/Mesa (start your X server in 16 bpp
|
||||
mode and press the spacebar).
|
||||
|
||||
|
||||
GLTEST
|
||||
------
|
||||
|
||||
Sources: gltest.c
|
||||
|
||||
This is a simple benchmark suite that I'm using in the development of
|
||||
the Mesa/Voodoo driver. Type 'gltest >my.res' and you will get some
|
||||
data about the performances of your OpenGL. Follow the results with my
|
||||
PC (Linux+Mesa-2.6+PentiumII@300MHz+Pure3D):
|
||||
|
||||
Simple Points
|
||||
587900.080674 Pnts/sec
|
||||
|
||||
Smooth Lines
|
||||
SIZE=480 => 39007.426183 Lins/sec
|
||||
SIZE=250 => 74575.016485 Lins/sec
|
||||
SIZE=100 => 179734.882409 Lins/sec
|
||||
SIZE=050 => 183987.795297 Lins/sec
|
||||
SIZE=025 => 183820.086309 Lins/sec
|
||||
|
||||
|
||||
ZSmooth Triangles
|
||||
SIZE=480 => 784.954997 Tris/sec
|
||||
SIZE=250 => 2862.325889 Tris/sec
|
||||
SIZE=100 => 17779.492938 Tris/sec
|
||||
SIZE=050 => 159339.829844 Tris/sec
|
||||
SIZE=025 => 428602.984008 Tris/sec
|
||||
|
||||
|
||||
ZSmooth Tex Blend Triangles
|
||||
SIZE=480 => 784.473931 Tris/sec
|
||||
SIZE=250 => 2853.781513 Tris/sec
|
||||
SIZE=100 => 17598.252146 Tris/sec
|
||||
SIZE=050 => 152632.578337 Tris/sec
|
||||
SIZE=025 => 377584.760048 Tris/sec
|
||||
|
||||
|
||||
ZSmooth Tex Blend TMesh Triangles
|
||||
SIZE=400 => 563.900695 Tris/sec, MPixel Fill/sec: 45.112056
|
||||
SIZE=250 => 1449.777225 Tris/sec, MPixel Fill/sec: 45.305538
|
||||
SIZE=100 => 8702.869121 Tris/sec, MPixel Fill/sec: 43.514346
|
||||
SIZE=050 => 31896.867466 Tris/sec, MPixel Fill/sec: 39.871084
|
||||
SIZE=025 => 114037.262894 Tris/sec, MPixel Fill/sec: 35.636645
|
||||
SIZE=010 => 220494.235839 Tris/sec, MPixel Fill/sec: 11.024712
|
||||
SIZE=005 => 225615.506651 Tris/sec, MPixel Fill/sec: 2.820194
|
||||
SIZE=002 => 225607.681439 Tris/sec, MPixel Fill/sec: 0.451215
|
||||
|
||||
|
||||
Color/Depth Buffer Clears
|
||||
295.042474 Clrs/sec, MPixel Fill/sec: 90.553256
|
||||
|
||||
|
||||
Follow the results with my
|
||||
PC (Linux+Mesa-3.0beta5+PentiumII@300MHz+Voodoo2):
|
||||
|
||||
|
||||
Simple Points
|
||||
1620113.525130 Pnts/sec
|
||||
|
||||
Smooth Lines
|
||||
SIZE=480 => 73841.166065 Lins/sec
|
||||
SIZE=250 => 140794.035316 Lins/sec
|
||||
SIZE=100 => 344185.242157 Lins/sec
|
||||
SIZE=050 => 420399.008289 Lins/sec
|
||||
SIZE=025 => 420261.389773 Lins/sec
|
||||
|
||||
|
||||
ZSmooth Triangles
|
||||
SIZE=480 => 1434.668506 Tris/sec
|
||||
SIZE=250 => 5228.449614 Tris/sec
|
||||
SIZE=100 => 46603.815842 Tris/sec
|
||||
SIZE=050 => 325757.045961 Tris/sec
|
||||
SIZE=025 => 589022.403336 Tris/sec
|
||||
|
||||
|
||||
ZSmooth Tex Blend Triangles
|
||||
SIZE=480 => 1414.900041 Tris/sec
|
||||
SIZE=250 => 5006.055235 Tris/sec
|
||||
SIZE=100 => 43602.252031 Tris/sec
|
||||
SIZE=050 => 303497.092692 Tris/sec
|
||||
SIZE=025 => 517087.428669 Tris/sec
|
||||
|
||||
|
||||
ZSmooth Tex Blend TMesh Triangles
|
||||
SIZE=400 => 1023.273112 Tris/sec, MPixel Fill/sec: 81.861849
|
||||
SIZE=250 => 2595.692121 Tris/sec, MPixel Fill/sec: 81.115379
|
||||
SIZE=100 => 15788.198912 Tris/sec, MPixel Fill/sec: 78.940995
|
||||
SIZE=050 => 58784.121300 Tris/sec, MPixel Fill/sec: 73.480152
|
||||
SIZE=025 => 244233.873481 Tris/sec, MPixel Fill/sec: 76.323085
|
||||
SIZE=010 => 474995.004191 Tris/sec, MPixel Fill/sec: 23.749750
|
||||
SIZE=005 => 475124.354163 Tris/sec, MPixel Fill/sec: 5.939054
|
||||
SIZE=002 => 474959.089503 Tris/sec, MPixel Fill/sec: 0.949918
|
||||
|
||||
|
||||
Color/Depth Buffer Clears
|
||||
478.654830 Clrs/sec, MPixel Fill/sec: 146.906826
|
||||
|
||||
|
||||
PALTEX and GLBPALTX
|
||||
-------------------
|
||||
|
||||
Sources: paltex.c and glbpaltx.c
|
||||
|
||||
The PALTEX example was written by Brian Paul and it shows the
|
||||
capabilities of the GL_EXT_paletted_texture extension. I have written
|
||||
the other example in order to show the capabilities of the
|
||||
gl3DfxSetPaletteEXT() (it used only by GLQuake and Quake2).
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue