aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpepe <pepe@28c7f869-5b4e-e670-f602-82bfaf57f300>2005-05-19 04:31:23 +0000
committerpepe <pepe@28c7f869-5b4e-e670-f602-82bfaf57f300>2005-05-19 04:31:23 +0000
commit9cd9bb729d413e1611980eaece4fec9f90764d36 (patch)
tree1a690ea68428f3f66f26fc621fbd5c647d87f2cf
parent263495275ef2c93b650ca5380a69a3b1b71f7abc (diff)
Added support for testing RasterOps, so that issue #139 is covered.
-rw-r--r--src/DepthFuncTest/DepthFuncTest.form62
-rw-r--r--src/DepthFuncTest/DepthFuncTest.java159
-rw-r--r--src/DepthFuncTest/RenderFrame.java55
3 files changed, 239 insertions, 37 deletions
diff --git a/src/DepthFuncTest/DepthFuncTest.form b/src/DepthFuncTest/DepthFuncTest.form
index ac15bd3..b7d1376 100644
--- a/src/DepthFuncTest/DepthFuncTest.form
+++ b/src/DepthFuncTest/DepthFuncTest.form
@@ -5,7 +5,7 @@
<Property name="defaultCloseOperation" type="int" value="3"/>
</Properties>
<SyntheticProperties>
- <SyntheticProperty name="formSize" type="java.awt.Dimension" value="-84,-19,0,5,115,114,0,18,106,97,118,97,46,97,119,116,46,68,105,109,101,110,115,105,111,110,65,-114,-39,-41,-84,95,68,20,2,0,2,73,0,6,104,101,105,103,104,116,73,0,5,119,105,100,116,104,120,112,0,0,0,-82,0,0,1,-109"/>
+ <SyntheticProperty name="formSize" type="java.awt.Dimension" value="-84,-19,0,5,115,114,0,18,106,97,118,97,46,97,119,116,46,68,105,109,101,110,115,105,111,110,65,-114,-39,-41,-84,95,68,20,2,0,2,73,0,6,104,101,105,103,104,116,73,0,5,119,105,100,116,104,120,112,0,0,0,-16,0,0,1,-109"/>
<SyntheticProperty name="formPosition" type="java.awt.Point" value="-84,-19,0,5,115,114,0,14,106,97,118,97,46,97,119,116,46,80,111,105,110,116,-74,-60,-118,114,52,126,-56,38,2,0,2,73,0,1,120,73,0,1,121,120,112,0,0,0,0,0,0,0,0"/>
<SyntheticProperty name="formSizePolicy" type="int" value="0"/>
<SyntheticProperty name="generatePosition" type="boolean" value="true"/>
@@ -17,7 +17,7 @@
<AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
<AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
<AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
- <AuxValue name="designerSize" type="java.awt.Dimension" value="-84,-19,0,5,115,114,0,18,106,97,118,97,46,97,119,116,46,68,105,109,101,110,115,105,111,110,65,-114,-39,-41,-84,95,68,20,2,0,2,73,0,6,104,101,105,103,104,116,73,0,5,119,105,100,116,104,120,112,0,0,0,-106,0,0,1,-117"/>
+ <AuxValue name="designerSize" type="java.awt.Dimension" value="-84,-19,0,5,115,114,0,18,106,97,118,97,46,97,119,116,46,68,105,109,101,110,115,105,111,110,65,-114,-39,-41,-84,95,68,20,2,0,2,73,0,6,104,101,105,103,104,116,73,0,5,119,105,100,116,104,120,112,0,0,0,-40,0,0,1,-117"/>
</AuxValues>
<Layout class="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout"/>
@@ -155,5 +155,63 @@
</Component>
</SubComponents>
</Container>
+ <Container class="javax.swing.JPanel" name="jPanel3">
+ <Properties>
+ <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
+ <Border info="org.netbeans.modules.form.compat2.border.TitledBorderInfo">
+ <TitledBorder title="Rotating Cube"/>
+ </Border>
+ </Property>
+ </Properties>
+ <Constraints>
+ <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
+ <GridBagConstraints gridX="0" gridY="2" gridWidth="1" gridHeight="1" fill="1" ipadX="0" ipadY="0" insetsTop="0" insetsLeft="0" insetsBottom="0" insetsRight="0" anchor="10" weightX="0.0" weightY="0.0"/>
+ </Constraint>
+ </Constraints>
+
+ <Layout class="org.netbeans.modules.form.compat2.layouts.DesignFlowLayout"/>
+ <SubComponents>
+ <Component class="javax.swing.JLabel" name="jLabel4">
+ <Properties>
+ <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Dialog" size="12" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="Raster Operator"/>
+ <Property name="toolTipText" type="java.lang.String" value="Raster mode of rotating object (try NOOP)"/>
+ </Properties>
+ </Component>
+ <Component class="javax.swing.JComboBox" name="rotatingComboBox">
+ <Properties>
+ <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Dialog" size="12" style="0"/>
+ </Property>
+ <Property name="model" type="javax.swing.ComboBoxModel" editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
+ <StringArray count="16">
+ <StringItem index="0" value="CLEAR"/>
+ <StringItem index="1" value="AND"/>
+ <StringItem index="2" value="AND_REVERSE"/>
+ <StringItem index="3" value="COPY"/>
+ <StringItem index="4" value="AND_INVERTED"/>
+ <StringItem index="5" value="NOOP"/>
+ <StringItem index="6" value="XOR"/>
+ <StringItem index="7" value="OR"/>
+ <StringItem index="8" value="NOR"/>
+ <StringItem index="9" value="EQUIV"/>
+ <StringItem index="10" value="INVERT"/>
+ <StringItem index="11" value="OR_REVERSE"/>
+ <StringItem index="12" value="COPY_INVERTED"/>
+ <StringItem index="13" value="OR_INVERTED"/>
+ <StringItem index="14" value="NAND"/>
+ <StringItem index="15" value="SET"/>
+ </StringArray>
+ </Property>
+ <Property name="selectedIndex" type="int" value="3"/>
+ </Properties>
+ <Events>
+ <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="rotatingComboBoxActionPerformed"/>
+ </Events>
+ </Component>
+ </SubComponents>
+ </Container>
</SubComponents>
</Form>
diff --git a/src/DepthFuncTest/DepthFuncTest.java b/src/DepthFuncTest/DepthFuncTest.java
index 66397e9..b053857 100644
--- a/src/DepthFuncTest/DepthFuncTest.java
+++ b/src/DepthFuncTest/DepthFuncTest.java
@@ -1,4 +1,3 @@
-package DepthFuncTest;
/*
* $RCSfile$
*
@@ -49,14 +48,15 @@ import javax.media.j3d.*;
/**
*The goal of that example is to show the use of different ZBuffer comparison modes.
*/
-public class DepthFuncTest extends javax.swing.JFrame {
+public class DepthFuncTest extends javax.swing.JFrame
+{
RenderFrame rf;
/**
- * Creates new form DepthFuncTest
+ * Creates new form DepthFuncTest
*/
- public DepthFuncTest() {
+ public DepthFuncTest(){
initComponents();
}
@@ -66,7 +66,8 @@ public class DepthFuncTest extends javax.swing.JFrame {
* always regenerated by the Form Editor.
*/
// <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
- private void initComponents() {
+ private void initComponents()
+ {
java.awt.GridBagConstraints gridBagConstraints;
jPanel1 = new javax.swing.JPanel();
@@ -77,6 +78,9 @@ public class DepthFuncTest extends javax.swing.JFrame {
jLabel3 = new javax.swing.JLabel();
shadedComboBox = new javax.swing.JComboBox();
shadedCheckBox = new javax.swing.JCheckBox();
+ jPanel3 = new javax.swing.JPanel();
+ jLabel4 = new javax.swing.JLabel();
+ rotatingComboBox = new javax.swing.JComboBox();
getContentPane().setLayout(new java.awt.GridBagLayout());
@@ -92,8 +96,10 @@ public class DepthFuncTest extends javax.swing.JFrame {
normalComboBox.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "ALWAYS", "NEVER", "EQUAL", "NOT_EQUAL", "LESS", "LESS_OR_EQUAL", "GREATER", "GREATER_OR_EQUAL" }));
normalComboBox.setSelectedIndex(6);
normalComboBox.setPreferredSize(new java.awt.Dimension(150, 22));
- normalComboBox.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
+ normalComboBox.addActionListener(new java.awt.event.ActionListener()
+ {
+ public void actionPerformed(java.awt.event.ActionEvent evt)
+ {
normalComboBoxActionPerformed(evt);
}
});
@@ -103,8 +109,10 @@ public class DepthFuncTest extends javax.swing.JFrame {
wfCheckBox.setFont(new java.awt.Font("Dialog", 0, 12));
wfCheckBox.setText("Write Depth Buffer");
wfCheckBox.setToolTipText("Depth will be written for the object, if selected");
- wfCheckBox.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
+ wfCheckBox.addActionListener(new java.awt.event.ActionListener()
+ {
+ public void actionPerformed(java.awt.event.ActionEvent evt)
+ {
wfCheckBoxActionPerformed(evt);
}
});
@@ -126,8 +134,10 @@ public class DepthFuncTest extends javax.swing.JFrame {
shadedComboBox.setFont(new java.awt.Font("Dialog", 0, 12));
shadedComboBox.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "ALWAYS", "NEVER", "EQUAL", "NOT_EQUAL", "LESS", "LESS_OR_EQUAL", "GREATER", "GREATER_OR_EQUAL" }));
shadedComboBox.setSelectedIndex(4);
- shadedComboBox.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
+ shadedComboBox.addActionListener(new java.awt.event.ActionListener()
+ {
+ public void actionPerformed(java.awt.event.ActionEvent evt)
+ {
shadedComboBoxActionPerformed(evt);
}
});
@@ -138,8 +148,10 @@ public class DepthFuncTest extends javax.swing.JFrame {
shadedCheckBox.setSelected(true);
shadedCheckBox.setText("Write Depth Buffer");
shadedCheckBox.setToolTipText("Depth will be written for the object, if selected");
- shadedCheckBox.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
+ shadedCheckBox.addActionListener(new java.awt.event.ActionListener()
+ {
+ public void actionPerformed(java.awt.event.ActionEvent evt)
+ {
shadedCheckBoxActionPerformed(evt);
}
});
@@ -152,28 +164,128 @@ public class DepthFuncTest extends javax.swing.JFrame {
gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
getContentPane().add(jPanel2, gridBagConstraints);
- setBounds(0, 0, 403, 174);
+ jPanel3.setBorder(new javax.swing.border.TitledBorder("Rotating Cube"));
+ jLabel4.setFont(new java.awt.Font("Dialog", 0, 12));
+ jLabel4.setText("Raster Operator");
+ jLabel4.setToolTipText("Raster mode of rotating object (try NOOP)");
+ jPanel3.add(jLabel4);
+
+ rotatingComboBox.setFont(new java.awt.Font("Dialog", 0, 12));
+ rotatingComboBox.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "CLEAR", "AND", "AND_REVERSE", "COPY", "AND_INVERTED", "NOOP", "XOR", "OR", "NOR", "EQUIV", "INVERT", "OR_REVERSE", "COPY_INVERTED", "OR_INVERTED", "NAND", "SET" }));
+ rotatingComboBox.setSelectedIndex(3);
+ rotatingComboBox.addActionListener(new java.awt.event.ActionListener()
+ {
+ public void actionPerformed(java.awt.event.ActionEvent evt)
+ {
+ rotatingComboBoxActionPerformed(evt);
+ }
+ });
+
+ jPanel3.add(rotatingComboBox);
+
+ gridBagConstraints = new java.awt.GridBagConstraints();
+ gridBagConstraints.gridx = 0;
+ gridBagConstraints.gridy = 2;
+ gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
+ getContentPane().add(jPanel3, gridBagConstraints);
+
+ setBounds(0, 0, 403, 240);
}
// </editor-fold>//GEN-END:initComponents
+ private void rotatingComboBoxActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_rotatingComboBoxActionPerformed
+ {//GEN-HEADEREND:event_rotatingComboBoxActionPerformed
+ String selectedItem = rotatingComboBox.getSelectedItem().toString(); // how to avoid a cast and all that goes with it. (lazyness)
+ int mode = RenderingAttributes.ROP_COPY;
+ if ( "CLEAR".equals(selectedItem) )
+ {
+ mode = RenderingAttributes.ROP_CLEAR;
+ }
+ else if ( "AND".equals(selectedItem) )
+ {
+ mode = RenderingAttributes.ROP_AND;
+ }
+ else if ( "AND_REVERSE".equals(selectedItem) )
+ {
+ mode = RenderingAttributes.ROP_AND_REVERSE;
+ }
+ else if ( "COPY".equals(selectedItem) )
+ {
+ mode = RenderingAttributes.ROP_COPY;
+ }
+ else if ( "AND_INVERTED".equals(selectedItem) )
+ {
+ mode = RenderingAttributes.ROP_AND_INVERTED;
+ }
+ else if ( "NOOP".equals(selectedItem) )
+ {
+ mode = RenderingAttributes.ROP_NOOP;
+ }
+ else if ( "XOR".equals(selectedItem) )
+ {
+ mode = RenderingAttributes.ROP_XOR;
+ }
+ else if ( "OR".equals(selectedItem) )
+ {
+ mode = RenderingAttributes.ROP_OR;
+ }
+ else if ( "NOR".equals(selectedItem) )
+ {
+ mode = RenderingAttributes.ROP_NOR;
+ }
+ else if ( "EQUIV".equals(selectedItem) )
+ {
+ mode = RenderingAttributes.ROP_EQUIV;
+ }
+ else if ( "INVERT".equals(selectedItem) )
+ {
+ mode = RenderingAttributes.ROP_INVERT;
+ }
+ else if ( "OR_REVERSE".equals(selectedItem) )
+ {
+ mode = RenderingAttributes.ROP_OR_REVERSE;
+ }
+ else if ( "COPY_INVERTED".equals(selectedItem) )
+ {
+ mode = RenderingAttributes.ROP_COPY_INVERTED;
+ }
+ else if ( "OR_INVERTED".equals(selectedItem) )
+ {
+ mode = RenderingAttributes.ROP_OR_INVERTED;
+ }
+ else if ( "NAND".equals(selectedItem) )
+ {
+ mode = RenderingAttributes.ROP_NAND;
+ }
+ else if ( "SET".equals(selectedItem) )
+ {
+ mode = RenderingAttributes.ROP_SET;
+ }
+ else
+ {
+ System.out.println("oops. wrong mode in ROP combo: "+selectedItem);
+ }
+ rf.setRotatingObjectROPMode( mode );
+ }//GEN-LAST:event_rotatingComboBoxActionPerformed
+
private void shadedCheckBoxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_shadedCheckBoxActionPerformed
- rf.setStaticObjectDBWriteStatus( shadedCheckBox.isSelected() );
+ rf.setStaticObjectDBWriteStatus( shadedCheckBox.isSelected() );
}//GEN-LAST:event_shadedCheckBoxActionPerformed
private void wfCheckBoxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_wfCheckBoxActionPerformed
- rf.setStaticWFObjectDBWriteStatus( wfCheckBox.isSelected() );
+ rf.setStaticWFObjectDBWriteStatus( wfCheckBox.isSelected() );
}//GEN-LAST:event_wfCheckBoxActionPerformed
private void shadedComboBoxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_shadedComboBoxActionPerformed
- int func = RenderingAttributes.LESS_OR_EQUAL;
- String selectedItem = shadedComboBox.getSelectedItem().toString(); // how to avoid a cast and all that goes with it. (lazyness)
- rf.setStaticObjectTestFunc( getID( selectedItem ) );
+ int func = RenderingAttributes.LESS_OR_EQUAL;
+ String selectedItem = shadedComboBox.getSelectedItem().toString(); // how to avoid a cast and all that goes with it. (lazyness)
+ rf.setStaticObjectTestFunc( getID( selectedItem ) );
}//GEN-LAST:event_shadedComboBoxActionPerformed
private void normalComboBoxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_normalComboBoxActionPerformed
- int func = RenderingAttributes.LESS_OR_EQUAL;
- String selectedItem = normalComboBox.getSelectedItem().toString(); // how to avoid a cast and all that goes with it. (lazyness)
- rf.setStaticWFObjectTestFunc( getID( selectedItem ) );
+ int func = RenderingAttributes.LESS_OR_EQUAL;
+ String selectedItem = normalComboBox.getSelectedItem().toString(); // how to avoid a cast and all that goes with it. (lazyness)
+ rf.setStaticWFObjectTestFunc( getID( selectedItem ) );
}//GEN-LAST:event_normalComboBoxActionPerformed
int getID( String selectedItem )
@@ -231,9 +343,12 @@ public class DepthFuncTest extends javax.swing.JFrame {
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel3;
+ private javax.swing.JLabel jLabel4;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
+ private javax.swing.JPanel jPanel3;
private javax.swing.JComboBox normalComboBox;
+ private javax.swing.JComboBox rotatingComboBox;
private javax.swing.JCheckBox shadedCheckBox;
private javax.swing.JComboBox shadedComboBox;
private javax.swing.JCheckBox wfCheckBox;
diff --git a/src/DepthFuncTest/RenderFrame.java b/src/DepthFuncTest/RenderFrame.java
index ce4e2a0..b56e332 100644
--- a/src/DepthFuncTest/RenderFrame.java
+++ b/src/DepthFuncTest/RenderFrame.java
@@ -1,4 +1,3 @@
-package DepthFuncTest;
/*
* $RCSfile$
*
@@ -60,6 +59,8 @@ public class RenderFrame extends javax.swing.JFrame {
RenderingAttributes staticWFBoxRA;
RenderingAttributes staticBoxRA;
+
+ RenderingAttributes rotatingBoxRA;
/** Creates new form RenderFrame */
public RenderFrame( DepthFuncTest _dpt) {
@@ -74,7 +75,8 @@ public class RenderFrame extends javax.swing.JFrame {
* always regenerated by the Form Editor.
*/
// <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
- private void initComponents() {
+ private void initComponents()
+ {
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setTitle("J3D frame");
@@ -104,8 +106,6 @@ public class RenderFrame extends javax.swing.JFrame {
BranchGroup lampsBG = new BranchGroup();
OrderedGroup oGroup = new OrderedGroup();
TransformGroup staticBoxRotTG = new TransformGroup();
- oGroup.addChild( rotObjectBG );
- oGroup.addChild( staticBoxRotTG );
staticBoxRotTG.addChild( staticObjectOG );
TransformGroup objectsTGRot = new TransformGroup();
TransformGroup objectsTGTrans = new TransformGroup();
@@ -115,14 +115,28 @@ public class RenderFrame extends javax.swing.JFrame {
objectsTGRot.addChild( oGroup );
objectsTGTrans.addChild( objectsTGRot );
lampsBG.addChild( objectsTGTrans );
+
+ //adding a sphere as backgroung so there is something else than flat black, and cut cube removal as an other implication. (seeing through)
+ Appearance globalSphereAppearance = new Appearance();
+ PolygonAttributes globalSpherePA = new PolygonAttributes();
+ globalSpherePA.setCullFace( globalSpherePA.CULL_FRONT );// so that interior of the sphere is visible.
+ Material globalSphereMaterial = new Material();
+ globalSphereMaterial.setEmissiveColor( .25f ,.3f ,.35f );
+ globalSphereAppearance.setMaterial( globalSphereMaterial );
+ globalSphereAppearance.setPolygonAttributes( globalSpherePA );
+ Sphere globalSphere = new Sphere( 6.0f );
+ globalSphere.setAppearance( globalSphereAppearance );
+ globalSphere.setBounds( bounds );
+ oGroup.addChild( globalSphere );
+
globalBG.addChild( lampsBG );
// adding lamps.
- PointLight frontLamp = new PointLight( new Color3f( 1.0f, 1.0f, 1.0f ), new Point3f( 5, 5, 5 ), new Point3f( 1f, .0f, 0.f ) );
+ PointLight frontLamp = new PointLight( new Color3f( 1.0f, 1.0f, 1.0f ), new Point3f( 20, 20, 20 ), new Point3f( 0.0f, .0f, 0.f ) );
lampsBG.addChild( frontLamp );
frontLamp.setBounds( bounds );
frontLamp.setInfluencingBounds( bounds );
- PointLight backLamp = new PointLight( new Color3f( 1.0f, .0f, .0f ), new Point3f( -5, -5, -5 ), new Point3f( 1f, .0f, 0.f ) );
+ PointLight backLamp = new PointLight( new Color3f( 1.0f, .0f, .0f ), new Point3f( -20, -20, -20 ), new Point3f( 0.0f, .0f, 0.f ) );
lampsBG.addChild( backLamp );
backLamp.setBounds( bounds );
backLamp.setInfluencingBounds( bounds );
@@ -158,7 +172,15 @@ public class RenderFrame extends javax.swing.JFrame {
rotObjectBG.addChild( rotBoxScaleInt );
rotObjectBG.addChild( rotBoxRotInt );
rotBox.setBounds( bounds );
- rotBox.setAppearance( rotBoxApp );
+
+ rotatingBoxRA = new RenderingAttributes();
+ rotatingBoxRA.setRasterOpEnable( true );
+ rotatingBoxRA.setCapability( staticBoxRA.ALLOW_RASTER_OP_WRITE );
+// rotatingBoxRA.setRasterOp( rotatingBoxRA.ROP_XOR );
+ rotBoxApp.setRenderingAttributes( rotatingBoxRA );
+
+
+ rotBox.setAppearance( rotBoxApp );
}
//adding static back face wireframe cube
@@ -216,7 +238,7 @@ public class RenderFrame extends javax.swing.JFrame {
staticBox.setBounds( bounds );
Appearance boxApp = new Appearance();
Material boxMat = new Material();
- boxMat.setDiffuseColor( .7f, .7f, .1f );
+ boxMat.setDiffuseColor( .7f, .7f, .7f );
boxApp.setMaterial( boxMat );
staticBoxRA = new RenderingAttributes();
staticBoxRA.setCapability( staticBoxRA.ALLOW_DEPTH_TEST_FUNCTION_WRITE );
@@ -227,6 +249,8 @@ public class RenderFrame extends javax.swing.JFrame {
staticBox.setAppearance( boxApp );
staticObjectOG.addChild( staticBox );
}
+ oGroup.addChild( rotObjectBG );
+ oGroup.addChild( staticBoxRotTG );
//adding the mouse rotate behavior to the group of cubes.
MouseRotate behavior = new MouseRotate();
@@ -240,22 +264,27 @@ public class RenderFrame extends javax.swing.JFrame {
public void setStaticWFObjectTestFunc( int func )
{
- staticWFBoxRA.setDepthTestFunction( func );
+ staticWFBoxRA.setDepthTestFunction( func );
}
public void setStaticObjectTestFunc( int func )
{
- staticBoxRA.setDepthTestFunction( func );
+ staticBoxRA.setDepthTestFunction( func );
}
public void setStaticWFObjectDBWriteStatus( boolean status )
{
- staticWFBoxRA.setDepthBufferWriteEnable( status );
+ staticWFBoxRA.setDepthBufferWriteEnable( status );
}
public void setStaticObjectDBWriteStatus( boolean status )
{
- staticBoxRA.setDepthBufferWriteEnable( status );
- }
+ staticBoxRA.setDepthBufferWriteEnable( status );
+ }
+ public void setRotatingObjectROPMode( int mode )
+ {
+ rotatingBoxRA.setRasterOp( mode );
+ }
+
}