mirror of
https://git.code.sf.net/p/quake/quakeforge
synced 2024-11-23 21:02:50 +00:00
172 lines
7.6 KiB
Text
172 lines
7.6 KiB
Text
|
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.
|
||
|
|