From 54d37207423e46ea80975651910478baa8dd8421 Mon Sep 17 00:00:00 2001 From: phil Date: Sun, 9 Jun 2019 20:21:20 +1200 Subject: The Renderer now wraps a use/release context call pair around any of the Pure Immediate mode operations in the main doWork loop. The renderer also now lazily creates a context on the first Pure Immediate mode call. GarphicsContext3D calls makeCxtCurrent in doClear in the case where a context had to be created (that creation call should in fact now be redundant but it is left in) --- src/javax/media/j3d/GraphicsContext3D.java | 3 ++ src/javax/media/j3d/Renderer.java | 58 ++++++++++++++++++++++++++++++ 2 files changed, 61 insertions(+) diff --git a/src/javax/media/j3d/GraphicsContext3D.java b/src/javax/media/j3d/GraphicsContext3D.java index 75b2d1d..b6eb1c5 100644 --- a/src/javax/media/j3d/GraphicsContext3D.java +++ b/src/javax/media/j3d/GraphicsContext3D.java @@ -1731,6 +1731,9 @@ public int numSounds() { return; } + // createNewContext finishes with a release, re-make current so the init calls below work + canvas3d.makeCtxCurrent(); + canvas3d.ctxTimeStamp = VirtualUniverse.mc.getContextTimeStamp(); canvas3d.screen.renderer.listOfCtxs.add(canvas3d.ctx); diff --git a/src/javax/media/j3d/Renderer.java b/src/javax/media/j3d/Renderer.java index 6362672..7116842 100644 --- a/src/javax/media/j3d/Renderer.java +++ b/src/javax/media/j3d/Renderer.java @@ -620,6 +620,63 @@ ArrayList textureIDResourceTable = new ArrayList textureIDResourceTable = new ArrayList