[Sammelthread] GTA IV [FAQ & Performance]

@MariX
Mit unseren ENB's auf jeden Fall besser als mit Icenhancer, wir bieten alle bessere FPS als die Ice Versionen^^
Die 6950 wird für anständige Settigs reichen, aber max. auf keinen Fall. Da müssen schon Abstriche gemacht werden.

Danke für die hilfreichen Antworten, die 6950 ist auf 6970 mit Bios und der Q6600 auf 3,6 Ghz. Also mit Schakusa's ENB gehts auch gut in den Keller, evtl noch Tipps ? Danke euch :)
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Hey GTAler,

ich hoffe sehr ihr könnt mir weiterhelfen. Hab gestern mein eingestaubtes GTA IV wieder installiert und wollte es mal wieder durchspielen, am liebsten aufgehübscht mit einem schönen MOD.
Also fix installiert, patch 1.0.7 draufgepackt und den icenhancer 2.0 installiert. Leider laggt das spiel alle 4-5sek sehr stark, und das sogar schon im Menü!
Vielleicht habt ihr Erfahrung (vielleicht hätte ich ja nur 1.0.4 installieren sollen?) mit dem Prob.

Hier mein System:

i5-3570k@ 4GHz
HD7850@ (1050MHz/5500MHz)
8GB DDR3@ 2000MHz

Danke im Vorraus...
 
@pisoko: im icenhancer ist genau der gleiche "fehler" wie in meiner enb :d du musst die iceconfig.ini öffnen und ganz oben das CyclicConfigReading auf false setzen, damit sind die regelmässigen laggs schonmal weg. Ansonsten, das was nord schon geschrieben hat :p vorher beantworte ich keine fragen :d
@marix: meine enb ist denke ich ein wenig besser wie der icenhancer was die fps angeht, obwohl ich teils die selben codes verwende, aber deine gewünschten 40fps mit deiner graka kannst du denke ich bei fast keiner enb hier schaffen... :(

Du könntest aber mal in meiner enbseries.ini folgendes auf "false"setzen und dann mal schauen:

ForceNVidiaCard=false
ForceNVidiaCaps=false

EnableAmbientOcclusion=false
EnableSkyLighting=false

Evtl wirds durch das ausschalten des skylightning etwas dunkler (oder heller:d)... hab das eigentl immer an, aber wenn sich farblich was ändert sag bescheid :p dann ändern wir das anders wieder zurück
 
Zuletzt bearbeitet:
@pisoko: im icenhancer ist genau der gleiche "fehler" wie in meiner enb :d du musst die iceconfig.ini öffnen und ganz oben das CyclicConfigReading auf false setzen, damit sind die regelmässigen laggs schonmal weg. Ansonsten, das was nord schon geschrieben hat :p vorher beantworte ich keine fragen :d
@marix: meine enb ist denke ich ein wenig besser wie der icenhancer was die fps angeht, obwohl ich teils die selben codes verwende, aber deine gewünschten 40fps mit deiner graka kannst du denke ich bei fast keiner enb hier schaffen... :(

Du könntest aber mal in meiner enbseries.ini folgendes auf "false"setzen und dann mal schauen:



ForceNVidiaCard=false
ForceNVidiaCaps=false

EnableAmbientOcclusion=false
EnableSkyLighting=false

Evtl wirds durch das ausschalten des skylightning etwas dunkler (oder heller:d)... hab das eigentl immer an, aber wenn sich farblich was ändert sag bescheid :p dann ändern wir das anders wieder zurück
danke =) werds mal testen
 
armes lord, ich fühle mit dir :d

Mir wurde aber wieder angedroht das man mir die Beine bricht wenn ich keine Screens hiervon mache :d

Kennworth W900 WiP by mr.Bolleck







und kein arschloch-artiger-author hier :d denke so gut wie der jetzt schon aussieht ist er bald release-fertig :)
 
Bin ja immer noch dabei an der effect.txt rumzuspielen (Warum? Darum: Bietet mir in bestimmten Bereichen mehr Möglichkeiten als die enbeffect.fx, in andern muss man dafür aber auch wieder Abstriche machen). Kleiner Zwischenstatus:

Hab einen Bildeffekt kreiert, der es ausehen lässt, als würde man durch eine Wärmebildkamera schauen. Nutzlos aber interessant :d:
 
