Vanilla Plus AO
Acknowledgement
Many thanks to everyone who enjoys my mods, I would not be here without you.
Description
Vanilla Plus AO is a xNVSE plugin and shader package that introduces a standalone variant of screen-space ambient occlusion. Typically, shading only takes into account the object currently being rendered and the global conditions, such as directional, point, and ambient lighting. Ambient occlusion approximates the way lighting interacts between the different objects in the scene. The effect helps visually understand the depth of the scene and the relation various objects in the scene have between each other (as you can see in this imgsli, for example).
After a bit of research, and given our constraints, I have decided to implement the Scalable Ambient Obscurance algorithm. It is one of the many options that currently exists, but crucially, it integrates well with what we have access to (or rather lack access to, hello motion vectors!). It's also quite performant due to a few tricks. Practically, it should offer similar performance to i.e. Nvidia's HBAO+ (which despite the name has nothing to do with HBAO and in fact uses SAO as a base).
Obviously, this mod will have some effect on your performance. It is very hard to quantify however, because of the many different configurations of hardware and software. However, I did my best to optimize it as best as I could. Testing that we have done looked very promising even for lower end GPUs.
Note that this being a screen-space algorithm, there are some potentially rather obvious limitations. The ambient occlusion cannot take into account geometry missing from the depth buffer - like outside the screen. It might or might not distract you.
Configuration
The mod comes preconfigured with what I felt like reasonable values (which I could potentially tweak later).
All the configuration options are exposed as game settings which are optionally loaded at game start from an INI file. This means you have the option to tweak the options to your liking using an INI file. You can also experiment with the options using game settings using SetNumericGameSetting. This can also be used to script changes to the values as needed (Cartographer support is on the way).
You can download a prefilled and documented INI file from the optional files. All the game settings have the form [type]AO[Ext/Int][name] such as bAOExtEnabled or fAOIntRadius.
Requirements
- Shader Loader - NVSE
- LOD Flicker Fix - NVSE
- Depth Resolve - NVSE (version 1.2.0 or higher)
- MCM Extender (optional, use if you want a MCM configuration menu)
Installation
Install as normal. Load whenever.
Source Code
41b1-469c-bb75880dbae1
Instructions
Install as normal.
Requirements
Optional Requirements
Vanilla Plus AO
Main file: Install as normal.
Vanilla Plus AO - INI
Optional file: INI with default values. Easier to edit in game with MCM Extender.
Vanilla Plus AO - Performance INI
Optional file: Performance INI. Use for lower quality, but higher performance.