You are on page 1of 56

Pure 0.

14

- core: redone ambient, sun and sky LUTs

- custom scripts: added custom script functionality


# Scripts are linked to PPfilters. Its will be loaded, if the script has the same
name like the current selected PPfilter.
# Scripts must be placed in \system\cfg\ppfilters\pure_scripts
# Have a look in "pure.lua". You will find the most things there.

- pp: finetuning exposure and autoexposure

Pure 0.15

- core: added proper fog calculation


# added fog layers: atmosphere, humidity, smog, mist
# atmosphere (distant fog) color is calculate from horizon color (this will make
sure it fits graphically)
# fog parameter LUTs with dense as index
# The fog layers are independently mixed atmosphere color.
# After that, they are mixed into each other, dependent to their normalized dense
relevance.

- core: sky shader, reduce sun shape saturation to 50% to have a better glare
behavior (CSP 1.76p12 +)

- track adaption:
# added first simple base, to adapt tracks.
# In track config file, you need to set:
# [Pure]
# FOG_SHAPE = 0.00
#
# I want to keep this simple, so for the start i just have 1 parameter,
ta_fog_shape:
# ta_fog_shape wil correct the different maps. It like a factor to shrink the fog
extents, to look right on different maps.
# For example: a track like SRP does not need such correct, it has no "fake
distant" textures or objects.
# But a track like "ks_barcelona" needs a big correction factor. It has very near
texture walls, which are faking a distant.

- pp/script: pure.lua, other godrays settings

Pure 0.16

- core: added LUT class


# a class which collects all LUT functions
# huge performance improvements in LUT calculations

- Pure improvements:
# trying to minimize memory allocations to the lowest level
# converting functions to access an existing variable and not creating new ones

- core: changed fog calculation to a much more complex one


# fog is calculated in stages, that interfer each other in the sequence of
calculation
# "overcast" uses also a fog stage
# much better color mixing and adaption to light changes
# added material fogs (rain, smoke, sand)

- core: sky shader, many small tweaks

- added ambient light calculation from sky color, fog and night light pollution

- added "directional ambient light"


# is generated out of "overcast" and fog's backlit

- added weather definitions


# done in a class now, more clear

- pp: controlling VAO Exponent with directional ambient light and PP exposure

- added some simple moon light - just as a dummy for now

- added basic stellar functions


# transition from sun to moon as light source
# stars LUT

- added function sharing (pure_sharing.lua)


# a list of function, which are usable in a pure pp-script (like pure.lua)
# added Pure_get_AE_target(), Pure_set_AE_target(v)

Pure 0.17

- directional ambient light, doubled saturation of overcast-modulated color-


reversed directional ambient light
# it creates now a color neutrality in close surroundings with overcast weather

- ambient light: a bit lower with overcast

- fog engine: tweaked blue saturation with overcast

- pp: overcast godrays control

- ppfilter, pure.lua
# some adjustment to HDR parameters for better brightness in HDR mode (CSP's DXGI
HDR)

Pure 0.18

- core: C++ LUTs, activated code (With the new CSP 1.77 C++ LUTs will work, it will
give a little more performance)

- sky:
# little tweaks of the hue with sunangles between 0-9° (more purple with very low
visible sun)
# little lower saturation for sunangles between 3-20° (less artifical look)
# lower brightness of sun opposite sky with twilight

- function sharing (pure_sharing.lua), added:


# Pure_get_AE(), return not the Yebis AE value, it return already the right
brightness multiplier AE is trying to gain the picture's brightness
# Pure_set_AE_manual(b), set the AE to manual. Brightness regulation is then
neutralized and can be therefore customized.
# Pure_set_AE_multiplier(v), set the final brightness multiplier, to restore AE's
behavior

- ppfilter/pure script: added pureHDR


# less AE controlling
# added colorgrading from __Sol_HDR filter

- ppfilter/pure script: added pureEYE


# a copy of pure ppfilter
# AE is manually controlled.
# It simulates the behavior of the human eye.
# Adaption to lower light takes longer than to higher light.
# If you open /pure_scripts/pureEYE.lua you see the example code for setting AE to
manual mode and setting the new brightness value.

Pure 0.19

- ppfilter/pure script: pureEYE, some little tweaks

- files:
# added install guide
# added wiki

Pure 0.20

- core: added wrong CSP display


# everything is blue

- core: added night light pollution


# influencing every fog layer
# added to ambient light

- fog: Mist, changed 80%-100% paramters. visible distance reduces much more. With
100%, visible distance is nearly 0.
- fog: added a resulting index to all fog stages. This gives a simple value for
further using like to retrieve it with Pure_get_Fog()
- fog: darker distance fog with sunset

- sky: some tweaks to daylight sky

- ambient ligth: a little bit lower in twilight, a little bit higher with sunset

- directional ambient light: bugfixes

- Pure sharing
# added Pure_get_Overcast()
# added Pure_get_Fog()

- PPfilters/scrips
# added some fog related Glare changes to all Pure PPfilters
# many AE tweaks of the EYE filters.
# some new AE compensation for the EYE filters, to have a better fitting image for
sunset times

- files: reorganized utilities


Pure 0.21

- night light pollution: checking CSP feature to avoid error with wrong CSP version

Pure 0.22

- added AI functions
# added Headlights control (ambient light + fog)

- PPfilters/scrips
# pureEYE, a little bit brighter

Pure 0.23

- directional ambient light: added sunset horizon color

- PP: removed all manual AE control code

- Pure sharing: removed AE control code

- PPfilters/scrips: pureEYE + pureHDR-EYE


# simpler AE control code, everything is done in the ppfilter script
# works better

Pure 0.24

- code: optimizations, prevention of creating new variables per frame


# now almost no garbage per frame

- Pure sharing
# added Pure_get_LightSource_color()
# added Pure_get_AmbientLight_color()

- PPfilters/scrips: pureEYE + pureHDR-EYE


# proper godrays style
# proper godrays handling (color and fog behavior)

Pure 0.25

- apps: Sol Planner 2.0,


# fixed wrong weather transition calculation
# fixed behavior with Python reloading (CSP 1.76p91 or later needed)

- core: converted the whole code to avoid reallocations of memory


# this dramatically lowered the LUA garbage collection
# it lowered the update time to less then 50%

- 3d cloud system, introduction


# rewritten from the ground, this new system solves nearly all problems of Sol's
skysim system
# advanced code with no memory leaks
# smooth cloud appearing/disappearing
# more stable reusing of cloud cells
# improved and faster code of cloud positioning
# for now, only cumulus like clouds are available
# clouds lighting is very simple and basic (Do not judge it too much - its just a
placeholder to cause cpu load)

- moon: adjusted lighting

- files: added "pure_settings.lua" for customized settings


# added __PURE_settings__AI_headlights
# added __PURE_settings__clouds
# added __PURE_settings__debug

- controller: Sol 2.2


# fixed some important things for seemless weather transitions
# fixed behavior with Python reloading / reloading of Sol Planner app

Pure 0.26

- 3d cloud system, fixed cloud shadows


# cloud shadows were deactivated in 0.25 for testing purposes

Pure 0.27

- fixed apps directory, Sol Planner will work then...

Pure 0.28

- fog: some tweaks on the humidity look, more white with higher values (>80%)

- clouds: major work on the clouds lighting


# I tried to use mostly the standards of CSP clouds.
# Not yet ready. Lighting for Cumulus clouds works good with sunangles above 0°

- clouds: added Cirrostatus


- clouds: more work on the performance
- clouds: more work on optimizing vector and color calculations

- settings: added __PURE_settings__clouds.quality


# An overide beyond 1.0 is possible.
# Keep it lower then 4.0 !
# Values above 1.0 must be seen as "experimental"

- files: install guide, added description to uninstall old Pure version

Pure 0.30
!!! I recommend to use CSP 1.76p134 (possible fps improvements) !!!

- clouds: more work on the lighting algorithm


# calculating different lighting for cloud subparts
# better algorithm for low and high density steam

- cloud-system: using CSP 1.76p134 asynchronous update


# Since this CSP version, Pure can put all cloud calculations to another CPU
thread. So the main renderer do not wait for finished clouds calculation.
# This will give you many fps back, because those "luxury calculation" are no
longer part of the synced renderer.
Pure 0.31

- core: more work of better memory usage, better lua usage

- fog: fixed some bugs with new online dynamic weather (black or nuked screen)
# double checking paramters and correcting them

- stellar:
# added solar eclipse
# added lunar eclipse

- clouds: fixed heading with track orientation


# movement is now consistent with custom track orientation

- clouds: added earth's curvature to position calculation


- clouds: some further cloud lighting

- night light pollution


# color will be normalized, if values are not within 0..1

- debug:
# added FPS
# added camera
# added nlp - night light pollution

- sound: added Sol's sound system


# some adaptions to Pure

- pp off: added some basic light adaption, if post processing is deactivated

- settings:
# added cloud's render distance multiplier
# added sound settings
# added ppoff brigtness (ppoff doesn't make much sense in Pure, but its now
possible to also use Pure with deactivated post processing)

Pure 0.32

- sound: fixing sound positions (no sounds in online sessions)


- sound: fixing initialization of sounds
# better handling of ac.simstate and ac.carstate

- postprocessing: removed the restriction to use tonemapping function 6


- postprocessing: removed setting of autoexposure limits
- postprocessing: AE target is still processed by Pure
# Its too important
# A static AE target leads to fluctuating AE at day

- ppfilters added a very simple ppfilter with the new CSP 1.76 autoexposure
functions
# pureSIMPLE.ini
# It is a copy of the default_bright ppfilter with added CSP AE settings
# has no script to control it

Pure 0.33
- config: added config system:
# pure_config.ini is saved in AC root folder \extension\config-ext\Pure
# added all settings from pure_settings.lua
# added light color HSV parameters for sun, ambient, directional_ambient and sky

- scripting: added parameter scripting system


# see Pure scripting.pdf

- files: added Pure scripting.pdf


- files: removed pure_settings.lua

Pure 0.34

- proper mist/fog and humidity handling with different controllers

- filter: added filters for hue, saturation, brightness and contrast

- config: added:
# pp hue, saturation, brightness and contrast

Pure 0.35

- core: switched to new ini parser class


# removed some bugs with the new ini parser
# more checks to avoid crashes

- pure sharing: colors and vectors must be retrieved via container variables!
# see "Pure_scripting.pdf" for more details

- pure sharing: added functions to get values from:


# current used PPfilter
# video.ini
# graphics.ini
# see "Pure_scripting.pdf" for more details

- files: updated "Pure_scripting.pdf"

Pure 0.36

- config: added light.daylight_multiplier


# actually the most important parameter in Pure
# defines the difference of daylight and twilight
# You can even restore the legacy lighting mode, by setting
light.daylight_multiplier to 0.2
# Setting it much higher then 1.0 will make track or car lights barely visible

- core/fog: some fixes to calculate night ligth pollution correctly


- core/fog: some fixes to use a variable daylight_multiplier

- pp: accessing ac.setPpBrightness() and ac.setPpTonemapMappingFactor() only if


PURE__set_PP_Tonemapping_Curve(curve) is used

- ppfilter: "pureSIMPLE", some tweaks


Pure 0.37

- apps: added PureConfig app


# Load, Save, reset to default works
# integrated all functions for handling Pure script parameter accesses (absolute ,
relative)

- core: added new ac.connect interface


# an interface for direct sharing of variables between wfx and apps
# includes also a message service

