From 1807e7752960ac229cddd34b100e92cadbac9459 Mon Sep 17 00:00:00 2001
From: Normand Briere <nbriere@noware.ca>
Date: Wed, 26 Jun 2019 21:39:11 -0400
Subject: [PATCH] Fix perfo Venice (shadow).

---
 CameraPane.java |   68 ++++++++++++++++++++++++++++++----
 1 files changed, 60 insertions(+), 8 deletions(-)

diff --git a/CameraPane.java b/CameraPane.java
index 7afdef6..88a2741 100644
--- a/CameraPane.java
+++ b/CameraPane.java
@@ -335,14 +335,28 @@
                     display.options1[2] = material.shadowbias;
                     display.options1[3] = material.aniso;
                     display.options1[4] = material.anisoV;
+//                System.out.println("display.options1[0] " + display.options1[0]);
+//                System.out.println("display.options1[1] " + display.options1[1]);
+//                System.out.println("display.options1[2] " + display.options1[2]);
+//                System.out.println("display.options1[3] " + display.options1[3]);
+//                System.out.println("display.options1[4] " + display.options1[4]);
                     display.options2[0] = material.opacity;
                     display.options2[1] = material.diffuse;
                     display.options2[2] = material.factor;
+//                System.out.println("display.options2[0] " + display.options2[0]);
+//                System.out.println("display.options2[1] " + display.options2[1]);
+//                System.out.println("display.options2[2] " + display.options2[2]);
 
                     cColor.HSBtoRGB(material.color, material.modulation, 1, display.options3);
+//                System.out.println("display.options3[0] " + display.options3[0]);
+//                System.out.println("display.options3[1] " + display.options3[1]);
+//                System.out.println("display.options3[2] " + display.options3[2]);
                     display.options4[0] = material.cameralight/0.2f;
                     display.options4[1] = material.subsurface;
                     display.options4[2] = material.sheen;
+//                System.out.println("display.options4[0] " + display.options4[0]);
+//                System.out.println("display.options4[1] " + display.options4[1]);
+//                System.out.println("display.options4[2] " + display.options4[2]);
                     
                  //   if (display.CURRENTANTIALIAS > 0)
                  //       display.options3[3] /= 4;
@@ -9366,11 +9380,35 @@
         jy8[3] = 0.5f;
     }
     
-    float[] options1 = new float[]{1000, 0.00001f, 20, 0, 0}; // focus, aperture, Shadow blur, aniso, anisoV
+    float[] options1 = new float[]{100, 0.00001f, 20, 0, 0}; // focus, aperture, Shadow blur, aniso, anisoV
     float[] options2 = new float[]{0, 1, 0, 0}; // fog density, intensity, elevation
     float[] options3 = new float[]{1, 1, 1, 0}; // fog color
     float[] options4 = new float[]{1, 0, 1, 0}; // image intensity, subsurface, lightsheen
 
+    void ResetOptions()
+    {
+        options1[0] = 100;
+        options1[1] = 0.025f;
+        options1[2] = 0.01f;
+        options1[3] = 0;
+        options1[4] = 0;
+        
+        options2[0] = 0;
+        options2[1] = 0.75f;
+        options2[2] = 0;
+        options2[3] = 0;
+        
+        options3[0] = 1;
+        options3[1] = 1;
+        options3[2] = 1;
+        options3[3] = 0;
+        
+        options4[0] = 1;
+        options4[1] = 0;
+        options4[2] = 1;
+        options4[3] = 0;
+    }
+    
     static int imagecount = 0; // movie generation
     
     static int jitter = 0;
@@ -10481,6 +10519,7 @@
                     ANTIALIAS = 0;
                     //System.out.println("RESTART");
                     AAtimer.restart();
+                    Globals.TIMERRUNNING = true;
                 }
             }
         }
@@ -11459,7 +11498,7 @@
 
     static boolean zoomonce = false;
     
-    void CreateSelectedPoint()
+    static void CreateSelectedPoint()
     {
         if (selectedpoint == null)
         {
@@ -11479,6 +11518,9 @@
     
     void DrawObject(GL gl, boolean draw)
     {
+        // To clear camera values
+        ResetOptions();
+        
         //System.out.println("DRAW OBJECT " + mouseDown);
 //        DrawMode() = SELECTION;
         //GL gl = getGL();
@@ -12046,7 +12088,7 @@
             for (int i = tp.size(); --i >= 0;)
             {
                 //for (int count = tp.get(i).GetTransformCount(); --count>=0;)
-                    LA.xformPos(light, tp.get(i).GlobalTransform(), light);
+                    LA.xformPos(light, tp.get(i).GlobalTransformInv(), light);
             }
 
 
@@ -13840,6 +13882,7 @@
         else
         if (evt.getSource() == AAtimer)
         {
+                    Globals.TIMERRUNNING = false;
             if (mouseDown)
             {
             //new Exception().printStackTrace();
@@ -13914,6 +13957,7 @@
             return;
         
         AAtimer.restart(); // 
+        Globals.TIMERRUNNING = true;
 
 //        waslive = LIVE;
 //        LIVE = false;
@@ -14377,7 +14421,8 @@
                 info.camera = renderCamera;
                 info.x = x;
                 info.y = y;
-                object.editWindow.copy.doEditDrag(info, (modifiers & MouseEvent.BUTTON3_MASK) != 0);
+                object.GetWindow().copy
+                        .doEditDrag(info, (modifiers & MouseEvent.BUTTON3_MASK) != 0);
             } else
             {
                 if (x < startX)
@@ -14541,9 +14586,9 @@
         ci.camera = renderCamera;
         if (!isRenderer)
         {
-            ObjEditor editWindow = object.editWindow;
-            Object3D copy = editWindow.copy;
-            if (copy.doEditClick(ci, 0))
+            //ObjEditor editWindow = object.editWindow;
+            //Object3D copy = editWindow.copy;
+            if (object.doEditClick(ci, 0))
             {
                 setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
             } else
@@ -15377,7 +15422,7 @@
         }
          */
 
-        object.editWindow.EditSelection();
+        object.editWindow.EditSelection(false);
     }
 
     void SelectParent()
@@ -16622,6 +16667,8 @@
 //                System.err.println("view = " + view[8] + " " + view[9] + " " + view[10] + " " + view[11]);
 //                System.err.println("view = " + view[12] + " " + view[13] + " " + view[14] + " " + view[15]);
                 
+                CreateSelectedPoint();
+                
                 // Will fit the mesh !!!
                 selectedpoint.toParent[0][0] = 0.0001;
                 selectedpoint.toParent[1][1] = 0.0001;
@@ -16736,6 +16783,11 @@
                 //System.out.println("objects[color] = " + objects[color]);
                 //objects[color].Select();
                 indexcount = 0;
+                    ObjEditor window = object.GetWindow();
+                    if (window != null && deselect)
+                    {
+                        window.Select(null, deselect, true);
+                    }
                 object.Select(color, deselect);
             }
 

--
Gitblit v1.6.2