MrAlaux / Nugget-Doom

Nugget Doom is a fork of Woof! with additional features.
GNU General Public License v2.0
60 stars 3 forks source link

[Feature] smooth fake contrast? #80

Closed kitchen-ace closed 9 months ago

kitchen-ace commented 9 months ago

Since you already have a switch for toggling fake contrast on or off, what would you think about implementing smooth fake contrast like in dsda or gzdoom? It's pretty subtle but I like it.

MrAlaux commented 9 months ago

Woof, and by consequence Nugget, already seem to have some "smooth fake contrast" allegedly from Crispy. Is this what you want?

https://github.com/MrAlaux/Nugget-Doom/blob/1e16a58b7df287cdf825e4432c882e87fd7f775d/src/p_setup.c#L1445-L1455

MrAlaux commented 9 months ago

Not sure what'd be some proper geometry to try it on, but here's a quick comparison: ezgif com-gif-maker

EDIT: Since we already have a setting for fake contrast, I guess I can extend it to allow reverting back to the vanilla implementation. Seems that making the effect smoother means making it more aggressive.

kitchen-ace commented 9 months ago

Ah interesting, Crispy/Woof/Nugget's implementation is still somewhat quantized as far as the amount of light shift applied, but extends it to walls that are angled. That's good enough really.

What DSDA does is extend the light shift level proportionally to the angle, so it's a bit smoother.

I don't notice the effect of Woof's implementation in the "usual" places that I check for fake contrast like the start of MAP01 of doom2 but in practice I doubt it will make much difference.

dsda, normal fake contrast: doom00

dsda, smooth fake contrast: doom01

woof: woof0000

Anyhow I'm just going to close this :)

MrAlaux commented 9 months ago

Ah interesting, Crispy/Woof/Nugget's implementation is still somewhat quantized as far as the amount of light shift applied, but extends it to walls that are angled. That's good enough really.

FWIW, it appears that Woof/Nugget's implementation (can't say about Crispy's) relies on the Smooth Diminishing Lighting setting to some degree.

MrAlaux commented 9 months ago

EDIT: Since we already have a setting for fake contrast, I guess I can extend it to allow reverting back to the vanilla implementation.

Done in https://github.com/MrAlaux/Nugget-Doom/commit/d613a9abaa50124b39ef60d3f697c57d58c86086.