Difference between revisions of "Lighting Profiles.tbl"
(→$PPC Shoulder Angle:) |
EatThePath (talk | contribs) m (→#END DEFAULT PROFILE) |
||
(17 intermediate revisions by 4 users not shown) | |||
Line 23: | Line 23: | ||
**Reinhard Jodie: Another version of Reinhard that makes bright colors less saturated than Reinhard Extended | **Reinhard Jodie: Another version of Reinhard that makes bright colors less saturated than Reinhard Extended | ||
**PPC: Piecewise power curve, a configurable curve meant to give artists flexible and simple control over the look. Applies to pixel luminance. Configuration options are also available in this table. See [http://filmicworlds.com/blog/filmic-tonemapping-with-piecewise-power-curves/] for detailed breakdown of what this is doing. | **PPC: Piecewise power curve, a configurable curve meant to give artists flexible and simple control over the look. Applies to pixel luminance. Configuration options are also available in this table. See [http://filmicworlds.com/blog/filmic-tonemapping-with-piecewise-power-curves/] for detailed breakdown of what this is doing. | ||
− | **PPC RGB: As with PPC, except applying to each color channel individually rather than combined luminance. | + | **PPC RGB: As with PPC, except applying to each color channel individually rather than combined luminance, which gives a more vibrant look. |
+ | |||
+ | The best way to view the differences between all of these is to open the F3 lab. | ||
}} | }} | ||
+ | |||
===$Exposure:=== | ===$Exposure:=== | ||
{{Table220| | {{Table220| | ||
Line 53: | Line 56: | ||
===$PPC Toe Length:=== | ===$PPC Toe Length:=== | ||
{{Table220| | {{Table220| | ||
− | Toe length | + | Toe length determines the mid-point where the toe stops and the shoulder begins. In layman's terms, this determines what the renderer considers "dark" areas and what it considers "bright" areas. |
*Syntax: '''''Float''''' | *Syntax: '''''Float''''' | ||
*Default: 0.5 | *Default: 0.5 | ||
Line 60: | Line 63: | ||
===$PPC Shoulder Length:=== | ===$PPC Shoulder Length:=== | ||
{{Table220| | {{Table220| | ||
− | Shoulder length | + | There's no such thing as finite brightness in space, but there is on your monitor. Shoulder length determines at which point the tonemapper stops adjusting for overexposure and simply lets it happen. If you set this to a low value you'll see a lot of bright white spots, as the amount of lights that the tonemapper considers 'too bright to handle' increases. Settings this high means you'll see less full white areas, at the risk of making highlights look a bit dull as they're being compressed in order to fit within the displayable range. |
*Syntax: '''''Float''''' | *Syntax: '''''Float''''' | ||
*Default: 0.5 | *Default: 0.5 | ||
Line 67: | Line 70: | ||
===$PPC Shoulder Strength:=== | ===$PPC Shoulder Strength:=== | ||
{{Table220| | {{Table220| | ||
− | Shoulder strength adjusts how strongly the tonemapper compensates for bright areas. A high value means that brighter areas will be made less bright. A low value means that there's more "blindingly bright" areas in the scene. This setting gradually has more effect as exposure increases. | + | Shoulder strength adjusts how strongly the tonemapper compensates for bright areas. A high value means that brighter areas will be made less bright. A low value means that there's more "blindingly bright" areas in the scene. It differs from shoulder length in that shoulder length 'selects' the areas in which the shoulder should be applied, and shoulder strength determines how strongly it should be applied. |
+ | This setting gradually has more effect as exposure increases. | ||
*Syntax: '''''Float''''' | *Syntax: '''''Float''''' | ||
*Default: 0.0 | *Default: 0.0 | ||
Line 74: | Line 78: | ||
===$PPC Shoulder Angle:=== | ===$PPC Shoulder Angle:=== | ||
{{Table220| | {{Table220| | ||
− | + | Raising shoulder angle means that less bright in the shoulder are adjusted less, whilst very bright areas are compressed into a smaller range. In FS2 this is very noticable in backgrounds, which become more saturated (and eventually oversaturated) as shoulder angle increases. | |
*Syntax: '''''Float''''' | *Syntax: '''''Float''''' | ||
*Default: 0.1 | *Default: 0.1 | ||
Line 138: | Line 142: | ||
===$Point light radius:=== | ===$Point light radius:=== | ||
{{Table222| | {{Table222| | ||
− | *An [[Lighting_Profiles.tbl#Adjustable values|Adjustable value]] applied to the radius of all point lights, such as light cast by non-beam weapon. It is applied after any more specific adjustments such as $ | + | *An [[Lighting_Profiles.tbl#Adjustable values|Adjustable value]] applied to the radius of all point lights, such as light cast by non-beam weapon. It is applied after any more specific adjustments such as $laser light radius:. |
*Syntax: See [[Lighting_Profiles.tbl#Adjustable values|Adjustable values]] | *Syntax: See [[Lighting_Profiles.tbl#Adjustable values|Adjustable values]] | ||
*Default values: '''+multiplier: 1.25''' | *Default values: '''+multiplier: 1.25''' | ||
Line 157: | Line 161: | ||
===$Directional light brightness:=== | ===$Directional light brightness:=== | ||
− | {{ | + | {{Table224| |
*An [[Lighting_Profiles.tbl#Adjustable values|Adjustable value]] applied to the brightness of all directional lights, such as level suns. | *An [[Lighting_Profiles.tbl#Adjustable values|Adjustable value]] applied to the brightness of all directional lights, such as level suns. | ||
*Syntax: See [[Lighting_Profiles.tbl#Adjustable values|Adjustable values]] | *Syntax: See [[Lighting_Profiles.tbl#Adjustable values|Adjustable values]] | ||
Line 164: | Line 168: | ||
===$Ambient light brightness:=== | ===$Ambient light brightness:=== | ||
− | {{ | + | {{Table224| |
*An [[Lighting_Profiles.tbl#Adjustable values|Adjustable value]] applied to the brightness of ambient level lighting. | *An [[Lighting_Profiles.tbl#Adjustable values|Adjustable value]] applied to the brightness of ambient level lighting. | ||
+ | *Syntax: See [[Lighting_Profiles.tbl#Adjustable values|Adjustable values]] | ||
+ | }} | ||
+ | |||
+ | |||
+ | ===$Overall brightness:=== | ||
+ | {{Table224| | ||
+ | *An [[Lighting_Profiles.tbl#Adjustable values|Adjustable value]] applied to all adjustable light. | ||
+ | *Syntax: See [[Lighting_Profiles.tbl#Adjustable values|Adjustable values]] | ||
+ | }} | ||
+ | |||
+ | ===$Cockpit light radius modifier:=== | ||
+ | {{Table224| | ||
+ | *An [[Lighting_Profiles.tbl#Adjustable values|Adjustable value]] applied to the radius of all lights, only applied when rendering the player ships cockpit and "show ship" model | ||
*Syntax: See [[Lighting_Profiles.tbl#Adjustable values|Adjustable values]] | *Syntax: See [[Lighting_Profiles.tbl#Adjustable values|Adjustable values]] | ||
}} | }} | ||
Line 172: | Line 189: | ||
{{Table220| | {{Table220| | ||
Required to close the default profile section. | Required to close the default profile section. | ||
+ | }} | ||
+ | |||
+ | ==#PROFILES== | ||
+ | {{Table232| | ||
+ | Begins the standard, named profiles section. Named profiles can have all the same profile values set, but must be given a name. The name "Default Profile" can be used to define, or alter, the primary default profile. Other profiles can by assigned on a per-mission basis or viewed in the F3 lab. | ||
+ | }} | ||
+ | |||
+ | ===$Profile:=== | ||
+ | {{Table232| | ||
+ | The name of the profile being defined or modified. See the values above in the default profiles section for documentation on available settings. | ||
+ | }} | ||
+ | |||
+ | ==#END PROFILES== | ||
+ | {{Table232| | ||
+ | Required to close the profiles section. | ||
}} | }} | ||
Line 215: | Line 247: | ||
$Missile Light Radius: | $Missile Light Radius: | ||
− | + | + | +default: 20 |
$Laser Light Radius: | $Laser Light Radius: | ||
− | + | + | +default: 100 |
$Beam Light Radius: | $Beam Light Radius: | ||
− | + | + | +default: 37.5 |
$Point Light Radius: | $Point Light Radius: | ||
Line 231: | Line 263: | ||
#END DEFAULT PROFILE | #END DEFAULT PROFILE | ||
</pre> | </pre> | ||
+ | |||
== References == | == References == | ||
# [http://filmicworlds.com/blog/filmic-tonemapping-with-piecewise-power-curves/ Filmic Tonemapping with Piecewise Power Curves], John Hable | # [http://filmicworlds.com/blog/filmic-tonemapping-with-piecewise-power-curves/ Filmic Tonemapping with Piecewise Power Curves], John Hable |
Latest revision as of 00:58, 21 May 2023
This feature requires FreeSpace Open |
List of Tables and related code files | |
---|---|
* Notes Modular Tables | |
** Notes tables which only use modular tables | |
Ai.tbl* | /ai/aicode.cpp |
Ai_profiles.tbl* | /ai/ai_profiles.cpp |
Animation.tbl** | /model/modelanimation.cpp |
Armor.tbl* | /ship/ship.cpp |
Asteroid.tbl* | /asteroid/asteroid.cpp |
Autopilot.tbl* | /autopilot/autopilot.cpp |
Cheats.tbl* | /cheats_table/cheats_table.cpp |
Colors.tbl* | /globalincs/alphacolors.cpp |
Curves.tbl* | /math/curves.cpp |
Controlconfigdefaults.tbl | /controlconfig/controlsconfigcommon.cpp |
Credits.tbl* | /menuui/credits.cpp |
Cutscenes.tbl* | /cutscene/cutscenes.cpp |
Decals.tbl** | /decals/decals.cpp |
Fireball.tbl* | /fireball/fireballs.cpp |
Fonts.tbl* | /graphics/font.cpp |
Game_settings.tbl* | /mod_table/mod_table.cpp |
Glowpoints.tbl* | /model/modelread.cpp |
Help.tbl* | /gamehelp/contexthelp.cpp |
Hud_gauges.tbl* | /hud/hudparse.cpp |
Icons.tbl* | /mission/missionbriefcommon.cpp |
Iff_defs.tbl* | /iff_defs/iff_defs.cpp |
Keywords.tbl* | Not In Codebase |
Lighting_Profiles.tbl* | /lighting/lighting_profiles.cpp |
Lightning.tbl* | /nebula/neblightning.cpp |
Mainhall.tbl* | /menuui/mainhallmenu.cpp |
Medals.tbl* | /stats/medals.cpp |
Messages.tbl* | /mission/missionmessage.cpp |
Mflash.tbl* | /weapon/muzzleflash.cpp |
Music.tbl* | /gamesnd/eventmusic.cpp |
Nebula.tbl* | /nebula/neb.cpp |
Objecttypes.tbl* | /ship/ship.cpp |
Options.tbl* | Not In Codebase |
Particle effects(-part.tbm)** | /particle/effects... |
Post_processing.tbl | /graphics/gropenglpostprocessing.cpp |
Rank.tbl* | /stats/scoring.cpp |
Scpui.tbl* | Not In Codebase |
Scripting.tbl* | /parse/scripting.cpp |
Ships.tbl* | /ship/ship.cpp |
Sexps.tbl** | /parse/sexp/sexp_lookup.cpp |
Sounds.tbl* | /gamesnd/gamesnd.cpp |
Species_defs.tbl* | /species_defs/species_defs.cpp |
Species.tbl* | /menuui/techmenu.cpp |
Ssm.tbl* | /hud/hudartillery.cpp |
Stars.tbl* | /starfield/starfield.cpp |
Strings.tbl* | /localization/localize.cpp |
Tips.tbl* | /menuui/playermenu.cpp |
Traitor.tbl* | /stats/scoring.cpp |
Tstrings.tbl* | /localization/localize.cpp |
Virtual_pofs.tbl* | /model/modelreplace.cpp |
Weapon_expl.tbl* | /weapon/weapons.cpp |
Weapons.tbl* | /weapon/weapons.cpp |
The lighting_profiles.tbl provides controls for the game's lighting and rendering pipeline. The current version only allows fixed settings, but expansion to allow runtime adjustment and swapping between different profiles is planned.
This table is one of the Modular Tables and can be extended with xxx-ltp.tbm
Contents
- 1 #DEFAULT PROFILE
- 1.1 $Tonemapper:
- 1.2 $Exposure:
- 1.3 PPC Adjustments
- 1.4 $PPC Toe Strength:
- 1.5 $PPC Toe Length:
- 1.6 $PPC Shoulder Length:
- 1.7 $PPC Shoulder Strength:
- 1.8 $PPC Shoulder Angle:
- 1.9 $Missile light brightness:
- 1.10 $Missile light radius:
- 1.11 $Laser light brightness:
- 1.12 $Laser light radius:
- 1.13 $Beam light brightness:
- 1.14 $Beam light radius:
- 1.15 $Tube light brightness:
- 1.16 $Tube light radius:
- 1.17 $Point light brightness:
- 1.18 $Point light radius:
- 1.19 $Cone light brightness:
- 1.20 $Cone light brightness:
- 1.21 $Directional light brightness:
- 1.22 $Ambient light brightness:
- 1.23 $Overall brightness:
- 1.24 $Cockpit light radius modifier:
- 2 #END DEFAULT PROFILE
- 3 #PROFILES
- 4 #END PROFILES
- 5 Adjustable values
- 6 Sample Entry
- 7 References
#DEFAULT PROFILE
This section defines the settings used by default. Entries may be included in any order, and the section must by closed by a #END DEFAULT PROFILE line.
$Tonemapper:
Sets the algorithm used for the tonemapping stage of rendering. See Tonemapping for more information on what this means in detail and comparisons of the options.
- Syntax: Str
- Options:
- Linear: Simple clamping and gamma correction. Not recommended in most cases.
- Uncharted 2: FSO's default tonemapper, a filmic look created by John Hable for the game of the same name. This option can also be selected with simply "uncharted"
- ACES: A filmic tonemapper that is the default for Unreal Engine 4, based on film industry standards. Good for high contrasts, has the quirk that it quite visibly desaturates bright colored lights towards white. This is especially visible in Freespace with red Shivan glows, which are bright enough to turn orange.
- ACES Approximate: A simplification of ACES featuring more saturated bright colors and faster rendering. Does not desaturate bright colors.
- Cineon: Another filmic option, similar to ACES it provides high contrast and vibrant colors, it preserves deep blacks but isn't quite as aggressive as ACES on dimly lit scenes.
- Reinhard Extended: A version of a common tonemapper that acts on luminance
- Reinhard Jodie: Another version of Reinhard that makes bright colors less saturated than Reinhard Extended
- PPC: Piecewise power curve, a configurable curve meant to give artists flexible and simple control over the look. Applies to pixel luminance. Configuration options are also available in this table. See [1] for detailed breakdown of what this is doing.
- PPC RGB: As with PPC, except applying to each color channel individually rather than combined luminance, which gives a more vibrant look.
The best way to view the differences between all of these is to open the F3 lab.
$Exposure:
The rendered scene is multiplied by this value before being tonemapped. Conceptually similar to the exposure time on a camera, higher numbers mean a brighter scene. By using lower exposure and higher values for static lights you could create a otherwise similar scene with more muted lights from ship glows, level backgrounds and weapons fire, or conversely using dim lights and high exposure would emphasize those other light sources.
- Syntax: Float
- Default: 4.0
PPC Adjustments
If you want to adjust the look of the PPC tonemapper, you can easily see what these settings do by using the F3 main lab.
- When in the main menu, press F3
- Select a ship class
- Select a background from a mission of your choice.
- Tweak settings and the desired tonemapper from the "Render Options" menu.
- Start by setting your desired exposure
- Set toe and shoulder strength to 0, then increase them slowly to see their effects in action.
- Adjust Exposure, Toe and Shoulder strength as desired.
- Use the length and angle settings for fine-tuning after you've honed down your desired look.
- Note the settings used and type them into this table.
$PPC Toe Strength:
Toe Strength adjusts how dark the shadows of a scene are. The higher the toe strength, the darker, and harder to distinguish from black, dark areas in the scene become. Conversely, a low value means that lowly lit objects are easier to distinguish from full black and eachother, but setting it too low can make areas that should be black look greyish. This setting is very sensitive to exposure. If you lower exposure, you will want to lower toe strength to get some visibility back.
- Syntax: Float
- Default: 0.5
$PPC Toe Length:
Toe length determines the mid-point where the toe stops and the shoulder begins. In layman's terms, this determines what the renderer considers "dark" areas and what it considers "bright" areas.
- Syntax: Float
- Default: 0.5
$PPC Shoulder Length:
There's no such thing as finite brightness in space, but there is on your monitor. Shoulder length determines at which point the tonemapper stops adjusting for overexposure and simply lets it happen. If you set this to a low value you'll see a lot of bright white spots, as the amount of lights that the tonemapper considers 'too bright to handle' increases. Settings this high means you'll see less full white areas, at the risk of making highlights look a bit dull as they're being compressed in order to fit within the displayable range.
- Syntax: Float
- Default: 0.5
$PPC Shoulder Strength:
Shoulder strength adjusts how strongly the tonemapper compensates for bright areas. A high value means that brighter areas will be made less bright. A low value means that there's more "blindingly bright" areas in the scene. It differs from shoulder length in that shoulder length 'selects' the areas in which the shoulder should be applied, and shoulder strength determines how strongly it should be applied. This setting gradually has more effect as exposure increases.
- Syntax: Float
- Default: 0.0
$PPC Shoulder Angle:
Raising shoulder angle means that less bright in the shoulder are adjusted less, whilst very bright areas are compressed into a smaller range. In FS2 this is very noticable in backgrounds, which become more saturated (and eventually oversaturated) as shoulder angle increases.
- Syntax: Float
- Default: 0.1
$Missile light brightness:
- An Adjustable value applied to the brightness of dynamic lights for missile weapons (any weapon using a model rather than a laser bitmap or beam).
- Syntax: See Adjustable values
$Missile light radius:
- An Adjustable value applied to the light radius dynamic lights for missile weapons (any weapon using a model rather than a laser bitmap or beam). +Default: is used for any such weapons not given specific sizes in the weapon tables.
- Syntax: See Adjustable values
- Default values: +default: 20
$Laser light brightness:
- An Adjustable value applied to the brightness of dynamic lights for laser weapons(weapons using a laser bitmap).
- Syntax: See Adjustable values
$Laser light radius:
- An Adjustable value applied to the light radius dynamic lights for laser weapons (weapons using a laser bitmap). +Default: is used for any such weapons not given specific sizes in the weapon tables.
- Syntax: See Adjustable values
- Default values: +default: 100
$Beam light brightness:
- An Adjustable value applied to the brightness of dynamic lights for beam weapons.
- Syntax: See Adjustable values
$Beam light radius:
- An Adjustable value applied to the light radius dynamic lights for beam weapons. Unless set otherwise on the specific weapon this is multiplied by the beam's width. +Default: is used for any such weapons not given specific sizes in the weapon tables.
- Syntax: See Adjustable values
- Default values: +default: 37.5
$Tube light brightness:
- An Adjustable value applied to the brightness of all tube lights, such as light cast by beam weapons. It is applied after any more specific adjustments such as $Beam light brightness:
- Syntax: See Adjustable values
$Tube light radius:
- An Adjustable value applied to the radius of all tube lights, such as light cast by beam weapons. It is applied after any more specific adjustments such as $Beam light radius:.
- Syntax: See Adjustable values
$Point light brightness:
- An Adjustable value applied to the brightness of all point lights, such as light cast by non-beam weapons. It is applied after any more specific adjustments such as $laser light brightness:
- Syntax: See Adjustable values
$Point light radius:
- An Adjustable value applied to the radius of all point lights, such as light cast by non-beam weapon. It is applied after any more specific adjustments such as $laser light radius:.
- Syntax: See Adjustable values
- Default values: +multiplier: 1.25
$Cone light brightness:
- An Adjustable value applied to the brightness of all cone lights. It is applied after any more specific adjustments that might exist.
- Syntax: See Adjustable values
$Cone light brightness:
- An Adjustable value applied to the brightness of all cone lights. It is applied after any more specific adjustments that might exist.
- Syntax: See Adjustable values
- Default values: +multiplier: 1.25
$Directional light brightness:
- An Adjustable value applied to the brightness of all directional lights, such as level suns.
- Syntax: See Adjustable values
$Ambient light brightness:
- An Adjustable value applied to the brightness of ambient level lighting.
- Syntax: See Adjustable values
$Overall brightness:
- An Adjustable value applied to all adjustable light.
- Syntax: See Adjustable values
$Cockpit light radius modifier:
- An Adjustable value applied to the radius of all lights, only applied when rendering the player ships cockpit and "show ship" model
- Syntax: See Adjustable values
#END DEFAULT PROFILE
Required to close the default profile section.
#PROFILES
Begins the standard, named profiles section. Named profiles can have all the same profile values set, but must be given a name. The name "Default Profile" can be used to define, or alter, the primary default profile. Other profiles can by assigned on a per-mission basis or viewed in the F3 lab.
$Profile:
The name of the profile being defined or modified. See the values above in the default profiles section for documentation on available settings.
#END PROFILES
Required to close the profiles section.
Adjustable values
Many profile values allow for a flexible set of configurable adjustments to existing values. These are applied to their inputs in a specific order and will be listed here in that order they, but can be defined in the tables in any order.
+default:
- For values that can be configured more specifically elsewhere, such as the sizes of dynamic weapon lights. Defaults are only meaningful for those proprties that list one in their default settings.
- Syntax: Float
+Multiplier:
- The input value will be multiplied by this amount
- Syntax: Float
+Adjustment:
- This amount will be added to the input value. Negative values allow for downward adjustments.
- Syntax: Float
+Minimum:
- Inputs below this amount will be set to it.
- Syntax: Float
+Maximum:
- Inputs above this amount will be set to it.
- Syntax: Float
Sample Entry
#DEFAULT PROFILE $Tonemapper: Uncharted 2 $Exposure: 4.0 $Missile Light Radius: +default: 20 $Laser Light Radius: +default: 100 $Beam Light Radius: +default: 37.5 $Point Light Radius: +Multiplier: 1.25 $Cone Light Radius: +Multiplier: 1.25 #END DEFAULT PROFILE
References
- Filmic Tonemapping with Piecewise Power Curves, John Hable
- Tone Mapping, 64
- Filmic Tonemapping Operators, John Hable