blob: 8c9434db49dff7b1936d735b2cb6d74f677845df [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 Paul4d691892004-08-14 15:23:51 +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,
10derived from BView, allows OpenGL rendering into any BeOS window. His
11driver was updated in Mesa 4.1 and again in version 6.1 by Philippe
12Houdoin, who'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 Paul473e51f2002-09-19 16:19:43 +000029* Compiling
Brian Paulee6ba021999-01-30 03:59:03 +000030
Brian Paul473e51f2002-09-19 16:19:43 +000031Requirements:
32 - gcc version 2.95.3 for BeOS
33 You can find it here: http://www.bebits.com/app/2157
34
Philippe Houdoinb44cf6d2004-08-14 10:06:21 +000035To build Mesa-powered BeOS libGL.so version, type this at root folder:
36
37$ make beos
38
Brian Paul473e51f2002-09-19 16:19:43 +000039When it finishes the Mesa based libGL.so library for
Philippe Houdoinb44cf6d2004-08-14 10:06:21 +000040BeOS will be in the lib/ directory.
Brian Paul473e51f2002-09-19 16:19:43 +000041
42To install it as Be's default libGL.so replacement, put it in your
Brian Paul50f20ec2003-12-13 01:26:14 +000043/boot/home/config/lib/ directory. All your GL/GLUT apps will use
Brian Paul473e51f2002-09-19 16:19:43 +000044the Mesa based then.
45
46By default, it build a non-debug version library.
47The x86 (MMX, SSE and 3DNOW) optimizations are also supported for x86 target.
Brian Paul4d691892004-08-14 15:23:51 +000048For PowerPC BeOS flavor, sorry, Mesa don't have ppc (Altivec) optimizations
49yet.
Brian Paulee6ba021999-01-30 03:59:03 +000050
Philippe Houdoinb44cf6d2004-08-14 10:06:21 +000051To build a DEBUG version, type instead this :
52
53$ DEBUG=1 make beos
54
Brian Paulee6ba021999-01-30 03:59:03 +000055
Brian Paul473e51f2002-09-19 16:19:43 +000056* Example Programs
Brian Paulee6ba021999-01-30 03:59:03 +000057
Brian Paul50f20ec2003-12-13 01:26:14 +000058Look in the progs/beos/ directory for one or two BGLView demo
Brian Paula822d1d1999-02-06 06:32:20 +000059programs. They should have been compiled along with the Mesa
60library.
Brian Paulee6ba021999-01-30 03:59:03 +000061
62
Brian Paul473e51f2002-09-19 16:19:43 +000063* GLUT
Brian Paulee6ba021999-01-30 03:59:03 +000064
Brian Paul473e51f2002-09-19 16:19:43 +000065A beta version of GLUT 3.7 port for BeOS can be found at
66http://anobject.com/jehamby/Code/Glut-3.7-x86.zip.
67
Philippe Houdoinb44cf6d2004-08-14 10:06:21 +000068There's is a 3.5 version in src/glut/beos/, too.
Brian Paul808a0131999-03-03 02:34:04 +000069The original distribution can be obtained from
Brian Paul7c2ce351999-02-11 03:52:24 +000070http://home.beoscentral.com/jehamby/Glut-3.5-x86.zip
Brian Paulee6ba021999-01-30 03:59:03 +000071
Brian Paul473e51f2002-09-19 16:19:43 +000072They are special version of GLUT adapted for the BeOS. I don't
Brian Paula822d1d1999-02-06 06:32:20 +000073believe Mark Kilgard's normal GLUT distribution includes BeOS
74support.
Brian Paulee6ba021999-01-30 03:59:03 +000075
Brian Paul808a0131999-03-03 02:34:04 +000076
Brian Paul473e51f2002-09-19 16:19:43 +000077* Special Features
Brian Paul7c2ce351999-02-11 03:52:24 +000078
79Mesa's implementation of the BGLView class has an extra member
80function: CopySubBufferMESA(). It basically works like SwapBuffers()
81but it only copies a sub region from the back buffer to the front
82buffer. This is a useful optimization for some applications.
83If you use this method in your code be sure that you check at runtime
84that you're actually using Mesa (with glGetString) so you don't
85cause a fatal error when running with Be's OpenGL.
86
87
Brian Paul473e51f2002-09-19 16:19:43 +000088* Work Left To Do
89
Philippe Houdoinb44cf6d2004-08-14 10:06:21 +000090- Switch to SGI GLU implementation..
91- Add to build the BeOS GLUT port. Update it to latest known (3.7 ?)
92- BDirectWindow single buffering support is not implemented yet.
93- Color index mode is not implemented yet.
94- Reading pixels from the front buffer not implemented yet.
Brian Paul4d691892004-08-14 15:23:51 +000095- There is also a BGLScreen class in BeOS for full-screen OpenGL rendering.
96 This should also be implemented for Mesa.
97- Multiple renderers add-ons support, first step toward hardware acceleration
98 support.
Brian Paul808a0131999-03-03 02:34:04 +000099
Philippe Houdoinb44cf6d2004-08-14 10:06:21 +0000100* Other contributors to this BeOS port
Brian Paul808a0131999-03-03 02:34:04 +0000101
Philippe Houdoinb44cf6d2004-08-14 10:06:21 +0000102Marcin Konicki ahwayakchih <at> neoni <dot> net
103Francois Revol revol <at> free <dot> fr
Brian Paul808a0131999-03-03 02:34:04 +0000104
105
Philippe Houdoinb44cf6d2004-08-14 10:06:21 +0000106* Older BeOS Driver
Brian Paulee6ba021999-01-30 03:59:03 +0000107
Brian Paula822d1d1999-02-06 06:32:20 +0000108Mesa 2.6 had an earlier BeOS driver. It was based on Mesa's Off-screen
109rendering interface, not BGLView. If you're interested in the older
110driver you should get Mesa 2.6.
111
112
Brian Paul473e51f2002-09-19 16:19:43 +0000113* BeOS and Glide
Brian Paula822d1d1999-02-06 06:32:20 +0000114
115Mesa 3.0 supported the 3Dfx/Glide library on Beos. Download Mesa 3.0
116if interested. Ideally, the 3Dfx/Glide support should be updated to
117work with the new Mesa 3.1 BGLView implementation.
118
Brian Paul4d691892004-08-14 15:23:51 +0000119The Glide library hasn't been updated for BeOS R4 and newer, to my knowledge,
120as of February, 1999.
Brian Paul808a0131999-03-03 02:34:04 +0000121
Brian Paula822d1d1999-02-06 06:32:20 +0000122
123----------------------------------------------------------------------
Brian Paul4d691892004-08-14 15:23:51 +0000124$Id: README.BEOS,v 1.10 2004/08/14 15:23:51 brianp Exp $