• Вход / Регистрация
    Логин:
    Пароль:
Страница 308 из 450«12306307308309310449450»
Архив - только для чтения
Форум GtaMania.ru » Сайт и форум » Архив » ENB Series GTA 4 (Часть IV) (Ваши настройки, инструкции, вопросы и т.д.)
ENB Series GTA 4 (Часть IV)
offline
 memphis
Дата: Понедельник, 2012-04-02, 23:30 | Сообщение # 1
Гангстер
Сообщений: 2690
ENBSeries GTA IV (Часть IV). (I), (II), (III)



Прежде чем обращаться в эту тему, советуем ознакомиться с FAQ. Вдруг там уже есть ответ на Ваш вопрос?

Информация, обязательная к прочтению:
Все сообщения, никаким образом не касающиеся темы обсуждения ENB, будут удаляться, а авторы - наказываться без предупреждения.
Для тех, кому не понятно, что изложено выше, - формулировка слегка проще: флуд в данной теме запрещен, причем в любых его проявлениях, спасибо за внимание, надеемся на ваше благоразумие.

Максимальный размер публикуемого изображения без превью не должен превышать 300px по большей стороне.
Все скриншоты и видео прятать под спойлер!

Тэг spoiler используется именно так, как показано в п.2.7 правил сайта. Обратите внимание на кавычки и проверьте перед отправкой сообщения, так ли это оформили Вы.







 
offline
 gnrlies
Дата: Четверг, 2013-02-14, 23:32 | Сообщение # 4606
Пользователь
Народ! Почему игра с АА1 запускается с таким разрешением 3648 x 2052. Монитор 1920 x 1080
 
offline
 MadMout
Дата: Четверг, 2013-02-14, 23:42 | Сообщение # 4607
Пользователь
Сообщений: 96
gnrlies, потому, что АА увеличивает разрешение твоего экра, так как это множитель, почитай в шапке написанно


23" LG Flatron E2241," AMD Phenom(tm) II X4 Processor" 3.50 Ghz, 8 Gb DRR3, "Nvidia GTX 560 TI" 1 Gb, "Hard Disc" 1 Tb
http://fotki.yandex.ru/users/madmout/
 
offline
 gnrlies
Дата: Четверг, 2013-02-14, 23:46 | Сообщение # 4608
Пользователь
Ну должно быть 3840 х 2160
 
offline
 AgainstAllAutority
Дата: Четверг, 2013-02-14, 23:57 | Сообщение # 4609
Гангстер
Сообщений: 801
gnrlies, в шапке есть ответ и на этот вопрос
[spoiler="+++++"]
Цитата (FAQ)
AntialiasingUpScale=(0.25..1.0) - масштаб сглаживания. Чем меньше значение тем больше производительность, но картинка становится более размытой.

[/spoiler]


 
offline
 yug74
Дата: Пятница, 2013-02-15, 00:00 | Сообщение # 4610
Гангстер
Сообщений: 1107
Цитата (gnrlies)
Народ! Почему игра с АА1 запускается с таким разрешением 3648 x 2052. Монитор 1920 x 1080

В настройках ENB установи своё разрешение экрана.

Цитата (AgainstAllAutority)
gnrlies, в шапке есть ответ и на этот вопрос  +++++

Точно, про эту фишку совсем забыл :)


На пенсии ))


Сообщение отредактировал yug74 - Пятница, 2013-02-15, 00:03
 
offline
 gnrlies
Дата: Пятница, 2013-02-15, 00:09 | Сообщение # 4611
Пользователь
Разобрался. Спасибо
 
offline
 Simple999
Дата: Пятница, 2013-02-15, 02:41 | Сообщение # 4612
Гангстер
Сообщений: 1000
Немного осталось. Вот общая картина кфг из некоторых погод.

updt
[spoiler="Скрытый текст"]












[/spoiler]


? 21.12.2013 - Дней на сайте: 999


Сообщение отредактировал Simple999 - Пятница, 2013-02-15, 03:46
 
offline
 pit_bull
Дата: Пятница, 2013-02-15, 08:50 | Сообщение # 4613
Гангстер
Сообщений: 51
Добрый день! Господа не кто не знает как с этого
[spoiler="енбэффект"]//++++++++++++++++++++++++++++++++++++++++++++
// ENBSeries effect file
// visit http://enbdev.com for updates
// Copyright 2010 © Boris Vorontsov
// for non-commertial use from AAA.inc
// Using decompiled shader of GTA4 game by
// Rockstar Games.
//++++++++++++++++++++++++++++++++++++++++++++

#define POSTPROCESS_V2

float EColorSaturation=1;

float EBrightnessV2=0.1; // overall picture brightness
float EBloomAmountV2=0.045; // overall bloom amount
float EBloomAdditive=0.15; // amount of bloom that goes to color
float EColoringV2=0.05; // affects greyscale somehow
float EDarkeningV2=0.6; // makes shadowed zones darker

float EAdaptationMinV3=0.04; // taken from skyrim enb v0.100
float EAdaptationMaxV3=0.1; //
float EToneMappingCurveV3=2; //
float EToneMappingOversat=25; //
float EIntensityContrastV2=0.9; //
float EColorSaturationV2=1.15; //

float Defog=0.1; // this is contollers
float Exposure=0.35; // for HDR effect
float BlueShift=0.015; // from DP3 and DKT
float Gamma = 1.01; //

float BP_factor = 0.225; // bleach bypass effect strength
float Contrast = 0.5; // increase contrast

float TechniPower = 5; // technicolor effect
float TechniAmount = 0.3; //

float bloomcolkRed = 1.1; // here u can
float bloomcolkBlue = 0.8; // color ur bloom
float bloomcolkGreen = 1.0; // as u want
float sunhazeparam = 1; // sun haze

float bloomC = 100; // this constant brings colorfull bloom thx to DP3

int PixelSizeMultiplier = 2;
int DoF_TAPS = 60;

// sampler2D AdapLumSampler;
// sampler2D BloomSampler;
// float4 ColorCorrect;
// float4 ColorShift;
// float Exposure;
// sampler2D GBufferTextureSampler2;
// sampler2D GBufferTextureSampler3;
// sampler2D HDRSampler;
// sampler2D JitterSampler;
// float PLAYER_MASK;
// sampler2D StencilCopySampler;
// float4 TexelSize;
// float4 ToneMapParams;
// float4 deSatContrastGamma;
// float4 dofBlur;
// float4 dofDist;
// float4 dofProj;
// float gDirectionalMotionBlurLength;
// float4 globalScreenSize;
// row_major float4x4 motionBlurMatrix;
//
//
// Registers:
//
// Name Reg Size
// ---------------------------- ----- ----
// globalScreenSize c44 1
// Exposure c66 1
// motionBlurMatrix c72 4
// TexelSize c76 1
// dofProj c77 1
// dofDist c78 1
// dofBlur c79 1
// gDirectionalMotionBlurLength c80 1
// ToneMapParams c81 1
// deSatContrastGamma c82 1
// ColorCorrect c83 1
// ColorShift c84 1
// PLAYER_MASK c85 1
// GBufferTextureSampler2 s0 1
// GBufferTextureSampler3 s1 1
// HDRSampler s2 1
// BloomSampler s3 1
// AdapLumSampler s4 1
// JitterSampler s5 1
// StencilCopySampler s6 1

//quad
struct VS_OUTPUT_POST
{
float4 vpos : POSITION;
float2 txcoord0 : TEXCOORD0;
};
struct VS_INPUT_POST
{
float3 pos : POSITION;
float2 txcoord0 : TEXCOORD0;
};

//int4 _i0 : register(i0);

/*
float4 _c0 : register(c0);
float4 _c1 : register(c1);
float4 _c2 : register(c2);
float4 _c3 : register(c3);
float4 _c4 : register(c4);
float4 _c5 : register(c5);
float4 _c6 : register(c6);
*/
float4 _c44 : register(c44);
float4 _c66 : register(c66);
float4 _c72 : register(c72);
float4 _c73 : register(c73);
float4 _c74 : register(c74);
float4 _c75 : register(c75);
float4 _c76 : register(c76);
float4 _c77 : register(c77);
float4 _c78 : register(c78);
float4 _c79 : register(c79);
float4 _c80 : register(c80);
float4 _c81 : register(c81);
float4 _c82 : register(c82);
float4 _c83 : register(c83);
float4 _c84 : register(c84);
float4 _c85 : register(c85);
float maxi : register(c86);
float temp : register(c87);

texture2D texs0 : register(s0);
texture2D texs1 : register(s1);
texture2D texs2 : register(s2);
texture2D texs3 : register(s3);
texture2D texs4 : register(s4);
texture2D texs5 : register(s5);
texture2D texs6 : register(s6);
texture2D texs7 : register(s7);
texture2D texs13 : register(s13);
texture2D texs15 : register(s15);
//sampler2D s0=sampler_state { Texture=<texs0>; };
//sampler2D s1=sampler_state { Texture=<texs1>; };
sampler2D s2=sampler_state { Texture=<texs2>; };
//sampler2D s3=sampler_state { Texture=<texs3>; };
sampler2D s4=sampler_state { Texture=<texs4>; };
sampler2D s5=sampler_state { Texture=<texs5>; };
sampler2D s6=sampler_state { Texture=<texs6>; };
sampler2D s7=sampler_state { Texture=<texs7>; };
sampler2D s15=sampler_state { Texture=<texs15>; };

//next samplers states fixing problems on ATI cards
sampler2D s0 = sampler_state
{
Texture = <texs0>;
MinFilter = ANISOTROPIC;//
MagFilter = ANISOTROPIC;//
MipFilter = NONE;//NONE;//LINEAR;
AddressU = Clamp;
AddressV = Clamp;
SRGBTexture=FALSE;
MaxMipLevel=0;
MipMapLodBias=0;
};

sampler2D s1 = sampler_state
{
Texture = <texs1>;
MinFilter = ANISOTROPIC;//
MagFilter = ANISOTROPIC;//
MipFilter = NONE;//NONE;//LINEAR;
AddressU = Clamp;
AddressV = Clamp;
SRGBTexture=FALSE;
MaxMipLevel=0;
MipMapLodBias=0;
};

sampler2D s3 = sampler_state
{
Texture = <texs3>;
MinFilter = ANISOTROPIC;//
MagFilter = ANISOTROPIC;//
MipFilter = NONE;//NONE;//LINEAR;
AddressU = Clamp;
AddressV = Clamp;
SRGBTexture=FALSE;
MaxMipLevel=0;
MipMapLodBias=0;
};

