X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=docs%2FREADME.BEOS;h=efd84e888cba808d75fc9392ddc93c0e14334052;hb=fd7de146f6c5989ab3a8459d600ca3386571b31f;hp=46b9691bc5df354a218e85d91d44477d57e42924;hpb=808a0138c099dd705255de233b80eea775121cd2;p=mesa.git diff --git a/docs/README.BEOS b/docs/README.BEOS index 46b9691bc5d..efd84e888cb 100644 --- a/docs/README.BEOS +++ b/docs/README.BEOS @@ -3,61 +3,91 @@ -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. No optimizations have been made at this time. +* Compiling -Compiling +Since Mesa 6.x, it can be build under BeOS with both the R5 builtin gcc version +or more recent gcc versions available for BeOS, like this gcc version 2.95.3 for BeOS +you can find at http://www.bebits.com/app/2157. +Anyway, keep in mind that to take full advantage of Mesa x86 optimizations, you better +want to use gcc 2.95.3 or sooner versions... -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. +To build Mesa-powered BeOS libGL.so version, open an Terminal window, +move to Mesa root folder and type this command: +$ make beos +Note that the "beos" argument is only needed the first time to setup build config. +Next times, typing "make" will be enough. -Example Programs +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: -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. +$ cd progs +$ make -k +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. +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. -GLUT +To build a DEBUG version, type instead this : -A version of GLUT 2.5 for BeOS can be found in src-glut.beos/. -The original distribution can be obtained from -http://home.beoscentral.com/jehamby/Glut-3.5-x86.zip +$ DEBUG=1 make + + +* Example 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. -This is a special version of GLUT adapted for the BeOS. I don't -believe Mark Kilgard's normal GLUT distribution includes BeOS -support. -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. +* 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() @@ -68,35 +98,39 @@ that you're actually using Mesa (with glGetString) so you don't cause a fatal error when running with Be's OpenGL. +* Work Left To Do -Work Left To Do +- 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. -Color index mode is not implemented yet. +* Other contributors to this BeOS port -Reading pixels from the front buffer not implemented yet. +Jake Hamby jhamby anobject com +Marcin Konicki ahwayakchih neoni net +Francois Revol revol free fr +Nathan Whitehorn nathanw uchicago edu -There is also a BGLScreen class in BeOS for full-screen OpenGL -rendering. This should also be implemented for Mesa. - - -Old BeOS Driver +* 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, to my knowledge, as -of February, 1999. +The Glide library hasn't been updated for BeOS R4 and newer, to my knowledge, +as of February, 1999. ---------------------------------------------------------------------- -$Id: README.BEOS,v 1.5 1999/03/03 02:34:04 brianp Exp $