Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
janiform

How to make a map with lightmaps?

Recommended Posts

I've seen amazing screenshots of GZDoom maps with lightmapping. How can I make a map like this? Do I need a special version of GZDoom, or a special map editor or BSP builder? I found searching the Zdoom forums confusing and would appreciate any insight!

Share this post


Link to post

@Nash is working on a GZDoom-based game called Disdain that uses lightmaps. I've also occasionally seen them elsewhere on Doomworld. Here's a Disdain screenshot:

 

ss_34a0dd59d16b62a68c7bd209dd61ac56695f6

Share this post


Link to post

See ZDRAY

There is a project being worked called Relighting which uses LIGHTMAP.

Run it with your map in GZDoom or copy the files into your map.

 

For example a comparison of DOOM2 MAP01

 

FFAAR72.png

 

 

Share this post


Link to post

The Lightmap feature isn't fully released in GZDoom (or any spin-off forks) just yet, AFAIK.  Nash wanted to get the implementation more complete before rolling it out into the full release.

 

It's also coinciding with a wider discussion about how to utilize modern hardware to drive advanced features (such as lightmaps) that might leave older, pre-Vulkan hardware behind.  I don't know what the consensus currently looks like, but I suspect the full lightmap implementation might happen alongside some other wider improvements to the engine.

Share this post


Link to post

@Kappes Buur @BauulThank you both for your help. I'd seen the ZDRay wiki page, but I assumed it was out of date, with mystifying sentences like "In order to use ZDRay, you make your map in the GZDoom Builder-Bugfix variant of Doom Builder 2, although Ultimate Doom Builder may also work" and a mention of having to use a development build from five years ago.

 

So if I understand correctly, the answers to my initial questions are:
Do I need a special version of GZDoom? Yes, a development build from five years ago. In the future lightmapping will be incorporated into GZDoom proper, but the implementation might be different.

Do I need a specific map editor? I don't know?

Do I need a specific BSP node builder? Yes, ZDRay.

Share this post


Link to post

The idea and implementation of LIGHTMAP had been discussed for a number of years,

but it never found its way into the editor as a regular feature. 

 

Do I need a special version of GZDoom?

No, not really. Use either GZDoom 4.10.0 or a more recent dev version 4.11.x.

 

Do I need a specific map editor?

No, not really, but I recommend the latest version of Ultimate Doom Builder.

In UDMF it has many lighting and coloring feature build-in.

 

Do I need a specific BSP node builder?

Yes, ZDBSP, but playing a map which has no nodes, GZDoom will build the nodes 

on the fly.

 

You might be interested in some links:

 

Full implementation of LIGHTMAP as a feature may be done in the futur.  Until then use Relighting.

I do not know how Nash worked it into his project.

 

 

 

Edited by Kappes Buur

Share this post


Link to post

Again, thank you both for your help, but I'm still stumped by this. @Bauulsays lightmapping is not available in GZDoom or any current forks, while  @Kappes Buursays I just need to use a recent build of GZDoom. The links that have been shared are to the same ambiguous wiki pages and years-old discussions that led me to start this thread in the first place. I'm befuddled. Maybe I'm not using the right term and what I'm calling lightmapping is something else.

 

Edit: Okay, here's a beautiful example from May 2022 by @SiMpLeToNiUm, "gloriously lightmapped using ZDRay" : https://www.doomworld.com/forum/post/2497552

 

Screenshot_Doom_20220519_183500.png
 

image.png

Edited by janiform

Share this post


Link to post

What I tried to convey was that LIGHTMAP support is not there yet,

shadows, for example, are rendered as inky black. Even Relighting

has a tendency to render very dark shadows.

 

It seems that Nash used the source for ZDRay in his DISDAIN Demo.

Edited by Kappes Buur

Share this post


Link to post

