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