• Вход / Регистрация
    Логин:
    Пароль:
Страница 163 из 450«12161162163164165449450»
Архив - только для чтения
Форум 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
 pit_bull
Дата: Вторник, 2012-09-11, 17:21 | Сообщение # 2431
Гангстер
Сообщений: 51
AgainstAllAutority,Привет. Не додумалась моя голова :)

Только напиши мне где моя ошибка или что я делал не так,мне просто уже самому интересно
Парни все кто мне помогают спасибо вам огромное.


My Gallery
Самое большое заблуждение детства - мы думали, что быть взрослыми здорово...
 
offline
 Vitos
Дата: Вторник, 2012-09-11, 17:40 | Сообщение # 2432
Гангстер
Сообщений: 569
portal-2x2, смысл этого кода - полоски сверху и снизу. Витя их придумал, я тестил. Сказал запилить на мании под совместным авторством. Полоски пашут.
 
offline
 portal-2x2
Дата: Вторник, 2012-09-11, 18:27 | Сообщение # 2433
Гангстер
Сообщений: 1252
Vitos, Какой фигни только не придумают :D


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
 
offline
 Orangebrains
Дата: Вторник, 2012-09-11, 18:58 | Сообщение # 2434
Гангстер
Сообщений: 615
m0ut, мне так нравится.

portal-2x2, Vitos, в HD6 для скайрима есть точно такая же виньетка. Правда код длиннее, но его и настроить можно лучше. Там куча контроллеров.
 
offline
 portal-2x2
Дата: Вторник, 2012-09-11, 19:30 | Сообщение # 2435
Гангстер
Сообщений: 1252
Я думал что виньетка это вот : [spoiler="Код"]
#define VIGNETTE
#ifdef VIGNETTE
float rovigpwr = 0.75; //for a circular vignette
float2 sqvigpwr = float2( 0.5, 0.5 ); // for the top and bottom of the screen
float vsatstrength = 1; // color distortion
float vignettepow = 1; // increases the contrast and sharpness
float vstrengthatnight = 10.25;
float2 inTex = _v0;
float vhnd = 0.5;
float4 voriginal = r0;
float4 vcolor = voriginal;
vcolor.xyz=1;
inTex -= 0.5; // center
inTex.y += 0.01; // offset from the center
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); // contrast
rvigtex.xyz = lerp(float3(1,1,1),rvigtex.xyz,rovigpwr); // strength of the circular vinetty
float4 vigtex = vcolor;
vcolor.xyz = float3(1,1,1);
float3 topv = min((inTex.y+0.5)*2,1.5) * 2; // top
float3 botv = min(((0-inTex.y)+0.5)*2,1.5) * 2; // botton
topv= lerp(float3(1,1,1), topv, sqvigpwr.x);
botv= lerp(float3(1,1,1), botv, sqvigpwr.y);
vigtex.xyz = (topv)*(botv);
vigtex.xyz*=rvigtex.xyz;
vigtex.xyz = lerp(vigtex.xyz,float3(1,1,1),(1-vstrengthatnight)*(1-vhnd)); //for a dark screen
vigtex.xyz = min(vigtex.xyz,1);
vigtex.xyz = max(vigtex.xyz,0);
float3 vtintensity = dot(r0.xyz, float3(0.2125, 0.7154, 0.0721));
r0.xyz = lerp(vtintensity, r0.xyz, ((((1-(vigtex.xyz*2))+2)-1)*vsatstrength)+1 );
r0.xyz *= (vigtex.xyz);
#endif
[/spoiler]


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
 
offline
 Orangebrains
Дата: Вторник, 2012-09-11, 19:41 | Сообщение # 2436
Гангстер
Сообщений: 615
portal-2x2, эта обычная круговая?
А есть что-то типа киношных полос. Тоже из HD6.

Добавлено (11.09.2012, 19:39)
---------------------------------------------
Виньетка есть в Айсе 2.1

Добавлено (11.09.2012, 19:41)
---------------------------------------------
Вот пример этой виньетки:
[spoiler="Скрин от 10 августа"][/spoiler]

 
offline
 Daniel_555_
Дата: Вторник, 2012-09-11, 20:01 | Сообщение # 2437
Модмейкер
Сообщений: 208
Orangebrains, ппц как красиво!!


Daniel_555_
 
offline
 AgainstAllAutority
Дата: Вторник, 2012-09-11, 22:40 | Сообщение # 2438
Гангстер
Сообщений: 801
pit_bull, смотри:
(эффект от айса 1.2 чтоле?)
ищем строчку
Code

return _oC0;   

перед ней есть
Code

_oC0.xyz=color.xyz;   


это значит, что картинка, что будет выведена на экран хранится в переменной color

перед той строчкой ставишь код, что был выложен, заменив r0 на color

Code

