Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Shader Improvements #3788

Closed
lasers opened this issue Oct 13, 2016 · 6 comments · Fixed by #14628
Closed

Shader Improvements #3788

lasers opened this issue Oct 13, 2016 · 6 comments · Fixed by #14628

Comments

@lasers
Copy link
Contributor

lasers commented Oct 13, 2016

To allow users to undo their accident of applying one via keyboard (key:m and key:n)
To allow users to apply empty shader/noshader via keyboard (key:m and key:n) after trying some or all shaders.

  • Add empty shader/noshader option to the shader list

To undo an intentional or accidental shader change, users will need to stop/pause their game, access menu/quick menu, find the shader option, make sure the number is at zero, and apply shader change before returning.

If that's not possible to add empty shader/noshader option because of coding, impossible to load empty shader from directory, or such... What about a mute button for shader?

Shader (current)

# Applies next and previous shader in directory.
# input_shader_next = m
# input_shader_prev = n

Shader (revised)

# Applies next and previous shader in directory. (NEW)
# input_shader_next = m
# input_shader_prev = n
# input_shader_toggle = comma
@hizzlekizzle
Copy link
Contributor

The bilinear and nearest presets are essentially null shaders:
https://github.com/libretro/common-shaders/blob/master/bilinear.cgp
https://github.com/libretro/common-shaders/blob/master/nearest.cgp
They're in the base of the shader directories and you can cycle to/through them with m and n to remove all other shader effects.

@lasers
Copy link
Contributor Author

lasers commented Oct 13, 2016

I hadn't played with shaders yet... and I'm still playing games with no shaders. I may give them a try in the future. Right now, new users can accidentally press key:m or key:n and it will load ./shaders/retroarch.glslp by default. They then may want to undo the mistake by pressing key:m or key:n again only to find out that it does not work. I also didn't want a shader on right now.

Some can figure it out via Shader setting, but it's the longest (and the only) route to undo a shortcut. Others may not figure it out. They may ask online or restart game/RetroArch to get rid of an accidental shader.

It looks like the solution was to make ./shaders/no-shader.glslp with this line inside:
shaders = "0" and then you're able to use key:m and key:n to undo an easy mistake.

@lasers
Copy link
Contributor Author

lasers commented Oct 13, 2016

Okay. Out of the box, there is no problem with next/prev keys because there was nothing inside shader directory. As soon as you load some shader and hit Apply Shader Changes, it'll make ./shaders/retroarch.glslp with some random shader you pick. When you're done playing, save and leave RetroArch.

Start RetroArch again with a game of your choice, you accidentally hit next/prev keys instead of spacebar. You are stuck with the last shader you picked with a long way to undo. You will have to stop the game and go turn it off again... Again and again.

Adding that file will prevent the next/prev keys from "not working."

@lasers
Copy link
Contributor Author

lasers commented Nov 30, 2016

Users: Use the solution above if you want to fix this minor UI bug.

@lasers lasers closed this as completed Nov 30, 2016
@dankcushions
Copy link
Contributor

IMO it would still be better to include 'no shader' in the input_shader_next cycle. i guess 'bilinear'/'nearest neighbor' are effectively that, but it doesn't seem as elegant to me as simply turning off the shader.

it also would allow the user to create a shader on/off button via input_shader_next, and only one shader in their shaders directory. we have a use case for that here: https://retropie.org.uk/forum/topic/16720/crt-shaders-button-on-off (i don't know if my sneaky workaround will work, yet)

@dankcushions
Copy link
Contributor

my sneaky workaround works :) see https://drive.google.com/file/d/1uKXfT0wzUSRx3V2-FSraPDpOk_R5TkeE/view

it's a .glslp file with one line: shaders = "0" :) a proper solution would be better, though.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants