From 4ec7130da08861dc4aff0232dbce38f3471696a4 Mon Sep 17 00:00:00 2001
From: Normand Briere <nbriere@noware.ca>
Date: Mon, 05 Aug 2019 20:41:17 -0400
Subject: [PATCH] Materials working.
---
ObjEditor.java | 337 +++++++++++++++++++++++++++++++++++++++++++++++++++++---
GroupEditor.java | 8
gfd/materials.gfd | 0
icons/trash.png | 0
icons/shadericons/shadericon00018.png | 0
5 files changed, 322 insertions(+), 23 deletions(-)
diff --git a/GroupEditor.java b/GroupEditor.java
index d8844d1..5698ae1 100644
--- a/GroupEditor.java
+++ b/GroupEditor.java
@@ -948,12 +948,12 @@
updown.add(restoreButton = GetButton("icons/restore.png", !Grafreed.NIMBUSLAF)); //, oe.aConstraints);
restoreButton.setToolTipText("Undo (restore current version)");
restoreButton.addActionListener(this);
- restoreButton.setEnabled(false);
+ //restoreButton.setEnabled(false);
updown.add(replaceButton = GetButton("icons/replace.png", !Grafreed.NIMBUSLAF)); //, oe.aConstraints);
replaceButton.setToolTipText("Save (replace current version)");
replaceButton.addActionListener(this);
- replaceButton.setEnabled(false);
+ //replaceButton.setEnabled(false);
copyOptionsPanel.add(updown);
@@ -2617,13 +2617,13 @@
{
// Restore current version
Restore();
- restoreButton.setEnabled(false);
+ //restoreButton.setEnabled(false);
} else
if (source == replaceButton)
{
// Overwrite current version
Replace();
- replaceButton.setEnabled(false);
+ //replaceButton.setEnabled(false);
} else
if (source == nextVersionButton)
{
diff --git a/ObjEditor.java b/ObjEditor.java
index 996442d..b86325c 100644
--- a/ObjEditor.java
+++ b/ObjEditor.java
@@ -1740,7 +1740,9 @@
void SetupMaterial(cGridBag materialpanel)
{
cGridBag presetpanel = new cGridBag().setVertical(true);
+
cLabel skin = GetLabel("icons/shadericons/shadericon00000.png", !Grafreed.NIMBUSLAF);
+ skin.setToolTipText("Skin");
skin.addMouseListener(new MouseAdapter()
{
public void mouseClicked(MouseEvent e)
@@ -1769,8 +1771,116 @@
});
presetpanel.add(skin);
- cLabel rough2 = GetLabel("icons/shadericons/shadericon00001.png", !Grafreed.NIMBUSLAF);
- rough2.addMouseListener(new MouseAdapter()
+ cLabel lambert = GetLabel("icons/shadericons/shadericon00002.png", !Grafreed.NIMBUSLAF);
+ lambert.setToolTipText("Diffuse");
+ lambert.addMouseListener(new MouseAdapter()
+ {
+ public void mouseClicked(MouseEvent e)
+ {
+ Object3D object = Grafreed.materials.versionlist[2].get(0);
+ cMaterial material = object.material;
+
+ diffusenessField.setFloat(material.factor);
+ selfshadowField.setFloat(material.diffuseness);
+
+ materialtouched = true;
+ applySelf();
+ }
+ });
+ presetpanel.add(lambert);
+
+ cLabel diffuse2 = GetLabel("icons/shadericons/shadericon00003.png", !Grafreed.NIMBUSLAF);
+ diffuse2.setToolTipText("Diffuse2");
+ diffuse2.addMouseListener(new MouseAdapter()
+ {
+ public void mouseClicked(MouseEvent e)
+ {
+ Object3D object = Grafreed.materials.versionlist[3].get(0);
+ cMaterial material = object.material;
+
+ diffusenessField.setFloat(material.factor);
+ selfshadowField.setFloat(material.diffuseness);
+
+ materialtouched = true;
+ applySelf();
+ }
+ });
+ presetpanel.add(diffuse2);
+
+ cLabel diffusemoon = GetLabel("icons/shadericons/shadericon00004.png", !Grafreed.NIMBUSLAF);
+ diffusemoon.setToolTipText("Moon");
+ diffusemoon.addMouseListener(new MouseAdapter()
+ {
+ public void mouseClicked(MouseEvent e)
+ {
+ Object3D object = Grafreed.materials.versionlist[4].get(0);
+ cMaterial material = object.material;
+
+ diffusenessField.setFloat(material.factor);
+ selfshadowField.setFloat(material.diffuseness);
+
+ materialtouched = true;
+ applySelf();
+ }
+ });
+ presetpanel.add(diffusemoon);
+
+ cLabel diffusemoon2 = GetLabel("icons/shadericons/shadericon00005.png", !Grafreed.NIMBUSLAF);
+ diffusemoon2.setToolTipText("Moon2");
+ diffusemoon2.addMouseListener(new MouseAdapter()
+ {
+ public void mouseClicked(MouseEvent e)
+ {
+ Object3D object = Grafreed.materials.versionlist[5].get(0);
+ cMaterial material = object.material;
+
+ diffusenessField.setFloat(material.factor);
+ selfshadowField.setFloat(material.diffuseness);
+
+ materialtouched = true;
+ applySelf();
+ }
+ });
+ presetpanel.add(diffusemoon2);
+
+ cLabel diffusemoon3 = GetLabel("icons/shadericons/shadericon00006.png", !Grafreed.NIMBUSLAF);
+ diffusemoon3.setToolTipText("Moon3");
+ diffusemoon3.addMouseListener(new MouseAdapter()
+ {
+ public void mouseClicked(MouseEvent e)
+ {
+ Object3D object = Grafreed.materials.versionlist[6].get(0);
+ cMaterial material = object.material;
+
+ diffusenessField.setFloat(material.factor);
+ selfshadowField.setFloat(material.diffuseness);
+
+ materialtouched = true;
+ applySelf();
+ }
+ });
+ presetpanel.add(diffusemoon3);
+
+ cLabel diffusesheen = GetLabel("icons/shadericons/shadericon00007.png", !Grafreed.NIMBUSLAF);
+ diffusesheen.setToolTipText("Sheen");
+ diffusesheen.addMouseListener(new MouseAdapter()
+ {
+ public void mouseClicked(MouseEvent e)
+ {
+ Object3D object = Grafreed.materials.versionlist[7].get(0);
+ cMaterial material = object.material;
+
+ sheenField.setFloat(material.sheen);
+
+ materialtouched = true;
+ applySelf();
+ }
+ });
+ presetpanel.add(diffusesheen);
+
+ cLabel rough = GetLabel("icons/shadericons/shadericon00001.png", !Grafreed.NIMBUSLAF);
+ rough.setToolTipText("Rough metal");
+ rough.addMouseListener(new MouseAdapter()
{
public void mouseClicked(MouseEvent e)
{
@@ -1784,31 +1894,220 @@
applySelf();
}
});
+ presetpanel.add(rough);
+
+ cLabel rough2 = GetLabel("icons/shadericons/shadericon00013.png", !Grafreed.NIMBUSLAF);
+ rough2.setToolTipText("Medium metal");
+ rough2.addMouseListener(new MouseAdapter()
+ {
+ public void mouseClicked(MouseEvent e)
+ {
+ Object3D object = Grafreed.materials.versionlist[13].get(0);
+ cMaterial material = object.material;
+
+ shininessField.setFloat(material.shininess);
+ lightareaField.setFloat(material.lightarea);
+
+ materialtouched = true;
+ applySelf();
+ }
+ });
presetpanel.add(rough2);
- presetpanel.add(GetLabel("icons/shadericons/shadericon00002.png", !Grafreed.NIMBUSLAF));
- presetpanel.add(GetLabel("icons/shadericons/shadericon00003.png", !Grafreed.NIMBUSLAF));
- presetpanel.add(GetLabel("icons/shadericons/shadericon00004.png", !Grafreed.NIMBUSLAF));
- presetpanel.add(GetLabel("icons/shadericons/shadericon00005.png", !Grafreed.NIMBUSLAF));
- presetpanel.add(GetLabel("icons/shadericons/shadericon00006.png", !Grafreed.NIMBUSLAF));
- presetpanel.add(GetLabel("icons/shadericons/shadericon00007.png", !Grafreed.NIMBUSLAF));
- presetpanel.add(GetLabel("icons/shadericons/shadericon00008.png", !Grafreed.NIMBUSLAF));
- presetpanel.add(GetLabel("icons/shadericons/shadericon00009.png", !Grafreed.NIMBUSLAF));
- presetpanel.add(GetLabel("icons/shadericons/shadericon00010.png", !Grafreed.NIMBUSLAF));
- presetpanel.add(GetLabel("icons/shadericons/shadericon00011.png", !Grafreed.NIMBUSLAF));
- presetpanel.add(GetLabel("icons/shadericons/shadericon00012.png", !Grafreed.NIMBUSLAF));
- presetpanel.add(GetLabel("icons/shadericons/shadericon00013.png", !Grafreed.NIMBUSLAF));
- presetpanel.add(GetLabel("icons/shadericons/shadericon00014.png", !Grafreed.NIMBUSLAF));
- presetpanel.add(GetLabel("icons/shadericons/shadericon00015.png", !Grafreed.NIMBUSLAF));
- presetpanel.add(GetLabel("icons/shadericons/shadericon00016.png", !Grafreed.NIMBUSLAF));
- presetpanel.add(GetLabel("icons/shadericons/shadericon00017.png", !Grafreed.NIMBUSLAF));
+ cLabel shini0 = GetLabel("icons/shadericons/shadericon00014.png", !Grafreed.NIMBUSLAF);
+ shini0.setToolTipText("Shiny");
+ shini0.addMouseListener(new MouseAdapter()
+ {
+ public void mouseClicked(MouseEvent e)
+ {
+ Object3D object = Grafreed.materials.versionlist[14].get(0);
+ cMaterial material = object.material;
+
+ shininessField.setFloat(material.shininess);
+ lightareaField.setFloat(material.lightarea);
+
+ materialtouched = true;
+ applySelf();
+ }
+ });
+ presetpanel.add(shini0);
+
+ cLabel shini1 = GetLabel("icons/shadericons/shadericon00011.png", !Grafreed.NIMBUSLAF);
+ shini1.setToolTipText("Shiny2");
+ shini1.addMouseListener(new MouseAdapter()
+ {
+ public void mouseClicked(MouseEvent e)
+ {
+ Object3D object = Grafreed.materials.versionlist[11].get(0);
+ cMaterial material = object.material;
+
+ shininessField.setFloat(material.shininess);
+ lightareaField.setFloat(material.lightarea);
+
+ materialtouched = true;
+ applySelf();
+ }
+ });
+ presetpanel.add(shini1);
+
+ cLabel shini2 = GetLabel("icons/shadericons/shadericon00012.png", !Grafreed.NIMBUSLAF);
+ shini2.setToolTipText("Shiny3");
+ shini2.addMouseListener(new MouseAdapter()
+ {
+ public void mouseClicked(MouseEvent e)
+ {
+ Object3D object = Grafreed.materials.versionlist[12].get(0);
+ cMaterial material = object.material;
+
+ shininessField.setFloat(material.shininess);
+ lightareaField.setFloat(material.lightarea);
+
+ materialtouched = true;
+ applySelf();
+ }
+ });
+ presetpanel.add(shini2);
+
+ cLabel aniso = GetLabel("icons/shadericons/shadericon00008.png", !Grafreed.NIMBUSLAF);
+ aniso.setToolTipText("AnisoU");
+ aniso.addMouseListener(new MouseAdapter()
+ {
+ public void mouseClicked(MouseEvent e)
+ {
+ Object3D object = Grafreed.materials.versionlist[8].get(0);
+ cMaterial material = object.material;
+
+ anisoField.setFloat(material.aniso);
+ anisoVField.setFloat(material.anisoV);
+
+ materialtouched = true;
+ applySelf();
+ }
+ });
+ presetpanel.add(aniso);
+
+ cLabel aniso2 = GetLabel("icons/shadericons/shadericon00009.png", !Grafreed.NIMBUSLAF);
+ aniso2.setToolTipText("AnisoV");
+ aniso2.addMouseListener(new MouseAdapter()
+ {
+ public void mouseClicked(MouseEvent e)
+ {
+ Object3D object = Grafreed.materials.versionlist[9].get(0);
+ cMaterial material = object.material;
+
+ anisoField.setFloat(material.aniso);
+ anisoVField.setFloat(material.anisoV);
+
+ materialtouched = true;
+ applySelf();
+ }
+ });
+ presetpanel.add(aniso2);
+
+ cLabel aniso3 = GetLabel("icons/shadericons/shadericon00010.png", !Grafreed.NIMBUSLAF);
+ aniso3.setToolTipText("AnisoUV");
+ aniso3.addMouseListener(new MouseAdapter()
+ {
+ public void mouseClicked(MouseEvent e)
+ {
+ Object3D object = Grafreed.materials.versionlist[10].get(0);
+ cMaterial material = object.material;
+
+ anisoField.setFloat(material.aniso);
+ anisoVField.setFloat(material.anisoV);
+
+ materialtouched = true;
+ applySelf();
+ }
+ });
+ presetpanel.add(aniso3);
+
+ cLabel velvet0 = GetLabel("icons/shadericons/shadericon00015.png", !Grafreed.NIMBUSLAF);
+ velvet0.setToolTipText("Velvet");
+ velvet0.addMouseListener(new MouseAdapter()
+ {
+ public void mouseClicked(MouseEvent e)
+ {
+ Object3D object = Grafreed.materials.versionlist[15].get(0);
+ cMaterial material = object.material;
+
+ diffusenessField.setFloat(material.factor);
+ selfshadowField.setFloat(material.diffuseness);
+ sheenField.setFloat(material.sheen);
+ shininessField.setFloat(material.shininess);
+ velvetField.setFloat(material.velvet);
+ shiftField.setFloat(material.shift);
+
+ materialtouched = true;
+ applySelf();
+ }
+ });
+ presetpanel.add(velvet0);
+
+ cLabel bump0 = GetLabel("icons/shadericons/shadericon00016.png", !Grafreed.NIMBUSLAF);
+ bump0.setToolTipText("Bump texture");
+ bump0.addMouseListener(new MouseAdapter()
+ {
+ public void mouseClicked(MouseEvent e)
+ {
+ Object3D object = Grafreed.materials.versionlist[16].get(0);
+ cMaterial material = object.material;
+
+ bumpField.setFloat(object.projectedVertices[0].x / 1000.0);
+ noiseField.setFloat(object.projectedVertices[0].y / 1000.0);
+ powerField.setFloat(object.projectedVertices[2].x / 1000.0);
+
+ materialtouched = true;
+ applySelf();
+ }
+ });
+ presetpanel.add(bump0);
+
+ cLabel halo = GetLabel("icons/shadericons/shadericon00017.png", !Grafreed.NIMBUSLAF);
+ halo.setToolTipText("Halo");
+ halo.addMouseListener(new MouseAdapter()
+ {
+ public void mouseClicked(MouseEvent e)
+ {
+ Object3D object = Grafreed.materials.versionlist[17].get(0);
+ cMaterial material = object.material;
+
+ opacityPowerField.setFloat(object.projectedVertices[2].y / 1000.0);
+
+ materialtouched = true;
+ applySelf();
+ }
+ });
+ presetpanel.add(halo);
+
+ cLabel candle = GetLabel("icons/shadericons/shadericon00018.png", !Grafreed.NIMBUSLAF);
+ candle.setToolTipText("Candle");
+ candle.addMouseListener(new MouseAdapter()
+ {
+ public void mouseClicked(MouseEvent e)
+ {
+ Object3D object = Grafreed.materials.versionlist[18].get(0);
+ cMaterial material = object.material;
+
+ subsurfaceField.setFloat(material.subsurface);
+ shadowbiasField.setFloat(material.shadowbias);
+ ambientField.setFloat(material.ambient);
+ specularField.setFloat(material.specular);
+ lightareaField.setFloat(material.lightarea);
+ shininessField.setFloat(material.shininess);
+
+ materialtouched = true;
+ applySelf();
+ }
+ });
+ presetpanel.add(candle);
cGridBag panel = new cGridBag().setVertical(true);
presetpanel.preferredWidth = 1;
- materialpanel.add(panel);
materialpanel.add(presetpanel);
+ materialpanel.add(panel);
panel.preferredWidth = 8;
diff --git a/gfd/materials.gfd b/gfd/materials.gfd
index 35d0e08..ab69a8d 100644
--- a/gfd/materials.gfd
+++ b/gfd/materials.gfd
Binary files differ
diff --git a/icons/shadericons/shadericon00018.png b/icons/shadericons/shadericon00018.png
new file mode 100644
index 0000000..98ba99f
--- /dev/null
+++ b/icons/shadericons/shadericon00018.png
Binary files differ
diff --git a/icons/trash.png b/icons/trash.png
index 5918dbe..b6237c3 100644
--- a/icons/trash.png
+++ b/icons/trash.png
Binary files differ
--
Gitblit v1.6.2