3.0
- OtisInf
You can re-order them by drag/drop. The interface isn't the greatest though, I'd prefer up/down arrows and not a combined 'do it all in here' UI for this (tree of effects what is available + enable/disable + ordering).vfxninjaeditor wrote: Quick question, I haven't really used Reshade in over a year. I am getting back into it and just started using 3.0 for the first time. I noticed that effect order seems to be somewhat wacky. For instance, I have ambient light and MXAO on. Before, in an older version of Reshade, they mixed together really nicely. Now, MXAO is being overlayed on the ambient light effect which causes some really strange looking stuff to happen. Ambient light should be happening after MXAO for a proper effect mix.
So, am I wrong or are some of the effects not in the right order? Sorry for the confusion.
- B4rr3l
- CataclysmZA
- B4rr3l
- Lolz
Wait, what do you mean by "You can re-order them by drag/drop"? 0_oOtisInf wrote: You can re-order them by drag/drop. The interface isn't the greatest though, I'd prefer up/down arrows and not a combined 'do it all in here' UI for this (tree of effects what is available + enable/disable + ordering).
Drag'n'drop where and how exactly? Within the reshade-shaders? Can you clarify this a little more?
- JBeckman
- MichaelB450
- B4rr3l
- crosire
- Topic Author
- niflexible
I wanted to ask for FPS limiter included in next update? There's nothing wrong with an fps limiter. Why get 120fps and make your graphics card work harder when you can only display 60fps max anyways on most monitors. It also can bypass the need for vsync to remove screen tearing without having to endure the input lag vsync causes and fps drop. I also like to lock my fps to 30 or 40 on heavy titles that push my GPU where it flactuates wildly from 60 to 30, so I dont feel the unstable changes/spikes.
I would love to drop radeonpro's fps limiter and only use reshade with its own limiter implemented in the build, please! And also not use afterburner for same reasons on windows 10 cause radeonpro has issues running on my other pc other than win 7.
Lastly, I'm sorry to ask, but can you point me a guide link or simple steps here HOW to use the new LUT ? It's so different from old reshade 2.0....
And does lut have preview that you can take screenshots of it and use that after editing it.
Dynamic Framerate Control
This feature also known as DFC tries to keep the rendering frame rate up to the limit you have specified in Keep up to field. By limiting the maximum frame rate, it is possible to stabilize some engines where frame rate varies a lot. For example, if a game is keeping frame rate between 50 and 80 FPS, you can set a limit of 45 FPS and enjoy a smoother experience due to stable frame latency. Even if the game is capable to deliver 60 FPS, DFC set to 60 FPS as target can also help by smoothing the frame latency, try titles like Assassin’s Creed Brotherhood or The Elder Scrolls V: Skyrim, the stuttering seem on those games with plain V-sync is removed by using DFC + V-sync on.
Keep up to XXX FPS
Specifies the target frame rate of DFC feature.
Thanks a bunch!
- B4rr3l
- B4rr3l
- Suiheisen
- kingeric1992
static const type does not support intrinsic function initialization:
static const float2 f2_value = float2(1.0, 2.0);
static const float f_value = f2_value.x; //fail
//workaround:
static const float f2_value_x = 1.0;
static const float f2_value_y = 2.0;
static const float2 f2_value = float2(f2_value_x, f2_value_y);
static const float f_value = f2_value_x;
no struct initializer/constructor;
mystructtype mystruct = {
value0, value1, ...
};
//workaround:
// use runtime initialization.
mul not fully supported
float3x3 a;
float3x3 m;
float3x3 b = mul(m, a); // error x3067
//workaround:
// overload entire mul(a, b).
// can't just overload with single float3x3 mul(float3x3 a, float3x3b)
// because reshadeFX will process that into
// float3x3 F_scope_mul() and not mul()
namespace confused with texture/sampler
namespace pre {
texture imageTex < source = "image.jpg"; > {
Width = BUFFER_WIDTH;
Height = BUFFER_HEIGHT;
Format = RGBA8;
};
}
texture imageTex {
Width = BUFFER_WIDTH;
Height = BUFFER_HEIGHT;
Format = RGBA8;
};
sampler samplerIn {
Texture = imageTex;
};
void main_vertex( in uint id : SV_VertexID,
out float4 position : POSITION, out float2 txcoord : TEXCOORD ) {
txcoord.x = (id == 2) ? 2.0 : 0.0;
txcoord.y = (id == 1) ? 2.0 : 0.0;
position = float4(txcoord.xy * float2(2.0, -2.0) + float2(-1.0, 1.0), 0.0, 1.0);
}
float4 fill( float4 position : POSITION, float2 txcoord : TEXCOORD) : COLOR {
return 0.5;
}
float4 main_fragment( float4 position : POSITION, float2 txcoord : TEXCOORD) : COLOR {
return tex2D( samplerIn, txcoord);
}
technique test
{
pass {
VertexShader = main_vertex;
PixelShader = fill;
RenderTarget = imageTex;
}
pass {
VertexShader = main_vertex;
PixelShader = main_fragment;
}
}
//workaround:
// use individual texture name.
Also, is it possible to log the processed effect code?
easier to check those error message that are not processed by reshade parser.
(I meant those with @address)
also, those error message also shows the user directory in the log file, while it is blocked in reshade's own error message.
- kingeric1992
just use a timeout technique/shader to show your text/image at the start of the app.B4rr3l wrote: ... I just want to have a "BF2 HD Remastered" Preset line in the greetings as long as Reshade and your name. ...
though, that wouldn't stop ppl from editing the file itself....
- B4rr3l
- kingeric1992
uniform float timer < source = "timer"; >;
texture introTex < source = "introimage.jpg"; > {
Width = BUFFER_WIDTH;
Height = BUFFER_HEIGHT;
};
sampler introSampler {
Texture = introTex;
};
void main_vertex( in uint id : SV_VertexID,
out float4 position : POSITION,
out float2 txcoord : TEXCOORD ) {
txcoord = float2(((id == 2) ? 2.0 : 0.0),
((id == 1) ? 2.0 : 0.0));
position = float4(txcoord * float2(2.0, -2.0) + float2(-1.0, 1.0), 0.0, 1.0);
}
float4 main_fragment( float4 position : POSITION,
float2 txcoord : TEXCOORD) : COLOR {
if(timer > 5000.0) discard;
return tex2D( introSampler, txcoord);
}
technique intro < //enabled = true;
//timeout = 5000;
//hidden = true;
> {
pass {
VertexShader = main_vertex;
PixelShader = main_fragment;
ClearRenderTargets = false;
}
}
and in your preset, add
intro to Techniques and TechniquesSorting list so that it will launch at start.
(or just toggle it on in ingame menu, which will auto save to preset.)
[hr]
adding some note to reshade 3.0.7,
I think it is better to have technique annotation "enabled" be forced over preset, currently the value is read, but overwitten by preset later on.
Also it get confused when "hidden" flag is used, where the hidden technique can't be saved to Techniques list in the preset, making it forced to disable upon loading preset.
Couldn't figure out how to compile it, so I'll just put the note here.
//runtime.cpp line 842
technique.enabled =
technique.annotations["enabled"].as<bool>()? true: //ignore preset if enabled is specified in annotation.
std::find(technique_list.begin(), technique_list.end(), technique.name) != technique_list.end();
- Sinclair
- JBeckman
3.0.8:
Fixed artifacts in some OpenGL games due to false restoring of "glClipControl" values
Fixed ReShade mistakenly applying effects to DXGI present testing calls
Fixed "mousebutton" shader input not working for the left mouse button
Removed support for anisotropic texture filtering (doesn't make much sense in screenspace)