• Вход / Регистрация
    Логин:
    Пароль:
Поиск по сайту
Модератор форума: CTD, denni732, iFamouz  
Форум ГТА » Общение » Свободный форум » ENB Series GTA 4 (Часть V) (Ваши настройки, инструкции, вопросы и т.д.)
ENB Series GTA 4 (Часть V)
offline
 Orangebrains
Дата: Понедельник, 2013-09-02, 21:08 | Сообщение # 1
Гангстер
Сообщений: 615
ENBSeries GTA IV (Часть V). (I), (II), (III), (IV)








Прежде, чем обращаться в эту тему, советуем ознакомиться с FAQ. Вдруг там уже есть ответ на Ваш вопрос?
По всем вопросам, связанным с особенностями работы ENB на GTA: EfLC и последних версиях GTA IV (1.0.6.0/1.0.7.0), желательно обращаться в тему ENBSeries GTA EFLC / GTA IV 1.0.7.0.

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

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



 
offline
 ASER123
Дата: Понедельник, 2014-01-27, 20:54 | Сообщение # 1396
Пользователь
Orangebrains, Ребята я здесь новенький я ставил много енб но они потребляют много фпс , но я нашел енб который смотрится в игре шикарно и потребления фпс просто у него нет!!!!! он на 163 enb но есть минус в нем яркость красок не очень подскажите как исправить это ... мне нравится что вы делаете но может этот енб вам тоже поможет сделать лучше [spoiler="вот он"]http://youtu.be/WheOkG3_9XA[/spoiler]

Добавлено (2014-01-27, 20:54)
---------------------------------------------
Еще раз говорю потребление фпс у него нет!!!!!!

 
offline
 dax1
Дата: Понедельник, 2014-01-27, 21:06 | Сообщение # 1397
Гангстер
Сообщений: 112
Цитата VipGecas ()
как синеву со стекол убрать???

на стёклах не синева, а небо которое отражается в стёклах, очевидно что убрать её просто отрегулировав отражения, любой другой способ ведёт к переделке конфига.

Добавлено (2014-01-27, 21:06)
---------------------------------------------
ASER123, если у него потребления фпс нет то очевидно что он не работает, ни чего в нашем мире задаром не даётся, в том числе и графика.



Я счастлив по умолчанию! Пожалуйста, не лезьте в настройки.
 
offline
 ASER123
Дата: Понедельник, 2014-01-27, 21:14 | Сообщение # 1398
Пользователь
dax1, хм вы поставьте попробуете если не трудно как там убрать желтое становится синим и добавить красочности ему ...подскажите мне чайнику


Сообщение отредактировал ASER123 - Понедельник, 2014-01-27, 21:16
 
offline
 VipGecas
Дата: Понедельник, 2014-01-27, 21:15 | Сообщение # 1399
Пользователь
Сообщений: 1
Цитата dax1 ()
чевидно что убрать её просто отрегулировав отражения,
давай подробнее. че крутить для уменьшения отражений на стекле
 
offline
 dax1
Дата: Понедельник, 2014-01-27, 21:27 | Сообщение # 1400
Гангстер
Сообщений: 112
VipGecas, ASER123, подробнее читайте здесь

Добавлено (2014-01-27, 21:27)
---------------------------------------------
специально для чайников Orangebrains полноценный FAQ написал где есть всё и обо всём, за это я ему очень признателен.


Я счастлив по умолчанию! Пожалуйста, не лезьте в настройки.


Сообщение отредактировал dax1 - Понедельник, 2014-01-27, 21:28
 
offline
 ASER123
Дата: Понедельник, 2014-01-27, 21:48 | Сообщение # 1401
Пользователь
dax1, да это все понятно но в этом именно конфиге все что ты писал не хрена не подходит я пробовал и все испортил убрал синеву пропали стекла на авто добавил яркости как там описано но красочность картинки не изменилась 2 дня все это пробывал единственно Shaders поставил помоему даже ваш и чуть картинка лучше стала ....
 
offline
 dax1
