Welcome to the staging ground for new communities! Each proposal has a description in the "Descriptions" category and a body of questions and answers in "Incubator Q&A". You can ask questions (and get answers, we hope!) right away, and start new proposals.
Are you here to participate in a specific proposal? Click on the proposal tag (with the dark outline) to see only posts about that proposal and not all of the others that are in progress. Tags are at the bottom of each post.
Post History
The reason for this is because the bedrock layer is hardcoded into the shader packs. There's a uniform for exposing the data pack specified bedrock level in Iris. This is not available in Optifine...
Answer
#2: Post edited
- The reason for this is because the bedrock layer is hardcoded into the shader packs.
- There's a uniform for exposing the [data pack specified bedrock level](https://shaders.properties/reference/uniforms/general/bedrocklevel/) in Iris. This is not available in Optifine.
- The best option is to reach out to the shader developer, and ask for them to update their shaders to use the necessary uniforms to replace the hardcoded values. If that is not an option, you can edit the shader pack files yourself.
For instance, to fix the effects in BSL, edit this line in `.minecraft/shaderpacks/BSLOriginal_v8.3.zip/shaders/lib/atmospherics/sky.glsl:68`:- ```
sky *= clamp((cameraPosition.y + 70.0) / 8.0, 0.0, 1.0);```as well as this one:```fog *= clamp((cameraPosition.y + 70.0) / 8.0, 0.0, 1.0);```in `fog.glsl:58` in the same folder.- ---
- I spoke to the person advocating for the inclusion of these uniforms in Iris, and according to them, the reason why they are not used by shader packs, is simply because the shader packs predate the uniforms, or because the shader developers are not aware of them. After speaking to the BSL developer, that was indeed the case, and they have now added it to their list of features to implement.
- The reason for this is because the bedrock layer is hardcoded into the shader packs.
- There's a uniform for exposing the [data pack specified bedrock level](https://shaders.properties/reference/uniforms/general/bedrocklevel/) in Iris. This is not available in Optifine.
- The best option is to reach out to the shader developer, and ask for them to update their shaders to use the necessary uniforms to replace the hardcoded values. If that is not an option, you can edit the shader pack files yourself.
- For instance, to fix the effects in BSL, edit these five lines in the files in `.minecraft/shaderpacks/BSLOriginal_v8.3.zip/shaders/lib/atmospherics/`:
- ```c
- /*sky.glsl:68*/ sky *= clamp((cameraPosition.y + 70.0) / 8.0, 0.0, 1.0);
- /*fog.glsl:58*/ fog *= clamp((cameraPosition.y + 70.0) / 8.0, 0.0, 1.0);
- /*volumetricLight.glsl:151*/ vl *= clamp((cameraPosition.y + 70.0) / 8.0, 0.0, 1.0);
- /*clouds.glsl:221*/ cloudColor *= clamp((cameraPosition.y + 70.0) / 8.0, 0.0, 1.0);
- /*sunmoon.glsl:87*/ visibility *= clamp((cameraPosition.y + 70.0) / 8.0, 0.0, 1.0);
- ```
- ---
- I spoke to the person advocating for the inclusion of these uniforms in Iris, and according to them, the reason why they are not used by shader packs, is simply because the shader packs predate the uniforms, or because the shader developers are not aware of them. After speaking to the BSL developer, that was indeed the case, and they have now added it to their list of features to implement.
#1: Initial revision
The reason for this is because the bedrock layer is hardcoded into the shader packs. There's a uniform for exposing the [data pack specified bedrock level](https://shaders.properties/reference/uniforms/general/bedrocklevel/) in Iris. This is not available in Optifine. The best option is to reach out to the shader developer, and ask for them to update their shaders to use the necessary uniforms to replace the hardcoded values. If that is not an option, you can edit the shader pack files yourself. For instance, to fix the effects in BSL, edit this line in `.minecraft/shaderpacks/BSLOriginal_v8.3.zip/shaders/lib/atmospherics/sky.glsl:68`: ``` sky *= clamp((cameraPosition.y + 70.0) / 8.0, 0.0, 1.0); ``` as well as this one: ``` fog *= clamp((cameraPosition.y + 70.0) / 8.0, 0.0, 1.0); ``` in `fog.glsl:58` in the same folder. --- I spoke to the person advocating for the inclusion of these uniforms in Iris, and according to them, the reason why they are not used by shader packs, is simply because the shader packs predate the uniforms, or because the shader developers are not aware of them. After speaking to the BSL developer, that was indeed the case, and they have now added it to their list of features to implement.