不一样的GTA 发表于 2013-12-26 23:13:45

求ENB大神把effect1~3的修改教程发一下

表示76以后的ENB要靠effect来调节画质或其他的
所以求大神把教程发一下拜托了

小羽丶 发表于 2013-12-26 23:14:33

錯區判定

ΒΗΤΑ 发表于 2013-12-26 23:17:25

effect可沒那麼簡單...

【PMT】胖子 发表于 2013-12-26 23:19:19

使用效果:#define 禁用效果://#define
//--------------------------------------------------------------------------------------
// Defines
//--------------------------------------------------------------------------------------
/#define DoF   景深效果
//#define LensFlares镜头耀斑 "建议不使用因为效果不好,除非你会调!"
//#define FakeGodRays //need to ajust, can not working假神射线“体积光”并不是真正的体积光!
#define DoF_Vignetting 暗角、LOMO效果 屏幕四周的黑暗
//#define DoF_Manual不开启
#define DoF_Auto景深自动对焦
//#define DoF_PentagonShape 不开启
//--------------------------------------------------------------------------------------
// Vectors, floats and etc.
//--------------------------------------------------------------------------------------
static float2 screenRes = {1024,768};//Screen Resolution, for example 1024x768 屏幕分辨率,自己修改过感觉不出有多大变化,还是别修改吧!
//Lens Flares params 镜头耀斑设置
const float LensDownsampling = 3; 这个项还不清楚是什么意思没修改过,所以建议不修改,也可以自己试着修改!
float3 treshold_rgb = {0.75,0.75,0.75}; 颜色设置:R红色 G绿色 B蓝色
static int NSAMPLES = 6; 不清楚,不建议修改,也可以自己试试
float FLARE_DISPERSAL = 5.35;不清楚,不建议修改,也可以自己试试
float FLARE_HALO_WIDTH = 0.45; 不清楚,不建议修改,也可以自己试试
float3 FLARE_CHROMA_DISTORTION = {0.49,0.42,0.44}; 不清楚,不建议修改,也可以自己试试
float2 image_center = float2(0.5,0.5); 不修改
float LFintensity = 2;不清楚,不建议修改,也可以自己试试
float _Intensity = 3;不清楚,不建议修改,也可以自己试试
//Fake God Rays params 假神射线“体积光”
float2 ScreenLightPos = {0.5,0.5};不修改
float Density = 0.01;光线的功率,应该是越大越强,0-1.5之间吧
static int NUM_SAMPLES = 64; 样品数量?不清楚,不建议修改,也可以自己试试
float Weight = 0.3; 应该是指渲染的程度,远大光线越明显?重口味?
float Decay = 0.8; 衰变?不清楚,不建议修改,也可以自己试试
float SStresh = 0.95; 不清楚,不建议修改,也可以自己试试
float SunExposure = 3.0;太阳曝光,应该是指光线亮度越大则越亮?
//Dof params 景深设置,这是我主要要讲解的!
float PI = 3.14159265; 不修改
float2 texel = {0.0009765625,0.00130208333333333333333333333333};// 1/screen resolution 不修改
float focalDepth = 90.5; 焦距深度,不清楚,不建议修改,也可以自己试试
float focalLength = 80.5; 焦距长度,不清楚,不建议修改,也可以自己试试
float fstop = 90.5;
float vignint = 4; //vignetting intensity 渐晕强度,值越高渐晕越强!
float ndofstart = 0.002; //near dof blur start 模糊开始的地方,不建议修改,也可以自己试试
float ndofdist = 0.04; //near dof blur falloff distance 模糊衰减的地方,不建议修改,也可以自己试试
float fdofstart = 0.001; //far dof blur start 远景模糊开始的地方,不建议修改,也可以自己试试
float fdofdist = 0.7; //far dof blur falloff distance 远景模糊衰减的地方,不建议修改,也可以自己试试
float2 focus = float2(0.5,0.5);//autofocus position 不修改
float CoC = 0.100;// table is here http://en.wikipedia.org/wiki/Circle_of_confusion    一个很深奥的东西
float namount = 0.00004;//feel the power of noise))
float DOFdownsample = 4.0;
float maxblur = 2.5;//maximum bluring 模糊最高值,建议别调太高或者不修改
static const int samples = 2; //samples on the first ring 模糊的质量越高越好,同时对电脑的要求也会变高,整个10左右吧!
static const int rings = 2; //ring count, can't be more than 2 环数,最高时2,景深的圈圈数!1就是一个圆形 2就是外边一个大圆包裹这一个小圆
float threshold = 2.5;//dof brightness treshold 景深亮度传输安全性!数值越低景深会变的越明亮!
float gain = 0.1; 景深亮度的范围,越高的值范围越高
float bias = 0.1;//bokeh bias 散射偏移量
float fringe = 0.5; 边缘
float znear = 50.0; //camera clipping 景深开始的地方
float zfar = 3500.0; //camera clipping end 景深结束的地方
float feather = 1.1; //pentagon shape feather 五边形的大小?