Дата: Понедельник, 2014-01-27, 22:06 | Сообщение # 1402
Гангстер
Сообщений: 112
ASER123, пользуйтесь готовыми конфигами значит, если не нравится то свой учитесь настраивать, и не думайте что тут кто скажет, вот это крутани и это, всё тут же станет как ты хочешь, синева у вас там на стёклах, уменьшайте отражения на них значит в [CARWINDOWGLASS] так что бы появилась прозрачность а синева спала, и тем более ни кто не знает на каком патче вы там что настраиваете, енб не на всех патчах работает увы.

Добавлено (2014-01-27, 22:06)
---------------------------------------------
есть и другой вариант, понижайте значения
[SKY]
ColorSaturation=
ColorPower=
пока небо не станет серого цвета или такого который вам нужен, в таком случае изменятся все погоды на конфиге и вид на нём полностью изменится, от яркого и красочного он станет далёк, небо станет белым или серым или ещё каким нибудь отражения тоже ибо в авто по большей части небо отражается.



Я счастлив по умолчанию! Пожалуйста, не лезьте в настройки.
 
offline
 ASER123
Дата: Понедельник, 2014-01-27, 23:16 | Сообщение # 1403
Пользователь
спасибо синеву убрал теперь бы красочности в этот конфиг


Пожалуйста, ознакомьтесь с правилами сайта.
III.3. Максимальный размер публикуемого изображения без превью не должен превышать 300px по большей стороне. К изображениям под "спойлером" это требование тоже относится.
Устное предупреждение.

Mike_2594
 
offline
 dax1
Дата: Понедельник, 2014-01-27, 23:37 | Сообщение # 1404
Гангстер
Сообщений: 112
ASER123, в енб эффекте по ищи float Saturation или что то типа того и прибавь значение немного.


Я счастлив по умолчанию! Пожалуйста, не лезьте в настройки.
 
offline
 iFamouz
Дата: Вторник, 2014-01-28, 09:09 | Сообщение # 1405
Модератор
Сообщений: 153
AgainstAllAutority, понял, я вообще думал это некое "ускорение" для nvidia карт))
А не мог ли ты объяснить, али рассказать, как эти переменные называются на обычном "родном" языке r0-r11?
Код
float4 color;
float4 bloom;
float4 adapt;
float4 depth;
float4 cdepth;
float4 DofTemp1;
float4 DofTemp2;
float4 temp1;
float4 temp2;
float4 temp3;
float4 Gamma;


Сообщение отредактировал toshkaZ - Вторник, 2014-01-28, 09:10
 
offline
 AgainstAllAutority
Дата: Вторник, 2014-01-28, 17:44 | Сообщение # 1406
Гангстер
Сообщений: 801
toshkaZ, ммм как-бэ так сказать.... да в общем-то никак))) я просто по-навыдумывал переменных на свой вкус)) более того, в оригинальном - "родном" - все эти r0-r11 имеют разное содержание на разных стадиях эффекта, за редким исключением r2 (в который почти сразу блум записывается). Просто в своем эффекте я вместо "безликих" r* использовал более очеловеченные названия. temp1,2,3 использую также как и r* - в зависимости от участка: в начале в них какие-то параметры храню, а потом уже и промежуточные результаты в них пишу (ради экономии памяти)
кстати часть даже может не использоваться - я мог пару "про запас" создать


 
offline
 kam4373
Дата: Вторник, 2014-01-28, 17:59 | Сообщение # 1407
Пользователь
Сообщений: 72
VipGecas, чет вы конкретно прикол взяли с слово "Крутить" крутить нече не нужно в твоем случае, а за стекла отвечают парметры [CARWINDOWGLASS], проще заглянуть в faq .


FHIVE_ , Единствиная девочка.


Сообщение отредактировал kam4373 - Вторник, 2014-01-28, 18:00
 
offline
 iFamouz
