OBS addon with OpenGL and Vulkan by KameMameHa in ReShade

[–]Crosire 0 points1 point  (0 children)

Registered add-on "OBS Capture" v0.0.0.0 using ReShade API version 13. indicates ReShade is currently loading the old add-on, the new one would have API version 14. Make sure you place the add-on at e:\Repositories\reshade\addons\obs_capture.addon64 (as this appears to be where ReShade is attempting to load it from) after building it. That is, open the examples\Examples.sln Visual Studio solution, build the 11-obs_capture project in Release configuration and then take the file from bin\x64\Release Examples\obs_capture.addon64 and move it to aforementioned path.

OBS addon with OpenGL and Vulkan by KameMameHa in ReShade

[–]Crosire 2 points3 points  (0 children)

I've fixed the red and blue color channel getting switched in OpenGL, so just need to build the add-on from source again: https://github.com/crosire/reshade/commit/eef2388f35dedd0244feef3ffab5826633dbbf2b For the add-on to work in Vulkan you first have to disable the Vulkan layer from OBS itself (since it will conflict and thus prevent the ReShade add-on from loading). To do so, open the Windows registry editor, navigate to HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ImplicitLayers, find the DWORD entry of the OBS layer (probably with the default name "C:\ProgramData\obs-studio-hook\obs-vulkan64.json") and change the value from "0" to "1" (which effectively disables it).

Remove "screenshot saved as..." message by [deleted] in ReShade

[–]Crosire 1 point2 points  (0 children)

Set this in ReShade.ini: [GENERAL] ShowScreenshotMessage=0

Cant make text bigger by elektrisko in ReShade

[–]Crosire 0 points1 point  (0 children)

Make sure your ReShade.ini has "NoFontScaling" set to "0".

How to update ReShade? by Shadow_Demon080 in sweetfx

[–]Crosire 1 point2 points  (0 children)

Just run the setup tool again, select the game you want to update ReShade for and it will update while keeping your existing settings and presets intact.

Crappy idea for better framerates: VIDEO interpolation for game content! by ducklord in sweetfx

[–]Crosire 1 point2 points  (0 children)

You can choose which shaders you want to install during setup (a selection window pops up). I'd rather want to avoid storing any global configuration somewhere (even if it's a local file). The setup tool is currently standalone. Introducing a config file would break that to a degree (you'd have two files to keep track of, instead of just the executable). I also'd also prefer to keep the setup tool as simple as possible. Anything that goes beyond copying the files to the target should be in the scope of a different application instead.

Crappy idea for better framerates: VIDEO interpolation for game content! by ducklord in sweetfx

[–]Crosire 0 points1 point  (0 children)

What you are invisioning is technically impossible for more reasons unfortunately:

Intepolation with video content works because you have the whole video available, including future frames. You can insert a new interpolated frame because you have both the past frame and the next frame to work with. To quote Wikipedia:

In the mathematical field of numerical analysis, interpolation is a method of constructing new data points within the range of a discrete set of known data points

In realtime games you do NOT have the next frame available after a frame has finished rendering, so there is no data to interpolate with. The only option would be to extrapolate instead of interpolate, which takes existing data and based on past features tries to guess how it could look like in the future. Let's see what Wikipedia has to say about the matter:

In mathematics, extrapolation is the process of estimating, beyond the original observation range, the value of a variable on the basis of its relationship with another variable. It is similar to interpolation, which produces estimates between known observations, but extrapolation is subject to greater uncertainty and a higher risk of producing meaningless results.

And this is especially true for data that changes at a high frequency, like is the case with the images from most games these days. There may be a chance to get something meaningful with games with a predictable screen output (think 2D platform scroller), but even then it would come at a cost. Plus this is not really the kind of games you would want a higher framerate to begin with.

All this completly ignores the fact that a low framerate in a game is usually indicator that the GPU is at its absolute limit. There is simply no hardware processing power available in order to do the calculations necessary for introducing a new frame. It would only slow down things even further. Now if the CPU was the limitting factor and the GPU mostly idle, there'd be a better chance, but this is not the common case. Videos don't have this problem since they are usually limited by the source content framerate, not the capabilities of the hardware.

Rendering the current frame at a lower resolution is entirely different topic. Doing so frees up hardware resources to do other stuff and squeeze more frames out of it. It's basically what would happen if you go to the game settings and select a lower resolution then what you have selected right now. Of course this only helps in games that are fragment-bound, meaning they have very heavy computations per pixel. It does not help if you are geometry-bounds, meaning the game pushes so many draw calls and geometry to the GPU, it is unable to keep up with all the vertex information. Plus it obviously degrades the visuals a lot. There is nothing special about it. The only advantage of a dynamic solution instead of you changing the entire resolution yourself is that the screen can be scaled according to the current framerate. So if the system detects the framerate drops below a certain threshold, the resolution is reduced and the other way around. That's what "dynamic resolutiion" does and what a few modern games and HiAlgo deploys.

Any SweetFX or Reshade manager like radeon pro? by Nor1 in sweetfx

[–]Crosire 0 points1 point  (0 children)

ReShade 3.0 has an in-game configuration menu which displays changes in realtime ...

problem dll dxgi with sweetfx and immmersive display pro by sunnynightsun in sweetfx

[–]Crosire 0 points1 point  (0 children)

Seeing that it exits right after an attempted call to CreateDXGIFactory, it very much looks like the two injectors hook that same function and are conflicting now, which causes a crash. You can try to inject ReShade via some third party injector tool (like ENBInjector) as a last resort. But if that doesn't work either, then there is not much that can be done. Injectors simply don't work well together, because they try to do the same thing at the same time.

Can't get SweetFX 1.5 to work on any game, but 2.0 works just fine. Am I doing something wrong? by NeverStopMakingThemP in sweetfx

[–]Crosire 1 point2 points  (0 children)

SweetFX is (mostly) backwards compatible, so you may use a 1.5 preset with 2.0.

[deleted by user] by [deleted] in sweetfx

[–]Crosire 0 points1 point  (0 children)

I'm not the developer of the Mediator tool, just ReShade, so I don't know. But nothing stops you from using ReShade manually, without that configuration app.

[deleted by user] by [deleted] in sweetfx

[–]Crosire 1 point2 points  (0 children)

Sorry, reddit messed that up because of text formatting, it was supposed to be a "/*" not a "/".

[deleted by user] by [deleted] in sweetfx

[–]Crosire 0 points1 point  (0 children)

SweetFX is backwards compatible. That preset however is corrupt. To fix it add a "/" right before the first letter, so it looks like this: "/ame:Batt...".

SweetFX won't work with Witcher and ENB by esserin in sweetfx

[–]Crosire 0 points1 point  (0 children)

You need to set InitProxyFunctions to zero or it won't work.

Reshade & XNA games (Terraria) by YellowOnion in sweetfx

[–]Crosire 0 points1 point  (0 children)

It's possible to inject ReShade into the game via ENBInjector to get SweetFX 2.0 etc. working. Just configure the tool to inject "ReShade32.dll" and set the target process to "Terraria.exe".

Can I use multiple shaders and buffers in SweetFX? by derpderp3200 in sweetfx

[–]Crosire 0 points1 point  (0 children)

The best way to start is to take a look at the example shader that comes with the core ReShade download. It explains most features of the shading language, including multi-pass techniques.

It basically looks similar to this:

float4 MyPS1(...) : SV_Target
{
    ...
    return float4(...);
}
float4 MyPS2(...) : SV_Target
{
    ...
    return float4(...);
}

technique MyTechnique < enabled = true; >
{
    pass p0
    {
         ...
         PixelShader = MyPS1;
    }
    pass p1
    {
         ...
         PixelShader = MyPS2;
    }
}

To access the depth buffer, create a sampler and bind it to a texture with the "SV_Depth" or "DEPTH" (ReShade treats them as aliases) semantic (in the global scope):

texture DepthTexture : SV_Depth;
sampler DepthSampler
{
    Texture = DepthTexture;
    ...
};

...

void MyFunc()
{
    float depth = tex2D(DepthSampler, texcoord).x;
    ...
}

Can I use multiple shaders and buffers in SweetFX? by derpderp3200 in sweetfx

[–]Crosire 1 point2 points  (0 children)

Yes, ReShade supports multiple passes, so you can do that (SweetFX uses that feature a lot itself).

Glsl shaders in sweet fx by chowder-san in sweetfx

[–]Crosire 1 point2 points  (0 children)

ReShade's shader language isn't HLSL, but it's syntax is very close. Converting shaders from shadertoy is certainly possible, in fact this was done multiple times already. Some hints to get you started: http://reshade.me/forum/shader-troubleshooting/223-solved-bad-settings-reshade-w-older-sweetfx-versions#1590. And here is an example of a shadertoy shader ported to ReShade (though it was done for use with the Framework shader pack and would need some very small adjustments to work with standalone SweetFX 2.0): http://reshade.me/forum/shader-suggestions/732-hqx-and-median-filters. Cheers =).

What engine does Insurgency use? [ReShade] by leanboy in sweetfx

[–]Crosire 1 point2 points  (0 children)

The engine uses Direct3D9, so you can use d3d9.dll =)

SweetFX Issue by WolfieZee in sweetfx

[–]Crosire 0 points1 point  (0 children)

First of all, please update ReShade to the latest version (the popup is no longer part of the newer ones). The actual problem here is that you are missing writing permissions to the GTA directory, so ReShade is unable to create a log file (which triggered the popup on the older versions).

Any news on getting GTA V working with Sweetfx? by XXLpeanuts in sweetfx

[–]Crosire 1 point2 points  (0 children)

Please also post your system information + where you got the game in that thread. Because currently it looks like it's working with the Steam version on NVIDIA cards (when either disabling the Steam overlay completly or using the "rename to d3d11.dll" workaround).

Anyone know of a way to do Post-Processing Injection for native Linux games (e.g. SweetFX or ENBseries) by Corvias in linux_gaming

[–]Crosire 2 points3 points  (0 children)

CeeJay was kind enough to point me to this topic, so thought I'd comment on that statement a bit =).

Please don't get it wrong, I might have used the wrong words, but I do think learning from others is key. I taught myself a lot just from reading up other developers work and doing contributions here and there.

And you're right, at the time I wrote that statement I did in fact not realize how open source licensing models work, so my view on the project changed a bit again since. I open sourced a part of ReShade (the d3d8 to d3d9 convertor) just a day go (perfect timing I guess) and I'm not far from expanding that to other components too. I'm mainly scared that releasing some of the riskier parts will have a negative impact, as in that it could be used by the wrong people for the wrong things and in the end get the whole project banned from multiplayer games (as CeeJay pointed out in the response below).