8c9434db49dff7b1936d735b2cb6d74f677845df
[mesa.git] / docs / README.BEOS
1
2 Mesa / BeOS Information
3
4
5
6 * Introduction
7
8 Brian Paul added in Mesa 3.1 a driver for BeOS R4.5 operating system.
9 This driver implements a clone of the BGLView class. This class,
10 derived from BView, allows OpenGL rendering into any BeOS window. His
11 driver was updated in Mesa 4.1 and again in version 6.1 by Philippe
12 Houdoin, who's maintaining this driver since.
13
14 Any application which uses the BGLView should be able to use Mesa
15 instead of Be's OpenGL without changing any code.
16
17 Since Be's OpenGL implementation (as of R5) is basically just the
18 SGI sample implementation, it's pretty slow. You'll see that Mesa
19 is considerably faster.
20
21
22 * Source Code
23
24 The source code for the driver is in src/mesa/drivers/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 * Compiling
30
31 Requirements:
32 - gcc version 2.95.3 for BeOS
33 You can find it here: http://www.bebits.com/app/2157
34
35 To build Mesa-powered BeOS libGL.so version, type this at root folder:
36
37 $ make beos
38
39 When it finishes the Mesa based libGL.so library for
40 BeOS will be in the lib/ directory.
41
42 To install it as Be's default libGL.so replacement, put it in your
43 /boot/home/config/lib/ directory. All your GL/GLUT apps will use
44 the Mesa based then.
45
46 By default, it build a non-debug version library.
47 The x86 (MMX, SSE and 3DNOW) optimizations are also supported for x86 target.
48 For PowerPC BeOS flavor, sorry, Mesa don't have ppc (Altivec) optimizations
49 yet.
50
51 To build a DEBUG version, type instead this :
52
53 $ DEBUG=1 make beos
54
55
56 * Example Programs
57
58 Look in the progs/beos/ directory for one or two BGLView demo
59 programs. They should have been compiled along with the Mesa
60 library.
61
62
63 * GLUT
64
65 A beta version of GLUT 3.7 port for BeOS can be found at
66 http://anobject.com/jehamby/Code/Glut-3.7-x86.zip.
67
68 There's is a 3.5 version in src/glut/beos/, too.
69 The original distribution can be obtained from
70 http://home.beoscentral.com/jehamby/Glut-3.5-x86.zip
71
72 They are special version of GLUT adapted for the BeOS. I don't
73 believe Mark Kilgard's normal GLUT distribution includes BeOS
74 support.
75
76
77 * Special Features
78
79 Mesa's implementation of the BGLView class has an extra member
80 function: CopySubBufferMESA(). It basically works like SwapBuffers()
81 but it only copies a sub region from the back buffer to the front
82 buffer. This is a useful optimization for some applications.
83 If you use this method in your code be sure that you check at runtime
84 that you're actually using Mesa (with glGetString) so you don't
85 cause a fatal error when running with Be's OpenGL.
86
87
88 * Work Left To Do
89
90 - 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.
95 - 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.
99
100 * Other contributors to this BeOS port
101
102 Marcin Konicki ahwayakchih <at> neoni <dot> net
103 Francois Revol revol <at> free <dot> fr
104
105
106 * Older BeOS Driver
107
108 Mesa 2.6 had an earlier BeOS driver. It was based on Mesa's Off-screen
109 rendering interface, not BGLView. If you're interested in the older
110 driver you should get Mesa 2.6.
111
112
113 * BeOS and Glide
114
115 Mesa 3.0 supported the 3Dfx/Glide library on Beos. Download Mesa 3.0
116 if interested. Ideally, the 3Dfx/Glide support should be updated to
117 work with the new Mesa 3.1 BGLView implementation.
118
119 The Glide library hasn't been updated for BeOS R4 and newer, to my knowledge,
120 as of February, 1999.
121
122
123 ----------------------------------------------------------------------
124 $Id: README.BEOS,v 1.10 2004/08/14 15:23:51 brianp Exp $