Pure 0.38

- apps: PureConfig app v 0.2


# added a file browser
# added Export and Import functionality

Pure 0.39

- apps: PureConfig app v 0.3


# added custom script UI items
# added "States" page, Pure variables monitoring

- core: connect class, fixes and new feature


- core: config class, fixes and new feature
- core: converted most of the debug messages to new states feature
- core: fixed sun and moon orientation calculation

- files: updated Pure scripting.pdf

Pure 0.40

- apps/script: PureConfig app v 0.3


# added custom Text UI item

- core: added reflections emissive boost, calibrated it, came up with 8.0 as
default value

- config: added reflections.emissive_boost, default 8.0

- files: updated Pure scripting.pdf

Pure 0.41
(CSP 176p163 is needed!)

- apps PureConfig app v 0.4


# added tool tips functionality
# started manual system

- fixed script loading, if VR is used

- added CSP ac.setWhiteReferencePoint(v) control, to adjust UI brightness for VR


# UI brightness is adapted to exposure

- filter/script: added pureVR:


# a special control to avoid sudden AE changes
# added a brightness/gamma slider to adjust the device

Pure 0.42
(CSP 176p163 is needed!)

- core: files cleaned up, removed old stuff


- core/basics: removed unused functions
- core: fixed all LUA warnings
- core/basics: switched to fast LUT calculation for sun functions
(sun_compensate(), from_twilight_compensate, ...)

- core/ambient light: fixed calculation of fog influence on ambient light

Pure 0.43
(CSP 176p171 is needed!)

- apps: updated Sol Planner 2.2

- apps: Pure Config


# switched to new CSP scanDir functions
# some UI fixes with new CSP features
# added solar/lunar eclipse to State tab

- stellar: readjusted some aspects of solar eclipse


# ambient light
# sunlight
# fog lighting
# sky lighting

- pp/script "pureEYE", added cubemap brightness estimation


# using cubemap brightness estimation to prevent AE fluctuations if bright light
# this also prevents AE missmatch in different cars!

- controller: updated Sol 2.2 controller

- files: removed pureVR ppfilter

Pure 0.44
(CSP 176p171 is needed!)

- apps: Pure Config


# added states from Pure Scripts

- scripts: added new UI elements


# __SCRIPT__UI_StateFloat
# __SCRIPT__UI_StateInteger
# __SCRIPT__UI_StateString
# __SCRIPT__UI_Separator

Pure 0.45

- core: fixed Pure Script States not showing at startup (only after manual Pure
reset)
- pp: fixed idle exposure calculation with varying daylight multiplier

- script: pureEYE
# added parameters to control minimum and maximum exposure
# adaption of cubemap brightness estimation to daylight multiplier (will be later
in Pure's PP core functions)

Pure 0.46

- script: added PURE__set_IDLE_EXPOSURE_LUT(lut), to set an own LUT for the idle


exposure

- ppfilter/script: pureHDR-EYE, its a fork of pureEYE, but with less AE control and
more contrast

Pure 0.47

- apps: Pure Config app


# added a dirty state
# "Save" button is colored, if parameters are changed

- core/lights:
# some balancing of ambient light level and sun light saturation for sunangles>40°
to get neutral colors
# new method to calculate additional ambient light from fog stages

- core/sky: horizon is a little bit brighter

- stellar: some work on the moon's appearance


- stellar: some tweaks on the solar eclipse calculation

- ppfilter/script: pureEYE + pureHDR-EYE, some AE tweaks


- ppfilter/script: pure + pureHDR (camera like AE behavior)
# added cubemap brightness estimation
# both scripts using standard AE, but the exposure raise is damped, dependent on
the amount of light around the camera

Pure 0.48

- core/sky: tweak sunsided sky brightness for sunset and twilight.


# much more brightness to have a realistic look

Pure 0.49

- core/sky: tweak sunsided sky brightness for sunset and twilight.


# a little less

- core: fixed a major bug with track heading angles (again)


# sky color samples are now taken from the right location for every tracks

- directional ambient light: tweaked a bit to get more for sunset

- ambient light: redone the calculation of ambient light


# better representation of ambient light while sunset and twilight times
- clouds: cirrostratus
# fixed track orientation bug

- fog: some tweaks to mist illumination

Pure 0.5

- core: further fixes of track heading bug


# fixed cirro_stratus clouds as well

- clouds: some work on the cirros_stratus clouds


# lighting + generation

Pure 0.51

- config: Script settings are saved in the


/extension/config-ext/Pure/scriptsettings folder

- moon: some tweaks to its appearance


# some work on the appearance color
# some work on its texture

- files: added empty folders


# assettocorsa\extension\config-ext\Pure
# assettocorsa\extension\config-ext\Pure\scriptsettings

Pure 0.52

- config: added system paramters


# script version is stored with the script settings file

- scripts: added __SCRIPT__ResetSettingsWithNewVersion() command


# if the current script version differs from the settings file version, the
settings file is deleted

- files: updated "pure scripting.pdf"

Pure 0.53

- core: added world_lights


# a sub code which handles CSP lights
# added ac.setAdaptiveEmissiveMultiplier() control
# "Displays" have now an adaption to surrounding light

- sky: some tweaks to the appearance with high sunangles

- clouds: small lighting tweaks

- config manager: fixed config import

- ppfilter/script: pureEYE + pureHDR-EYE, glare and godrays tweaks

Pure 0.54
- config: fixed storing the right values

Pure 0.55

- core/ambient light: added an additional piece for daylight


# to simulates some kind of radiosity
# called "advanced ambient light" in the config
# ambient is boosted for daylight
# VAO is also boosted for daylight

- config: added "light.advanced_ambient_light", default = 1.0

Pure 0.56

- core/sky, some tweaks to simplify appearance calculation


- core/sky, fixed sun shape with low sunangles and fog

- core/ambient, some tweaks to advanced ambient ligth


# a little brighter while sunset
# changed calculation of saturation

- clouds: fixed behavior with advanced ambient light

- ppfilters/scripts: pureEYE, pureHDR-EYE, returning to safe values for GLARE and


GODRAYS

Pure 0.57

- core/sky: added daylight multiplier to sky

- core/stellar: adjusted moon/sun size


- core/stellar: tweaked moon appearance, a little darker for high angles

- core/lights: added calculation of CSP's ambient darkness (INPUT=AMBIENT for


conditions)

- Pure sharing:
# added Pure_get_Solar_eclipse()
# added Pure_get_Lunar_eclipse()

- ppfilters/scripts: EYE filters, modulating GODRAYS length with Solar eclipse

Pure 0.58

- clouds: fixed color with advanced ambient light

- core/stellar: adjusted moon/sun size

- ppfilters/scripts: "pure"
# better exposure control
# Color LUT for softclipping hightones
# adjusted HDR parameters

- ppfilters/scripts: "pureHDR", removed


# "pure" can do HDR as well
- ppfilters/scripts: EYE filters, more controlling of exposure
# exposure adapts to bright light while night
# calibrated HDR paramters
# "pureEYE" can do HDR as well
# "pureHDR-EYE" has some special tweaks, like higher saturation

Pure 0.59

- core/fog: some tweaks to atmosphere fog


# a little bit brighter with high sunangles
# more backlight with high sunangles

- core/NLP: reduced NLP ambient light

- config: added multipliers for NLP color level and density

- scripts: proper management of PPfilters without scripts


# if no script is available, "default_script.lua" is loaded
# "default_script.lua" in the /extension/weather/pure folder, has higher priority.

Pure 0.60

- core/fog: some tweaks to atmosphere fog


# better interaction with other fogs, like humidity and mist

- clouds: some tweaks to clouds look, optimized calculations


# brighter body for high sunangles
# better clouds specular calculation
# better look with fogs (rain, humidity, mist, etc.)

- ppfilters/scripts: "pure" v1.4


# removed static exposure
# uses Cubemap Brightness Estimation exposure only
# added variable adaption time
# added exposure minimum and maximum

Pure 0.61

- clouds: tweaking/fixing look, tweaking c2.dds texture (cumulus body)

Pure 0.62

- clouds: added textures for cumulus body


- clouds: more tweaks to clouds lighting

Pure 0.63

- Pure Config, v0.6


# added "Cubemap Brightness Estimation" on "AI" page

- ambient light: some tweaks to "advanced ambient light"


# calibrated to be more realistic
# mostly working for low sunangles
# ambient light for twilight and sunset will look more realistic

- config, added Cubemap Brightness Estimation, to automatically switch on


headlights

- ppfilter "pure":
# switched to tonemapping function 5
# adjusted saturation to work with function 5
# added a slider "photo", which results in a different tonemapping, like "photo
contrast"

Pure 0.64

- clouds: fixed color with advanced ambient light

- sky: tweaked saturation with low humidity


- sky: adjusted horizont brightness/foggy look

- ppfilter "pureEYE": v1.4


# switched to tonemapping function 5
# adjusted saturation to work with function 5
# removed LUT-based idle exposure
# added CBE-calculated idle exposure
# added texture gamma (1.05 to 1.2) for better tonemap

- ppfilter "pureHDR-EYE": v1.4


# switched to tonemapping function 5
# adjusted saturation to work with function 5
# removed LUT-based idle exposure
# added CBE-calculated idle exposure
# added texture gamma (1.05 to 1.2) for better tonemap
# removed colorgrading (it caused quantization artifacts)

Pure 0.65

- sky: some adjustments to the visible part.


# Brightness is bigger in twilight than on day, but calculation of ambient light
and clouds look is unchanged.
# This helps to fake some higher color dynamic.

- sky: some nice tweaks to the sky look in sunsets and twilight times

- clouds: fixed horizon haze texture


# the texture fills a big part below the horizon and so the brighter sky-shader
part is no more visible
# this texture helps to get a haze/smoggy horizon look while day and a dark fade to
the horizon line while twilight and night

- directional ambient light: much better calculation of horizon light in twilight


times

- ppfilter "pure": v1.6


# some tweaks to the "photo" mode.
# integrated a much better colorgrading, which optimizes the overall color look
(controlled via "photo" slider)
# "photo" mode lifts the shadows, which give a overall smoother look and better
visibility for twilight and night times
# lowest minimum exposure values as default

Pure 0.66

- scripting, added custom weather variables (please have a look in


pure_scripting.pdf)
# __PURE__add_weather_variable(name, default_value)
# __PURE__set_weather_variable(name, weather, value)
# __PURE__get_weather_variable(name)

- exposure:
# outsourced the calculation for exposure, no more needed in the scripts
# "pure" ane "pure_nopp" script using it already (therefore less code in those
scripts)
# completely calculated by Cubemap Brightness Estimation
# works for PP on, AE off or on and PP off
# also automatic active, if ppfilters have no script (needs still some adjustments)

- pp / pp off
# many improvements of the code to have the same functionalities like exposure
control
# many fixes with VR behaviors

- pp off
# much better look, esp. sky and clouds

- VR
# much better compatibility in VR, like the whole starting process with deactivated
or activated PostProcessing

- files, updated "Pure scripting.pdf"


# Pure's integrated exposure control
# custom weather variables

Pure 0.67

- pp/ppoff: fixed some start up behavior, no reset need now

- world lights:
# fixed display lights control
# fixed lights control for pp off

Pure 0.68

- exposure:
# !!! Pure's internal exposure calculation is activated by default !!!
# if you don't want it, please switch it off via PURE__use_ExpCalc(false) in the
script's init function
# added PURE__ExpCalc_set_Target(1.0), a multiplier before the limiting
# added PURE__ExpCalc_set_Sensitivity(1.0), an exponent multiplier within the CBE
evaluation
# a higher sensitivity results in a higher reaction to dark sceneries

