blob: 46b9691bc5df354a218e85d91d44477d57e42924 [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 Paula822d1d1999-02-06 06:32:20 +00006Introduction
Brian Paulee6ba021999-01-30 03:59:03 +00007
Brian Paula822d1d1999-02-06 06:32:20 +00008Mesa 3.1 features a new driver for the BeOS. The new driver implements
9a clone of the BGLView class. This class, derived from BView, allows
10OpenGL rendering into a BeOS window.
Brian Paulee6ba021999-01-30 03:59:03 +000011
Brian Paula822d1d1999-02-06 06:32:20 +000012Any application which uses the BGLView should be able to use Mesa
13instead of Be's OpenGL without changing any code.
Brian Paulee6ba021999-01-30 03:59:03 +000014
Brian Paula822d1d1999-02-06 06:32:20 +000015Since Be's OpenGL implementation (as of R4) is basically just the
16SGI sample implementation, it's pretty slow. You'll see that Mesa
17is considerably faster.
Brian Paulee6ba021999-01-30 03:59:03 +000018
19
Brian Paulee6ba021999-01-30 03:59:03 +000020
Brian Paula822d1d1999-02-06 06:32:20 +000021Source Code
Brian Paulee6ba021999-01-30 03:59:03 +000022
Brian Paula822d1d1999-02-06 06:32:20 +000023The source code for the driver is in Mesa-3.1/src/BeOS/GLView.cpp
24It's not 100% finished at this time but many GLUT-based demos are
Brian Paul808a0131999-03-03 02:34:04 +000025working. No optimizations have been made at this time.
Brian Paulee6ba021999-01-30 03:59:03 +000026
27
Brian Paulee6ba021999-01-30 03:59:03 +000028
Brian Paula822d1d1999-02-06 06:32:20 +000029Compiling
Brian Paulee6ba021999-01-30 03:59:03 +000030
Brian Paula822d1d1999-02-06 06:32:20 +000031Simply cd to the Mesa-3.x directory and type "make beos-r4".
32When it finishes the libMesaGL.so and libMesaGLU.so libraries for
33BeOS will be in the Mesa-3.x/lib/ directory.
Brian Paulee6ba021999-01-30 03:59:03 +000034
35
Brian Paulee6ba021999-01-30 03:59:03 +000036
Brian Paula822d1d1999-02-06 06:32:20 +000037Example Programs
Brian Paulee6ba021999-01-30 03:59:03 +000038
Brian Paula822d1d1999-02-06 06:32:20 +000039Look in the Mesa-3.x/BeOS/ directory for one or two BGLView demo
40programs. They should have been compiled along with the Mesa
41library.
Brian Paulee6ba021999-01-30 03:59:03 +000042
43
Brian Paulee6ba021999-01-30 03:59:03 +000044
Brian Paula822d1d1999-02-06 06:32:20 +000045GLUT
Brian Paulee6ba021999-01-30 03:59:03 +000046
Brian Paul808a0131999-03-03 02:34:04 +000047A version of GLUT 2.5 for BeOS can be found in src-glut.beos/.
48The original distribution can be obtained from
Brian Paul7c2ce351999-02-11 03:52:24 +000049http://home.beoscentral.com/jehamby/Glut-3.5-x86.zip
Brian Paulee6ba021999-01-30 03:59:03 +000050
Brian Paula822d1d1999-02-06 06:32:20 +000051This is a special version of GLUT adapted for the BeOS. I don't
52believe Mark Kilgard's normal GLUT distribution includes BeOS
53support.
Brian Paulee6ba021999-01-30 03:59:03 +000054
Brian Paul808a0131999-03-03 02:34:04 +000055It seems that you have to recompile GLUT with libMesaGL.so instead
56of libGL.so in order for everything to work. I'm not sure why.
57
Brian Paulee6ba021999-01-30 03:59:03 +000058
Brian Paulee6ba021999-01-30 03:59:03 +000059
Brian Paul7c2ce351999-02-11 03:52:24 +000060Special Features
61
62Mesa's implementation of the BGLView class has an extra member
63function: CopySubBufferMESA(). It basically works like SwapBuffers()
64but it only copies a sub region from the back buffer to the front
65buffer. This is a useful optimization for some applications.
66If you use this method in your code be sure that you check at runtime
67that you're actually using Mesa (with glGetString) so you don't
68cause a fatal error when running with Be's OpenGL.
69
70
71
Brian Paul808a0131999-03-03 02:34:04 +000072Work Left To Do
73
74Color index mode is not implemented yet.
75
76Reading pixels from the front buffer not implemented yet.
77
78There is also a BGLScreen class in BeOS for full-screen OpenGL
79rendering. This should also be implemented for Mesa.
80
81
82
Brian Paula822d1d1999-02-06 06:32:20 +000083Old BeOS Driver
Brian Paulee6ba021999-01-30 03:59:03 +000084
Brian Paula822d1d1999-02-06 06:32:20 +000085Mesa 2.6 had an earlier BeOS driver. It was based on Mesa's Off-screen
86rendering interface, not BGLView. If you're interested in the older
87driver you should get Mesa 2.6.
88
89
90
91BeOS and Glide
92
93Mesa 3.0 supported the 3Dfx/Glide library on Beos. Download Mesa 3.0
94if interested. Ideally, the 3Dfx/Glide support should be updated to
95work with the new Mesa 3.1 BGLView implementation.
96
Brian Paul808a0131999-03-03 02:34:04 +000097The Glide library hasn't been updated for BeOS R4, to my knowledge, as
98of February, 1999.
99
Brian Paula822d1d1999-02-06 06:32:20 +0000100
101----------------------------------------------------------------------
Brian Paul808a0131999-03-03 02:34:04 +0000102$Id: README.BEOS,v 1.5 1999/03/03 02:34:04 brianp Exp $