IrisShaders / Iris

A modern shaders mod for Minecraft compatible with existing OptiFine shader packs
https://irisshaders.dev
GNU Lesser General Public License v3.0
3.36k stars 641 forks source link

Iris should support shader pack options / configuration #663

Closed coderbot16 closed 2 years ago

coderbot16 commented 3 years ago

A common user request is the ability to customize shaders through a settings menu.

This is by far the most requested feature for Iris - please do not create additional issues on the topic, or ask for ETAs ("shader option support when?"). We fully intend to support it, but these things just take time. Shader option support will be added when it's ready.

If you'd like to express support for this feature, feel free to add a "thumbs up" reaction below.

We are aware that there are experimental forks of Iris that try to add shader option support. They all use the same core implementation of option detection & modification, but unfortunately that core implementation has a fatal design flaw that causes it to severely break shader packs when you toggle some options. This underlying code cannot be used by Iris - it must be rewritten, which is in progress.

A few big things need to happen first:

  1. Support for detecting these options from shader packs, applying them, and the user's modified values from a .txt configuration file. I am gradually working on an implementation of this system in private.
  2. A shader pack GUI. FoundationGames & Justsnoopy30 have a prototype of what this might look like.
  3. Support for the underlying features required by the options in the packs that we're focusing on supporting. Often, enabling certain options makes shader packs use features that Iris does not currently support. I would like to ensure that all options work properly first, because it's rather lame to have a shader option system implemented if half of the options cause things to explode.
  4. Support for parsing shader directives (like /* DRAWBUFFERS */) from the final preprocessed source file. This is needed for packs that change what buffers they write to based on configuration. See #540.
Rajbir98 commented 3 years ago

There is also an iris fork for this https://github.com/HyperCubeMC/Iris

AlsoSylv commented 3 years ago

This fork is known about but has many issues and is unstable. We are working on our own implementation. Please do not comment on this tracking issue.

coderbot16 commented 3 years ago

@Rajbir98 Please see this section of what I wrote:

We are aware that there are experimental forks of Iris that try to add shader option support. They all use the same core implementation of option detection & modification, but unfortunately that core implementation has a fatal design flaw that causes it to severely break shader packs when you toggle some options. This underlying code cannot be used by Iris - it must be rewritten, which is in progress.

Comments in general on this tracking issue are fine, but I discourage them when they don't add any extra information. So that's why I asked people to not comment to show their support, but rather to add a reaction to the main issue.

NoComment1105 commented 3 years ago

Please don't clutter this issue with unhelpful comments

dotfrankruan commented 3 years ago

OptiFabric was discontinued and now Sodium+Iris is the only option, please do that right now.

(by the way, can I do that by myself since Iris is LGPL 3.0 license?)

IMS212 commented 3 years ago

We’re actively working on it, it’s just really hard to do correctly. Also, OptiFabric was not discontinued, but handed over to another user (https://github.com/Chocohead/OptiFabric).

Felix14-v2 commented 2 years ago

I would really like to see the same UI as in HyperCube fork. It is very convenient and so beautiful πŸ™‚ Do you want to work on your own interface design?

NoComment1105 commented 2 years ago

Are own implementation will be coming

IMS212 commented 2 years ago

The UI will likely be similar.

KINGcrison commented 2 years ago

Can iris add amd fsr?

AlsoSylv commented 2 years ago

Please do not comment on this issue with information/questions unrelated to shader settings, and or questions like "When is this coming?"

V3ntus commented 2 years ago

Just curious, will we have commits/PRs mentioning this issue so we can track code progress accordingly? I see lots of redundant issues asking about this, but not sure if any progress (commits and/or PRs) has been done, even if it's just a few lines.

IMS212 commented 2 years ago

You can track progress on the development log on our Discord.

ghost commented 2 years ago

You can track progress on the development log on our Discord.

What if people don't have Discord? (a.k.a me)

IMS212 commented 2 years ago

Generally we will have commits that explain what's going on, but right now the experimental shader configuration progress is only viewable through discord. (There isn't too much current progress right now, however.)

meisme-dev commented 2 years ago

Can iris add amd fsr?

FSR requires Vulkan. It would require a complete rewrite of the graphics engine of Minecraft, and would not work on older hardware.

IMS212 commented 2 years ago

FSR in fact does not require Vulkan (it has recently been ported to OpenGL for use in RetroArch), and has been considered a few times but isn't actively being worked on. It is possible, but would take quite a bit of development time. Please create a new issue to talk about FSR.

ChristopherTheBoss commented 2 years ago

Looking forwards to this feature πŸ‘

coderbot16 commented 2 years ago

For those watching this thread, we have now pushed out a Patreon beta of the shader config. If all goes well, public test builds & source code will be available next weekend, and a stable release will be available in the middle of the month.

Thanks to all for your patience, and thanks to the many contributors and developers who came together to make the robust and complete shader config system and GUI into a reality!

ChristopherTheBoss commented 2 years ago

Good thing I'm a Patron πŸ€— thanks for the update @coderbot16

Lolothepro commented 2 years ago

πŸš€

DragonEggBedrockBreaking commented 2 years ago

Will this be closed now, or will it be closed when this is released in 1.2.0, and is mostly bug free?

AlsoSylv commented 2 years ago

When 1.2.0 is released

coderbot16 commented 2 years ago

Iris 1.2.0 is now released, containing shader pack configuration support!