From 33504fc9a180903aace77613264550754fba5706 Mon Sep 17 00:00:00 2001
From: Normand Briere <nbriere@noware.ca>
Date: Thu, 15 Aug 2019 12:03:58 -0400
Subject: [PATCH] Shadow RGB

---
 ObjEditor.java                   |   72 +++++++++++++++++++++++-------------
 GroupEditor.java                 |   14 ++++--
 icons/shadericons/borderfade.jpg |    0 
 Grafreed.java                    |    2 
 4 files changed, 56 insertions(+), 32 deletions(-)

diff --git a/Grafreed.java b/Grafreed.java
index 77a2921..8896325 100644
--- a/Grafreed.java
+++ b/Grafreed.java
@@ -928,7 +928,7 @@
         grafreed.universe = new cGroup();
         grafreed.universe.name = "Grafreed";
         grafreed.universe.material = new cMaterial();
-        grafreed.universe.skyboxname = "cubemaps/penguins-skyboxes/tropic";
+        grafreed.universe.skyboxname = "cubemaps/penguins-skyboxes/yonder";
         grafreed.universe.skyboxext = "jpg";
         
         //   theApplet3D.universe.textures = CameraPane.DEFAULT_TEXTURE;
diff --git a/GroupEditor.java b/GroupEditor.java
index 651e8a8..03991c3 100644
--- a/GroupEditor.java
+++ b/GroupEditor.java
@@ -1187,6 +1187,10 @@
                 boxButton.setToolTipText("Create box");
                                 boxButton.addActionListener(this);
 
+                row1.add(superButton = GetButton("icons/super.png", !Grafreed.NIMBUSLAF)); //, oe.aConstraints);
+                superButton.setToolTipText("Create superellipsoid");
+                                superButton.addActionListener(this);
+
                 row1.add(sphereButton = GetButton("icons/sphere.png", !Grafreed.NIMBUSLAF)); //, oe.aConstraints);
                 sphereButton.setToolTipText("Create sphere");
                                 sphereButton.addActionListener(this);
@@ -1198,10 +1202,6 @@
                 row1.add(torusButton = GetButton("icons/torus.png", !Grafreed.NIMBUSLAF)); //, oe.aConstraints);
                 torusButton.setToolTipText("Create torus");
                                 torusButton.addActionListener(this);
-
-                row1.add(superButton = GetButton("icons/super.png", !Grafreed.NIMBUSLAF)); //, oe.aConstraints);
-                superButton.setToolTipText("Create superellipsoid");
-                                superButton.addActionListener(this);
 
                 if (Globals.ADVANCED)
                 {
@@ -2165,7 +2165,11 @@
             shadow.material = new cMaterial(obj.material);
             shadow.material.diffuse = 0.0001f;
             shadow.material.specular = 0.0001f;
-            //shadow.projectedVertices[1].x = 300;
+            shadow.material.opacity = 0.75f;
+            
+            AllocProjectedVertices(shadow);
+        
+            shadow.projectedVertices[1].x = 300;
             
             makeSomething(shadow);
         }
diff --git a/ObjEditor.java b/ObjEditor.java
index 9f18912..d80b908 100644
--- a/ObjEditor.java
+++ b/ObjEditor.java
@@ -43,6 +43,35 @@
     
     static ObjEditor theFrame;
 
+    public void AllocProjectedVertices(Object3D object)
+    {
+        assert (object.projectedVertices != null);
+
+        if (object.projectedVertices.length <= 2)
+        {
+            // Side effect...
+            Object3D.cVector2[] keep = object.projectedVertices;
+            object.projectedVertices = new Object3D.cVector2[3];
+            for (int i = 0; i < 3; i++)
+            {
+                if (i < keep.length)
+                {
+                    object.projectedVertices[i] = keep[i];
+                } else
+                {
+                    object.projectedVertices[i] = new Object3D.cVector2();
+                }
+                /*
+                if(keep.length == 0)
+                object.projectedVertices[0] = new Object3D.cVector2();
+                else
+                object.projectedVertices[0] = keep[0];
+                object.projectedVertices[1] = new Object3D.cVector2();
+                 */
+            }
+        }
+    }
+
     public cGridBag GetSeparator()
     {
         cGridBag separator = new cGridBag();
@@ -2160,6 +2189,21 @@
         });
         presetpanel.add(bump0);
         
+        cLabel borderShader = GetLabel("icons/shadericons/borderfade.jpg", !Grafreed.NIMBUSLAF);
+        borderShader.setToolTipText("Border fade");
+        borderShader.addMouseListener(new MouseAdapter()
+        {
+            public void mouseClicked(MouseEvent e)
+            {
+                borderfadeField.setFloat(0.5);
+                opacityField.setFloat(0.6);
+
+                materialtouched = true;
+                applySelf();
+            }
+        });
+        presetpanel.add(borderShader);
+        
         cLabel halo = GetLabel("icons/shadericons/shadericon00017.png", !Grafreed.NIMBUSLAF);
         halo.setToolTipText("Halo");
         halo.addMouseListener(new MouseAdapter()
@@ -3545,32 +3589,8 @@
 
         if (multiplyToggle != null)
                 multiplyToggle.setSelected(mat.multiply);
-
-        assert (object.projectedVertices != null);
-
-        if (object.projectedVertices.length <= 2)
-        {
-            // Side effect...
-            Object3D.cVector2[] keep = object.projectedVertices;
-            object.projectedVertices = new Object3D.cVector2[3];
-            for (int i = 0; i < 3; i++)
-            {
-                if (i < keep.length)
-                {
-                    object.projectedVertices[i] = keep[i];
-                } else
-                {
-                    object.projectedVertices[i] = new Object3D.cVector2();
-                }
-                /*
-                if(keep.length == 0)
-                object.projectedVertices[0] = new Object3D.cVector2();
-                else
-                object.projectedVertices[0] = keep[0];
-                object.projectedVertices[1] = new Object3D.cVector2();
-                 */
-            }
-        }
+        
+        AllocProjectedVertices(object);
 
         SetMaterial(mat, object.projectedVertices);
     }
diff --git a/icons/shadericons/borderfade.jpg b/icons/shadericons/borderfade.jpg
new file mode 100644
index 0000000..27fbef9
--- /dev/null
+++ b/icons/shadericons/borderfade.jpg
Binary files differ

--
Gitblit v1.6.2