R1GL - R1CH's OpenGL Renderer for Quake II
About
r1gl is an enhanced opengl renderer for Quake II. It is designed to be more of an "update" to id's
existing ref_gl.dll than an entirely new client with all fancy gizmos and flashy technology. To this end,
r1gl has a small feature set:
- Support for 24/32 bit PNG, JPG and TGA textures and images up to 1024x1024
- Anisotropic filtering support
- Multisampling (Full Scene Anti Aliasing) support
- Compatibility with any standard 3.2x client
- Custom screen resolutions
- Nicer dynamic lighting falloff, overbrights and other visual enhancements
- Texture name caching and other minor speed improvements
Note that by default, most new features are disabled to preserve 3.2x compatibility. You will likely find R1GL looks no different than regular GL. Please use the R1GL config generator to create an R1GL config and check out other Quake 2 related websites for high resolution textures and model paks.
Required Files
Win 9x/NT/2K/XP/2K3: r1gl-0.1.5.zip. This zip file contains the latest version of R1GL 0.1.5. Extract to your Quake 2 directory, then use set vid_ref r1gl in either your config or the console to load it. Please note, unless you are using R1Q2, going to the Video Options menu will reset the renderer to ref_gl.
Mac OS X: r1gl-0.1.2_OS_X.sit. Compiled by Dalamar. Untested and unsupported.
Source code: The source code for R1GL is included in the R1Q2 source distribution.
Support
If you have any problems with the latest release of R1GL, please post any bug reports in the R1GL 0.1.2 Feedback thread.
History
Version 0.1.4
Released 02/07/2004
Version 0.1.3
Released 22/01/2004
Totally removed paletted texture support. R1GL will no longer run on 3dfx cards most likely, as gl_ext_palettedtexture was just causing too many problems with all the new 32 bit stuff.
Added opengl version string.
Defaulted to GL_LINEAR_MIPMAP_LINEAR texture minification.
Removed some cvars that didn't actually do anything.
Compiled against zlib 1.2.1 which gives up to a 30% speed increase on inflating data (ie faster PNG loading).
Version 0.1.2
Released 25/05/2003
Massive change to the way r1gl chooses which pixel format to use.
This release MIGHT NOT WORK on all cards. Please report any problems
to me. However, this change makes a lot of nice stuff possible:
New Cvars:
gl_colorbits
gl_depthbits
gl_alphabits
gl_stencilbits
New Cvars for GL extensions:
gl_ext_multisample
gl_ext_samples
New Cvars for NVIDIA only GL extensions:
gl_ext_nv_multisample_filter_hint
See the "CVAR List" in the readme for a full description of what each one does. You
shouldn't really need to change any of the gl_*bits setting as they
are automatically detected based on your desktop color depth.
Note that if your card doesn't support the new format, r1gl *should*
revert to the old method of using the generic pixelformats, but this
is not 100% tested. To force r1gl to use the old method, set the cvar
vid_nowgl to 1 *BEFORE* loading r1gl. If you still get problems even
after forcing old method, please contact me and I'll try to figure out
what's going on.
PNG scaling to match .wal files. Say you have a 128x128 .wal and a
512x512 PNG, r1gl will now properly scale the PNG so it fits into the
same space as the .wal without clipping or resizing (no quality loss).
gl_zfar support, control how far you can see. Default in Quake2 was
4096, r1gl defaults to 8192. Hardly impacts performance. Only really
useful on huge maps (such as mountain_2 if you play gloom). Does not
require a vid_restart to take effect.
Smoother dynamic light falloff (less blocky edges). No performance
hit so you can't turn it off :)
Improved detection and appropriate settings for 16 bit color depth.
All gl uploads are now done in 32 bit since the 24 bit code caused a
lot of problems and probably didn't benefit anything anyway.
Cvar settings are NO LONGER archived to config.cfg, if you want to
keep anything permanent be sure to put it in your own config.
Errors occuring during OpenGL startup are now highlighted in the
console with the alternate Q2 font color.
Gamma is no longer applied by default to pics (console, hud icons,
etc). If you wish to enable this behaviour to mimic 0.1.1 and the
earlier versions, set vid_gamma_pics 1.
Optional force a video width/height with cvars vid_forcewidth and
vid_forceheight. Useful for getting 1280x1024 for example if you have
a 5:4 aspect ratio screen (typical on some LCD panels).
Entity brightness is reduced, previously a bug or somewhat silly
feature in Q2 GL resulted in modulate being applied twice to entities.
Fixing this makes them look much more realistically shaded.
Version 0.1.1
Released 04/01/2003
The ref_r1gl.dll is now statically linked, meaning you do not need anything else to be able to use it. No more
msvcr70.dll, zlib.dll and libpng12.dll are required.
No more Pentium 4 version of the DLL, performance increase was neglibile and was confusing to users as which to use.
Compiled against libpng 1.2.5.
Version 0.1.0
Released 11/11/2002
Version 0.0.9
Released 26/10/2002
Anisotropic filtering support. gl_ext_texture_filter_anisotropic
and gl_ext_max_anisotropy control it. Requires fairly new hardware
to work.
Fix for GL_SGIS_generate_mipmap and GL_EXT_paletted_texture
incompatibilities. Unless you are running on very old hardware, I
highly recommend you set gl_ext_palettedtexture to 0 for best
quality and compatibility with other extensions.
Version 0.0.8
Released 25/10/2002
Hardware/driver based mipmap generation (SGIS_generate_mipmap).
If it breaks horribly, set gl_ext_generate_mipmap to 0. Results
in oh-so slightly higher quality mipmaps on my GF4 if set to 1.
PNG textures in maps are properly mipmapped.
Removed redundant memory allocation and copying whilst loading
images.
Pentium 4 SSE2 version of r1gl is supplied in the zip, if you
have a P4 then rename ref_r1gl-p4.dll to ref_r1gl.dll for a
small speed boost or something.
No longer including libpng and msvcr70 DLL files in the r1gl zip.
If you get missing DLL errors, goto http://r1gl.r1.cx/ and grab
the appropriate zip files there for the DLLs you are missing.
Removed the 'Falling out after 50k polys' warning. Still looking
into what causes this to happen in the first place.
Version 0.0.7
Released 21/07/2002
Version 0.0.6
Released 02/05/2002
Version 0.0.5
Released 29/04/2002
Well since no one downloaded r1gl until today I didn't spot
a small bug - r1gl only runs with the r1q2 renderer API
since I didn't notice it including an old ref.h file I had
lying around. Should no longer crash on startup any more.
Note, if you like r1gl you should try renaming it to
ref_gl.dll, as this allows quake 2 to better detect some
gl functions.
Version 0.0.4
Released 28/04/2002
Version 0.0.3
Released 22/04/2002
Version 0.0.2
Released ??/04/2002
Version 0.0.1
Released ??/04/2002
Source
Source code to r1gl is available on request. Find me on irc.edgeirc.net as I'm too lazy to keep a zip file on my site up to date :)
|