Fix ODS rendering on Iris 1.1.3+ (fixes #693)

This commit is contained in:
Jonas Herzig
2022-03-05 13:25:31 +01:00
parent 8573a9b208
commit 1efb17e144
4 changed files with 17 additions and 8 deletions

View File

@@ -28,6 +28,7 @@ public class IrisODSFrameCapturer implements FrameCapturer<ODSOpenGlFrame> {
public static IrisODSFrameCapturer INSTANCE;
private final CubicPboOpenGlFrameCapturer left, right;
private final String prevShaderPack;
private final boolean prevShadersEnabled;
private int direction;
private boolean isLeftEye;
@@ -67,13 +68,16 @@ public class IrisODSFrameCapturer implements FrameCapturer<ODSOpenGlFrame> {
right = new CubicStereoFrameCapturer(worldRenderer, fakeInfo, frameSize);
INSTANCE = this;
prevShaderPack = Iris.getIrisConfig().getShaderPackName().orElse(null);
setShaderPack(SHADER_PACK_NAME);
IrisConfig irisConfig = Iris.getIrisConfig();
prevShaderPack = irisConfig.getShaderPackName().orElse(null);
prevShadersEnabled = irisConfig.areShadersEnabled();
setShaderPack(SHADER_PACK_NAME, true);
}
private static void setShaderPack(String name) {
private static void setShaderPack(String name, boolean enabled) {
IrisConfig irisConfig = Iris.getIrisConfig();
irisConfig.setShaderPackName(name);
irisConfig.setShadersEnabled(enabled);
try {
irisConfig.save();
Iris.reload();
@@ -121,7 +125,7 @@ public class IrisODSFrameCapturer implements FrameCapturer<ODSOpenGlFrame> {
left.close();
right.close();
INSTANCE = null;
setShaderPack(prevShaderPack);
setShaderPack(prevShaderPack, prevShadersEnabled);
}
private class CubicStereoFrameCapturer extends CubicPboOpenGlFrameCapturer {