Schade Spiel leider imemrnoch unspielbar =( bekomme aber auch nun plötzlich scripthook.dll Fehler, Einsprungpunkt nicht gefunden. Muss ich mal schauen
 
Möchte mal wieder GTA4 installieren, weil das schaut hier alles echt sehr geil aus! Blicke hier aber noch nicht so ganz durch (ja, ich habe mehrere Seiten gelesen inkl. der Startseite ;)).

Also wäre es nett, wenn einer von euch mir kurz folgendes erklären könnte:

-> neuster Patch, ja oder?
-> welche Mod(s) ist/sind für die Optik gut und für die Performance nicht zu schlecht ? (1680*1050 @ i5 2500k 4*4Ghz, 8GB RAM, 7870 OC - bitte nicht hauen wegen der Radeon :fresse:)
-> Link zu der neusten Version der jeweiligen Mod, auf der Startseite des Threads steht von "BetterGTAIV 2.0", ist aber von 2011 ..
-> vielleicht ein Link zu einem Tut, wie man Mods & Autos installiert

Oder einfach einen Beitrag, wo das so ungefähr drin steht. Danke schon mal! :)
 
Zuletzt bearbeitet:
@Tripple: Erstmal hallo und wilkommen hier. Erster Schritt ist Schakusas FAQ zu lesen (in seiner Signatur verlinkt) => Patch 1.0.4.0 installieren (NICHT! den neusten).
Das was wir hier alle für die Optik haben heißt ENB Series, kannst auch einfach mal die "schakusa style 2.0" aus seiner signatur nehmen und ausprobieren (da gibts ne Menge verschiedener Konfigs, abhängig vom Geschmack wählt man sich dann eine aus bzw. macht seine eigene).
Zum installieren von Autos am besten das hier: GTA4-Mods.com - Grand Theft Auto 4 car mods, tools, and more! herunterladen und installieren. Damit lassen sich nun einfach heruntergelade Autos ins Spiel einfügen.

Autos dafür gibts hier:
GTA4-Mods.com - Grand Theft Auto 4 car mods, tools, and more!
GTA 5, GTA 4, Mafia 2
...
 
Zuletzt bearbeitet:
@Tripple: Erstmal hallo und wilkommen hier. Erster Schritt ist Schakusas FAQ zu lesen (in seiner Signatur verlinkt) => Patch 1.0.4.0 installieren (NICHT! den neusten).
Das was wir hier alle für die Optik haben heißt ENB Series, kannst auch einfach mal die "schakusa style 2.0" aus seiner signatur nehmen und ausprobieren (da gibts ne Menge verschiedener Konfigs, abhängig vom Geschmack wählt man sich dann eine aus bzw. macht seine eigene).
Zum installieren von Autos am besten das hier: GTA4-Mods.com - Grand Theft Auto 4 car mods, tools, and more! herunterladen und installieren. Damit lassen sich nun einfach heruntergelade Autos ins Spiel einfügen.

Autos dafür gibts hier:
GTA4-Mods.com - Grand Theft Auto 4 car mods, tools, and more!
GTA 5, GTA 4, Mafia 2
...

Danke für die ganzen Tipps, werde mich morgen mal damit auseinander setzten :)
 
Immer diese schakusa faq... schlimm :d aber echt klasse bilder die ihr da postet!
nur drago.. : 1600p? also 2560 x 1600? du meinst 1080o, oder wie schaffst du 40fps mit downsampling? :d
@nord :p







 
@schak
den von Novoka hab ich doch auch :p Den anderen hab ich auch direkt mal angefragt :d
Mit meiner ENB kann ich ohne SSAO und Skylightning auch in 1500p zocken, gar kein Problem^^
 
Immer diese schakusa faq... schlimm :d aber echt klasse bilder die ihr da postet!
nur drago.. : 1600p? also 2560 x 1600? du meinst 1080o, oder wie schaffst du 40fps mit downsampling? :d

nene ich mein schon 1600p :) mit der optik ^^

sagt mal könnt hier mir jemand meine enbeffect. auf den neusten stand bringen?? ^^ bekomm das nich hin da paar dinge reinzumachen :/

hier mal im spoiler die enbeffect

//++++++++++++++++++++++++++++++++++++++++++++
// ENBSeries effect file
// visit http://enbdev.com for updates
// Copyright 2010 (c) Boris Vorontsov
// L3EVO by gp65cj042 & lpf312 - Modified by KBL1974 & Dragozool
// Using decompiled shader of GTA4 game by
// Rockstar Games.
//++++++++++++++++++++++++++++++++++++++++++++

//NOTE: enable or disable these
//to disable, write // symbols before #define
//#define POSTPROCESS_V2 //overwise v1 of color processing
//#define APPLYGAMECOLORCORRECTION //use contrast, brightness, saturation from game

