fabiangreffrath / woof

Woof! is a continuation of the Boom/MBF bloodline of Doom source ports.
GNU General Public License v2.0
208 stars 34 forks source link

[Suggestion] Brightmaps adjustment #740

Closed NightFright2k19 closed 2 years ago

NightFright2k19 commented 2 years ago

Brightmaps for two Doom 1 textures would look better/"cleaner" if certain green tones were excluded from the bm effect: COMP01_1 and COMP1B_4.

Pixels in question have been marked in the attached images. COMP01_1 COMP1B_4

fabiangreffrath commented 2 years ago

I guess that's a case for @JNechaevsky! 🚨

JNechaevsky commented 2 years ago

Sure, that's my favorite job to do! Both patches are used in COMPUTE1 texture which was somehow missed on my b-maps testing level. 😳

With little changes and not by adding new exclusive b-map, it will be like this (COMPUTE2 on left, COMPUTE1 on right). Missing green color is not very good, but otherwise we'll have some straying pixels:

![image](https://user-images.githubusercontent.com/21193394/191203116-8afe97ab-0c39-408a-bc22-4e443ea7f5ea.png) ``` static const byte bluegreenbrown[256] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; ```

But this way we'll lost few orange pixels on COMPUTE2 which is also not good, so it will be better to have unique, nicer one for COMPUTE2.

So the question is: do we want a polished bmap for exactly one texture, or do we want more unified bmap for both textures? It's not about the size of executable, it's mostly about compatibility with custom textures. But since Doom 1 is used less frequently, I believe it will be fine to have a unique one. Anyway, I will need some extra time to make a polished version, will gladly do it in the evening.

fabiangreffrath commented 2 years ago

In Woof, we currently have the COMPUTE1 texture use the notgrayorbrown brightmap and the COMPUTE2 texture use the bluegreenbrown brightmap:

r_bmaps.c
422:    {"COMPUTE1", DOOM1AND2, notgrayorbrown},
423:    {"COMPUTE2", DOOM1AND2, bluegreenbrown},

The notgrayorbrown brightmap is used by quite a few other textures, but the bluegreenbrown brightmap is exclusive to the COMPUTE2 texture. So, in the end, we already have a 1:1 mapping between brightmap and texture for at least one texture (COMPUTE2) and I wouldn't mind if we did the same for the COMPUTE1 texture as well. "Equal rights for all!" 😁

fabiangreffrath commented 2 years ago

BTW, I know I have asked this before, but while we are currently talking about brightmaps again: Is there anything in REKKR that could benefit from brightmaps? Has anyone ever taken the effort to check this IWAD for brightmap opportunities?

JNechaevsky commented 2 years ago

That's a perfect motivation words, I think it will be named bluegreenbrownred as red color will be added. 🙃 Really nice texture, too bad it's pretty rare (or is it appearing only at E2M7 AFAIR?), but fortunatelly we still have custom levels.

BTW, I know I have asked this before, but while we are currently talking about brightmaps again: Is there anything in REKKR that could benefit from brightmaps? Has anyone ever taken the effort to check this IWAD for brightmap opportunities?

Nope, I haven't. It's a diligently made TC, but I simply not a fan of such TCs and literally finished just E1M1 there.

There was one extra texture from Doom II which fits well from b-mapping, and probably it's currently unique for ID only. Will show as well once I'll get home.

fabiangreffrath commented 2 years ago

Cool, I am already looking forward to it!

NightFright2k19 commented 2 years ago

[...] Has anyone ever taken the effort to check this IWAD for brightmap opportunities?

Brightmap definitions for REKKR are inside of GLDEFS in rekkrgz.pk3. Dunno if all of them are relevant, but I have attached the definitions for your convenience, anyway.

rekkr_brightmaps.txt

JNechaevsky commented 2 years ago

Which one is better, left (no keys lit) or right (keys are lit)?

![image](https://user-images.githubusercontent.com/21193394/191292372-baa90b36-887b-4cae-a61c-42a005fea623.png)

If left, then we probably should darken keys on COMPUTE2 (left one) as well? Now they are lit:

![image](https://user-images.githubusercontent.com/21193394/191292951-cae451ec-e460-48d0-8db1-aa701d9adde8.png)

Some opinions will be really nice. I can't lit whole keyboard section, otherwise heavy pixel straying will appear on both texters.

As about extra suggested texture, it's a METAL3 with it's red lamp area. Red color only, otherwise straying with energy sign will happen. Fortunately, all we need is redonly brightmap. Screenshot examples: 1, 2, 3.

@NightFright2k19, thanks for the file! We can't use GZDoom data, but still can use this file as a reference, probably for textures only. I've some attempts to add b-maps for sprites via PLAYPAL implementation - no, no good result. Some monsters are turning into lightbulbs, other ones looks rarther odd than good.

fabiangreffrath commented 2 years ago

I think I like the right variant better. I wouldn't understand why the yellow buttons on the right of the green and blue ribbons are highlighted while the left ones are not.

Regarding METAL3 I am not sure. Don't you think with the red area highlighted it couldn't get too easily mistaken as a switch?

JNechaevsky commented 2 years ago

I wouldn't understand why the yellow buttons on the right of the green and blue ribbons are highlighted while the left ones are not.

Exactly! That's why keyboards should be either lit or dark on both textures. If you prefer lit keyboard, sure, I'll proceed this way.

Don't you think with the red area highlighted it couldn't get too easily mistaken as a switch?

Heh, indeed. More of that, I often pressing such texture in custom maps. Not sure why, it's like an... instinct? So yeah, it may be considered as "switch" in some aspects.

NightFright2k19 commented 2 years ago

I would also go for the version with lit keys, to keep consistency with existing brightmaps and since it simply looks more interesting.

Regarding METAL3: I think we'd all survive it if that one won't get a brightmap, let's put it like that.

Side note: There's currently just one texture I know of with a (minor) brightmap glitch that can't be fixed IIRC: A stray pixel on one of the lit/activated gargoyle switches which has the same color as other parts which are supposed to be fullbright. I am using an edited version of that texture since it seems to be the only workaround. Guess I am a bit nitpicky since it's just a single pixel, but once I see a glitch, even if it's a minor one, I just cannot unsee it any more.

JNechaevsky commented 2 years ago

Oh yes, I know exactly which pixel is meaning. It is possible to unlit it, but the result will be not really nice (on the right side): image

fabiangreffrath commented 2 years ago

https://github.com/fabiangreffrath/woof/commit/147e57c3b6c6bd3287a7885d3866c4faf1fa5900

NightFright2k19 commented 2 years ago

It's quite alright, that one pixel isn't worth the trouble. Thanks a lot for taking care of the COMPUTE1 brightmaps!