Installing OpenGL Performer

OpenGL Performer is a powerful C++ simulation and visualization graphics library written by SGI. It is used commercially in flight simulators, scientific visualization applications, and of course the CAVE. Ygdrasil uses OpenGL Performer to actually draw things on the screen. A full license is not cheap, as is true with most things that come from the aerospace industry, but happily there's a completely functional free download you can get from SGI. Its only limitation is that it puts the label "Powered by OpenGL Performer" at the top of the screen.
July, 2006:
You may want to hold off on buying a license - SGI is in bankruptcy proceedings and has discontinued development of Performer; it remains to be seen whether they will sell it off, open-source it, or if it will simply be abandoned and disappear.
  1. Go to www.sgi.com/software/performer
  2. Go to Downloads. There are several flavors here. The 64-Bit version is only for Intel Itanium 64-bit processors, which are kind of exotic, NOT for Athlon64, Intel Pentium D, etc. You probably want the 32-bit version.
  3. You'll have to sign up for a "Support Folio" account, which just involves giving them an email address. They'll email you a password. Log in, and choose either the RPM or TGZ versions. RPM is the easiest to install, but you need to have the RPM package manager. Go into the terminal and just type "rpm". If you get a message about how to use rpm, then good. If it says "command not found", you don't have RPM, and should just get the TGZ version.
  4. Or, if you're using Ubuntu or another Debian-based Linux, you can use the program Alien to convert RPM packages to Debian .deb packages, and then install them. Here's an Article on Using Alien.
  5. Download all of the parts - the Performer Runtime, Developer, Demo License, Demo Files, and Documentation.
  6. To install RPM's from the desktop, just double-click them. It'll ask for your root password, and then you can install them.
  7. To install RPM's from the command line:
    redsnapper:/home/badzmaru/Performer_3.2.1 # ls . .. pfmakedefs.gmk pfmakerules.gmk sgi-performer-3.2.1_gcc3-0.i386.rpm sgi-performer-clipdemos-3.2.1_gcc3-0.i386.rpm sgi-performer-demo-license-3.2.1_gcc3-0.i386.rpm sgi-performer-demos-3.2.1_gcc3-0.i386.rpm sgi-performer-devel-3.2.1_gcc3-0.i386.rpm sgi-performer-docs-3.2.1_gcc3-0.noarch.rpm sgi-performer-docs-print-3.2.1_gcc3-0.noarch.rpm redsnapper:/home/badzmaru/Performer_3.2.1 # rpm -ivh *.rpm
  8. Or, to create and install the .deb files:
    sudo alien -c sgi-performer-3.2.4-1_i386.rpm sudo alien -c sgi-performer-compat31-3.2.4-1_i386.rpm sudo alien -c sgi-performer-demo-license-3.2.4-1_i386.rpm sudo alien -c sgi-performer-demos-3.2.4-1_i386.rpm sudo alien -c sgi-performer-devel-3.2.4-1_i386.rpm
    This makes .deb files that you can install. Just double-click each of them to install them. (you can also do alien -c -i to automatically install while generating them).
  9. To Test out Performer, try out the perfly command from the command line.
    cd /usr/share/Performer/data badzmaru@redsnapper:/usr/share/Performer/data> ls 3010.star crater.3ds iris.rgb.attr planks.rgb.attr Times-Elfin.of 400call.pfb cubecall.pfb iris-tux.pfb plastictorus tophat.flt 900call.pfb desert.rgb klingon.flt pot.sv torus.nff all.mtl detail_desert.rgb license.rgb prchmnt.rgb town anisoDiffuse.rgb ditriicos.phd license.rgb.attr prchmnt_sgi.rgb town_ogl.perfly apple.sv duckeye2.gif lights.pfb road_detail.rgb town.perfly asddata dumptruck.obj logo.128.rgb road.rgb tree.nff asd.im enterprise.flt logo.256.rgb rocket_tux.pfb tree.rgba ash.rgba epcot.csb logo.512.rgb rwb0.rgb truckBack.rgb barcelona-l.gfo esprit.flt marblebirds.rgba sampler.nff truck.pfb barcelona-s.gfo esprit.pfb marblecow sample.spherepatch truckSide.rgb bark.rgb f-117.dxf marble.rgb scroll.sv truckWheel.rgb blob.nff fancybox.im Mistr.mf SESI.poly tux2.pfi board.sv fire.tex Mistr.of sgilogo.bw tux2.rgb box.im flint.sv morph_engine.pfb sgilogo-tiled.bw tux_belly.pfi brick.rgb floor5.rgb NdotL.rgb shinycow.obj tux.perfly brick.rgba floor.flt oak.rgba shiny.mtl tux.pfb cafe.rgb flowers.rgb office.unc sj.rgb tux.pfi cane.flt fontsample2.im parquet.rgb sj_texgen.pfb tux.rgb ch53.pfb geom.sv perfbann.rgb smoke.tex tux_sit.pfb ch53.rgb gravel.rgb perfbann.rgb.attr stool.dwb UnstrippedTorus.pfb ch53.rgb.attr henry.rgb perfBlimp.pfb stool.flt WhiteTorus.pfb ch53r.rgb highlight.bw perflogo.bw table.sv windmill.iv ch53r.rgb.attr highlight.rgb pfCity teapot.dxf wood0.rgb chamber.0.lsa hubcap.rgb pfgroup.rgb teapot.nff wood0.rgb.attr clipdata hubcap.rgb.attr pfLightSource.pfb tgen.post wood256.rgb clip.im ibr pflogo.pfi tgen.rgb wood8.rgb coke.rgb icosahedron.phd phong100.bw things.sv wood.rgb cow.mtl iris.flt pitts.dwb Times-Elfin.bw x29.sv cow.obj iris.rgb planks.rgb Times-Elfin.mf xforms.iv badzmaru@redsnapper:/usr/share/Performer/data> perfly town.perfly
    This will run the perfly program, which is a model viewer you can use to test out models. that directory has a bunch of example models. If the town worked, try these out too (the .rgb files are textures, and some of the other stuff is data, not models, but try everything).
    (c) Ben Chang