- obsolete:
# removed all Yebis AE code
# removed PURE__set_IDLE_EXPOSURE_LUT(t)
# removed PURE__return_IDLE_EXPOSURE()

- ppfilter/script "pure":
# better color grading control
# better visibility while twilight

- ppfilter/script "pureEYE" + "pureHDR-EYE":


# new colorgrading to simulate the ability to not see colors for dark tones in the
twilight/night
# removed all AE code
# switched to Pure's internal exposure calculation

Pure 0.69

- exposure: taking care of reflections level in pure config

- ambient light:
# higher advanced ambient light while day

- VAO: redone VAO control


# removed all VAO modifiers and made it static
# VAO can be now controlled via Pure Config and scripts

- config:
# added vao.amount, default = 1.0
# added vao.track_exponent, default = 0.5
# added vao.dynamic_exponent,default = 0.334

- sharing:
# added PURE__set_PP_Tonemapping_FactorMultiplier(x), to set a multiplier for the
tonemapping factor

- obsolete:
# removed Pure_get_VAO_exponent_additive()
# removed Pure_set_VAO_exponent_additive()

- ppfilter/script "pure"
# tweaked the "optimized photo look"
# tweaked the red tones in the color grading

- files: updated "pure scripting" with the new changes


# exposure control
# new vao control via Pure set config

Pure 0.70

- exposure: better control in overcast sceneries

- world/clouds: better overcast look

- ppfilter: default_script
# a little logic to set Pure's exposure to fit a ppfilter without a script

- world/pp: added adaptions for overcast sceneries


# added a spectrum adaption, can be activated via PURE__use_SpectrumAdaption(true)
# added a VAO adaption. In overcast sceneries, there is only ambient light, which
makes the world look flat.
# An increase of the VAO exponent helps, to get the shadows right.
# Can be activated via PURE__use_VAOAdaption(true)

- nopp + pure_nopp script


# many fixes and improvements
# using TexturesGamma to fake gamma

pure 0.71

- apps: Pure Config app 0.7


# added Pure Checklist (checking AC and CSP reflections settings)
# added config parser

- VR: fixed switching into PP mode

- night light pollution: correct level with ppoff mode

- scripts: default_script uses exposure instead of Pure's tonmapping curve


# mapping factor is not touched, so properly taken by AC from the ini if set

pure 0.72
CSP 1.77p58 needed!

- apps: Pure Config app 0.72


# live checking of CSP reflectionsFX settings

- sky: some tweaks with overcast

- exposure:
# some tweaking to sensitivity
# changed function of "target", its now a multiplier before the limiters

- pp: added a modulator to set godrays length in scripts


# PURE__getGodraysModulator()
# This retrieves a multiplier which adapts godrays to many situations
# e.g.
# it will return 0 for sunangles below 0°
# it raises them with light fog and lowers them with heavy fog
# it lowers them with overcast and in solar eclipses

- scripts: default script


# some bugfixes
# added checkboxes for exposure usage, Spectrum adaption and AE adaption
# some better prediction of a common exposure

Pure 0.73
again compatible with CSP 1.76 and higher

- Pure Config: CSP settings check with CSP 1.76 and higher

Pure 0.74

- ambient/fog light: some better ambient light calculation for bad weather
# accessing exposure calculation as well, to improve the exposure level for bad
weather
- install script: some changes to remove "wall of text"

- updated "Pure install guide.pdf" with new install method


- updated "Pure scripting.pdf"

Pure 0.75

- Pure Config: v0.75


# PP parameters are only shown, if PP is active
# PP off Multiplier is only shown, if PP is off

- PP off:
# ambient saturation adaption with overcast
# better CSP light adaptions

- Config: added "nlp.lowest_ambient"


# the lowest ambient light in night times

- lights: bypassed Pure's main lights initializiation


# this prevents problems with headlights and tracklights
# Pure was using an additional CSP light, which acted as a headlamp, to improve
cockpit visibility in nighttimes
# this was just a minor improvement

- Pure state: added PP state

- scripts: "pure_nopp"
# higher lowest ambient light, to improve night visibility

Pure 0.76

- pure_install.bat
# added make dir of \config\Pure if not exist
# now copies everything
# added Sol weather presets

- redone pureEYE ppfilter/script


# uses sensometric tonemapping, to use filmic contrast
# customizable gamma for low, mid and high exposures.
# a complete different look

- pure install guide


# removed renaming of ContentManager.exe to AssettoCorsa.exe

Pure 0.77

- audio: copied Sol's sound bank into Pure

- clouds 2d: added skydome system


# skydomes can be managed in a set. A set contains the textures and a script.
# The script manages, how the texture are displayed (sunangle, lighting and
opacity)
# For every weather a list of sections can be scripted.
# A section has a texture and can have a unique lighting
# read more about this in the Pure skydome manual.
- skydome set "default":

- connect library: fixed some bugs, added strings type


- config library: added strings type

- Pure Config:
# added clouds method switch
# added 2d clouds page

- Pure Config UI:


# added free custom element creation

Pure 0.78

- Pure Config 0.78, added check for CSP version number if skydomes want to be used

- ambient light: adapting the changes by Skydome sets

- skydome set "default"


# added the first licensed pictures
# the default set in the Pure archive will only distributed with 4k pictures.

Pure 0.79

- world, sun: higher level for sunset times

- pp: fixed godrays modulator for 2d clouds sun cover

- skydomes:
# added more textures to default set
# more configured weather

- sharing:
# added Pure_get_CloudShadow() to get the current cloud shadow value
# I recommended to use this instead of ac.getCloudsShadow()
# In the future this will have more conditions to work with the different 2d cloud
shadows

- pure PP scripts, default_script: added setting of custom godrays color, to fix


CSP

- files: updated pure_scripting.pdf (script structure, sunangle based functions)

Pure 0.80

- Pure Config 0.8


# new parameters for skydomes
# displaying cloud shadow and skydome shadow value

- skydomes: checking skydomes folder if selected set exists


# if not, default set is temporarily used

- skydomes: advanced shadows


# cloud cover can be separated with CSP 1.78p18 or higher
# if the sun is not covered by the skydome, 3d cloud shadows are neutralized for
the camera position

- skydomes: default set, textures for "Clear" weather

- skydomes, better adaption to PPoff

Pure 0.81

- pp: fixed PURE__getGodraysModulator() calculation

- skydomes: fixed texture heading with custom track orientation


- skydomes: fixed not loading texture with session start in VR

Pure 0.82

- core: fixed wfx halts with changing clouds method

- skydomes: proper handling of the moon, added stock moonlight LUT:


# The sections are predefined with 2 light LUTs
# if the section's sunangle is higher then -5, the stock sunlight LUT is used
# if the section's sunangle is -5 or lower, the stock moonlight LUT is used
# the set's default sunlight LUT can be define with:
PURE__2DCLOUDS_set_default_Sunlight_LUT(lut)
# the set's default moonlight LUT can be define with:
PURE__2DCLOUDS_set_default_Moonlight_LUT(lut)

- pp: adjusted PURE__getGodraysModulator()


# 0.5 if sun is at 2°

- installer: fixed halt when overwriting files

Pure 0.83

- fog: fixed overcast night look

- skydomes: tweaked night look

- Pure config: added CSP lights (bounce, emissive) adjustment

- stellar: better stars look

- ppfilter/script: "pureEYE" brighter CSP lights

- files: updated "pure_scripting.pdf"

Pure 0.84

- skydomes / script:
# prevent duplicating a weather into itself
# added "PURE__2DCLOUDS_get_weather(name)"

- skydomes
# fixed texture unloading
# took skydome cover into account for PP godrays multiplicator - prevents godrays
flashes
# texture mask is now crossfaded too

- installer:
# fixed sol 2.2 controller file copy
# fixed position of status text output

Pure 0.85

- skydomes/default: adjusted "clear" textures brightness

- pure sharing: added new functions


# Pure_get_Sun_horizontal_angle()
# Pure_get_Sun_vertical_angle()
# Pure_get_Moon_horizontal_angle()
# Pure_get_Moon_vertical_angle()
# Pure_get_Camera_horizontal_angle()
# Pure_get_Camera_vertical_angle()
# Pure_get_Angle_difference(a1, a2)
# Pure_get_Badness()

- ppfilter/script: pureEYE, an additional slider to adjust gamma with low exposure


and high sunangle

- folders: check "extension/config-ext/Pure" and


"extension/config-ext/Pure/scriptsettings" for existence

Pure 0.86

- stellar: a proper lightsource fade with moon and sun (light source is faded out,
if source is at horizon)
# ta_sun_dawn and ta_sun_dusk are taken into account
# sun and moon position are handled right
# all values are interpolated, so with very flat sun trajectories, there are no
jumps

- skydomes: removed the multiple resolutions logic:


# files no longer are splitted in resolutions (4k, 8k, 16k)
# there is only 1 file with the maximum resolution and mipmaps.
# with CSP 1.78 texture loading can be limited to specific mipmap resolution
# The Pure package contains only max 4k resolution textures.

Pure 0.87

- core: prevent script initializations before the necessary wfx reset in VR


# solves reset to defaults of the script settings

- fog: changed the calculation of the sunlight loss with mist

- directional ambient light: changes to fog light with sunlight loss

- skydomes: tweaked fog calculation

- scripting:
# PURE__use_SpectrumAdaption(x), x can be boolean or number (to customize the mix),
"false" = 0.0, "true" = 1.0
# PURE__use_VAOAdaption(x), x can be boolean or number (to customize the mix),
"false" = 0.0, "true" = 1.0

Pure 0.88

- fog: advanced overcast logic with mist and humidity

- ambient light: improved inlfuence of overcast and fog

- skydomes: improved fog look

Pure 0.89

- stellar: added dynamic star light adaption


# Pure's exposure calculation is used, to improve the dynamics of the starlight
# Pure's exposure calculation must be activated for this

- config: added "stars.dynamic_adaption"

- textures: added 16k star textures in BC7 format.


# this will use nearly the same GPU memory like the old 8k starmap in BC5 format
# removed 4k and 8k textures

Pure 0.90

- ambient light: fixed a bug with additional fog ambient light. Made the ambient
light too greenish at day.

- sunlight: more saturation for high sunangles

- pp: adapted spectrum adaption

- ppfilter/script: pureEYE,
# some color balance fixes
# new colorgrading, better gamma while day, better gamma change when exposure rises

- skydome set default: some small fixes + "few clouds" (low) texture fix

Pure 0.91

- cbe: some small adjustments to overcast adaption

- stellar: calibrated stars brightness

- skydome set default: some small fixes + "clear" (sunset) texture fix

- ppfilter/script: pureEYE, some small tweaks

Pure 0.92

- ambient light: some small fix with fog and advanced ambient light

- cbe/exposure: new function to force a custom exposure


# PURE__ExpCalc_set_BypassExposure(0.05)
# CBE exposure is still calculated
# all other CSP features are still calculated like UI brightness in VR and
brightness of displays

Pure 0.93

- ambient light: some small fix with bad weather and advanced ambient light

- cbe: some small adjustments to overcast and cloud shadows adaption

- ppfilter/script: pureEYE, some small tweaks with overcast

- Night Light Pollution:


