From 5892f05411c3d4dce2d8a59e0966dc2e1843a971 Mon Sep 17 00:00:00 2001 From: Normand Briere <nbriere@noware.ca> Date: Sat, 17 Aug 2019 08:33:35 -0400 Subject: [PATCH] Fix L&F nimbus too slow. --- CameraPane.java | 83 ++++++++++++++++++++++++++++++++--------- 1 files changed, 65 insertions(+), 18 deletions(-) diff --git a/CameraPane.java b/CameraPane.java index ebdca60..3c3d2d0 100644 --- a/CameraPane.java +++ b/CameraPane.java @@ -168,7 +168,7 @@ // OPTIONS - boolean Skinshader = true; + boolean Skinshader = false; // true; boolean cameraLight = false; boolean UVdebug = false; boolean Udebug = false; @@ -10690,9 +10690,18 @@ static boolean init = false; double[][] matrix = LA.newMatrix(); + + // This is to refresh the UI of the material panel. + ObjEditor patchMaterial; public void display(GLAutoDrawable drawable) { + if (patchMaterial.patchMaterial) + { + patchMaterial.patchMaterial = false; + patchMaterial.objectPanel.setSelectedIndex(0); + } + if (Grafreed.savesound && Grafreed.hassound) { Grafreed.wav.save(); @@ -11088,7 +11097,7 @@ { if (cubemaprgb == null) { - cubemaprgb = LoadSkybox("cubemaps/default-skyboxes/rgb" + "/", "jpg", false); + cubemaprgb = LoadSkybox("cubemaps/default-skyboxes/rgb2" + "/", "jpg", false); } cubemap = cubemaprgb; @@ -13419,8 +13428,12 @@ program = programmin; } - System.out.print("Program #" + mode + "; instructions = " + program.split(";").length + "; length = " + program.length()); - System.out.println(" - " + (mode >> 3) + " lights; " + ((mode & 2) == 2 ? "anisoUV " : "") + ((mode & 4) == 4 ? "SoftShadow " : "")); + if (Globals.DEBUG) + { + System.out.print("Program #" + mode + "; instructions = " + program.split(";").length + "; length = " + program.length()); + System.out.println(" - " + (mode >> 3) + " lights; " + ((mode & 2) == 2 ? "anisoUV " : "") + ((mode & 4) == 4 ? "SoftShadow " : "")); + } + loadProgram(gl, GL.GL_FRAGMENT_PROGRAM_ARB, program); //gl.glNewList(displayListID, GL.GL_COMPILE); @@ -13467,7 +13480,8 @@ "\n" + "END\n"; - System.out.println("Program shadow #" + 0 + "; length = " + program.length()); + if (Globals.DEBUG) + System.out.println("Program shadow #" + 0 + "; length = " + program.length()); loadProgram(gl, GL.GL_FRAGMENT_PROGRAM_ARB, program); //gl.glNewList(displayListID, GL.GL_COMPILE); @@ -14666,11 +14680,17 @@ void GoDown(int mod) { MODIFIERS |= COMMAND; + boolean isVR = (mouseMode&VR)!=0; /**/ if((mod&SHIFT) == SHIFT) - manipCamera.BackForth(0, -speed*delta, 0); // getWidth()); + { + if (isVR) + manipCamera.RotateInterest(0, -speed); + else + manipCamera.RotatePosition(0, -speed); + } else - manipCamera.RotatePosition(0, -speed); + manipCamera.BackForth(0, -speed*delta, isVR?1000:0); // getWidth()); /**/ if ((mod & SHIFT) == SHIFT) { @@ -14680,6 +14700,8 @@ mouseMode |= BACKFORTH; } + targetLookAt.set(manipCamera.lookAt); + //prevX = X = anchorX; prevY = Y = anchorY - (int) (renderCamera.Distance()); } @@ -14688,10 +14710,17 @@ { MODIFIERS |= COMMAND; /**/ + boolean isVR = (mouseMode&VR)!=0; + if((mod&SHIFT) == SHIFT) - manipCamera.BackForth(0, speed*delta, 0); // getWidth()); + { + if (isVR) + manipCamera.RotateInterest(0, speed); + else + manipCamera.RotatePosition(0, speed); + } else - manipCamera.RotatePosition(0, speed); + manipCamera.BackForth(0, speed*delta, isVR?1000:0); // getWidth()); /**/ if ((mod & SHIFT) == SHIFT) { @@ -14701,6 +14730,8 @@ mouseMode |= BACKFORTH; } + targetLookAt.set(manipCamera.lookAt); + //prevX = X = anchorX; prevY = Y = anchorY + (int) (renderCamera.Distance()); } @@ -14710,9 +14741,14 @@ MODIFIERS |= COMMAND; /**/ if((mod&SHIFT) == SHIFT) - manipCamera.Translate(speed*delta, 0, getWidth()); + manipCamera.Translate(speed*delta, 0, getWidth()); else - manipCamera.RotatePosition(speed, 0); + { + if ((mouseMode&VR)!=0) + manipCamera.RotateInterest(-speed, 0); + else + manipCamera.RotatePosition(speed, 0); + } /**/ if ((mod & SHIFT) == SHIFT) { @@ -14722,6 +14758,8 @@ mouseMode |= ROTATE; } // TRANSLATE; + targetLookAt.set(manipCamera.lookAt); + prevX = X = anchorX - 10; // (int)(10*renderCamera.Distance()); prevY = Y = anchorY; } @@ -14731,9 +14769,15 @@ MODIFIERS |= COMMAND; /**/ if((mod&SHIFT) == SHIFT) - manipCamera.Translate(-speed*delta, 0, getWidth()); + manipCamera.Translate(-speed*delta, 0, getWidth()); else - manipCamera.RotatePosition(-speed, 0); + { + if ((mouseMode&VR)!=0) + manipCamera.RotateInterest(speed, 0); + else + manipCamera.RotatePosition(-speed, 0); + } + /**/ if ((mod & SHIFT) == SHIFT) { @@ -14743,6 +14787,8 @@ mouseMode |= ROTATE; } // TRANSLATE; + targetLookAt.set(manipCamera.lookAt); + prevX = X = anchorX + 10; // (int)(10*renderCamera.Distance()); prevY = Y = anchorY; } @@ -15245,8 +15291,8 @@ case 'K': KOMPACTTEXTURE ^= true; //textures.clear(); - break; - case 'P': // Texture Projection macros + // break; + //case 'P': // Texture Projection macros // SAVETEXTURE ^= true; macromode = true; Udebug = Vdebug = NORMALdebug = false; programInitialized = false; @@ -15367,7 +15413,7 @@ targetLookAt.set(manipCamera.lookAt); repaint(); break; - case 'p': + case 'P': // p': // c'est quoi ca au juste? spherical ^= true; Skinshader ^= true; programInitialized = false; repaint(); @@ -16127,7 +16173,7 @@ { switch (hitSomething) { - case Object3D.hitCenter: gr.setColor(Color.pink); + case Object3D.hitCenter: gr.setColor(Color.white); gr.drawLine(X, Y, info.bounds.width/2, info.bounds.height/2); break; case Object3D.hitRotate: gr.setColor(Color.yellow); @@ -16153,7 +16199,7 @@ if (hasMarquee) { gr.setXORMode(Color.white); - gr.setColor(Color.red); + gr.setColor(Color.white); if (!firstime) { gr.drawRect(prevmarqX, prevmarqY, prevmarqW, prevmarqH); @@ -17329,6 +17375,7 @@ public void init(GLAutoDrawable drawable) { + if (Globals.DEBUG) System.out.println("shadow buffer init"); GL gl = drawable.getGL(); -- Gitblit v1.6.2