summaryrefslogtreecommitdiff
path: root/docs/README.BEOS
blob: 749390d43ac5c48268bd151413faab81563a0183 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92

                         Mesa / BeOS Information



Introduction

Mesa 3.1 features a new driver for the BeOS.  The new driver implements
a clone of the BGLView class.  This class, derived from BView, allows
OpenGL rendering into a BeOS window.

Any application which uses the BGLView should be able to use Mesa
instead of Be's OpenGL without changing any code.

Since Be's OpenGL implementation (as of R4) is basically just the
SGI sample implementation, it's pretty slow.  You'll see that Mesa
is considerably faster.



Source Code

The source code for the driver is in Mesa-3.1/src/BeOS/GLView.cpp
It's not 100% finished at this time but many GLUT-based demos are
working.  Specifically, color index mode isn't implemented at all.
No optimizations have been made at this time.  Any volunteers?



Compiling

Simply cd to the Mesa-3.x directory and type "make beos-r4".
When it finishes the libMesaGL.so and libMesaGLU.so libraries for
BeOS will be in the Mesa-3.x/lib/ directory.



Example Programs

Look in the Mesa-3.x/BeOS/ directory for one or two BGLView demo
programs.  They should have been compiled along with the Mesa
library.



GLUT

It seems that you have to recompile GLUT with libMesaGL.so instead
of libGL.so in order for everything to work.  I'm not sure why.

In any case, you'll have to download and compile GLUT for BeOS and
put libglut.so in the Mesa-3.x/lib/ directory before you can compile
the demos/, samples/ and book/ programs.

GLUT for BeOS can be found at
http://home.beoscentral.com/jehamby/Glut-3.5-x86.zip

This is a special version of GLUT adapted for the BeOS.  I don't
believe Mark Kilgard's normal GLUT distribution includes BeOS
support.



Special Features

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.



Old BeOS Driver

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.



BeOS and Glide

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.


----------------------------------------------------------------------
$Id: README.BEOS,v 1.4 1999/02/11 03:52:24 brianp Exp $