PlayGround.ru
Ropnet
GTA.ru

Главная

GTA V

Аккаунт

GTA: Vice City Stories

GTA IV

GTA: Liberty City Stories

GTA: San Andreas

GTA: Vice City

GTA: Chinatown Wars

GTA 3

GTA 2

GTA

Форумы

Сервер

О проекте

Реклама

Новости




GTA.ru Race #2
[0/]

статистика
GTA LEAGUE t/cw | 1 | gta.ru vk.com/gtaleague
[0/30]

GTA LEAGUE t/cw | 2 | gta.ru vk.com/gtaleague
[0/30]

GTA.ru Sniper Madness
[0/30]

GTA.Ru | Map Editor gta.ru:22002
[0/64]

GTA.Ru | Coming Soon | 22000
[0/200]

GTA.Ru | Coming Soon | 33013
[0/32]

GTA.Ru | Stealth Public Server (w/ Stats System)
[0/32]

GTA.Ru | Race Server
[0/32]

GTA.Ru | One Click Kill Tactics Server | 33004
[0/1]

GTA.ru Freeroam LU Server
[0/64]

GTA.ru TDM Server
[0/30]


Голосовой чат: 0


GTA.ru > Форумы > Grand Theft Auto 4 > Моддинг и скриптинг > Сглаживание для игры

Сглаживание для игры

Brando9   29 июня 2011 в 00:31

Ну вот ребята, долгожданное сглаживание. Конечно только для тех, кто юзает ENB.

Открываем файл effect.txt, удаляем все оттуда и вставляем этот код:

//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//http://enbdev.com
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
/*
THIS IS HLSL FILE FORMAT FOR EXECUTING ADDITIONAL
POST PROCESSING EFFECTS. MAKE THE COPY BEFORE CHANGING IT!
*/

//keyboard controled variables
float tempF1;
float tempF2;
float tempF3;
float tempF4;
float tempF5;
float tempF6;
float tempF7;
float tempF8;
float tempF9;
float tempF0;

//global variables, already set before executing this code
float ScreenSize; //width of the display resolution (1920 f.e.)
float ScreenScaleY; //screen proportions (1.333 for 1920/1080)

//textures
texture2D texColor;

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

struct VS_OUTPUT_POST {
float4 vpos : POSITION;
float2 txcoord : TEXCOORD0;
};

struct VS_INPUT_POST {
float3 pos : POSITION;
float2 txcoord : TEXCOORD0;
};

//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
VS_OUTPUT_POST VS_PostProcess(VS_INPUT_POST IN)
{
VS_OUTPUT_POST OUT;

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

OUT.vpos=pos;
OUT.txcoord.xy=IN.txcoord.xy;

return OUT;
}

/*============================================================================
FXAA3 QUALITY - PC
NVIDIA FXAA III.8 by TIMOTHY LOTTES
============================================================================*/

#define FXAA_LINEAR 0
#define FXAA_QUALITY__EDGE_THRESHOLD (1.0/16.0)
#define FXAA_QUALITY__EDGE_THRESHOLD_MIN (1.0/16.0)
#define FXAA_QUALITY__SUBPIX_CAP (3.0/4.0)
#define FXAA_QUALITY__SUBPIX_TRIM (1.0/4.0)
#define FXAA_QUALITY__SUBPIX_TRIM_SCALE (1.0/(1.0 - FXAA_QUALITY__SUBPIX_TRIM))
#define FXAA_SEARCH_STEPS 8
#define FXAA_SEARCH_THRESHOLD (1.0/4.0)

