I've finally moved the skies from fixed functionality to HLSL; this was the last outstanding item, and there's no fixed functionality left in the game now.
In one way it seems a pity to be HLSL all the way, as a lot of people with older laptop cards are out of the picture so far as running DirectQ is concerned. However, the major advantage it provides is a much cleaner execution path with considerably less state changes. The way Direct3D handles TextureStageStates (the equivalent of glTexEnv commands) is something I'm still finding difficult to cope with; I'm sure it's perfectly logical and reasonable (and it looks far more flexible than OpenGL) but it's incredibly verbose and hard to see from the documentation what the exact effects of a particular state change are. I really should write a sample application to let me play with them.
For the record, the minimum required 3D card seems to be an Intel 910 or thereabouts. This is a 3 or 4 year old integrated laptop card, with no Hardware T&L and vertex shaders emulated in software (Direct3D does that and it runs quite nicely, as fast as fixed func), so it's still a low minimum requirement.
Pixel Shaders 2.0 are required; no getting out of that. I suppose in NVidia terms that's a GeForce FX 5 series, I don't know what the ATI equivalent is.
I mentioned it briefly in passing, but it's worth highlighting again. This release will finally give you the ability to specify your own custom shaders (I use FX files) for the engine. You can pop them in Quake\ID1\Shaders and they'll be used instead of the hard-coded defaults. Because of the way the engine is set up you will have to supply the same parameters, same inputs, same technique names and same numbers of passes, but what you do from there is completely up to you. The hard coded defaults are always distributed with the source code, so you can copy them from there and use them as a baseline.
Wednesday, May 27, 2009
Skies and Shaders Updates
Posted by
mhquake
at
11:41 AM
Subscribe to:
Post Comments (Atom)
0 comments:
Post a Comment