# better calcualtion of NLP color with custom adjustment in Pure Config
# better calculation of the stars visibility with NLP
# better calculation of the stars visibility with NLP in combination with fog,
humidity and smog

Pure 0.94

- ambient light: better curve of advanced ambient light (fake radiocity) while
twilight

- track adaptions: added "MINIMUM_GLOW_EMISSIVES"


# In track configs, glow emissives can be defined
# In Sol or Pure this is used, to also blur the lights while foggy weather.
# This value controlls the minimum amount of glow strength in not foggy weather.
# Sol's minimum value is 0.3, Pure's minimum/standard value is 0.5.
# add to track config:
# [PURE]
# MINIMUM_GLOW_EMISSIVES = 0.25 ;[0.0 - 1.0]

Pure 0.95

- ambient light/ adv. ambient light: fixed calculations for sunangles between 17° -

# removed a peak, where ambient light was too high for 9° sunangle

- VAO: added VAO shader fix


# added a fix for sunangles between 17° - 0°
# VAO is gained with maximum at sunangle 9°, to have a steady look of VAO in that
region
# is only active, if PURE__use_VAOAdaption(x) is used

Pure 0.96

- ambient light/fog: some important changes in the fog engine and ambient light
calculation.
# I fixed some routines and changed the calculation fog the ambient light, with
much more influence of the technical fog.
# So the look of ambient light has a better match to the sky and the fog stages.

- fog: some adaptions to mist look

- skydome set: default, some tweaks to "Clear"


Pure 0.97

- ambient light/ adv. ambient light: some tweaks to better curve/brightness while
twilight

- sky: some tweaks to better curve/brightness while twilight for sun opposite sky

- fog: some fixes with the different fog layers and overcast modulator
- fog: some tweaks to sand material, darker

- skydome set: default, some tweaks to overcast weather

Pure 0.98

- skydomes: fixed a bug with a short flash while texture change

- fog: some advanced light tweaks to overcast fog


- fog: some tweaks to Sand (higher index -> more ambient light loss in twilight
times)
- fog: a curve for backlit (higher backlit with lower sunangles)
- fog: some noPP tweaks

- ambient light: some tweaks to advanced ambient light with fog and overcast in
twilight times
- ambient light: some noPP tweaks

- ppfilters/scripts: removed all ac.setColorTexturesGamma(x) calls


# Better to not call it. CSP will have PBR shaders for tracks in the future.
# Those need a correct gamma. A call of ac.setColorTexturesGamma() would change it.
# ac.setColorTexturesGamma(x) will be bypassed in the future.

- ppfilters/scripts: pureEYE, some tweaks to gamma calculation and settings

- noPP script: some more adjustments to improve brightness

- sky: tweaked noPP behavior

- config: fixed a bug, clouds2d parameters were not able to modify them relatively

- track condition: "AMBIENT": some tweaking of the output value


# I recommend to use:
# INPUT = AMBIENT
# LUT = (|0=0|0.85=0|0.86=1|1=1)
# This will give a realistic behavior of street lights in most weather

Pure 0.99

- skydomes: reworked the fog code


- skydomes: "default", added/changed fog parameters

- ambient light: more advanced ambient light for bad weather


- ambient light: advanced ambient light is now taken ambient loss from fog engine
into account

- fog: tweaked the LUTs further for ambient and sun loss
- pp: more tweaks of spectrum adaption
# recalibrated white point at 45° sunangle
# added badness modifier

- ppfilter/script: pureEYE
# better ColorGrading to compensate the negative influences of sensitometric
tonemapping on colors
# repairing the yellow tones
# lowering red tones a bit

- stellar: reverted back to old 8k starmap


- stellar: adapted dynamic star brightness

Pure 0.100

- skydomes: "default", some tweaks to sky adaption

- exposure: added compensation of skydome sky adaptions


- exposure: fixed a wrong calculation of exposure with very low CBE (night)

- fog: many fixes of wrong code


- fog: correcting ambi loss and overcast influence of humidity, smog and mist
- fog: better curve for humidity and mist

- ambient: added fog engine's scatter index, to lower ambient gain of fog with
lower sun
- ambient: added a ksAmbient compensation
# with very high sunangles, ksAmbient adds too much light (>70°)

- sun: added a ksDiffuse compensation


# with very high sunangles, ksDiffuse adds too much light (>70°)
- sun: added a sunangle compensation for almost overcast sunlight
# more sunlight with mid sun

- ppfilter/script: pure + pureEYE, higher exposure target value

Pure 0.101

- ambient: some changes to sky adaption of skydomes

- sun: better overcast compensation curve

- ppfilter/script: pureEYE, a little brighter


- ppfilter/script: pureHDR-EYE, some tweaks

Pure 0.102

- fog: some changes to track fog adaption

- skydomes: "default", tweaks to fog settings


- skydomes: better precalculated fog settings

- ppfilter/script: pureEYE, a little bit more brightness


Pure 0.103

- fog:
# tweaked atmosphere fog, lower exponent
# better humidity LUT, better transition, better look
# a link of atmosphere and humidity fog, exponent raises faster with humidity
(dense air look)

- shader: added shader interface from base wfx


- shader: added dynamic shader integration
- shader: added rainhaze shader from base wfx, custom look

- 2dclouds(skydomes)/config: added contrast (to support HDR adaptions)

- ppfilter/script: pureHDR-EYE,
# added 2dclouds brightness/contrast raise (those skydomes can have more dynamic
range in HDR)
# adjusted brightness
# added dynamic contrast

Pure 0.104

- config: added "csp_lights.displays" to customize adaptive emissives

- exposure: a better sensibility/adapting to overcast weather

- fog: added LUTs for real distance tracks


# if ta_fog_shape (FOG_SHAPE) is -1, those LUTs are active
# for trakcs with real distance geometry, fog LUTs can start at a bigger distance.

- fog: some bugfixes and corrections

- track adaptions.ini, added first list of real distance tracks.

Pure 0.105

- fog: more tweaks of humidity

- track adaption: added many tracks with real distance

- config: added a temporarily set of "gamma" parameters


# with CSP 1.79p9, lambert gamma is introduced and will help much with tonemapping,
independent of PostProcessing
# The lighting of materials is less influenced of the sunangle now and therefore
less sunlight can be used.
# This gamma has its most effect with low sunangles.

Pure 0.106

- core: fixed a bug in utilities connect library (set, init)


# The last connect item was not handled
# In Pure Config, the last element of the PP custom script UI was not handled and
was always 0

- fog: trying a new look, esp. for humidity


- scripts, added new function:
# PURE__set_ExpCalc(1.0), You can now mix Pure CBE exposure and YEBIS exposure
# PURE__set_Lambert_Gamma(1.7), Set new CSP gamma for materials
# If PURE__set_Lambert_Gamma(-1) is used, Pure still uses its sunlight hack to gain
the lighting of materials with low sunangles, with other negative consequences.
# If the value is positive, this light hack is bypassed and sunlight is at normal
level.

- default script (for ppfilter without a script): added sliders for interior and
exterior exposure adaption.
# Pure's CBE exposure is used, but mixed with YEBIS Autoexposure

- noPP/script: added use of new Lambert Gamma, plus an option to


activate/deactivate it

- PPfilter/script: pure + pureEYE + pureHDR-EYE, added Lambert Gamma


- PPfilter/script: added pureSIMPLE ppfilter again (to demonstrate CBE and
Autoexposure mixing)

Pure 0.107

- pp: some tweaks to "spectral adaption", more colortemp adaption for lowest
sunangles

- default script: some tweaks to improve AE<->CBE

- PPfilter/script: added pureCandy (eye candy ppfilter)


# a camera filter with nice glare, lensflare, saturation, contrast and a proper
AE/CBE exposure logic
# If AE is ducking under CBE exposure, gamma is lifted to prevent too dark
pictures.
# Its to demonstrate, how to use a dynamic balance of YEBIS AE and CBE exposure.

Pure 0.108

- skydomes: added support for multiple sections per sunangle


# if sections in the same weather are defined with the same sunangle, a section
will be then choosen randomly.

- skydome set: "default", added 5 more textures, rearranged textures


# Windy (2 sections from 32°-20°, 2 sections from 20°-10°)
# Few Clouds (1 new above 50°, 2 sections from 35°-20°, new texture 20°-10°)
# Clear (2 sections from 35°-20°)
# Scattered Clouds (new sunset texture)

- track adaptions/skydomes: added support for track horizon offset


# added some horizon offsets for some tracks (imola, red bull ring, mugello)

- PPfilter/script: pureCandy, some tweaks

Pure 0.109

- core: added utils CSP backwards compatibility


# added a redirect, if ac.setColorTexturesGamma() does not exist, it will be
redirected to PURE__set_Lambert_Gamma()
- fog:
# made some changes to fog backlit
# added a sky gradient, to expand fog sunlit

- fog/skyshader: added a new LUT to compensate the sundisk look, when it is covered
by fog
# before a linear function was trying to compensate the fog cover
# now a LUT with nonlinear values compensate it much better

- skydomes:
# fixed wrong interpolation of hue, using angle interpolation instead of lerp
# added texture function "setDirectionalAmbient(hue, sat, level)", to define an
additional ambient ligth, which fits with the look of the texture

- skydome set: "default", added directional ambient light to the low sun sections
of dry weather

Pure 0.110

- fog: some changes to humidity look

- sky/shader: lowered the horizon brightness


# this higher horizon brightness is mainly a fix for the bleeched out horizon
texture walls of many tracks

- 3d clouds: fixed moving direction (corrected wind direction with CSP 1.79p25)

- added an AC system message if CSP version is not compatible

- config: added "ui.white_reference_point"


# With this, mainly the UI's brightness in VR can be customized
# If ppfilters use a different exposure base than the pure ppfilters, its possible
to recalibrate
# the ppfilters to "normal" white point levels (round about 20 at day, round about
1 at night)

- PPfilter/script: pureCandy, added the "Candy" slider


# this uses the "non hdr" mode: sensitometric tonemapping is used. Brightness is
adjusted via tonemapping factor.

Pure 0.111

- core: reorganized Pure utilities and app functions to work with multiple apps

- ambient light / directional ambient light: some improvements with cloud shadows

- ambient light: some improvements for daylight look

- PPfilter/script: pureCandy, some further work


# better look for sunlight, adapted it to the tonemapping
# finetuning the different looks with Candy slider

Pure 0.112

- core: added functions to connect and state library, to retrieve their parameter
lists
- shader list: added functions to add states, to show values in the "shader" tab of
Pure Config

- LUA UI: added functions to add whole parameter or state blocks automatically by
category name

- fog: more fog backlit, this will improve low sun fog look, but also daylight
overcast look
- fog: some tweaks to "atmosphere" look:
# for real distance tracks, a decent distance look with 0% humidity

- skydome set: "default", lower brightness of "overcast" skies

- PPfilter/script: pureEYE, some further work


# better brightness for mid light situations (overcast and low sunangles)
# new LUT, better resolution of high tones (LUT curve is like a reversed smoothstep
curve)
# different code to manage exposure dependent calculations
# nearly everything is commented now in the script

- PPfilter/script: pureHDR-EYE, a clone of pureEYE plus HDR controls


# added "peak brightness" and "paper white" controls, to adjust the HDR picture
dynamic and brightness

- PPfilter/script: pureCandy, some finetuning

- Pure Config: changed design generation, Pure config parameters and states are
addressed by name, not by id

Pure 0.113

- fog/sunlight: some more work and backlit:


