Lighting Profiles.tbl
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:
- 2 #END DEFAULT PROFILE
- 3 Adjustable values
- 4 Sample Entry
- 5 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.
$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. You probably want this to be quite low given the darkness of the void.
- 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 get a naturally occuring bloom effect, as the amount of lights that the tonemapper considers 'too bright to handle' increases. Settings this high means that that bloom effect is diminished, 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. This setting gradually has more effect as exposure increases.
- Syntax: Float
- Default: 0.0
$PPC Shoulder Angle:
Shoulder angle adjusts the compensation for overshoot: When the image becomes too bright for the tonemapper to handle, a higher setting here will try to bring the detail in those overly bright areas back, whilst a lower setting will desaturate bright areas.
- 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 $laesr 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:
- Currently this value is parsed but not used. It will most likely be used in 22.4 but this change has not yet been submitted. When it is the information below will apply.
- An Adjustable value applied to the brightness of all directional lights, such as level suns.
- Syntax: See Adjustable values
$Ambient light brightness:
- Currently this value is parsed but not used. It will most likely be used in 22.4 but this change has not yet been submitted. When it is the information below will apply.
- An Adjustable value applied to the brightness of ambient level lighting.
- Syntax: See Adjustable values
#END DEFAULT PROFILE
Required to close the default profile 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: +Base: 20 $Laser Light Radius: +Base: 100 $Beam Light Radius: +Base: 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