[FO4/SSE] SMAA 1x for 0.288+
Posted: 11 Dec 2015, 15:58
SMAA 1x for 0.288+
THIS IS NOT SMAA 4x, read descriptions above. (☄◣ω◢)☄
parameter descriptions in enbsmaa.fx
file history:
Dec/11/2015
**initial upload
Dec/12/2015
**hotfix on typo with rendertarget.
Sep/29/2016
**replace stencil test with alpha, (stencil is not working in previous release, which is causing some extra fps drop)
**various change in macros setup so that the file now use reference SMAA.h.
**added standalone support for enbsmaa.fx (see the demo enbeffectpostpass.fx).
**added constant setting to increase performance if UI tweaker is not required.
Code: Select all
/*===========================================================================================
* file descriptions
=============================================================================================
* implemented to enbeffectpostpass.fx by kingeric1992 for Fallout 4 ENB mod 0.288+
* update. Sep/29/2016
* for more detail, visit http://enbseries.enbdev.com/forum/viewtopic.php?f=7&t=4721
*
** Only SMAA 1x is avaliable
*
* SMAA T2x requires moving camera in sub pixel jitters.
* SMAA S2x requires MSAA 2x buffer
* SMAA 4x requires both of the above
*
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
* Usage:
* add
* #define SMAA_UINAME 0 // 1 == use smaa method independently
* #define PASSNAME0 targetname
* #define PASSNAME1 targetname1
* #define PASSNAME2 targetname2
* #include "enbsmaa.fx"
* at the end of enbeffectpostpass.fx.
* where the targetname(N) is follow up the technique chain and increment to one before, if
* the last technique is called THISPASS4, then set targetname to THISPASS5 and the rest with
* increasing index. ( targetname index "0" is empty )
*
* If you wish to have SMAA as standalone effect that doesn't chain after other technique, set
* SMAA_UINAME to 1 and have the pass index start from empty (which means "0").
*
* in addition, you can change internal rendertarget with :
* (they will be cleard, so change to other texture if any of the default tex is in used to pass
* along data, otherwise, ignore this.)
*
* #define SMAA_EDGE_TEX texture0name // default is RenderTargetRGB32F (only require 2bit-RG channel)
* #define SMAA_BLEND_TEX texture1name // default is RenderTargetRGBA64 (requred RGBA [0,1] )
*
* prior to inclueing "enbsmaa.fx"
*
* Loading multiple times with different PASSNAME is possible (under same name is not recommended).
*
==============================================================================================
* Settings
============================================================================================*/
#define SMAA_PRESET 5 // 0 == low, 1 == medium, 2 == high, 3 == ultra, 4 == custom preset, 5 == runtime UI tweak
#define SMAA_PREDICATION 1 // 0 == off, see descriptions below
#define SMAA_EDGE_MODE 0 // 0 == color(quality), 1 == luma, 2 == depth(performance)
#define SMAA_DEBUG 1 // 0 == off, enable additional options to display texture in each stage
parameter descriptions in enbsmaa.fx
file history:
Dec/11/2015
**initial upload
Dec/12/2015
**hotfix on typo with rendertarget.
Sep/29/2016
**replace stencil test with alpha, (stencil is not working in previous release, which is causing some extra fps drop)
**various change in macros setup so that the file now use reference SMAA.h.
**added standalone support for enbsmaa.fx (see the demo enbeffectpostpass.fx).
**added constant setting to increase performance if UI tweaker is not required.