Hard Light Productions Forums

Modding, Mission Design, and Coding => FS2 Open Coding - The Source Code Project (SCP) => Topic started by: The E on February 03, 2018, 12:29:19 pm

Title: New lighting defaults
Post by: The E on February 03, 2018, 12:29:19 pm
Over the past few versions, we have made considerable changes to the FSO renderer. As a result, I feel like the current default lighting settings are no longer as good as they were; IMHO, they tend to produce very flat lighting that, on modern models, just does not look good. There's a discussion about this on GitHub (https://github.com/scp-fs2open/fs2open.github.com/issues/1587), which I would ask people to join and help make a decision  about whether we should alter the defaults, and if we do, to which values.
Title: Re: New lighting defaults
Post by: Spoon on February 03, 2018, 01:22:54 pm
A bloom value of 75 definitely seems a bit on the high side, and reducing that to a value between 20 to 30 seems like a good idea to me. With the new lighting, I find changes in ambient factor numbers to be kind of hard to notice the difference with. I'd imagine bringing that down to around 80ish values probably wouldn't harm though.
Title: Re: New lighting defaults
Post by: FrikgFeek on February 03, 2018, 01:42:23 pm
There's actually a pretty big difference between ambient values, though it can be hard to notice with emissive light enabled.

Here are 2 shots from Artemis station with default ambient(120) and -ambient_factor 55. The rest of the settings are identical(my custom settings).


