Pure 0.222 - New Features and Changes
Pure 0.222 - New Features and Changes
Pure 0.222 - New Features and Changes
Table of contents
Pure Config ...................................................................................................................................................................... 2
AI headlight control ..................................................................................................................................................... 2
Group design ............................................................................................................................................................... 2
Tonemapping control................................................................................................................................................... 2
Exposure fixes ................................................................................................................................................................. 3
CustomPP ........................................................................................................................................................................ 3
pureHDR.......................................................................................................................................................................... 4
pureVR ............................................................................................................................................................................ 5
Sunblinding shader .......................................................................................................................................................... 6
PPfilter “Sunblinding” integration ................................................................................................................................ 8
Complete Changelog Pure 0.205 -> 0.222 ........................................................................................................................ 9
Pure Config
AI headlight control
Finally, headlights can be controlled properly. CSP
now gives control over the scene, so headlights are
controllable, even in replays. You can also control
the high beams and force them to be high or low.
Group design
UI groups have a better design. The elements of the
group are shifted, and so it is clear that they are
members of the group.
Tonemapping control
UI elements can be added to the “PP Tonemapping control” group if their names start with “TONEMAPPING__”.
Exposure fixes
The exposure generation of the exposure handling tool is fixed. In mode 1 (eye-based – like in the standard pure filter),
the detection of light at night is improved. The super-exposure (the exposure that is set if the scenery is very dark) is
only achieved if nearly no light is visible, but it will safely come up when looking into the night sky.
CustomPP
AC’s post-processing is done by the Silicon Studio’s YEBIS suite. It’s a nice and powerful post-processing bundle.
It manages tonemapping (the conversion from the internal HDR color range to the LDR output range), picture
adjustments (brightness, saturation, color grading) and several effects like Godrays, Glare and others. But the usage is
limited to the settings file. So, AC’s postprocessing (PP) can’t be used to add own shaders or own HDR conversions.
With the newer CSP versions, YEBIS can be bypassed and a custom PP is possible. Pure’s customPP will do all the basic
things like YEBIS (tonemapping, color adjustment and color grading), but it has some optimizations and new features.
CustomPP uses a very lightweight variant of Glare. It is not as nice as the YEBIS one (maybe in the future), but it will give
some FPS back. It is like a functional Glare.
CustomPP also has an optimized autoexposure (AE) algorithm. It will detect little light sources much better than the
YEBIS AE and so exposure generation is more stable at night.
Due to customPP, HDR mapping and custom HDR mapping are now possible.
The new “pureHDR” PPfilter offers a new way to use HDR in AC.
pureHDR
HDR conversion, to emulate an LDR-like look but with higher tone resolution and precision
The pureHDR filter will force customPP, you don’t need to set anything. It also uses its own tone-mapping function –
coded inside the script, which brings great results, to achieve a functional and aesthetic HDR tone conversion. The
developed code provides a handy control to manage certain dynamic ranges.
The main idea of this PPfilter is to create an LDR-like look with just a little bit more dynamic range while using the higher
precision of the HDR output. The result is a very clear and sharp look with some higher dynamic range and a good
visibility of all parts of the picture.
This filter also has a unique feature. Very low tones will be desaturated. So, this kind of simulates the color-blindness in
the dark. Therefore, night scenes look much more realistic and immersive.
You can control/customize the tonal compression in Pure Config app – “PP” – “PP Tonemapping control”:
Input Brightness
Scales the input, before exponentiation
Output Brightness
Scales the output, before the limiter
Exponent
The exponent of the exponential function
output = inputexponent
Debug_clipping
Tones above the maximum are show red
Tones below 0.001 are shown green
Debug_curve
View the tone conversion as a curve
Display some gray bars to measure tone values
For more information about HDR setup and the pureHDR PPfilter, please take a look at the
HDR - Tutorial.pdf
pureVR
This is a filter made for VR to prevent typical distractions.
The YEBIS godrays are reduced. They have a strange geometric effect, and this is confusing in VR. I also adapted the new
Sunblinding shader to have a soft look.
The Uchimura tonemapping was also adapted to gain visibility while leaving a natural contrast. The tonemapping is
adapted to the current exposure and will change settings if “Exposure is driving focused” is set in the script settings.
The displays of HMDs are very different. Please use the “pp adjustments” in the Pure Config app “PP” tab to adjust your
preferred look.
If you usually switch between VR and Screen mode, you can use Pure’s video-related config option. This will separately
save Pure configs per video mode:
Sunblinding shader
A new Pure shader to gain immersion and feel the power of the sun.
After analyzing the Sun’s position and its coverage, Pure knows if the camera is looking directly into the sun. If the
Sunblinding shader is active, the already existing pure.utils.CamFacesSun() will then return the result of the
analyzation.
An optimized godrays shader is used to create a mask for the final visuals. This shader will take the Sun’s coverage into
account. And unlike the YEBIS godrays shader, wrong geometrics can be prevented.
YEBIS godrays:
Pure’s customPP
godrays:
Immersion is mostly subjective, and so the Sunblinding shader has many parameters to customize its look and feel.
active
Activate/Deactivate the sunblinding shader
allow_control
If unchecked, the shader cannot be manipulated by a
ppfilter. Your settings are fixed with any ppfilter/script.
sensitivity
adjust the trigger level
horizontal / vertical
limit the local recognition of the sun
time_up / time_down
the fade in and fade out time of the effect
cover
a simple overlay, which appears and disappears
immediately
blinding
a complex overlay, which takes fade times into
account. With extreme values a noise effect is added.
iris
darken the whole screen
opacity
the opacity of the star/godrays visuals
size
the size of the star
blur
the godrays streaks can be blurred to achieve a
seamless look
style
add a streaks mask, to force the streaks look
star_adapt_coverage
if the sun is hidden, this will control the reduction of
the godrays effect
star_caver_damping
if the sun is hidden, this will control the reduction of
the top streaks
color
adding more warm color to the visuals
half_resolution
This will only use half of the resolution for the final
visuals (maybe use this in TripleScreen mode)
debug
Activates the debug and shows the Sun recognition
area.
PPfilter “Sunblinding” integration
PPfilters can control the Sunblinding look. All Pure PPfilters have their own Sunblinding look and feel. In most of the
Pure filters, I added a “sunblinding” slider. With it, you can adjust the strength of the effect from 0 to the filter’s desired
maximum.
In the “pureCandy” filter, the effect strength is linked to the “candy” slider.
If you don’t want visually different “Sunblinding” effects in PPfilters, you can uncheck this option in the “Sunblinding”
shader settings:
Complete Changelog Pure 0.205 -> 0.222
##### A P P S #####
##### C O N T R O L L E R #####
- controller: pureCtrl
# reset the road temperature, if dynamic controller is used
##### C O N F I G #####
- config:
# fixed a bug, where ppf related configs are not loaded, if video mode separation was activated
# track specific loading of configs is deactivated, if a ppf related config is loaded
##### E X P O S U R E #####
- shader: "sunblinding"
# added support for Triple Screen, memory optimization when CSP is switching triples mode
# added support for VR
# added an option to prevent control from a ppfilter script
# overrides the "pure.utils.CamFacesSun()" value if active
# automatic deactivating if sun is under -2°
# added skydomes mask
# taking clouds sun cover into account
# change sun position code to CSP's render.projectPoint(), more stable and works in all screen
modes
# added CSP's fake shadows control
# added a decent fog handling
- shader: landscape
# fixed some bugs with the horizon line
- shaders:
# added resolution change management (will free unused memory after resolution change, like after
taking a screenshot)
# added checking functions, a shader can tell its compatibility before it is added to the shader
list
# sunblinding and landscape shaders are deactivate if VR - Single Pass Stereo is used
# blinking red and showing a message, if SinglePassStereo is active
##### P P #####
- pp:
# added brightness bars to the tonemapping debug curve
# added customizable coordinates and size to tonemapping debug curve
##### C U S T O M P P #####
# The shaders are controlled via the ppfilter parameters. So you are still able to set it via the
ini or with the current wfx functions
# The shaders are coded much simpler to gain fps, so they have very less parameters
- ppf/script:
# adding sunblinding effect to all Pure PPfilters
# better dynamic cps emissives in all Pure PPfilters
# prepared tonemapping sliders to show in tonemapping control
# HDR tweaks:
- better CSP HDR settings
- more blacklift to use less gamma
- ppf/script: pure
# dynamic tonemapping tweaks
##### S K Y D O M E S #####
- skydomes sets:
# better directional ambient light settings and more detailed light LUTs
# fixed a bug with to much saturation of dir. ambient light with Squalls weather
# added 2 missing masks for overcast weather
# 180909074, removed some birds
# 231158888, removed a fly
##### W O R L D L I G H T #####
##### S C R I P T I N G #####
- sdk: added
# pure.system.isHDR (return true, if DXGI HDR mode is activated)
# pure.pp.advancedTonemappingUsed (returns true, if Pure's tonemapping is used)
# a bridge to set Photo Mode CPL in a ppfilter script, pure.camera.setCPL(0, 0, 0, 1)
# pure.world.getFogOfLightsourse(), to get the fog value at lightsource's position
# pure.pp.forceYEBISBypass(), this will activate customPP
- scripting: sliders can be added to the tonemapping control group, if the name starts with
"TONEMAPPING__"
- UI:
# State String elements are shown red or orange, if "ERROR" or "WARNING" is used as name.
- pure.script.ui.addStateString("ERROR", "HDR not properly set!!!")
- pure.script.ui.addStateString("WARNING", "HDR not properly set!!!")
# fixed a bug with script and shader text element output
##### F I L E S #####
- files:
# added HDR - Tutorial.pdf
# added pure\sdk\PURE SDK - import this in your workspace.lua