set release date
[mesa.git] / docs / README.BEOS
1
2 Mesa / BeOS Information
3
4
5
6 * Introduction
7
8 Mesa 4.1 features a driver for the BeOS. The driver implements
9 a clone of the BGLView class. This class, derived from BView, allows
10 OpenGL rendering into a BeOS window.
11 The 4.1 BeOS driver is an update of Brian Paul's BeOS driver released in Mesa 3.1.
12
13 Any application which uses the BGLView should be able to use Mesa
14 instead of Be's OpenGL without changing any code.
15
16 Since Be's OpenGL implementation (as of R5) is basically just the
17 SGI sample implementation, it's pretty slow. You'll see that Mesa
18 is considerably faster.
19
20
21
22 * Source Code
23
24 The source code for the driver is in Mesa-4.1/src/BeOS/ directory.
25 It's not 100% finished at this time but many GLUT-based demos are
26 working. No optimizations have been made at this time.
27
28
29
30 * Compiling
31
32 Requirements:
33 - gcc version 2.95.3 for BeOS
34 You can find it here: http://www.bebits.com/app/2157
35
36 Move to the Mesa-4.x src sub-directory and then type "make -f Makefile.BeOS-R5".
37 When it finishes the Mesa based libGL.so library for
38 BeOS will be in the Mesa-4.x/src/obj.{x86|ppc}/ directory.
39
40 To install it as Be's default libGL.so replacement, put it in your
41 /boot/home/config/lib/ directory. All your GL/GLUTapps will use
42 the Mesa based then.
43
44 By default, it build a non-debug version library.
45 The x86 (MMX, SSE and 3DNOW) optimizations are also supported for x86 target.
46 Sorry, Mesa don't have ppc (Altivec) optimizations yet.
47
48
49 * Example Programs
50
51 Look in the Mesa-4.x/BeOS/ directory for one or two BGLView demo
52 programs. They should have been compiled along with the Mesa
53 library.
54
55
56 * GLUT
57
58 A beta version of GLUT 3.7 port for BeOS can be found at
59 http://anobject.com/jehamby/Code/Glut-3.7-x86.zip.
60
61 There's is a 2.5 version in src-glut.beos/, too.
62 The original distribution can be obtained from
63 http://home.beoscentral.com/jehamby/Glut-3.5-x86.zip
64
65 They are special version of GLUT adapted for the BeOS. I don't
66 believe Mark Kilgard's normal GLUT distribution includes BeOS
67 support.
68
69
70 * Special Features
71
72 Mesa's implementation of the BGLView class has an extra member
73 function: CopySubBufferMESA(). It basically works like SwapBuffers()
74 but it only copies a sub region from the back buffer to the front
75 buffer. This is a useful optimization for some applications.
76 If you use this method in your code be sure that you check at runtime
77 that you're actually using Mesa (with glGetString) so you don't
78 cause a fatal error when running with Be's OpenGL.
79
80
81
82 * Work Left To Do
83
84 BDirectWindow single buffering support is not implemented yet.
85
86 Color index mode is not implemented yet.
87
88 Reading pixels from the front buffer not implemented yet.
89
90 There is also a BGLScreen class in BeOS for full-screen OpenGL
91 rendering. This should also be implemented for Mesa.
92
93
94
95 * Old BeOS Driver
96
97 Mesa 2.6 had an earlier BeOS driver. It was based on Mesa's Off-screen
98 rendering interface, not BGLView. If you're interested in the older
99 driver you should get Mesa 2.6.
100
101
102
103 * BeOS and Glide
104
105 Mesa 3.0 supported the 3Dfx/Glide library on Beos. Download Mesa 3.0
106 if interested. Ideally, the 3Dfx/Glide support should be updated to
107 work with the new Mesa 3.1 BGLView implementation.
108
109 The Glide library hasn't been updated for BeOS R4, to my knowledge, as
110 of February, 1999.
111
112
113 ----------------------------------------------------------------------
114 $Id: README.BEOS,v 1.7 2002/09/19 16:19:44 brianp Exp $