(https://i.imgur.com/KnturlX.png)
(https://i.imgur.com/GZJxeez.png)

As you can probably see there's a pretty big difference here. Note the ship in the background that's completely flat with default ambient while being much darker with ambient 55.

And here's a shot with ambient 65. Even with a small change in ambient there's a rather small but noticeable effect on looks.
(https://i.imgur.com/g55cnPu.png)

The Karuna itself looks nearly identical because It's mostly illuminated by the sun but the background ships not facing the sun are slightly brighter and more visible. I think this is a good base value.

Now I'm not one to go for ULTRASUPERDARKREALISM where you can't see what you're shooting at but I much prefer a combination of low ambient and high static to the default settings. Bumping up static to ~3 provides enough light that you can clearly see things while also being more directional and providing more interesting looking shadows(where default ambient is so high it basically swallows up shadows).
Title: Re: New lighting defaults
Post by: The E on February 03, 2018, 02:04:05 pm
What strikes me the most about that comparison how badly the team colors are working there. That is a separate issue, however.
Title: Re: New lighting defaults
Post by: Spoon on February 03, 2018, 02:22:01 pm
Okay yeah, that's pretty noticable indeed. The 65 value definitely looks better to me than the default.

I guess my fault lies with me checking the ambient values in the shiplab, instead of a good in-mission example. (and I do always have emissive light enabled)
Title: Re: New lighting defaults
Post by: FrikgFeek on February 03, 2018, 02:28:11 pm
Imo emissive light fixes a problem that's not really there in newer HDR builds. Back on 3.7.4 these same settings would look dark as **** and trying to actually identify a fighter visually would be almost impossible. For example in an older version of BP I remember having massive issues landing on a Titan because emissive light was off and ambient was low. I literally couldn't see the fighterbay.

On newer nightlies you can get a pretty decent look while also retaining enough visibility to never feel like you're flying blind, so emissive light just 'flattens' the look of most ships. High static values help and you can always use post-processing.tbl brightness as well.

(https://i.imgur.com/NIRjrUX.png)

Same settings with the old lighting model(3.7.4). Back then emissive light was pretty useful if you ever wanted to see what you're shooting at.
Title: Re: New lighting defaults
Post by: Spoon on February 03, 2018, 02:36:10 pm
Yeah, that's exactly why I never wanted to turn off emissive light, stuff just got absurdly dark.

I'm definitely going to have to do some testing on how things look with or without it, under these new conditions.
Title: Re: New lighting defaults
Post by: Mongoose on February 05, 2018, 03:16:30 pm
This would be much appreciated. :yes: I always left things at the default values because I was a lazy bum who didn't feel like jumping in and out of the game a few dozen times while playing with numbers, but it was kind of a bummer never seeing things look as nice as a lot of the screenshots out there.
Title: Re: New lighting defaults
Post by: The E on February 07, 2018, 11:27:20 am
Since I'm working on improving the lab, I thought I might as well add lighting options to the things you could test in the lab.


If you want to play around with this yourself, test builds (compiled for 64-bit AVX) can be found here (https://www.dropbox.com/s/5rudi5rp1275ys6/NewLabTest.7z?dl=0).
Title: Re: New lighting defaults
Post by: FrikgFeek on February 07, 2018, 02:47:01 pm
Thanks to The_E's new tehcroom stuff I was able to more closely examine the effect of lighting flags on model loook and I've found something potentially concerning.


There's an interesting way that the lighting interacts with PBR and non-PBR assets. PBR assets will have really dark "main" textures which are the only ones ambient light is applied to(well, it also applies to team colours and added decals). This means -ambient_factor does basically **** all for PBR models.

Now, they'll also have bright -reflect textures, like non-PBR models with their -shine textures. This is the only part spec_static actually applies to. Now, static lighting does seem to apply to the "main" texture but it isn't controlled by spec_static.

What this means in practice is that PBR models will mostly be affected by -spec_static while non-PBR ones will mostly be affected by -ambient_factor. -spec static does have an effect but it only makes them shinier when facing light sources. The effect of static lights on their "main" texture can't be controlled via -spec_static.

In my opinion both ambient_factor and spec_static should apply to both the "main" texture and spec. This way modders(and players) would be able to achieve a somewhat similar lighting look for both PBR and non-PBR models which is what a vast majority of mods currently have.

Additionally, for missions where $Ambient light level: is set to 0 or 7895160(120 on all 3 channels, the default setting) or lower any ambient factor below 70.2 will be identical to 0 as it will result in a "final" ambient value below 0.02. This mission ambient setting is used in all MediaVPs missions and a vast number of mod missions as well. Just a note for tweaking defaults.


I've created an imgur album with pictures of what PBR and non PBR ships look like under different lighting settings to demonstrate my point.
https://imgur.com/gallery/v8IRA

This might also explain why Spoon saw basically no difference between ambient settings, if WoD is mostly using newer PBR models then you really wouldn't see much of a difference between ambient 0 and 128.
Title: Re: New lighting defaults
Post by: Lykurgos88 on February 13, 2018, 02:15:56 pm
I must reiterate: If HDR were to be optional, it would solve many problems. With HDR disabled, the ambient lighting settings will again work like they used to. Even the old presets would look better.

So just make HDR optional... Please?  :D

But yes, back to the topic. I think the changes in 3.8.0 were too massive and the version was hastily released without considering how the overall gamelook changed for many players. Changing the default settings is a must - yes - but I think there needs be a way to revert the original functionality of "-ambient_factor" without killing all the "bloom post processing". Ambient light was one of the most important commandlines in earlier versions. I didn't use "-no_emissive_light", because it caused ships to disappear against the black space, but instead I used low "ambient factor" and low bloom settings. After 3.8.0 released I have found it utterly impossible to find graphic settings that suit me.

Additionally: So apparently the following command lines don't work either after 3.8.0

-ogl_spec
-spec_exp
-nospec


I don't have the rights for Hard Light Wiki, so can anyone write the relevant disclaimers for these command lines to this page? http://wiki.hard-light.net/index.php/Command-Line_Reference (http://wiki.hard-light.net/index.php/Command-Line_Reference) It would reduce the overall confusion.

How about -nonormal, -noenv, -noglow, -nonormal or -noheight? Do they still work?
Title: Re: New lighting defaults
Post by: The E on February 13, 2018, 04:05:18 pm
I must reiterate: If HDR were to be optional, it would solve many problems. With HDR disabled, the ambient lighting settings will again work like they used to. Even the old presets would look better.

So just make HDR optional... Please?  :D

This is not trivial.

Also, the ambient lighting settings, even with HDR disabled, will not work exactly as they did before; the renderer has changed too much to make that guaranteeable.

Quote
But yes, back to the topic. I think the changes in 3.8.0 were too massive and the version was hastily released without considering how the overall gamelook changed for many players. Changing the default settings is a must - yes - but I think there needs be a way to revert the original functionality of "-ambient_factor" without killing all the "bloom post processing". Ambient light was one of the most important commandlines in earlier versions. I didn't use "-no_emissive_light", because it caused ships to disappear against the black space, but instead I used low "ambient factor" and low bloom settings. After 3.8.0 released I have found it utterly impossible to find graphic settings that suit me.

There's a test build in this thread that allows you to easily experiment with the available parameters. If you cannot run AVX, I can make other builds as well.

Quote
Additionally: So apparently the following command lines don't work either after 3.8.0

-ogl_spec
-spec_exp
-nospec

ogl_spec and spec_exp are scheduled to be removed (see here (https://github.com/scp-fs2open/fs2open.github.com/pull/1593)), as there is no way to express what these things did that makes sense in the new renderer.
-nospec definitely still works.

Quote
How about -nonormal, -noenv, -noglow, -nonormal or -noheight? Do they still work?

Yes.