ENBSeries 0.286 beta (graphic mod) / ENBoost (patch)
Added support of temporary render targets for enbeffectpostpass.fx shader file and new textures for it, temporary targets have predefined formats and full screen size. Added enbadaptation.fx external shader for eye adaptation effect. Added adaptation parameters to enbseries.ini config file. Changed format of main enbeffectpostpass.fx render targets to 16 bit per channel format to hide color banding completely. Fixed all reported bugs.
These are new textures of enbeffectpostpass.fx:
Code: Select all
Texture2D RenderTargetRGBA32; //R8G8B8A8 32 bit ldr format
Texture2D RenderTargetRGBA64; //R16B16G16A16 64 bit ldr format
Texture2D RenderTargetRGBA64F; //R16B16G16A16F 64 bit hdr format
Texture2D RenderTargetR16F; //R16F 16 bit hdr format with red channel only
Texture2D RenderTargetR32F; //R32F 32 bit hdr format with red channel only
Code: Select all
technique11 TemporaryTarget1 <string RenderTarget="RenderTargetRGBA32";>
{
//... some code here
}
Setting render target of unsupported type (TextureDepth, TextureColor, etc) or mistake in annotation leads to skipping of rendering to temporary target and entire technique.
Adaptation technique11 Downsample have 256*256 texture as input, because screen is internally downampled to 256*256 for performance reasons and simplicity of the code. Entire code of adaptation is almost the same as used in Skyrim, just changed sizes of render targets to reduce number of passes and final texture have only red color channel as gray data for performance reasons and higher range of values possible with 32 bit float.