Since i wrote the initial ZDRay page i feel it needs clarification.

  • The current wiki iteration is based on the compiled old ZDRay technology, that relies on a custom GZDoom build and GZDoombuilder-Bugfix. 
  • dpJudas's current iteration of ZDRay (A pre-release version of which is used by Nash in his custom Disdain engine fork) takes a different approach, using vulkan, multicore capabilities and raytracing. This version is not released yet.
  • ZDRay is ought to be something of a plugin (or a clone of, i can't be certain) in Ultimate Doom Builder that allows the user to bake lightmaps. ZDRay will just be like ZDBSP, but with an additional lightbake step added to it. This, alongwith the current ZDRay implementation, is what dpjudas is wworking towards at. But @dpJudas feel free to correct me.
9 hours ago, janiform said:

So if I understand correctly, the answers to my initial questions are:
Do I need a special version of GZDoom? Yes, a development build from five years ago. In the future lightmapping will be incorporated into GZDoom proper, but the implementation might be different.

Do I need a specific map editor? I don't know?

Do I need a specific BSP node builder? Yes, ZDRay.

To the public this is still the case, yes. Nash is an exception and the current ZDRay implementation is still worked upon, so there is no compiled version yet. The version documented on the wiki page is how the old ZDRay program ought to work; there isn't a compiled version of this yet (aside from the instructions being readily available), presumably because it is not finished yet.

 

I requested that build and that ZDRay compile so that users atleast could experience what lightmapping does to GZDoom, aswell as experiment on a small scale with a lightmapping feature that (at the time) was considered far too unstable/unusable for inclusion in GZ.

 

Thanks to dpJudas's efforts, Nash's support and Graf's acceptance on this, the feature will eventually end up in GZDoom in a vastly improved iteration.

 

Kappes Buur is talking about a special lump called LIGHTMAP, and links to a project called Relighting that attempts to improve lighting under current GZDoom parameters.

Share this post


Link to post

Also if you want a map with lightmap now, I suggest taking a look at some of the somewhat recent stuff that Remilia Scarlet made for K8Vavoom. The Unending, FP4 and FP5. You'll need a beefy computer, though. It's more demanding than GZDoom.

Share this post


Link to post

Lightmaps will be enabled in the mainline version of GZDoom hopefully real soon. We will declare this "v1.0".

Share this post


Link to post

Since the wiki indeed is quite out of date, here are some more details:

 

ZDRay is tool like zdbsp and other node builders, except that it also adds a LIGHTMAP lump into the wad with baked light maps for the map.

 

In UDB you can create the static lights that is consumed by the tool. There is a UDB raytrace branch I pushed a few days ago that lets you view the shadows of those static lights in real time from UDB. Once you've designed the map with its static light sources, you run the ZDRay tool instead of zdbsp and can now launch it from GZDoom.

 

Note, however, that the latest version of ZDRay generates a lump that current mainline GZDoom cannot read. You either need to use an older version of ZDRay, or use the vulkan only unannounced vkdoom source port to use them. Mainline GZDoom will probably get the support too soon.

 

As you can see on all those links, none of this is actually released. You'll have to build them yourselves or get them from someone that did.

 

Relighting is a different project - to my knowledge it isn't using the LIGHTMAP lump for its tricks.

Share this post


Link to post

Okay, thank you all so much for explaining this! I'll keep an eye out for a future version of GZDoom with lightmapping. And thanks to everyone who is working on this feature - it looks incredible.

Share this post


Link to post

That thread was interesting to read, and it produced a want for baked lights i never knew i had. Good light does tie whole room together.

Share this post


Link to post

Relighting does implement baked sidedef lighting (not tiered because ZScript), but it all depends on light source placement. Generally I've used a modified polylabel algorithm for labeling maps to find the point of inaccessibility in irregular sector polygons meeting criteria to place a light source and then light textures by the inverse square law in WorldLoaded(). There are other lighting sources, but that's the main thing since it uses the author's design.

 

 

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×