From 29d5516687020263d3ae0454ce81879a3a450af0 Mon Sep 17 00:00:00 2001 From: Normand Briere <nbriere@noware.ca> Date: Thu, 01 Aug 2019 00:20:18 -0400 Subject: [PATCH] Min shader option. --- CameraPane.java | 29 ++++++++++++++++++----------- Globals.java | 2 ++ GroupEditor.java | 17 ++++++++++++++--- 3 files changed, 34 insertions(+), 14 deletions(-) diff --git a/CameraPane.java b/CameraPane.java index 5bb4b19..219e567 100644 --- a/CameraPane.java +++ b/CameraPane.java @@ -12453,7 +12453,7 @@ //gl.glProgramEnvParameter4fvARB(GL.GL_FRAGMENT_PROGRAM_ARB, 127, lightParams, 0); - String program0 = + String programmin = // Min shader "!!ARBfp1.0\n" + "PARAM zero123 = { 0.0, 1.0, 2, 1.25 };" + @@ -12520,7 +12520,7 @@ "MOV result.color, temp;" + "END"; - String program = + String programmax = "!!ARBfp1.0\n" + //"OPTION ARB_fragment_program_shadow;" + @@ -13376,6 +13376,13 @@ //once = true; } + String program = programmax; + + if (Globals.MINSHADER) + { + 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 " : "")); loadProgram(gl, GL.GL_FRAGMENT_PROGRAM_ARB, program); @@ -16667,14 +16674,14 @@ gl.glLoadIdentity(); gl.glScalef(1,ratio,1); - colorV[0] = 2; - colorV[1] = 2; - colorV[2] = 2; - colorV[3] = 1; - gl.glDisable(gl.GL_COLOR_MATERIAL); - gl.glMaterialfv(gl.GL_FRONT_AND_BACK, gl.GL_AMBIENT, colorV, 0); - - gl.glLightModelfv(gl.GL_LIGHT_MODEL_AMBIENT, ambientLight, 0); +// colorV[0] = 2; +// colorV[1] = 2; +// colorV[2] = 2; +// colorV[3] = 1; +// gl.glDisable(gl.GL_COLOR_MATERIAL); +// gl.glMaterialfv(gl.GL_FRONT_AND_BACK, gl.GL_AMBIENT, colorV, 0); +// +// gl.glLightModelfv(gl.GL_LIGHT_MODEL_AMBIENT, ambientLight, 0); //gl.glActiveTexture(GL.GL_TEXTURE1); //gl.glDisable(GL.GL_TEXTURE_CUBE_MAP); @@ -16688,7 +16695,7 @@ // GL_NORMAL_MAP texgen mode. Temporarily enabling lighting // causes the normals to be sent down. Thanks to Ken Dyke. //gl.glEnable(GL.GL_LIGHTING); - gl.glEnable(GL.GL_LIGHTING); + gl.glDisable(GL.GL_LIGHTING); gl.glTexGeni(GL.GL_S, GL.GL_TEXTURE_GEN_MODE, GL.GL_NORMAL_MAP); gl.glTexGeni(GL.GL_T, GL.GL_TEXTURE_GEN_MODE, GL.GL_NORMAL_MAP); diff --git a/Globals.java b/Globals.java index 3d6158a..70488f3 100644 --- a/Globals.java +++ b/Globals.java @@ -7,6 +7,8 @@ static iCameraPane theRenderer; private static boolean LIVE = false; + + public static boolean MINSHADER = false; public static boolean COMPUTESHADOWWHENLIVE = true; public static boolean RENDERSHADOW = true; diff --git a/GroupEditor.java b/GroupEditor.java index 05231cb..f72277a 100644 --- a/GroupEditor.java +++ b/GroupEditor.java @@ -1234,9 +1234,12 @@ smoothCB.setToolTipText("Snapping delay"); smoothCB.addItemListener(this); - panel.add(slowCB = new cCheckBox("Slow", CameraPane.SLOWPOSE)); //, constraints); - slowCB.setToolTipText("Smooth interpolation"); - slowCB.addItemListener(this); +// panel.add(slowCB = new cCheckBox("Slow", CameraPane.SLOWPOSE)); //, constraints); +// slowCB.setToolTipText("Smooth interpolation"); +// slowCB.addItemListener(this); + panel.add(minshaderCB = new cCheckBox("Min shader", Globals.MINSHADER)); //, constraints); + minshaderCB.setToolTipText("Minimal fast shader"); + minshaderCB.addItemListener(this); // constraints.gridy += 1; // panel.add(speakerMocapCB = new cCheckBox("Mocap", CameraPane.SPEAKERMOCAP), constraints); @@ -1350,6 +1353,8 @@ cCheckBox localCB; cCheckBox crowdCB; cCheckBox smoothCB; + cCheckBox minshaderCB; + cToggleButton fastCB; cCheckBox slowCB; cCheckBox boxCB; @@ -1421,6 +1426,12 @@ cameraView.ToggleInertia(); cameraView.repaint(); } + else if(e.getSource() == minshaderCB) + { + Globals.MINSHADER ^= true; + cameraView.programInitialized = false; + cameraView.repaint(); + } else if(e.getSource() == localCB) { cameraView.ToggleLocal(); -- Gitblit v1.6.2