sampler2D s13 = sampler_state
{
Texture = <texs13>;
MinFilter = LINEAR;
MagFilter = LINEAR;
MipFilter = NONE;
AddressU = Clamp;
AddressV = Clamp;
SRGBTexture=FALSE;
MaxMipLevel=0;
MipMapLodBias=0;
};
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
float4 PS_C215BE6E(VS_OUTPUT_POST IN) : COLOR
{
float4 _oC0=0.0; //output

float4 _c0=float4(0, 0.212500006, 0.715399981, 0.0720999986);
float4 _c1=float4(0.25, 1, 256, 0);
float4 _c2=float4(0, 2, 4, 8);
float4 _c3=float4(58.1640015, 47.1300011, 0, 0);
float4 _c4=float4(-0.5, -1.5, 1.5, 0.5);
float4 _c5=float4(2, -1, 0.125, 0);
float4 _c6=float4(256, 2, 4, 8);
//mine
float4 _c7=float4(1.0, 0.1, 0.8, 1.0);
float4 _c8=float4(0.0, 0.1, 0.8, 0.333);
float4 _c9=float4(0.06, 0.1, 0.8, 0.1);
float4 _c10=float4(0.01, 1.4, 0.0, 0.32);
float4 _c11=float4(0.333333, 1.0, 0.0, 0.0);
// float4 _c12=float4(0.27, 0.67, 0.06, 0.0);
float4 _c12=float4(0.299, 0.587, 0.114, 0.0);
float4 _c13=float4(0.0, 0.0, 0.0, 0.00001);
float4 _c150=float4(0.55, 0.9, 0.85, 0.9);
float4 _c195=float4(0.0, 0.0, 0.0, 0.07);//0.7

float4 r0;
float4 r1;
float4 r2;
float4 r3;
float4 r4;
float4 r5;
float4 r6;
float4 r7;
float4 r8;
float4 r9;
float4 r10;
float4 r11;

float4 _v0=0.0;
_v0.xy=IN.txcoord0.xy;

r0=tex2D(s1, _v0.xy); //GBufferTextureSampler3
r0.y=-_c77.x + _c77.y; //-dofProj.x + dofProj.y
r0.y=1.0/r0.y;
r0.z=r0.y * _c77.y; //dofProj.y
r0.z=r0.z * -_c77.x; //dofProj.x
r0.x=_c77.y * -r0.y + r0.x;
r0.x=1.0/r0.x;
r0.y=r0.z * r0.x;

r1=tex2D(s2, _v0.xy); //HDRSampler
r2=tex2D(s3, _v0.xy); //BloomSampler

r1*=10.0;

r0.w=abs(_c79.w);
r3=_c4; //-0.5, -1.5, 1.5, 0.5

float2 center;
float depth;
float focus;

depth=r0.z * r0.x - _c78.w; //dofDist.w
depth+=_c78.y * -r3.w; //dofDist.y
depth+=148;//offset
center.x=_v0.x-0.5;
center.y=0.5-_v0.y;
focus = length(center.xy)*1.41421;
focus = pow(focus,2);

float4 vDofParams = float4(-5, 2.5, 5000.0, 1.0);

r4=tex2D(s1, float2(0.5, 0.5)); //GBufferTextureSampler3
r4.y=-_c77.x + _c77.y; //-dofProj.x + dofProj.y
r4.y=1.0/r4.y;
r4.z=r4.y * _c77.y; //dofProj.y
r4.z=r4.z * -_c77.x; //dofProj.x
r4.x=_c77.y * -r4.y + r4.x;
r4.x=1.0/r4.x;
r4.y=r4.z * r4.x;

float cdepth;

cdepth=r4.z * r4.x - _c78.w; //dofDist.w
cdepth+=_c78.y * -r3.w; //dofDist.y
cdepth+=148;//offset

r4.w = tex2D(s0, float2(0.5, 0.5)).w;
if(r4.w > 0)
{
vDofParams.y = cdepth;
vDofParams.z = cdepth*4.0;
}

depth = max(depth, 0); //fix zoom bug
float dist;

if(depth < vDofParams.y)
dist = (depth - vDofParams.y)/(vDofParams.y - vDofParams.x);
else
{
dist = (depth - vDofParams.y)/(vDofParams.z - vDofParams.y);
dist = clamp(dist, 0, vDofParams.w);
}

dist = dist * 0.5 + 0.5;

/*
static float3 poisson[24]=
{
float3(1.0, 0.0, 1.0000 ), //0 degrees
float3(0.0, -1.0, 1.0000 ),
float3(-1.0, 0.0, 1.0000 ),
float3(0.0, 1.0, 1.0000 ),

float3(0.7071, 0.7071, 1.0000 ), //45 degrees
float3(0.7071, 0.7071, 1.0000 ),
float3(-0.7071, -0.7071, 1.0000 ),
float3(-0.7071, 0.7071, 1.0000 ),

float3(0.9659, 0.2588, 1.0000 ), //15 degrees
float3(0.2588, -0.9659, 1.0000 ),
float3(-0.9659, -0.2588, 1.0000 ),
float3(-0.2588, 0.9659, 1.0000 ),

float3(0.8660, 0.5000, 1.0000 ), //60 degrees
float3(0.5000, -0.8660, 1.0000 ),
float3(-0.8660, -0.5000, 1.0000 ),
float3(-0.5000, 0.8660, 1.0000 ),

float3(0.5000, 0.8660, 1.0000 ), //30 degrees
float3(0.8660, -0.5000, 1.0000 ),
float3(-0.5000, -0.8660, 1.0000 ),
float3(-0.8660, 0.5000, 1.0000 ),

float3(0.2588, 0.9659, 1.0000 ), //75 degrees
float3(0.9659, -0.2588, 1.0000 ),
float3(-0.2588, -0.9659, 1.0000 ),
float3(-0.9659, 0.2588, 1.0000 ),
};
*/

static float3 poisson[60] =
{
float3( 0.2165, 0.1250, 1.0000 ),
float3( 0.0000, 0.2500, 1.0000 ),
float3( -0.2165, 0.1250, 1.0000 ),
float3( -0.2165, -0.1250, 1.0000 ),
float3( -0.0000, -0.2500, 1.0000 ),
float3( 0.2165, -0.1250, 1.0000 ),
float3( 0.4330, 0.2500, 1.0000 ),
float3( 0.0000, 0.5000, 1.0000 ),
float3( -0.4330, 0.2500, 1.0000 ),
float3( -0.4330, -0.2500, 1.0000 ),
float3( -0.0000, -0.5000, 1.0000 ),
float3( 0.4330, -0.2500, 1.0000 ),
float3( 0.6495, 0.3750, 1.0000 ),
float3( 0.0000, 0.7500, 1.0000 ),
float3( -0.6495, 0.3750, 1.0000 ),
float3( -0.6495, -0.3750, 1.0000 ),
float3( -0.0000, -0.7500, 1.0000 ),
float3( 0.6495, -0.3750, 1.0000 ),
float3( 0.8660, 0.5000, 1.0000 ),
float3( 0.0000, 1.0000, 1.0000 ),
float3( -0.8660, 0.5000, 1.0000 ),
float3( -0.8660, -0.5000, 1.0000 ),
float3( -0.0000, -1.0000, 1.0000 ),
float3( 0.8660, -0.5000, 1.0000 ),
float3( 0.2163, 0.3754, 0.8670 ),
float3( -0.2170, 0.3750, 0.8670 ),
float3( -0.4333, -0.0004, 0.8670 ),
float3( -0.2163, -0.3754, 0.8670 ),
float3( 0.2170, -0.3750, 0.8670 ),
float3( 0.4333, 0.0004, 0.8670 ),
float3( 0.4328, 0.5004, 0.8847 ),
float3( -0.2170, 0.6250, 0.8847 ),
float3( -0.6498, 0.1246, 0.8847 ),
float3( -0.4328, -0.5004, 0.8847 ),
float3( 0.2170, -0.6250, 0.8847 ),
float3( 0.6498, -0.1246, 0.8847 ),
float3( 0.6493, 0.6254, 0.9065 ),
float3( -0.2170, 0.8750, 0.9065 ),
float3( -0.8663, 0.2496, 0.9065 ),
float3( -0.6493, -0.6254, 0.9065 ),
float3( 0.2170, -0.8750, 0.9065 ),
float3( 0.8663, -0.2496, 0.9065 ),
float3( 0.2160, 0.6259, 0.8851 ),
float3( -0.4340, 0.5000, 0.8851 ),
float3( -0.6500, -0.1259, 0.8851 ),
float3( -0.2160, -0.6259, 0.8851 ),
float3( 0.4340, -0.5000, 0.8851 ),
float3( 0.6500, 0.1259, 0.8851 ),
float3( 0.4325, 0.7509, 0.8670 ),
float3( -0.4340, 0.7500, 0.8670 ),
float3( -0.8665, -0.0009, 0.8670 ),
float3( -0.4325, -0.7509, 0.8670 ),
float3( 0.4340, -0.7500, 0.8670 ),
float3( 0.8665, 0.0009, 0.8670 ),
float3( 0.2158, 0.8763, 0.9070 ),
float3( -0.6510, 0.6250, 0.9070 ),
float3( -0.8668, -0.2513, 0.9070 ),
float3( -0.2158, -0.8763, 0.9070 ),
float3( 0.6510, -0.6250, 0.9070 ),
float3( 0.8668, 0.2513, 0.9070 )
};

float2 pixelSizeHigh;
float2 pixelSizeLow;

//pixelSizeHigh.x = 1.005 / _c44.x;
//pixelSizeHigh.y = 1.005 / _c44.y;

pixelSizeHigh.x = 1.0 / _c44.x;
pixelSizeHigh.y = 1.0 / _c44.y;
pixelSizeHigh.xy *= PixelSizeMultiplier;
pixelSizeLow.xy = pixelSizeHigh.xy;

float2 vMaxCoC = float2(5.0, 10.0);

float radiusScale = 1;

float discRadius;
float discRadiusLow;
float centerDepth;
float4 tdepth;

float4 tapHigh;
float4 tapLow;

centerDepth = dist;

discRadius = abs(centerDepth * vMaxCoC.y - vMaxCoC.x);
discRadiusLow = discRadius * radiusScale;

r1 = 0.0;

for(int t = 0; t < DoF_TAPS; t++)
{
float2 coordLow = _v0.xy + (pixelSizeLow.xy * poisson[t].xy * discRadiusLow);
float2 coordHigh = _v0.xy + (pixelSizeHigh.xy * poisson[t].xy * discRadius);

tapLow = tex2D(s2, coordLow.xy) * poisson[t].z;
tapHigh = tex2D(s2, coordHigh.xy) * poisson[t].z;

tdepth = tex2D(s1, coordHigh.xy); //GBufferTextureSampler3
tdepth.y = -_c77.x + _c77.y; //-dofProj.x + dofProj.y
tdepth.y = 1.0 / tdepth.y;
tdepth.z = tdepth.y * _c77.y; //dofProj.y
tdepth.z = tdepth.z * -_c77.x; //dofProj.x
tdepth.x = _c77.y * -tdepth.y + tdepth.x;
tdepth.x = 1.0 / tdepth.x;

tdepth.w = tdepth.z * tdepth.x - _c78.w; //dofDist.w
tdepth.w += _c78.y * -r3.w; //dofDist.y
tdepth.w += 108;//offset

tdepth.w = max(tdepth.w, 0); //fix zoom bug

if(tdepth.w < vDofParams.y)
tapHigh.w = (tdepth.w - vDofParams.y)/(vDofParams.y - vDofParams.x);
else
{
tapHigh.w = (tdepth.w - vDofParams.y)/(vDofParams.z - vDofParams.y);
tapHigh.w = clamp(tapHigh.w, 0, vDofParams.w);
}

tapHigh.w = tapHigh.w * 0.5 + 0.5;

tapLow.w = tapHigh.w;

float tapBlur = abs(tapHigh.w * 2.0 - 1.0);
float4 tap = lerp(tapHigh, tapLow, tapBlur);

if(tap.w >= centerDepth) tap.w = 1.0;
else tap.w = abs(tap.w * 2.0 - 1.0);

r1.xyz += tap.xyz * tap.w;
r1.w += tap.w;

}

r1.xyz /= r1.w;

//float4 dofcolor = r1;

//dofcolor.w = r1.w / DoF_TAPS;

//***************

r1.w=dot(r1.xyz, r1.xyz); //dp3
r1.w=1.0/r1.w;

//if (-r1.w<0.0) r3 = r1;
//else r3 = _c0.x;

r3 = lerp(_c0.x, r1, saturate(r1.w * 10000));

r4 = r3;
r5 = r3;
r6 = r3;
r7 = r3;

r0.x=r0.z * r0.x - _c78.w; //dofDist.w
r0.x=_c78.y * -r3.w + r0.x; //dofDist.y
r1.w=max(r0.x, _c0.x); //0.0
r0.x=1.0/_c78.z; //dofDist.z
r0.x=r1.w * r0.x;
r1.w=lerp(_c79.y, _c79.z, r0.x);//dofBlur
r0.x=min(_c79.z, r1.w); //dofBlur.z

r0.z=dot(r7.xyz, _c0.yzw); //0.212500006, 0.715399981, 0.0720999986
r8.x=dot(r3.xyz, _c0.yzw); //0.212500006, 0.715399981, 0.0720999986
r8.y=dot(r4.xyz, _c0.yzw); //0.212500006, 0.715399981, 0.0720999986
r8.z=dot(r5.xyz, _c0.yzw); //0.212500006, 0.715399981, 0.0720999986
r8.w=dot(r6.xyz, _c0.yzw); //0.212500006, 0.715399981, 0.0720999986
r1.w=dot(r8, _c1.xxxx); //0.25

r8=r8 - r1.w;
r2.w=dot(r8, r8);
r0.z=r0.z - r1.w;
r0.z=r0.z * r0.z - r2.w;
r0.x=r0.x*r0.x;
if (r0.z<0.0)
{
r0.x=r0.x;
} else r0.x=_c1.y; //1.0

r8=tex2D(s0, _v0.xy); //GBufferTextureSampler2

r8.yz=_c1.yz; // 1.0, 256.0
r9=r8.w * -r8.z + _c2; //0, 2, 4, 8
if (r9.w<0.0) //r9<0.0
{
r9=_c1.w; //0.0
} else r9=_c1.y; //1.0
//r9 is filtered sky mask

//r10=r8.w + tempc6;//c6.yzwx; //256, 2, 4, 8
r10=r8.w * -_c6.x + _c6.yzwx; //256, 2, 4, 8

if (r10.x<0.0)
{
r10.x=-_c1.w; //0.0
} else r10.x=-_c1.y; //1.0

if (r10.y<0.0)
{
r10.y=-_c1.w; //0.0
} else r10.y=-_c1.y; //1.0

if (r10.z<0.0)
{
r10.z=-_c1.w; //0.0
} else r10.z=-_c1.y; //1.0

if (r10.w<0.0)
{
r10.w=-_c1.w; //0.0
} else r10.w=-_c1.y; //1.0

r9=r9 + r10;
r9=r9 * _c4.x; //-0.5

r0.z=dot(r9, _c1.yyyy); //1.0
r0.z=r0.z + _c4.w; //0.5
r0.z=1.0/r0.z;
r8.xzw=r3.xyz * r9.x;

r7.xyz=r7 * _c4.w + r8.xzw; //0.5
r7.xyz=r4 * r9.y + r7;
r7.xyz=r5 * r9.z + r7;
r7.xyz=r6 * r9.w + r7;
r7.xyz=r0.z * r7;
r0.z=-r0.x + _c1.y; //1.0
r1.w=r0.x * _c1.x; //0.25

r3.xyz=r3 * r1.w;
r3.xyz=r7 * r0.z + r3;
r3.xyz=r4 * r1.w + r3;
r3.xyz=r5 * r1.w + r3;
r3.xyz=r6 * r1.w + r3;

//r4.xyz=_v0.yxy * _c5.x + _c5.y; //2, -1
r4.x=_v0.y * _c5.x + _c5.y;
r4.y=_v0.x * _c5.x + _c5.y;
r4.z=_v0.y * _c5.x + _c5.y;

r0.z=r4.y * _c77.z; //dofProj.z
r0.z=r0.y * r0.z;
r1.w=-r4.x * _c77.w; //dofProj.w
r1.w=r0.y * r1.w;
r5.xyz=r1.w * _c73; //motionBlurMatrix.2
r5.xyz=r0.z * _c72 + r5; //motionBlurMatrix.1
r5.xyz=-r0.y * _c74 + r5; //motionBlurMatrix.3
r5.xyz=r5 + _c75; //motionBlurMatrix.4

r0.y=-r5.z * _c77.z; //dofProj.z
r0.y=1.0/r0.y;
r6.x=r5.x * r0.y;
r0.y=r5.z * _c77.w; //dofProj.w
r0.y=1.0/r0.y;
r6.y=r5.y * r0.y;
//r0.yz=-r4 + r6.xxyw;
r0.yz=-r4.yz + r6.xy;

//r0.yz=r0 * _c80.x; //gDirectionalMotionBlurLength.x
r0.y=r0.y * _c80.x;
r0.z=r0.z * _c80.x;
//r4.xy=r0.yzzw * _c5.z; //0.125
r4.x=r0.y * _c5.z;
r4.y=r0.z * _c5.z;
r5=tex2D(s6, _v0.xy); //StencilCopySampler
r1.w=r5.x + -_c85.x; //PLAYER_MASK.x
r4.zw=r3.xyxy * _c2.w; //8.0
//r4.z=r3.x * _c2.w;
//r4.w=r3.y * _c2.w;
//r4.zw=_v0.xyxy * _c3.xyxy + r4; //58.1640015, 47.1300011
r4.z=_v0.x * _c3.x + r4.z; //v2
r4.w=_v0.y * _c3.y + r4.w; //v2
r5=tex2D(s5, r4.zw); //JitterSampler
r2.w=r5.x + _c4.x; //-0.5
//r4.zw=r4.xyxy * r2.w + _v0.xyxy; //v0
r4.zw=r4.xy * (r5.x - 4) + _v0.xy; // fixed
r5.xyz=r3.xyz;
r2.w=_c1.y; //1.0
r3.w=_c1.y; //1.0

for (int iii=0; iii<16; iii++)
{
// r6.xy=r4 * r3.w + r4.zwzw; //v0
r6.x=r4.x * r3.w + r4.z; //v2
r6.y=r4.y * r3.w + r4.w; //v2
r7=tex2D(s6, r6.xy);
r5.w=r7.x - _c85.x;
if (r5.w<0.0)
{
r5.w=_c1.y; //1.0
} else r5.w=_c1.w; //0.0
r6=tex2D(s2, r6.xy);
r5.xyz=r6.xyz * r5.w + r5.xyz;
r2.w=r2.w + r5.w;
r3.w=r3.w + _c1.y; //1.0
}

r2.w=1.0/r2.w;

//r0.yz=r0 * _c44.xxyw; //globalScreenSize
r0.y=r0.y * _c44.x; //globalScreenSize
r0.z=r0.z * _c44.y; //globalScreenSize

r0.y=dot(r0.yz, r0.yz)+_c0.x;//dp2

//r0.y=sqrt(r0.y);
//r0.y=1.0/r0.y;
r0.y=pow(r0.y, _c4.w); //0.5

r0.y=r0.y * _c4.w; //0.5
r0.x=r0.x + _c1.y; //1.0
r0.x=1.0/r0.x;
//r0.y is wrong
r0.x=saturate(r0.y * r0.x);
r4.xyz=r5 * r2.w - r3;
r0.xyz=r0.x * r4 + r3;

//_oC0.xyz=0.5*r0.xyz;

if (-r1.w<0.0) r0.xyz=r3.xyz;
if (-r0.w<0.0) r0.xyz=r1.xyz;

float4 origcolor = tex2D(s2, _v0.xy);

//r0 = lerp(origcolor, r0, autofocus);

//for future use
r11=r0;

r1=tex2D(s4, _c0.x); //AdapLumSampler , 0.0
r0.w=1.0/r1.x;
r0.w=r0.w * _c81.y; //ToneMapParams.y
r1.x=1.0/r0.w;
r1.x=r1.x * _c81.x; //ToneMapParams.x
r1.xyz=r2 * _c66.x - r1.x; //Exposure.x
r2.xyz=max(r1, _c0.x); //0.0
r1.xyz=r2 * _c81.z; //ToneMapParams.z
r1.xyz=r1 * _c1.x; //0.25
r0.xyz=r0 * _c66.x + r1; //Exposure.x
r1.xyz=r0.w * r0;
r1.x=dot(r1.xyz, _c0.yzw); //0.2125, 0.7154, 0.0721
r0.xyz=r0 * r0.w - r1.x;
r0.xyz=_c82.x * r0 + r1.x; //deSatContrastGamma.x
r0.w=r1.x * _c84.w; //ColorShift.w
r1.yzw=r0.w * _c84.xxyz; //ColorShift

//darken as DarkeningAmount, but keeps colors
r2.x=saturate(r0.w);
r0.xyz=r0.xyz - _c84.xyz * r0.w; //ColorShift
r0.xyz=r2.x * r0.xyz + r1.yzww;

//coloring (green, brown, ...)
r0.xyz=2.0 * r0.xyz * _c83.xyz; //ColorCorrect

//keeps colors, changes luma
r1.x=saturate(r1.x);
r0.w=_c82.z - r8.y; //deSatContrastGamma.z
r2.x=pow(r1.x, r0.w);

_oC0.xyz=r0.xyz * r2.x; //orig
_oC0.w=_c1.y; //1.0

//MY CODE BEGINS HERE

//tonemap of brightness
//float grayorig=dot(c, c8.w);
//float gray=pow(grayorig, c199.z);
//c=c*gray/grayorig;

//TODO make adapration
r5=tex2D(s4, _c0.x);//adaptation luminance
r5=1.0;

//DISABLED
//r0=tex2D(s2, _v0.xy);//hdr color
//r0=r11; //FROM ORIGINAL CODE AFTER BLUR

r0=r11+r0*0.25;

//adaptation
r5.w=r5.x;
r5.w=1.0/r5.w;
r0.xyz=r0 * r5.w;
r3.xy=_c10.xwxw;
r3.xy=r3.xy * r5.w;

r7=tex2D(s3, _v0.xy); //bloom
r7.r*=1.1;
r7.g*=1;
r7.b*=0.9;
r7=r7*(1-pow(1.2,-r7*0.4));
//HERE 0.15 is bloom factor 1, soft bloom
r0=r7*0.1 + r0; //0.05 //TEMP DISABLED
r10=dot(r0.xyz, _c12.xyz); //luminance
r10=r10*0.45;
r0=r0*r10;

r0.r*=1;
r0.g*=1;
r0.b*=1;
//r0=(pow(r0*1.99,0.99))*0.7+r0*0.7;
r0=(pow(r0*5,0.5))*0.3+r0*0.7;

r0=r0 * _c7.y; //pre multiply
r1=r0 * _c7.z; //e multiply
r1=r1+_c7.w;
r1.xyz=1.0/r1.xyz;
r0=r0*r1;
//HERE 0.8 is bloom for additive mix
r0=0.2*r7 * r3.x + r0; //c10.x

r0=(1-pow(2.4,-r0))*0.5+r0*0.555+(pow(2,-r0*5))*0.02;

float middlegray=(r0.r+r0.g+r0.b)*0.333; //dot(r0.xyz, 0.333); //dot(r0.xyz, float3(0.27, 0.67, 0.06));
float3 diffcolor=r0.rgb-middlegray;
r0.rgb+=diffcolor*0.5;

/*
float luma=dot(r0.xyz,0.333);
float degree=luma*3.1415926*0.5;//0~90
degree=sin(degree);
distance*=0.0004;
distance+=0.04;
luma=pow(luma,3);
luma=pow(2.71,-luma*2)*degree;
//r0.rgb=0.0;
r0.r+=luma*clamp(distance,0.0,0.16);
r0.g+=luma*clamp(distance,0.0,0.16*1.2);
r0.b+=luma*clamp(distance,0.0,0.16*1.4)*1.15;
r0.xyz+=max(focus*0.025,0.04)*luma;
//r0.xyz=1.0;
//r0.xyz=max(r0.xyz-focus*0.2,0);
*/

r0.xyz=r0.xyz*0.6+sin(r0.xyz*3.1415926*0.5)*0.4;

float Defog=0.1;
float4 FogColor={0.4, 0.2, 0.15, 0.0}; //
float4 FogColor2={0.09, 0.1, 0.02, 0.0};//
float Exposure=-0.04;
float Gamma=1.2;
float BlueShift=0.0;

r0.rgb = max(0, r0.rgb - Defog * FogColor.rgb);
r0.rgb *= pow(2.0f, Exposure);
float3 d = r0.rgb * float3(1.05f, 0.97f, 1.27f);
r0.rgb = lerp(r0.rgb, d, BlueShift);

//pallete texture (0.082 version feature)
#ifdef E_CC_PALETTE
float3 color=r0.xyz;
color.rgb=saturate(color.rgb);
float3 brightness=0.001;//tex2D(s4, _c0.x);//adaptation luminance
// brightness=brightness/(brightness+1.0);
float3 palette;
float4 uvsrc=0.0;
uvsrc.y=brightness.r;
uvsrc.x=color.r;
palette.r=tex2Dlod(s13, uvsrc).r;
uvsrc.x=color.g;
uvsrc.y=brightness.g;
palette.g=tex2Dlod(s13, uvsrc).g;
uvsrc.x=color.b;
uvsrc.y=brightness.b;
palette.b=tex2Dlod(s13, uvsrc).b;
color.rgb=palette.rgb;
#endif //E_CC_PALETTE

if (_v0.y <0.05)

{

r0.xyz = 0;

}

if (_v0.y >0.95)

{

r0.xyz = 0;

}
_oC0.xyz=r0.xyz;

//_oC0=0.077*tex2D(s15, _v0.xy);//s2

//_oC0.xyz=1.0;

//_oC0.w=1.0;
return _oC0;
}

