From a69bb4474a3264a9a7a7f8b8d8154ea771f167c8 Mon Sep 17 00:00:00 2001
From: Normand Briere <nbriere@noware.ca>
Date: Fri, 28 Jun 2019 23:44:22 -0400
Subject: [PATCH] Fix ungroup.

---
 CameraPane.java |   65 ++++++++++++++++++++++++++++----
 1 files changed, 56 insertions(+), 9 deletions(-)

diff --git a/CameraPane.java b/CameraPane.java
index 6966eee..0f77a95 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;
@@ -11480,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();
@@ -12047,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);
             }
 
 
@@ -13334,9 +13375,10 @@
                 "DP3 " + dest + ".z," + "normals," + "eye;" +
                 "MAX " + dest + ".w," + dest + ".z," + "eps.x;" +
                 //"MOV " + dest + ".w," + "normal.z;" +
-                "MUL " + dest + ".z," + "params2.w," + dest + ".x;" +
-                "MUL " + dest + ".z," + dest + ".z," + dest + ".x;" +
-                //"MOV " + dest + ".z," + "params2.w;" + 
+//            "MUL " + dest + ".z," + "params2.w," + dest + ".x;" + // PRETTY HEURISTIC FOR VELVET
+//            "MUL " + dest + ".z," + dest + ".z," + dest + ".x;" +
+                
+                "MOV " + dest + ".z," + "params2.w;" + // EXACT
                 "POW " + dest + ".w," + dest + ".w," + dest + ".z;" +
                 "RCP " + dest + ".w," + dest + ".w;" +
                 //"RSQ " + dest + ".w," + dest + ".w;" +
@@ -15078,9 +15120,9 @@
             case '_':
                 kompactbit = 5;
                 break;
-            case '+':
-                kompactbit = 6;
-                break;
+//            case '+':
+//                kompactbit = 6;
+//                break;
             case ' ':
                 ObjEditor.theFrame.ToggleFullScreen();
                 repaint();
@@ -15129,8 +15171,8 @@
             case DELETE:
                 ClearSelection();
                 break;
-                /*
             case '+':
+                /*
                 //fontsize += 1;
                 bbzoom *= 2;
                 repaint();
@@ -16742,6 +16784,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