1999-01-30 04:00:31 +00:00
|
|
|
|
1999-02-06 06:32:20 +00:00
|
|
|
Mesa / BeOS Information
|
|
|
|
|
|
|
|
|
|
|
|
|
2002-09-19 17:19:43 +01:00
|
|
|
* Introduction
|
1999-02-06 06:32:20 +00:00
|
|
|
|
2002-09-19 17:19:43 +01:00
|
|
|
Mesa 4.1 features a driver for the BeOS. The driver implements
|
1999-02-06 06:32:20 +00:00
|
|
|
a clone of the BGLView class. This class, derived from BView, allows
|
|
|
|
OpenGL rendering into a BeOS window.
|
2002-09-19 17:19:43 +01:00
|
|
|
The 4.1 BeOS driver is an update of Brian Paul's BeOS driver released in Mesa 3.1.
|
1999-02-06 06:32:20 +00:00
|
|
|
|
|
|
|
Any application which uses the BGLView should be able to use Mesa
|
|
|
|
instead of Be's OpenGL without changing any code.
|
|
|
|
|
2002-09-19 17:19:43 +01:00
|
|
|
Since Be's OpenGL implementation (as of R5) is basically just the
|
1999-02-06 06:32:20 +00:00
|
|
|
SGI sample implementation, it's pretty slow. You'll see that Mesa
|
|
|
|
is considerably faster.
|
|
|
|
|
|
|
|
|
|
|
|
|
2002-09-19 17:19:43 +01:00
|
|
|
* Source Code
|
1999-02-06 06:32:20 +00:00
|
|
|
|
2002-09-19 17:19:43 +01:00
|
|
|
The source code for the driver is in Mesa-4.1/src/BeOS/ directory.
|
1999-02-06 06:32:20 +00:00
|
|
|
It's not 100% finished at this time but many GLUT-based demos are
|
1999-03-03 02:34:04 +00:00
|
|
|
working. No optimizations have been made at this time.
|
1999-02-06 06:32:20 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
2002-09-19 17:19:43 +01:00
|
|
|
* Compiling
|
1999-02-06 06:32:20 +00:00
|
|
|
|
2002-09-19 17:19:43 +01:00
|
|
|
Requirements:
|
|
|
|
- gcc version 2.95.3 for BeOS
|
|
|
|
You can find it here: http://www.bebits.com/app/2157
|
1999-02-06 06:32:20 +00:00
|
|
|
|
2002-09-19 17:19:43 +01:00
|
|
|
Move to the Mesa-4.x src sub-directory and then type "make -f Makefile.BeOS-R5".
|
|
|
|
When it finishes the Mesa based libGL.so library for
|
|
|
|
BeOS will be in the Mesa-4.x/src/obj.{x86|ppc}/ directory.
|
1999-02-06 06:32:20 +00:00
|
|
|
|
2002-09-19 17:19:43 +01:00
|
|
|
To install it as Be's default libGL.so replacement, put it in your
|
|
|
|
/boot/home/config/lib/ directory. All your GL/GLUTapps will use
|
|
|
|
the Mesa based then.
|
1999-02-06 06:32:20 +00:00
|
|
|
|
2002-09-19 17:19:43 +01:00
|
|
|
By default, it build a non-debug version library.
|
|
|
|
The x86 (MMX, SSE and 3DNOW) optimizations are also supported for x86 target.
|
|
|
|
Sorry, Mesa don't have ppc (Altivec) optimizations yet.
|
1999-02-06 06:32:20 +00:00
|
|
|
|
2002-09-19 17:19:43 +01:00
|
|
|
|
|
|
|
* Example Programs
|
|
|
|
|
|
|
|
Look in the Mesa-4.x/BeOS/ directory for one or two BGLView demo
|
1999-02-06 06:32:20 +00:00
|
|
|
programs. They should have been compiled along with the Mesa
|
|
|
|
library.
|
|
|
|
|
|
|
|
|
2002-09-19 17:19:43 +01:00
|
|
|
* GLUT
|
1999-02-06 06:32:20 +00:00
|
|
|
|
2002-09-19 17:19:43 +01:00
|
|
|
A beta version of GLUT 3.7 port for BeOS can be found at
|
|
|
|
http://anobject.com/jehamby/Code/Glut-3.7-x86.zip.
|
|
|
|
|
|
|
|
There's is a 2.5 version in src-glut.beos/, too.
|
1999-03-03 02:34:04 +00:00
|
|
|
The original distribution can be obtained from
|
1999-02-11 03:52:24 +00:00
|
|
|
http://home.beoscentral.com/jehamby/Glut-3.5-x86.zip
|
1999-02-06 06:32:20 +00:00
|
|
|
|
2002-09-19 17:19:43 +01:00
|
|
|
They are special version of GLUT adapted for the BeOS. I don't
|
1999-02-06 06:32:20 +00:00
|
|
|
believe Mark Kilgard's normal GLUT distribution includes BeOS
|
|
|
|
support.
|
|
|
|
|
1999-03-03 02:34:04 +00:00
|
|
|
|
2002-09-19 17:19:43 +01:00
|
|
|
* Special Features
|
1999-02-11 03:52:24 +00:00
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
2002-09-19 17:19:43 +01:00
|
|
|
* Work Left To Do
|
|
|
|
|
|
|
|
BDirectWindow single buffering support is not implemented yet.
|
1999-03-03 02:34:04 +00:00
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
2002-09-19 17:19:43 +01:00
|
|
|
* Old BeOS Driver
|
1999-02-06 06:32:20 +00:00
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
2002-09-19 17:19:43 +01:00
|
|
|
* BeOS and Glide
|
1999-02-06 06:32:20 +00:00
|
|
|
|
|
|
|
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.
|
|
|
|
|
1999-03-03 02:34:04 +00:00
|
|
|
The Glide library hasn't been updated for BeOS R4, to my knowledge, as
|
|
|
|
of February, 1999.
|
|
|
|
|
1999-02-06 06:32:20 +00:00
|
|
|
|
|
|
|
----------------------------------------------------------------------
|
2002-09-19 17:19:43 +01:00
|
|
|
$Id: README.BEOS,v 1.7 2002/09/19 16:19:44 brianp Exp $
|