【PMT】胖子 发表于 2013-12-26 23:19:38

个人收藏   只是 借鉴!!ok

SnowAlex 发表于 2013-12-26 23:20:01

表示effect这东西好像不怎么简单。。。

不一样的GTA 发表于 2013-12-26 23:25:38

//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// ENBSeries effect file
// visit http://enbdev.com for updates
// Copyright (c) 2007-2011 Boris Vorontsov
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

//+++++++++++++++++++++++++++++
// Internal parameters, can be modified
//+++++++++++++++++++++++++++++
float        EBlurSamplingRange = 4.0;        // not used
float        EApertureScale = 4.0;                // not used

//+++++++++++++++++++++++++++++
// External parameters, do not modify
//+++++++++++++++++++++++++++++
// Keyboard controlled temporary variables (in some versions exists in the config file). Press and hold key 1,2,3...8 together with PageUp or PageDown to modify.
// By default all set to 1.0
float4        tempF1; //0,1,2,3
float4        tempF2; //5,6,7,8
float4        tempF3; //9,0
// x=Width, y=1/Width, z=ScreenScaleY, w=1/ScreenScaleY
float4        ScreenSize;
// x=generic timer in range 0..1, period of 16777216 ms (4.6 hours), w=frame time elapsed (in seconds)
float4        Timer;
// Adaptation delta time for focusing
float        FadeFactor;

// textures
texture2D texColor;
texture2D texDepth;
texture2D texNoise;
texture2D texPalette;
texture2D texFocus; // computed focusing depth
texture2D texCurr; // 4*4 texture for focusing
texture2D texPrev; // 4*4 texture for focusing

sampler2D SamplerColor = sampler_state
{
        Texture   = <texColor>;
        MinFilter = LINEAR;
        MagFilter = LINEAR;
        MipFilter = NONE;
        AddressU= Mirror;
        AddressV= Mirror;
        SRGBTexture = FALSE;
        MaxMipLevel = 0;
        MipMapLodBias = 0;
};

sampler2D SamplerDepth = sampler_state
{
        Texture   = <texDepth>;
        MinFilter = POINT;
        MagFilter = POINT;
        MipFilter = NONE;
        AddressU= Clamp;
        AddressV= Clamp;
        SRGBTexture = FALSE;
        MaxMipLevel = 0;
        MipMapLodBias = 0;
};

sampler2D SamplerNoise = sampler_state
{
        Texture   = <texNoise>;
        MinFilter = POINT;
        MagFilter = POINT;
        MipFilter = NONE;
        AddressU= Wrap;
        AddressV= Wrap;
        SRGBTexture = FALSE;
        MaxMipLevel = 0;
        MipMapLodBias = 0;
};

sampler2D SamplerPalette = sampler_state
{
        Texture   = <texPalette>;
        MinFilter = LINEAR;
        MagFilter = LINEAR;
        MipFilter = NONE;
        AddressU= Clamp;
        AddressV= Clamp;
        SRGBTexture = FALSE;
        MaxMipLevel = 0;
        MipMapLodBias = 0;
};

// for focus computation
sampler2D SamplerCurr = sampler_state
{
        Texture   = <texCurr>;
        MinFilter = LINEAR;
        MagFilter = LINEAR;
        MipFilter = LINEAR;
        AddressU= Clamp;
        AddressV= Clamp;
        SRGBTexture = FALSE;
        MaxMipLevel = 0;
        MipMapLodBias = 0;
};