float EColorSaturation=1.0; //overall for two methods
//float EBrightnessV1=1.2; old
float EBrightnessV1=0.3;//was2.2
float EBloomAmountV1=0.1;//was0.1
float EBloomAmountAdditiveV1=1;//was3
float EDarkeningV2=1.35;//was1.35

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


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





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;

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+=140;//offset
center.x=_v0.x-0.5;
center.y=0.5-_v0.y;
focus=length(center.xy)*1.41;
focus=pow(focus,3)*2;
focus=max(focus,0.4);
farblur=clamp(distance*0.01,0.2,1);
if(distance*0.1>2)dof=0.9;
else dof=0.0;

//TEMP decrease bluriness for edge smoothing
float2 off_c76=_c76.xy*(farblur);


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;

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<7; 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.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.212, 0.715, 0.072
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);//luma
r0.w=_c82.z - _c1.y; //deSatContrastGamma.z - 1.0
r2.x=pow(r1.x, r0.w);

_oC0.xyz=r0.xyz * r2.x; //orig
_oC0.w=_c1.y; //1.0





#ifndef POSTPROCESS_V2

r5=tex2D(s4, _c0.x);//adaptation luminance
//r5=1.0;

float4 color;
//r0=tex2D(s2, _v0.xy);//hdr color
color=r0 + r11;
float luma=0.27*color.r + 0.67*color.g + 0.06*color.b;

float4 colorbloom=tex2D(s3, _v0.xy); //bloom

colorbloom.xyz = lerp(colorbloom.xyz, dot(colorbloom.xyz, 0.333), 0.3);

colorbloom.r*=1.1;
colorbloom.g*=1.0;
colorbloom.b*=0.9;


//HERE 0.15 is bloom factor 1, soft bloom
color=colorbloom * EBloomAmountV1 + color;
//power from intensity

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

r10.x=dot(color.xyz, _c12.xyz); //luminance
r10.x*=EBrightnessV1;
color*=r10.x;

//color=pow(color*2, 0.6)*0.3 + color*0.7;

color.xyz=lerp(color.xyz, pow(color.xyz*2, 0.6), 0.3);


//adaptation
r5.w=r5.x;
r5.w=1.0/r5.w;
color.xyz=color.xyz * r5.w;
r3.xy=_c10.xwxw;
r3.xy=r3.xy * r5.w;

color=color * _c7.y; //pre multiply
r1=color * _c7.z; //e multiply
r1=r1 + _c7.w;


color=color / r1;

//HERE 0.8 is bloom for additive mix
color=EBloomAmountAdditiveV1*colorbloom * r3.x + color;

//color=(1 - pow(2.4,-color))*0.5 + color*0.5;

color.xyz=lerp(color.xyz, 1 - pow(2.71, -color.xyz), 0.5);

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.57), 0.4);

#endif //not POSTPROCESS_V2


#ifdef APPLYGAMECOLORCORRECTION
//apply original corrections (((
r0.w=1.0;//_c81.y/r5.x;//r5 is AdapLumSampler

luma=0.27*color.r + 0.67*color.g + 0.06*color.b;
color.xyz=color.xyz * r0.w - luma;
color.xyz=_c82.x * color.xyz + luma; //deSatContrastGamma.x
r0.w=luma * _c84.w; //ColorShift.w
r1.xyz=r0.w * _c84.xyz; //ColorShift

//darken as DarkeningAmount, but keeps colors
color.xyz=color.xyz - _c84.xyz * r0.w; //ColorShift
color.xyz=saturate(r0.w) * color.xyz + r1.xyz;

//coloring (green, brown, ...)
color.xyz=2.0 * color.xyz * _c83.xyz; //ColorCorrect

//desaturating
luma=saturate(luma);
r0.w=_c82.z - _c1.y; //deSatContrastGamma.z - 1.0
color.xyz=color.xyz * pow(luma, r0.w);
#endif //APPLYGAMECOLORCORRECTION


//pallete texture (0.082 version feature)
#ifdef E_CC_PALETTE
color.rgb=saturate(color.rgb);
float3 brightness=0.001;//tex2D(s4, _c0.x);//adaptation luminance
// brightness=brightness/(brightness+1.0);
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;
#endif //E_CC_PALETTE


float weight;


