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

GZDoom Dynamic Lights!

Recommended Posts

Hey Graffy.

GZDoom is my favorite source-port. I used to stick to vanilla, until I was forced to find another executable because of the Windows XP incompatibilities. I moved on to Boom and GLBoom, but the gameplay was never as precise as it was in vanilla. I always used to hate ZDoom, primarily for its odd mouse-input reading. When I tried GZDoom, I was most pleasantly surprised. GZDoom is now IMO the source-port with the most accurate gameplay, in addition to sporting probably the best mapping finesses and special effects around.

I recently learned to do dynamic lights. It looks beautiful and is the perfect complement to the now-strong level-design features.

I was wondering if there are plans to improve on this aspect?

Two things that IMO are necessary, are for the dynamic light to clip on sector walls, and the possibility to define the light-object's X/Y/Z dimensions.

I think we would all appreciate these features, that would greatly benefit the mod community, and breathe yet another deep-belly blow of fresh air to the life of our favorite action-game.

Share this post


Link to post
gemini09 said:

I was wondering if there are plans to improve on this aspect?

There aren't.

As a rule, you should not expect any new rendering feature in GZDoom, except if required to keep up with ZDoom.

Share this post


Link to post

Do you code for GZDoom too?

In any case - if it's technically possible, I think there should without any doubt be plans for improving the dynamic lighting on these two areas. It has the potential and not exploiting it would be a very sad thing to waste.

Share this post


Link to post
gemini09 said:

Do you code for GZDoom too?

Yeah, but I'm not touching the rendering code.

Share this post


Link to post
Gez said:

There aren't.

Unless a new programmer offers to work on the 3d code? The dynamic lights could use some enhancements, such as making them movable or changing their flickering patterns.

Share this post


Link to post
printz said:

...or changing their flickering patterns.


You could just create a custom mobj that gives off dynamic light to set the state lengths to whatever you wish?

Share this post


Link to post
gemini09 said:

Do you code for GZDoom too?

In any case - if it's technically possible, I think there should without any doubt be plans for improving the dynamic lighting on these two areas. It has the potential and not exploiting it would be a very sad thing to waste.


Proper light clipping is a highly non-trivial task that requires quite a bit of processing of the level. With a Doom based engine it's not easily done. Vavoom does it by calculating lightmaps at runtime. But that's a) slow and b) not doable without some huge additional data tables that need to be generated for each level.

It's way beyond GZDoom's scope.

Concerning light sizes, I don't understand what you want. You already can set a light size so what precisely do you miss?

Share this post


Link to post
Graf Zahl said:

Vavoom does it by calculating lightmaps at runtime.

Actually, Vavoom recently added real-time lighting in its SVN builds. Not sure on its process though, but I doubt it pre-builds them as things get a tad sluggish when you have a lot onscreen (TNT map30 is basically overkill, yet somehow still playable).

Share this post


Link to post
Sigvatr said:

GZDoom still needs to support normal mapped textures.

Really? Would it be noticeable with Doom sector lighting? Besides, the textures are all low-res, I'm not sure that overlapping high-res normal maps will be okay.

Share this post


Link to post
printz said:

Really? Would it be noticeable with Doom sector lighting? Besides, the textures are all low-res, I'm not sure that overlapping high-res normal maps will be okay.


Wouldn't be too hard to make the normal maps with current technology.

I think low res ones would look fantastic.

Share this post


Link to post
printz said:

Really? Would it be noticeable with Doom sector lighting?


No. For normal maps to have an effect you need directional light. Since that doesn't really exist in Doom unless you add dynamic lights you'd have to fake it.

printz said:

Besides, the textures are all low-res, I'm not sure that overlapping high-res normal maps will be okay.


I'd say it depends on the texture. On some it may work, on others not.

Share this post


Link to post

I'm not talking about sector lighting but dynamic lighting.

Then again you could somehow assign sectors with a light direction but that might be pushing.

Share this post


Link to post
Graf Zahl said:

Concerning light sizes, I don't understand what you want. You already can set a light size so what precisely do you miss?


I mean the possibility to change a light-object's X/Y/Z dimensions independently, so it can be shaped like a rectangle. It would make dynamic-lighting much easier to use, and require less entities to light up an area in the desired way.



In this area, I would prefer to use one light-object placed at the center of both walls, that is about 384 units wide, and 32 units high.

Here's a little look at the Doom 3 lighting properties:



It would also be neat to have a light-object that casts shadows. So in my first screen-shot, I could place a 384x32 unit large light-object at the center of the hallway, on the ceiling, to cast shadows there.. :))

Share this post


Link to post
gemini09 said:

It would also be neat to have a light-object that casts shadows. So in my first screen-shot, I could place a 384x32 unit large light-object at the center of the hallway, on the ceiling, to cast shadows there.. :))



That will never happen with how the engine works. This is Doom, not some modern game so there's technical limitations to what can be done.

Share this post


Link to post

What if you think of it as a black shader, rather than shadows?

After all, aren't the dynamic lights only shaders that apply brighter textures to the surroundings? Or am I way off here?

Share this post


Link to post

Would it be possible to flag linedefs as "block dynamic lighting"?

Pardon the many questions and requests, but I'm just trying to encourage useful, new finesses, that more importantly would be very valuable to my current maps :)

Share this post


Link to post
gemini09 said:

Hey Graffy.

GZDoom is my favorite source-port. I used to stick to vanilla, until I was forced to find another executable because of the Windows XP incompatibilities.


Chocolate Doom?

Share this post


Link to post
gemini09 said:

Would it be possible to flag linedefs as "block dynamic lighting"?

If it were possible, I'm pretty sure it would have been implemented for single-sided linedefs already.

Share this post


Link to post

Ah, yes, of course...

I'll remain hopeful! It would really be a valuable feature.

kristus said:

Chocolate Doom?


I've actually yet to try it out. But it'll be a fun ride down memory-lane, I'm sure :)

Share this post


Link to post
gemini09 said:

Would it be possible to flag linedefs as "block dynamic lighting"?

A Sidedef flag would be preferable. It would apply to the open area on each face of a two-sided Linedef.

We already have similar functionality in Doomsday for use when dealing with one-way walls, like those in Heretic E1M2. Except we do it per-seg as it suits us that way internally.

Share this post


Link to post

Is it technically too difficult to make floor/ceiling reflectiveness transferable onto 3d floors? Disregard this post if it's already in

Share this post


Link to post

The reflections are more or less hacked in. It may be doable to a degree but it's not something I'd like to mess around with.

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
×