[Sammelthread] GTA IV [FAQ & Performance]

naja ich würd liebendgerne die effect behalten da die bis jetzt die beste farbgbung und die beste sättigungsart benutzt ^^is genau das was ich haben möchte...das hab ich mit der von Lord nicht hinbekommen...oder wo stell ich die parameter direkt da drin um?

ps.
never touch a running system :fresse:
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Farbgebung und Sättigung über enbeffect :

#define GlobalSaturation
float Saturation = 1.23;

#define GAMMACORRECTION
float GammaAmount = 1.2;
 
jaa das hab ich bei deiner versucht ;) aber bei dir ists so das es wie das ingame Saturation wirkt...in der ENBEffect die ich nutze es aber anscheinend n anderer code ist ^^ ich hab mit deiner enbeffect nicht das gewünschte bild erreichen können...obwohl ich mit den werten wie ein irrer daran rumgebastelt hab ^^
 
Jetzt ganz doof gefragt... wieso willst du überhaupt neue effekte haben wenn dir doch jetzt alles schon so gefällt wie es ist? :d Neue effekte bedeuten, je nachdem was man reinpackt, auch eine neue Farbgebung etc. Und wie du selbst schon sagtest "never touch a running system"... Sag mir/uns lieber was dir an der jetzigen variante missfällt, dann kann man dir entweder sagen was du in der vorhandenen ändern musst, oder ob man doch was neues einbaut (wie nord schon sagte, geht das dann aber wieder auf die fps).
 
okay dann sag ich es mal vorsichtig so ist es möglich Lord seine enbeffect mit dem farbcode von der die ich benutze zu kombinieren?? =D
 
Also Schakusa seine (Lord benutzt die ja "nur") effecte in deine rein.. Lens Flare, das Dof usw.., oder?

---------- Post added at 10:58 ---------- Previous post was at 10:56 ----------

enbeffect.fx
// Adjustable Variables

#include "enbconfig.txt"

// Depth of Field

#define LOWQUALITYDOF
//#define HIGHQUALITYDOF

////////////////////////////////////////////

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

////////////////////////////////////////////

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

//Sampler states fixing problems on ATI cards

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

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

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

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

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

////////////////////////////////////////////

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

////////////////////////////////////////////

// Depth of Field

#ifdef LOWQUALITYDOF

r0 = tex2D(s1, _v0.xy);
r0.y =- _c77.x + _c77.y; //-dofProj.x + dofProj.y
r0.y = 1.0 / r0.y;
r0.z = r0.y * _c77.y; //dofProj.y
r0.z = r0.z * -_c77.x; //dofProj.x
r0.x = _c77.y * -r0.y + r0.x;
r0.x = 1.0 / r0.x;
r0.y = r0.z * r0.x;
r1 = tex2D(s2, _v0.xy); //HDRSampler
r2 = tex2D(s3, _v0.xy); //BloomSampler
//r1 *= 10.0;
r0.w = abs(_c79.w);
r3 = _c4; //-0.5, -1.5, 1.5, 0.5
float2 center;
float distance;
float focus;
float farblur;
float dof;
distance = r0.z * r0.x - _c78.w; //dofDist.w
distance += _c78.y * -r3.w; //dofDist.y
distance += 400-DOFDistance;//offset
center.x = _v0.x - 0.5;
center.y = 0.5 - _v0.y;
focus = length(center.xy)*1.41;
focus = pow(focus,3) * 3.5;
focus = max(focus,0.0);
farblur = clamp(distance * 0.018, 0.2, 1.8);
if (distance * 0.1 > 2)
{
dof = 0.0;
}
else
{
dof = 0.0;
}
float2 off_c76 = _c76.xy*min(focus + farblur + dof, DOFBlurAmount*2);
r4.xy = off_c76.xy * r3.xy + _v0.xy; //TexelSize.xy
r4 = tex2D(s2, r4.xy); //HDRSampler
r5.xy = off_c76.xy * r3.zx + _v0.xy; //TexelSize.xy
r5 = tex2D(s2, r5.xy); //HDRSampler
r3.xz = off_c76.xy * r3.wz + _v0.xy; //TexelSize.xy
r6 = tex2D(s2, r3.xz); //HDRSampler
r3.xy = off_c76.xy * r3.yw + _v0; //TexelSize.xy
r7 = tex2D(s2, r3.xy); //HDRSampler
r1.w = dot(r4.xyz, r4.xyz);
r1.w = 1.0 / r1.w;
if (-r1.w < 0.0)
{
r3.xyz = r4.xyz;
}
else
{
r3.xyz = _c0.x;
}
r1.w = dot(r5.xyz, r5.xyz); //dp3
r1.w = 1.0 / r1.w;
if (-r1.w < 0.0)
{
r4.xyz = r5.xyz;
}
else
{
r4.xyz = _c0.x;
}
r1.w = dot(r6.xyz, r6.xyz); //dp3
r1.w = 1.0 / r1.w;
if (-r1.w < 0.0)
{
r5.xyz = r6.xyz;
}
else
{
r5.xyz = _c0.x;
}
r1.w = dot(r7.xyz, r7.xyz); //dp3
r1.w = 1.0 / r1.w;
if (-r1.w < 0.0)
{
r6.xyz = r7.xyz;
}
else
{
r6.xyz = _c0.x;
}
r1.w = dot(r1.xyz, r1.xyz); //dp3
r1.w = 1.0 / r1.w;
if (-r1.w < 0.0)
{
r7.xyz = r1.xyz;
}
else
{
r7.xyz = _c0.x;
}

