D2X-XL Worklog

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

DLE-XP: Improved Lighting


Variable Lights

DLE-XP's (now disabled) software renderer had allowed to view variable lighting put in a mine in real-time. When enabling this feature in the OpenGL renderer, I made a nasty discovery: The light difference values computed by DLE-XP were much greater than the vertex light values they were to modify. After a while it dawned on me that the limited precision of DLE-XP light calculation was responsible for this: Whenever a light source contributed light to a vertex, the vertice's brightness was capped at 1.0. Rendering wise this made sense this 1.0 is the highest possible brightness. Since the light difference values were computed per light source, they could add up to a much higher value though, resulting in the brightness of the face these light sources contributed to dropping below zero when several of these lights were turned off.

DLE-XP will therefore keep the actual total light contributions of all light sources to a vertex internally while illuminating a level, and will scale all values exceeding 1.0 properly down when saving the level, taking proper care that turning off variable lights will dim their vicinity in the right way in-game.

In case you haven't noticed it: Real-time variable light rendering is back in DLE-XP, and due to the massive increase in rendering speed the OpenGL renderer causes it works much better than before.


Illumination

Since D2X-XL has its own lighting algorithms, and since DLE-XP's lighting (which still stems from the days of DMB2) worked acceptably well and was widely accepted by level authors (who even used it to light their levels when D.E.V.I.L. was their preferred editor for geometry editing), I never cared too much about it. The only gripe I had had about it had been its speed (DMB2's lighting was dead slow particularly for big levels), but I had resolved that issue long ago.

There had however always been a slight unrest about it, instigated by the fact that when lighting the original Descent levels with DLE-XP (or DMB2, for the matter), the result often was quite different from what Parallax had achieved. DLE-XP's lighting algorithm also often had light bleed into level areas it couldn't physically reach - at least not with the intensity it did.

So I started to work over this area of DLE-XP, too. The result of my work is that DLE-XP will now examine whether a face can receive direct light from a light source or not. If not, the face will only receive a reduced light contribution from the light source (simulating diffuse light). For that purpose, DLE-XP looks at the angle of the face towards the light's incident angle and towards the light emitting face. It will also check whether a face is occluded by faces between it and the light source. The result usually are more sharper transitions between light and dark level areas and more accentuated shadows.

The classic illumination algorithm is still available. You can toggle between the two methods with the light tool's 'classic illumination' check box (checked: classic method, unchecked: new method).

'Classic' Lighting:

New Lighting:


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.