blob: 8b3a0f5998b6516721c0dc7c7435a210d562f82e [file] [log] [blame]
Brian Paulb43a8282002-03-08 19:27:17 +00001 Mesa 4.0.1 DOS/DJGPP Port version 0.3
Brian Pauldb41d2e2002-02-12 03:24:56 +00002 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3
4
5
Brian Paule0193a92002-02-23 17:11:27 +00006Description:
7~~~~~~~~~~~~
Brian Pauldb41d2e2002-02-12 03:24:56 +00008
Brian Paulb43a8282002-03-08 19:27:17 +00009Well, guess what... this is the DOS port of MESA 4.0, for DJGPP fans... Whoa!
Brian Pauldb41d2e2002-02-12 03:24:56 +000010
11
12
13Legal:
14~~~~~~
15
Brian Paule0193a92002-02-23 17:11:27 +000016MESA copyright applies.
Brian Pauldb41d2e2002-02-12 03:24:56 +000017
Brian Paule0193a92002-02-23 17:11:27 +000018
19
20Installation:
21~~~~~~~~~~~~~
22
23Type "make -f Makefile.DJ" to compile the libraries. Long filename support is
24required during compilation. The examples are not built automagically (see
25Pitfalls below).
26
27Tested on:
28 CPU: Intel Pentium w/ MMX @166 MHz
29 Mainboard: ViA Apollo VP2 w/ 128 MB SDRAM
30 Video card: Matrox Millenium 2064W w/ 2048 kB WRAM, BIOS v3.0
31 DJGPP: djdev 2.03
32 gcc v3.0.3
33 make v3.79
Brian Pauldb41d2e2002-02-12 03:24:56 +000034
35
36
37libGL (the core):
38~~~~~~~~~~~~~~~~~
39
Brian Paule0193a92002-02-23 17:11:27 +000040Of course, MESA 4.0 core sources are required. It will probably work with
Brian Pauldb41d2e2002-02-12 03:24:56 +000041MESA 3.5, but not a chance with earlier versions due to major changes to the
42MESA driver interface and the directory tree. All should compile succesfully.
43
44The driver has its origins in ddsample.c, written by Brian Paul and found by
45me in MESA 3.4.2. I touched almost all the functions, changing the coding
Brian Paule0193a92002-02-23 17:11:27 +000046style :-( Sorry!
Brian Pauldb41d2e2002-02-12 03:24:56 +000047
48Pitfalls:
491. The current version supports only RGB[A] modes, for it made no sense to me
50 to endorse color-index (aka palette) modes.
Brian Paulb43a8282002-03-08 19:27:17 +0000512. Single-buffered is not allowed at all. Until I can find a way to use *REAL*
52 hardware acceleration, it won't get implemented.
533. Another weird "feature" is that buffer width must be multiple of 4 (I'm a
Brian Paule0193a92002-02-23 17:11:27 +000054 lazy programmer and I found that the easiest way to keep buffer handling at
55 peak performance ;-).
Brian Pauldb41d2e2002-02-12 03:24:56 +000056
57
58
59libGLU:
60~~~~~~~
61
Brian Paule0193a92002-02-23 17:11:27 +000062Mesa GLU sources are required. No comment!
Brian Pauldb41d2e2002-02-12 03:24:56 +000063
64
65
66libGLUT (the toolkit):
67~~~~~~~~~~~~~~~~~~~~~~
68
69Well, this "skeletal" GLUT implementation is not mine. Thanks should go to
70Bernhard Tschirren, Mark Kilgard, Brian Paul and probably others (or probably
71not ;-). I only changed it to be self-standing (Allegro-free). The keyboard,
72mouse and timer drivers were inspired from an old project of mine (D3Xl) and
Brian Paule0193a92002-02-23 17:11:27 +000073fixed with some Allegro "infusions"; I deeply thank to Shawn Hargreaves et co.
Brian Pauldb41d2e2002-02-12 03:24:56 +000074
75My keyboard driver used only scancodes, but since GLUT requires ASCII values
76for keys, I borrowed the translation tables (and maybe more) from Allegro.
77Ctrl-Alt-Del (plus Ctrl-Alt-End, for Windows users) will shut down the GLUT
78engine unconditionally: it will raise SIGINT, which in turn will call the
79destructors (let's hope), thus cleaning up your/my mess ;-)
80
81The mouse driver is far from complete (lack of positioning, drawing, etc),
82but is enough to make almost all the demos work.
83
84The timer is pretty versatile for it supports multiple timers with different
85frequencies. It may not be the most accurate timer in the known universe, but
86I think it's OK. Take this example: you have timer A with a very high rate,
87and then you have timer B with very low rate compared to A; now, A ticks OK,
88but timer B will probably loose precision!
89
90As an addition, stdout and stderr are redirected and dumped upon exit. This
91means that printf can be safely called during graphics, but all messages come
92in bulk! A bit of a hack, I know, but I think it's better than to miss them
93at all.
94
95Window creating defaults: 640x480x16 at (0,0), 8-bit stencil, 16-bit accum.
Brian Paule0193a92002-02-23 17:11:27 +000096However, the video mode is chosen in such a way that first window will fit.
Brian Pauldb41d2e2002-02-12 03:24:56 +000097
98
99
100History:
101~~~~~~~~
102
103v0.1 feb-2002 initial release
Brian Paule0193a92002-02-23 17:11:27 +0000104v0.2 feb-2002 + fast triangle rasterizers
105 + enabled sw and 1.3 extensions
106 + hardware acceleration: FreeBE/AF
107 + single-buffer modes (15-, 16-, and 32-bit)
108 * video mode is set by CreateVisual, not MakeCurrent
109 * internal changes to support multi-buf (unfinished)
110 ! fixed some alpha issues... (thanks, Brian)
111 + glut has now an internal timer
112 * glut changed to support multi-window (unfinished)
113 ! minor PC_HW corrections
Brian Paulb43a8282002-03-08 19:27:17 +0000114v0.3 mar-2002 - removed FreeBE/AF code
115 - removed single-buffer modes
Brian Pauldb41d2e2002-02-12 03:24:56 +0000116
117
118
119Contact:
120~~~~~~~~
121
122Name: Borca Daniel
123E-mail: dborca@yahoo.com
124WWW: http://www.geocities.com/dborca/