-
Notifications
You must be signed in to change notification settings - Fork 0
/
readme.htm
17 lines (17 loc) · 8.36 KB
/
readme.htm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>Stereo Quake</title>
</head>
<body>
<h1>Stereo Quake</h1>
<!-- wiki -->
<p>This project fixes minor bugs in Quake's stereoscopic rendering modes (crosshair in the wrong position, corrupt display in full-screen and excessive stereo separation of the player's weapon) and adds row-interleaved stereoscopic support to Quake 2's software renderer. </p><h1>Installation</h1><p>This project provides replacement executables and DLLs for Quake and Quake II; you can simply overwrite your existing executables with these. Alternatively, copy the updated executables to a new folder, and copy the <tt>id1</tt> (Quake) or <tt>baseq2</tt> (Quake II) directories over from an existing installation. </p><p>The new executables have been built with Visual Studio 2008 SP1, so you will also need the <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2" rel="nofollow">Microsoft Visual C++ 2008 SP1 Redistributable Package</a> if you have not already installed it. </p><h1>Modifications</h1><p>These versions of Quake and Quake II have been designed to be simple tweaks to the stereoscopic rendering modes, and not feature-packed source ports. As such, the modifications have been relatively minor. </p><h2>Quake</h2><ul><li>Crosshair is drawn in the correct location. </li><li>Non-DIB modes should work. Regular WinQuake displays a distorted image in fullscreen unless you pass the <tt>-dibonly</tt> command-line switch. </li><li>Stereo separation of the player's weapon can be adjusted with a new console variable. </li><li>The 3D effect is reversed if the top row appears on an odd-numbered scanline in windowed mode. </li><li>Particles are drawn at the correct height, not double height. </li></ul><h2>Quake II</h2><ul><li>Row interleaved stereoscopic mode added to the software renderer. </li><li>Row interleaved, column interleaved, pixel interleaved and anaglyph stereoscopic modes added to the OpenGL renderer. </li><li>The mouse works in windowed mode when you have multiple monitors. </li></ul><h1>Enabling the stereoscopic rendering mode</h1><p>Both Quake and Quake II are capable of generating row-interleaved 3D output via console variables. Bring down the console by pressing the key to the left of 1 on your keyboard (on a US layout, this will be the <tt>~</tt> key; on a UK layout, this is the <tt>`</tt> key), type the variable name, a space, then the value you wish to assign to the variable. </p><h2>Quake</h2><p><table><tr><td style="border: 1px solid #aaa; padding: 5px;"> <tt>LCD_X</tt> </td><td style="border: 1px solid #aaa; padding: 5px;"> Camera offset </td></tr> <tr><td style="border: 1px solid #aaa; padding: 5px;"> <tt>LCD_YAW</tt> </td><td style="border: 1px solid #aaa; padding: 5px;"> Camera rotation </td></tr> <tr><td style="border: 1px solid #aaa; padding: 5px;"> <tt>LCD_VIEWMODEL_SCALE</tt> </td><td style="border: 1px solid #aaa; padding: 5px;"> Strength of the 3D effect applied to the player's weapon </td></tr> </table></p><p>To enable the stereoscopic rendering mode, set <tt>LCD_X</tt> to any value other than its default zero. This controls the offset of the camera; the larger the value, the further the camera is moved between the generating the view from each eye. A negative value swaps the left and right eyes. </p><p>You can control the rotation of the camera between each eye with the <tt>LCD_YAW</tt> value. </p><p>An additional console variable <tt>LCD_VIEWMODEL_SCALE</tt> has been added to override the stereo separation of the weapon model. As this is very close to the camera, it can be difficult to focus on at all but the most conservative <tt>LCD_X</tt> values. When <tt>LCD_VIEWMODEL_SCALE</tt> is set to 1 (the default), it appears in full 3D as per regular Quake. By setting it to 0, the 3D effect is completely removed, and the weapon is fixed in the middle of the display as when playing Quake with the stereoscopic rendering mode disabled. Setting the value to somewhere between 0 and 1 will preserve the weapon's 3D appearance, without making the game unpleasant to play. </p><h2>Quake 2</h2><p><table><tr><td style="border: 1px solid #aaa; padding: 5px;"> <tt>cl_stereo</tt> </td><td style="border: 1px solid #aaa; padding: 5px;"> Selects the stereoscopic rendering mode </td></tr> <tr><td style="border: 1px solid #aaa; padding: 5px;"> <tt>cl_stereo_separation</tt> </td><td style="border: 1px solid #aaa; padding: 5px;"> Camera offset </td></tr> <tr><td style="border: 1px solid #aaa; padding: 5px;"> <tt>cl_stereo_anaglyph_colors</tt> </td><td style="border: 1px solid #aaa; padding: 5px;"> Colour of the anaglyph glasses </td></tr> </table></p><p>The software renderer and OpenGL renderer both support row interleaved 3D. The OpenGL renderer also supports native stereoscopic rendering if the hardware supports along with column interleaved, pixel interleaved and anaglyph modes. </p><p>When using the software renderer, set <tt>cl_stereo</tt> to 0 to render normally and non-zero (e.g. 1) to enable the row interleaved mode. </p><p>The modes are as follows for the OpenGL renderer: </p><p><table><tr><td style="border: 1px solid #aaa; padding: 5px;"> <strong><tt>cl_stereo</tt> value</strong> </td><td style="border: 1px solid #aaa; padding: 5px;"> <strong>Mode</strong> </td></tr> <tr><td style="border: 1px solid #aaa; padding: 5px;"> 0 </td><td style="border: 1px solid #aaa; padding: 5px;"> Stereoscopic rendering disabled </td></tr> <tr><td style="border: 1px solid #aaa; padding: 5px;"> 1 </td><td style="border: 1px solid #aaa; padding: 5px;"> OpenGL native stereoscopic rendering (hardware permitting) </td></tr> <tr><td style="border: 1px solid #aaa; padding: 5px;"> 2 </td><td style="border: 1px solid #aaa; padding: 5px;"> Anaglyph (coloured glasses) </td></tr> <tr><td style="border: 1px solid #aaa; padding: 5px;"> 3 </td><td style="border: 1px solid #aaa; padding: 5px;"> Row interleaved </td></tr> <tr><td style="border: 1px solid #aaa; padding: 5px;"> 4 </td><td style="border: 1px solid #aaa; padding: 5px;"> Column interleaved </td></tr> <tr><td style="border: 1px solid #aaa; padding: 5px;"> 5 </td><td style="border: 1px solid #aaa; padding: 5px;"> Pixel interleaved </td></tr> </table></p><p>When using the anaglyph mode (<tt>cl_stereo</tt> set to 2) you can set the colour of the glasses with the <tt>cl_stereo_anaglyph_colors</tt> variable. This is a two-character string that specifies the initials of the colours of the two lenses. The default setting is <tt>rc</tt>, which corresponds to glasses with a red filter on the left eye and a cyan filter on the right eye. The available colours are <strong>b</strong>lue, <strong>c</strong>yan, <strong>g</strong>reen, <strong>m</strong>agenta, <strong>r</strong>ed and <strong>y</strong>ellow. The <tt>cl_stereo_anaglyph_colors</tt> variable is not case sensitive. </p><p><tt>cl_stereo_separation</tt> controls the offset of the camera; the larger the value, the further the camera is moved between the generating the view from each eye. A negative value swaps the left and right eyes. </p><h1>Known issues</h1><p>Quake and Quake II use an 8-bit video mode. When played full-screen, they assume that they are in full control of the palette; Windows, however, will sometimes overwrite the palette, resulting in scrambled colours. In Quake you may be able to avoid the issue by passing the <tt>-dibonly</tt> command-line switch and disabling multi-monitor modes if you are using them (consult the original WinQuake documentation for further information about video card compatibility). Typing <tt>vid_restart</tt> into Quake II's console may also help, though not always the first time you type it in. </p><p>Users of other games that have the same palette issues when using DirectDraw claim that terminating all instances of <tt>explorer.exe</tt> before running the game may also help, though this is a bit drastic. </p>
<!-- /wiki -->
<h1>Websites</h1>
<p>The main website for Stereo Quake is <a href="http://www.benryves.com/products/stereoquake/">http://www.benryves.com/products/stereoquake/</a>.</p>
<p>The latest version of the source code can be accessed from <a href="http://code.google.com/p/stereo-quake/">Google Code</a>.</p>
</body>
</html>