• Вход / Регистрация
    Логин:
    Пароль:
Поиск по сайту
Модератор форума: 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
 iFamouz
Дата: Понедельник, 2014-07-28, 09:39 | Сообщение # 2296
Модератор
Сообщений: 144
portal-2x2, Крутил вертел это первым делом) Мыло и все на экране с серой пеленою, может все дело в том, что перед ним идет код доф от ААА? сейчас попробую местами поменять..

Пффи-у! Не туда "#if (USE_HDR == 1) ..." сунул, у меня в конфиге нету лишних переменных, аля _oC0.xyz - вот и спутал, короче в самый низ просто нужно до return color (для меня), нужно было))) буду пробовать сейчас)

Убрал DKT HDR, оставил этот, мне показалось по производительности он лучше, и немного, более тонко настроил картинку))


Сообщение отредактировал toshkaZ - Понедельник, 2014-07-28, 10:40
 
offline
 Awesomekills
Дата: Понедельник, 2014-07-28, 12:03 | Сообщение # 2297
Гангстер
Сообщений: 128
Потестил айс, конечно в техническом плане он далеко от всех ускакал (лучи, линзы, освещение,облака, доф, блум, сглаживание - всё шикарно), но фпс конечно дико проседает (у меня в среднем 8-10 на 1920*1080, а на своём кфг 20-25). Вообщем кфг сделан чисто для геймплея (на мощных печах, которые будет выдавать >30 фпс это конечно сказка) , но для скринов он не оч.