Дата: Вторник, 2014-01-28, 18:01 | Сообщение # 1408
Модератор
Сообщений: 153
AgainstAllAutority, Аааа, ну вот я так и понял изучая твой эффект, вроде со всем разобрался за исключением r3, я его не могу найти у тебя, так как он тупо никакой переменной не определяется..
Ну да довольно таки было странно узнать, что color - r1, но за цвет отвечает temp3 (r0), а блум и вправду r2, только вот чаще в конфигах блум r7))) r2 - ни разу не встречал))) Короче необычный у тебя и экзотический конфиг, который стоит внимания ))))
 
offline
 AgainstAllAutority
Дата: Вторник, 2014-01-28, 18:36 | Сообщение # 1409
Гангстер
Сообщений: 801
toshkaZ, вот вариант по-свежее с дьявольским дофом, от сердца отрываю, но так как ближайший месяц времени на енб не будет - отдам людям, на донастройку и прочее, прочее

Код

//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
//       M I N I S T R Y  O F  G A M E S     //
//   PostProcess Effect file for GTA IV graphics mod   //
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
//            Credits to Boris Vorontsov (ENB Series),      //
//  effect essensial and mixing techniques by  AgainstAllAuthority  //
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//

//#define DoF
//#define testing
#define colorcorrection
#define DoF_Vignetting
//#define GodRays
//#define DoF_Manual
#define DoF_Auto
#define DoF_PentagonShape
static float2 screenRes = {1920,1080};//Screen Resolution, for example 1024x768

static float Exposure = 0.07;
static float TonemapParam = 0.5;

float Density = 1;
float illuminationDecay = 1.0f;     
float Decay = 0.5;

#ifdef DoF
     static float focalLength = 0.25;  // in meters, i think so    
     static float fstop = 1.2;

     #ifdef DoF_Manual
       static float ndofstart = 1.2;   //near dof blur start
       static float ndofdist = 1.5;   //near dof blur falloff distance
       static float fdofstart = 150;   //far dof blur start
       static float fdofdist = 3000;  //far dof blur falloff distance
     #endif
     static const int samples = 5;      //samples on the first ring     
     static const int rings = 14;      //ring count, overall samples cound is rings x samples (i.e with 4 and 5 u get 20 samples)
     float2 focus = float2(0.5,0.52);    //autofocus position
     float CoC = 0.05;        // table is here http://en.wikipedia.org/wiki/Circle_of_confusion
     float namount = 0.0001;       //feel the power of noise))
     float DOFdownsample = 1.0;
     float maxblur = 2.5;       //maximum bluring
     //float R = 3;          // blurring radius
     float threshold = 3;       //dof brightness treshold
     float gain = 2.8;
     float bias = 200;        //bokeh bias
     float fringe = 7.5;
     float feather = 3.0;        //pentagon shape feather
     float vignint = 1.25;        //vignetting intensity
#endif

// do not change theese
float4 SunDirection;
float4 ScreenSize;
float PI = 3.14159265;
static float2 texel = 1/screenRes;// 1/screen resolution

//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
struct VS_OUTPUT_POST
{
       float4 vpos  : POSITION;
       float2 txcoord0 : TEXCOORD0;
};
struct VS_INPUT_POST
{
       float3 pos  : POSITION;
       float2 txcoord0 : TEXCOORD0;
};
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
//   most of registers are not used...    //
//  i'll find a good use for them... someday :P    //
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
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 texs0;     texture2D texs1;
texture2D texs2;     texture2D texs3;
texture2D texs4;     texture2D texs5;
texture2D texs6;     texture2D texs13;

sampler2D s0 : register(s0) = sampler_state
{
     Texture   = <texs0>;
     MinFilter = LINEAR;
     MagFilter = LINEAR;
     MipFilter = NONE;
     AddressU  = Clamp;
     AddressV  = Clamp;
     SRGBTexture=FALSE;
     MaxMipLevel=0;
     MipMapLodBias=0;
};

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

