blob: c08d6d864fdad37fbce00171eb8e198054be7804 [file] [log] [blame]
Brian Paul324af0b1999-01-30 04:00:31 +00001
Brian Paula822d1d1999-02-06 06:32:20 +00002 Mesa / BeOS Information
Brian Paul324af0b1999-01-30 04:00:31 +00003
4
5
Brian Paul473e51f2002-09-19 16:19:43 +00006* Introduction
Brian Paulee6ba021999-01-30 03:59:03 +00007
Brian Paul50f20ec2003-12-13 01:26:14 +00008Brian Paul added in Mesa 3.1 a driver for BeOS R4.5 operating system.
9This driver implements a clone of the BGLView class. This class, derived from BView, allows
10OpenGL rendering into any BeOS window.
11His driver was updated in Mesa 4.1 by Philippe Houdoin,
12who's maintaining this driver since.
Brian Paulee6ba021999-01-30 03:59:03 +000013
Brian Paula822d1d1999-02-06 06:32:20 +000014Any application which uses the BGLView should be able to use Mesa
15instead of Be's OpenGL without changing any code.
Brian Paulee6ba021999-01-30 03:59:03 +000016
Brian Paul473e51f2002-09-19 16:19:43 +000017Since Be's OpenGL implementation (as of R5) is basically just the
Brian Paula822d1d1999-02-06 06:32:20 +000018SGI sample implementation, it's pretty slow. You'll see that Mesa
19is considerably faster.
Brian Paulee6ba021999-01-30 03:59:03 +000020
21
Brian Paul473e51f2002-09-19 16:19:43 +000022* Source Code
Brian Paulee6ba021999-01-30 03:59:03 +000023
Brian Paul50f20ec2003-12-13 01:26:14 +000024The source code for the driver is in src/mesa/drivers/beos/ directory.
Brian Paula822d1d1999-02-06 06:32:20 +000025It's not 100% finished at this time but many GLUT-based demos are
Brian Paul808a0131999-03-03 02:34:04 +000026working. No optimizations have been made at this time.
Brian Paulee6ba021999-01-30 03:59:03 +000027
28
Brian Paulee6ba021999-01-30 03:59:03 +000029
Brian Paul473e51f2002-09-19 16:19:43 +000030* Compiling
Brian Paulee6ba021999-01-30 03:59:03 +000031
Brian Paul473e51f2002-09-19 16:19:43 +000032Requirements:
33 - gcc version 2.95.3 for BeOS
34 You can find it here: http://www.bebits.com/app/2157
35
Brian Paul50f20ec2003-12-13 01:26:14 +000036Move to the src/mesa sub-directory and then type "make -f Makefile.BeOS".
Brian Paul473e51f2002-09-19 16:19:43 +000037When it finishes the Mesa based libGL.so library for
Brian Paul50f20ec2003-12-13 01:26:14 +000038BeOS will be in the src/mesa/src/obj.{x86|ppc}/ directory.
Brian Paul473e51f2002-09-19 16:19:43 +000039
40To install it as Be's default libGL.so replacement, put it in your
Brian Paul50f20ec2003-12-13 01:26:14 +000041/boot/home/config/lib/ directory. All your GL/GLUT apps will use
Brian Paul473e51f2002-09-19 16:19:43 +000042the Mesa based then.
43
44By default, it build a non-debug version library.
45The x86 (MMX, SSE and 3DNOW) optimizations are also supported for x86 target.
Brian Paul50f20ec2003-12-13 01:26:14 +000046For PowerPC BeOS flavor, sorry, Mesa don't have ppc (Altivec) optimizations yet.
Brian Paulee6ba021999-01-30 03:59:03 +000047
48
Brian Paul473e51f2002-09-19 16:19:43 +000049* Example Programs
Brian Paulee6ba021999-01-30 03:59:03 +000050
Brian Paul50f20ec2003-12-13 01:26:14 +000051Look in the progs/beos/ directory for one or two BGLView demo
Brian Paula822d1d1999-02-06 06:32:20 +000052programs. They should have been compiled along with the Mesa
53library.
Brian Paulee6ba021999-01-30 03:59:03 +000054
55
Brian Paul473e51f2002-09-19 16:19:43 +000056* GLUT
Brian Paulee6ba021999-01-30 03:59:03 +000057
Brian Paul473e51f2002-09-19 16:19:43 +000058A beta version of GLUT 3.7 port for BeOS can be found at
59http://anobject.com/jehamby/Code/Glut-3.7-x86.zip.
60
61There's is a 2.5 version in src-glut.beos/, too.
Brian Paul808a0131999-03-03 02:34:04 +000062The original distribution can be obtained from
Brian Paul7c2ce351999-02-11 03:52:24 +000063http://home.beoscentral.com/jehamby/Glut-3.5-x86.zip
Brian Paulee6ba021999-01-30 03:59:03 +000064
Brian Paul473e51f2002-09-19 16:19:43 +000065They are special version of GLUT adapted for the BeOS. I don't
Brian Paula822d1d1999-02-06 06:32:20 +000066believe Mark Kilgard's normal GLUT distribution includes BeOS
67support.
Brian Paulee6ba021999-01-30 03:59:03 +000068
Brian Paul808a0131999-03-03 02:34:04 +000069
Brian Paul473e51f2002-09-19 16:19:43 +000070* Special Features
Brian Paul7c2ce351999-02-11 03:52:24 +000071
72Mesa's implementation of the BGLView class has an extra member
73function: CopySubBufferMESA(). It basically works like SwapBuffers()
74but it only copies a sub region from the back buffer to the front
75buffer. This is a useful optimization for some applications.
76If you use this method in your code be sure that you check at runtime
77that you're actually using Mesa (with glGetString) so you don't
78cause a fatal error when running with Be's OpenGL.
79
80
81
Brian Paul473e51f2002-09-19 16:19:43 +000082* Work Left To Do
83
84BDirectWindow single buffering support is not implemented yet.
Brian Paul808a0131999-03-03 02:34:04 +000085
86Color index mode is not implemented yet.
87
88Reading pixels from the front buffer not implemented yet.
89
90There is also a BGLScreen class in BeOS for full-screen OpenGL
91rendering. This should also be implemented for Mesa.
92
93
94
Brian Paul473e51f2002-09-19 16:19:43 +000095* Old BeOS Driver
Brian Paulee6ba021999-01-30 03:59:03 +000096
Brian Paula822d1d1999-02-06 06:32:20 +000097Mesa 2.6 had an earlier BeOS driver. It was based on Mesa's Off-screen
98rendering interface, not BGLView. If you're interested in the older
99driver you should get Mesa 2.6.
100
101
102
Brian Paul473e51f2002-09-19 16:19:43 +0000103* BeOS and Glide
Brian Paula822d1d1999-02-06 06:32:20 +0000104
105Mesa 3.0 supported the 3Dfx/Glide library on Beos. Download Mesa 3.0
106if interested. Ideally, the 3Dfx/Glide support should be updated to
107work with the new Mesa 3.1 BGLView implementation.
108
Brian Paul50f20ec2003-12-13 01:26:14 +0000109The Glide library hasn't been updated for BeOS R4 and newer, to my knowledge, as
Brian Paul808a0131999-03-03 02:34:04 +0000110of February, 1999.
111
Brian Paula822d1d1999-02-06 06:32:20 +0000112
113----------------------------------------------------------------------
Brian Paul50f20ec2003-12-13 01:26:14 +0000114$Id: README.BEOS,v 1.8 2003/12/13 01:26:14 brianp Exp $