# changed the dependency of fog (mist) and sunlight loss
# edited the LUTs
# adapted it to ppOff

- world: added simple rainbow control

- PPfilter/script: noPP, lower sunlight to avoid color clipping


- PPfilter/script: pure, edited CBE sensibility and target value
- PPfilter/script: pureCandy, some work on the godrays (linked to "candy" slider),
less saturated color lut
- PPfilter/script: pureEYE, some work on the godrays

Pure 0.114

- core: lowered the influence of fog on calculating the "badness" modulator

- fog: adaptions of the materials layer (sand, rain, smoke) to real distance tracks
(FOG_SHAPE = -1)

- PPfilter/script: pureEYE, some tweaks to the brightness modulation with fog and
bad weather

Pure 0.115
- pure sharing: PURE__set_Lambert_Gamma(v) is automatically calling
ac.setColorTexturesGamma() or ac.setLambertGamma(), depending on the CSP version
# ac.setLambertGamma() will come with CSP 1.79

Pure 0.116

- core: track heading is updated per frame


# Pure now calculates the right things, if Photo Mode's "Lighting angle" slider is
used.

- shaders: no wfx reset with changing active state

- ambient light: added distant ambient light support (CSP 1.79p32 and higher)
# distant ambient light is the ambient light in the distant
# so the near ambient light (the standard one) can be brighter, without influencing
the distant look of a track

- UI: added tabbar object


# Pure tabbars are dynamic in ther width. The single tabs are not changed in their
size.
# Tab titles are always readable. The tabbar expands vertically, if the UI width is
too small.
# tabs can have a sticker color.

- pure config: added distant ambient light

- Pure Congig app: switched to Pure Tabbar

- Pure Planner app: added Pure Tabbar


- Pure Planner app: added Time/date selection field (click right-mouse key on the
time-slider to open it)
# full detail time-slider with many informations
# added a calendar
# added a time multiplier configurator (needs some further design)
# adapts to app width

Pure 0.117

- config: added light.sun.speculars

- skydomes: speculars are controlled by skytexture's sun coverage

- exposure: YEBIS AE got a smoothing


# With PURE__ExpCalc_set_AdaptionSpeeds_YEBIS(low, high), you can set the YEBIS AE
speeds.
# If now speeds are set, the CBE speeds are used
(PURE__ExpCalc_set_AdaptionSpeeds(low, high)).
# PURE__ExpCalc_get_YEBIS_calculated_exposure() will retrieve the smoothened YEBIS
exposure value.
# PURE__ExpCalc_get_YEBIS_calculated_exposure(true) will retrieve the raw/live
YEBIS exposure value.
# added some necessary limits with smoothing values

- PPfilter/script: pureEYE, new attempt with YEBIS AE


# YEBIS AE limits are set via a CBE indexed LUT, so AE has a short range of working
# By using only the CBE value, the controlling is steadier and more predictable.
# better control speeds
# removed a flickering bug caused by the old code (happens when fastly reacting to
dark sceneries)

- Pure Planner:
# some work on the time multiplier design
# added live tab + live weather functions
# added custom location selection (! CSP will not update the track location - sun
trajectory is not changed)

- Pure Controller:
# added pureCtrl
# This is a very lightweigth script. It will only transfer the Pure Planner data to
CSP weather controller data.
# Due to the better data link with LUA apps, all calculations can be done in Pure
Planner.

- manuals: added new functions description to Pure scripting.pdf

Pure 0.118

- exposure: fixed new YEBIS AE smoothing, now works correctly

- fog: some little correction of twilight fog lit

- Lua UI: some margin and panning fixes

- PPfilter/script: pureEYE, using ambient luminance to control the adaption to dark


sceneries

- scripting:
# added Pure_get_Ambient_Luminance(), to retrieve the luminance of ambient light

- manuals: added new functions description to Pure scripting.pdf

Pure 0.119

- apps: Sol Planner 2.3, prevent time manipulation, if Sol Controller is not
working

- UI: added groups (treenodes) to collaps and expand a group of ui elements

- PureConfig:
# using groups for "pp adjustments" and "shaders"

- config: added "pp.gamma" and "pp.godrays"


# "pp.godrays" is already handled in PURE__getGodraysModulator()
# "pp.gamma" is already handled in PURE__getGammaModulator()

- pure sharing: added PURE__getGammaModulator()

- scripting: Gamma and Godrays user access


# if you use PURE__getGammaModulator() and PURE__getGodraysModulator() in your ppf
script,
# users are also able to control those via Pure Config "pp adjustments"

- sdk: added a sdk, which will route functions with uniform names to the internal
Pure functions you know from the scripting pdf.
# This will bring more order into scripting
# f.e.:
# "Pure_get_Overcast", but "pure.world.getOvercast" can be used instead of it
# "Pure_getVector(VECTORS.CAM_DIR)", but "pure.camera.getDirection" can be used
instead of it
# "__SCRIPT__UI_SliderFloat", but "pure.script.ui.addSliderFloat" can be used
instead of it
#
# Please look in pureEYE as a first example of the new order.
# For a complete list of the name aliases, just havbe a look in \sdk\pure_sdk.lua

- PPfilter/script: pureEYE, some AE finetuning, using new sdk function names

- install: fixed pure_install.bat, wrong folders, added pureCtrl

Pure 0.120

- Pure Planner: added "date, time,..." group to expand and collapse the time
selection
# right mouse click is removed

- UI: interaction changes !!!


# slider values are increased/decreased, with mousewheel, if mouse is highlighting
the slider
# sliders and checkboxes are reset to their defaults, with right mouse button, if
mouse is highlighting the slider or checkbox

- fog: some changes to atmosphere and humidity look of real distance tracks
# atmosphere is denser, to get a better distant look
# humidity becomes more denser with lower values

- core: more fail safe checks of script functions


# A wrong usage, when given such functions a nil variable, will not cause a wfx
stop.

Pure 0.121

- UI: prevent slider mousewheels edit, when user scrolls the page
- UI: fixed slider height and margin for proper focus detection

- 3dclouds: fake 3d cloud shadows


# added a logic to cover the sun, if it is covered by a skydome

- skydomes:
- added a section function (section:set3dCloudShadow_SunCover(opacity, size)), to
customize the sun cover, when using 3d fake cloud shadows

- skydome set "default": added some custom sun cover values for "Squalls", "Broken
CLouds", "Few Clouds" and "Windy"

Pure 0.122

- apps: Sol Planner 2.3


# fixed a bug with Load/Save dialog is beyond the screen limits
# If Sol Controller 2.2 is not active, Sol Planner is not setting date, time or
time-multiplier

- UI: fixed slider focus area

Pure 0.123

- fog: fixed wrong backlit with real distance tracks

- exposure: removed overcast influence


# This should be in a ppfilter script. Exposure should be calculated right in the
core, without weather adaptions

- added Pure alternative tonemapping


# to use it, activate in CM > settings > CSP > graphic adjustments > Scriptable
filters (Active, select "Pure PP Link")
# use "pureAltTonemap" ppfilter
#
# This Tonemapping will have artifacts, because it can only work in LDR range. So
the LUA PPFilter script already gets an LDR image.
# The range of the output of AC PostProcessing is halfed, so the script has some
range to work with.
# Therefore it gets twice the LDR range, but with half of the resolution.
# This tonemapping is just in an experimental stage, maybe for later integration in
HDR processing.
# Besides all this downgrades, it has many positive aspects:
# The most color inaccuracies happens in YEBIS, if Gamma > 1.0 is used. So for this
experiment, gamma in the ppfilter is 1.0.
# The LUA PPFilter script uses then its own gamma and color processing.
# The base of it is a processing in HSV color math, so the value can be processed
dependly of the saturation.
# The output picture has more accurate colors, also the visibility of low tones can
be much better.

Pure 0.124

- PureConfig app: fixed PPoff page

- distant ambient light: temporary workaround for distant ambient light is not in
the CSP global brightness (distant ambient is blown out).

Pure 0.125

- fog: fixed horizontal line bug with high mist

- exposure: higher cbe exposure in low-mid bright areas (litten night scenery)

- script: new tooltip option for script UI elements (text is limited to 100
characters)
# __SCRIPT__UI_Checkbox(name, bChecked, tooltip)
# __SCRIPT__UI_SliderFloat(name, value, min, max, tooltip)
# __SCRIPT__UI_SliderInteger(name, value, min, max, tooltip)
#
# pure.script.ui.addCheckbox(name, bChecked, tooltip)
# pure.script.ui.addSliderFloat(name, value, min, max, tooltip)
# pure.script.ui.addSliderInteger(name, value, min, max, tooltip)
- ppfilter/script: fixed pureAltTonemap exposure

Pure 0.126

- core: removed some additional controlling of clouds brightness (2d + 3d) and
advanced ambient light.
# Before adv. ambient light made the clouds brighter.
# Now clouds nearly stay at their brightness

- exposure: in dark sceneries, exposure now does not drop that much, when going
into CSP lights

- ambient light:
# more overall saturation

- directional ambient light: some tweaks and fixes of generating dir. ambient light
in overcast sceneries
# using less adv. ambient light
# using more directional ambient light, to create an illusion of diffuse light
coming from sun direction

- config: added "Shadows" parameter


# If the slider is 1 or 100%, sun and ambient are normal.
# If the slider is at 0, sunlight is off and directional ambient light do the
sunlight now.
# This willhave its own unique look.
# It can soften shadows.
# But it route sunlight (ksDiffuse) to ambient light (ksAmbient), which has
different effects on different tracks
# Maybe use this gently (0.75 .. 1.0)

- pp: resoulution dependency of godrays


# The godrays modulator inlcudes now a screen resolution adaption.
# With higher screen resolution, the godrays become larger. This is now
compensated!

- ppfilter/script: pureEYE, less boost of sunlight saturation

Pure 0.127

- Pure Config app: if parameter values differ from the default values, then they
are displayed yellow

- exposure: better exposure within cloud shadows

- directional ambient light: removed code for adding light, if cam is in cloud
shadow
# There should always be directional light from bright clouds

- skydome default set: added directional ambient light to all clouds weather,
dependent on the cloud dense

- ppfilter/script: pureEYE, removed some code for being in a cloud shadow


# Actually exposure works realy good now, so the loss of brightness can be
compensated only by (cbe + AE) exposure
# Skydomes have now good directional ambient light. So the add some light to darker
sceneries.
# Lower minimum AE, to be aware of very bright tracks

Pure 0.128

- exposure: more stable value in daylight, but better reaction to very high content

- skydomes: added a parameter to define a cloud coverage per texture

- ambient light: advanced ambient light is dependent of cloud coverage with low
sunangles

- ppfilter/script: pureEYE, removed minimum CBE limit

Pure 0.129

- ambient light: some tweaks

- ppfilter/script: pureEYE, some exposure LUT tweaks

Pure 0.130

- ambient light: some tweaks to adv. ambient light

- ppfilter/script: pureEYE, changes to colorgrading

Pure 0.131

- core: lowering the whole light to 0.2 times the former value
# This will restore the CSP reflections debug usage

- exposure: so tweaks to exposure calculation

- pureEYE: removed CSP lights boost, changed CBE analysis values, more black tone
lift in the colorgrading

Pure 0.132

- core: reverted back to 0.130 daylight level

- exposure: some small tweaks to prevent too high daylight exposure

- ppfilter/script: pureEYE, some tweaks

- noPP script: some tweaks

Pure 0.133

- exposure: dynamic sensibility, gets bigger with very high exposures