sampler2D s2 : register(s2) = sampler_state
{
     Texture   = <texs2>;
     MinFilter = POINT;
     MagFilter = POINT;
     MipFilter = NONE;
     AddressU  = Wrap;
     AddressV  = Wrap;
     SRGBTexture=FALSE;
     MaxMipLevel=0;
     MipMapLodBias=0;
};

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

sampler2D s4 : register(s4) = sampler_state
{
     Texture   = <texs4>;
     MinFilter = LINEAR;
     MagFilter = LINEAR;
     MipFilter = NONE;
     AddressU  = Clamp;
     AddressV  = Clamp;
     SRGBTexture=FALSE;
     MaxMipLevel=0;
     MipMapLodBias=0;
};

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

sampler2D s6 : register(s6) = sampler_state
{
     Texture   = <texs6>;
     MinFilter = POINT;
     MagFilter = POINT;
     MipFilter = NONE;
     AddressU  = Wrap;
     AddressV  = Wrap;
     SRGBTexture=FALSE;
     MaxMipLevel=0;
     MipMapLodBias=0;
};

sampler2D s13 : register(s13) = sampler_state
{
     Texture   = <texs13>;
     MinFilter = LINEAR;
     MagFilter = LINEAR;
     MipFilter = NONE;
     AddressU  = Clamp;
     AddressV  = Clamp;
     SRGBTexture=FALSE;
     MaxMipLevel=0;
     MipMapLodBias=0;
};

float Luminance( float3 c )
{
     //return dot( c, float3(0.22, 0.707, 0.071) );
     //return (c.g + c.g + c.r + c.b / 4);
     return dot( c, float3(0.2126, 0.7152, 0.0722));
}

float2 flipTexcoords(float2 texcoords)     
{
     return -texcoords + 1.0;
}

float vignette(float2 coord, float _int)
{
     float2 coords = coord;
     coords = (coords - 0.5) * 2.0;      
     float coordDot = dot (coords,coords);     
     return 1.0 - coordDot * _int * 0.1;
}

float linearlizeDepth(float nonlinearDepth, float4 dofProj, float4 dofDist)
{
     float4 depth=nonlinearDepth;
     depth.y=-dofProj.x + dofProj.y;
     depth.y=1.0/depth.y;
     depth.z=depth.y * dofProj.y;
     depth.z=depth.z * -dofProj.x;
     depth.x=dofProj.y * -depth.y + depth.x;
     depth.x=1.0/depth.x;
     depth.y=depth.z * depth.x;
     depth.x=depth.z * depth.x;  // - dofDist.y;  // dofdist.y
     depth.x+=dofDist.x * -0.5;    // dofdist.x
     depth.x+=20;
     depth.y=max(depth.y, 0.0);
     return depth.y;
}

#ifdef DoF

float2 rand(float2 coord) //generating noise/pattern texture for dithering
{
     float noiseX = ((frac(3.0-coord.x*(screenRes.x/0.2))*3.25)+(frac(coord.y*(screenRes.y/0.2))*3.75))*0.1-0.2;
     float noiseY = ((frac(3.0-coord.x*(screenRes.x/0.2))*3.75)+(frac(coord.y*(screenRes.y/0.2))*3.25))*0.1-0.2;
         
     return float2(noiseX,noiseY);
}

float4 colorDof(float2 coords,float blur, sampler2D Color) //processing the sample
{
     float4 colDF = 0;
         
     colDF.x = tex2Dlod(Color,float4(coords + float2(0.0,1.0)*texel*fringe*blur,0,0)).x;
     colDF.y = tex2Dlod(Color,float4(coords + float2(-0.866,-0.5)*texel*fringe*blur,0,0)).y;
     colDF.z = tex2Dlod(Color,float4(coords + float2(0.866,-0.5)*texel*fringe*blur,0,0)).z;
         
     float3 lumcoeff = float3(0.299,0.587,0.114);
     float lum = dot(colDF.xyz,lumcoeff);
     float thresh = max((lum-threshold)*gain, 0.0);
     float3 nullcol = float3(0,0,0);
     colDF.xyz +=lerp(nullcol,colDF.xyz,thresh*blur);
     return colDF;
}