PS. Никто не знает как 82 длл на айса поставить? а то запускаю игру, и тупо чёрный экран:(


G-Eazy feat. Bebe Rexha – Me, Myself & I


Сообщение отредактировал Awesomekills - Понедельник, 2014-07-28, 14:59
 
offline
 Orangebrains
Дата: Понедельник, 2014-07-28, 17:08 | Сообщение # 2298
Гангстер
Сообщений: 615
Awesomekills,
Цитата Awesomekills ()
в техническом плане он далеко от всех ускакал

Чего? Ты так говоришь, как будто этого ни в одном конфиге больше не было. lol
Цитата Awesomekills ()
сглаживание - всё шикарно

Ага, если не считать лесенки, которых полно. :D
 
offline
 Ross
Дата: Понедельник, 2014-07-28, 17:18 | Сообщение # 2299
Гангстер
Сообщений: 292
ребята нужна помощь как сделать это вменяемым, с небом таже история я честно не знаю что крутить((


The wolrld Grand Theft Auto, world of your life!

http://vk.com/world_g_t_a_eternal
 
offline
 Orangebrains
Дата: Понедельник, 2014-07-28, 17:21 | Сообщение # 2300
Гангстер
Сообщений: 615
Ross, выключи спрайтлайты, если ты про них.Или настрой параметры фар.
 
offline
 iFamouz
Дата: Понедельник, 2014-07-28, 17:34 | Сообщение # 2301
Модератор
Сообщений: 144
Awesomekills, Я тоже если честно удивлен твоему отзыву, ничего суперского в нем нет...
 
offline
 portal-2x2
Дата: Вторник, 2014-07-29, 00:00 | Сообщение # 2302
Гангстер
Сообщений: 1264
Кошмар а не конфиг у этого айса, все не правильно собрано, он больше труда потратил на лочку эффекта, в котором даже нету нечего толком. Зато мне там попался эффект от Вити, который использовался в миксе toshkaZ как он то там очутился :D
Вот все что есть там, отсюда и производительность.
[spoiler="Enbeffect.fx ice 3.0 compiled"]
//++++++++++++++++++++++++++++++++++++
// iCEnhancer 3.0 Main fx file
// COPYRIGHT - HAYSSAM KEILANY // BORIS VORONTSOV
// ASK PERMISSIONS AT ICELAGLACE@YAHOO.FR IF YOU WANNA USE
// THIS FILE ON YOUR OWN SETTINGS
//++++++++++++++++++++++++++++++++++++

// for the configuration tool
// Motion blur
// 0 = OFF , 1 = low, 2 = mid, 3 = high
// Default = 2
#define MOTION_BLUR 2

// Godrays - On/Off
// 0 = low, 1 = mid, 2 = high
#define GODRAYS 1
#define GODRAY_QUALITY 2

// Bloom
// Config tool Max = 10.0f
float BLOOM_POWER = 1.0;

// Lens dirt - On/Off
#define LENS_DIRT 1

// Additional post-effects
// If 1 -> Sat/B&W/Contrast/Cross = ON

#define POST_EFFECTS 0
#define BLACKNWHITE 1

float SATURATION = 1;
float CONTRAST = 0.5;

float CROSS_POWER = 0.0;
float CROSS_R = 0.6;
float CROSS_G = 0.8;
float CROSS_B = 0.3;

// Kodak Kodachrome 64 simulation
#define KODACHROME 0

// Post-effects

#define CINEMA 0
#define NOISE 1
#define INTERFERENCE 0
#define TVSTUFF 0
#define LENSDISTORTION 0

// Depth of field settings

#define MANUAL_DOF_FOCUS 0
#define DEPTHOFFIELD 1

// tweakable values
float4 Timer;
float4 SunDirection;
float4 ScreenSize;

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

// registers and samplers declaration...
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 : 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 s2=sampler_state { Texture=<texs2>; };
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>; };

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

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

sampler2D s3=sampler_state
{
Texture =<texs3>;
MinFilter=LINEAR;
MagFilter=LINEAR;
MipFilter=NONE;
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;
};

// beginning the custom post-effect here...
// edit : public version release

float4 PS_C215BE6E(VS_OUTPUT_POST f):COLOR
{
float4 y=0.,
z=float4(0,.2125,.7154,.0721),
w=float4(.25,1,256,0),
x=float4(0,2,4,8),
n=float4(58.164,47.13,0,0),
S=float4(-.5,-1.5,1.5,.5),
s=float4(2,-1,.125,0),
R=float4(256,2,4,8),
Y=float4(1.,.1,.8,1.),
E=float4(0.,.1,.8,.333),
T=float4(.06,.1,.8,.1),
C=float4(.01,1.4,0.,.32),
t=float4(.333333,1.,0.,0.),
o=float4(.27,.67,.06,0.),
a=float4(0.,0.,0.,1e-05),
l=float4(.55,.9,.85,.9),
c=float4(0.,0.,0.,.07),
i,p,m,d,e,G,r,O,D,A,L,U,I=0.;
I.xy=f.txcoord0.xy;
p=tex2D(s2,I.xy);
i=tex2D(s1,I.xy);
i.y=-_c77.x+_c77.y;
i.y=1./i.y;
i.z=i.y*_c77.y;
i.z=i.z*-_c77.x;
i.x=_c77.y*-i.y+i.x;
i.x=1./i.x;i.y=i.z*i.x;
i.w=abs(_c79.w);
float B=i.z*i.x-_c78.w;
B+=_c78.y*-.5;d=p;
i.x=1.;
e.x=I.y*s.x+s.y;
e.y=I.x*s.x+s.y;
e.z=I.y*s.x+s.y;
i.z=e.y*_c77.z;
i.z=i.y*i.z;
p.w=-e.x*_c77.w;
p.w=i.y*p.w;
G.xyz=p.w*_c73.xyz;
G.xyz+=i.z*_c72.xyz;
G.xyz+=-i.y*_c74.xyz;
G.xyz+=_c75.xyz;
i.y=-G.z*_c77.z;
i.y=1./i.y;
r.x=G.x*i.y;
i.y=G.z*_c77.w;
i.y=1./i.y;
r.y=G.y*i.y;
i.yz=-e.yz+r.xy;
i.y=i.y*_c80.x;
i.z=i.z*_c80.x;
int N;
if(MOTION_BLUR!=1)N=0;
if(MOTION_BLUR==1)N=25;
if(MOTION_BLUR==2)N=50;
if(MOTION_BLUR==3)N=100;
int M=int(pow(_c80.x,.5)*N);
e.xy=i.yz/(float(M)+1);
G=tex2D(s6,I.xy);
p.w=G.x-_c85.x;
e.zw=d.xy*x.w;
e.zw=I.xy*n.xy+e.zw;
G=tex2D(s5,e.zw);
e.zw=e.xy*(G.x-(float(M)+1.)*.5)+I.xy;
G.xyz=d.xyz;
m.w=w.y;
d.w=w.y;
for(int u=0;u<M;u++)
{
float4 P;
P.xy=e.xy*d.w+e.zw;
P.zw=0;
O=tex2Dlod(s6,P);
G.w=O.x-_c85.x;
if(G.w<-.3)G.w=w.y;
else G.w=w.w;
r=tex2Dlod(s2,P);
G.xyz=r.xyz*G.w+G.xyz;
m.w=m.w+G.w;d.w=d.w+w.y;
}m.w=1./m.w;
i.y=i.y*_c44.x;
i.z=i.z*_c44.y;
i.y=dot(i.yz,i.yz);
i.y=pow(i.y,S.w);
i.y=i.y*S.w;
i.x=i.x+w.y;
i.x=1./i.x;
i.x=saturate(i.y*i.x*.15);
e.xyz=G.xyz*m.w-d.xyz;
i.xyz=i.x*e.xyz+d.xyz;
if(-p.w<0.)i.xyz=d.xyz;
if(-i.w<0.)i.xyz=p.xyz;
p=tex2D(s4,z.x);
p.xyz=m*_c66.x-p.x;
p.x=1./i.w;
p.x=p.x*_c81.x;
p.xyz=m*_c66.x-p.x;
p.xyz=m*_c81.z;
p.xyz=p*w.x;
p.xyz=i.w*i;
p.x=dot(p.xyz,z.yzw);
p.yzw=i.w*_c84.xxyz;
p.x=saturate(p.x);
i.w=_c82.z-D.y;
m.x=pow(p.x,i.w);
y.xyz=i.xyz*m.x;
y.w=w.y;
#if (GODRAYS==1)
float4 P=0.;
float K=.001,W=.9,Q=.5,H=.25;int F=100;
if(GODRAY_QUALITY==0)F=32;
if(GODRAY_QUALITY==1)F=64;
if(GODRAY_QUALITY==2)F=100;
float2 b=I.xy*2.-1.,V=SunDirection.xy/SunDirection.w;V.y+=.75;
V.y=-V.y;
float2 h=b-V,g=I.xy;
h*=1./F*Q;
float Z=1.,X=2.;
if(SunDirection.w>0.)
{
for(int J=0;J<F;J++)
{
g-=h;float4 v=tex2D(s2,g)-X,q=tex2D(s1,g.xy);
q.y=-_c77.x+_c77.y;
q.y=1./q.y;
q.z=q.y*_c77.y;
q.z=q.z*-_c77.x;
q.x=_c77.y*-q.y+q.x;
q.x=1./q.x;
q.y=q.z*q.x;
q.w=abs(_c79.w);
float k=q.z*q.x-_c78.w;
k+=_c78.y*-.5;
v=min(v,1.);
v=max(v,0.);
if(k<2000.)v.xyz=0.;
v*=Z*H;
P+=v;
Z*=W;
}}K*=SunDirection.w*.1;
K=max(K,0.);
P*=K;
#endif
float4 q=i,v=tex2D(s3,I.xy);
G=tex2D(s4,z.x);
G.w=G.x;
G.w=.03/G.w;
q.xyz=q*G.w;
v.xyz*=G.w;
float J=pow(1.-G.x,2.);
J=min(J,1.);
float3 k=tex2D(s13,I.xy).xyz,j=tex2D(s2,I.xy+k.x*.1).xyz;
if(LENS_DIRT==1)v.xyz+=v*(k.y*J)*2.;
q.xyz+=v.xyz*.5*BLOOM_POWER;
q.w=B;q.w*=1/(q.w+.5);
#if (GODRAYS==1)
P.xyz*=G.w;q.xyz+=P.xyz;
#endif
#if (KODACHROME==1)
q.xyz=min(.99,q.xyz);
q.x=tex2D(s13,float2(q.x,1.)).x;
q.y=tex2D(s13,float2(q.y,1.)).y;
q.z=tex2D(s13,float2(q.z,1.)).z;
#else
q.xyz=pow(q.xyz,1/2.2);q.xyz=min(1.,q.xyz);
#endif
#if (POST_EFFECTS==1)
float ab=dot(q.xyz,float3(.299,.587,.114));
q.xyz=lerp(ab,q.xyz,SATURATION);
q.xyz=lerp(q.xyz,.5*(1.+sin((q.xyz-.5)*3.14159)),CONTRAST);
float3 ac;
ac.x=CROSS_R;
ac.y=CROSS_G;
ac.z=CROSS_B;
float ad=dot(q.xyz,.333);
ac=lerp(0.,ac,saturate(ad*2.));
ac=lerp(ac,1.,saturate(ad-.5)*2.);
q.xyz=lerp(q.xyz,ac,saturate(ad*CROSS_POWER));
if(BLACKNWHITE==1)q.xyz=dot(q.xyz,.333);
#endif
float ae;
float2 af;
af.x=I.x-.5;
af.y=.5-I.y;
ae=length(af.xy*float2(3.14,2)*.333)*1.41421;
ae=pow(ae,4);
q.xyz-=ae*G.x*.4;y=q;
return y;
}

technique Shader_C215BE6E
{
pass p0
{
PixelShader =compile ps_3_0 PS_C215BE6E();
}
}
[/spoiler]

А вот это было рядом для веса наверно.
[spoiler="2й енбэффект в конфиге"]
// ENBeffect by ifamouz v2 //
// THANK PEOPLE: opezdl (AAA), Simple999 //
//+++++++++++++++++++++++++++++++++++++++//

// Codes additions by ifamouz (toshkaZ):

// opezdl (AAA) DoF

#define BOKEH_DOF

#define DoF
//#define DoF_Vignetting
#define DoF_Auto
//#define DoF_PentagonShape
static float2 screenRes = {2560,1440};//Screen Resolution, for example 1024x768
static float2 texel = 1/screenRes;// 1/screen resolution
float PI = 3.14159265;

#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 = 4; //samples on the first ring
static const int rings = 5; //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 = 2.0;
float maxblur = 2.5; //maximum bluring
float threshold = 20; //dof brightness treshold
float gain = 1.1;
float bias = 2; //bokeh bias
float fringe = 1.85;
float feather = 3.0; //pentagon shape feather
float vignint = 1.25; //vignetting intensity
#endif

// Gamma Settings
float Saturation = 1.20;
float Brightness = 1.0;
float Contrast = 0.6;

// Bloom Settings
float Bloom_Power = 0.2;
float SunHaze = 1.0;
float Bloom_Red = 1.1;
float Bloom_Green = 0.9;
float Bloom_Blue = 0.8;
float3 Tonemapping_Bloom = 0.37;

// High Dynamic Range (HDR)
float Defog = 0.000;
float4 FogColor = {0, 0, 0, 2};
float Exposure=0.285;
float Gamma = 1.25;
float BlueShift = 0.01;

// Blackbars
float rovigpwr = 0;
float vsatstrength = 0;
float vignettepow = 0;
float vstrengthatnight = 7.5;
float2 BAR_TOP = 0;
float2 BAR_BOTTOM = 0;

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

float4 _c34 : 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 : 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 s2=sampler_state { Texture=<texs2>; };
sampler2D s6=sampler_state { Texture=<texs6>; };
sampler2D s4=sampler_state { Texture=<texs4>; };
sampler2D s7=sampler_state { Texture=<texs7>; };
sampler2D s5=sampler_state { Texture=<texs5>; };
sampler2D s15=sampler_state { Texture=<texs15>; };

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

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

sampler2D s3 = sampler_state
{
Texture = <texs3>;
MinFilter = LINEAR;
MagFilter = LINEAR;
MipFilter = NONE;
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;
};

float Luminance( float3 c )
{
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.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)
{
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);
}

float4 PS_C215BE6E(VS_OUTPUT_POST IN) : COLOR
{

float4 color;
float4 bloom;
float4 adapt;
float4 temp1;
float4 temp2;
float4 temp3;
float4 DofTemp1 = 1;
float4 bokeh;
float4 dof;
float4 adaptVector=float4(1.0,0.1,0.8,1.0);
float3 lumCoord = float3(0.27,0.67,0.06);
float4 adaptCoord = float4(0,0.2,0.7,0.07);

float luma; //Luminance
float bias = 0;
color=tex2D(s2, IN.txcoord0.xy); //Color
bloom=tex2D(s3, IN.txcoord0.xy); //Bloom
adapt=tex2D(s4, adaptCoord.xy); //Adaptation
temp3=tex2D(s0, IN.txcoord0.xy); //TextureSampler

#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
float f = focalLength;
float d = DofTemp1.x ;
float o = DofTemp1.y ;

float a = (o*f)/(o-f);
float b = (d*f)/(d-f);
float c = (d-f)/(d*fstop*CoC);

blur = abs(a-b)*c;
#endif

blur = saturate(blur);
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 = 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, 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

//bloom sets
bloom.r*=Bloom_Red;
bloom.g*=Bloom_Green;
bloom.b*=Bloom_Blue;
color=bloom*Bloom_Power+color;

//bloom tonemaping
luma=dot(bloom.rgb, lumCoord);
float3 pwdbloom=pow(bloom.rgb, Tonemapping_Bloom);
float pwdluma=dot(pwdbloom, lumCoord);
bloom.rgb=pwdbloom*luma/(0.00001+pwdluma);

//others sets
float cgray=dot(color.xyz, lumCoord);
cgray=pow(cgray, Contrast);
float3 poweredcolor=pow(color.xyz, Saturation);
float newgray=dot(poweredcolor.xyz, lumCoord);
color.xyz=poweredcolor.xyz*cgray/(newgray+0.0005);
temp1.x=dot(color.xyz, lumCoord);
temp1.x*=Brightness;
color*=temp1.x;

//adaptation
adapt.w=adapt.x;
adapt.w=1.70/adapt.w;
color.xyz=color.xyz*adapt.w;
temp2.xy=float2(0.01,0.32);
temp2.xy=temp2.xy*adapt.w;
color=color*adaptVector.y;
temp1=color*adaptVector.z;
temp1=temp1+adaptVector.w;
color=color/temp1;

//sunhaze sets
color=SunHaze*bloom*temp2.x+color;
color.xyz=lerp(color.xyz, 1-pow(2.71, -color.xyz), 0.5);

//other sets
float middlegray=dot(color.xyz, 0.333);
float3 diffcolor=color.rgb-middlegray;
color.rgb+=diffcolor*0;
color.xyz=saturate(color.xyz);
color.xyz=lerp(color.xyz, sin(color.xyz*1.0), 0.01);

//hdr sets
color.rgb=max(0, color.rgb-Defog*FogColor.rgb);
color.rgb*=pow(2.0f, Exposure);
color.rgb=pow(color.rgb, Gamma);
float3 ifam0uz=color.rgb*float3(1.05f, 0.97f, 1.27f);
color.rgb=lerp(color.rgb, ifam0uz, BlueShift);

//blackbars
float2 inTex = IN.txcoord0.xy;
float vhnd = 0.5;
float4 voriginal = color;
float4 vcolor = voriginal;
vcolor.xyz = 1;
inTex-= 0.5;
inTex.y+= 0.01;
float vignette = 1.0-dot(inTex, inTex);
vcolor*= pow(vignette, vignettepow);
float4 rvigtex = vcolor;
rvigtex.xyz = pow(vcolor, 1);
rvigtex.xyz = lerp(float3(0.5, 0.5, 0.5), rvigtex.xyz, 2.0);
rvigtex.xyz = lerp(float3(1,1,1),rvigtex.xyz,rovigpwr);
float4 vigtex = vcolor;
vcolor.xyz = float3(1,1,1);
float3 topv = min((inTex.y+0.5)*2,1.5) * 3;
float3 botv = min(((0-inTex.y)+0.5)*2,1.5) * 4.7;
topv = lerp(float3(1,1,1), topv, BAR_TOP.x);
botv = lerp(float3(1,1,1), botv, BAR_BOTTOM.y);
vigtex.xyz = (topv)*(botv);
vigtex.xyz*= rvigtex.xyz;
vigtex.xyz = lerp(vigtex.xyz,float3(1,1,1),(1-vstrengthatnight)*(1-vhnd));
vigtex.xyz = min(vigtex.xyz,1);
vigtex.xyz = max(vigtex.xyz,0);
float3 vtintensity = dot(color.xyz, float3(0.2125, 0.7154, 0.0721));
color.xyz = lerp(vtintensity, color.xyz, ((((1-(vigtex.xyz*2))+2)-1)*vsatstrength)+1 );
color.xyz*= (vigtex.xyz);

#ifdef BOKEH_DOF
bokeh=tex2D(s1, IN.txcoord0.xy);
bokeh.y=-_c77.x + _c77.y;
bokeh.y=1.0/bokeh.y;
bokeh.z=bokeh.y * _c77.y;
bokeh.z=bokeh.z * -_c77.x;
bokeh.x=_c77.y * -bokeh.y + bokeh.x;
bokeh.x=1.0/bokeh.x;
bokeh.y=bokeh.z * bokeh.x;

bokeh.w=abs(_c79.w);

dof=bokeh.z * bokeh.x - _c78.w;
dof+=_c78.y * -0.5;

color.a = dof;
color.a *= 1/(color.a + 1);
#else
color.a = 1.0f;
#endif

return color;
}
technique Shader_C215BE6E
{
pass p0
{
PixelShader = compile ps_3_0 PS_C215BE6E();
}
}
[/spoiler]


AMD FX 4300, 6GB DDR3 1333,GTS450,HDD


Сообщение отредактировал portal-2x2 - Вторник, 2014-07-29, 03:31
 
offline
 iFamouz
Дата: Вторник, 2014-07-29, 04:17 | Сообщение # 2303
Модератор
Сообщений: 144
Цитата portal-2x2 ()
Зато мне там попался эффект от Вити, который использовался в миксе toshkaZ как он то там очутился

Не понял вообще ничерта))) Выдели, что там где очутилось)))))
 