- ambient light: less adv. ambient light with overcast

- fog engine: les ambient light with heavy rain


- 2dclouds: fixed a bug with too high ambient light and deactivated 3d fake cloud
shadows

- pp: tweaked spectrum adaption

- ppfilter/script: pureEYE
# simulation of much more daylight
# all CSP lights are gained by 1.5
# less low tones boost in the colorgrading

Pure 0.134

- exposure:
# added a function, which adapts to cloud coverage. So exposure does not lower this
much with a with sky
# removed cloud shadow adaption

- ambient light:
# some tweaks to advanced ambient light
# some tweaks to overcast ambient light

- fog: some adjustments to overcast

- sunlight: lower sunlight with lower sunangle

- skydomes:
# many tweaks to overcast weather and overcast light LUT
# fixed cloud coverage calculation

- track: tweaked "ambient darkness" condition calculation

- ppfilter/script: pureEYE,
# some AE adjustments, higher Lambert Gamma
# CSP lights at 1.25

Pure 0.135

- exposure:
# some tweaks to twilight scenes
# more exposure CSP light litten scenes

- skydomes: some tweaks to overcast weather

- fog: some tweaks to thick fog (a little darker)

- 3dclouds: added some standard cloud coverage calculation, to fit ambient light
calculation

- ppfilter/script: pureEYE
# bounced light, emissives are dependent on exposure
# removed nighttime CBE target boost - done in Pure's internal exposure calculation

Pure 0.136

- lights: a proper control of csp displays


# now independent of CSP emissives
- ambient light: some adv. ambient light under cloud shadows

Pure 0.137

- sunlight: dynamic adaption of Lambert Gamma with low sunangles

- script: pure.world.getCloudShadow() and Pure_get_CloudShadow() containing


overcast values too.
# So only the cloud shadows function needs to be used to get cloud cover

- ppfilter/script: renaming Pure's ppfilters


# "pure" now called "pureLinear"
# "pureEYE" now called "pure" and so it is the default Pure ppfilter

- ppfilter/script: pureLinear
# some improvements of overall brightness
# lowered skydomes brightness to have more headroom for overall brightness

Pure 0.138

- core: smoothen all weather parameters


# leads to smooth instant change of weather
# prevents flicker with overcast and badness

- skydome:
# some tweaks to Scattered Clouds
# lower directional light for Overcast high sun domes

- exposure:
# some better adaption of cloud coverage
# minimum CBE dependent usage of the cloud coverage adaption

- config: added a root config, to support multiple configs (pure_root_config.ini)


# its possible to use multiple configs, dependent of the video and PP mode.
# the default config is: "pure_config.ini", this will be used for all other cases
than:
# "VR": pure_config_VR.ini
# "PP off": pure_config_ppOff.ini
# The multiple config usage is deactivated by default and can be activated in Pure
Config "Main" screen

- files:
# updated install_pure.bat, fixed some things.
# added uninstall_pure.bat, removes also the Pure settings
# updated Pure install guide.pdf, added uninstall page

Pure 0.139

- config: video mode dependent config, added "VR + PP off" mode

- skydomes: some tweaks to overcast

- default script: added godrays fix for CSP pre 1.78 versions

- ppfilter/script:
# dynamic reflections level - With higher exposures, reflections getting a bit
higher
# More comments to help with scripting and understanding the filter

Pure 0.140

- ambient light:
# removed occlusion control from advanced ambient light
# some more advanced ambient light with overcast and low sunangles

- core: fixed a bug with double initialized custom script parameters with VR

- core: added a better start procedure, removed resets with VR mode

- script: added Pure_get_CloudCoverage() + pure.world.getCloudCoverage to retrieve


the current cloud coverage

- fog: lowered skygradient color with humidity and mist

- ppfilter/script: pure, lowered daylight and adapted CSP lights to it

Pure 0.141

- Pure Config: showing loaded script settings

- script: added video mode dependent script settings


- script: fixed some naming bugs with script settings and video mode dependent
configs

- ppfilter/script: pure, calibrated daylight and adapted CSP lights to it

Pure 0.142

- core: fixed some bugs with new loading code

- ppfiilter/script: better working ambient darkness booster in tunnels

Pure 0.143

- fog: fixed backlit with humidity and mist

- ambient light: added a portion of sunlight color with fog

- sun light: reverted to some more sunlight with very low sunangles

Pure 0.144

- UI: getting logical drives


# changed logical drives detection. Using only the drives of Documents and AC root
folder

- sunlight: reverted back to 0.142 levels

- lighting: changed the daylight multiplier neutralization from twilight to night


curve

- ppfilter/script: pure, fixed daylight and bounced light values

- ambient: fixed daylight multiplier influence on ambient and adv. ambient light

Pure 0.145

- fog: cleared some things in terms of night light pollution

- ambient light: fixed the calculation sequence. Lowest ambi light and night light
pollution are added at the end after daylight multiplier

- night light pollution:


# changed night light pollution color limit (rgb(10,10,10) maximum)
# changed density calculation

- skydomes: changed night lighting LUT for windy, overcast, broken clouds (just to
test it - needs better textures later)

- 2d clouds: added night light pollution

Pure 0.146

- apps: updated Sol Planner (3.4)


- controller: updated Sol 2.2 controller (2.21)

- core: basics, using io. functions for file and folder work, removed windows
command calls

- UI: limit mousewheel function to CSP 1.78 and later


- UI: file browser, getting all drives with CSP 1.79p87 and later

- weather: added fog and humidity presets for all weather


- weather: added basic thunder sounds

- skydomes: skipping first fade when AC is loaded or Pure is reset

Pure 0.147

- Pure Config: removed skydome texture quality selector

Pure 0.148

- skydomes: changed the crossfade function


# texture alpha masks are crossfaded the way, that with 50% crossfade, both alpha
masks have 100% opacity
# That will prevent a "popping" sun while fading from one to another texture.
# Godrays are lowered while the crossfade to avoid godrays mask clipping.
- skydomes: showing quality of texture in Pure Config app, "clouds" tab, texture
message output

Pure 0.149
- core: saven utils connect and state, added an additional entry to the connect
struct, to be sure there is 1 element left to be nil

- exposure: added a new logic for daytimes, to adapt CBE input values.
# In daytimes, minimum and average CBE is gained, if the camera's occlusion "look"
value is high.
# This will prevent a misscalculated CBE if something is above the camera, like a
bridge.

- skydomes: remove quality message


# next public versions will uses 2 sets
# the 16k version is delivered with a set called "default 16k"

- ppf/scripts: converted all scripts to new SDK aliases


- ppf/scripts: pureCandy, fixed weak emissives

- files: pure_install.bat + pure_uninstall.bat, fixed a bug with windows 11 (only


desktop folder shown)
- files: including new Sol Planner 3.6 and Sol 2.41 controller
- files: removed MODS folder
- files: removed VAO install

Pure 0.150

- apps: Pure Config


# The script UI elements (sliders and checkboxes of a pure ppfilter script) got an
own dirty state.
# If those are changed, the "save" button of Pure Config does not get yellow
anymore, but the "Save Script Settings" button.
# Added a proper handling of this dirty state when loading or resetting script
settings.

- sky: changed visible brightness less at sunrise, a bit less at noon

- ambient light:
# smoothen the advanced ambient light curve
# modified the calculation of adv. ambi light, the difference between high noon and
twilight values is lower
# better calculation of adv. ambient light of foggy weather in twilight times
# a bit higher ambient light saturation with sunangle from 12° to -3°

- fog: added a scatter index to materials (rain, sand, smoke). This avoids wrong
ambient light

- exposure: added new functions:


# pure.exposure.cbe.getMinimum(), returns the raw CBE minimum value
# pure.exposure.cbe.getAverage(), returns the raw CBE average value
# pure.exposure.cbe.getMaximum(), returns the raw CBE maximum value
# pure.exposure.setBypass(v, mix), sets a static exposure. The mix parameter
defines the mix of static exposure

- ppf/scripts: pure, reworked exposure calculation


# for low light, exposure is faded to a static value
# for external cameras this static exposure is dynamic and can be very high with
extreme low light
# for interior cameras the static exposure is fixed, to avoid a too high exposure
in nighttimes (CBE does not realy work for litten cockpits)
- ppf/scripts: pureHDR-Eye, added a damper to avoid self oscilation

- files: including new Sol Planner 3.7 and Sol 2.42 controller

Pure 0.151

- skydomes/weather: fixed missing cloud shadows

# added script tools


# some background sripts, which can be activated, to make scripting easier
- script tools: added eye focused exposure handling
# this is mainly the complete exposure handling from Pure 0.150 "pure" filter
script.
# to activate it, use "pure.script.tools.handleExposure(1)" in the init function.
(look into "\ppfilters\pure_scripts\pure.lua" for more information)

- Pure config/scripts: added a script execution time state at the end of the script
UI.

- ppf/scripts: pure, removed all exposure handling code, added


pure.script.tools.handleExposure(1)

- files: !!! ppfilter script location for live editing has changed !!!
# Put your ppfilter scripts in \common\assettocorsa\extension\weather\pure\
ppf_scripts\

Pure 0.152

- script.tools: exposure mode 1 (eye focused)


# lowered interior fixed exp. to 0.18
# It will now be the default exposure for night times

- script.tools: added godrays handling


# pure.script.tools.handleGodrays( strength )
# Put it in the update function, if you like to have an easy godrays handling
# You see its code in /pure/script/post_processing.lua

- ppf/scripts: pure, removed the godrays code and added


pure.script.tools.handleGodrays

Pure 0.153

- script.tools: exposure mode 1 (eye focused)


# finetuning
# forcing realy slow rise of exposure in dark sceneries
# much better handling of exposure for all situations

- files: changed "Pure install guide.pdf"


# changed "MODS" folder to "Pure 0.xxx"

- files: pure_install.bat
# added removing of default skydomes sets ("default" + "default_16k")
# removed VAO line

Pure 0.154
- Pure Config / config: "default_16k" is automatically selected, if no "default"
set is present

- config: new defaults


# clouds_render.method = 1
# clouds2D.set = "default_16k"

- scripts / exposure handling / mode 1:


# fixed an initialization bug
# more optional parameters - pure.script.tools.handleExposure(1, { autoexposure =
0.85, fixedexposure = 0.2, fixedmixmulti = 1.0 })

- scripts / godrays handling:


# more custom parameters - pure.script.tools.handleGodrays(length, hue, saturation,
brightness)

- files: pure_install.bat
# changed ascii design
# checking folder when removing

- files: updated Pure install guide.pdf

Pure 0.155

- audio: correct scaling of rain sounds with CSP 1.80p115 and later

Pure 0.156

- 3d billboard clouds:
# added a proper way to determine sky coverage, to support additional dir. ambi
light

- skydomes: added 4 textures:


# 174645428 - Few Clouds 20°-30°
# 180258644 - Few Clouds 30°-40°
# 180909084 - Scattered Clouds 20°-32°
# 188756621 - Broken Clouds 32°-45°

- directional ambient ligth


# added a cloud shadow based addition of dir. ambi light
# this helps to get a better light in cloud shadows

- config: added directional_ambient.cloud_shadow_boost, default = 1.0

Pure 0.157

- UI: fixed a bug with tabbars, where the current tab focus was not restored after
a wfx reset.
# editing a pure ppfilter script will not make Pure Config jump to the "Main" tab.
It will stay at the "PP" tab.

