Clone of mesa.
Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.
José Fonseca 7ef8e4e181 progs: Prevent clash with min macro. 16 роки тому
..
Windows Fix CRLF line endings. 17 роки тому
.gitignore progs: Add ignores 17 роки тому
Makefile Merge commit 'origin/gallium-master-merge' 16 роки тому
Makefile.cygnus Removed all RCS / CVS tags (Id, Header, Date, etc.) from everything. 22 роки тому
Makefile.win Windows updates 18 роки тому
README initial check-in 25 роки тому
SConscript progs: Get more samples building on windows. 16 роки тому
arbfplight.c Optimize fragment program. 18 роки тому
arbfslight.c Fix fragment shader. 18 роки тому
arbocclude.c progs: Port most of the demos to glew. 16 роки тому
bounce.c Remove unneeded includes of time.h 19 роки тому
clearspd.c Removed all RCS / CVS tags (Id, Header, Date, etc.) from everything. 22 роки тому
copypix.c progs: Port most of the demos to glew. 16 роки тому
cubemap.c added --noclear option to demonstrate rendering without glClear 18 роки тому
descrip.mms Updates of some OpenVMS makefiles. 18 роки тому
drawpix.c mesa: call glutDestroyWindow() 17 роки тому
engine.c mesa: merge gallium-0.2 into gallium-master-merge 16 роки тому
fbo_firecube.c progs: Port most of the demos to glew. 16 роки тому
fire.c s/Togle/Toggle/ 20 роки тому
fogcoord.c progs: Get more samples building on windows. 16 роки тому
fplight.c progs: Port most of the demos to glew. 16 роки тому
fslight.c mesa: revert accidental change to fslight.c demo 17 роки тому
gamma.c Removed all RCS / CVS tags (Id, Header, Date, etc.) from everything. 22 роки тому
gearbox.c mesa: clear the unused upper-left region to black instead of leaving it undefined 17 роки тому
gears.c push out far clip plane to 200 17 роки тому
geartrain.c call glutInit(), bug 11486 18 роки тому
geartrain.dat Convert crlf->lf line endings. 17 роки тому
glinfo.c Removed all RCS / CVS tags (Id, Header, Date, etc.) from everything. 22 роки тому
gloss.c progs: Get more samples building on windows. 16 роки тому
glslnoise.c Optimize shaders. 19 роки тому
gltestperf.c call glutInit(), bug 11486 18 роки тому
glutfx.c Removed all RCS / CVS tags (Id, Header, Date, etc.) from everything. 22 роки тому
ipers.c better animate rate (Marcelo Magallon) 20 роки тому
isosurf.c progs: Fix isosurf. 16 роки тому
isosurf.dat Initial revision 26 роки тому
lodbias.c mesa: call glutDestroyWindow() 17 роки тому
morph3d.c call glutInit(), bug 11486 18 роки тому
multiarb.c progs: Get more samples building on windows. 16 роки тому
occlude.c use 'a' to toggle animation 21 роки тому
paltex.c progs: Port most of the demos to glew. 16 роки тому
particles.cxx initial check-in 25 роки тому
particles.h initial check-in 25 роки тому
pointblast.c progs: Port most of the demos to glew. 16 роки тому
rain.cxx progs: Get more samples building on windows. 16 роки тому
ray.c compile fix from Dan Schikore 19 роки тому
readpix.c allocate larger TempImage, use COMBO var to choose test format/type 19 роки тому
reflect.c press '0' for glDrawBuffer(GL_NONE) 19 роки тому
renormal.c better animate rate (Marcelo Magallon) 20 роки тому
shadowtex.c progs: Port most of the demos to glew. 16 роки тому
singlebuffer.c Demo of how to do (nearly) flicker-free rendering with a single color buffer. 20 роки тому
spectex.c Add a mode to test flat shading + separate specular. 20 роки тому
spriteblast.c progs: Port most of the demos to glew. 16 роки тому
stex3d.c progs: Get more samples building on windows. 16 роки тому
streaming_rect.c progs: Prevent clash with min macro. 16 роки тому
teapot.c s/Togle/Toggle/ 20 роки тому
terrain.c s/Togle/Toggle/ 20 роки тому
terrain.dat terrain demo data 25 роки тому
tessdemo.c move #include <GL/glut.h> after other #includes for Windows 18 роки тому
texcyl.c mesa: destroy window upon exit 17 роки тому
texdown.c demos: remove unused function 16 роки тому
texenv.c mesa: call glutDestroyWindow (help find mem leaks) 17 роки тому
texobj.c better animate rate (Marcelo Magallon) 20 роки тому
textures.c mesa: more test options in progs/demos/textures.c 17 роки тому
trispd.c Removed all RCS / CVS tags (Id, Header, Date, etc.) from everything. 22 роки тому
tunnel.c s/Togle/Toggle/ 20 роки тому
tunnel2.c mesa: call glutDestroyWindow() on exit 17 роки тому
tunneldat.h clean-up of tunnel demos 24 роки тому
vao_demo.c casts and assertions 19 роки тому
winpos.c progs: Get more samples building on windows. 16 роки тому

README

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