Browse Source

AbstractShadowFilter: restore temp variables

Wyatt Gillette 2 months ago
parent
commit
0ab5def0da

+ 5 - 7
jme3-core/src/main/java/com/jme3/shadow/AbstractShadowFilter.java

@@ -56,6 +56,9 @@ public abstract class AbstractShadowFilter<T extends AbstractShadowRenderer> ext
     protected T shadowRenderer;
     protected T shadowRenderer;
     protected ViewPort viewPort;
     protected ViewPort viewPort;
 
 
+    private final Vector4f tempVec4 = new Vector4f();
+    private final Matrix4f tempMat4 = new Matrix4f();
+
     /**
     /**
      * For serialization only. Do not use.
      * For serialization only. Do not use.
      */
      */
@@ -99,13 +102,8 @@ public abstract class AbstractShadowFilter<T extends AbstractShadowRenderer> ext
     protected void preFrame(float tpf) {
     protected void preFrame(float tpf) {
         shadowRenderer.preFrame(tpf);
         shadowRenderer.preFrame(tpf);
         Matrix4f m = viewPort.getCamera().getViewProjectionMatrix();
         Matrix4f m = viewPort.getCamera().getViewProjectionMatrix();
-        TempVars vars = TempVars.get();
-        try {
-            material.setMatrix4("ViewProjectionMatrixInverse", vars.tempMat4.set(m).invertLocal());
-            material.setVector4("ViewProjectionMatrixRow2", vars.vect4f1.set(m.m20, m.m21, m.m22, m.m23));
-        } finally {
-            vars.release();
-        }
+        material.setMatrix4("ViewProjectionMatrixInverse", tempMat4.set(m).invertLocal());
+        material.setVector4("ViewProjectionMatrixRow2", tempVec4.set(m.m20, m.m21, m.m22, m.m23));
     }
     }
 
 
     @Override
     @Override