Jump to content

havok2

Recommended Posts

48 for your own DOF strength and line: ( float aperture = 4.0 )

71 to increase or decrease visual quality and performance impact: ( ITERATIONS_STEP 8 )

eC33f1u.jpg

 

Amazing.:thumbsup: Especially the background :music_whistling: :bounce:

 

BTW: Hey guys, Please make before/after-screenshots and report FPS if you are going to play with those float aperture and ITERATIONS_STEP values :thumbup:

 

TY

sign-pic4.jpg

Link to comment
Share on other sites

Hi Havok2,

 

Interested with your work on heat effect and motion blur so far.

Because of this crisis, I'm Learning more on M2000 and F16. As an Airline pilot, I'm stuck at home for an extra couple of months.

 

Your work is excellent. Congrats.

 

Hello JumboJBT

here you find the new file for the heat effect on the engines: Heatair V2.0

 

I made the noise from the distortion smaller and faster. As always, it is natural in the eye of the beholder. Unfortunately it's also a bit difficult to make a screenshot of it.

 

zYHns7S.jpg

 

Currently I am working on making the motionblur dependent on the depth in the picture. I had noticed that unfortunately I had only reduced the strength of the blur. Which, of course, has no added value. As I found out, the motionblur is calculated for the whole picture. That's why the parts of the plane become so extremely blurred when flying past. There is also a commented and deactivated code part in which this depth map is loaded. Unfortunately it seems to be completely black. I will try to take the code from the DOF.fx to get a correct depth indication. So you could then multiply the motion blur depending on the distance of the camera's target point in relation to the depth mask. Here ED seems to have already started, but not continued. When the camera is moving, the blur in the background should be higher, because the relative speed is higher. The current blur of ED is not able to do more than that. In 3D software samples are really rendered in between, but with 8 samples it would mean that the GPU has to deliver 90x8 FPS in VR. So it makes no sense. Post Effect Blur is also not uncommon in the film industry, especially on greenscreen where the exposure time is kept extra short. Reel Smart Motion Blur does something like this. Have a nice weekend!

 

I have already searched for DOF in the interior view, but so far I have not found a file where you could edit anything. I keep my eyes open!

Heatair V2.0.zip


Edited by havok2
added something
Link to comment
Share on other sites

Hi

I've your heat effect mod installed and result is more than positive.

Thanks so much.

 

Cheers

 

Looks like the last 15 years as a visual effects supervisor were not in vain. Thanks! :pilotfly:

 

 

Well, I'm desperate. I think I'm not that far from the goal, but unfortunately without a debugger or experience with C++ in the game engine area it's really hard. I think I was successful in reading out the depth values, but unfortunately every time I try to multiply the value read out for this pixel by the speed vector for motion blur, the image gets like this:

 

UfOMUAy.png

 

I already tried to find out if the depth takes any absurd values like -1, 0, 1 or 1000000. Unfortunately, I can't reach this error with any manually entered value. So it seems that the depth has an incorrect value or is NULL or something like that. The question is why. Does anyone know someone who can help? Thank you!

 

Here is the code. I excluded Line 83 where the problem appears. But I also made a few small adjustments, so if you want to test it.

At Line 77 simply change the multiplier from 8 to a value you want to increase or decrease the ammount of blur.

 

 

#include "common/states11.hlsl"
#include "common/context.hlsl"
#include "deferred/Decoder.hlsl"
#include "deferred/DecoderCommon.hlsl"
#include "common/context.hlsl" //added to get access to some camera values out of the game

float4	g_ColorBufferViewport;
float2	g_ColorBufferSize;
float4x4 invProj; //copied from DOF.fx
float focalDistance, focalWidth; //copied from DOF.fx
uint2	dims; //copied from DOF.fx

TEXTURE_2D(float4, ComposedTex);

//That is the Part from ED that was already here - but unused...
//float LoadDepthBuffer(float2 uv) {	
//	return SampleMap(DepthMap, uv, 0).r;	
//}


static const float2 quad[4] = {
float2(-1, -1), float2(1, -1),
float2(-1, 1),	float2(1, 1),
};

struct VS_OUTPUT {
float4 pos:			SV_POSITION;
float2 projPos:		TEXCOORD0;
};

VS_OUTPUT VS(uint vid: SV_VertexID) {
VS_OUTPUT o;
o.pos = float4(quad[vid], 0, 1);
o.projPos = o.pos.xy;
return o;
}


//copied from DOF.fx V2.0 and renamed it
float getDepthFactor(float dist) {
float zoom = gNearFarFovZoom.w;
float3	 camOrigin = gOrigin;
float3	 camPosition = gCameraPos;
float focalLength = (1/zoom)-0.41667305;
float3	 d = camOrigin-camPosition;
float cameraDistance = sqrt((d.x * d.x)+(d.y * d.y)+(d.z * d.z));
cameraDistance = cameraDistance/100000;	
float aperture = 4.0;
aperture = aperture*aperture;
return focalLength * cameraDistance * abs(focalDistance - dist) / dist / aperture;
}


//copied from DOF.fx V2.0 and renamed it
float getDepth(float2 uv) {
#ifdef MSAA
	float depth = DepthMap.Load(uint2(uv*dims), 0).r;
#else
	float depth = DepthMap.Load(uint3(uv*dims, 0)).r;
#endif
float4 p = mul(float4(uv*2-1, depth, 1), invProj);
float f = getDepthFactor(p.z/p.w);
return pow(f, 2.0);
}


float2 transformColorBuffer(float2 uv) {
return (uv*g_ColorBufferViewport.zw+g_ColorBufferViewport.xy)*g_ColorBufferSize;
}


static float kernel[] = { 0.095478, 0.095002, 0.093587, 0.091276, 0.088137, 0.084259 }; 


float4 PS_MOTION_BLUR(const VS_OUTPUT i, uint sidx: SV_SampleIndex): SV_TARGET0 {

float2 v = (SampleMapArray(GBufferMap, i.pos.xy, 5, 0).xy-127.0/255.0)*8;	// restore velocity //looks like only one Point is used to calculate the motionblur of the wohole image... thats bad
v.y=-v.y; //Flip Motion in Y Direction because it is false otherwise

float2 uv = i.pos.xy;
//float xy_depth = getDepth(uv); //get a depth value for the uv Point

//v = v*xy_depth; //Here I want multiply the velocity with the depth - and the image goes wents bluish... testet with values like 0, -1,1, 1000000. Nothing shows that bluish look... Is the depth value something like NULL, NA and invalid - why?

float3 acc = SampleMap(ComposedTex, uv, sidx).rgb * kernel[0];
for (uint j = 1; j < 6; ++j)
acc = (SampleMap(ComposedTex, uv + v*j, sidx).rgb + SampleMap(ComposedTex, uv - v*j, sidx).rgb) * kernel[j] + acc;
return float4(acc, 1);
}


float4 PS_COPY(const VS_OUTPUT i, uint sidx: SV_SampleIndex): SV_TARGET0 {
return SampleMap(ComposedTex, i.pos.xy, sidx); 
}

technique10 MotionBlur {
pass P0 {
	SetVertexShader(CompileShader(vs_5_0, VS()));
	SetGeometryShader(NULL);
	SetPixelShader(CompileShader(ps_5_0, PS_MOTION_BLUR()));
	
	SetDepthStencilState(disableDepthBuffer, 0);
	SetBlendState(disableAlphaBlend, float4(0.0f, 0.0f, 0.0f, 0.0f), 0xFFFFFFFF);
	SetRasterizerState(cullNone);
}	
}


technique10 Copy {
pass P0 {
	SetVertexShader(CompileShader(vs_5_0, VS()));
	SetGeometryShader(NULL);
	SetPixelShader(CompileShader(ps_5_0, PS_COPY()));
	
	SetDepthStencilState(disableDepthBuffer, 0);
	SetBlendState(disableAlphaBlend, float4(0.0f, 0.0f, 0.0f, 0.0f), 0xFFFFFFFF);
	SetRasterizerState(cullNone);
}	
}

 

 

By the way, the DOF shader does not seem to be called in the cockpit. But the Motionblur Shader is. Maybe it is possible to install a backdoor here and thus activate DOF in the cockpit, as the Motion Blur Shader also has to calculate DOF.


Edited by havok2
added Question for Help to avoid double Post
Link to comment
Share on other sites

Very interesting mod, another area were ED should help a bit.

 

I used to have those empty cockpits after tweaking the VR optimisation mod and I observed that after mission restarts they were solved... so that hint me that maybe it was a problem of patience so next time I loaded the game and had the void cockpits only with MFDs and HUDs... I waited... and waited... and voila... the cockpits appeared after the shaders finish calculating.

 

Do you have HDD by any chance? have you waited like...10 minutes to see if the cockpits reappear?

[sIGPIC][/sIGPIC]

I5 4670k, 32GB, GTX 1070, Thrustmaster TFRP, G940 Throttle extremely modded with Bodnar 0836X and Bu0836A,

Warthog Joystick with F-18 grip, Oculus Rift S - Almost all is made from gifts from friends, the most expensive parts at least

Link to comment
Share on other sites

Hey, guys,

thanks for the input.

 

Very interesting mod, another area were ED should help a bit.

 

I used to have those empty cockpits after tweaking the VR optimisation mod and I observed that after mission restarts they were solved... so that hint me that maybe it was a problem of patience so next time I loaded the game and had the void cockpits only with MFDs and HUDs... I waited... and waited... and voila... the cockpits appeared after the shaders finish calculating.

 

Do you have HDD by any chance? have you waited like...10 minutes to see if the cockpits reappear?

 

I've got an SSD in there, the cockpit's there too - sort of. When I look around, sometimes it seems like it's deep in the fog. But it seems that the depth value is not read out pixel by pixel. So I have analyzed a replay in more detail. The motionblur is calculated correctly. You can see it by the different orientations of the blur in the background. The problem is that this strong motion blur is calculated on the movement of the geometry, but is applied to an "image". As a result, the aircraft is also blurred at the corresponding points. This is then seen as ghosting.

 

To compensate for this, you would have to add motion blur and edge fill to different depths in the image only up to their edges and compose everything back together. There is certainly a way to filter the whole thing, but it will probably be very complex to program and will eat up FPS.

 

eh2TWtH.jpg

 

 

@havok2: probably won't fix the problem but maybe you need to delete metashaders2 and fxo folders after editing the motion blur shader?

 

I'm gonna go check it out. Thanks! -> Game will not start.

 

 

I have now reduced the blur strength a bit and adapted the kernels. So the image is not so ghosty anymore. See the difference: Compared

MotionBlur V2.0.zip


Edited by havok2
Added Motion Blur V2.0
Link to comment
Share on other sites

  • 1 year later...
On 5/4/2020 at 1:00 AM, havok2 said:

Update 05.05.2020:

Download Depth Of Field 2.0 OvGME Ready - Thanks Morpheus.

Update 05.08.2020:

Download Heatair V2.0 OvGME Ready

Update 05.11.2020:

Download MotionBlur V2.0 OvGME Ready

 

 

 

 

Sorry for bumping an old thread, but the links to the files are offline. Is there any way to still use them?

I'm building a campaign! www.coconutcockpit.com

Link to comment
Share on other sites

16 minutes ago, applepiefrost said:

 

Sorry for bumping an old thread, but the links to the files are offline. Is there any way to still use them?

I can have a look if I still have a copy of it - don‘t using them anymore because I switched to VR.

Link to comment
Share on other sites

1 hour ago, applepiefrost said:

Of course, man. No rush!

If you want good graphics for making videos with dcs I can recommend using this as well: 

 

 

Just for bridging the time.


Edited by havok2
  • Like 1
Link to comment
Share on other sites

2 minutes ago, havok2 said:

If you want good graphics for making videos with dcs I can recommend using this as well: 

 

 

Just for bridging the time.

 

Oh excellent. I had already mapped some of the things I use most to an XBox controller, but it looks like this might be way better than what I have. Appreciate it!

I'm building a campaign! www.coconutcockpit.com

Link to comment
Share on other sites

On 5/22/2021 at 10:14 PM, Morpheus said:

I recommend to try them one by one. I‘am not sure if they are all compatible with the latest DCS. The grass shader only works with the DCS Shader Mod. I tried to optimize the performance here. I wrote some comments in the file. Mostly I just edited one, two lines of code. I think at all its not difficult to adjust a newer versions if neccassary. Let me know if something isn‘t working.

DOF.fx heatair.fx motionblur.fx grass2.fx


Edited by havok2
  • Like 2
Link to comment
Share on other sites

  • 2 months later...

@havok2brilliant work, exactly what I was looking for, thank you so much for it!

However I have downloaded the latest DOF.fx and it doesn't appear to work, can you confirm if it's compatible with the latest Openbeta?

 

Cheers!

 

edit: sorry! for some reason it wasn't working but now it is, all good!


Edited by tagomago

AMD Ryzen 9 5900X | Asus ROG Strix B550-F | Asus GeForce RTX 3080 | HyperX 32GB DDR4 3200MHz | SSD Samsung 970 EVO Plus 500GB M.2 NVMe | TrackIR 5 | Oculus Rift S | Thrustmaster T16000M FCS Flight Pack

Link to comment
Share on other sites

Hi,
looking great in pictures, however I cant seem to make it work for me. files are installed correctly and replaced original files (DOF and Heatair only).
What is the way to check if it works? I'm doing something wrong probably...
thanks!

Callsign   SETUP

Link to comment
Share on other sites

On 8/17/2021 at 3:58 AM, ron533 said:

Hi,
looking great in pictures, however I cant seem to make it work for me. files are installed correctly and replaced original files (DOF and Heatair only).
What is the way to check if it works? I'm doing something wrong probably...
thanks!

 

You need to turn on DoF in settings and use RCTRL+Num*/(Num/) to increase focal length.

Link to comment
Share on other sites

12 hours ago, zmz125000 said:

 

You need to turn on DoF in settings and use RCTRL+Num*/(Num/) to increase focal length.

Thanks! I can now see it, looking great!
Does it have any impact for flying or is it only for movies/screenshots?
Cheers 🙂

Callsign   SETUP

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...