offline
 portal-2x2
Дата: Вторник, 2014-07-29, 08:39 | Сообщение # 2304
Гангстер
Сообщений: 1264
Цитата toshkaZ ()
Не понял вообще ничерта))) Выдели, что там где очутилось)))))

Линейкой бы тебе по щам :D Когда читать научишься? Выше выложил же все, и написал что там 2 енбэффекта, 1 его залоченый, а 2й твой ENBeffect by ifamouz v2 откуда он там?


AMD FX 4300, 6GB DDR3 1333,GTS450,HDD
 
offline
 iFamouz
Дата: Вторник, 2014-07-29, 09:00 | Сообщение # 2305
Модератор
Сообщений: 144
portal-2x2, Да, я сначала не понял тебя, потом вникся в твое сообщение, потом открыл архив и чет я не нашел еще одного эффекта там, что бы весил хотя бы как мой) Мне кажется ты его случайно туда закинул)) Откуда ты качал, с его офф. сайта?)))
 
offline
 portal-2x2
Дата: Вторник, 2014-07-29, 09:09 | Сообщение # 2306
Гангстер
Сообщений: 1264
toshkaZ, Все я разобрался, это мне случайно запихнули) А там в конфиге несколько что ли енбэффектов?


AMD FX 4300, 6GB DDR3 1333,GTS450,HDD