// for focus computation
sampler2D SamplerPrev = sampler_state
{
        Texture   = <texPrev>;
        MinFilter = LINEAR;
        MagFilter = LINEAR;
        MipFilter = NONE;
        AddressU= Clamp;
        AddressV= Clamp;
        SRGBTexture = FALSE;
        MaxMipLevel = 0;
        MipMapLodBias = 0;
};
// for dof only in PostProcess techniques
sampler2D SamplerFocus = sampler_state
{
        Texture   = <texFocus>;
        MinFilter = LINEAR;
        MagFilter = LINEAR;
        MipFilter = NONE;
        AddressU= Clamp;
        AddressV= Clamp;
        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;
};

////////////////////////////////////////////////////////////////////
// Begin focusing (by Boris Vorontsov)
////////////////////////////////////////////////////////////////////
VS_OUTPUT_POST VS_Focus(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;
}

//SRCpass1X=ScreenWidth;
//SRCpass1Y=ScreenHeight;
//DESTpass2X=4;
//DESTpass2Y=4;
float4 PS_ReadFocus(VS_OUTPUT_POST IN) : COLOR
{
        float res = tex2D(SamplerDepth, 0.5).x;
        return res;
}

//SRCpass1X=4;
//SRCpass1Y=4;
//DESTpass2X=4;
//DESTpass2Y=4;
float4 PS_WriteFocus(VS_OUTPUT_POST IN) : COLOR
{
        float res = 0.0;
        float curr = tex2D(SamplerCurr, 0.5).x;
        float prev = tex2D(SamplerPrev, 0.5).x;

        res = lerp(prev, curr, saturate(FadeFactor));// time elapsed factor
        res = max(res, 0.0);

        return res;
}

technique ReadFocus
{
        pass P0
        {
                VertexShader = compile vs_3_0 VS_Focus();
                PixelShader= compile ps_3_0 PS_ReadFocus();

                ZEnable = FALSE;
                CullMode = NONE;
                ALPHATESTENABLE = FALSE;
                SEPARATEALPHABLENDENABLE = FALSE;
                AlphaBlendEnable = FALSE;
                FogEnable = FALSE;
                SRGBWRITEENABLE = FALSE;
        }
}

technique WriteFocus
{
        pass P0
        {
                VertexShader = compile vs_3_0 VS_Focus();
                PixelShader= compile ps_3_0 PS_WriteFocus();

                ZEnable = FALSE;
                CullMode = NONE;
                ALPHATESTENABLE = FALSE;
                SEPARATEALPHABLENDENABLE = FALSE;
                AlphaBlendEnable = FALSE;
                FogEnable = FALSE;
                SRGBWRITEENABLE = FALSE;
        }
}
////////////////////////////////////////////////////////////////////
// End focusing code
////////////////////////////////////////////////////////////////////

/*------------------------------------------------------------------------------
                                  ENB prepass modification 2.0.5 by Matso
                                           Credits to Boris Vorontsov
------------------------------------------------------------------------------*/
// Effects enabling options
//#define ENABLE_DOF                1                        // comment to disable depth of field
#define ENABLE_FAST_DOF        1                        // comment to disable fast depth of field (never use both ENABLE_DOF and ENABLE_FAST_DOF - possible game crash or horrible FPS drop)
//#define ENABLE_SHARP        1                        // comment to disable sharpening
//#define ENABLE_CHROMA        1                        // comment to disable chromatic aberration (additional chromatic aberration applied beyond depth of field)

// Methods enabling options
#define USE_CHROMA_DOF        1                        // comment it to disable chromatic aberration sampling in DoF
#define USE_SMOOTH_DOF        1                        // comment it to disable smooth DoF
#define USE_BOKEH_DOF        1                        // comment it to disable bokeh DoF (experimental)
//#define USE_ANAMFLARE        1                        // comment it to disable anamorphic lens flare (not working very well -_-)
#define USE_DOUBLE_BLUR 1                        // comment it to disable additional blur

// Useful constants
#define SEED                        Timer.x
#define PI                                3.1415926535897932384626433832795
#define CHROMA_POW                65.0                                                                // the bigger the value, the more visible chomatic aberration effect in DoF