r0.xyz=color.xyz;
r2.x = dot(color.xyz, 0.333);
r2.x = 1 - pow(2.71, -r2.x*8.0);
r2.x = r2.x * 0.2;
r0.xyz = saturate(r0.xyz - r2.x);
r0.xyz = sin(r0.xyz*1.57);
weight=0.6 - r2.x*0.3;
//weight*=1 - saturate(distance*0.01 - 0.1);
color.xyz=lerp(color.xyz, r0.xyz, weight);

focus=length(center.xy)*1.41;
focus=pow(focus, 4);

color.xyz-=focus*0.3;

_oC0.xyz=color.xyz;

//_oC0.w=1.0;
return _oC0;
}


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




//original shader of post processing
technique Shader_ORIGINALPOSTPROCESS
{
pass p0
{

PixelShader=
asm
{
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.23.949.2378
//
// Parameters:
//
// 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
//

ps_3_0
def c0, 0, 0.212500006, 0.715399981, 0.0720999986
def c1, 0.25, 1, 256, 0
def c2, 0, 2, 4, 8
def c3, 58.1640015, 47.1300011, 0, 0
def c4, -0.5, -1.5, 1.5, 0.5
def c5, 2, -1, 0.125, 0
def c6, 256, 2, 4, 8
def c180, 0.0, 0.0, 0.0, 100.5
def c181, 1.0, 0.0, 0.0, 20.01
def c183, 800.0, 600.0, 0.0, 100.5
defi i0, 7, 0, 0, 0
dcl_texcoord v0.xy
dcl_2d s0
dcl_2d s1
dcl_2d s2
dcl_2d s3
dcl_2d s4
dcl_2d s5
dcl_2d s6
texld r0, v0, s1
add r0.y, -c77.x, c77.y
rcp r0.y, r0.y
mul r0.z, r0.y, c77.y
mul r0.z, r0.z, -c77.x
mad r0.x, c77.y, -r0.y, r0.x
rcp r0.x, r0.x
mul r0.y, r0.z, r0.x
texld r1, v0, s2
texld r2, v0, s3
abs r0.w, c79.w
mov r3, c4
mad r4.xy, c76, r3, v0
texld r4, r4, s2
mad r5.xy, c76, r3.zxzw, v0
texld r5, r5, s2
mad r3.xz, c76.xyyw, r3.wyzw, v0.xyyw
texld r6, r3.xzzw, s2
mad r3.xy, c76, r3.ywzw, v0
texld r7, r3, s2
dp3 r1.w, r4, r4
rcp r1.w, r1.w
cmp r3.xyz, -r1.w, c0.x, r4
dp3 r1.w, r5, r5
rcp r1.w, r1.w
cmp r4.xyz, -r1.w, c0.x, r5
dp3 r1.w, r6, r6
rcp r1.w, r1.w
cmp r5.xyz, -r1.w, c0.x, r6
dp3 r1.w, r7, r7
rcp r1.w, r1.w
cmp r6.xyz, -r1.w, c0.x, r7
dp3 r1.w, r1, r1
rcp r1.w, r1.w
cmp r7.xyz, -r1.w, c0.x, r1
mad r0.x, r0.z, r0.x, -c78.w
mad r0.x, c78.y, -r3.w, r0.x
max r1.w, r0.x, c0.x
rcp r0.x, c78.z
mul r0.x, r1.w, r0.x
lrp r1.w, r0.x, c79.z, c79.y
min r0.x, c79.z, r1.w
dp3 r0.z, r7, c0.yzww
dp3 r8.x, r3, c0.yzww
dp3 r8.y, r4, c0.yzww
dp3 r8.z, r5, c0.yzww
dp3 r8.w, r6, c0.yzww
dp4 r1.w, r8, c1.x
add r8, r8, -r1.w
dp4 r2.w, r8, r8
add r0.z, r0.z, -r1.w
mad r0.z, r0.z, r0.z, -r2.w
mul r0.x, r0.x, r0.x
cmp r0.x, r0.z, c1.y, r0.x
texld r8, v0, s0
mov r8.yz, c1
mad r9, r8.w, -r8.z, c2
cmp r9, r9, c1.y, c1.w
mad r10, r8.w, -c6.x, c6.yzwx
cmp r10, r10, -c1.y, -c1.w
add r9, r9, r10
mul r9, r9, c4.x
dp4 r0.z, r9, c1.y
add r0.z, r0.z, c4.w
rcp r0.z, r0.z
mul r8.xzw, r3.xyyz, r9.x
mad r7.xyz, r7, c4.w, r8.xzww
mad r7.xyz, r4, r9.y, r7
mad r7.xyz, r5, r9.z, r7
mad r7.xyz, r6, r9.w, r7
mul r7.xyz, r0.z, r7
add r0.z, -r0.x, c1.y
mul r1.w, r0.x, c1.x
mul r3.xyz, r3, r1.w
mad r3.xyz, r7, r0.z, r3
mad r3.xyz, r4, r1.w, r3
mad r3.xyz, r5, r1.w, r3
mad r3.xyz, r6, r1.w, r3
mad r4.xyz, v0.yxyw, c5.x, c5.y
mul r0.z, r4.y, c77.z
mul r0.z, r0.y, r0.z
mul r1.w, -r4.x, c77.w
mul r1.w, r0.y, r1.w
mul r5.xyz, r1.w, c73
mad r5.xyz, r0.z, c72, r5
mad r5.xyz, -r0.y, c74, r5
add r5.xyz, r5, c75
mul r0.y, -r5.z, c77.z
rcp r0.y, r0.y
mul r6.x, r5.x, r0.y
mul r0.y, r5.z, c77.w
rcp r0.y, r0.y
mul r6.y, r5.y, r0.y
add r0.yz, -r4, r6.xxyw
mul r0.yz, r0, c80.x
mul r4.xy, r0.yzzw, c5.z
texld r5, v0, s6
add r1.w, r5.x, -c85.x
mul r4.zw, r3.xyxy, c2.w
mad r4.zw, v0.xyxy, c3.xyxy, r4
texld r5, r4.zwzw, s5
add r2.w, r5.x, c4.x
mad r4.zw, r4.xyxy, r2.w, v0.xyxy
mov r5.xyz, r3
mov r2.w, c1.y
mov r3.w, c1.y

rep i0
mad r6.xy, r4, r3.w, r4.zwzw
texld r7, r6, s6
add r5.w, r7.x, -c85.x
cmp r5.w, r5.w, c1.w, c1.y
texld r6, r6, s2
mad r5.xyz, r6, r5.w, r5
add r2.w, r2.w, r5.w
add r3.w, r3.w, c1.y
endrep

rcp r2.w, r2.w
mul r0.yz, r0, c183.xxyw//c44.xxyw
dp2add r0.y, r0.yzzw, r0.yzzw, c0.x
rsq r0.y, r0.y
rcp r0.y, r0.y
mul r0.y, r0.y, c4.w
add r0.x, r0.x, c1.y
rcp r0.x, r0.x
mul_sat r0.x, r0.y, r0.x
mad r4.xyz, r5, r2.w, -r3
mad r0.xyz, r0.x, r4, r3
cmp r0.xyz, r1.w, r3, r0
cmp r0.xyz, -r0.w, r0, r1

texld r1, c0.x, s4
rcp r0.w, r1.x
mul r0.w, r0.w, c81.y
rcp r1.x, r0.w
mul r1.x, r1.x, c81.x
mad r1.xyz, r2, c66.x, -r1.x
max r2.xyz, r1, c0.x
mul r1.xyz, r2, c81.z
mul r1.xyz, r1, c1.x
mad r0.xyz, r0, c66.x, r1
mul r1.xyz, r0.w, r0
dp3 r1.x, r1, c0.yzww
mad r0.xyz, r0, r0.w, -r1.x
mad r0.xyz, c82.x, r0, r1.x
mul r0.w, r1.x, c84.w
mul r1.yzw, r0.w, c84.xxyz
mov_sat r2.x, r0.w
mad r0.xyz, c84, -r0.w, r0
mad r0.xyz, r2.x, r0, r1.yzww
mul r0.xyz, r0, c83
add r0.xyz, r0, r0
mov_sat r1.x, r1.x
add r0.w, -r8.y, c82.z
pow r2.x, r1.x, r0.w
//mul r2.x, r2.x, c181.x
mul oC0.xyz, r0, r2.x
mov oC0.w, c1.y

//texld r1, v0, s2
//mul oC0.xyz, r1, c199.z
};
}
}
 
Zuletzt bearbeitet:
wow... das ist ja mal ne ganz alte version ohne alles... kein wunder, dass du 40fps hast :d
nimm doch einfach eine aus ner anderen ENB, z.B. aus meiner, oder der von schakusa. Da ist alles aktuelles drin und man brauch net zu basteln^^
Nur von einen 40fps musst du dich dann verabschieden ;) Zusammen mit der enbeffect müsstest du dann auch die enbbloom ändern, da sonst z.B. das Lensflare nicht geht und die mehrere sonnen siehst xD hatte ich gestern auch das Problem^^
 
Zuletzt bearbeitet:
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