if (_v0.y <0.075)
{
color.xyz = 0;
}
if (_v0.y >0.925)
{
color.xyz = 0;
}   
// а это твоя строчка в эфекте, перед ней (т.е НАД) и копируешь код
_oC0.xyz=color.xyz;   

portal-2x2, я его сам придумал. Это самый простой метод "киношных полос" какой может только быть))) учи матчасть))))




Сообщение отредактировал AgainstAllAutority - Вторник, 2012-09-11, 22:47
 
offline
 Maksim22
Дата: Вторник, 2012-09-11, 22:53 | Сообщение # 2439
Гангстер
Сообщений: 380
AgainstAllAutority, Вот,о чем и говорил.
[spoiler="енбеффект от ААА"]http://rghost.ru/40314304[/spoiler]

[spoiler="Мой енбеффект"]http://rghost.ru/40314335[/spoiler]

Пост по поводу дофа,у меня есть два файла енбеффект,один с очень крутым дофом(твоим как я понял)и мой,если можно,перекинуть в мой енбеффект только код дофа,потому что когда я заменяю целиком весь файл картинка у меня убивается,тускнеет....


Проц: Intel I5 2500K 4.5Ghz + Zalman CNPS11X Extreme
Мат.плата: Аsus P8P67
Видео: Inno3D GeForce GTX 770 iChill HerculeZ X3 Ultra
Озу: 16Гб 1600Mhz
Бп: CHIEFTEC APS-650C


Сообщение отредактировал Maksim22 - Вторник, 2012-09-11, 22:56
 
offline
 Orangebrains
Дата: Вторник, 2012-09-11, 22:56 | Сообщение # 2440
Гангстер
Сообщений: 615
AgainstAllAutority, а можешь разнообразить этот простой метод?
Ну настройку потоньше сделать, например)
Quote (Maksim22)
потому что когда я заменяю целиком весь файл картинка у меня убивается,тускнеет....

ну так правильно. другой енбэффект настроен под другой енб. вот и тускнеет.
пересади код дофа просто.
 
offline
 AgainstAllAutority
Дата: Вторник, 2012-09-11, 23:05 | Сообщение # 2441
Гангстер
Сообщений: 801
Maksim22, окей, это будет "инструкция" для всех:

находим в файле строчку:
Code

//for future use
r11=r0;

именно с этой строчки в 99% эффектов начинается часть посвященная обработку цвета, по ряду причин проще копировать именно её!
от этой строчки до
Code

return _oC0;

все посвящено смешиванию цвета и блума, подстроек яркости и тп
главное, не забывайте, что у вас к этим настройкам могут быть привязанны контроллеры в самом начале эффекта
в эффекте от ААА (который кстати с ошибкой, но не суть :D ) в начале много букаф с цифирями через знаки равно. Это и есть контроллеры.

Теперь просто ПЕРЕНОСИМ ВСЕ от первой до второй показанной строчек
вот так:
Code

//++++++++++++++++++++++++++++++++++++++++++++
// ENBSeries effect file
// visit http://enbdev.com for updates
// Copyright 2010 (c) Boris Vorontsov
//
// Using decompiled shader of GTA4 game by
// Rockstar Games.
//++++++++++++++++++++++++++++++++++++++++++++
// DoF code from AMD.
// Tonemapping code from filmicgames.com
// converted by gp65cj04
// Codes & Shaders are made by ICELAGLACE & DPEASANT3 & DKT70 & GP65CJ04 & BORIS
//++++++++++++++++++++++++++++++++++++++++++++

//NOTE: enable or disable these
//to disable, write // symbols before #define
//#define APPLYGAMECOLORCORRECTION //use contrast, brightness, saturation from game
#define AUTOFOCUS

int    DoF_TAPS = 12; // qulity: 8 or 24.
int    PixelSizeMultiplier = 2; // set this value to 2 when you active SSAA.

float2    FocusPoint = float2(0.5, 0.45);

float    EColorSaturation = 0.98;  
float    BP_factor = 0.10;

float   fRatio = 0.02;
float   moodR = 1.0;
float   moodG = 1.0;
float   moodB = 1.0;

float    EBrightnessV2 = 3.3;
float    Contrast = 1.6;
float    A = 0.20; // Shoulder Strength  
float    B = 1.50; // Linear Strength
float    C = 0.20; // Linear Angle
float    D = 1.90; // Toe Strength
float    E = 0.02; // Toe Numerator
float    F = 1.50; // Toe Denominator
float    W = 11.0; // White Scale
   

float    EBloomAmount = 0.40;
float    BloomR = 1.00;
float    BloomG = 1.00;
float    BloomB = 1.00;

float    VignetteAmount = 0.15;

//   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);//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>; };
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 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;

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

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

  float2    center;
  float    depth;
  float    focus;

   
  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);
  r3=_c4; //-0.5, -1.5, 1.5, 0.5

  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;

         float4    vDofParams = float4(-50, 1.5, 1000.0, 0.45);

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