// Fast DoF constants
#define DOF_SCALE                2356.1944901923449288469825374596        // PI * 750
#define FIRST_PASS                2        // donnot change it!
#define SECOND_PASS                3        // donnot change it!
#define THIRD_PASS                0        // donnot change it!
#define FOURTH_PASS                1        // donnot change it!
#define DOF(sd,sf)                fApertureScale * smoothstep(fApertureBias, fApertureCutoff, abs(sd - sf))

// Chromatic aberration parameters
float3 fvChroma = float3(0.995, 1.000, 1.005);        // displacement scales of red, green and blue respectively
float fBaseRadius = 0.9;                                                // below this radius the effect is less visible
float fFalloffRadius = 1.8;                                                // over this radius the effects is maximal
float fChromaPower = 1.0;                                                // power of the chromatic displacement (curve of the 'fvChroma' vector)

// Sharpen parameters
float fSharpScale = 0.32;                                                // intensity of sharpening
float2 fvTexelSize = float2(1.0 / 1920.0, 1.0 / 1080.0);        // set your resolution sizes

// Depth of field parameters
float fFocusBias = 0.045;                                                // bigger values for nearsightedness, smaller for farsightedness (lens focal point distance)
float fApertureScale = 0.004;                                        // governs image blur scale (the bigger value, the stronger blur)
float fApertureCutoff = 0.25;                                        // manages the smoothness of the DoF (bigger value results in wider depth of field)
float fApertureBias = 0.07;                                                // distance not taken into account in DoF (try out sub-zero values ;))

// (pseudo-) Bokeh parameters
float fBokehCurve = 8.0;                                                // the larger the value, the more visible the bokeh effect is
//float fBokehBlurFalloff = 4.0;
float fBokehLight = 0.012;                                                // governs overall brightness of the outcome

// Grain parameters
float fGrainFreq = 2000.0;                                                // movie grain frequency
float fGrainScale = 0.02;                                                // effect scale

// Anamorphic flare parameters (by default not used)
float fLuminance = 0.85;                                                // bright pass luminance value
float fBlur = 2000.0;                                                        // blur amount, manages the size of the flare
float fIntensity = 0.25;                                                // effect intensity

/**
* Chromatic aberration function - given texture coordinate and a focus value
* retrieves chromatically distorted color of the pixel. Each of the color
* channels are displaced according to the pixel coordinate and its distance
* from the center of the image. Also the DoF out-of-focus value is applied.
* (http://en.wikipedia.org/wiki/Chromatic_aberration)
*/
float4 ChromaticAberration(float2 tex, float outOfFocus)
{
        float d = distance(tex, float2(0.5, 0.5));
        float f = smoothstep(fBaseRadius, fFalloffRadius, d + outOfFocus * d);
        float3 chroma = pow(f + fvChroma, fChromaPower);
       
        float2 tr = ((2.0 * tex - 1.0) * chroma.r) * 0.5 + 0.5;
        float2 tg = ((2.0 * tex - 1.0) * chroma.g) * 0.5 + 0.5;
        float2 tb = ((2.0 * tex - 1.0) * chroma.b) * 0.5 + 0.5;
       
        float3 color = float3(tex2D(SamplerColor, tr).r, tex2D(SamplerColor, tg).g, tex2D(SamplerColor, tb).b) * (1.0 - f);
       
        return float4(color, 1.0);
}

/**
* Chromatic aberration done accoriding to the focus factor provided.
*/
float4 ChromaticAberrationFocus(float2 tex, float outOfFocus)
{
        float3 chroma = pow(fvChroma, CHROMA_POW * outOfFocus);

        float2 tr = ((2.0 * tex - 1.0) * chroma.r) * 0.5 + 0.5;
        float2 tg = ((2.0 * tex - 1.0) * chroma.g) * 0.5 + 0.5;
        float2 tb = ((2.0 * tex - 1.0) * chroma.b) * 0.5 + 0.5;
       
        float3 color = float3(tex2D(SamplerColor, tr).r, tex2D(SamplerColor, tg).g, tex2D(SamplerColor, tb).b) * (1.0 - outOfFocus);
       
        return float4(color, 1.0);
}

/**
* Pseudo-random number generator - returns a number generated according to the provided vector.
*/
float Random(float2 co)
{
    return frac(sin(dot(co.xy, float2(12.9898, 78.233))) * 43758.5453);
}

