#define fMXAOMipLevelIL 2 // Miplevel of IL texture. #define fMXAOSizeScale 0.8 // Resolution scale in which AO is being calculated. Higher means more smooth AO but also blurrier AO. #define fMXAOBlurSteps 4 // Offset count for AO smoothening. #define fMXAOBlurSharpness 0.9 // AO sharpness, higher means more sharp geometry edges but noisier AO, less means smoother AO but blurry in the distance. This will improve performance but may introduce some artifacts at distant objects. #define bMXAOLowPrecisionEnable 1 // Enables lower bit mode for AO source texture (R32F vs R16F). Can be useful to remove odd behaviour with too high sample radius / objects very close to camera. #define bMXAOBoundar圜heckEnable 0 // Enables screen boundary check for samples. #define bMXAOBackfaceCheckEnable 0 // For indirect lighting only! Enables back face check so surfaces facing away from the source position don't cast light. #define fMXAONormalBias 0.2 // Normals bias to reduce self-occlusion of surfaces that have a low angle to each other. #define fMXAOSampleRandomization 0.0 // Breaks up the dither pattern a bit if sample spiral gets too visible (low samples and/or high radius). May look ugly when low sample count (16 or less) is used, turn it off then. #define bMXAOSmartSamplingEnable 1 // Enables smart sample count reduction for far areas. Higher means more accurate and less noisy AO at the cost of fps. #define iMXAOSampleCount 32 // Amount of MXAO samples. Heavily depending on game, GTASA: 10 = GTA V: 40ish #define fMXAOSampleRadius 5.0 // Sample radius of GI, higher values drop performance. #define fMXAOIndirectLightingSaturation 1.0 // Boosts IL saturation for more pronounced effect. #define fMXAOIndirectLightingAmount 1.0 // Linearly increases IL intensity. #define bMXAOIndirectLightingEnable 0 // Enables Indirect Lighting calculation. Can cause pitch black clipping if set too high. #define fMXAOAmbientOcclusionAmount 3.0 // Linearly increases AO intensity. MXAO performs likewise.Ĭomplete documentation PDF included in file. Alchemy SAO for example needs very accurate linearizing function to function properly, while algorithms such as the Crysis SSAO run on almost everything. This is one of the most noteable features of the ENBSeries AO.Ĥ. Again, a lot of AO shaders perform fairly fast for moderate sampling ranges but kill the performance for wide-range sampling. The robust implementation allows for very wide-range AO with little decrease in performance due to minimum cache trashing. (64 samples: 3 pixels radius for bayer, 8+ pixels radius for randomized samples).ģ. Due to the nature of the bayer matrix, the resulting pattern needs a lot less blur for completely smooth shades. Instead, it uses a 16x16 bayer matrix as distribution lookup combined with a fine-tuned algorithm to improve variance.Ī lot of AO implementations reduce their effective sample count because many samples land on the same positions so the result is way more noisy than on other implementations with the same sample count. To reduce the amount of needed post-blur, MXAO uses a non-random sampling distribution. At low settings, its fps drop is not noticeable on GPU's like GTX 970 where HBAO+ or similiar algorithms dip the fps quite a bit. It can both apply little shading almost for free or heavy shading for screenshots to completely change the look of the scenery. The performance and scalability allows almost GI-like scenes in some cases. To spice things up, it can also calculate Indirect Lighting. MXAO is a SSAO algorithm designed to be the perfect replacement for faulty AO implementations in modern games.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |