-Introduction
+* Introduction
-Mesa 3.1 features a new driver for the BeOS. The new driver implements
-a clone of the BGLView class. This class, derived from BView, allows
-OpenGL rendering into a BeOS window.
+Brian Paul added in Mesa 3.1 a driver for BeOS R4.5 operating system.
+This driver implements a clone of the BGLView class. This class,
+derived from BView, allows OpenGL rendering into any BeOS window. His
+driver was updated in Mesa 4.1 and again in version 6.1 by Philippe
+Houdoin, who's maintaining this driver since.
Any application which uses the BGLView should be able to use Mesa
instead of Be's OpenGL without changing any code.
-Since Be's OpenGL implementation (as of R4) is basically just the
+Since Be's OpenGL implementation (as of R5) is basically just the
SGI sample implementation, it's pretty slow. You'll see that Mesa
is considerably faster.
+* Source Code
-Source Code
-
-The source code for the driver is in Mesa-3.1/src/BeOS/GLView.cpp
+The source code for the driver is in src/mesa/drivers/beos/ directory.
It's not 100% finished at this time but many GLUT-based demos are
-working. Specifically, color index mode isn't implemented at all.
-No optimizations have been made at this time. Any volunteers?
+working. No optimizations have been made at this time.
+
+
+* Compiling
+Requirements:
+ - gcc version 2.95.3 for BeOS
+ You can find it here: http://www.bebits.com/app/2157
+To build Mesa-powered BeOS libGL.so version, open an Terminal window,
+move to Mesa root folder and type this command:
-Compiling
+$ make beos
-Simply cd to the Mesa-3.x directory and type "make beos-r4".
-When it finishes the libMesaGL.so and libMesaGLU.so libraries for
-BeOS will be in the Mesa-3.x/lib/ directory.
+Note that the "beos" argument is only needed the first time to setup build config.
+Next times, typing "make" will be enough.
+When it finishes the Mesa based libGL.so library for
+BeOS will be in the lib/ directory, along libglut.so library.
+Several demo/test programs should have been build too under progs/* folders.
+If it stop when building one of the progs/* programs, you may want to ignore it
+and force make to move on next target by adding the -k make option:
+$ cd progs
+$ make -k
-Example Programs
+To install it as Be's default libGL.so replacement, put it in your
+/boot/home/config/lib/ directory. All your GL/GLUT apps will use
+the Mesa based then.
-Look in the Mesa-3.x/BeOS/ directory for one or two BGLView demo
-programs. They should have been compiled along with the Mesa
-library.
+By default, it build a non-debug version library.
+The x86 (MMX, SSE and 3DNOW) optimizations are also supported for x86 target.
+For PowerPC BeOS flavor, sorry, Mesa don't have ppc (Altivec) optimizations
+yet.
+To build a DEBUG version, type instead this :
+$ DEBUG=1 make
-GLUT
-It seems that you have to recompile GLUT with libMesaGL.so instead
-of libGL.so in order for everything to work. I'm not sure why.
+* Example Programs
-In any case, you'll have to download and compile GLUT for BeOS and
-put libglut.so in the Mesa-3.x/lib/ directory before you can compile
-the demos/, samples/ and book/ programs.
+Look under progs/beos/ for some BGLView-based programs.
+You should find under progs/samples and progs/redbook directories GLUT-based programs too.
+They all should have been compiled along with the Mesa library.
-GLUT for BeOS can be found at
-http://home.beoscentral.com/jehamby/Glut-3.5-x86.zip
-This is a special version of GLUT adapted for the BeOS. I don't
+* GLUT
+
+A beta version of GLUT 3.7 port for BeOS, made by Jake Hamby, can be found at
+http://anobject.com/jehamby/Code/Glut-3.7-x86.zip.
+This is the version currently included in Mesa source code, and
+build in lib/libglut.so.
+
+A previous 3.5 version of this GLUT BeOS port used to be available at
+http://home.beoscentral.com/jehamby/Glut-3.5-x86.zip.
+
+They're special versions of GLUT for the BeOS platform. I don't
believe Mark Kilgard's normal GLUT distribution includes BeOS
support.
-
-Special Features
+* Special Features
Mesa's implementation of the BGLView class has an extra member
function: CopySubBufferMESA(). It basically works like SwapBuffers()
cause a fatal error when running with Be's OpenGL.
+* Work Left To Do
-Old BeOS Driver
+- BDirectWindow single buffering support is not implemented yet.
+- Color index mode is not implemented yet.
+- Reading pixels from the front buffer not implemented yet.
+- There is also a BGLScreen class in BeOS for full-screen OpenGL rendering.
+ This should also be implemented for Mesa.
+- Multiple renderers add-ons support, first step toward hardware acceleration
+ support.
+
+* Other contributors to this BeOS port
+
+Jake Hamby jhamby <at> anobject <dot> com
+Marcin Konicki ahwayakchih <at> neoni <dot> net
+Francois Revol revol <at> free <dot> fr
+
+
+* Older BeOS Driver
Mesa 2.6 had an earlier BeOS driver. It was based on Mesa's Off-screen
rendering interface, not BGLView. If you're interested in the older
driver you should get Mesa 2.6.
-
-BeOS and Glide
+* BeOS and Glide
Mesa 3.0 supported the 3Dfx/Glide library on Beos. Download Mesa 3.0
if interested. Ideally, the 3Dfx/Glide support should be updated to
work with the new Mesa 3.1 BGLView implementation.
+The Glide library hasn't been updated for BeOS R4 and newer, to my knowledge,
+as of February, 1999.
+
----------------------------------------------------------------------
-$Id: README.BEOS,v 1.4 1999/02/11 03:52:24 brianp Exp $
+$Id: README.BEOS,v 1.11 2004/08/24 08:31:57 phoudoin Exp $