//mine temporary post process
technique Shader_C215BE6E
{
pass p0
{
PixelShader = compile ps_3_0 PS_C215BE6E();
}
}

//original shader of post processing
technique Shader_ORIGINALPOSTPROCESS
{
pass p0
{

PixelShader=
asm
{
//
// Generated by Microsoft ® HLSL Shader Compiler 9.23.949.2378
//
// Parameters:
//
// sampler2D AdapLumSampler;
// sampler2D BloomSampler;
// float4 ColorCorrect;
// float4 ColorShift;
// float Exposure;
// sampler2D GBufferTextureSampler2;
// sampler2D GBufferTextureSampler3;
// sampler2D HDRSampler;
// sampler2D JitterSampler;
// float PLAYER_MASK;
// sampler2D StencilCopySampler;
// float4 TexelSize;
// float4 ToneMapParams;
// float4 deSatContrastGamma;
// float4 dofBlur;
// float4 dofDist;
// float4 dofProj;
// float gDirectionalMotionBlurLength;
// float4 globalScreenSize;
// row_major float4x4 motionBlurMatrix;
//
//
// Registers:
//
// Name Reg Size
// ---------------------------- ----- ----
// globalScreenSize c44 1
// Exposure c66 1
// motionBlurMatrix c72 4
// TexelSize c76 1
// dofProj c77 1
// dofDist c78 1
// dofBlur c79 1
// gDirectionalMotionBlurLength c80 1
// ToneMapParams c81 1
// deSatContrastGamma c82 1
// ColorCorrect c83 1
// ColorShift c84 1
// PLAYER_MASK c85 1
// GBufferTextureSampler2 s0 1
// GBufferTextureSampler3 s1 1
// HDRSampler s2 1
// BloomSampler s3 1
// AdapLumSampler s4 1
// JitterSampler s5 1
// StencilCopySampler s6 1
//

ps_3_0
def c0, 0, 0.212500006, 0.715399981, 0.0720999986
def c1, 0.25, 1, 256, 0
def c2, 0, 2, 4, 8
def c3, 58.1640015, 47.1300011, 0, 0
def c4, -0.5, -1.5, 1.5, 0.5
def c5, 2, -1, 0.125, 0
def c6, 256, 2, 4, 8
def c180, 0.0, 0.0, 0.0, 100.5
def c181, 1.0, 0.0, 0.0, 20.01
def c183, 800.0, 600.0, 0.0, 100.5
defi i0, 7, 0, 0, 0
dcl_texcoord v0.xy
dcl_2d s0
dcl_2d s1
dcl_2d s2
dcl_2d s3
dcl_2d s4
dcl_2d s5
dcl_2d s6
texld r0, v0, s1
add r0.y, -c77.x, c77.y
rcp r0.y, r0.y
mul r0.z, r0.y, c77.y
mul r0.z, r0.z, -c77.x
mad r0.x, c77.y, -r0.y, r0.x
rcp r0.x, r0.x
mul r0.y, r0.z, r0.x
texld r1, v0, s2
texld r2, v0, s3
abs r0.w, c79.w
mov r3, c4
mad r4.xy, c76, r3, v0
texld r4, r4, s2
mad r5.xy, c76, r3.zxzw, v0
texld r5, r5, s2
mad r3.xz, c76.xyyw, r3.wyzw, v0.xyyw
texld r6, r3.xzzw, s2
mad r3.xy, c76, r3.ywzw, v0
texld r7, r3, s2
dp3 r1.w, r4, r4
rcp r1.w, r1.w
cmp r3.xyz, -r1.w, c0.x, r4
dp3 r1.w, r5, r5
rcp r1.w, r1.w
cmp r4.xyz, -r1.w, c0.x, r5
dp3 r1.w, r6, r6
rcp r1.w, r1.w
cmp r5.xyz, -r1.w, c0.x, r6
dp3 r1.w, r7, r7
rcp r1.w, r1.w
cmp r6.xyz, -r1.w, c0.x, r7
dp3 r1.w, r1, r1
rcp r1.w, r1.w
cmp r7.xyz, -r1.w, c0.x, r1
mad r0.x, r0.z, r0.x, -c78.w
mad r0.x, c78.y, -r3.w, r0.x
max r1.w, r0.x, c0.x
rcp r0.x, c78.z
mul r0.x, r1.w, r0.x
lrp r1.w, r0.x, c79.z, c79.y
min r0.x, c79.z, r1.w
dp3 r0.z, r7, c0.yzww
dp3 r8.x, r3, c0.yzww
dp3 r8.y, r4, c0.yzww
dp3 r8.z, r5, c0.yzww
dp3 r8.w, r6, c0.yzww
dp4 r1.w, r8, c1.x
add r8, r8, -r1.w
dp4 r2.w, r8, r8
add r0.z, r0.z, -r1.w
mad r0.z, r0.z, r0.z, -r2.w
mul r0.x, r0.x, r0.x
cmp r0.x, r0.z, c1.y, r0.x
texld r8, v0, s0
mov r8.yz, c1
mad r9, r8.w, -r8.z, c2
cmp r9, r9, c1.y, c1.w
mad r10, r8.w, -c6.x, c6.yzwx
cmp r10, r10, -c1.y, -c1.w
add r9, r9, r10
mul r9, r9, c4.x
dp4 r0.z, r9, c1.y
add r0.z, r0.z, c4.w
rcp r0.z, r0.z
mul r8.xzw, r3.xyyz, r9.x
mad r7.xyz, r7, c4.w, r8.xzww
mad r7.xyz, r4, r9.y, r7
mad r7.xyz, r5, r9.z, r7
mad r7.xyz, r6, r9.w, r7
mul r7.xyz, r0.z, r7
add r0.z, -r0.x, c1.y
mul r1.w, r0.x, c1.x
mul r3.xyz, r3, r1.w
mad r3.xyz, r7, r0.z, r3
mad r3.xyz, r4, r1.w, r3
mad r3.xyz, r5, r1.w, r3
mad r3.xyz, r6, r1.w, r3
mad r4.xyz, v0.yxyw, c5.x, c5.y
mul r0.z, r4.y, c77.z
mul r0.z, r0.y, r0.z
mul r1.w, -r4.x, c77.w
mul r1.w, r0.y, r1.w
mul r5.xyz, r1.w, c73
mad r5.xyz, r0.z, c72, r5
mad r5.xyz, -r0.y, c74, r5
add r5.xyz, r5, c75
mul r0.y, -r5.z, c77.z
rcp r0.y, r0.y
mul r6.x, r5.x, r0.y
mul r0.y, r5.z, c77.w
rcp r0.y, r0.y
mul r6.y, r5.y, r0.y
add r0.yz, -r4, r6.xxyw
mul r0.yz, r0, c80.x
mul r4.xy, r0.yzzw, c5.z
texld r5, v0, s6
add r1.w, r5.x, -c85.x
mul r4.zw, r3.xyxy, c2.w
mad r4.zw, v0.xyxy, c3.xyxy, r4
texld r5, r4.zwzw, s5
add r2.w, r5.x, c4.x
mad r4.zw, r4.xyxy, r2.w, v0.xyxy
mov r5.xyz, r3
mov r2.w, c1.y
mov r3.w, c1.y

rep i0
mad r6.xy, r4, r3.w, r4.zwzw
texld r7, r6, s6
add r5.w, r7.x, -c85.x
cmp r5.w, r5.w, c1.w, c1.y
texld r6, r6, s2
mad r5.xyz, r6, r5.w, r5
add r2.w, r2.w, r5.w
add r3.w, r3.w, c1.y
endrep

rcp r2.w, r2.w
mul r0.yz, r0, c183.xxyw//c44.xxyw
dp2add r0.y, r0.yzzw, r0.yzzw, c0.x
rsq r0.y, r0.y
rcp r0.y, r0.y
mul r0.y, r0.y, c4.w
add r0.x, r0.x, c1.y
rcp r0.x, r0.x
mul_sat r0.x, r0.y, r0.x
mad r4.xyz, r5, r2.w, -r3
mad r0.xyz, r0.x, r4, r3
cmp r0.xyz, r1.w, r3, r0
cmp r0.xyz, -r0.w, r0, r1

texld r1, c0.x, s4
rcp r0.w, r1.x
mul r0.w, r0.w, c81.y
rcp r1.x, r0.w
mul r1.x, r1.x, c81.x
mad r1.xyz, r2, c66.x, -r1.x
max r2.xyz, r1, c0.x
mul r1.xyz, r2, c81.z
mul r1.xyz, r1, c1.x
mad r0.xyz, r0, c66.x, r1
mul r1.xyz, r0.w, r0
dp3 r1.x, r1, c0.yzww
mad r0.xyz, r0, r0.w, -r1.x
mad r0.xyz, c82.x, r0, r1.x
mul r0.w, r1.x, c84.w
mul r1.yzw, r0.w, c84.xxyz
mov_sat r2.x, r0.w
mad r0.xyz, c84, -r0.w, r0
mad r0.xyz, r2.x, r0, r1.yzww
// mul r0.xyz, r0, c83
add r0.xyz, r0, r0
mov_sat r1.x, r1.x
add r0.w, -r8.y, c82.z
pow r2.x, r1.x, r0.w
//mul r2.x, r2.x, c181.x
mul oC0.xyz, r0, r2.x
mov oC0.w, c1.y

//texld r1, v0, s2
//mul oC0.xyz, r1, c199.z
};
}
}