/**
* Movie grain function - returns a random, time scaled value for the given pixel coordinate.
*/
float Grain(float3 tex)
{
        float r = Random(tex.xy);
        float grain = sin(PI * tex.z * r * fGrainFreq) * fGrainScale * r;
        return grain;
}

/**
* Bright pass - rescales sampled pixel to emboss bright enough value.
*/
float3 BrightPass(float2 tex)
{
        float3 c = tex2D(SamplerColor, tex).rgb;
    float3 bC = max(c - float3(fLuminance, fLuminance, fLuminance), 0.0);
    float bright = dot(bC, 1.0);
    bright = smoothstep(0.0f, 0.5, bright);
    return lerp(0.0, c, bright);
}

float3 BrightColor(float3 c)
{
    float3 bC = max(c - float3(fLuminance, fLuminance, fLuminance), 0.0);
    float bright = dot(bC, 1.0);
    bright = smoothstep(0.0f, 0.5, bright);
    return lerp(0.0, c, bright);
}

/**
* Anamorphic sampling function - scales pixel coordinate
* to stratch the image along one of the axels.
* (http://en.wikipedia.org/wiki/Anamorphosis)
*/
float3 AnamorphicSample(int axis, float2 tex, float blur)
{
        tex = 2.0 * tex - 1.0;
        if (!axis) tex.x /= -blur;
        else tex.y /= -blur;
        tex = 0.5 * tex + 0.5;
        return BrightPass(tex);
}

/**
* Converts pixel color to gray-scale.
*/
float GrayScale(float3 sample)
{
        return dot(sample, float3(0.3, 0.59, 0.11));
}

///// Shaders ////////////////////////////////////////////////////////////////////////////////
// Vertex shader (Boris code)
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;
}

// Sharpen pixel shader (Matso code)
float4 PS_ProcessPass_Sharpen(VS_OUTPUT_POST IN, float2 vPos : VPOS) : COLOR
{
        float2 coord = IN.txcoord.xy;
        float4 Color = 9.0 * tex2D(SamplerColor, coord.xy);
       
        Color -= tex2D(SamplerColor, coord.xy + float2(-fvTexelSize.x, fvTexelSize.y) * fSharpScale);
        Color -= tex2D(SamplerColor, coord.xy + float2(0.0, fvTexelSize.y) * fSharpScale);
        Color -= tex2D(SamplerColor, coord.xy + float2(fvTexelSize.x, fvTexelSize.y) * fSharpScale);
        Color -= tex2D(SamplerColor, coord.xy + float2(fvTexelSize.x, 0.0) * fSharpScale);
        Color -= tex2D(SamplerColor, coord.xy + float2(fvTexelSize.x, -fvTexelSize.y) * fSharpScale);
        Color -= tex2D(SamplerColor, coord.xy + float2(0.0, -fvTexelSize.y) * fSharpScale);
        Color -= tex2D(SamplerColor, coord.xy + float2(-fvTexelSize.x, -fvTexelSize.y) * fSharpScale);
        Color -= tex2D(SamplerColor, coord.xy + float2(-fvTexelSize.x, 0.0) * fSharpScale);
       
        Color.a = 1.0;
        return Color;
}

// Anamorphic lens flare pixel shader (Matso code)
float4 PS_ProcessPass_Anamorphic(VS_OUTPUT_POST IN, float2 vPos : VPOS) : COLOR
{
        float4 res;
        float2 coord = IN.txcoord.xy;
        float3 anamFlare = AnamorphicSample(0, coord.xy, fBlur) * float3(0.0, 0.0, 1.0);
        res.rgb = anamFlare * fIntensity;
        res.a = 1.0;
        return res;
}