#ifdef AUTOFOCUS  

         r4=tex2D(s1, FocusPoint); //GBufferTextureSampler3
  r4.y=-_c77.x + _c77.y; //-dofProj.x + dofProj.y
  r4.y=1/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/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, FocusPoint).w;
  if(r4.w > 0)
  {
   vDofParams.z = cdepth*2;
   vDofParams.y = cdepth;
  }
#endif

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

         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 ),
  };

  float2    pixelSizeHigh;
  float2    pixelSizeLow;

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

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

  pixelSizeHigh.xy *= PixelSizeMultiplier;

  pixelSizeLow.xy = pixelSizeHigh.xy;

  float2    vMaxCoC = float2(6.0, 12.0);

  float    radiusScale = 0.5;
   
  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 += 148;//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; //0.082 fixed
  r5.xyz=r3.xyz;
  r2.w=_c1.y; //1.0
  r3.w=_c1.y; //1.0

//motion blur
  for (int iii=0; iii<25; 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.3)
   {
    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;

//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;

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

r0=r11+r0*1;  

//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*1));
//HERE 0.1 is bloom factor 1, soft bloom
r0=r7*0.1 + r0;
r10=dot(r0.xyz, _c12.xyz); //luminance
r10=r10*1;
r0=r0*r10;

r0=(pow(r0*2,0.6))*0.3+r0*1;

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.8*r7 * r3.x + r0; //c10.x

r0=(1-pow(2.4,-r0))*0.5+r0*0.8;

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

/*
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;

_oC0.xyz=r0.xyz;

  //_oC0.w=1.0;

  return _oC0;
}

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


 
offline
 Orangebrains
Дата: Вторник, 2012-09-11, 23:33 | Сообщение # 2442
Гангстер
Сообщений: 615
AgainstAllAutority, r0.xyz=r0.xyz*0.6+sin(r0.xyz*3.1415926*0.5)*0.4; - что за код?
 
offline
 pit_bull
Дата: Среда, 2012-09-12, 04:38 | Сообщение # 2443
Гангстер
Сообщений: 51
В общем намучившись с кодом от AgainstAllAutority я взял енбэффект который сюда на форум запили portal-2x2.
Я его внимательно "рассмотрев" нашел там этот код
[spoiler="код"]color.xyz=(_v0.y > 0.05 && _v0.y < 0.95) ? color.xyz : 0.0;[/spoiler]
запилил его над строчкой _oC0.xyz=color.xyz и что вы думаете crazy вуаля все работает :)
[spoiler="полосы :)"][/spoiler]

AgainstAllAutority К сожалению с твоим кодом так нечего и не получилось,либо я не способен это понять.
Я все сделал так как ты написал,к сожалению он так и не заработал. И вот что получилось после твоего кода
[spoiler="скрин"][/spoiler]
Всем спасибо,кто помогал :)


My Gallery
Самое большое заблуждение детства - мы думали, что быть взрослыми здорово...


Сообщение отредактировал pit_bull - Среда, 2012-09-12, 05:44
 
offline
 portal-2x2
Дата: Среда, 2012-09-12, 13:34 | Сообщение # 2444
Гангстер
Сообщений: 1252
Продолжаю возится с эпизодами, добавил блич, муд, колор грейд, свел на нет черноту под авто и в других темных местах, теперь даже в тоннеле метро можно расглядеть обьекты (не под источником света)
[spoiler="Скрины"]

http://fotki.yandex.ru/users/gabe-2x2/view/764313/

http://fotki.yandex.ru/users/gabe-2x2/view/764326/

http://fotki.yandex.ru/users/gabe-2x2/view/764327/

http://fotki.yandex.ru/users/gabe-2x2/view/764334/
[/spoiler]
Ну и решил повозится хорошенько с кодом ССАО и добавил виньетку Вити, если бы она еще сужала сам экран (а не добовляла тупо черные линии crazy
[spoiler="Скрины"]

http://fotki.yandex.ru/users/gabe-2x2/view/764336/

http://fotki.yandex.ru/users/gabe-2x2/view/764343/

http://fotki.yandex.ru/users/gabe-2x2/view/764342/

http://fotki.yandex.ru/users/gabe-2x2/view/764350/
[/spoiler]

Добавлено (12.09.2012, 13:34)
---------------------------------------------
ЗЫ Жаль что колор грейд чутка портит небо, добовляя маску :(



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
 
offline
 Simple999
Дата: Среда, 2012-09-12, 14:09 | Сообщение # 2445
Гангстер
Сообщений: 1000
portal-2x2,
Что за доф?


? 21.12.2013 - Дней на сайте: 999
 
Форум GtaMania.ru » Сайт и форум » Архив » ENB Series GTA 4 (Часть IV) (Ваши настройки, инструкции, вопросы и т.д.)
Страница 163 из 450«12161162163164165449450»
Поиск:

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