-
Notifications
You must be signed in to change notification settings - Fork 0
/
README
222 lines (158 loc) · 6.11 KB
/
README
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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
C A V E Q U A K E I I I A R E N A
---------------------------------------
by Paul Rajlich
paul@visbox.com
http://www.visbox.com/cq3a/
Based on the Aftershock engine by Steve Taylor.
Quake3 Arena is a trademark of Id Software.
Welcome to CQ3A 0.8.9a! CQ3A is a Quake3 renderer for the CAVE, the
world's best virtual reality platform! It can also be used with
various other VR devices or run on a regular desktop. All in all,
CQ3A compiles with 7 different interfaces on a variety of platforms!
The interfaces are CAVElib, vrJuggler, FreeVR, MPSDK, SDL, GLUT, and GLX.
More information here:
http://www.visbox.com/cq3a/
Read about the engine details in the README.steve file. This is the
original README by Steve Taylor. Some things that have changed since
that document was written are that big-endian, multi-texturing, and
compiled vertex arrays are now supported. From version 0.8.9, there
is also support for environment mapping.
Enjoy!
-Paul Rajlich
paul@visbox.com
QUICK START GUIDE
-----------------
Obtain the demo version of Q3A. Go here:
www.quake3arena.com
Copy the pak0.pk3 data file from the demoq3 directory into the
cq3a directory or make a soft link.
Edit the Makefile. Choose the interface you want and the platform
you are compiling for. You may need to change some of the paths
to reflect the location of libraries on your system.
Type "make".
If it compiles successfully, type "cq3a".
Wait a while. I recommend you store this on local disk. :-)
Enjoy!
The texture loading is slow. This is a problem that needs to be
addressed for a future release. For the time being, you can speed up
the loading time with about 50% by unzipping the pak0.pk3 file to
the working directory of cq3a before starting. (All "pk3" files are
actually regular ZIP archives.)
INTERFACE
---------
VR interfaces:
button1 - move forward in wand direction
button2 - toggle mode (walk, fly, fly with no collision detection)
button3 - change sky
button2 and button3 - reset and show help page
SDL:
w,s or arrow keys - move forward/backward
mouse - change dir
c - toggle collision detection
f - toggle flying
m - toggle mode (walk, fly, fly with no collision detection)
b - change sky
h - show help page
GLUT, GLX:
w,s - move forward/backward
mouse drag - change dir
c - toggle collision detection
f - toggle flying
m - toggle mode (walk, fly, fly with no collision detection)
b - change sky
h - show help page
OPTIONS
-------
Commandline:
cq3a [options] [map file] [additional pak files]
where valid map files for the demo pak file are:
maps/q3tourney2.bsp default
maps/q3dm1.bsp
maps/q3dm7.bsp
maps/q3dm17.bsp
additional pak files add to default list of pak0.pk3 and paul.pk3
options include:
--notex do not load textures (good for debugging, loads faster)
--noitems do not load map entities
--nohud do not display HUD (fps, help screen)
--gamma val brightens map - default value is 1.7
--drawsky draw sky - default is 0 (false)
--lodbias val texture quality - default is 0 (full sized textures)
--maxmeshlevel val max number of subdivisions - default is 5
--subdivisiontol val subdivision tolerance - default is 5
--collidebuffer val for collision detection - default is 36.0 (3 ft)
--scale val scale entire world (default is 0.08)
--keylook look with 2,4,6,8 keys. With CAVElib, it replaces wand
navigation. With other VR interfaces, it is ignored.
ignored by VR interfaces:
--fullscreen run full screen - ignored by GLX interface
--width val width of window - default value is 640
--height val height of window - default value is 480
--fov val field of view - default is 90.0
these and other options can also be set by editing "globalshared.c".
PERFORMANCE TIPS
----------------
Geometry:
If your hardware does not have geometry acceleration (or it is not
that fast), decrease maxmeshlevel. This will decrease the maximum number
of subdivisions when creating curved surfaces.
Textures:
If your hardware does not have much texture memory, increase r_lodbias.
The higher the value, the lower the texture quality. However, less texture
memory is used because textures are scaled down. If r_lodbias is 0, textures
are full sized, if it is 1, textures are half-size, if it is 2, textures
are quarter-size, etc...
SGI Octane:
Chances are that your Octane does not have enough texture memory. My
Octane MXE has only 4 MB of texture memory. To get decent performance,
make sure to set lodbias to 1.
VERSION HISTORY
---------------
Version 0.9.1
-------------
Updated FreeVR interface by Bill Sherman (www.freevr.org).
Version 0.9.0
-------------
Implemented walk mode. The walk mode is based only on the bsp tree (rather than
additional collision information stored in the file format). Therefore not all
areas will work properly. Added ability to specify a global scale factor. By
default, cq3a assumes that quake units are comparable to inches (scale factor
is 0.08).
Version 0.8.9
-------------
Environment mapping by Stefan Gustavson
Version 0.8.8
-------------
Updated FreeVR interface by Bill Sherman (www.freevr.org)
Keyboard look and spawn point cycling by Stefan Gustavson
Solaris support in Makefile by John Stone
Version 0.8.7
-------------
Todd Yocum's patch for compiling with CAVElib under Win32
Version 0.8.6
-------------
Minor restructuring of engine to allow parallel decomposition
modes in MPSDK.
Version 0.8.5
-------------
Support for MPSDK by Stefan Eilemann
(www.sgi.com/software/multipipe/sdk)
Minor fixes
Version 0.8
-----------
Multiple pak file support
HUD - help screen, fps display
more commandline arguments
Patrick Hartling's patch
- FreeBSD support in Makefile
- extern "C" defs (mix C and C++ compilers)
Version 0.7
-----------
Minor bug fix, Win32 support
Version 0.6
-----------
compiled vertex arrays
John DeWeese and Ben Moore added MacOS X support to Makefile
Version 0.5
-----------
Initial release