// Fast depth of field pixel shader (Matso code)
float4 PS_ProcessPass_FastDoF(VS_OUTPUT_POST IN, float2 vPos : VPOS, uniform int axis) : COLOR
{
        float4 res;
        float2 coord = IN.txcoord.xy;
        float4 tcol = tex2D(SamplerColor, coord.xy);
        float sd = tex2D(SamplerDepth, coord).x;

#ifndef USE_SMOOTH_DOF
        float sf = tex2D(SamplerDepth, 0.5).x - fFocusBias;
#else
        float sf = tex2D(SamplerFocus, 0.5).x - fFocusBias * 2.0;
#endif
        float outOfFocus = DOF(sd, sf);
               
        float offset = { -1.282, -0.524, 0.524, 1.282 };
        float2 tdirs = { float2(1.0, 0.0), float2(0.0, 1.0), float2(0.707, 0.707), float2(-0.707, 0.707) };
        //float2 taps = { float2(-1.282, 0.524), float2(0.524, -1.282), float2(-1.282, -0.524), float2(0.524, 1.282) };
        float blur = DOF_SCALE * outOfFocus;
#ifdef USE_BOKEH_DOF
        float wValue = (1.0 + pow(length(tcol.rgb) + 0.1, fBokehCurve)) * (1.0 - fBokehLight);        // special recipe from papa Matso ;)
#else
        float wValue = 1.0;
#endif
       
        tdirs.x *= fvTexelSize.x;
        tdirs.y *= fvTexelSize.y;
       
#ifdef USE_BOKEH_DOF
        blur *= 0.25;
#endif
               
        for (int i = 0; i < 4; i++)
        {
                //float2 t = taps * fvTexelSize;
               
                float2 tdir = offset * tdirs * blur;
                //float2 tdir = blur * (tdirs + t);
                coord.xy = IN.txcoord.xy + tdir.xy;
#ifdef USE_CHROMA_DOF
                float4 ct = ChromaticAberrationFocus(coord.xy, outOfFocus);
#else
                float4 ct = tex2D(SamplerColor, coord.xy);
#endif

#ifndef USE_BOKEH_DOF
                float w = 1.0 + abs(offset);        // weight blur for better effect
#else       
                float ds = tex2D(SamplerDepth, coord.xy).x;
                float offs = DOF(ds, sf);
               
        #if USE_BOKEH_DOF == 1        // my own pseudo-bokeh weighting
                float b = GrayScale(ct.rgb) + length(ct.rgb) + 0.1;
                float w = pow(b, fBokehCurve) + abs(offset);
        #endif
#endif
                tcol += ct * w;
                wValue += w;
        }

        tcol /= wValue;
               
        res.xyz = tcol.xyz;
        res.w = 1.0;
        return res;
}

// Chromatic abrration with no DoF (Matso code)
float4 PS_ProcessPass_Chroma(VS_OUTPUT_POST IN, float2 vPos : VPOS) : COLOR
{
        float2 coord = IN.txcoord.xy;
        float4 result = ChromaticAberration(coord.xy, 0.0);
        result.a = 1.0;
        return result;
}

//////////////////////////////////////////////////////////////////////////////////////////////////////////////
#ifdef ENABLE_SHARP
        technique PostProcess
        {
                pass P0
                {
                        VertexShader = compile vs_3_0 VS_PostProcess();
                        PixelShader= compile ps_3_0 PS_ProcessPass_Sharpen();

                        DitherEnable = FALSE;
                        ZEnable = FALSE;
                        CullMode = NONE;
                        ALPHATESTENABLE = FALSE;
                        SEPARATEALPHABLENDENABLE = FALSE;
                        AlphaBlendEnable = FALSE;
                        StencilEnable = FALSE;
                        FogEnable = FALSE;
                        SRGBWRITEENABLE = FALSE;
                }
                #ifdef USE_ANAMFLARE
                        pass P1
                        {
                                AlphaBlendEnable = true;
                                SrcBlend = One;
                                DestBlend = One;
                               
                                PixelShader = compile ps_3_0 PS_ProcessPass_Anamorphic();
                        }
                #endif
        }
#endif

#ifndef ENABLE_FAST_DOF
        #ifdef ENABLE_CHROMA
                #ifndef ENABLE_SHARP
                        technique PostProcess
                #else
                        technique PostProcess2
                #endif
                {
                        pass P0
                        {
                                VertexShader = compile vs_3_0 VS_PostProcess();
                                PixelShader= compile ps_3_0 PS_ProcessPass_Chroma();

                                DitherEnable = FALSE;
                                ZEnable = FALSE;
                                CullMode = NONE;
                                ALPHATESTENABLE = FALSE;
                                SEPARATEALPHABLENDENABLE = FALSE;
                                AlphaBlendEnable = FALSE;
                                StencilEnable = FALSE;
                                FogEnable = FALSE;
                                SRGBWRITEENABLE = FALSE;
                        }
                }
        #endif
