Iris Shaders

Iris Shaders

36M Downloads

Iris should support shader pack options / configuration

coderbot16 opened this issue Β· 24 comments

commented

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.
commented

@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.

commented

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

commented

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.

commented

Please don't clutter this issue with unhelpful comments

commented

Can iris add amd fsr?

commented

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

commented

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?

commented

Are own implementation will be coming

commented

The UI will likely be similar.

commented

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?)

commented

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).

commented

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

commented

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.

commented

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

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

commented

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.)

commented

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.

commented

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.

commented

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!

commented

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

commented

Looking forwards to this feature πŸ‘

commented

πŸš€

commented

When 1.2.0 is released

commented

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

commented

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