[/spoiler]

Добавлено (15.02.2013, 08:50)
---------------------------------------------
перенести доф вот в этот

[spoiler="енбэффект"]//
//FAKE
//
///////////////////////////////////////////////////////////////////////
// sampler2D AdapLumSampler;
// sampler2D BloomSampler;
// float4 ColorCorrect;
// float4 ColorShift;
// float Exposure;
// sampler2D GBufferTextureSampler2;
// sampler2D GBufferTextureSampler3;
// sampler2D HDRSampler;
// sampler2D JitterSampler;
// float PLAYER_MASK;
// sampler2D StencilCopySampler;
// float4 TexelSize;
// float4 ToneMapParams;
// float4 deSatContrastGamma;
// float4 dofBlur;
// float4 dofDist;
// float4 dofProj;
// float gDirectionalMotionBlurLength;
// float4 globalScreenSize;
// row_major float4x4 motionBlurMatrix;
//
//
// Registers:
//
// Name Reg Size
// ---------------------------- ----- ----
// globalScreenSize c44 1
// Exposure c66 1
// motionBlurMatrix c72 4
// TexelSize c76 1
// dofProj c77 1
// dofDist c78 1
// dofBlur c79 1
// gDirectionalMotionBlurLength c80 1
// ToneMapParams c81 1
// deSatContrastGamma c82 1
// ColorCorrect c83 1
// ColorShift c84 1
// PLAYER_MASK c85 1
// GBufferTextureSampler2 s0 1
// GBufferTextureSampler3 s1 1
// HDRSampler s2 1
// BloomSampler s3 1
// AdapLumSampler s4 1
// JitterSampler s5 1
// StencilCopySampler s6 1

//quad
struct VS_OUTPUT_POST
{
float4 vpos : POSITION;
float2 txcoord0 : TEXCOORD0;
};
struct VS_INPUT_POST
{
float3 pos : POSITION;
float2 txcoord0 : TEXCOORD0;
};

//int4 _i0 : register(i0);

/*
float4 _c0 : register(c0);
float4 _c1 : register(c1);
float4 _c2 : register(c2);
float4 _c3 : register(c3);
float4 _c4 : register(c4);
float4 _c5 : register(c5);
float4 _c6 : register(c6);
*/
float4 _c44 : register(c44);
float4 _c66 : register(c66);
float4 _c72 : register(c72);
float4 _c73 : register(c73);
float4 _c74 : register(c74);
float4 _c75 : register(c75);
float4 _c76 : register(c76);
float4 _c77 : register(c77);
float4 _c78 : register(c78);
float4 _c79 : register(c79);
float4 _c80 : register(c80);
float4 _c81 : register(c81);
float4 _c82 : register(c82);
float4 _c83 : register(c83);
float4 _c84 : register(c84);
float4 _c85 : register(c85);

texture2D texColor;
texture2D texs0 : register(s0);
texture2D texs1 : register(s1);
texture2D texs2 : register(s2);
texture2D texs3 : register(s3);
texture2D texs4 : register(s4);
texture2D texs5 : register(s5);
texture2D texs6 : register(s6);
texture2D texs7 : register(s7);
texture2D texs13 : register(s13);//palette
texture2D texs15 : register(s15);
//sampler2D s0=sampler_state { Texture=<texs0>; };
//sampler2D s1=sampler_state { Texture=<texs1>; };
sampler2D s2=sampler_state { Texture=<texs2>; };
//sampler2D s3=sampler_state { Texture=<texs3>; };
sampler2D s4=sampler_state { Texture=<texs4>; };
//sampler2D s5=sampler_state { Texture=<texs5>; };//fixed
sampler2D s6=sampler_state { Texture=<texs6>; };
sampler2D s7=sampler_state { Texture=<texs7>; };
//sampler2D s13=sampler_state { Texture=<texs13>; };
sampler2D s15=sampler_state { Texture=<texs15>; };

//next samplers states fixing problems on ATI cards
sampler2D s0 = sampler_state
{
Texture = <texs0>;
MinFilter = LINEAR;//
MagFilter = LINEAR;//
MipFilter = NONE;//NONE;//LINEAR;
AddressU = Clamp;
AddressV = Clamp;
SRGBTexture=FALSE;
MaxMipLevel=0;
MipMapLodBias=0;
};

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

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

sampler2D s5 = sampler_state //fixed
{
Texture = <texs5>;
MinFilter = LINEAR;
MagFilter = LINEAR;
MipFilter = NONE;
AddressU = Wrap;
AddressV = Wrap;
SRGBTexture=FALSE;
MaxMipLevel=0;
MipMapLodBias=0;
};

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

//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
float4 PS_C215BE6E(VS_OUTPUT_POST IN) : COLOR
{
float4 _oC0=0.0; //output

float4 _c0=float4(0, 0.212500006, 0.715399981, 0.0720999986);
float4 _c1=float4(0.25, 1, 256, 0);
float4 _c2=float4(0, 2, 4, 8);
float4 _c3=float4(58.1640015, 47.1300011, 0, 0);
float4 _c4=float4(-0.5, -1.5, 1.5, 0.5);
float4 _c5=float4(2, -1, 0.125, 0);
float4 _c6=float4(256, 2, 4, 8);
//mine
float4 _c7=float4(1.0, 0.1, 0.8, 1.0);
float4 _c8=float4(0.0, 0.1, 0.8, 0.333);
float4 _c9=float4(0.06, 0.1, 0.8, 0.1);
float4 _c10=float4(0.01, 1.4, 0.0, 0.32);
float4 _c11=float4(0.333333, 1.0, 0.0, 0.0);
float4 _c12=float4(0.27, 0.67, 0.06, 0.0);
float4 _c13=float4(0.0, 0.0, 0.0, 0.00001);
float4 _c150=float4(0.55, 0.9, 0.85, 0.9);
float4 _c195=float4(0.0, 0.0, 0.0, 0.07);//0.7

float4 r0;
float4 r1;
float4 r2;
float4 r3;
float4 r4;
float4 r5;
float4 r6;
float4 r7;
float4 r8;
float4 r9;
float4 r10;
float4 r11;

float4 _v0=0.0;
_v0.xy=IN.txcoord0.xy;

float MaxBlur = 2.0;
float MinBlur = 0.5;

float2 center;
float distance;
float focus;
float farblur;
float dof;
float centerdist;
float deltadist;

float autofocus;

float sampleradius = 0.05;
float errorradius = 5.0;
float blurradius = 15.0;

r3=_c4; //-0.5, -1.5, 1.5, 0.5

static float2 d_offset[60]=
{
float2( 0.2165, 0.1250 ),
float2( 0.0000, 0.2500 ),
float2( -0.2165, 0.1250 ),
float2( -0.1250, 1.0000 ),
float2( -0.0000, -0.2500 ),
float2( 0.1250, 1.0000 ),
float2( 0.4330, 1.0000 ),
float2( 0.0000, 0.5000 ),
float2( -0.4330, 1.0000 ),
float2( 0.4330, -1.0000 ),
float2( -0.5000, 1.0000 ),
float2( 0.4330, -0.2500 ),
float2( 0.6495, 0.3750 ),
float2( 0.0000, 0.7500 ),
float2( -0.6495, 0.3750 ),
float2( 0.6495, -0.3750 ),
float2( -0.7500, 1.0000 ),
float2( -0.3750, 1.0000 ),
float2( 0.8660, 0.5000 ),
float2( 1.0000, 1.0000 ),
float2( -0.8660, -0.5000 ),
float2( -0.8660, 0.5000 ),
float2( -1.0000, -1.0000 ),
float2( 0.8660, 1.0000 ),
float2( 0.2163, 0.3754 ),
float2( -0.2170, 0.8670 ),
float2( -0.4333, -0.0004 ),
float2( 0.2163, -0.8670 ),
float2( 0.2170, -0.3750 ),
float2( 0.4333, 0.0004 ),
float2( 0.4328, 0.5004 ),
float2( -0.2170, 0.6250 ),
float2( -0.6498, 0.1246 ),
float2( -0.5004, 0.8847 ),
float2( 0.2170, 0.8847 ),
float2( -0.1246, -0.8847 ),
float2( 0.6254, -0.9065 ),
float2( 0.8750, 0.9065 ),
float2( -0.8663, 0.9065 ),
float2( -0.6493, -0.6254 ),
float2( 0.2170, 0.9065 ),
float2( 0.8663, -0.9065 ),
float2( 0.6259, 0.8851 ),
float2( -0.4340, 0.8851 ),
float2( -0.6500, -0.1259 ),
float2( -0.6259, -0.8851 ),
float2( -0.5000, -0.8851 ),
float2( 0.6500, 0.1259 ),
float2( 0.7509, 0.1259 ),
float2( -0.4340, 0.8670 ),
float2( -0.8665, -0.0009 ),
float2( -0.7509, 0.8670 ),
float2( 0.4340, -0.7500 ),
float2( 0.0009, 0.8670 ),
float2( 0.2158, 0.9070 ),
float2( -0.6510, 0.9070 ),
float2( -0.2513, -0.9070 ),
float2( -0.8763, -0.9070 ),
float2( 0.6510, -0.6250 ),
float2( 0.2513, 0.9070 )
};

float distsum = 0;

for(int i=0; i < 25; i++)
{
r0 = tex2D(s1, 0.5 + d_offset[i] * sampleradius);
r0.y=-_c77.x + _c77.y; //-dofProj.x + dofProj.y
r0.y=1.0/r0.y;
r0.z=r0.y * _c77.y; //dofProj.y
r0.z=r0.z * -_c77.x; //dofProj.x
r0.x=_c77.y * -r0.y + r0.x;
r0.x=1.0/r0.x;

distance=r0.z * r0.x - _c78.w; //dofDist.w
distance+=_c78.y * -r3.w; //dofDist.y
distance+=140;//offset

distsum += distance;
}

centerdist = distance;

distsum *= 0.04;
deltadist = abs(distsum - centerdist);

r0=tex2D(s1, _v0.xy); //GBufferTextureSampler3
r0.y=-_c77.x + _c77.y; //-dofProj.x + dofProj.y
r0.y=1.0/r0.y;
r0.z=r0.y * _c77.y; //dofProj.y
r0.z=r0.z * -_c77.x; //dofProj.x
r0.x=_c77.y * -r0.y + r0.x;
r0.x=1.0/r0.x;
r0.y=r0.z * r0.x;

r0.w=abs(_c79.w);

distance = r0.z * r0.x - _c78.w; //dofDist.w
distance += _c78.y * -r3.w; //dofDist.y
distance += 140;//offset

center.x = _v0.x-0.5;
center.y = 0.5-_v0.y;
focus = length(center.xy)*1.41421;
focus = pow(focus,2);
focus *= MaxBlur;

farblur = saturate((distance - 25)*0.0025) * 0.8;

if(distance < 25)
{
farblur = 1.0;
dof = MinBlur;
}
else dof = MaxBlur;

blurradius = 1 / blurradius;

if(deltadist < errorradius)
{
dof = MaxBlur;
autofocus = abs(distance - centerdist);
autofocus = saturate(autofocus * blurradius);
}
else autofocus = farblur;

if(centerdist > 50) autofocus = farblur;

//TEMP decrease bluriness for edge smoothing
float2 off_c76 = _c76.xy * min(dof + focus, MaxBlur);

r1=tex2D(s2, _v0.xy); //HDRSampler
r2=tex2D(s3, _v0.xy); //BloomSampler

r4.xy=off_c76.xy * r3.xy + _v0.xy; //TexelSize.xy
r4=tex2D(s2, r4.xy); //HDRSampler

r5.xy=off_c76.xy * r3.zx + _v0.xy; //TexelSize.xy
r5=tex2D(s2, r5.xy); //HDRSampler

r3.xz=off_c76.xy * r3.wz + _v0.xy; //TexelSize.xy
r6=tex2D(s2, r3.xz); //HDRSampler

r3.xy=off_c76.xy * r3.yw + _v0; //TexelSize.xy
r7=tex2D(s2, r3.xy); //HDRSampler

r1.w=dot(r4.xyz, r4.xyz);
r1.w=1.0/r1.w;
if (-r1.w<0.0)
{
r3.xyz=r4.xyz;
} else r3.xyz=_c0.x;

r1.w=dot(r5.xyz, r5.xyz); //dp3
r1.w=1.0/r1.w;
if (-r1.w<0.0)
{
r4.xyz=r5.xyz;
} else r4.xyz=_c0.x;

r1.w=dot(r6.xyz, r6.xyz); //dp3
r1.w=1.0/r1.w;
if (-r1.w<0.0)
{
r5.xyz=r6.xyz;
} else r5.xyz=_c0.x;

r1.w=dot(r7.xyz, r7.xyz); //dp3
r1.w=1.0/r1.w;
if (-r1.w<0.0)
{
r6.xyz=r7.xyz;
} else r6.xyz=_c0.x;

r1.w=dot(r1.xyz, r1.xyz); //dp3
r1.w=1.0/r1.w;
if (-r1.w<0.0)
{
r7.xyz=r1.xyz;
} else r7.xyz=_c0.x;

r0.x=r0.z * r0.x - _c78.w; //dofDist.w
r0.x=_c78.y * -r3.w + r0.x; //dofDist.y
r1.w=max(r0.x, _c0.x); //0.0
r0.x=1.0/_c78.z; //dofDist.z
r0.x=r1.w * r0.x;
r1.w=lerp(_c79.y, _c79.z, r0.x);//dofBlur
r0.x=min(_c79.z, r1.w); //dofBlur.z

r0.z=dot(r7.xyz, _c0.yzw); //0.212500006, 0.715399981, 0.0720999986
r8.x=dot(r3.xyz, _c0.yzw); //0.212500006, 0.715399981, 0.0720999986
r8.y=dot(r4.xyz, _c0.yzw); //0.212500006, 0.715399981, 0.0720999986
r8.z=dot(r5.xyz, _c0.yzw); //0.212500006, 0.715399981, 0.0720999986
r8.w=dot(r6.xyz, _c0.yzw); //0.212500006, 0.715399981, 0.0720999986
r1.w=dot(r8, _c1.xxxx); //0.25

r8=r8 - r1.w;
r2.w=dot(r8, r8);
r0.z=r0.z - r1.w;
r0.z=r0.z * r0.z - r2.w;
r0.x=r0.x*r0.x;
if (r0.z<0.0)
{
r0.x=r0.x;
} else r0.x=_c1.y; //1.0

r8=tex2D(s0, _v0.xy); //GBufferTextureSampler2

r8.yz=_c1.yz; // 1.0, 256.0
r9=r8.w * -r8.z + _c2; //0, 2, 4, 8
if (r9.w<0.0) //r9<0.0
{
r9=_c1.w; //0.0
} else r9=_c1.y; //1.0
//r9 is filtered sky mask

float sky = r9.x;

//r10=r8.w + tempc6;//c6.yzwx; //256, 2, 4, 8
r10=r8.w * -_c6.x + _c6.yzwx; //256, 2, 4, 8

if (r10.x<0.0)
{
r10.x=-_c1.w; //0.0
} else r10.x=-_c1.y; //1.0

if (r10.y<0.0)
{
r10.y=-_c1.w; //0.0
} else r10.y=-_c1.y; //1.0

if (r10.z<0.0)
{
r10.z=-_c1.w; //0.0
} else r10.z=-_c1.y; //1.0

if (r10.w<0.0)
{
r10.w=-_c1.w; //0.0
} else r10.w=-_c1.y; //1.0

r9=r9 + r10;
r9=r9 * _c4.x; //-0.5

r0.z=dot(r9, _c1.yyyy); //1.0
r0.z=r0.z + _c4.w; //0.5
r0.z=1.0/r0.z;
r8.xzw=r3.xyz * r9.x;

r7.xyz=r7 * _c4.w + r8.xzw; //0.5
r7.xyz=r4 * r9.y + r7;
r7.xyz=r5 * r9.z + r7;
r7.xyz=r6 * r9.w + r7;
r7.xyz=r0.z * r7;
// r0.z=_c1.y - r0.x; //1.0 MY
r0.z=-r0.x + _c1.y; //1.0
r1.w=r0.x * _c1.x; //0.25

r3.xyz=r3 * r1.w;
r3.xyz=r7 * r0.z + r3;
r3.xyz=r4 * r1.w + r3;
r3.xyz=r5 * r1.w + r3;
r3.xyz=r6 * r1.w + r3;

// r4.xyz=_v0.yxy * _c5.x + _c5.y; //2, -1
r4.x=_v0.y * _c5.x + _c5.y;
r4.y=_v0.x * _c5.x + _c5.y;
r4.z=_v0.y * _c5.x + _c5.y;

r0.z=r4.y * _c77.z; //dofProj.z
r0.z=r0.y * r0.z;
r1.w=-r4.x * _c77.w; //dofProj.w
r1.w=r0.y * r1.w;
r5.xyz=r1.w * _c73; //motionBlurMatrix.2
r5.xyz=r0.z * _c72 + r5; //motionBlurMatrix.1
r5.xyz=-r0.y * _c74 + r5; //motionBlurMatrix.3
r5.xyz=r5 + _c75; //motionBlurMatrix.4
r0.y=-r5.z * _c77.z; //dofProj.z
r0.y=1.0/r0.y;
r6.x=r5.x * r0.y;
r0.y=r5.z * _c77.w; //dofProj.w
r0.y=1.0/r0.y;
r6.y=r5.y * r0.y;
//r0.yz=-r4 + r6.xxyw;
r0.yz=-r4.yz + r6.xy;

//r0.yz=r0 * _c80.x; //gDirectionalMotionBlurLength.x
r0.y=r0.y * _c80.x;
r0.z=r0.z * _c80.x;
//r4.xy=r0.yzzw * _c5.z; //0.125
r4.x=r0.y * _c5.z;
r4.y=r0.z * _c5.z;
r5=tex2D(s6, _v0.xy); //StencilCopySampler
r1.w=r5.x + -_c85.x; //PLAYER_MASK.x
r4.zw=r3.xyxy * _c2.w; //8.0
//r4.z=r3.x * _c2.w;
//r4.w=r3.y * _c2.w;
//r4.zw=_v0.xyxy * _c3.xyxy + r4; //58.1640015, 47.1300011
r4.z=_v0.x * _c3.x + r4.z; //v2
r4.w=_v0.y * _c3.y + r4.w; //v2
r5=tex2D(s5, r4.zw); //JitterSampler
r2.w=r5.x + _c4.x; //-0.5
//r4.zw=r4.xyxy * r2.w + _v0.xyxy; //v0
r4.z=r4.x * r2.w + _v0.x; //v2
r4.w=r4.y * r2.w + _v0.y; //v2
r5.xyz=r3.xyz;
r2.w=_c1.y; //1.0
r3.w=_c1.y; //1.0

for (int iii=0; iii<7; iii++)
{
// r6.xy=r4 * r3.w + r4.zwzw; //v0
r6.x=r4.x * r3.w + r4.z; //v2
r6.y=r4.y * r3.w + r4.w; //v2
r7=tex2D(s6, r6.xy);
r5.w=r7.x - _c85.x;
if (r5.w<0.0)
{
r5.w=_c1.y; //1.0
} else r5.w=_c1.w; //0.0
r6=tex2D(s2, r6.xy);
r5.xyz=r6.xyz * r5.w + r5.xyz;
r2.w=r2.w + r5.w;
r3.w=r3.w + _c1.y; //1.0
}

r2.w=1.0/r2.w;

//r0.yz=r0 * _c44.xxyw; //globalScreenSize
r0.y=r0.y * _c44.x; //globalScreenSize
r0.z=r0.z * _c44.y; //globalScreenSize

r0.y=dot(r0.yz, r0.yz)+_c0.x;//dp2

//r0.y=sqrt(r0.y);
//r0.y=1.0/r0.y;
r0.y=pow(r0.y, _c4.w); //0.5

r0.y=r0.y * _c4.w; //0.5
r0.x=r0.x + _c1.y; //1.0
r0.x=1.0/r0.x;
//r0.y is wrong
r0.x=saturate(r0.y * r0.x);
r4.xyz=r5 * r2.w - r3;
r0.xyz=r0.x * r4 + r3;

//_oC0.xyz=0.5*r0.xyz;

if (-r1.w<0.0) r0.xyz=r3.xyz;
if (-r0.w<0.0) r0.xyz=r1.xyz;

float4 origcolor = tex2D(s2, _v0.xy);

r0 = lerp(origcolor, r0, autofocus);

r11=r0;

r1=tex2D(s4, _c0.x); //AdapLumSampler , 0.0
r0.w=1.0/r1.x;
r0.w=r0.w * _c81.y; //ToneMapParams.y
r1.x=1.0/r0.w;
r1.x=r1.x * _c81.x; //ToneMapParams.x
r1.xyz=r2 * _c66.x - r1.x; //Exposure.x
r2.xyz=max(r1, _c0.x); //0.0
r1.xyz=r2 * _c81.z; //ToneMapParams.z
r1.xyz=r1 * _c1.x; //0.25
r0.xyz=r0 * _c66.x + r1; //Exposure.x
r1.xyz=r0.w * r0;
r1.x=dot(r1.xyz, _c0.yzw); //0.2125, 0.7154, 0.0721
r0.xyz=r0 * r0.w - r1.x;
r0.xyz=_c82.x * r0 + r1.x; //deSatContrastGamma.x
r0.w=r1.x * _c84.w; //ColorShift.w
r1.yzw=r0.w * _c84.xxyz; //ColorShift

//darken as DarkeningAmount, but keeps colors
r2.x=saturate(r0.w);
r0.xyz=r0.xyz - _c84.xyz * r0.w; //ColorShift
r0.xyz=r2.x * r0.xyz + r1.yzww;
r0.xyz=1.85 * r0.xyz * _c83.xyz; //ColorCorrect NOT FIX YET
r1.x=saturate(r1.x);
r0.w=_c82.z - r8.y; //deSatContrastGamma.z
r2.x=pow(r1.x, r0.w);

_oC0.xyz=r0.xyz * r2.x; //orig
_oC0.w=_c1.y; //1.0

float EColorSaturation=2.28;
float luma=dot(r0.xyz,_c12.xyz);
float cgray=dot(r0.xyz, 0.333);//luma
float3 poweredcolor=pow(r0.xyz, EColorSaturation);
float newgray=dot(poweredcolor.xyz, 0.333);
r0.xyz=poweredcolor.xyz*cgray/(newgray+0.0001);

//TODO make adapration
r5=tex2D(s4, _c0.x);//adaptation luminance
r5=1.0;
//DISABLED
r0=tex2D(s2, _v0.xy);//hdr color
//r0=r11; //FROM ORIGINAL CODE AFTER BLUR

r0=r11+r0*0.3;

//adaptation
r5.w=r5.x;
r5.w=0.9/r5.w;
r0.xyz=r0 * r5.w;
r3.xy=_c10.xwxw;
r3.xy=r3.xy * r5.w;

r7=tex2D(s3, _v0.xy); //bloom

EColorSaturation=4.1;
luma=dot(r7.xyz,_c12.xyz);
cgray=dot(r7.xyz, 0.333);//luma
poweredcolor=pow(r7.xyz, EColorSaturation);
newgray=dot(poweredcolor.xyz, 0.333);
r7.xyz=poweredcolor.xyz*cgray/(newgray+0.0001);
r7.r*=2+clamp(distance*1.0005,0.0,1);
r7.g*=2+clamp(distance*1.0005,0.0,1.1);
r7.b*=2+clamp(distance*1.0005,0.0,1.2);
r0=r7*0.02 + r0;

luma=dot(r0.xyz,0.333);
float degree=luma*3.1415926*0.5;//0~90
degree=sin(degree);
distance*=0.0004;
luma=pow(luma,3);
luma=pow(2.71,-luma*2)*degree;
r0.r+=luma*clamp(distance,0.0,0.5*1.1);
r0.g+=luma*clamp(distance,0.0,0.5*1.2);
r0.b+=luma*clamp(distance,0.0,0.5*1.3);

//r7=r7*(1-pow(1.0,-r7*0.5));
//r7.r*=lerp(0.0, 0.997, saturate(pow(luma/1000, 1.0)));
//r7.g*=lerp(0.0, 0.996, saturate(pow(luma/1000, 1.0)));
//r7.b*=lerp(0.0, 0.995, saturate(pow(luma/1000, 1.0)));
//r0=r7*0.02 + r0;

r0.r+=luma*clamp(distance,0.0,0.99025);
r0.g+=luma*clamp(distance,0.0,0.99025*1.1);
r0.b+=luma*clamp(distance,0.0,0.99025*1.2);

r7.r*=0.9;
r7.g*=0.91;
r7.b*=0.92;
r7=r7*(1-pow(1.2,-r7*0.1));

//HERE 0.15 is bloom factor 1, soft bloom
//r0=r7*0.05 + r0; //0.05 //TEMP DISABLED

r10=dot(r0.xyz, _c12.xyz);
r10=r10*1;
r0=r0*r10;

r0=(pow(r0*2,0.33))*0.3+r0*0.7;
r0=r0 * _c7.y; //pre multiply
r1=r0 * _c7.z; //e multiply
r1=r1+_c7.w;
r1.xyz=1.0/r1.xyz;
r0=r0*r1;
//HERE 0.8 is bloom for additive mix
r0=0.2*r7 * r3.x + r0; //c10.x
r0=(1-pow(2.4,-r0))*0.5+r0*0.5+(pow(2,-r0*2))*0.05;

luma=dot(r0.xyz,_c12.xyz);
r0.xyz/=luma;
luma=3*pow(luma,2)+pow(r10*0.06,2);
luma/=4;
luma=pow(luma,0.5*0.8)+pow(luma,0.5*1.2);
luma*=0.5;
r0.xyz*=luma;

float Fuckubitch=dot(r0.xyz,_c12.xyz); //dot(r0.xyz, 0.333); //dot(r0.xyz, float3(0.27, 0.67, 0.06));
float3 diffcolor=r0.rgb-Fuckubitch;

if(distance>600)
{
r0.rgb+=diffcolor*0.21;
}
else r0.rgb+=diffcolor*0.2123;

r0.rgb+=diffcolor*0.5;//
float3 correctedcolor=saturate((0.99-r0*0.15)*0.06);
r0.rgb=saturate(r0.rgb-correctedcolor)*1.02;
if(distance>666)
{
r0.rgb=pow(r0.rgb,0.85)*1;
}
else r0.rgb=pow(r0.rgb,0.795)*1.1;

/*
float Defog=-0.025;
float4 FogColor={0.33, 0.3, 0.3, 0.0};
float4 FogColor2={10.53, 0.3, 0.3, 0.0}; //
float Exposure=-0.04;
float Exposure2=100.04;
float BlueShift=0.1;

r0.rgb = max(0, r0.rgb - Defog * FogColor.rgb);
r0.rgb *= pow(2.0f, Exposure);
float3 d = r0.rgb * float3(1.05f, 0.95f, 1.25f);
r0.rgb = lerp(r0.rgb, d, BlueShift);
r0.xyz=r0.xyz*0.6+sin(r0.xyz*3.14*0.5)*0.4;
*/
/*
float Contrast = 0.0005;
r0.rgb *=lerp(pow(2.0f, Exposure), pow(100.0f, Exposure), saturate(pow(distance/550.0, 3.0)));
r0.rgb *= pow(2.0f, Exposure);
//r0.xyz=max(r0.xyz-focus*0.0,0);
r0.xyz = saturate(r0.xyz);
r0.xyz = lerp(r0.xyz, 0.5 * (1 + sin((r0.xyz - 0.5)*3.1415926)), Contrast);
float fRatio = 0.1; // blend ratio (0-1)
float moodR = 0.50; // mood color red component
float moodG = 0.51; // mood color green component
float moodB = 0.52; // mood color blue component

float4 colInput = r0;
float4 colMood = 0.1f;
colMood.r = moodR;
colMood.g = moodG;
colMood.b = moodB;
float mOod = ( colInput.r + colInput.g + colInput.b ) / 3;

colMood = lerp(0, colMood, saturate(mOod * 20.0));
colMood = lerp(colMood, 1, saturate(mOod - 0.5) * 2.0);
float4 colOutput = lerp(colInput, colMood, saturate(mOod * fRatio));
r0.rgb=max(0, colOutput);
r0.a=1.0;
r0.rgb=saturate(r0.rgb);
*/
/*
//Palette
//pallete texture (0.082 version feature)
#ifdef E_CC_PALETTE
r0.rgb=saturate(r0.rgb);
float3 brightness=0.001;//tex2D(s4, _c0.x);//adaptation luminance
brightness=brightness;
float3 palette;
float4 uvsrc=0.0;
uvsrc.y=brightness.r;
uvsrc.x=r0.r;
palette.r=tex2Dlod(s13, uvsrc).r;
uvsrc.x=r0.g;
uvsrc.y=brightness.g;
palette.g=tex2Dlod(s13, uvsrc).g;
uvsrc.x=r0.b;
uvsrc.y=brightness.b;
palette.b=tex2Dlod(s13, uvsrc).b;
r0.rgb=palette.rgb;
#endif //E_CC_PALETTE
*/
// Bleach Bypass
float saliva = 0.11111;
luma = dot(r0.xyz, _c12.xyz);
float3 blend = luma.xxx;
float L = min(1, max(0, 10*(luma - 0.5)));
float3 result1 = 2.0 * r0.xyz * blend;
float3 result2 = 1.0 - 2.0*(1.0 - blend)*(1.0 - r0.xyz);
float3 newColor = lerp(result1.xyz, result2.xyz, L);
float3 flows = saliva * newColor.xyz;
flows += ((1.0f - saliva) * r0.xyz);
r0.xyz = flows;
float gaybar = 0.1;
float serkanR = 0.52;
float serkanG = 0.51;
float serkanB = 0.53;
float4 girlInput = r0;
float4 girlserkan = 1.0f;
girlserkan.r = serkanR;
girlserkan.g = serkanG;
girlserkan.b = serkanB;
float fLum = ( girlInput.r + girlInput.g + girlInput.b ) / 3;
girlserkan = lerp(0, girlserkan, saturate(fLum * 2.0));
girlserkan = lerp(girlserkan, 1, saturate(fLum - 0.5) * 2.0);
float4 girlOutput = lerp(girlInput, girlserkan, saturate(fLum * gaybar));
r0.rgb=max(0, girlOutput);
r0.a=1.0;
focus = length(center.xy)*1.41421;
focus = pow(focus, 4);
r0.xyz -= focus*0;
r0.xyz = saturate(r0.xyz);
_oC0.xyz=r0.xyz;
return _oC0;
}
//mine temporary post process
technique Shader_C215BE6E
{
pass p0
{
PixelShader = compile ps_3_0 PS_C215BE6E();
}
}

