From 564f4d12d93813b5d680fc24d4f118c3886d96ed Mon Sep 17 00:00:00 2001
From: Normand Briere <nbriere@noware.ca>
Date: Tue, 20 Aug 2019 19:56:41 -0400
Subject: [PATCH] Parallax mapping!

---
 Camera.java |   19 ++++++++++---------
 1 files changed, 10 insertions(+), 9 deletions(-)

diff --git a/Camera.java b/Camera.java
index 82f2189..4a67693 100644
--- a/Camera.java
+++ b/Camera.java
@@ -3,7 +3,6 @@
 // Decompiler options: packimports(3) 
 // Source File Name:   Camera.java
 
-
 class Camera extends Object3D
 {
     static final long serialVersionUID = 4754289789178680517L;
@@ -21,7 +20,7 @@
         //<-2.2,0.7,-2> and pointed it at <-0.61,0.3,-0.6>
     //    location = LA.newVector(2,0.7,-2);
     //    lookAt = new cVector(0.6,0.3,-0.6);
-        location = LA.newVector(3,2,2);
+        location = LA.newVector(6,2,4);
         lookAt = new cVector(0.0,0.5,0);
         direction = new cVector();
         toParent = LA.newMatrix();
@@ -53,7 +52,7 @@
             perspective = true;
             break;
         case 1: // '\001'
-            location = LA.newVector(0, 0, 4);
+            location = LA.newVector(4, 0, 0);
             perspective = false;
             break;
         case 2: // '\002'
@@ -64,7 +63,7 @@
             //LA.matXRotate(fromScreen, LA.toRadians(90));
             break;
         case 3: // '\003'
-            location = LA.newVector(4, 0, 0);
+            location = LA.newVector(0, 0, 4);
             //LA.matZRotate(toScreen, LA.toRadians(-90));
             //LA.matXRotate(toScreen, LA.toRadians(-90));
             //LA.matXRotate(fromScreen, LA.toRadians(90));
@@ -72,7 +71,7 @@
             perspective = false;
             break;
         case 4: // Default light
-            location = LA.newVector(10, 30, 20);
+            location = LA.newVector(-5, 20, 10);
             perspective = false;
             break;
         }
@@ -320,7 +319,7 @@
             location.set(lookAt);
             lookAt.set(cStatic.point1);
             
-            computeTransform();
+            //computeTransform();
 	}
 	
     //synchronized // june 2014
@@ -392,13 +391,15 @@
         if (CameraPane.ROTATECAMERA)
         {
             double[][] rotate = { { 0,1,0,0 }, { -1,0,0,0}, { 0,0,1,0}, { 0,0,0,1 } };
-            double[][] rotate_1 = { { 0,-1,0,0 }, { 1,0,0,0}, { 0,0,1,0}, { 0,0,0,1 } };
+            //double[][] rotate_1 = { { 0,-1,0,0 }, { 1,0,0,0}, { 0,0,1,0}, { 0,0,0,1 } };
         
-            LA.matConcat(rotate, fromScreen, fromScreen);
-            LA.matConcat(toScreen, rotate_1, toScreen);
+            LA.matConcat(fromScreen, rotate, fromScreen);
+            //LA.matConcat(toScreen, rotate_1, toScreen);
         }
 		//if (this == CameraPane.lightCamera)
 			//CameraPane.lighttouched = true;
+        
+        LA.matInvert(fromScreen, toScreen);
     }
 
 //    void Draw(CameraPane display, Object3D /*Composite*/ root, boolean selected)

--
Gitblit v1.6.2