D2X-XL Worklog
Notes on features and problems from the development of D2X-XL, newest first.
Realtime Shadowing |
|
I had a big unresolved issue with D2X-XL, and that was real time shadows. They look nice, they increase realism, and they are a standard in todays games. I looked at the theory, some tutorials and the fact that everybody and their dog could implement this nowadays, and started coding. Trying to force them into the Descent 2 code (in it's incarnation of D2X-XL) proved to be challenging and very frequently frustrating though. Well, a few months later and many experiences richer here it is: Working real time shadowing for D2X-XL! Here are a few pictures showing a custom ship from one of my levels: ![]() ![]() Now something for the tech savvy. D2X-XL uses volumetric shadow rendering. This means a shadow is a body formed by the model's silhouette and polygons extending from that silhouette's borders to infinity, where it is capped by the silhouette also projected to infinity. The following two pictures show the silhouette and the shadow volume. ![]() ![]() That was the good news, now come the bad news. Virtually all Descent 2 models and also Eagle's wonderful high resolution Pyro are flawed in terms of volumetric shadow rendering. Models must be closed for it to work properly, i.e. all sides of the model must be covered with polygons. The following image shows what happens if the model is flawed: ![]() This is a little disappointing (to say the least), and this is where you can step in: Maybe you have some time and interest and even skill in building poly models. If you do, grab the Descent Network's Descent 2 editing tools, fire up polytron and make the D2X-XL community happy with models nicely casting shadows. |