- skydomes: texture 188756621 (Broken clouds sun 32..45°), removed some birds
- skydomes: texture 161184986 (Windy sun > 45°), repaired the dynamic of the
picture, removed some dark spots
- skydomes: added 1 texture:
# 183249480 - Few Clouds -1°-7°

- exposure: reactivated the clouds covarge influence.


# exposure loss is compensated for textures with white clouds

- ppfilter/script: pure
# less filmic contrast dip with cloud shadows

- config/Pure Config
# removed dir. ambient light cloud shadow boost

- directional ambient light, additional dir. ambi light with cloud shadows is fixed
to 1.25

Pure 0.158

- skydomes: texture 161184986 (Windy sun > 45°), reverted to more cyan sky in sun
direction

- sdk: added pure.camera.getSpeed(), to retrieve the speed of the camera

- exposure: CBE, some fine-tuning of the function, which prevents the exposure dip
with bright skies.

- ppfilter/script: "pure", removed the brightness filter, which gained brightness


by 12.5%
# Due to the better exposure with white skies, this brightness boost is not needed
anymore

- config: added "sound.rain_volume_exterior_speed_damping"


# It control the external rain sound dimming with high speeds.

- sound: changed external rain sounds


# external rain sound can be dimmed with high speeds
# in default setting, the external rain sounds are dimmed just a little bit with
high speeds

Pure 0.159

- apps: Pure Config app 0.92


# added a troubleshooting if "Pure" is not selected as weather script
# added a button to activate Pure as weather script

- core/camera: If VR is used, camera direction and postion is updated to the


headset direction and postion

- UI: fixed a bug, if there is a tabbar ram-backup, but current tabbar does not
contain this tab
- UI: fixed a bug with dirty state, checkboxes were causing an error
- UI: added radio buttons

- script: added radiobuttons:


# pure.script.ui.addRadioButtons("RadioButtonName", 3, "One,Two,Three,Four,Five) is
addng radio buttons
# pure.script.ui.getValue("RadioButtonName") retrieves the number of the selection

- script/sdk: added "system"


# pure.system.isVR will return the VR status

- scripts.tools: exposure handling added mode 2:


# camera based exposure handling
# 5 exposure calculation models are selectable:

- ppfilter/script: reworked "pureCandy"


# using scritp.tools exposure handling mode 2, special settings for VR
# changed ambient light, sun ligth and color temperature
# changed godrays, special godrays settings for VR

- skydomes: added custom directional ambient light to weather sections


- skydomes: directional ambient light fixes for some weather
# thunderstorm (light, normal, heavy), tornado, hurricane

Pure 0.160

- apps: PureConfig, added a confirm dialog when deleting the script settings file
- apps: PureConfig, added the receiving of Pure's pilot signal
# if Pure is not updating the signal, PureConfig will reset to the "Activate Pure"
UI.

- core: added a pilot signal. Pure will update a signal all 0.5s if its update loop
is running.

- weather definitions: added a cloud coverage value, so exposure can react on the
higher sky brightness in 3d clouds mode

- stellar:
# adjusted moon light and appearance
# added customization of moon light and appearance
# added customization of stars appearance

- script: fixing some messages to Pure Config, when resetting, deleting and loading
settings

- ppfilter/script: "pureLinear", integrated the exposure handling tool on mode 2


- ppfilter/script: "pureCandy", more filmic contrast, reworked glare settings,
changed colorgrading (lift low tones a bit)
- ppfilter/script: "pure" + "pureLinear" + "pureLinear", added exposure handling
mode description

Pure 0.161

- stellar: new moon texture,


# fixed some problems with sun illumination
# crater details

- stellar: tweaked moon low and high angle appearance color

- skydomes: added lighting with moonlight


# added textures for nighttimes (scattered, broken, windy, overcast, sqalls)

Pure 0.162

- stellar: some fixes on the moon texture


- exposure: forcing a tonemapping exposure value, dependent on the used daylight
multiplier
# this prevents some unwanted YEBIS Glare bugs

- script tools: exposure handling mode 1:


# forcing Autoexposure
- script tools: exposure handling mode 2:
# forcing activated or deactivated Autoexposure in the certain exposure modes

- ppfilter/script: pureCandy
# exposure dependent Glare threshold
# tweaked Glare settings

Pure 0.163

- exposure: fixed tonemapping exposure value

- script tools: exposure handling mode 2: some fixes

- ppfilter/script: default script (for all ppfilters with no script)


# added script tools godrays handling
# added script tools exposure handling mode 2

Pure 0.164

- lightnings/thunder: restored the correct timings

- ppfilter/script: pureCandy, some glare tweaks

- stellar: some finetuning of the lunar eclipse curve

Pure 0.165

- stellar: tweaked moon day look

- skydomes: better mask for 190692927 (Few Clouds, sunangle <= -1°)

- script tools: exposure handling, little changes to the CBE-AE LUT

Pure 0.166

- apps: Pure Config


# added ReflectionsFX -> Tweaks -> Shot cubemap around focused car rather than
camera to the check list.
# This setting must be deactivated. Otherwise it has a bad influence on CBE
exposure calculation.

- apps: Pure Config, added an "Info" tab


# Description of Pure Config usage
- apps: Pure Config, shader group is green, if its activated

- shader: rain_haze, optimized shader parameter table usage, removed a big memory
garbage producer

- exposure: preventing the "flash" when Pure restarts.

- VR: fixed an AC crash with camera transformations if "Rift" video mode is used.

- ppf/scripts: pureCandy, added new CSP tonemapping

- controller: Sol controller 2.5


# added the possibility to read values from the
/content/weather/xxxxxxx/weather.ini
# new parameters:
# [RAINFX]
# INTENSITY=0.0
# WETNESS=0.1
# WATER=0.25

Pure 0.167

- apps: Pure Config, changed the app window id to avoid difficulties with other CSP
stuff
# This will reset the former window position and size
- apps: Pure Config, added a number in the slider to show the offset or multiplier
value
# This will help when try things first in Pure Config and then coding it in a
script.
- apps: Pure Config, added tonemapping group
# This will show you the parameters of the set tonemapping, if you use
pure.pp.setTonemapping(x).

- pp: added Uchimura and Lottes tonemapping


# The Pure specialized tinemapping will only work, if you call:
# pure.pp.setTonemapping(ac.TonemapFunction.Uchimura) or
# pure.pp.setTonemapping(ac.TonemapFunction.Lottes)
# in a script
# You can also activate a clipping debug and a display of the tonemapping curve.
# See pure ore pureCandy how it works

- script tools: exposure handling, reverted to the Pure 0.165 code

Pure 0.168

- apps: Pure Config


# added "Try to fix wrong settings" button. It will set the right reflectionsFX
settings.

- pp: added custom tonemapping support


# Its only needed to give the tonemapping function
# Pure's tonemapping debug function can be used
# see pure.lua

- pp/script: pure, added custom tonemapping code to demonstrate how it works.

Pure 0.169

- script, exposure handling: mode 1 (eye focused), added a new option


"superexposure"
# pure.script.tools.handleExposure(1, { autoexposure = 0.85, fixedexposure = 0.25,
superexposure = 0.50, fixedmixmulti = 1 })
# for very dark sceneries, where you can barely see anything, the exposure can rise
to this value
# this was already a working part, but it was fixed at 0.75
# I use YEBIS AE to determine the overall viewed brightness. If this is very low,
the exposure can rise over the "fixedexposure"
# Normaly the light of the headlights is enough to prevent this in cockpit views.

- script/ppf: pureLinear
# removed unnecessary things like photo look and such
# its a real linear filter now
# added a custom tonemapping for softclipping high tones to avoid burned out tones,
but should not realy influence mid and low tones

- controller: Sol 2.5, added CM - Drive menu handling


# weather, wetness and puddles can be selected now

Pure 0.170

- apps: Sol Planner 4.0


# working random selection in new CM Drive Sol 2 weather menu

- ppf/script: pureLinear
# added bounce and emissive light control
# tweaked exposure settings

Pure 0.171

- spript: exposure handling, tweaking exposure while sunset of mode 1 and 2

- script/ppf: pure, tweaked tonemapping and bounce light

Pure 0.172

- pp: fixed a little bug with setting ac.setPpTonemapMappingFactor()

- script/ppf: pureLinear, better code for mapping factor gamma


# It now looks the same for YEBIS and Custom

Pure 0.173

- renamed debug function to be compatible with std character set

- pp: added RGB tonemapping


# use pure.pp.setCustomRGBTonemapping()
# see pureLinear.lua

Pure 0.174

- script tools: exposure handling mode 2:


# method 2 (Yebis AE) uses now the speeds set with
pure.exposure.yebis.setAdaptionSpeeds(10, 10)
Pure 0.175

- moon: added a curve to the appearance brightness, more equal brightness for low
and high positions

Pure 0.176

- controller: Sol 2.5, fixed rain initial value

- ppf script: pureLinear, finetuning


# also added commented code to use eye-based exposure handling

Pure 0.177

- controller: Sol 2.5, changed how CM-Drive integration works


# added "Auto" wetness and puddles
# added "Random"

Pure 0.178

- script/exposure handling: better exposure for low ambi light. This will improve
exposure for bad weather.

Pure 0.179

- custom tonemapping: added a function to discard the custom tonemapping path, so


ac.setPpTonemapFunction can work properly again
# always use:
if ac.getPatchVersionCode() >= 2349 and pure.pp.setCustomRGBTonemapping then
-- custom Pure tonemapping
else
if pure.pp.discardCustomTonemapping then
pure.pp.discardCustomTonemapping() end
-- Yebis tonemapping
end
# to be downwardscompatible with your ppfilter script to older Pure versions

Pure 0.180

- ppf pure..., some finetuning

- exposure handling: some finetuning of the exposure with dark sceneries

Pure 0.181

- Pure Config app: no tonemapping group with PP off


- Pure Config app: better way to read the video.ini

- skydomes: removed a bug, if "preload textures" is activated


# anyway, it is NOT recommended to set it.
- skydomes: texture fixes, horizon alpha fade
# 235922208, 217529345, 233525913, 160889920, 159534903, 228834139, 171898272,
190760457, 240377153, 192150758, 162072753, 165516231, 176525936

- controller: Sol 2.51, added "Predefined" to the Start weather, to support


challenge event weather

- ambientlight: fixed the calculation of ambient luminance in conjunction with


humidity or fog
# better exposure calcualtion for low sunangles with high humidity or fog

- ppf/script: pureLinear, added VR condition which lowers exposure target value and
superexposure in VR
- ppf/script: pureCandy, added custom tonemapping from pureLinear

Pure 0.182

- apps: Pure Config: added Track tab


# added standard track setting config
# added landscape shader settings

- ambient light: adv. ambi light, added occlusion control to prevent a boost in
buildings like tunnels

- track: changed the track settings system


# now working with Pure's config class
# realtime changes
# if landscape is used, HORIZON_OFFSET is set to 0.

- shaders: added "landscape" shader


# adding a plain ground texture to the sky shader
# some perspective tricks: the higher the camera is, the more the horizon gets
foggy.

Pure 0.183

- shaders: "landscape", implemented 16x anisotrop texture filtering

- skydome set: added values for cloud shadow opacity (clear, few clouds, scattered
clouds)

Pure 0.184

- apps: Pure Config, added check for ParticlesFX (needed for shaders)

- UI: fixed a problem with building groups like shaders

- skydomes: default, some tweaks of the overcast lighting


- skydomes: better horizon alpha fade for "163266525"

