The structure is based around multiple variables. Each one controls a very specific aspect of the lighting.
The variables below are taken out of the ini file.
| Sections: |
| Eye Adapt Speed: |
This is how fast the eye adjusts to new lighting conditions. This is noted to be a 'fake' adaption, it is not a realistic eye adaption. |
| Eye Adapt Strength: |
This is how strong the eye adaption is. See note above regarding eye adaption. |
| Bloom Radius: |
The fuzzy lighting effects produced on objects. This is the radius of the fuzzy lighting. |
| Bloom Threshold: |
The fuzzy lighting effects produced on objects. This is the light threshold at which an object starts having the bloom effect. |
| Bloom Scale: |
The fuzzy lighting effects produced on objects. This is the scale of it, how bright the fuzzy lighting is. |
| Target Lum 1: |
This affects the brightness levels, but has little effect. |
| Target Lum 2: |
This affects brightness extensively - lower it to brighten, increase it to darken. |
| Sunlight Scale: |
This is how bright objects are lit up when in the sunlight. |
| Sky Scale: |
This is how bright the sky is. |
| Saturation: |
This is how colorful textures are. Oversaturated is bright, cartoonish, undersaturated is greyscale. |
| Brightness: |
This is how bright everything is, it directly controls brightness levels. |
| Contrast: |
The depth, the sharpness, of the difference in colors. It flattens or exaggerates light and dark pixels, taking them further from the 'middle' of the greyscale. Turning this up too high can ruin texture quality. |
| Tinting - Red: |
The level of red tinting applied to the screen. |
| Tinting - Green: |
The level of green tinting applied to the screen. |
| Tinting - Blue: |
The level of blue tinting applied to the screen. |
| Tinting - Alpha: |
The transparency level of the tinting applied to the screen. |
***BASICS***
So, here you are. The average user right now would probably have the ini file open, looking at all these random things, with no idea as to how to get
the effect that they want. I'll try and explain the basics of it - and then below, I'll give examples of changes and how to combine values.
To start off with - the entire ini is RELATIVE. This means that they change the values based upon what the original value is, and are not actually setting the values
to be used. This is because each nighttime setting has all kinds of values. You wouldn't want the same brightness in an overcast night and a clear night with
an aurora. So it's all relative. These are also changing the 'imagespaces', which is how the lighting is portrayed on the screen. They cannot isolate
specific objects to change - for example, I've had comments on how to change the mountain imagespaces. To clear this up, there are no mountain imagespaces.
All there are are imagespaces relating to weather and times, that govern how the lighting, tinting, and HDR are at those times.
There's two categories of settings, and multiple implementations of them. By categories, I mean these two things - multipliers, and modifiers.
In the ini file, all the modifiers are referred to as 'Mod'. These two categories are very significant. The first, multipliers, are multiplied
against the base values that a setting may have. So if a value in-game is 1.2, and the multiplier for it is set to 1.2, then the value used will be
1.44 (which is 1.2 * 1.2). These stack with each other - a global multiplier and a night multiplier, if each are 2, with a base of 2, will end up being
2 * 2 * 2 = 8 for only the night value. If the night is .5, you get 2 * 2 * .5 = 4, but only for nights. All the others will use the multiplier for their own
table and the global multiplier of 2.
Modifiers are a bit different - they are added or subtracted against the base value, AFTER it has gone through the multiplication process. Taking from the example above
if you have a value of 1.2, a multiplier of 1.2, and a modifier of .5 - the final result is 1.2 * 1.2 + .5 = 1.44 + .5 = 1.94. Again, these stack with each
types of values, and again, these are all relative to the initial value.
If, for example, you wanted to set saturation globally to ONLY 1, and never any different - you would set the multiplier to 0, and the modifier to 1. This
will then use the calculation of (base) * 0 + 1 = 0 + 1 = 1, for every value.
One last caveat; values cannot be set to below 0. I've hard-capped all of these in the program. Tinting cannot be set higher than 1.
Brightness cannot go lower than .15. Any values can go extremely high, but as you get higher, it has less of an effect to increase it - or it becomes unusable.
Table of Examples:
| Examples: |
| Example 1: Night Base Brightness = .2 from plugin, global multiplier = 1.5, global modifier .3, night multiplier = .8, night modifier = .2. |
Final Result for Nighttime: (.2) * (1.5) * (.8) + (.3) + (.2) = 1.1. |
| Example 1: Night Base Contrast = 1.0 from plugin, global multiplier = 1.2, global modifier .7, night multiplier = -.2, night modifier = .7. |
Final Result for Nighttime: (1.0) * (1.2) * (-.2) + (.7) + (..7) = 1.16. |
| Example 1: Daytime Base Saturation = 1.7 from plugin, global multiplier = .5, global modifier -.3, day multiplier = 1.6, day modifier = .2. |
Final Result for Nighttime: (1.7) * (.5) * (1.6) + (-.3) + (.2) = 1.26.
OR Final Result for Nighttime: (1.7) * (.5) * (1.6) - (.3) + (.2) = 1.26. |
| Example 1: Night Base Contrast = 1.0 from plugin, global multiplier = 1.2, global modifier .7, night multiplier = -1.0, night modifier = .1. |
Final Result for Nighttime: (1.0) * (1.2) * (-1.0) + (.7) + (.1) = -0.4.
However; since negatives are not allowed, the patcher sees this and sets the contrast to 0. |
I hope this clears things up a bit - enjoy experimenting.
~Pluto