From c67da2e5d8655704601d6d06e8bc60aabe212253 Mon Sep 17 00:00:00 2001
From: Normand Briere <nbriere@noware.ca>
Date: Sun, 23 Jun 2019 21:49:12 -0400
Subject: [PATCH] Compute shadow when live option.

---
 CameraPane.java |   42 +++++++++++++++++++++++-------------------
 1 files changed, 23 insertions(+), 19 deletions(-)

diff --git a/CameraPane.java b/CameraPane.java
index 76ad7dc..7afdef6 100644
--- a/CameraPane.java
+++ b/CameraPane.java
@@ -326,7 +326,7 @@
                 cStatic.objectstack[materialdepth++] = obj;
                 //System.out.println("material " + material);
                 //Applet3D.tracein(this, selected);
-                display.vector2buffer = obj.projectedVertices;
+                //display.vector2buffer = obj.projectedVertices;
                 if (obj instanceof Camera)
                 {
                     display.options1[0] = material.shift;
@@ -358,7 +358,7 @@
                 /**/
                 } else
                 {
-                    DrawMaterial(material, selected);
+                    DrawMaterial(material, selected, obj.projectedVertices);
                 }
             } else
             {
@@ -382,8 +382,8 @@
             cStatic.objectstack[materialdepth++] = obj;
             //System.out.println("material " + material);
             //Applet3D.tracein("selected ", selected);
-            display.vector2buffer = obj.projectedVertices;
-            display.DrawMaterial(material, selected);
+            //display.vector2buffer = obj.projectedVertices;
+            display.DrawMaterial(material, selected, obj.projectedVertices);
         }
     }
     
@@ -400,8 +400,8 @@
                 materialdepth -= 1;
                 if (materialdepth > 0)
                 {
-                    display.vector2buffer = cStatic.objectstack[materialdepth - 1].projectedVertices;
-                    display.DrawMaterial(materialstack[materialdepth - 1], selectedstack[materialdepth - 1]);
+                    //display.vector2buffer = cStatic.objectstack[materialdepth - 1].projectedVertices;
+                    display.DrawMaterial(materialstack[materialdepth - 1], selectedstack[materialdepth - 1], cStatic.objectstack[materialdepth - 1].projectedVertices);
                 }
             //Applet3D.traceout("selected ", (stackdepth>0)?selectedstack[stackdepth-1]:"???");
             } else if (selected && CameraPane.flash && obj.GetMaterial() != null)
@@ -421,8 +421,8 @@
             materialdepth -= 1;
             if (materialdepth > 0)
             {
-                display.vector2buffer = cStatic.objectstack[materialdepth - 1].projectedVertices;
-                display.DrawMaterial(materialstack[materialdepth - 1], selectedstack[materialdepth - 1]);
+                //display.vector2buffer = cStatic.objectstack[materialdepth - 1].projectedVertices;
+                display.DrawMaterial(materialstack[materialdepth - 1], selectedstack[materialdepth - 1], cStatic.objectstack[materialdepth - 1].projectedVertices);
             }
         //Applet3D.traceout("selected ", (stackdepth>0)?selectedstack[stackdepth-1]:"???");
         //else
@@ -1610,7 +1610,7 @@
 //        gl.glMaterialfv(gl.GL_BACK, gl.GL_DIFFUSE, colorV, 0);
     }
     
-    void DrawMaterial(cMaterial material, boolean selected)
+    void DrawMaterial(cMaterial material, boolean selected, Object3D.cVector2[] others)
     {
             CameraPane display = this;
         //new Exception().printStackTrace();
@@ -1645,7 +1645,7 @@
             colorV[0] = display.modelParams0[0] * material.diffuse;
             colorV[1] = display.modelParams0[1] * material.diffuse;
             colorV[2] = display.modelParams0[2] * material.diffuse;
-            colorV[3] = material.opacity;
+            colorV[3] = 1; // material.opacity;
 
             gl.glColor4f(colorV[0], colorV[1], colorV[2], material.opacity);
             //System.out.println("Opacity = " + opacity);
@@ -1753,9 +1753,9 @@
         display.modelParams7[2] = 0;
         display.modelParams7[3] = 0;
 
-        display.modelParams6[0] = 100; // criss de bug de bump
+        //display.modelParams6[0] = 100; // criss de bug de bump
         
-        Object3D.cVector2[] extparams = display.vector2buffer;
+        Object3D.cVector2[] extparams = others; // display.vector2buffer;
         if (extparams != null && extparams.length > 0 && extparams[0] != null)
         {
             display.modelParams6[0] = extparams[0].x / 1000.0f; // bump
@@ -10548,7 +10548,8 @@
             ambientOcclusion = false;
         }
 
-        if (Globals.lighttouched && DrawMode() == DEFAULT) // && !lightMode) // && !FROZEN)
+        if (//Globals.lighttouched &&
+                DrawMode() == DEFAULT) // && !lightMode) // && !FROZEN)
         {
             //if (RENDERSHADOW) // ?
             if (!IsFrozen())
@@ -13315,7 +13316,8 @@
     /*static*/ float[] modelParams5 = new float[]{0, 0, 0, 0}; // texture, opacity, fakedepth, shadowbias
     /*static*/ float[] modelParams6 = new float[]{0, 0, 0, 0}; // bump, noise, borderfade, fog punchthrough
     /*static*/ float[] modelParams7 = new float[]{0, 0, 0, 0}; // noise power, opacity power
-    Object3D.cVector2[] vector2buffer;
+    
+    //Object3D.cVector2[] vector2buffer;
 
     // IN : ndotl, ndoth, xxx, NdotL //, snininess, lightarea
     // OUT : diff, spec
@@ -14539,7 +14541,9 @@
         ci.camera = renderCamera;
         if (!isRenderer)
         {
-            if (object.editWindow.copy.doEditClick(ci, 0))
+            ObjEditor editWindow = object.editWindow;
+            Object3D copy = editWindow.copy;
+            if (copy.doEditClick(ci, 0))
             {
                 setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
             } else
@@ -16385,16 +16389,16 @@
                 cStatic.objectstack[materialdepth++] = checker;
                 //System.out.println("material " + material);
                 //Applet3D.tracein(this, selected);
-                vector2buffer = checker.projectedVertices;
+                //vector2buffer = checker.projectedVertices;
 
         //checker.GetMaterial().Draw(this, false); // true);
-        DrawMaterial(checker.GetMaterial(), false); // true);
+        DrawMaterial(checker.GetMaterial(), false, checker.projectedVertices); // true);
 
                 materialdepth -= 1;
                 if (materialdepth > 0)
                 {
-                    vector2buffer = cStatic.objectstack[materialdepth - 1].projectedVertices;
-                    DrawMaterial(materialstack[materialdepth - 1], selectedstack[materialdepth - 1]);
+                    //vector2buffer = cStatic.objectstack[materialdepth - 1].projectedVertices;
+                    DrawMaterial(materialstack[materialdepth - 1], selectedstack[materialdepth - 1], cStatic.objectstack[materialdepth - 1].projectedVertices);
                 }
         //checker.GetMaterial().opacity = 1f;
         ////checker.GetMaterial().ambient = 1f;

--
Gitblit v1.6.2