- shaders: "landscape",
# lower farplane value, solves a graphical glitch
# fixed some bugs while saving files

- pp: added support to use encrypted ppfilter scripts


# encrypt your script at https://ganlvtech.github.io/lua-simple-encrypt/
# password = your ppfilter name
# Settings: Logitech macros (Lua 5.1 loadstring, edit key manually, print key
error)
# Select your lua script and encrypt it.
# Open the downloaded file and remove all the code before and after the numbers
# The file must only contain numbers comma separated like:
# (start of the file)
35772,51898,41178,28375,...........,73,48,11,31,89,49,89,14,26 (end of the file)
# Change the extension of the file from ".lua" to ".lua_encrypted"

Pure 0.185

- core: build a junction for io.output(), this fixes the bug with CM 0.8.2561
- core: added some functions to shader building

- shaders: "landscape", compatible with pre CSP 0.1.80p115


# added a description

- controller, Sol 2.52, update to solve the CM 0.8.2561 bug

Pure 0.186

- shaders: landscape, edited all texture:


# lifted black levels a bit individually
# removed magenta tones

Pure 0.187

- apps: Pure Config, removed the quality buttons from the UI if clouds render
method is set to skydomes.
# the buttons don't change any related settings for skydomes or other parts of Pure
- apps: Pure Config, added a warning if skydome textures are missing

- script tools: exposure handling mode 1: added a new UI option "Exposure is


driving focused"
# if this is activated, the exposure is gained to have more visibility.
# Therefore the sky can have clipped tones

- ppf/script: pure, using the new "Exposure is driving focused" active as default.

- skydomes: fixed a wrong fog setting with track adaption's "FOG_SHAPE"

- world/sky: fixed a wrong fog setting with track adaption's "FOG_SHAPE"

- sdk: added
# pure.world.getHumidity, the value of Pure's humidity layer
# pure.world.getMist, the value of Pure's mist layer
# pure.world.getSmog, the value of Pure's smog layer (defined in the track config
or track adaptions)

- shaders: landscape, added humidity as a modifier of the smearing effect of the


horizon line
# with low humidity the horizon line is realy clear

Pure 0.188
- core: rewrote the file loading/writing system
# according to the io.output problem, i rewrote the whole system. Files are no
longer opened and sequentially filled via the io read and write functions.
# The data are collected in an internal buffer and the files are written and loaded
once with io.load and io.save.
# Tested with CSP 1.79 and higher

- ppf/script: "pure", added tonemapping changes related to the "Exposure is driving


focused" option.
# if this option is activated, exposure is much higher and high tones will be now
compress much stronger, to avoid heavy clipping.
# This is made for all new 3 tonemappings Uchimura, Lottes and Uncharted

- ppf/script: "pureCandy",
# reworked the GLARE settings and lowered saturation a bit, to avoid ugly brake-
lights
# some tweaks to the overall look

Pure 0.189

- script tools: exposure handling mode 1: some more boost of AE Target with
"Exposure is driving focused" option

- ppf/script: "pure", some tweaks of the GLARE settings

Pure 0.190

- ambient light: advanced ambi light, lowered the additional boost with rainy
weather

- files: added uninstall_sol and uninstall_sol__install_pure.bat


- files: added licence and copyright informations

Pure 0.191

- apps, Pure Config, added Camera tab


# added option to prevent camera occlusion modifiers in Pure's functions

- shaders: solved a bug with Triple Screen mode


# Currently the depth map of CSP is not drawn right in Triple screen mode
# This is just a fix, not a real solution, maybe...

Pure 0.192

- apps: Sol Planner 4.1, to work with CSP 0.2

- apps: Pure Config v0.99


# forces CSP settings now -> /utils/fix_settings.lua
# added buttons to the "PP" tab, to export and delete a PPfilter related config
# added "Adaptive clip planes" to the settings checklist
# added a ppfilter settings checklist
## an error, if the new tonemapping is used, but Vignette is 0
## a warning, if Goadrays diffration ring is 0
# changed label "Current Config File" to "Current Config Video Mode"
- apps: Pure Planner 0.01
# contains the whole basic time management and plan slot editing
# slots have no content yet, just a debug info of the current transition
# has no weather control yet

- config: solved a logic problem when saving configs and a ppfilter script forces
values.
# if values are forced, not the forced value is saved, but the former loaded value

- config/PPfilter, added functions to export and delete ppfilter related configs.


# a Pure config can now be bound to a ppfilter
# The file is place besides the script in the /system/cfg/ppfilter/pure_scripts
folder
# If a file exists there with the name ppfiltername_PPconfig.ini, the file will be
loaded as Pure config!

- shader: landscape,
# fixes issues with different camera methods (Triple screen and such)
# added clouds shadows (CSP 0.1.80p317 or higher)

Pure 0.193

- apps: Sol PLanner 4.0, reverted back to this version.


# Please use CSP 0.1.80p334 now to prevent the date problem

- apps: Pure Config v1.00


# better management of the "Delete script settings" button, it only shows, if a
script settings file exits
# better management of the "Delete PPfilter related config" button, it only shows,
if a PP config exists
# fixed a bug with the new PPfilter errors and warnings and VR
# hiding "PPfilter related configs" buttons if PP is deactivated

- skydomes: fixed a wrong calculation of the lighting.


# With higher skydome brightness, its lighting and the additional directional
ambient light will have less saturation now.

- render: added loading of custom Pure shaders in


/extension/config-ext/PureShaders/

- ppf/script: pureCandy, some changes to ambient light and distant ambient light

- files: install scripts, added new folders for Pure Planner and Pure Shaders

Pure 0.194

- apps: Pure Planner, 0.02


# added the slot editor
# added custom transitions of weather data and look
# added AC play mode handling: Pure Planner can work in Replays and Online mode
(only weather look for online mode)
# no dynamic weather calculation in this build!

- weather: added Pure Planner connection


# receives the condition directly from Pure Planner to change the weather look in
Online sessions
Pure 0.195

- apps: Pure Planner, 0.03


# fixed day table calculation when changing date
# reversed direction of date change. Down will increase the date. Now its the same
direction like the times in the plan.
# weather presets got correct rain values

Pure 0.196

- apps: Pure Planner 0.04


# added mousewheel to change the date and time in TOP section
# added right mouseclick on slot -> sets plan position to this slot
# fixed loading of current weather if app is closed while session startup
# added a check if Pure Controller is running
# added a button to clear the plan
# default start of transitions is 0.5
# correct value formats and scaling in the Slot Editor data
# changed sliders in the "data" tab of slot editor to new multi functional sliders
## a range can be selected. Then the value is randomized within this range
## the slider resets to its preset value or to the value selected in CM by right
mouse click (range is resetted to 0)
## finetuning via mouse wheel
# added random weather and its selection functions
## while selecting the random weather (hit the random weather again), weather can
be added.
## The number which appears is a priority. So a weather with a high priority number
is taken more often in the randomization.
## a weather randomizes, if it becomes the new future weather (if it becomes next
in the plan)

- UI: custom value format and scaling for sliders

- skydomes: scattered "240377153" a little darker.

Pure 0.197

- apps: Pure Planner 0.05


# added tooltip/help system, can be switched on/off
# added in-game manual functions
# added first in-game manual pages
# fixed swapped air and road temperatures
# added mouse wheel support to random weather selection
# windspeed slider is now exponential(^2)
# added direct click position to data sliders
# added copy/paste system
# added copy/paste to slot editor

- config/scripts: fixed a bug with loading script settings. Was caused by the fix
of saving fixed values.
# the script version number is now handled differently (direct)

Pure 0.198

!!! removed old Pure Planner, renamed new Pure Planner !!!
please delete "Pure Planner" and "Pure Planner 2" folders in /apps/lua before you
install

- apps: Pure Planner 0.06


# added dynamic weather calculation (rain, humidity, mist, temperatures)
# added automatic transitions, values will be set according to the weather's rain
amount
# added settings management

- skydomes:
# changed the point of loading the new texture while a transition
# added adaptive skydomes fades. If weather is changing fast, the fade is shortend

- core: reworked encryption, PureEncrypter needed to encrypt files with new logic
# older encrypted files still work

Pure 0.199

- apps: Pure Planner 0.07,


# added sky features, camera centering and locking
# added more help texts

- shaders: fixed shaders path generation with encryption

- skydomes: fixed session start texture loading


- skydomes: more improvements with the adaptive fading times
# if skydomes changing fastly, the fade time is shortened

Pure 0.200

- apps: Pure Planner 0.08,


# reworked the settings UI
# added more settings to customize
# added autosave of the current plan
# added handling of dynamic controller menu
# added more help pages

- skydomes: some more fixes with loading the texture in certain weather transitions
and in combination with Pure Planner app

- controller:
# added a dynamic controller with a CM Drive - weather selection sub menu

- files:
# pure_install.bat, updated files and folder commands
# uninstall_pure.bat, added a confirmation and a warning text
# uninstall_sol__install_pure.bat, updated files and folder commands

Pure 0.201

- apps: Pure Planner, changed version to 1.00


# memory optimizations
# fixed a bug with weather initialization (possible miss of a dynamic property
calculation checkbox)
# added sunangle dependency to dynamic weather calculation
# corrected some grammar in Pure Planner help
Pure 0.202

- apps: Pure Planner, removed the memory checking debug function


- apss: Pure Config, added a message, if a ppfilter related config is loaded

- core: removed some debug outputs

- config: added ppfilter related config state

- files: fixed a typo in the install_pure.bat

Pure 0.203

- apps: new icons for Pure Planner and Pure Config


- apps: Pure Planner
# added required CSP version (0.180p346)
# added help texts about plan files
# plan editing state is saved in the settings
# changed plan autostart routine
- apps: Pure Config: added a confirmation dialog when saving a config and a
ppfilter related config is used.

- audio: added more parameters, to control the damping of wind and rain sounds in
high speeds
# damping is set to 75% as default
# speed is set to 200 km/h for full damping as default

- config:
# If a ppfilter related config is used, the config changes will be written in that
file, if the config is saved
# If a ppfilter related config is used, this config files is loaded, if "LOAD" is
used in Pure Config

- changed CSP required version to 0.180p346

- apps: Pure Planner


# fixed some major behavior with the replay and online mode
# fixed the sky feature direction with track haeding
# added timemulti reset to the timemulti buttons
# fixed a bug with transition jumps

- apps: Pure Config


# fixed a bug when loading the values

- weather: smoother transitions

- skydomes: better and more adaptive texture fading with transitions

Pure 0.204

- apps: Pure Planner:


# added some methods to load the time multiplier and functionality to use Pure
Planner in careers and championships
# adv. weather control is missing in the current CM for careers. So you need to
manually set the controller:
# Please open the weather_fx.ini in your /Document/Assetto Corsa/cfg/extension
folder
# set this:
# [BASIC]
# CONTROLLER=pureCtrl static
# IMPLEMENTATION=pure

Pure 0.205

- apps: Pure Planner:


# wetness and puddles where not taken from the CM Drive menu, if no plan is loaded
with this menu. fixed.
# fixed a bug with copy and paste
# better interaction of dynamic and manual weather data

- controller: found some issue when setting rainFX wetness and puddles.
# After a rapid change from wet to dry weather, rainFX still showed the rain
visuals on the tires. fixed now.

- weather: a workaround for a bug in CSP while replay:


# In weather transitions a bug appears at the end of the transition. The workaround
minimizes the effect of this bug.

You might also like