float penta(float2 coords) //pentagonal shape
{
//    float scale = float(rings) - 1.5;
//    float4  HS0 = float4( -20.0, -15.0, -15.0, -20.0);
//    float4  HS1 = float4( -20.0, -15.0, -15.0, -20.0);
//    float4  HS2 = float4( -20.0, -15.0, -15.0, -20.0);
//    float4  HS3 = float4( -20.0, -15.0, -15.0, -20.0);
//    float4  HS4 = float4( -20.0, -15.0, -15.0, -20.0);
//    float4  HS5 = float4( -20.0, -15.0, -15.0, -20.0);
         
//    float4  one = float4(8.0, 8.0, 8.0, 8.0);

     float scale = float(rings) - 1.3;
     float4  HS0 =  float4( 1.0,         0.0,         0.0,  1.0);
     float4  HS1 =  float4( 0.309016994, 0.951056516, 0.0,  1.0);
     float4  HS2 =  float4(-0.809016994, 0.587785252, 0.0,  1.0);
     float4  HS3 =  float4(-0.809016994,-0.587785252, 0.0,  1.0);
     float4  HS4 =  float4( 0.309016994,-0.951056516, 0.0,  1.0);
     float4  HS5 =  float4( 0.0        ,0.0         , 1.0,  1.0);
         
     float4  one =  1.0f ;
         
     float4 P = float4(coords,float2(scale, scale));     
         
     float4 dist = 0.0f;
     float inorout = -4.0;
         
     dist.x = dot( P, HS0 );
     dist.y = dot( P, HS1 );
     dist.z = dot( P, HS2 );
     dist.w = dot( P, HS3 );
         
     dist = smoothstep( -feather, feather, dist );
         
     inorout += dot( dist, one );
         
     dist.x = dot( P, HS4 );
     dist.y = HS5.w - abs( P.z );
         
     dist = smoothstep( -feather, feather, dist );
     inorout += dist.x;
         
     return saturate( inorout );
}

#endif

float3 ApplyBlueShift(inout float3 input, in float luminance)
{
     // Shift the light color to blue under low light conditions
     const float  shiftBlendStart = 0.001f;
     const float  shiftBlendEnd   = 0.015f;
     const float3 blueShiftColor  = 1.5f * float3(0.3f, 0.3f, 1.0f);
         
     float lerpValue = 0.3f + 0.7f * smoothstep(shiftBlendStart, shiftBlendEnd, luminance);
     return lerp(blueShiftColor * luminance, input, lerpValue);
}

VS_OUTPUT_POST VS_Quad(VS_INPUT_POST IN)
{
     VS_OUTPUT_POST OUT;

     OUT.vpos=float4(IN.pos.x,IN.pos.y,IN.pos.z,1.0);

     OUT.txcoord0.xy=IN.txcoord0.xy;

     return OUT;
}

