| |
| Mesa / BeOS Information |
| |
| |
| |
| 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. |
| |
| 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 |
| SGI sample implementation, it's pretty slow. You'll see that Mesa |
| is considerably faster. |
| |
| |
| |
| Source Code |
| |
| The source code for the driver is in Mesa-3.1/src/BeOS/GLView.cpp |
| It's not 100% finished at this time but many GLUT-based demos are |
| working. No optimizations have been made at this time. |
| |
| |
| |
| Compiling |
| |
| In the Mesa-3.x directory type "make -f Makefile.X11 beos-r4". |
| When it finishes the libMesaGL.so and libMesaGLU.so libraries for |
| BeOS will be in the Mesa-3.x/lib/ directory. |
| |
| |
| |
| Example Programs |
| |
| 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. |
| |
| |
| |
| GLUT |
| |
| 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 |
| |
| 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. |
| |
| |
| |
| Special Features |
| |
| Mesa's implementation of the BGLView class has an extra member |
| function: CopySubBufferMESA(). It basically works like SwapBuffers() |
| but it only copies a sub region from the back buffer to the front |
| buffer. This is a useful optimization for some applications. |
| If you use this method in your code be sure that you check at runtime |
| 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 |
| |
| 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. |
| |
| |
| |
| Old 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 |
| |
| 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. |
| |
| |
| ---------------------------------------------------------------------- |
| $Id: README.BEOS,v 1.6 1999/11/27 01:40:40 brianp Exp $ |