#endif

#ifndef ENABLE_CHROMA
        #ifdef ENABLE_FAST_DOF
                #ifndef ENABLE_SHARP
                        technique PostProcess
                #else
                        technique PostProcess2
                #endif
                {
                        pass P0
                        {
                                VertexShader = compile vs_3_0 VS_PostProcess();
                                PixelShader= compile ps_3_0 PS_ProcessPass_FastDoF(FIRST_PASS);

                                DitherEnable = FALSE;
                                ZEnable = FALSE;
                                CullMode = NONE;
                                ALPHATESTENABLE = FALSE;
                                SEPARATEALPHABLENDENABLE = FALSE;
                                AlphaBlendEnable = FALSE;
                                StencilEnable = FALSE;
                                FogEnable = FALSE;
                                SRGBWRITEENABLE = FALSE;
                        }
                }

                #ifndef ENABLE_SHARP
                        technique PostProcess2
                #else
                        technique PostProcess3
                #endif
                {
                        pass P0
                        {
                                VertexShader = compile vs_3_0 VS_PostProcess();
                                PixelShader= compile ps_3_0 PS_ProcessPass_FastDoF(SECOND_PASS);

                                DitherEnable = FALSE;
                                ZEnable = FALSE;
                                CullMode = NONE;
                                ALPHATESTENABLE = FALSE;
                                SEPARATEALPHABLENDENABLE = FALSE;
                                AlphaBlendEnable = FALSE;
                                StencilEnable = FALSE;
                                FogEnable = FALSE;
                                SRGBWRITEENABLE = FALSE;
                        }
                }

                #ifdef USE_DOUBLE_BLUR
                        #ifndef ENABLE_SHARP
                                technique PostProcess3
                        #else
                                technique PostProcess4
                        #endif
                        {
                                pass P0
                                {
                                        VertexShader = compile vs_3_0 VS_PostProcess();
                                        PixelShader= compile ps_3_0 PS_ProcessPass_FastDoF(THIRD_PASS);

                                        DitherEnable = FALSE;
                                        ZEnable = FALSE;
                                        CullMode = NONE;
                                        ALPHATESTENABLE = FALSE;
                                        SEPARATEALPHABLENDENABLE = FALSE;
                                        AlphaBlendEnable = FALSE;
                                        StencilEnable = FALSE;
                                        FogEnable = FALSE;
                                        SRGBWRITEENABLE = FALSE;
                                }
                        }

                        #ifndef ENABLE_SHARP
                                technique PostProcess4
                        #else
                                technique PostProcess5
                        #endif
                        {
                                pass P0
                                {
                                        VertexShader = compile vs_3_0 VS_PostProcess();
                                        PixelShader= compile ps_3_0 PS_ProcessPass_FastDoF(FOURTH_PASS);

                                        DitherEnable = FALSE;
                                        ZEnable = FALSE;
                                        CullMode = NONE;
                                        ALPHATESTENABLE = FALSE;
                                        SEPARATEALPHABLENDENABLE = FALSE;
                                        AlphaBlendEnable = FALSE;
                                        StencilEnable = FALSE;
                                        FogEnable = FALSE;
                                        SRGBWRITEENABLE = FALSE;
                                }
                        }
                #endif
        #endif
#endif
@【PMT】胖子 这是我在老外的effect里找的数据= =和上面的牛头不对马嘴,算了=A=我还是改我的动作去吧

【PMT】胖子 发表于 2013-12-26 23:33:52

http://gtaforums.com/topic/488840-iiivcsa-screenshots-and-other-media-thread/

很多都是要靠自己收集   之后借鉴   曾几何时几天之内   拿着三个 effect
对照   说明   一顿乱调    之后记住每项动了什么   改变成什么样   !我勒个去 !
完事那天我的记得我和我媳妇说   终于出狱了 !

祭祀秀忒 发表于 2013-12-27 09:03:29

去試下MASTER EFFECT挺好改的 全是參數 和ENB差不多

Owl 发表于 2013-12-27 15:02:27

思古
页: [1]
查看完整版本: 求ENB大神把effect1~3的修改教程发一下