Hey everyone,
I've been getting a lot of private messages lately regarding my FS9 settings. So I'll just post them here.
In addition to the settings, some essential addons for FS9:
To see all this in action, you can see some of my FS9 videos here: http://www.youtube.com/fengdesigns
Ok, addons:
- Max everything within FS9 (except Mipmap to 5 to avoid shimmering)
- FSGenesis
- Active Sky (see my custom ini below)
- GE Pro
- HD Clouds v2 from Pablo (free here at Avsim)
- RealSky for sunsets, sunrise, etc.
- UT USA, Canada, Europe
- My treegen (free here at Avsim)
- Imagetool to convert huge textures down (you don't notice a difference but it greatly increases FPS). Use this batch file below to convert the textures:
Convert.bat (but in same folder as imagetool.exe, then move big BMP texture files, they are usually 4K in size, into the same folder and run the batch file)
@ECHO off
cls
ECHO Convert textures to DXT3 format for this aircraft
ECHO -------------------------------------------------
ECHO.
ECHO Note - DXT3 is a 'lossy' compression format - some quality is traded for a
ECHO more efficient texture file.
ECHO Most textures convert very well, but some can become a bit blotchy or grainy.
ECHO Colours and shades can often be slightly altered in DXT3.
ECHO Once converted, top quality can't be regained by converting back to 32-bit.
ECHO Mip maps are lower resolution copies of the original texture. Some grapics
ECHO cards don't work well with them and some don't work well without them!
ECHO.
ECHO 1. Quit without converting anything
ECHO 2. Convert all textures to DXT3 (Mip Maps)
ECHO 3. Convert all textures to DXT3 (No Mip Maps)
ECHO.
set choice=
set /p choice=Enter 1, 2 or 3 :
if not '%choice%'=='' set choice=%choice:~0,1%
if '%choice%'=='2' goto DXT3M
if '%choice%'=='3' goto DXT3NM
goto end
:DXT3NM
IMAGETOOL -r -brief -DXT3 -detail -nomip -nowarning -e bmp *.bmp
goto end
:DXT3M
IMAGETOOL -r -brief -DXT3 -detail -nowarning -e bmp *.bmp
goto end
rem Run 'IMAGETOOL -?' to get a full list of the parameter options available
goto end
:end
enbseries.ini
[PROXY]
EnableProxyLibrary=0
InitProxyFunctions=0
ProxyLibrary=
[GLOBAL]
UseEffect=1
AlternativeDepth=0
AllowAntialias=1
BugFixMode=0
SkipShaderOptimization=0
QuadVertexBuffer=0
EnableShaders_3_0=1
AdditionalConfigFile=enbseries2.ini
ForceNVidiaCard=false
ForceNVidiaCaps=false
CyclicConfigReading=false
[EFFECT]
EnableBloom=1
EnableOcclusion=0
EnableReflection=0
EnableMotionBlur=0
EnableWater=0
EnableShadow=0
DepthBias=0
EnableDepthOfField=0
EnableAmbientOcclusion=false
EnableSkyLighting=true
UseOriginalPostProcessing=false
[iNPUT]
KeyUseEffect=08
KeyBloom=66
KeyOcclusion=79
KeyReflection=82
KeyCombination=16
KeyShadow=83
KeyWater=87
KeyScreenshot=44
KeyShowFPS=106
KeyAmbientOcclusion=121
[REFLECTION]
ReflectionPower=0
ChromePower=0
UseCurrentFrameReflection=0
ReflectionQuality=0
ReflectionSourceSpecular=10
ReflectionSourceTFactor=0
UseAdditiveReflection=1
ReflectionDepthBias=0
UseLowResReflection=0
ReflectionSinglePass=1
UseEnvBump=0
EnvBumpAmount=100
EnvBumpOffset=100
ReflectionFlip=0
[bLOOM]
BloomPowerDay=15
BloomFadeTime=500
BloomConstantDay=1
BloomQuality=3
BloomScreenLevelDay=35
BloomCurveDay=0
BloomPowerNight=3
BloomConstantNight=5
BloomCurveNight=1
BloomScreenLevelNight=20
BloomAdaptationScreenLevel=40
BloomAdaptationMultiplier=99
BloomAllowOversaturation=1
BloomMaxLimit=100
BlueShiftAmount=1.0
Radius1=4.0
Radius2=4.0
Contrast=1.0
[sSAO]
UseFilter=1
OcclusionQuality=2
FilterQuality=2
DarkeningLevel=18
BrighteningLevel=15
IlluminationLevel=5
AdditiveIlluminationLevel=20
UseAmbientOcclusion=0
UseIndirectLightning=0
FadeDistance=50
UseIndirectLighting=1
UseForAlphaTest=1
UseForAlphaBlend=1
[colorCORRECTION]
DarkeningAmountDay=21
ScreenLevelDay=30
ScreenLevelNight=15
DarkeningAmountNight=5
GammaCurveDay=1
GammaCurveNight=1
ColorSaturationDay=1
ColorSaturationNight=-2
UsePaletteTexture=0
[PLUGIN]
WeatherMod=0
[WATER]
UseWaterDeep=0
WaterDeepness=20
WaterQuality=0
[sHADOW]
ShadowFadeStart=40
ShadowFadeEnd=80
ShadowAmountDay=60
ShadowAmountNight=30
ShadowScreenLevelDay=60
ShadowScreenLevelNight=20
ShadowQuality=0
UseShadowFilter=0
FilterQuality=1
ShadowBlurRange=30
CharacterShadowMultiplier=1.0
CarShadowMultiplier=1.0
[ENGINE]
ForceAnisotropicFiltering=0
MaxAnisotropy=8
ForceDisplayRefreshRate=0
DisplayRefreshRateHz=60
ForceDisplaySize=false
ForceAntialiasing=false
AntialiasingQuality=2
AntialiasingUpScale=1.0
DisplayWidth=1024
DisplayHeight=768
[MOTIONBLUR]
MotionBlurQuality=0
MotionBlurVelocity=20
MotionBlurRotation=4
[PERPIXELLIGHTING]
SpecularColorMin=0
SpecularColorMax=100
SpecularColorMultiplier=100
SpecularGlossinessMin=0
SpecularGlossinessMax=100
SpecularGlossinessMultiplier=100
[DEPTHOFFIELD]
DOFQuality=0
DOFNumberOfPasses=1
DOFFocusRange=50
DOFBlurinessRange=5
effect.txt (save the following into a file called effect.txt and put in root directly as enb)
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//http://enbdev.com
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
/*
THIS IS HLSL FILE FORMAT FOR EXECUTING ADDITIONAL
POST PROCESSING EFFECTS. MAKE THE COPY BEFORE CHANGING IT!
*/
//enable blurring, useless, disabled at all
//#define EBLURRING
//enable sharpening
#define ESHARPENING
//if defined, color sharpen, otherwise sharp by gray
#define ESHARPENINGCOLOR
//enable noise in dark areas
#define ENOISE
float SamplingRange=1.5; //sharpening or blurring range
float SharpeningAmount=2.0;
float ScanLineAmount=0.0;
float ScanLineRepeat=1.0; //0.5, 0.3333, 0.25, 0.125, so on
float NoiseAmount=0.0;
#define E_SHADER_3_0
//keyboard controled variables
float tempF1;
float tempF2;
float tempF3;
float tempF4;
float tempF5;
float tempF6;
float tempF7;
float tempF8;
float tempF9;
float tempF0;
//global variables, already set before executing this code
float ScreenSize; //width of the display resolution (1920 f.e.)
float ScreenScaleY; //screen proportions (1.333 for 1920/1080)
//textures
texture2D texColor;
texture2D texNoise;
sampler2D SamplerColor = sampler_state
{
Texture = <texColor>;
MinFilter = LINEAR;
MagFilter = LINEAR;
MipFilter = NONE;//NONE;
AddressU = Clamp;
AddressV = Clamp;
SRGBTexture=FALSE;
MaxMipLevel=0;
MipMapLodBias=0;
};
sampler2D SamplerNoise = sampler_state
{
Texture = <texNoise>;
MinFilter = POINT;
MagFilter = POINT;
MipFilter = NONE;//NONE;
AddressU = Wrap;
AddressV = Wrap;
SRGBTexture=FALSE;
MaxMipLevel=0;
MipMapLodBias=0;
};
struct VS_OUTPUT_POST {
float4 vpos : POSITION;
float2 txcoord : TEXCOORD0;
};
struct VS_INPUT_POST {
float3 pos : POSITION;
float2 txcoord : TEXCOORD0;
};
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
VS_OUTPUT_POST VS_PostProcess(VS_INPUT_POST IN)
{
VS_OUTPUT_POST OUT;
float4 pos=float4(IN.pos.x,IN.pos.y,IN.pos.z,1.0);
OUT.vpos=pos;
OUT.txcoord.xy=IN.txcoord.xy;
return OUT;
}
float4 PS_PostProcess(VS_OUTPUT_POST IN, float2 vPos : VPOS) : COLOR
{
float4 res;
float4 coord=0.0;
coord.xy=IN.txcoord.xy;
float4 origcolor;
coord.w=0.0;
origcolor=tex2Dlod(SamplerColor, coord);
// coord.x=IN.txcoord.x-(1.5/ScreenSize);
// float4 lshift=tex2Dlod(SamplerColor, coord);
// coord.x=IN.txcoord.x+(1.5/ScreenSize);
// float4 rshift=tex2Dlod(SamplerColor, coord);
float2 offset[8]=
{
float2(1.0, 1.0),
float2(-1.0, -1.0),
float2(-1.0, 1.0),
float2(1.0, -1.0),
float2(1.41, 0.0),
float2(-1.41, 0.0),
float2(0.0, 1.41),
float2(0.0, -1.41)
};
int i=0;
float4 tcol=origcolor;
float invscreensize=1.0/ScreenSize;
//for (i=0; i<8; i++) //higher quality
for (i=0; i<4; i++)
{
float2 tdir=offset.xy;
coord.xy=IN.txcoord.xy+tdir.xy*invscreensize*SamplingRange;//*1.0;
float4 ct=tex2Dlod(SamplerColor, coord);
tcol+=ct;
}
tcol*=0.2; // 1.0/(4+1)
//tcol*=0.111; // 1.0/(8+1) //higher quality
/*
//not interesting
#ifdef EBLURRING
//blur
res=tcol;
#endif
*/
//sharp
#ifdef ESHARPENING
#ifdef ESHARPENINGCOLOR
//color
res=origcolor*(1.0+((origcolor-tcol)*SharpeningAmount));
#else
//non color
float difffact=dot((origcolor.xyz-tcol.xyz), 0.333);
res=origcolor*(1.0+difffact*SharpeningAmount);
#endif
//less sharpening for bright pixels
float rgray=origcolor.z; //blue fit well
//float rgray=max(origcolor.x, max(origcolor.y, origcolor.z));
rgray=pow(rgray, 3.0);
res=lerp(res, origcolor, saturate(rgray));
#endif
//grain noise
#ifdef ENOISE
float origgray=max(res.x, res.y);//dot(res.xyz, 0.333);
origgray=max(origgray, res.z);
coord.xy=IN.txcoord.xy*16.0 + origgray;
float4 cnoi=tex2Dlod(SamplerNoise, coord);
res=lerp(res, (cnoi.x+0.5)*res, NoiseAmount*saturate(1.0-origgray*1.8));
#endif
res.w=1.0;
return res;
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
technique PostProcess
{
pass P0
{
VertexShader = compile vs_3_0 VS_PostProcess();
PixelShader = compile ps_3_0 PS_PostProcess();
DitherEnable=FALSE;
ZEnable=FALSE;
CullMode=NONE;
ALPHATESTENABLE=FALSE;
SEPARATEALPHABLENDENABLE=FALSE;
AlphaBlendEnable=FALSE;
StencilEnable=FALSE;
FogEnable=FALSE;
SRGBWRITEENABLE=FALSE;
}
}
ASv6.ini (after editing, write-protect file or ActiveSky will remove the custom edits. Also, make sure you have a powerful PC, these settings are very demanding on the GPU).
[General]
WindowPosX = USE YOUR CURRENT VALUES
WindowPosY = USE YOUR CURRENT VALUES
DefaultWeatherFolder = PASTE YOUR OWN PATH
SuppressionCeiling = 10000
SurfaceWindLimit = 20
FS9Path = PASTE YOUR OWN PATH
PersonalAppDataFolder = PASTE YOUR OWN PATH
CloudLayerLimit = 20
LocalSuppressionRange = 100
MinimumVisibility = 0
MaximumVisibility = 29
LastPlanFolder = NONE
AutoVasFrequency = 0
AutoVasStrength = 0
TurbulenceFrequency = 30
DefaultStartupLocation = 4s2
DefaultGraphicsFullTheme =
DefaultGraphicsCirrusTheme =
AutoSubmitGraphicsTheme = False
IncreasedWake = False
DisableWindsAloft = False
ForcePrimaryServer = False
ForceSecondaryServer = False
GEProAutoSubmit = False
SkyOverride = GEPRO
FavorCumulus = False
ForceRoutePressure = False
ForceLowestCeiling = True
UnpauseOnReadyStatus = False
DisableWriteThrottle = False
DisableProcessThrottle = False
ForceTstormsWithCB = True
AutoSetFSTime = True
IgnoreFSLocationUntilReady = True
AutoConvertPlanFiles = True
AutoRefreshAI = True
DisableVisGraduation = False
ExtendedThrottling = False
ForceRouteAloftTemp = False
OfflinePlayback = False
EnableVAS = False
AutoGenVAS = False
ForceDestinationWeatherZone = False
PreventIcing = False
OnlineUpdates = True
ExtendedDestinationWindsForce = False
DisableAllGroundUpdates = False
GlobalWrites = False
DepictFS9HazeLayer = False
ExtendTstormLayers = True
DisableDirectWindControl = False
VoicePlayback = False
LocalSuppression = True
StartupSound = False
DisableGroundUpdates = False
UseProxyServer = False
FogLayerGeneration = True
UpdateSuppression = False
OvercastEnhancement = True
IgnoreFSReadyStatus = True
FSUIPCWindSmoothing = True
LimitSurfaceWinds = False
LimitCloudLayers = False
AutoGlobalWriteToggle = True
RainWithTS = True
DisableUpperLayerGeneration = False
VisibilitySmoothing = True
DisableMessages = True
AutoTimeZoneDetection = True
UpdateInterval = 15
VATSIMData = False
ZuluConversion = 8
AloftPredictability = 100
WindDriftRate = 0
MaxCloudThickness = 70000
MinStratusSeparation = 100
TAFProcessing = False
EnforceVisibilityLimits = True
WakeTurb = False
StartPaused = False
UseSystemTime = True
DisableCAVOKClouds = False
ProxyAddress = NONE
that's all
-feng