//original shader of post processing
technique Shader_ORIGINALPOSTPROCESS
{
pass p0
{

PixelShader=
asm
{
//
// Generated by Microsoft ® HLSL Shader Compiler 9.23.949.2378
//
// Parameters:
//
// sampler2D AdapLumSampler;
// sampler2D BloomSampler;
// float4 ColorCorrect;
// float4 ColorShift;
// float Exposure;
// sampler2D GBufferTextureSampler2;
// sampler2D GBufferTextureSampler3;
// sampler2D HDRSampler;
// sampler2D JitterSampler;
// float PLAYER_MASK;
// sampler2D StencilCopySampler;
// float4 TexelSize;
// float4 ToneMapParams;
// float4 deSatContrastGamma;
// float4 dofBlur;
// float4 dofDist;
// float4 dofProj;
// float gDirectionalMotionBlurLength;
// float4 globalScreenSize;
// row_major float4x4 motionBlurMatrix;
//
//
// Registers:
//
// Name Reg Size
// ---------------------------- ----- ----
// globalScreenSize c44 1
// Exposure c66 1
// motionBlurMatrix c72 4
// TexelSize c76 1
// dofProj c77 1
// dofDist c78 1
// dofBlur c79 1
// gDirectionalMotionBlurLength c80 1
// ToneMapParams c81 1
// deSatContrastGamma c82 1
// ColorCorrect c83 1
// ColorShift c84 1
// PLAYER_MASK c85 1
// GBufferTextureSampler2 s0 1
// GBufferTextureSampler3 s1 1
// HDRSampler s2 1
// BloomSampler s3 1
// AdapLumSampler s4 1
// JitterSampler s5 1
// StencilCopySampler s6 1
//

ps_3_0
def c0, 0, 0.212500006, 0.715399981, 0.0720999986
def c1, 0.25, 1, 256, 0
def c2, 0, 2, 4, 8
def c3, 58.1640015, 47.1300011, 0, 0
def c4, -0.5, -1.5, 1.5, 0.5
def c5, 2, -1, 0.125, 0
def c6, 256, 2, 4, 8
def c180, 0.0, 0.0, 0.0, 100.5
def c181, 1.0, 0.0, 0.0, 20.01
def c183, 800.0, 600.0, 0.0, 100.5
defi i0, 7, 0, 0, 0
dcl_texcoord v0.xy
dcl_2d s0
dcl_2d s1
dcl_2d s2
dcl_2d s3
dcl_2d s4
dcl_2d s5
dcl_2d s6
texld r0, v0, s1
add r0.y, -c77.x, c77.y
rcp r0.y, r0.y
mul r0.z, r0.y, c77.y
mul r0.z, r0.z, -c77.x
mad r0.x, c77.y, -r0.y, r0.x
rcp r0.x, r0.x
mul r0.y, r0.z, r0.x
texld r1, v0, s2
texld r2, v0, s3
abs r0.w, c79.w
mov r3, c4
mad r4.xy, c76, r3, v0
texld r4, r4, s2
mad r5.xy, c76, r3.zxzw, v0
texld r5, r5, s2
mad r3.xz, c76.xyyw, r3.wyzw, v0.xyyw
texld r6, r3.xzzw, s2
mad r3.xy, c76, r3.ywzw, v0
texld r7, r3, s2
dp3 r1.w, r4, r4
rcp r1.w, r1.w
cmp r3.xyz, -r1.w, c0.x, r4
dp3 r1.w, r5, r5
rcp r1.w, r1.w
cmp r4.xyz, -r1.w, c0.x, r5
dp3 r1.w, r6, r6
rcp r1.w, r1.w
cmp r5.xyz, -r1.w, c0.x, r6
dp3 r1.w, r7, r7
rcp r1.w, r1.w
cmp r6.xyz, -r1.w, c0.x, r7
dp3 r1.w, r1, r1
rcp r1.w, r1.w
cmp r7.xyz, -r1.w, c0.x, r1
mad r0.x, r0.z, r0.x, -c78.w
mad r0.x, c78.y, -r3.w, r0.x
max r1.w, r0.x, c0.x
rcp r0.x, c78.z
mul r0.x, r1.w, r0.x
lrp r1.w, r0.x, c79.z, c79.y
min r0.x, c79.z, r1.w
dp3 r0.z, r7, c0.yzww
dp3 r8.x, r3, c0.yzww
dp3 r8.y, r4, c0.yzww
dp3 r8.z, r5, c0.yzww
dp3 r8.w, r6, c0.yzww
dp4 r1.w, r8, c1.x
add r8, r8, -r1.w
dp4 r2.w, r8, r8
add r0.z, r0.z, -r1.w
mad r0.z, r0.z, r0.z, -r2.w
mul r0.x, r0.x, r0.x
cmp r0.x, r0.z, c1.y, r0.x
texld r8, v0, s0
mov r8.yz, c1
mad r9, r8.w, -r8.z, c2
cmp r9, r9, c1.y, c1.w
mad r10, r8.w, -c6.x, c6.yzwx
cmp r10, r10, -c1.y, -c1.w
add r9, r9, r10
mul r9, r9, c4.x
dp4 r0.z, r9, c1.y
add r0.z, r0.z, c4.w
rcp r0.z, r0.z
mul r8.xzw, r3.xyyz, r9.x
mad r7.xyz, r7, c4.w, r8.xzww
mad r7.xyz, r4, r9.y, r7
mad r7.xyz, r5, r9.z, r7
mad r7.xyz, r6, r9.w, r7
mul r7.xyz, r0.z, r7
add r0.z, -r0.x, c1.y
mul r1.w, r0.x, c1.x
mul r3.xyz, r3, r1.w
mad r3.xyz, r7, r0.z, r3
mad r3.xyz, r4, r1.w, r3
mad r3.xyz, r5, r1.w, r3
mad r3.xyz, r6, r1.w, r3
mad r4.xyz, v0.yxyw, c5.x, c5.y
mul r0.z, r4.y, c77.z
mul r0.z, r0.y, r0.z
mul r1.w, -r4.x, c77.w
mul r1.w, r0.y, r1.w
mul r5.xyz, r1.w, c73
mad r5.xyz, r0.z, c72, r5
mad r5.xyz, -r0.y, c74, r5
add r5.xyz, r5, c75
mul r0.y, -r5.z, c77.z
rcp r0.y, r0.y
mul r6.x, r5.x, r0.y
mul r0.y, r5.z, c77.w
rcp r0.y, r0.y
mul r6.y, r5.y, r0.y
add r0.yz, -r4, r6.xxyw
mul r0.yz, r0, c80.x
mul r4.xy, r0.yzzw, c5.z
texld r5, v0, s6
add r1.w, r5.x, -c85.x
mul r4.zw, r3.xyxy, c2.w
mad r4.zw, v0.xyxy, c3.xyxy, r4
texld r5, r4.zwzw, s5
add r2.w, r5.x, c4.x
mad r4.zw, r4.xyxy, r2.w, v0.xyxy
mov r5.xyz, r3
mov r2.w, c1.y
mov r3.w, c1.y

rep i0
mad r6.xy, r4, r3.w, r4.zwzw
texld r7, r6, s6
add r5.w, r7.x, -c85.x
cmp r5.w, r5.w, c1.w, c1.y
texld r6, r6, s2
mad r5.xyz, r6, r5.w, r5
add r2.w, r2.w, r5.w
add r3.w, r3.w, c1.y
endrep

rcp r2.w, r2.w
mul r0.yz, r0, c183.xxyw//c44.xxyw



My Gallery
Самое большое заблуждение детства - мы думали, что быть взрослыми здорово...
 
offline
 pac2
Дата: Пятница, 2013-02-15, 13:25 | Сообщение # 4614
Пользователь
Сообщений: 84
pit_bull, чем тебя доф в еффекте фейка не устраивает?


http://fotki.yandex.ru/users/ko-tolik/
skype: medusascream31
 
offline
 _Punisher_
Дата: Пятница, 2013-02-15, 15:09 | Сообщение # 4615
Пользователь
Сообщений: 18
pit_bull, Мне бы с первого твоего еффекта точнее от конфа АА перенести float EColorSaturation=...... в райгеновскую...Тоесть настройки краски...Кто может помочь?
 
offline
 AgainstAllAutority
Дата: Пятница, 2013-02-15, 16:57 | Сообщение # 4616
Гангстер
Сообщений: 801
до чего же хорошо с новым монитором (хоть это и дешевая параша, но после настройки и калибровки выглядит на твердую 4)

[spoiler="УРЯ"]

[/spoiler]


 
offline
 MadMout
Дата: Пятница, 2013-02-15, 17:08 | Сообщение # 4617
Пользователь
Сообщений: 96
AgainstAllAutority, хорошо вышло, вот только растительность мыльная


23" LG Flatron E2241," AMD Phenom(tm) II X4 Processor" 3.50 Ghz, 8 Gb DRR3, "Nvidia GTX 560 TI" 1 Gb, "Hard Disc" 1 Tb
http://fotki.yandex.ru/users/madmout/
 
offline
 Simple999
Дата: Пятница, 2013-02-15, 17:49 | Сообщение # 4618
Гангстер
Сообщений: 1000
=David=,
Это тоже


? 21.12.2013 - Дней на сайте: 999
 
offline
 lszv-p4elkin
Дата: Пятница, 2013-02-15, 18:59 | Сообщение # 4619
Модмейкер
Сообщений: 316
=David=, хреналеон лет подожди и будет :D



 
offline
 portal-2x2
Дата: Пятница, 2013-02-15, 19:18 | Сообщение # 4620
Гангстер
Сообщений: 1253
lszv-p4elkin, Я не понимаю вас, зачем ему выкидывать кучу убогих беток в которых багов будет столько что поиграть нереально, уж лучше пускай доделает все норм и выкладывает, я вон свой тайм уже больше года делаю, все не как не доделать :D А тут целый конфиг, человек хочет стабильности, и правильно делает yes


GA-Z87X-OC,32gb DDRIII 2.4ghz,I7 4770k,Corsair H100i,GTX 690,SSD 256gb, 2XWD Velociraptor 1tb, Corsair RM1000w, Corsair Obsidian 900D
46.174.54.213:55555 CSS
 
Форум GtaMania.ru » Сайт и форум » Архив » ENB Series GTA 4 (Часть IV) (Ваши настройки, инструкции, вопросы и т.д.)
Страница 308 из 450«12306307308309310449450»
Поиск:

Реклама:
GtaMania.ru - это открытый ресурс, позволяющий публиковать материалы любому пользователю сети интернет. Администрация не несет ответственности за опубликованные пользователями материалы. Любой материал может быть удален по просьбе автора, при предъявлении сканированных копий документов подтверждающих авторские права на конкретный материал.
При копировании материалов, гиперссылка на http://gtamania.ru/ ОБЯЗАТЕЛЬНА!
| Design by SandWicH | Copyright GtaMania.ru © 2008 - 2016
Rambler's Top100