float4 PS_C215BE6E(VS_OUTPUT_POST IN) : COLOR      
{      
float4 color;      
float4 bloom;
float4 adapt;
float4 depth;
float4 cdepth;
float4 lens;
float4 palette;
float4 DofTemp1 = 1;
float4 DofTemp2 = 1;
float4 temp1;      
float4 temp2;      
float4 temp3;
float4 Gamma;      
float3 lumCoeff = float3(0.2126, 0.7152, 0.0722);
Gamma.x = 0.7;     
Gamma.y = 0.8;     
temp1.x = 1.00;     
temp1.y = 1;     
temp1.z = Exposure;     
temp1.w = lerp(1.1, 3.2, TonemapParam);
temp1.w = clamp(1.05, 3.3, temp1.w);
temp2.x = 0.333;     
temp2.y = 1;
temp2.z = 0.75;     

float luma;
float scale= 1;
float bias = 0;

//temp3.xy = IN.txcoord0.xy;

//bloom = temp1.x * tex2D(s3, float2(0.5,1) * IN.txcoord0.xy);    // replace float2(0.5,1) with 1 - THIS IS CRITICAL!!!
bloom = temp1.x * tex2D(s3, IN.txcoord0.xy); // for classic bloom shader
lens = tex2D(s3, float2(0.5,0) + float2(0.5,1)*IN.txcoord0.xy); // for my custom bloom shader
palette = tex2D(s13, IN.txcoord0.xy);
lens = pow(lens, 1.35) * palette;
//bloom = PS_BloomTexture1(IN.txcoord0.xy);
float4 origbloom = bloom;
adapt = temp1.y * tex2D(s4, 0.5);
//float4 origcolor = Gamma.x * tex2D(s2, IN.txcoord0.xy); // test

#ifdef DoF

DofTemp1.x = tex2D(s1, IN.txcoord0.xy).x;
DofTemp1.y = tex2D(s1, focus).x;

DofTemp1.x = linearlizeDepth(DofTemp1.x, _c77, _c78);
DofTemp1.y = linearlizeDepth(DofTemp1.y, _c77, _c78);

DofTemp1.w = DofTemp1.x / (1 + DofTemp1.x);
DofTemp1.w -= 0.012;
DofTemp1.w = saturate(DofTemp1.w);

float blur = 1.0;

     #ifdef DoF_Manual
      float a = DofTemp1.x-DofTemp1.y; //focal plane
      float b = (a-fdofstart)/fdofdist; //far DoF
      float c = (-a-ndofstart)/ndofdist; //near Dof
      blur = (a>0.0)?b:c;
     #else
      DofTemp2.x = focalLength;
      DofTemp2.y = DofTemp1.x ;
      DofTemp2.z = DofTemp1.y ;
          
      float a = (DofTemp2.z*DofTemp2.x)/(DofTemp2.z-DofTemp2.x);     
      float b = (DofTemp2.y*DofTemp2.x)/(DofTemp2.y-DofTemp2.x);     
      float c = (DofTemp2.y-DofTemp2.x)/(DofTemp2.y*fstop*CoC);     
          
      blur = abs(a-b)*c;
     #endif

     blur = saturate(blur);
     //if (DofTemp1.x > 999) blur = 0;
     float2 noise = rand(IN.txcoord0.xy)*namount*blur;
         
     float w = (1.0/screenRes.x)*blur*maxblur+noise.x;
     float h = (1.0/screenRes.y)*blur*maxblur+noise.y;
         
     //color = float4(0,0,0,1);
         
     color = 0;//tex2D(s0, IN.txcoord0.xy);
     float s = 0.0;
     int ringsamples;
         
     if (blur < 0.065) color = tex2D(s2, IN.txcoord0.xy);
         
     else
     {
      for (int i = 1; i <= rings; i += 1)
      {
       ringsamples = i * samples;
       for (int j = 0 ; j < ringsamples ; j += 1)
       {
        float step = PI*2.0 / ringsamples;
        float pw = cos(j*step)*i;
        float ph = sin(j*step)*i;
        float p = 1.0;
        #ifdef DoF_PentagonShape     
         p = penta(float2(pw,ph));
        #endif
        //color.xyz += colorDof(IN.txcoord0.xy + float2(pw*w,ph*h),blur, s3).xyz*lerp(1.0,float(i)/float(rings),bias)*p;  // test
        color.xyz += colorDof(IN.txcoord0.xy + float2(pw*w,ph*h),blur, s2).xyz*lerp(1.0,float(i)/float(rings),bias)*p;      
        s += 1.0*lerp(1.0,i/rings,bias)*p;
       }
      }
      color = color/s; //divide by sample count
          
          
      #ifdef DoF_Vignetting
       color *= vignette(IN.txcoord0.xy,vignint);
      #endif
     }
#else
     color = tex2D(s2, IN.txcoord0.xy);
#endif

// adaptation sample
adapt=tex2D(s4, 0);//adaptation luminance

// just in case     
luma=Luminance(color.rgb);

//premix up-scale
color *= 4.65;

//MOAR COLORS
float cgray=dot(color.xyz, 0.333);//luma
float3 poweredcolor=pow(color.xyz, 1.095);
float newgray=dot(poweredcolor.xyz, 0.333);
color.xyz=poweredcolor.xyz*cgray/(newgray+0.0001);

//MOOOOAAAR     
cgray=dot(bloom.rgb, 0.333);
poweredcolor=pow(bloom.rgb, 1.75);
newgray=dot(poweredcolor, 0.333);
bloom.rgb=1.25 * poweredcolor*cgray/(newgray+0.0001);

//adaptation
adapt.w=max(0,adapt.x);
adapt.w=1.0/adapt.w;

color.xyz=color.xyz * adapt.w;
temp1.xy=float2(0.01, 0.32);
temp1.xy *= adapt.w;

// bloom square adaptation dependant... testing
bloom *=pow(adapt.w, 1.74);

// mixing and simple exponential tonemapping
color= bloom * 0.7 + color;// + 0.75 * lens;
color = 1 - exp(-color * 0.015);

//degamma for ... i dunno better colorcorrection ??
color = pow(color, 2/2.2333);

#ifdef colorcorrection

//colorboost by sonicE
     color.r = (color.r)*(0.053 + 1.0f) + (color.g + color.b)*(-0.040);
     color.g = (color.g)*(0.052 + 1.0f) + (color.r + color.b)*(-0.041);
     color.b = (color.b)*(0.051 + 1.0f) + (color.r + color.g)*(-0.037);

//contrast increase from sweetFX
     luma = Luminance(color.xyz);

     temp1.x = max(color.r, max(color.g,color.b));
     temp1.y = min(color.r, min(color.g,color.b));
     temp1.z = temp1.x - temp1.y;
        color.rgb = lerp(luma, color.rgb, 1.0 + (1.0-pow(temp1.z, 1.0 - (1.0-0.10))) );
     temp1.w = color.rgb - luma;
     scale = 1.1048 / (1.0 + exp(-3.0 * (luma * 2.0 - 1.0))) - (0.1048 / 2.0);
     color.rgb = lerp(color.rgb,temp1.w + scale, 0.12);

//cross-process filter aka brown brown... from crysis i suppose?
     temp2.r = -color.r + 1.45f;
     temp2.g = -color.g + 1.45f;
     temp2.b = -color.b + 1.45f;
         
     temp3.r = lerp(temp2.r, 0.31f, 0.45f);
     temp3.g = lerp(temp2.g, 0.23f, 0.45f);
     temp3.b = lerp(temp2.b, 0.25f, 0.45f);
         
     color.r = pow((color.r * 0.99f - 0.0035f), temp3.r);
     color.g = pow((color.g * 0.95f - 0.002f), temp3.g);
     color.b = pow((color.b * 0.95f + 0.001f), temp3.b);
#endif

//back to original gamma curve (???)
//color = 0.585122381 * sqrt(color) + 0.783140355 * sqrt(sqrt(color)) - 0.368262736 * sqrt(sqrt(sqrt(color)));
color = pow(color, 2.23333/1.35);

//color = 0.012522878 * color + 0.682171111 * color * color + 0.305306011 * color.r * color.g * color.b;

//color = lens / (1+lens);
//color = bloom / (1+bloom);

//color = 1 - exp( -tex2D(s3, IN.txcoord0.xy)*0.15);     

color.a = 1.0;

return color;      
}      

technique Shader_C215BE6E
{
     pass p0       
     {
             
      VertexShader  = compile vs_3_0 VS_Quad();
      PixelShader  = compile ps_3_0 PS_C215BE6E();
     }
}     


 
offline
 kam4373
Дата: Вторник, 2014-01-28, 21:25 | Сообщение # 1410
Пользователь
Сообщений: 72
парни кто в курсе как убавить яркость неба?


FHIVE_ , Единствиная девочка.
 
Форум ГТА » Общение » Свободный форум » ENB Series GTA 4 (Часть V) (Ваши настройки, инструкции, вопросы и т.д.)
Поиск: