vkBasalt icon indicating copy to clipboard operation
vkBasalt copied to clipboard

The lack of a gui renders this borderline unusuable.

Open LethalManBoob opened this issue 2 years ago • 12 comments

Please, a gui for something as settings intensive as this is required for usability, it can take up to an hour to get the right settings.

LethalManBoob avatar Sep 21 '21 23:09 LethalManBoob

There's GOverlay.

Faalagorn avatar Oct 02 '21 04:10 Faalagorn

i use goverlay, the lack of an in game gui and realtime editing of shaders is what makes this unusable, not to mention the issues that goverlay does not save the shaders selected when closing (it does in game, just not in the ui). plus goverlay has no option to create per application profiles and whenever i tried to make an application specific config, the game would crash on boot. I spent far too long getting it to work. Realistically if i dont get my colour correction and tonemapping right on the very first try, im going to be spending an hour of rebooting the game and fiddling with config files.

On Sat, 2 Oct 2021 at 05:57, Faalagorn @.***> wrote:

There's GOverlay https://github.com/benjamimgois/goverlay.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/DadSchoorse/vkBasalt/issues/163#issuecomment-932682339, or unsubscribe https://github.com/notifications/unsubscribe-auth/AHG65O5WCDQJS243ULTRS43UE2GLRANCNFSM5EP5M7FQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

LethalManBoob avatar Oct 02 '21 12:10 LethalManBoob

Specifically unusable for the real time creation of shader settings maybe ? (Though a few screenshots, a LUT and gimp can be useful) But for the display of shaders adapted from reshade presets it's very usable and the only native game in town. afaik ?

gripped avatar Oct 18 '21 19:10 gripped

The problem here is that i cannot find a way to make a game custom config for vkbasalt as it will always crash. Unless i can be given a template to work with, the dozens other that i tried didnt work and it seems that if i dont select a shader in vkbasalt before attempting to edit the global config to use it, it will simply not work.

On Mon, 18 Oct 2021 at 20:22, gripped @.***> wrote:

Specifically unusable for the real time creation of shader settings maybe ? (Though a few screenshots, a LUT and gimp can be useful) But for the display of shaders adapted from reshade presets it's very usable and the only native game in town. afaik ?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/DadSchoorse/vkBasalt/issues/163#issuecomment-946090000, or unsubscribe https://github.com/notifications/unsubscribe-auth/AHG65O7GDOGYIFTI7GBUJQTUHRXWZANCNFSM5EP5M7FQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

LethalManBoob avatar Oct 19 '21 01:10 LethalManBoob

It took me a while to figure out how to convert a reshade preset.ini into a vkBasalt.conf The information is out there but spread about a bit!

Some reshade shaders use variables with names that match the shaders name. This is fine in the ini file with its sections. But in the .conf you just end up with two delclarations of the same variable ie. Vibrance="reshade-shaders/Shaders/Vibrance.fx" Vibrance=0.220000

Which won't work. One solution is to prefix those (or all) reshade shaders with something. I choose effect_ So I have for example: effects=effect_Vibrance:effect_Tonemap effect_Vibrance="reshade-shaders/Shaders/Vibrance_rdr2.fx" effect_Tonemap="reshade-shaders/Shaders/Tonemap.fx"

Then there is no conflict with the actual variable names used by the shaders themselves.

Next expect that reshade shaders with DOF won't work. (though you can try with depthCapture = on) Or shaders with multiple "techniques"

And then importantly "float" variables, those with 3 parts, eg #[Tonemap.fx] #FogColor=0.000000,0.000000,1.000000 #This is already the default in the shader file

#[Vibrance.fx] Vibrance=0.220000 #VibranceRGBBalance=0.500000,1.500000,1.000000 # Set in shader file

In the two examples above you need to comment out the float variable and then edit the shader file and set the values directly.

In Tonemap.fx we can see the default is the same as the setting so nothing more needs to be done.

uniform float3 FogColor < __UNIFORM_COLOR_FLOAT3
	ui_label = "Defog Color";
	ui_tooltip = "Which color tint to remove";
> = float3(0.0, 0.0, 1.0);

In Vibrance.fx It's different

uniform float3 VibranceRGBBalance <
	ui_type = "drag";
	ui_min = 0.0; ui_max = 10.0;
	ui_label = "RGB Balance";
	ui_tooltip = "A per channel multiplier to the Vibrance strength so you can give more boost to certain colors over others.\nThis is handy if you are colorblind and less sensitive to a specific color.\nYou can then boost that color more than the others.";
> = float3(1.0, 1.0, 1.0);

So we need to edit > = float3(1.0, 1.0, 1.0); to > = float3(0.5,1.5,1.0);

I prefer to save the edited shader with a new name so remember to point vkBasalt at the new edited version.

This is a reshade preset for Red Redemption 2 (Absolute Correction)

PreprocessorDefinitions=
[email protected],[email protected],[email protected],[email protected],[email protected],[email protected]
[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected]

[Curves.fx]
Contrast=0.175000
Formula=1
Mode=0

[LiftGammaGain.fx]
RGB_Gain=0.990000,0.985000,1.001000
RGB_Gamma=0.996000,0.993000,1.007000
RGB_Lift=0.996000,0.992000,1.001000

[LumaSharpen.fx]
offset_bias=1.000000
pattern=2
sharp_clamp=0.035000
sharp_strength=0.983000
show_sharpen=0

[Tonemap.fx]
Bleach=0.000000
Defog=0.000000
Exposure=0.030000
FogColor=0.000000,0.000000,1.000000
Gamma=0.965000
Saturation=0.000000

[Vibrance.fx]
Vibrance=0.220000
VibranceRGBBalance=0.500000,1.500000,1.000000

[Vignette.fx]
Amount=0.020000
Center=0.500000,0.500000
Radius=-1.000000
Ratio=5.164000
Slope=2
Type=0

This is my vkBasalt version.

toggleKey = Pause
depthCapture = off
reshadeTexturePath = "reshade-shaders/Textures"
reshadeIncludePath = "reshade-shaders/Shaders"

effects=effect_LiftGammaGain:effect_Vibrance:effect_Tonemap:effect_Vignette:effect_Curves:effect_LumaSharpen

effect_LiftGammaGain="reshade-shaders/Shaders/LiftGammaGain_rdr2.fx"
effect_Vibrance="reshade-shaders/Shaders/Vibrance_rdr2.fx"
effect_Tonemap="reshade-shaders/Shaders/Tonemap.fx"
effect_Vignette="reshade-shaders/Shaders/Vignette.fx"
effect_Curves="reshade-shaders/Shaders/Curves.fx"
effect_LumaSharpen="reshade-shaders/Shaders/LumaSharpen.fx"

#[Curves.fx]
Contrast=0.175000
Formula=1
Mode=0

#[LiftGammaGain.fx] # Set in the shader file
# RGB_Gain=0.990000,0.985000,1.001000
# RGB_Gamma=0.996000,0.993000,1.007000
# RGB_Lift=0.996000,0.992000,1.001000

#[LumaSharpen.fx]
offset_bias=1.000000
pattern=2
sharp_clamp=0.035000
sharp_strength=0.983000
show_sharpen=0

#[Tonemap.fx]
Bleach=0.000000
Defog=0.000000
Exposure=0.030000
#FogColor=0.000000,0.000000,1.000000  #This is already the default in the shader file
Gamma=0.965000
Saturation=0.000000

#[Vibrance.fx]
Vibrance=0.220000
#VibranceRGBBalance=0.500000,1.500000,1.000000  # Set in shader file

#[Vignette.fx]
Amount=0.020000
#Center=0.500000,0.500000 #This is already the default in the shader file
Radius=-1.000000
Ratio=5.164000
Slope=2
Type=0

Make sure ReShade.fxh & ReShadeUI.fxh are in reshadeIncludePath = "reshade-shaders/Shaders" They'll be included from the reshades shader files.

So I get the nice shaders playing RDR2 on linux and it's very usable ;) , with a little effort.

That is what I have learnt. Maybe it will be of help ?

gripped avatar Oct 19 '21 11:10 gripped

Kind of need a script that can convert INI files. I want to convert the below but its pretty big, also some elements appear to not have definitions and may be a special case interruption by reshade. UIMask_Top for example.