#endif

#ifdef HIGHQUALITYDOF

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;
int DoF_TAPS = 60;
if (DoF_TAPS > 0)
{
depth = max(depth, 0);
float4 vDofParams = float4(2.5, 0, DOFDistance, 1.0);
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[60] =
{
float3( 0.2165, 0.1250, 1.0000 ),
float3( 0.0000, 0.2500, 1.0000 ),
float3( -0.2165, 0.1250, 1.0000 ),
float3( -0.2165, -0.1250, 1.0000 ),
float3( -0.0000, -0.2500, 1.0000 ),
float3( 0.2165, -0.1250, 1.0000 ),
float3( 0.4330, 0.2500, 1.0000 ),
float3( 0.0000, 0.5000, 1.0000 ),
float3( -0.4330, 0.2500, 1.0000 ),
float3( -0.4330, -0.2500, 1.0000 ),
float3( -0.0000, -0.5000, 1.0000 ),
float3( 0.4330, -0.2500, 1.0000 ),
float3( 0.6495, 0.3750, 1.0000 ),
float3( 0.0000, 0.7500, 1.0000 ),
float3( -0.6495, 0.3750, 1.0000 ),
float3( -0.6495, -0.3750, 1.0000 ),
float3( -0.0000, -0.7500, 1.0000 ),
float3( 0.6495, -0.3750, 1.0000 ),
float3( 0.8660, 0.5000, 1.0000 ),
float3( 0.0000, 1.0000, 1.0000 ),
float3( -0.8660, 0.5000, 1.0000 ),
float3( -0.8660, -0.5000, 1.0000 ),
float3( -0.0000, -1.0000, 1.0000 ),
float3( 0.8660, -0.5000, 1.0000 ),
float3( 0.2163, 0.3754, 0.8670 ),
float3( -0.2170, 0.3750, 0.8670 ),
float3( -0.4333, -0.0004, 0.8670 ),
float3( -0.2163, -0.3754, 0.8670 ),
float3( 0.2170, -0.3750, 0.8670 ),
float3( 0.4333, 0.0004, 0.8670 ),
float3( 0.4328, 0.5004, 0.8847 ),
float3( -0.2170, 0.6250, 0.8847 ),
float3( -0.6498, 0.1246, 0.8847 ),
float3( -0.4328, -0.5004, 0.8847 ),
float3( 0.2170, -0.6250, 0.8847 ),
float3( 0.6498, -0.1246, 0.8847 ),
float3( 0.6493, 0.6254, 0.9065 ),
float3( -0.2170, 0.8750, 0.9065 ),
float3( -0.8663, 0.2496, 0.9065 ),
float3( -0.6493, -0.6254, 0.9065 ),
float3( 0.2170, -0.8750, 0.9065 ),
float3( 0.8663, -0.2496, 0.9065 ),
float3( 0.2160, 0.6259, 0.8851 ),
float3( -0.4340, 0.5000, 0.8851 ),
float3( -0.6500, -0.1259, 0.8851 ),
float3( -0.2160, -0.6259, 0.8851 ),
float3( 0.4340, -0.5000, 0.8851 ),
float3( 0.6500, 0.1259, 0.8851 ),
float3( 0.4325, 0.7509, 0.8670 ),
float3( -0.4340, 0.7500, 0.8670 ),
float3( -0.8665, -0.0009, 0.8670 ),
float3( -0.4325, -0.7509, 0.8670 ),
float3( 0.4340, -0.7500, 0.8670 ),
float3( 0.8665, 0.0009, 0.8670 ),
float3( 0.2158, 0.8763, 0.9070 ),
float3( -0.6510, 0.6250, 0.9070 ),
float3( -0.8668, -0.2513, 0.9070 ),
float3( -0.2158, -0.8763, 0.9070 ),
float3( 0.6510, -0.6250, 0.9070 ),
float3( 0.8668, 0.2513, 0.9070 )
};
float2 pixelSizeHigh;
float2 pixelSizeLow;
pixelSizeHigh.x = 1.0 / _c44.x;
pixelSizeHigh.y = 1.0 / _c44.y;
pixelSizeLow.xy = pixelSizeHigh.xy;
float2 vMaxCoC = float2(5.0, 10.0);
float radiusScale = DOFBlurAmount;
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;

#endif //HIGHQUALITYDOF

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.yz * _c5.z; //0.125
r5 = tex2D(s6, _v0.xy); //StencilCopySampler
r1.w = r5.x - _c85.x; //PLAYER_MASK.x
r4.zw = r3.xy * _c2.w; //8.0
r4.zw = _v0.xy * _c3.xy + r4.zw; //58.1640015, 47.1300011
r5 = tex2D(s5, r4.zw); //JitterSampler
//r2.w = r5.x - 0.5; //-0.5
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<10; iii++)
{
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.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;

////////////////////////////////////////////

// Bloom

r11 = r0;
float4 color = r11;
float4 origcolor = tex2D(s2, _v0.xy);
r5 = tex2D(s4, _c0.x);
r5.w = r5.x;
r5.w = 1.0/r5.w;
color.xyz = color.xyz * r5.w;
float4 colorbloom = tex2D(s3, _v0.xy);//0.5
colorbloom *= r5.w;
float bloomgray = dot(colorbloom.xyz, 0.333) * 0.01;
colorbloom.r *= 0.01;
colorbloom.g *= 0.01;
colorbloom.b *= 0.01;
color = colorbloom * BloomAmount + color;
color.xyz = lerp(color.xyz, color.xyz * 0.8+colorbloom.xyz * 0.3, saturate(bloomgray));
color.xyz = max(color.xyz, 0.0001);
float cgray = dot(color.xyz, 0.333);
float3 poweredcolor = pow(color.xyz, ColorSaturation);
float newgray = dot(poweredcolor.xyz, 0.333);
color.xyz = poweredcolor.xyz * cgray / (newgray + 0.0001);
color *= Brightness;
float4 curr = ((color * (0.1 * color + 0.1 * 0.5) + 0.2 * 0.02) / (color * (0.1 * color + 0.5) + 0.2 * 2.3)) - 0.02 / 2.3;
float4 whiteScale = ((11.2 * (0.1 * 11.2 + 0.1 * 0.5) + 0.2 * 0.02) / (11.2 * (0.1 * 11.2 + 0.5) + 0.2 * 2.3)) - 0.02 / 2.3;
color = curr * whiteScale;
color = pow(color, 1/2.2);
color.xyz = saturate(color.xyz);
float luma = dot(color.xyz, _c12.xyz);
float3 blend = luma.xxx;
float L = min(1, max(0, 10 * (luma - 0.45)));
float3 result1 = 2.0 * color.xyz * blend;
float3 result2 = 1.0 - 2.0 * (1.0 - blend) * (1.0 - color.xyz);
float3 newColor = lerp(result1.xyz, result2.xyz, L);
float3 mixRGB = 0.25 * newColor.xyz;
mixRGB += ((1.0f - 0.25) * color.xyz);
color.xyz = mixRGB;
color.xyz = lerp(color.xyz, 0.5 * (1 + sin((color.xyz - 0.5) * 3.1415926)), Contrast);
color = BloomAdd * colorbloom * r3.x + color;

////////////////////////////////////////////

// Pallete texture (0.082 version feature)

color.rgb = saturate(color.rgb);
float3 brightness = 0.001; //tex2D(s4, _c0.x);
float3 palette;
float4 uvsrc = 0.0;
uvsrc.y = brightness.r;
uvsrc.x = color.r;
palette.r = tex2Dlod(s13, uvsrc).r;
uvsrc.x = color.g;
uvsrc.y = brightness.g;
palette.g = tex2Dlod(s13, uvsrc).g;
uvsrc.x = color.b;
uvsrc.y = brightness.b;
palette.b = tex2Dlod(s13, uvsrc).b;
color.rgb = palette.rgb;

////////////////////////////////////////////

focus = length(center.xy) * 1.41421;
focus = pow(focus, 5);
color.xyz -= focus * VignetteAmount;
_oC0.xyz = color.xyz;
//_oC0.w = 1.0;
return _oC0;
}

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