float4 FxaaPixelShader(VS_OUTPUT_POST IN, float2 vPos : VPOS) : COLOR
{

#define FxaaTexTop(t, p) tex2Dlod(t, float4(p, 0.0, 0.0))
#define FxaaTexOff(t, p, o, r) tex2Dlod(t, float4(p + (o * r), 0, 0))

float2 pos = IN.txcoord.xy;

float2 rcpFrame = float2(1/ScreenSize, ScreenScaleY/ScreenSize);
float4 rcpFrameOpt = float4(2/ScreenSize, 2*ScreenScaleY/ScreenSize, 0.5/ScreenSize, 0.5*ScreenScaleY/ScreenSize);

float lumaN = dot(FxaaTexOff(SamplerColor, pos.xy, float2(0, -1), rcpFrame.xy).xyz, float3(0.299, 0.587, 0.114));
float lumaW = dot(FxaaTexOff(SamplerColor, pos.xy, float2(-1, 0), rcpFrame.xy).xyz, float3(0.299, 0.587, 0.114));

float4 rgbyM;
rgbyM.xyz = FxaaTexTop(SamplerColor, pos.xy).xyz;
rgbyM.w = dot(rgbyM.xyz, float3(0.299, 0.587, 0.114));
float lumaE = dot(FxaaTexOff(SamplerColor, pos.xy, float2( 1, 0), rcpFrame.xy).xyz, float3(0.299, 0.587, 0.114));
float lumaS = dot(FxaaTexOff(SamplerColor, pos.xy, float2( 0, 1), rcpFrame.xy).xyz, float3(0.299, 0.587, 0.114));
float lumaM = rgbyM.w;

float rangeMin = min(lumaM, min(min(lumaN, lumaW), min(lumaS, lumaE)));
float rangeMax = max(lumaM, max(max(lumaN, lumaW), max(lumaS, lumaE)));
float range = rangeMax - rangeMin;

if(range < max(FXAA_QUALITY__EDGE_THRESHOLD_MIN, rangeMax * FXAA_QUALITY__EDGE_THRESHOLD)) return rgbyM;

float lumaNW = dot(FxaaTexOff(SamplerColor, pos.xy, float2(-1,-1), rcpFrame.xy).xyz, float3(0.299, 0.587, 0.114));
float lumaNE = dot(FxaaTexOff(SamplerColor, pos.xy, float2( 1,-1), rcpFrame.xy).xyz, float3(0.299, 0.587, 0.114));
float lumaSW = dot(FxaaTexOff(SamplerColor, pos.xy, float2(-1, 1), rcpFrame.xy).xyz, float3(0.299, 0.587, 0.114));
float lumaSE = dot(FxaaTexOff(SamplerColor, pos.xy, float2( 1, 1), rcpFrame.xy).xyz, float3(0.299, 0.587, 0.114));

float lumaL = (lumaN + lumaW + lumaE + lumaS) * 0.25;
float rangeL = abs(lumaL - lumaM);
float blendL = saturate((rangeL / range) - FXAA_QUALITY__SUBPIX_TRIM) * FXAA_QUALITY__SUBPIX_TRIM_SCALE;
blendL = min(FXAA_QUALITY__SUBPIX_CAP, blendL);

float edgeVert = abs(lumaNW + (-2.0 * lumaN) + lumaNE) + 2.0 * abs(lumaW + (-2.0 * lumaM) + lumaE ) + abs(lumaSW + (-2.0 * lumaS) + lumaSE);
float edgeHorz = abs(lumaNW + (-2.0 * lumaW) + lumaSW) + 2.0 * abs(lumaN + (-2.0 * lumaM) + lumaS ) + abs(lumaNE + (-2.0 * lumaE) + lumaSE);
bool horzSpan = edgeHorz >= edgeVert;

float lengthSign = horzSpan ? -rcpFrame.y : -rcpFrame.x;
if(!horzSpan) lumaN = lumaW;
if(!horzSpan) lumaS = lumaE;
float gradientN = abs(lumaN - lumaM);
float gradientS = abs(lumaS - lumaM);
lumaN = (lumaN + lumaM) * 0.5;
lumaS = (lumaS + lumaM) * 0.5;

bool pairN = gradientN >= gradientS;
if(!pairN) lumaN = lumaS;
if(!pairN) gradientN = gradientS;
if(!pairN) lengthSign *= -1.0;
float2 posN;
posN.x = pos.x + (horzSpan ? 0.0 : lengthSign * 0.5);
posN.y = pos.y + (horzSpan ? lengthSign * 0.5 : 0.0);

gradientN *= FXAA_SEARCH_THRESHOLD;

float2 posP = posN;
float2 offNP = horzSpan ?
float2(rcpFrame.x, 0.0) :
float2(0.0f, rcpFrame.y);
float lumaEndN;
float lumaEndP;
bool doneN = false;
bool doneP = false;
posN += offNP * (-1.5);
posP += offNP * ( 1.5);
for(int i = 0; i < FXAA_SEARCH_STEPS; i++)
{
lumaEndN = dot(FxaaTexTop(SamplerColor, posN.xy).xyz, float3(0.299, 0.587, 0.114));
lumaEndP = dot(FxaaTexTop(SamplerColor, posP.xy).xyz, float3(0.299, 0.587, 0.114));
bool doneN2 = abs(lumaEndN - lumaN) >= gradientN;
bool doneP2 = abs(lumaEndP - lumaN) >= gradientN;
if(doneN2 && !doneN) posN += offNP;
if(doneP2 && !doneP) posP -= offNP;
if(doneN2 && doneP2) break;
doneN = doneN2;
doneP = doneP2;
if(!doneN) posN -= offNP * 2.0;
if(!doneP) posP += offNP * 2.0;
}

float dstN = horzSpan ? pos.x - posN.x : pos.y - posN.y;
float dstP = horzSpan ? posP.x - pos.x : posP.y - pos.y;

bool directionN = dstN < dstP;
lumaEndN = directionN ? lumaEndN : lumaEndP;

if(((lumaM - lumaN) < 0.0) == ((lumaEndN - lumaN) < 0.0))
lengthSign = 0.0;

float spanLength = (dstP + dstN);
dstN = directionN ? dstN : dstP;
float subPixelOffset = 0.5 + (dstN * (-1.0/spanLength));
subPixelOffset += blendL * (1.0/8.0);
subPixelOffset *= lengthSign;
float3 rgbF = FxaaTexTop(SamplerColor, float2(pos.x + (horzSpan ? 0.0 : subPixelOffset), pos.y + (horzSpan ? subPixelOffset : 0.0))).xyz;

#if (FXAA_LINEAR == 1)
lumaL *= lumaL;
#endif
float lumaF = dot(rgbF, float3(0.299, 0.587, 0.114)) + (1.0/(65536.0*256.0));
float lumaB = lerp(lumaF, lumaL, blendL);
float scale = min(4.0, lumaB/lumaF);
rgbF *= scale;

return float4(rgbF, lumaM);
}

