This release features the use of Direct3D HLSL shaders to handle many of the rendering tasks.  At least shader model 2.0 compliance is required.  This was necessary because a lot of the software Quake features were really pixel shaders in disguise, and were difficult to reproduce in hardware otherwise (at least without substantial performance loss).

If your card supports pixel shaders but not vertex shaders, Direct3D will quite happily emulate vertex shaders in software with a surprisingly high level of performance - at least as good as the fixed pipeline.  "Behind the scenes" optimisations of the programmable pipeline may make them even faster.  The ability to use simpler and cleaner code paths in the engine will boost performance yet again.

NO NEW EFFECTS ARE USED.

This is a straight-up replication of the original software Quake effects.  I have little inclination to design new effects; they may look nice, but they don't look like Quake.

You can replace the shaders hard-coded into the engine with your own if you wish.  Put them in either your Quake folder, your gamedir folder or your gamedir/shaders folder.  I won't provide further info or documentation on what the hard-coded shaders are called or how they work; if you can't figure this out from the code you really have no business replacing them.

One warning - this is NOT a generic scene graph application.  It's a game engine.  Some things need to be well-defined and/or tightly constrained as a result.  The hard-coded shaders expect certain parameters, certain techniques and certain numbers of passes to be present, and any replacement shaders you provide should conform to this expectation.  I check these at run time and spam the console with error messages if anything is wrong, so you should know quickly enough if anything you do is not in order.