dazugehörige enbconfig.txt
// Visual Settings

float Brightness = 0.85;
float Contrast = 1.3;
float ColorSaturation = 0.9;
float BloomAmount = 40;
float BloomAdd = 0.25;
float VignetteAmount = 0.0;
float DOFBlurAmount = 0.5;
float DOFDistance = 400;
könnte man das nicht auch so bei z.B. schakus enbeffect.fx machen?
 
maan, wollte grad sagen... so ohne test, schnell code auf der Arbeit eingefügt.. sollte schwer sein was funktionierendes zu machen^^ :eek:
Ist die ENB überhaupt aktiviert? die werte müssen halt noch eingestellt werden... war nur n schneller test
 
Zuletzt bearbeitet:
Habt ihr eig. alle nix zu tun :-D komm gar nicht mit hier :-P

Gesendet von meinem LT18i mit der Hardwareluxx App
 
gtaiv2012061910431508.jpg

gtaiv2012061910442706.jpg

gtaiv2012061911121498.jpg

gtaiv2012061911113591.jpg

gtaiv2012061911395920.jpg
 
Zuletzt bearbeitet:
@drago
durch ne falsche enbeffect kann da auch n teil net geladen werden, deswegen frag ich ;)

@thunder
nicht wirklich xD 3 Kolleginnnen im Urlaub, von denen ich immer arbeite bekomme.. daher bin ich hier aktiv^^