TSUKI.V2.ini.log Managed to trim it down.

Unfortunately Reshade is not usable for me atm under Linux because in all games used, keyboard input causes lockups. No solution on the internet yet.

I made this but it seems to just crash.
_vkBasalt.conf.log

jarrard avatar Jan 02 '22 23:01 jarrard

I made this but it seems to just crash. _vkBasalt.conf.log

In my last post I mentioned the problem with what I wrongly called 'float' variables (it's 'vector' variables). You need to comment out the vector variables and then, if not the defaults, set them in the shader files. There are instructions in my last post.

I suggest turning on debug logging in the .conf and logging with environment variables to see if that shed any light.

You have effects=effect_UIMask_Top...............................effect_UIMask_Bottom:

First of all the last colon should not be there. These are two different 'techniques' of the shader UIMask.fx. This won't work, You only have effect_UIMask = /home/theriddick/.local/share/reshade/Shaders/UIMask.fx vkBasalt has no idea where effect_UIMask_Top & effect_UIMask_Bottom: are.

It may be possible to fix this by copying the UIMask.fx into two files, named appropriately and editing them so each only has the one relevant technique

//#region Techniques

technique UIMask_Top
<
	ui_tooltip = "Place this *above* the effects to be masked.";
>
{
	pass
	{
		VertexShader = PostProcessVS;
		PixelShader = BackupPS;
		RenderTarget = BackupTex;
	}
}

technique UIMask_Bottom
<
	ui_tooltip =
		"Place this *below* the effects to be masked.\n"
		"If you want to add a toggle key for the effect, set it to this one.";
>
{
	pass
	{
		VertexShader = PostProcessVS;
		PixelShader = MainPS;
	}
}

That's the section of the file. Each copy needs just one of those techniques.

Also try removing all shaders bar one. Check it works then add them back one by one. If me the first thing I would do is remove all the UIMask.fx stuff and see if that works (after correcting the vector variables issue.

And yes a conversion script would be nice but not simple at all.

gripped avatar Jan 03 '22 19:01 gripped

Seems like allot of work to me. If only keyboard input didn't micro+ freeze my games up with reshade installed...

jarrard avatar Jan 04 '22 02:01 jarrard

Seems like allot of work to me.

All depends how much you want to get it working I suppose ?

gripped avatar Jan 04 '22 11:01 gripped

It took me a while to figure out how to convert a reshade preset.ini into a vkBasalt.conf The information is out there but spread about a bit!

Some reshade shaders use variables with names that match the shaders name. This is fine in the ini file with its sections. But in the .conf you just end up with two delclarations of the same variable ie. Vibrance="reshade-shaders/Shaders/Vibrance.fx" Vibrance=0.220000

Which won't work. One solution is to prefix those (or all) reshade shaders with something. I choose effect_ So I have for example: effects=effect_Vibrance:effect_Tonemap effect_Vibrance="reshade-shaders/Shaders/Vibrance_rdr2.fx" effect_Tonemap="reshade-shaders/Shaders/Tonemap.fx"

Then there is no conflict with the actual variable names used by the shaders themselves.

Next expect that reshade shaders with DOF won't work. (though you can try with depthCapture = on) Or shaders with multiple "techniques"

And then importantly "float" variables, those with 3 parts, eg #[Tonemap.fx] #FogColor=0.000000,0.000000,1.000000 #This is already the default in the shader file

#[Vibrance.fx] Vibrance=0.220000 #VibranceRGBBalance=0.500000,1.500000,1.000000 # Set in shader file

In the two examples above you need to comment out the float variable and then edit the shader file and set the values directly.

In Tonemap.fx we can see the default is the same as the setting so nothing more needs to be done.

uniform float3 FogColor < __UNIFORM_COLOR_FLOAT3
	ui_label = "Defog Color";
	ui_tooltip = "Which color tint to remove";
> = float3(0.0, 0.0, 1.0);

In Vibrance.fx It's different

uniform float3 VibranceRGBBalance <
	ui_type = "drag";
	ui_min = 0.0; ui_max = 10.0;
	ui_label = "RGB Balance";
	ui_tooltip = "A per channel multiplier to the Vibrance strength so you can give more boost to certain colors over others.\nThis is handy if you are colorblind and less sensitive to a specific color.\nYou can then boost that color more than the others.";
> = float3(1.0, 1.0, 1.0);

So we need to edit > = float3(1.0, 1.0, 1.0); to > = float3(0.5,1.5,1.0);

I prefer to save the edited shader with a new name so remember to point vkBasalt at the new edited version.

This is a reshade preset for Red Redemption 2 (Absolute Correction)

PreprocessorDefinitions=
[email protected],[email protected],[email protected],[email protected],[email protected],[email protected]
[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected]

[Curves.fx]
Contrast=0.175000
Formula=1
Mode=0

[LiftGammaGain.fx]
RGB_Gain=0.990000,0.985000,1.001000
RGB_Gamma=0.996000,0.993000,1.007000
RGB_Lift=0.996000,0.992000,1.001000

[LumaSharpen.fx]
offset_bias=1.000000
pattern=2
sharp_clamp=0.035000
sharp_strength=0.983000
show_sharpen=0

[Tonemap.fx]
Bleach=0.000000
Defog=0.000000
Exposure=0.030000
FogColor=0.000000,0.000000,1.000000
Gamma=0.965000
Saturation=0.000000

[Vibrance.fx]
Vibrance=0.220000
VibranceRGBBalance=0.500000,1.500000,1.000000

[Vignette.fx]
Amount=0.020000
Center=0.500000,0.500000
Radius=-1.000000
Ratio=5.164000
Slope=2
Type=0

This is my vkBasalt version.

toggleKey = Pause
depthCapture = off
reshadeTexturePath = "reshade-shaders/Textures"
reshadeIncludePath = "reshade-shaders/Shaders"

effects=effect_LiftGammaGain:effect_Vibrance:effect_Tonemap:effect_Vignette:effect_Curves:effect_LumaSharpen

effect_LiftGammaGain="reshade-shaders/Shaders/LiftGammaGain_rdr2.fx"
effect_Vibrance="reshade-shaders/Shaders/Vibrance_rdr2.fx"
effect_Tonemap="reshade-shaders/Shaders/Tonemap.fx"
effect_Vignette="reshade-shaders/Shaders/Vignette.fx"
effect_Curves="reshade-shaders/Shaders/Curves.fx"
effect_LumaSharpen="reshade-shaders/Shaders/LumaSharpen.fx"

#[Curves.fx]
Contrast=0.175000
Formula=1
Mode=0

#[LiftGammaGain.fx] # Set in the shader file
# RGB_Gain=0.990000,0.985000,1.001000
# RGB_Gamma=0.996000,0.993000,1.007000
# RGB_Lift=0.996000,0.992000,1.001000

#[LumaSharpen.fx]
offset_bias=1.000000
pattern=2
sharp_clamp=0.035000
sharp_strength=0.983000
show_sharpen=0

#[Tonemap.fx]
Bleach=0.000000
Defog=0.000000
Exposure=0.030000
#FogColor=0.000000,0.000000,1.000000  #This is already the default in the shader file
Gamma=0.965000
Saturation=0.000000

#[Vibrance.fx]
Vibrance=0.220000
#VibranceRGBBalance=0.500000,1.500000,1.000000  # Set in shader file

#[Vignette.fx]
Amount=0.020000
#Center=0.500000,0.500000 #This is already the default in the shader file
Radius=-1.000000
Ratio=5.164000
Slope=2
Type=0

Make sure ReShade.fxh & ReShadeUI.fxh are in reshadeIncludePath = "reshade-shaders/Shaders" They'll be included from the reshades shader files.

So I get the nice shaders playing RDR2 on linux and it's very usable ;) , with a little effort.

That is what I have learnt. Maybe it will be of help ?

This is gold.

joao-pedro-braz avatar Apr 17 '22 23:04 joao-pedro-braz

the way to actually change the variables shoul be in the readme

beh-10257 avatar Jul 01 '23 23:07 beh-10257

Did anyone ever get UIMask working? Splitting it into multiple top/bottom shaders or otherwise? I find the lack of a working mask makes vkbasalt nonviable as you cannot even read text in so many games with fxaa, bloom or other effects.

dull4h4n avatar May 24 '24 16:05 dull4h4n