D2X-XL Worklog

Notes on features and problems from the development of D2X-XL, newest first.

Shadows Revisited

Shadow Mapping

Since I was never too satisfied with the shadow implementation of D2X-XL, and since shadow mapping seemed to be the proper cure for the problems that plagued it - and the method I had been using (volumetric stencil shadows) in general - I have had it in my mind for a long, long time to look into it. Recently the day to make this true had come. I had some difficulties in getting the required math right (which was more of a problem of understanding how OpenGL handled this than understanding the underlying math), but with the help of some knowledgeable members of the OpenGL.org forums I managed to take that hurdle and implement some basic shadow mapping in D2X-XL. You can see the result here:

I quickly hit the limits of a basic shadow mapping implementation though. Depending on distance, shadows looked very pixelated. The view angle of a shadow map also is quite limited, so I would either have to render five or six shadow maps per light source or use a parabolic projection for it. Digging deeper into the subject quickly revealed to me how deep that rabbit hole really is and how far I would have to go to produce high quality shadows using shadow mapping. If you are interested, you can find out about that yourself by reading these documents:

Have fun.
Volumetric Stencil Shadows

While I had been thinking about a good way to implement shadowing in D2X-XL in general (where you are having an excessive amount of light sources), I had had an idea how to improve on the current formula of chosing the brightest light source next to an object for casting that object's shadow: Only dynamic (moving) light sources would create shadows. This would limit the light sources mainly to gun shots, creating a very plausible and credible shadow effect. Since I now also have a blur effect in place, creating soft instead of the previous hard edged shadows (something which is typical for volumetric stencil shadows) was easy. See the result of my efforts here:

I have to admit that I am still cheating a little with these shadows: Instead of rendering the light contribution of the lights used for shadow casting and masking it off using the stencil buffer, I render a dark rectangle over the entire output window and mask it off. The further method would require deferred lighting with all the extra math and data coming with it. Actually I am having everything needed for implementing deferred lighting available in D2X-XL, but I am shying the effort right now. I hope you still like the improved look and behavior.


News

A new D2X-XL update fixing broken screen resolution persistence is available

There is yet another D2X-XL update is available (the new Pumo Mines broke a few things ...)

Believe it or not: There's a new D2X-XL version online!

Uploaded updated D2X-XL and library source code that compiles with Visual Studio 19

After a really long time, another new DLE version is available

A new DLE version is available (hear, hear!) :D

A new Max OS X version of D2X-XL is available!

D2X-XL now offers a cartoon style render mode!

New D2X-XL and DLE versions are available

Blarget has got his own area in the level spotlight

New D2X-XL and DLE versions are available

A couple of levels have been added to the level spotlight

Hooray! We're finally having a new Mac OS X version of D2X-XL!

D2X-XL now features an observer mode for multiplayer games

A new D2X-XL version with improved multiplayer synchronization is available

A new D2X-XL version fixing out of sync problems in multiplayer games is available

A new D2X-XL version with many multiplayer bug fixes is available

Added high quality (ogg) Descent 1 and 2 music to the downloads area

A new D2X-XL version with important bug fixes is available

D2X-XL compiles and runs on Linux again!

Descent 1 and 2 high res textures are now available as complete downloads

A new DLE version with a ton of bug fixes and improvements is online

A new D2X-XL version is online

A new D2X-XL version with a much needed bug fix is online

A new DLE version is online

Published another DLE version with more bug fixes and improvements by Sirius

Published a new D2X-XL version

Published a new DLE version with tons of bug fixes and improvements by Sirius

D2X-XL now supports Oculus Rift 3D headsets!

Updated DLE and D2X-XL to support new level features requested by Pumo

Added an article about DLE's new tunnel generator to the worklog

DLE's new tunnel generator is finished

Added a new article to the worklog

Published a new DLE version

Added a new article to the worklog

Added two new articles to the worklog

D2X-XL and DLE-XP now support triangular segment sides!

DLE-XP has an OpenGL render and 1st person view!

New DLE-XP version available

Wrote a new worklog article

Check out DarkFlameWolf's level spotlight section!

New DLE-XP and D2X-XL versions are available

A new DLE-XP version is available

Added a worklog article about the way point feature

Added way point support to DLE-XP and D2X-XL

Posted a bunch of new screenshots

Posted a bunch of new screenshots

A New version of DLE-XP is available

New OS X version of D2X-XL is available!

Added article about lightmaps to worklog.

New article and video added to worklog.