Skip to content

Commit 0747838

Browse files
committed
Fix a couple issues
1 parent b388a28 commit 0747838

File tree

5 files changed

+16
-9
lines changed

5 files changed

+16
-9
lines changed

common/src/main/java/org/vivecraft/client_vr/VRState.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ public static void initializeVR() {
8282
// everything related to VR is created now
8383
VR_INITIALIZED = true;
8484

85-
dh.vrRenderer.setupRenderConfiguration(); //For openXR, setup but don't render yet
85+
dh.vrRenderer.setupRenderConfiguration(false); //For openXR, setup but don't render yet
8686
RenderPassManager.setVanillaRenderPass();
8787

8888
dh.vrPlayer = new VRPlayer();

common/src/main/java/org/vivecraft/client_vr/provider/VRRenderer.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -496,7 +496,7 @@ private boolean allFramebuffersInitialized() {
496496
* @throws RenderConfigException in case something failed to initialize or the gpu vendor is unsupported
497497
* @throws IOException can be thrown by the WorldRenderPass init when trying to load the shaders
498498
*/
499-
public void setupRenderConfiguration() throws RenderConfigException, IOException {
499+
public void setupRenderConfiguration(boolean render) throws RenderConfigException, IOException {
500500
Minecraft minecraft = Minecraft.getInstance();
501501
ClientDataHolderVR dataholder = ClientDataHolderVR.getInstance();
502502

@@ -650,10 +650,10 @@ public void setupRenderConfiguration() throws RenderConfigException, IOException
650650

651651
destroyBuffers();
652652

653-
if (this.LeftEyeTextureId == -1) {
653+
if (this.getLeftEyeTarget() == null) {
654654
this.createRenderTexture(eyew, eyeh);
655655

656-
if (this.LeftEyeTextureId == -1) {
656+
if (this.getLeftEyeTarget() == null) {
657657
throw new RenderConfigException(
658658
Component.translatable("vivecraft.messages.renderiniterror", this.getName()),
659659
Component.literal(this.getLastError()));

common/src/main/java/org/vivecraft/client_vr/provider/openxr/OpenXRStereoRenderer.java

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ public class OpenXRStereoRenderer extends VRRenderer {
2020
private final int[] swapIndex = new int[] {0, 0}; // Needs to be initialized otherwise stuff splodes
2121
private VRTextureTarget[] leftFramebuffers;
2222
private VRTextureTarget[] rightFramebuffers;
23-
private boolean render;
2423
private XrCompositionLayerProjectionView.Buffer projectionLayerViews;
2524
private boolean recalculateProjectionMatrix = true;
2625

@@ -74,10 +73,10 @@ public void createRenderTexture(int width, int height) {
7473
}
7574

7675
@Override
77-
public void setupRenderConfiguration() throws IOException, RenderConfigException {
78-
super.setupRenderConfiguration();
76+
public void setupRenderConfiguration(boolean render) throws IOException, RenderConfigException {
77+
super.setupRenderConfiguration(render);
7978

80-
if (!render) return;
79+
if(!render) return;
8180

8281
this.projectionLayerViews = XrCompositionLayerProjectionView.calloc(2);
8382
try (MemoryStack stack = MemoryStack.stackPush()) {
@@ -175,11 +174,17 @@ public boolean providesStencilMask() {
175174

176175
@Override
177176
public RenderTarget getLeftEyeTarget() {
177+
if(this.leftFramebuffers == null) {
178+
return null;
179+
}
178180
return this.leftFramebuffers[this.swapIndex[0]];
179181
}
180182

181183
@Override
182184
public RenderTarget getRightEyeTarget() {
185+
if(this.leftFramebuffers == null) {
186+
return null;
187+
}
183188
return this.rightFramebuffers[this.swapIndex[1]];
184189
}
185190

common/src/main/java/org/vivecraft/client_vr/render/helpers/VRPassHelper.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -225,6 +225,8 @@ public static void renderAndSubmit(boolean renderLevel, DeltaTracker.Timer delta
225225
RenderHelper.checkGLError("post submit");
226226
}
227227
}
228+
DATA_HOLDER.vrPlayer.postRender(deltaTracker.getGameTimeDeltaPartialTick(true));
229+
228230
// now we are done with rendering
229231
Profiler.get().pop();
230232
}

common/src/main/java/org/vivecraft/mixin/client_vr/MinecraftVRMixin.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -272,7 +272,7 @@ public abstract class MinecraftVRMixin implements MinecraftExtension {
272272
try {
273273
Profiler.get().push("setupRenderConfiguration");
274274
RenderHelper.checkGLError("pre render setup");
275-
ClientDataHolderVR.getInstance().vrRenderer.setupRenderConfiguration();
275+
ClientDataHolderVR.getInstance().vrRenderer.setupRenderConfiguration(true);
276276
RenderHelper.checkGLError("post render setup");
277277
} catch (Exception e) {
278278
// something went wrong, disable VR

0 commit comments

Comments
 (0)