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. --- ObjEditor.java | 87 +++++++++++++++++++++++++++++++++++-------- 1 files changed, 70 insertions(+), 17 deletions(-) diff --git a/ObjEditor.java b/ObjEditor.java index f27298a..3b8dd95 100644 --- a/ObjEditor.java +++ b/ObjEditor.java @@ -41,11 +41,25 @@ JFrame frame; static ObjEditor theFrame; + + public cGridBag GetSeparator() + { + cGridBag separator = new cGridBag(); + separator.add(new JSeparator()); + separator.preferredHeight = 5; + return separator; + } cButton GetButton(String name, boolean border) { ImageIcon icon = GetIcon(name); return new cButton(icon, border); + } + + cLabel GetLabel(String name, boolean border) + { + //ImageIcon icon = GetIcon(name); + return new cLabel(GetImage(name), border); } cToggleButton GetToggleButton(String name, boolean border) @@ -80,6 +94,20 @@ javax.swing.ImageIcon icon = new javax.swing.ImageIcon(image); return icon; + } + catch (Exception e) + { + return null; + } + } + + BufferedImage GetImage(String name) + { + try + { + BufferedImage image = javax.imageio.ImageIO.read(getClass().getClassLoader().getResourceAsStream(name)); + + return image; } catch (Exception e) { @@ -1522,22 +1550,28 @@ //tmp.setName("Edit"); objectPanel.add(materialPanel); objectPanel.setIconAt(0, GetIcon("icons/material.png")); + objectPanel.setToolTipTextAt(0, "Material panel"); + // JPanel north = new JPanel(new BorderLayout()); // north.setName("Edit"); // north.add(ctrlPanel, BorderLayout.NORTH); // objectPanel.add(north); objectPanel.add(editPanel); objectPanel.setIconAt(1, GetIcon("icons/write.png")); + objectPanel.setToolTipTextAt(1, "Edit panel"); //if (Globals.ADVANCED) objectPanel.add(infoPanel); objectPanel.setIconAt(2, GetIcon("icons/info.png")); + objectPanel.setToolTipTextAt(2, "Info panel"); objectPanel.add(XYZPanel); objectPanel.setIconAt(3, GetIcon("icons/XYZ.png")); + objectPanel.setToolTipTextAt(3, "XYZ/RGB panel"); objectPanel.add(toolboxPanel); objectPanel.setIconAt(4, GetIcon("icons/primitives.png")); + objectPanel.setToolTipTextAt(4, "Objects/backgrounds panel"); /* aConstraints.gridx = 0; @@ -1634,8 +1668,8 @@ /**/ bigThree = new cGridBag(); - bigThree.addComponent(centralPanel); bigThree.addComponent(scenePanel); + bigThree.addComponent(centralPanel); //bigThree.addComponent(XYZPanel); // // SIDE EFFECT!!! @@ -1677,7 +1711,6 @@ frame.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE); frame.addWindowListener(new WindowAdapter() { - public void windowClosing(WindowEvent e) { Close(); @@ -1739,27 +1772,48 @@ //ctrlPanel.add(new JLabel("----------------------------------")); // , aConstraints); cGridBag colorSection = new cGridBag().setVertical(true); + + cGridBag huepanel = new cGridBag(); + cGridBag huelabel = new cGridBag(); + huelabel.add(GetLabel("icons/hue.png", false)); + huelabel.preferredWidth = 20; + huepanel.add(new cGridBag()); // Label + huepanel.add(huelabel); // Field/slider + + huepanel.preferredHeight = 7; + + colorSection.add(huepanel); cGridBag color = new cGridBag(); - color.add(colorLabel = new JLabel("Color/hue")); // , aConstraints); - colorLabel.setHorizontalAlignment(SwingConstants.TRAILING); - color.add(colorField = new cNumberSlider(this, 0.001, 1, -0.5)); // , aConstraints); + + color.add(colorLabel = new JLabel("Color/hue")); // , aConstraints); + colorLabel.setHorizontalAlignment(SwingConstants.TRAILING); + color.add(colorField = new cNumberSlider(this, 0.001, 1)); // , aConstraints); + //colorField.preferredWidth = 200; colorSection.add(color); cGridBag modulation = new cGridBag(); modulation.add(modulationLabel = new JLabel("Saturation")); // , aConstraints); modulationLabel.setHorizontalAlignment(SwingConstants.TRAILING); - modulation.add(modulationField = new cNumberSlider(this, 0.001, 1, -0.5)); // , aConstraints); + modulation.add(modulationField = new cNumberSlider(this, 0.001, 1)); // , aConstraints); colorSection.add(modulation); + cGridBag opacity = new cGridBag(); + opacity.add(opacityLabel = new JLabel("Opacity")); // , aConstraints); + opacityLabel.setHorizontalAlignment(SwingConstants.TRAILING); + opacity.add(opacityField = new cNumberSlider(this, 0.001, 1)); // , aConstraints); + colorSection.add(opacity); + + colorSection.add(GetSeparator()); + cGridBag texture = new cGridBag(); texture.add(textureLabel = new JLabel("Texture")); // , aConstraints); textureLabel.setHorizontalAlignment(SwingConstants.TRAILING); texture.add(textureField = new cNumberSlider(this, 0.001, 1, -0.5)); // , aConstraints); colorSection.add(texture); - panel.add(new JSeparator()); + panel.add(GetSeparator()); panel.add(colorSection); @@ -1815,7 +1869,7 @@ shadowbias.add(shadowbiasField = new cNumberSlider(this, 0.001, 50, -1)); // , aConstraints); diffuseSection.add(shadowbias); - panel.add(new JSeparator()); + panel.add(GetSeparator()); panel.add(diffuseSection); @@ -1878,7 +1932,7 @@ specularSection.add(anisoV); - panel.add(new JSeparator()); + panel.add(GetSeparator()); panel.add(specularSection); @@ -1903,12 +1957,6 @@ backlitLabel.setHorizontalAlignment(SwingConstants.TRAILING); backlit.add(backlitField = new cNumberSlider(this, 0.001, 50, -1)); // , aConstraints); colorSection.add(backlit); - - cGridBag opacity = new cGridBag(); - opacity.add(opacityLabel = new JLabel("Opacity")); // , aConstraints); - opacityLabel.setHorizontalAlignment(SwingConstants.TRAILING); - opacity.add(opacityField = new cNumberSlider(this, 0.001, 1, -0.5)); // , aConstraints); - colorSection.add(opacity); //panel.add(new JSeparator()); @@ -1954,7 +2002,7 @@ opacityPower.add(opacityPowerField = new cNumberSlider(this, 0.0, 10 /*10 dec 2013*/)); // , aConstraints); textureSection.add(opacityPower); - panel.add(new JSeparator()); + panel.add(GetSeparator()); panel.add(textureSection); @@ -3644,7 +3692,7 @@ cRadio tab = GetCurrentTab(); - byte[] compress = CompressCopy(); + byte[] compress = CompressCopy(); // Saved version. No need for "Replace". boolean thesame = false; @@ -3711,6 +3759,9 @@ copy.clear(); + copy.skyboxname = obj.skyboxname; + copy.skyboxext = obj.skyboxext; + for (int i=0; i<obj.Size(); i++) { copy.add(obj.get(i)); @@ -4853,6 +4904,8 @@ { //readobj.deepCopySelf(copy); copy.clear(); // june 2014 + copy.skyboxname = readobj.skyboxname; + copy.skyboxext = readobj.skyboxext; for (int i = 0; i < readobj.size(); i++) { Object3D child = readobj.get(i); // reserve(i); -- Gitblit v1.6.2