-
Notifications
You must be signed in to change notification settings - Fork 621
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
Use a different Shader get-method in Blitter.blit()
#6923
Conversation
Closes AppliedEnergistics#6726 I'm not 100% on what effect this has, however in Vanilla, `getPositionTexShader` returns a `ShaderInstance` created using the same resource location as `getPositionTexColorShader`, the only difference is the "vertex configuration".
getPositionTexShader
over getPositionTexColorShader
Blitter.blit()
That "resource pack" simply requires you to |
Oh, that's how you populate that stuff! Thankyou so much! We're talking about different things, though - I meant the GUI widgets - the icons for sort order / direction are quite hard to see in the darker settings. |
Ah, right. Yes, I imagine those could do with a bit of tweaking. |
Interesting! This seems to have some side-effects, however it gives me hints for an approach to fix this. Thank you! I will look further into this once Dark Mode Everywhere is available for 1.19.4. |
No problem! Glad to be helpful :) |
Dark Mode Everywhere has now released for 1.19.4; here's the CurseMaven dependency (Forge): runtimeOnly fg.deobf("curse.maven:darkmodeeverywhere-574123:4524796") |
Just changing the shader but not the vertex format and not actually making sure that r,g,b,a is applied in some other way -> no bueno. |
Hey @shartte, I understand that the pull request cannot be merged (so it is totally reasonable to close it) but I would really appreciate it if you could help me get in touch with @Technici4n to look into making this work. Do you have any ideas for how the vertex format should be changed so as to not cause problems? |
getPositionTexColorShader allows multiplying the color of each vertex by some RGBA value. Removing it risks making all sorts of things rendering without the proper coloration. However I was keeping this PR open to remember to have a look at this eventually, not to merge it as is. Possibly we just need to add a parameter to how we create some blitters. ;) @shartte regarding what was mentioned on Discord, I think it would be nicer to integrate with dark mode everywhere than make our own dark mode config that everyone will have to adjust separately. |
Well I don't think the general case will necessarily work reliably. But if we have our own handling, integration could be as simple as forcing.the config if the dark mode mod is installed. Doing their shading reliably is harder. But we could go and port everything to generated backgrounds to make that easier |
@Technici4n Any updates? |
No progress on our side as we're busy with other things, but I'm not forgetting this. If the problem fixes itself magically then it's even better. 😄 |
Upon (brief) testing, I think the changes I've proposed work out of the box with AE2 on 1.18.2! Can't say for sure yet regarding 1.19 and 1.20 but I see no reason it won't work the same way. Took a bit of doing. But I discovered the 3 default shaders that DME was built on previously (Toasted Light, Less Perfect Dark, Perfect Dark) were actually three identical shaders with different parameters. I parameterized those shaders into one That last bit is the key point - because it's the method that AE2 has been using all along! |
As far as I understood this was fixed with some changes in DME. |
Closes #6726
I'm not 100% on what effect this has, however in Vanilla,
getPositionTexShader
returns aShaderInstance
created using the same resource location asgetPositionTexColorShader
, the only difference is the "vertex configuration".With the change implemented:
![image](https://user-images.githubusercontent.com/28568841/216883836-0c011a2c-9c05-4f50-ba59-874309469d11.png)
Clearly the widgets aren't perfect but that could be solved using a resourcepack etc.