technique PostProcess
{
pass P0
{
VertexShader = compile vs_3_0 VS_PostProcess();
PixelShader = compile ps_3_0 FxaaPixelShader();

FogEnable=FALSE;
ALPHATESTENABLE=FALSE;
SEPARATEALPHABLENDENABLE=FALSE;
AlphaBlendEnable=FALSE;
FogEnable=FALSE;
SRGBWRITEENABLE=FALSE;
}
}

technique PostProcess2
{
pass P0
{
VertexShader = compile vs_3_0 VS_PostProcess();
PixelShader = compile ps_3_0 FxaaPixelShader();

FogEnable=FALSE;
ALPHATESTENABLE=FALSE;
SEPARATEALPHABLENDENABLE=FALSE;
AlphaBlendEnable=FALSE;
FogEnable=FALSE;
SRGBWRITEENABLE=FALSE;
}
}

technique PostProcess3
{
pass P0
{
VertexShader = compile vs_3_0 VS_PostProcess();
PixelShader = compile ps_3_0 FxaaPixelShader();

FogEnable=FALSE;
ALPHATESTENABLE=FALSE;
SEPARATEALPHABLENDENABLE=FALSE;
AlphaBlendEnable=FALSE;
FogEnable=FALSE;
SRGBWRITEENABLE=FALSE;
}
}

technique PostProcess4
{
pass P0
{
VertexShader = compile vs_3_0 VS_PostProcess();
PixelShader = compile ps_3_0 FxaaPixelShader();

FogEnable=FALSE;
ALPHATESTENABLE=FALSE;
SEPARATEALPHABLENDENABLE=FALSE;
AlphaBlendEnable=FALSE;
FogEnable=FALSE;
SRGBWRITEENABLE=FALSE;
}
}





Естественно скрины:

pix.PlayGround.ru
pix.PlayGround.ru

Лесенки исчезли, FPS не жрет.

SANEKК   29 июня 2011 в 01:59

Ура, товарищи.

Overclock[er]   30 июня 2011 в 15:33

Кстати че за ENB?И можно ли в обычнои пиратке включить сглаживание?И как?

Brando9   30 июня 2011 в 17:10

"Кстати че за ENB?" 82-я версия в данном случае
"И можно ли в обычнои пиратке включить сглаживание?И как?" это обычная пиратка с модом ENB, а как, я написал выше.

Overclock[er]   30 июня 2011 в 23:15

У меня нету этого фаила.Я его создал,а куда копировать не знаю.Подскажи?

Brando9   30 июня 2011 в 23:54

Ghost_[MW2] ты прикалываешся что ли?

Brando9   1 июля 2011 в 00:05

...ДимаSик... В папке с игрой ищи.

Дмитрий Рыжкoв   1 июля 2011 в 00:07

Brando9
Блин нету его.10 раз смотрел и в поиске не находится

Дмитрий Рыжкoв   1 июля 2011 в 00:08

Brando9
Может создать тогда его?Сглаживания охота

CreMaxUm   1 июля 2011 в 13:47

Товарищи, где этот самый файл? Я поставил "ENB 0.081 SORA" на GTA 4, его всё равно нет. Может, "enbeffect.fx"?

Overclock[er]   1 июля 2011 в 14:10

Brando9
Деиствительно нету!Я создал фаил в формате "txt" , и скопировал в него все,что надо,а скидывать (КУДА ИМЕННО) не знаю.

...ДимаSик...
Блин нету его.10 раз смотрел и в поиске не находится
Во во,тоже самое.

ВОТ: Нажми сюда

Bartaty ED   1 июля 2011 в 14:43

Бл*ть, в корневой папке он лежит, если Enb стоит!!!!

Brando9   1 июля 2011 в 19:34

Galaregmb нет, это не enbeffect.fx, ты скорее всего используешь версию не поддерживающую данный эффект, переходи на 82-ю.
Ghost_[MW2] назови его effect и закинь в папку с игрой.

k1slim   1 июля 2011 в 21:49

Мне кажется,что темку нужно перенести в подфорум "моддинг и скриптинг".Там она будет уместнее,Brando9 отпишись в личку на этот счёт..

Overclock[er]   18 июля 2011 в 16:46

А нафиг это сглаживание,играю без него на высоких настроиках при 34-66 фпс.Графа итак отличная

Brando9   18 июля 2011 в 17:18

Никто не спорит, это мы уже зажрались. А если серьезно, то взгляни на провода здесь и взгляни у себя.

IRON_MAN_AMG   18 июля 2011 в 17:39

Поставил, лесенки немного уменьшились, но полностью не исчезли. на GTS 450 особо не жрет, с енб 33-40фпс.

ebanat_KILLYA   4 июля 2016 в 09:06

Че за ENB ? Дайте название плиз,а то файла нет,создам попробую...






GTA V
GTA: Vice City Stories
GTA IV
GTA: San Andreas
GTA: Vice City
GTA 3
GTA 2
GTA
GTA: Chinatown Wars
GTA: Liberty City Stories
Звуковые архивы: самое интересное и необычное (14)
Mule и steed (0)
Секреты и приколы GTA 5 (466)
Пропал трафик в игре что делать? (1)
GTA5 Мутное заднее стекло и боковое в машине от 1-го лица (15)
Что за музыка? (1)
Чит-код активировался сам во время гонки (6)
Тайны альфа/бета-версии GTA: VC (228)
Болталка GTA.ru (544)
Grand Theft Auto 2 намертво зависает - Решение! (0)
Нет некоторых машин на Xbox 360 (1)
Впечатления от GTA 5 (PC) (271)
GTA III Re3 + xbox edition re3 (1)
Тайны альфа-/бета-версии GTA: SA (454)
Помогите найти репак (2)
Тайны альфа/бета-версии GTA III (449)
Как вы тратите деньги в GTA IV? (217)
popcycle.dat в the ballad of gay tony (1)
Имущество и бизнес в GTA: VCS (38)
NOOSE Patriot в трафике (1)

Последние добавленные
Grand Theft Auto: San Andreas "Убийства людей приносят деньги, восстанавливают здоровье и броню, макс. уровень розыска на выбор (SA) 1.0" 101Mb
Grand Theft Auto: San Andreas "Все машины пуленепробиваемые и ударостойкие, но уязвимы к огню и взрывам (SA) 1.0" 335Mb
Grand Theft Auto: San Andreas "Погоня Чужих на вайсидском гермесе за Сиджеем (SA)1.0" 4,981Mb
Grand Theft Auto: San Andreas "Оптимизация для старых ноутбуков (SA) v.1.3" 792Mb
GTA5 "Drift v3.9" 1,078Mb
Grand Theft Auto 4 "PS4/3 DualShock Buttons" 322Mb
Grand Theft Auto: San Andreas "Укрепление макушек всех жителей Сан Андреса на выбор (SA) 1.0" 172Mb
Grand Theft Auto: San Andreas "Всеобщее вооружение всех жителей Сан Андреса на выбор (SA) 1.0" 665Mb
Grand Theft Auto: San Andreas "Травля Сиджея магучими химерами на выбор (SA) 1.0" 7,499Mb
Grand Theft Auto 5 "Language Tool v3.3" 1,955Mb

Самые популярные
Патч GTA 4 v1.0.7.0 (скачано: 198407)
Патч GTA 4 v 1.0.3.1/1.0.4.0 (RU/ENG) (скачано: 171660)
GTA "SA-MP 0.3.7 R4 (клиент R4 и сервера R2)" (скачано: 155530)
GTA 4 "Social Club v1.1.3.0" (скачано: 139990)
Патч GTA 4 v1.0.6.1 Русская версия (скачано: 130041)
Русификатор Grand Theft Auto IV и Grand Theft Auto: Episodes from Liberty City [Steam] (скачано: 120760)
Grand Theft Auto 4 (GTA IV): Русификатор (текст) [1.0.7.0] (скачано: 113695)
GTA MTA:SA v1.3.1 (скачано: 104077)
Патч GTA 4 v1.0.1.0 EN (скачано: 98324)
Патч GTA 4 v 1.0.2.1/1.0.3.0 (RU/ENG) (скачано: 91115)






Rambler's Top100






, коды на Alpha Protocol, GRID 2 дата выхода, игра Worms Revolution
   Copyright ©  наверх | главная | e-mail