0,0 → 1,171 |
Glquake v0.99, Quake v1.09 release notes |
|
3dfx owners -- read the 3dfx.txt file. |
|
On a standard OpenGL system, all you should need to do to run glquake is put |
glquake.exe in your quake directory, and run it from there. DO NOT install |
the opengl32.dll unless you have a 3dfx! Glquake should change the screen |
resolution to 640*480*32k colors and run full screen by default. |
|
If you are running win-95, your desktop must be set to 32k or 64k colors |
before running glquake. NT can switch automatically. |
|
Theoretically, glquake will run on any compliant OpenGL that supports the |
texture objects extensions, but unless it is very powerfull hardware that |
accelerates everything needed, the game play will not be acceptable. If it |
has to go through any software emulation paths, the performance will likely |
by well under one frame per second. |
|
3dfx has provided an opengl32.dll that implements everything glquake needs, |
but it is not a full opengl implementation. Other opengl applications are |
very unlikely to work with it, so consider it basically a "glquake driver". |
See the encluded 3dfx.txt for specific instalation notes. 3dfx can only run |
full screen, but you must still have your desktop set to a 16 bit color mode |
for glquake to start. |
|
resolution options |
------------------ |
We had dynamic resolution changing in glquake for a while, but every single |
opengl driver I tried it on messed up in one way or another, so it is now |
limited to startup time only. |
|
glquake -window |
This will start glquake in a window on your desktop instead of switching the |
screen to lower resolution and covering everything. |
|
glquake -width 800 -height 600 |
Tries to run glquake at the specified resolution. Combined with -window, it |
creates a desktop window that size, otherwise it tries to set a full screen |
resolution. |
|
You can also specify the resolution of the console independant of the screen |
resolution. |
|
glquake -conwidth 320 |
This will specify a console resolution of 320 by 240 (the height is |
automatically determined by the default 4:3 aspect ratio, you can also |
specify the height directly with -conheight). |
|
In higher resolution modes such as 800x600 and 1024x768, glquake will default |
to a 640x480 console, since the font becomes small enough at higher |
resolutions to become unreadable. If do you wish to have a higher resolution |
console and status bar, specify it as well, such as: |
glquake -width 800 -height 600 -conwidth 800 |
|
texture options |
--------------- |
The amount of textures used in the game can have a large impact on performance. |
There are several options that let you trade off visual quality for better |
performance. |
|
There is no way to flush already loaded textures, so it is best to change |
these options on the command line, or they will only take effect on some of |
the textures when you change levels. |
|
OpenGL only allows textures to repeat on power of two boundaries (32, 64, |
128, etc), but software quake had a number of textures that repeated at 24 |
or 96 pixel boundaries. These need to be either stretched out to the next |
higher size, or shrunk down to the next lower. By default, they are filtered |
down to the smaller size, but you can cause it to use the larger size if you |
really want by using: |
|
glquake +gl_round_down 0 |
This will generally run well on a normal 4 MB 3dfx card, but for other cards |
that have either worse texture management or slower texture swapping speeds, |
there are some additional settings that can drastically lower the amount of |
textures to be managed. |
|
glquake +gl_picmip 1 |
This causes all textures to have one half the dimensions they otherwise would. |
This makes them blurry, but very small. You can set this to 2 to make the |
textures one quarter the resolution on each axis for REALLY blurry textures. |
|
glquake +gl_playermip 1 |
This is similar to picmip, but is only used for other players in deathmatch. |
Each player in a deathmatch requires an individual skin texture, so this can |
be a serious problem for texture management. It wouldn't be unreasonable to |
set this to 2 or even 3 if you are playing competatively (and don't care if |
the other guys have smudged skins). If you change this during the game, it |
will take effect as soon as a player changes their skin colors. |
|
GLQuake also supports the following extensions for faster texture operation: |
|
GL_SGIS_multitexture |
Multitextures support allows certain hardware to render the world in one |
pass instead of two. GLQuake uses two passes, one for the world textures |
and the second for the lightmaps that are blended on the textures. On some |
hardware, with a GL_SIGS_multitexture supported OpenGL implementation, this |
can be done in one pass. On hardware that supports this, you will get a |
60% to 100% increase in frame rate. Currently, only 3DFX dual TMU cards |
(such as the Obsidian 2220) support this extension, but other hardware will |
soon follow. |
|
This extension will be autodetected and used. If for some reason it is not |
working correctly, specify the command line option "-nomtex" to disable it. |
|
GL_EXT_shared_texture_palette |
GLQuake uses 16bit textures by default but on OpenGL implementations |
that support the GL_EXT_shared_texture_palette extension, GLQuake will use |
8bit textures instead. This results in using half the needed texture memory |
of 16bit texture and can improve performance. This is very little difference |
in visual quality due to the fact that the textures are 8bit sources to |
begin with. |
|
run time options |
---------------- |
At the console, you can set these values to effect drawing. |
|
gl_texturemode GL_NEAREST |
Sets texture mapping to point sampled, which may be faster on some GL systems |
(not on 3dfx). |
|
gl_texturemode GL_LINEAR_MIPMAP |
This is the default texture mode. |
|
gl_texturemode GL_LINEAR_MIPMAP_LINEAR |
This is the highest quality texture mapping (trilinear), but only very high |
end hardware (intergraph intense 3D / realizm) supports it. Not that big of |
a deal, actually. |
|
gl_finish 0 |
This causes the game to not issue a glFinish() call each frame, which may make |
some hardware run faster. If this is cleared, the 3dfx will back up a number |
of frames and not be very playable. |
|
gl_flashblend 0 |
By default, glquake just draws a shaded ball around objects that are emiting |
light. Clearing this variable will cause it to properly relight the world |
like normal quake, but it can be a significant speed hit on some systems. |
|
gl_ztrick 0 |
Glquake uses a buffering method that avoids clearing the Z buffer, but some |
hardware platforms don't like it. If the status bar and console are flashing |
every other frame, clear this variable. |
|
gl_keeptjunctions 0 |
If you clear this, glquake will remove colinear vertexes when it reloads the |
level. This can give a few percent speedup, but it can leave a couple stray |
blinking pixels on the screen. |
|
novelty features |
---------------- |
These are some rendering tricks that were easy to do in glquake. They aren't |
very robust, but they are pretty cool to look at. |
|
r_shadows 1 |
This causes every object to cast a shadow. |
|
r_wateralpha 0.7 |
This sets the opacity of water textures, so you can see through it in properly |
processed maps. 0.3 is very faint, almost like fog. 1 is completely solid |
(the default). Unfortunately, the standard quake maps don't contain any |
visibility information for seeing past water surfaces, so you can't just play |
quake with this turned on. If you just want to see what it looks like, you |
can set "r_novis 1", but that will make things go very slow. When I get a |
chance, I will probably release some maps that have been processed properly |
for this. |
|
r_mirroralpha 0.3 |
This changes one particular texture (the stained glass texture in the EASY |
start hall) into a mirror. The value is the opacity of the mirror surface. |
|