@nigg
das letzte bild find ich suuper
thumbs-up-micro.jpg
 
@drago: auf dem bild von dir wird die enbeffect nicht geladen, das sieht man immer daran wenn man in die sonne schaut und die einfach nur noch komisch aussieht. Und ohne nord zu nahe treten zu wollen, das kann so nicht klappen :d Ich kann heute Abend mal schauen deine Farben in die enbeffect von mir (von lord ^^) einzubauen, obs klappt weiß ich aber nicht :d aber ein versuch isses wert.

ansonsten stimme ich thunder zu... ABARTIG!!! schafft mal was!!! :d
 
schak :d
ich hab doch keine ahnung von dem code zeugs :lol:
ich arbeite doch... zwischen meinen posts^^

---------- Post added at 13:39 ---------- Previous post was at 13:38 ----------

und Nyze bilder sehen top aus, welche enb isses denn diesmal?
 
ich finde die Bilder von Nyze etwas körnig. als hätten sich kleine helle Pünktchen in den Texturen versteckt. Oder siehst du das anders, nyze?
 
so verkehrt war die idee gar nichtmal, nord. ich denke das prob ist das sich da dann 2 tonemappings beissen bei der variante da, sonst solllte das sogar fast funktionieren :)

schnell paar (reserve)-bilder :d




 
verdammter 17" monitor auf der Arbeit... hier sieht man ja gar nix :fresse: ich will hier auch nen 24" ^^

nyyyyze antworte doch mal auf meine Fraaaaaaage^^
 
Zuletzt bearbeitet:
ja, gut möglich @drago. Ich hab einfach das Gefühl die sind in anderen Bildern in diesen Forum weniger zu sehen. Aber eigentlich möchte ich die Meinung des "Autors" sebst hören ;-)
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh