Guest User

Untitled

a guest
May 21st, 2018
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 27.17 KB | None | 0 0
  1. //////////////////////////////////////////////////////////////////
  2. // Dynamic Shaders 2.0 Alpha - Extreme Preset - By Meltac, Kingo64, Sky4ce, JJ Walker, Daemonjax, K.D., Ketxxx
  3. #ifndef SSM_Mount
  4. #define SSM_Mount
  5. //////////////////////////////////////////////////////////////////
  6. //Feature Enable/Disable: Comment a feature (Add the //) to disable, or uncomment (Remove the //) to enable.
  7. //////////////////////////////////////////////////////////////////
  8. // Comments with a '#' are Kingo64's notes
  9. //////////////////////////////////////////////////////////////////
  10.  
  11. // Set used DirectX version - use only when running Meltac's custom DirectX binaries!
  12. #define DX11
  13.  
  14. #define SSH // Enable/disable Meltac's Sun shafts
  15.  
  16.  
  17. //////////////////////////////////////////////////////////////
  18. // Lighting - Shadows - Jittering Options
  19. //////////////////////////////////////////////////////////////
  20.  
  21. //#define USE_SJITTER // Uses shadow jittering, a modern method of smoothing out shadow edges. Applies to flashlight, and to world if SUN_FILTER is enabled.
  22. #define USE_SJITTER_SUN // Uses shadow jittering for shadows created by the sun/moon, a modern method of smoothing out shadow edges. Highly recommended.
  23. #define USE_SJITTER_OTHER // Enables shadow jittering (4 samples) for dynamic lights (e.g. flashlight/campfires). Recommended.
  24. #define USE_SUNMASK // Enables sun shadow masking # Occludes sun/moon behind clouds (pretty sure, anyways).
  25.  
  26. // Shadow resolution: NOTE: You will STILL have to use the -smapXXXX switch on your shortcut to the game executable, where XXXX = CUSTOM_SHADOW_RESOLUTION!!!
  27. #define KERNEL float(1.6) // IMPORTANT For custom shadow resolution... Minimum recommended values: 1024 = .6, 2048 = 1.2, 4096 = 2.4, etc... Higher values produce softer shadows.
  28. #define XKERNEL float(1.6) // Probably should be same as KERNEL!
  29. #define CUSTOM_SHADOW_RESOLUTION int(2048) // Use a custom shadow size. Default is 1024 (1024x1024). You'll notice a performance hit at 4096.
  30.  
  31.  
  32. //////////////////////////////////////////////////////////////
  33. //Depth Of Field - By Meltac, Sky4ce
  34. //////////////////////////////////////////////////////////////
  35.  
  36. //Basic options:
  37. #define DEPTH_OF_FIELD // Enables Depth Of Field # Blurs objects in the distance
  38. #define DOF_QUALITY float(12) //Amount of DOF samples. Maximum value is 12.
  39.  
  40. //Distance Options:
  41. #define MINDIST float(15.0) // Minimum distance DOF starts. Default is 0.4. // TWILIGHT KET USES 15
  42. #define MAXDIST float(275) // Distance at which DOF stops rendering. Default is 375
  43. #define MAXCOF float(0) // Blur amount - if using DDOF, this should not differ too much from DDOF_MAXCOF (I use same value). 2.5 is good.
  44.  
  45. // Meltac: Near Field DOF, Zoom DOF, and Dynamic DOF
  46.  
  47. // Blur algorithm - Classic blur by Sky4ce (faster), or linear gaussian blur by Meltac (slower but smoother/better quality)
  48. #define DOF_CLASSIC // Use classic blur algorithm; if disabled, use gaussian blur algorithm (=default).
  49. #define DOF_CLASSIC_ZOOM // Same as above but for zoom mode
  50. #define DOF_CORRECTION float (2.0) // Factor to equalize the amount of gaussian to classic blur. Default is 2.0.
  51. //#define DOF_CRYSIS // Enables modified/simplied blur effect ported from Crysis 2. CAUTION: Highly computationally expensive! Default is disabled.
  52.  
  53. // Oversampling for better quality (not really improving much, but making game startup slower - use at your own risk)
  54. #define DOF_OVERSAMPLING int(1) // oversampling ratio. Default is 1.
  55.  
  56. // Near Field DOF (see also Dynamic DOF, because the effects are interfering!)
  57. #define MAXNEAR float(0.7) // Distance at which Near Field DOF starts. Default is 0.7. Larger values will blur your weapon more, and not only its near part.
  58. #define MINNEAR float(0.0) // Distance at which Near Field DOF stops. Default is 0.0
  59. #define MAXCOF_NEAR float(0.0) // Near Field blur amount. Interferes heavily with DDOF. Default is value 7.0 without, 15.0 with DDOF.
  60.  
  61. // Zoom DOF
  62. //#define ZOOM_PERIBLUR // Enable/disable peripheral blur in zoom/aim mode.
  63. //#define ZOOM_DDOF // Enable/disable dynamic DOF in zoom/aim mode.
  64. #define ZOOM_CENTER float2(0.500001f,0.497f) // Screen center measuring point for zoom DOF calculation. Modify this value if center is blurred while zooming.
  65. #define ZOOM_FOV float (67.5) // Field of View (FOV) angle at which zoom/aim mode is considered to be active. Do not change this value by default.
  66. #define ZOOM_MINDIST float(1000.0) // Minimum distance (radius) from screen center where DOF starts.
  67. #define ZOOM_MAXDIST float(260.0) // Distance radius from screen center at which DOF stops rendering (beyond that value - full blur).
  68. #define ZOOM_MAXCOF float(0.0) // Blur amount at the screen border while zooming.
  69. #define ZOOM_FACTOR float(0.0) // The stepness of the blur amount raising from center to border. Good values are 10-12.
  70. #define ZOOM_BARRIER float (20.0) // (DEBUG) Distance from the screen center at which blurring starts, in relative pixels.
  71.  
  72. // Dynamic DOF (caution: interferes with near field DOF)
  73. //#define DDOF // Enable/disable Dynamic DOF (blurring coefficient is DDOF_MAXCOF)
  74. #define DDOF_CENTER float2(0.500001f,0.500001f) // Screen center measuring point for dynamic DOF calculation. Do not change this value by default.
  75. #define DDOF_MINDIST_ADD float(0.5) // Added to focus distance, at this distance begins blurring
  76. #define DDOF_MAXDIST_FACTOR float(4.0) // Mindist * factor = maxdist
  77. #define DDOF_MINDIST float(2.0) // Minimum focus distance where DDOF starts rendering. Was 1.5 or 3.5
  78. #define DDOF_MAXDIST float(7.0) // Focus distance at which DDOF start to fade/decrease blur.
  79. #define DDOF_MAXBARRIER float(15.0) // Focus distance at which DDOF stops rendering. Beyond this focus distance, no DDOF, only regular (distance) DOF
  80. #define DDOF_MINBARRIER float (4.0) // Focus distance that makes the upper barrier for near field DDOF.
  81. #define DDOF_MAXCOF float(5.0) // DDOF distance blur factor - good balanced is value 2.0 - 5.0 - see also MAXCOF
  82. #define DDOF_MAXCOF_NEAR float (2.5) // DDOF near field blur factor
  83. #define DDOF_MAXALPHA float (0.1) // Used to fix wrong DDOF distance when aiming to the sky. Change only if experiencing issues.
  84.  
  85. // Debug only - do not use in production environment
  86. //#define DDOF_DEBUG
  87.  
  88.  
  89. //////////////////////////////////////////////////////////////
  90. //Adaptive Nightvision Scopes - By Meltac
  91. //////////////////////////////////////////////////////////////
  92.  
  93. // Basic options:
  94. #define NV // Enables adaptive night vision
  95. #define NV_RADIUS float(0.21) // Radius of the night vision effect (1.0 = entire screen, use 0.5 for vanilla, 0.21 for gnomus scopes)
  96. #define NV_SCREENRATIO float(0.625) // Screen Ratio; use 0.75 for 4:3 (normalscreen) and 0.625 for 16:10 (widescreen) resolution
  97. #define NV_FULLSCREEN // Enables/disables night vision in fullscreen mode (e.g. when using binoculars)
  98.  
  99. // Adaptive light amplification options:
  100. #define NV_AMP float(4.0) // Light amplification factor. Good values are 2.0 to 4.0
  101. #define NV_RED float(0.1) // Red color bias
  102. #define NV_CONTRAST float(0.9) // Contrast
  103. #define NV_BRIGHTNESS float(0.10) // Base brightness
  104. #define NV_MINBRIGHT float(0.8) // Minimal brightness correction for light adaption
  105. #define NV_MAXBRIGHT float(2.5) // Maximal brightness correction for light adaption. Balanced: 2.5, High > 3.0
  106. #define NV_SATURATION float(0.5) // Level of color saturation before applying NV color (if other than (1,1,1)). 0 is fully desaturated, 1 is original color
  107. #define NV_SAT_SUN_COEF (0.6) // How much influence sun lighting has on the NV color saturation.
  108.  
  109. // Additional scope zoom options:
  110. #define NV_ZOOM float(1.5) // Additional zoom/magnification when using scope. Lowers resolution. A good balanced value is 1.5. Comment this value out if you don't want additional scope zoom.
  111. #define NV_BIAS float(0.25) // Zoom bias applied towards periphery of zoomed scope. Set 0 for no bias.
  112.  
  113.  
  114.  
  115. //////////////////////////////////////////////////////////////
  116. //Thermal/Infrared Vision - By Meltac
  117. //////////////////////////////////////////////////////////////
  118.  
  119. #define THM
  120. #define THM_MinVertG float(1.20)
  121. #define THM_MaxVertG float(2.00)
  122. #define THM_MaxAlpha float(0.1)
  123. #define THM_Infra float(0.635)
  124. #define THM_Infra2 float(0.665)
  125. #define THM_REDCOF float(0.01)
  126. #define THM_REDFAC float(0.30)
  127. #define THM_LOWCOF float(2.0);
  128. #define THM_POWER float(0.25)
  129. #define THM_STRIPESRES float(70.0)
  130. #define THM_STRIPESVEL float(12.0)
  131.  
  132.  
  133.  
  134. //////////////////////////////////////////////////////////////
  135. // Dynamic Wet Surfaces - By Meltac
  136. //////////////////////////////////////////////////////////////
  137.  
  138. #define WET // Defines whether to use dynamic wet surfaces. Comment out to disable.
  139. #define WET_ZOOM // Defines whether to use dynamic wet surfaces also when zooming gun/binoc.
  140. #define WET_FX .5f/1024.f // Just the X-axis factor
  141. #define WET_FY .5f/768.f // Just the Y-axis factor
  142. //#define WET_DEBUG // Enables debug output. Leave disabled.
  143.  
  144. // Basic Settings
  145. #define WET_BASE float(0.5) // Amount of full wet ground
  146. #define WET_REF float(0.5) // Amount of full wet reflections
  147. #define WET_REF_BUILD float (0.5) // Amount (fixed) of diffuse reflection in buildings that are defined as being reflective
  148. #define WET_NORMAL float(0.001) // Verticality / normality barrier for outdoor/terrain
  149. #define WET_NORMALIN float(0.001) // 0.5 // Verticality / normality barrier for indoor/buildings
  150. #define WET_NORMALFLOOD float(0.75) // Verticality / normality threshold for "flooded" wet ground/floors
  151. //#define WET_BUILDINGREF // Enables/disables building's floors being always reflective. Default=disabled.
  152. #define WET_MAXALPHA float(0.01) // Alpha barrier (reduce if encountering rendering artifacts in the sky). Change only if experiencing shader ghosting.
  153. #define WET_HEMILUM float (0.7) // Hemisphere luminance level at which the color recognition changes (to prevent false positives) - do not change normally
  154. #define WET_MAXCOF float(3.0) //1.0 // Maximum amount of wet reflection on normal ground (asphalt etc.)
  155. #define WET_MAXCOF_METAL float (0.25) // Maximum amount of wet reflection on metallic structures
  156. #define WET_MAXCOF_VEHIC float (0.5) // Maximum amount of wet reflection on vehicles
  157. #define WET_MAXCOF_BUILD float (0.5) // Maximum amount of wet reflection on/in buildings and concretes
  158. #define WET_CONTRAST float (0.0) // 0.7 // Maximum constrast coefficient (larger values make wet surfaces look darker). Can be disabled by commenting out. CAUTION: Causes black artifacts - disabled for now.
  159. #define WET_CONTRASTBLUE float (0.7) // How much blue colors (e.g. asphalt) will be more affected by contrast change than other colors.
  160. #define WET_MINLUM float(0.085) // Minimum luminance (brightness) of ground to apply wet reflection effect
  161. #define WET_MAXDIST float(375.0) // If not commented out, maximum distance for the wet refelction effect to be applied
  162. #define WET_FADEMIN float(10.0) // Distance at which the wet effect begins to fade.
  163. #define WET_FADEMAX float(375.0) // Distance at which the wet effect has completely faded out.
  164. //#define WET_ADVANCEDBLUR float(1.0) // If not commented out, blur amount to smoothen area between wet and dry (caution: very slow compilation!). Does not work correctly.
  165. #define WET_BLUR float(3.0) // If not commented out, blur amount applied to the entire wet/reflective area
  166. #define WET_BLURQUALITY int(12) // Quality of blur of the wet/reflective area
  167. //#define WET_REFBLUR float(0.5) // If not commented out, blur amount applied to the reflection. Decreases effect of WET_BLOOM and WET_RAINBLOOM.
  168. #define WET_REFBLURQUALITY int(12) // Quality of blur of the reflection
  169. #define WET_BLOOM_REF float(0.0) // amount of reflected color bloom to add to the reflection color (makes it brighter as well)
  170. #define WET_BLOOM_COL float(0.0) // amount of ground color bloom to add to the reflection color (makes it brighter as well)
  171. #define WET_WAVE float(0) // 0.01) // inverse amplitude of sinus wave distorting the water reflection effect (lower means larger wave amplitude) - CAUTION: Breaks rain modulation!
  172. #define WET_WAVENEG float(0) //0.00007) // inverse amplitude of sinus wave distorting the water reflection effect - same as above but for negative ref values - CAUTION: Breaks rain modulation!
  173. #define WET_LUM float(17) // How much luminosity affects wet reflections (color factor). Do not change normally. See also next line.
  174. #define WET_LUMCOF float(3) // How much luminosity affects wet reflections (power coefficient). See also previous line.
  175.  
  176. #define WET_BLOOM float(0.24) // How much wetness affects bloom/blur of reflections. Higher values = more bloom. Effect depends on your r2_ls_bloom settings (in weather_control.script). Adjust WET_REF when changing this.
  177. #define WET_RAINBLOOM float(0.05) // How much rain density affects bloom/blur of reflections. Higher values = more bloom. Effect depends on your r2_ls_bloom settings.
  178.  
  179. #define WET_YCORR float(1.3) // View correction on Y-axis. Do not change normally.
  180.  
  181. // Object Reflection Settings
  182. #define WET_OBJREFLECT // Enables/disables dynamic object reflections (increases compile time and impacts FPS heavily!)
  183. #define WET_OBJDEPTH float(0.1) // Object depth difference when using dynamic object reflections
  184. #define WET_OBJSAMPLES int(40) // Number of samples for dynamic object reflections
  185. #define WET_OBJSTEP int(20) // 6 // Step size between samples
  186. #define WET_OBJMAXDISTCOL float(50.0) // Maximal distance of reflective pixel to apply dynamic object reflections
  187. #define WET_OBJMAXDISTREF float(100.0) // Maximal distance of reflected pixel to apply dynamic object reflections
  188. #define WET_OBJMAXCOL float(0.56) // Maximum amount of reflective color
  189. #define WET_OBJMAXREF float(0.55) // Maximum amount of reflected color
  190. #define WET_OBJFADE int(3) // 6 // Amount of object fading. Normal is about 8.
  191. #define WET_OBJDSTCORR float(1) // Depth correction value for object reflections. Normally do not change.
  192. #define WET_OBJWAVE float(0.00) // inverse amplitude of sinus wave distorting the water reflection effect fore object reflections (see also WET_WAVE).
  193.  
  194. // Rain distortion/modulation effect Settings
  195. #define WET_DISAMP float( 0.10)// 1.00 // Maximum distortion amplitude
  196. #define WET_DISFRQ float( 20.00)// 10.0 // Maximum distortion frequency
  197. #define WET_DISPER float( 2.00)// 2.00 // Maximum distortion period
  198. // #define WET_DISAMP float( 0.35)// 1.00 // Maximum distortion amplitude
  199. // #define WET_DISFRQ float( 50.00)// 10.0 // Maximum distortion frequency
  200. // #define WET_DISPER float(100.00)// 2.00 // Maximum distortion period
  201. #define WET_RAINTHR float(0.2) // Rain density threshold beyond which an alternative reflection is used.
  202.  
  203. // Asphalt Color Settings
  204. #define WET_BLOOM_MIX float(0.3) // How much bloom impacts wetness detection. 0=none, 1=full - larger looks smoother but is more prone to false detection. Decrease upon wetness issues.
  205. #define WET_COLDETECT // Enable/disable asphalt detection by color. Disable only if not using vanilla asphalt textures and not seeing any wet reflections.
  206. #define WET_SUNLUM float(0.1) // Brightness/luminance of the sun below which color detection will not be used. Change only if not seeing any wet reflections.
  207. #define WET_BLUEDIFF float(-0.1) // Minimum color difference between blue and red/green terrain color. Might need changing if using custom textures and/or shaders and/or weathers.
  208. #define WET_BLUECORR float(0.4) // Corrected amount of blue color component. 1 = original blue, 0 = no blue. Change only if not using DS 2.0 asphalt textures.
  209. #define WET_SAT float(1) // Wet color (de)saturation factor. 1=no change / keep original colors.
  210.  
  211. //#define WET_COLFILTER float4(2,1.6,0,1) // Enables/disables and sets color filter for wet surfaces/buildings. Experimental.
  212.  
  213. // Debug Settings
  214. #define WET_DEBUGVAL float(0.0) // Increase in 0.1 steps for debugging purposes. Leave at 0.0 for normal use.
  215.  
  216.  
  217.  
  218. /////////////////////////////////////////////////////////////////////////////////////////////////////
  219. //Anti-Aliasing (does not really work well, use at your own risk; at the moment, non-zoom mode only)
  220. /////////////////////////////////////////////////////////////////////////////////////////////////////
  221.  
  222. // Basic options:
  223. //#define AA // Enables Anti-Aliasing
  224. #define AA_KERNEL float(0.7) // PS: 0.5
  225.  
  226. #define AA_BARRIER_X float(0.900000)
  227. #define AA_BARRIER_Y float(0.500000)
  228. #define AA_BARRIER_Z float(0.000000)
  229.  
  230. #define AA_WEIGHTS_X float(0.250000)
  231. #define AA_WEIGHTS_Y float(0.250000)
  232. #define AA_WEIGHTS_Z float(0.000000)
  233.  
  234.  
  235. //////////////////////////////////////////////////////////////
  236. //Parallax Occlusion Mapping
  237. //////////////////////////////////////////////////////////////
  238.  
  239. //Basic Options:
  240. //#define PARALLAX_OCCLUSION // Enables Parallax Occlusion Mapping # Makes surfaces look bumpy and 3d at the cost of fps. Worth it
  241. #define MAX_SAMPLES int(40) // Maximum amount of samples done to a texture.
  242. #define MIN_SAMPLES int(4) // Minimum amount of samples done to a texture.
  243. #define PARALLAX_OFFSET float(0.015) //Height of surface per sample.
  244. #define FINAL_INTERSECTION_LOOPS int(5) //Amount of additional samples to increase accuracy.
  245.  
  246. //Performance Options:
  247. //#define PARALLAX_FADE //Parllax textures fade back to regular normals with distance; increases FPS and fixes anisotropic filtering. #Disabling this strangely gave me a much higher FPS.
  248. #define START_FADE float(0.0003) //Distance the fading starts
  249. #define STOP_FADE float(0.0004) //Distance the fading stops, and the texture returns to just using normals.
  250.  
  251. //Other Options:
  252. //#define USE_TEXTURE_PACK //Uses height maps built into texture files, rather than self generating them. Requires special textures (81mb) # Put a // at the start of this line if you are running low on RAM or get 'Out of Memory' errors. Also it may cause other problems such as disabling the feature altogether
  253. //#define CORRECT_PERSPECTIVE //WARNING!!! artifacts will appear if defined
  254. #define CONTRAST_COEF_Q1 float(0.6) //Amount of contrast in calculations.
  255. #define CONTRAST_COEF_Q2 float(1) //Amount of contrast in calculations.
  256. #define BRIGHTNESS_COEF float(0.25) //Amount of brightness in calculations.
  257.  
  258.  
  259.  
  260. //////////////////////////////////////////////////////////////
  261. //Screen Space Ambient Occlusion (SSAO)
  262. //////////////////////////////////////////////////////////////
  263.  
  264. #define SSAO // Enables Screen Space Ambient Occlusion # Looks good if you are stuck on Object Dynamic Lighting
  265. #define SSAO_QUALITY 3 // Amount of SSAO samples. Use 2 for low quality and 3 for highst quality. 0 and 1 are only valid when using SSAO_COP. #The only noticable difference is the framerate :P
  266.  
  267. // Type of SSAO - none of the following means, use implementation by daemonjax
  268. //#define SSAO_LEGACY // Enable classic SSAO implementation by Sky4ce instead of new one
  269. //#define SSAO_NEW // Enable new alternative SSAO implementation
  270. #define SSAO_COP // Enable SSAO ported from Call of Pripyat (but without jittering). Probably the best SSAO algorithm so far.
  271.  
  272. // Options only for SSAO_LEGACY:
  273. #define SSAO_TEX_CONT //Increase texture contrast for diffuse lighting # This line makes SSAO much darker. If it is too dark add a // to the start of the line or increase the value on the line below.
  274. #define CONT_COEF float(0.3) //Brightness increase amount
  275. //Only for testing.
  276. #define FADE_DIST float(4)
  277. #define FADE_COEF float(0.2)
  278.  
  279. // Options only for SSAO_COP:
  280. #define SSAO_KERNEL_SIZE 70 // How big SSAO samples are. 70 is default. 150 for greater effect.
  281. #define SSAO_NOISE_TILE_FACTOR 2 // Not sure if this works or not, honestly. Seems to be used to determine how big the jitter sample is.
  282. //#define USE_HBAO // HBAO doesn't seem to work at all, therefor disabled by default.
  283.  
  284. // Options only for implementation by daemonjax (=if no other SSAO implementation has been enabled above)
  285. #define SSAO_PASSES int(5) //Amount of SSAO sample passes. Each pass takes 6 samples. Use a minimum of two (since actual number of passes is one less than this number). 6
  286. //#define SSAO_HIGH_QUALITY //Increases the number of unique samples for each pass to 12.
  287. #define SAO_DENSITY int(1024) //Higher values increase sao definitition while reducing its size. No performance cost. As you increase the number of passes, you'll want to increase density. 1024
  288. ////For testing:
  289. //#define SSAO_NOLOOP // performs only 1 pass. Same as SSAO_PASSES = 2, except it also removes the forloop in the code. If defined, SSAO_PASSES has no effect.
  290.  
  291.  
  292. //////////////////////////////////////////////////////////////
  293. // SSAO TWEAKS - by Daemonjax, Meltac, others
  294. //////////////////////////////////////////////////////////////
  295.  
  296. //// Shadow Jitter
  297. #define HIGH_QUALITY_JITTER // Uses a more expensive method for jittering shadows cast by the sun/moon -- but looks way better! Set JITTER_SAMPLES below. Be sure to set KERNEL value above to something sensible!
  298. //#define HIGH_QUALITY_JITTER_LEGACY // Enable old jitter implementation
  299. #define JITTER_SAMPLES int(16) // If HIGH_QUALITY_JITTER is enabled. MUST BE AN EVEN NUMBER (8, 16, 24, ..., 64, etc.)!!! More samples = better quality of shadow edges/penumbras.
  300.  
  301. //// Misc Lighting
  302. #define TEX_CONT // Increase texture contrast for diffuse lighting. Enables use of the lines below.
  303. #define TEX_CONT_COEF float(0.9) // Diffuse (ambient) lighting brightness multiplier. Higher is brighter. Default: 1.0
  304. #define TEX_CONT_ADD float(0.0) // Diffuse lighting bightness increase amount. Higher is brighter. You're probably better off just changing the multiplier above. Default: 0.0
  305.  
  306. //// Depth of Field
  307. #define PERFORMANCE_GAUSBLUR // Uses a much faster algorithm for gaussian blur, at the cost of slightly reduced blur quality in DoF calculations. You probably won't notice the quality difference, but it'll definitely give you a few more fps.
  308.  
  309. //// Testing (You probably should not enable these)
  310. //#define ADDITIONAL_SHADOW_PASS // When jitter is enabled, it normally skips the shadow pass. Enabling this forces the shadow pass. Don't enable this... just enable HIGH_QUALITY_JITTER and increase JITTER_SAMPLES.
  311. //#define USE_SHADOW_16 // Uses 16 shadows samples (Othwerwise, it will use 4). Jitter is way better.
  312.  
  313.  
  314.  
  315.  
  316. //////////////////////////////////////////////////////////////
  317. // Legagy Sun Shafts (by Sky4ce)
  318. //////////////////////////////////////////////////////////////
  319.  
  320. //Basic options:
  321. //#define SUN_SHAFTS // Enables Sun Shafts (god rays) # Only noticable on Full Dynamic Lighting, looks very nice but causes poor performance on some computers. Also makes the environment much brighter and natural.
  322. #define RAY_SAMPLES int(16) //Amount of sun ray samples. The higher this is, the better the quality and the lower your framerate. 12
  323. #define SS_INTENSITY float(2.0) // intensity of sun shafts. 1.1
  324. #define SUN_SHAFTS_FIX //Comment or Uncomment to enable or disable fix for far/near boundary. Adjust SS_FAR_CONTRAST to hide the seam (it will never be perfect in all possible lighting). (By Daemonjax)
  325.  
  326. #define SS_NEAR_CONTRAST float(6) //Amount of contrast during sunray calculation (near). 6
  327. #define SS_FAR_CONTRAST float(5.35) //Amount of contrast during sunray calculation (far). Adjust to hide near/fear seam when sun shafts are enabled and SUN_SHAFTS_FIX is enabled.
  328.  
  329. #define SS_CORRECTION float(-3.0) // Meltac: Sunshaft direction Y axis correction
  330.  
  331. //Only for testing.
  332. //#define SS_FARNEARLERP // # Causes massive sun errors. Leave it disabled.
  333.  
  334.  
  335. //////////////////////////////////////////////////////////////
  336. //Motion Blur
  337. //////////////////////////////////////////////////////////////
  338.  
  339. //Basic options:
  340. //#ifndef USE_MBLUR
  341. //#define USE_MBLUR // Enables Motion Blur # This forces Motion Blur on like -mblur. Adjust the blur amount with MBLUR_COEF later in this script.
  342. //#endif
  343. //#define IMPROVED_MBLUR // Use distance-depending Motion Blur - Adjust START_DIST and FINAL_DIST to your needs.
  344. //#define SKY4CE_MBLUR // # Seems to break Motion Blur and Anti-Aliasing altogether
  345. //#define MBLUR_SAMPLES int(20) // Quality(Intesity)
  346.  
  347. //Details:
  348. #define SCALE_X float(-0.03) // Velocity ratio X
  349. #define SCALE_Y float(0.03) // Velocity ratio Y
  350. #define START_DIST float(1.0) // Interpolation start distance
  351. #define FINAL_DIST float(300.0) // Interpolation end distance
  352. #define VEL_START float(0.001) //Velocity softening at start distance - default is 0.009, but I consider this value too high
  353. #define VEL_FIN float(0.02) //Velocity softening at end distance
  354. #define IMB_CLAMP float(0.01) //Motion Blur Ratio Clamp
  355.  
  356. // Meltac: Use this instead of the "r2_mblur" setting in the console to define the motion blur amount
  357. //#define MBLUR_COEF float2(1.0,0.0)
  358.  
  359.  
  360. //////////////////////////////////////////////////////////////
  361. //Saturation and Contrast
  362. //////////////////////////////////////////////////////////////
  363.  
  364. //Basic options:
  365. //#define SATURATION_FILTER // Enables Saturation Filter, giving a grey like appearance to areas which are "unsafe".
  366. #define FORCED_SATURATION_FILTER // Meltac: Forces the above saturation filter in cases in which it does not work.
  367. #define CONTRAST_FILTER // Enables Contrast Filter, giving a grey like appearance to areas which are "unsafe".
  368.  
  369. #define COLOR_SATURATION float(0.70) //Level of Grey. 0 is all grey (Black and White), 1 is no Grey (Why have this enabled?)
  370. #define COLOR_SAT_SUN_COEF float(0.65) //How much influence sun lighting has on the saturation.
  371. #define CONTRAST_FILTER_COEF float(0.45) //Level of full screen contrast.
  372.  
  373.  
  374. //////////////////////////////////////////////////////////////
  375. //Float32 v2.0
  376. //////////////////////////////////////////////////////////////
  377.  
  378. //Basic options:
  379. //#define USE_F32 // Enables Float32 mod. Breaks saturation and contrast filters. # If you are using Panoramic Mod 2.1 FINAL from Argus make sure you have a // at the start of this line
  380. //#define USE_F32_FOG // Enables Float32 style fog. Requires Float32 to be enabled.
  381. #define CT_int 1.25f //Cook Tolerance of the sun.
  382. #define CT_int_in 1.25f //Cook Tolerance of indoor lighting.
  383. #define BLOOM_val 0.6h //Bloom brightness - Increases HDR brightness of the sky
  384. #define HDR_int 10.h //HDR cutoff - Total HDR brightness
  385.  
  386.  
  387. //RADEON COMPATIBILITY MODE - For those who can not use Fetch4 or have issues! Not needed on most modern GPUs.
  388. //#define NO_F4
  389.  
  390. //////////////////////////////
  391. //Forced Settings - Debug
  392. //////////////////////////////
  393.  
  394. // #define USE_GAMMA_22
  395. // #define USE_SUNFILTER
  396. //#define USE_HWSMAP
  397. // #define USE_FETCH4
  398. //#define USE_HWSMAP_PCF // nVidia GF3+, R600+
  399. //#define USE_BRANCHING
  400. // #define USE_VTF // VertexTextureFetch
  401. // #define FP16_FILTER
  402. // #define FP16_BLEND
  403. // #define USE_PARALLAX
  404. // #define USE_TDETAIL
  405. // #define USE_LM_HEMI
  406. // #define USE_DISTORT
  407. // #define DBG_TMAPPING
  408.  
  409. #endif
Add Comment
Please, Sign In to add comment