Сообщение отредактировал portal-2x2 - Вторник, 2014-07-29, 09:10
 
offline
 iFamouz
Дата: Вторник, 2014-07-29, 09:29 | Сообщение # 2307
Модератор
Сообщений: 144
portal-2x2, Нет, там 1 енбэффект (тот что ты показал), плюс ice_config.txt есть с переменными)
 
offline
 AgainstAllAutority
Дата: Вторник, 2014-07-29, 10:42 | Сообщение # 2308
Гангстер
Сообщений: 801
Awesomekills, надо енбэффект переделать - если правильно помню, надо структуры изменить (самое начало файла - там будет отличие)
Код

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

это в новых длл, а в старых будет чуть иначе + в пиксельном шейдере "вход" будет немного другой вроде. Просто сравни 2 файла - сразу поймешь, о чем я


 
offline
 iFamouz
Дата: Вторник, 2014-07-29, 11:34 | Сообщение # 2309
Модератор
Сообщений: 144
Ребят, кто-нибудь замечал что в Таймсквере ночью освещение меняется? (ну наверное в относительно более желто-оранжевый свет), как я понимаю это типа от билбордов идет такой окрас. Так вот, боролся ли кто с этой траблой? Хочется, что бы там тоже оттенок не менялся, в более поганую сторону..
Еще хотелось бы узнать насколько актуален файл из папки textures skydome.wtd - дело в том, что там лежат текстуры те, что идут с енб: облака, детаилмап, луна. Задействуется ли этот самый skydome в енб? Или он работает только без енб?


Сообщение отредактировал toshkaZ - Вторник, 2014-07-29, 12:12
 
offline
 Compotik
Дата: Вторник, 2014-07-29, 15:06 | Сообщение # 2310
Гангстер
Сообщений: 159
toshkaZ, Освещение на таймсквере от колличества блума завис вроде.А вот по skydome.wtd влияет,по крайней мере облака меняются
 
Форум ГТА » Общение » Свободный форум » ENB Series GTA 4 (Часть V) (Ваши настройки, инструкции, вопросы и т.д.)
Поиск: