Have you tried it with a single color? Does that work?
I was under the impression that the background geometry needed to fit in a
1 unit cube centered around (0,0,0). Unless I read it wrong, your
background is outside of this cube (it being a 2 unit cube).
Kev
> Hi All,
> I am trying to create a background with a color gradient.
> I am working with HelloUniverse example for this.
> I am trying to use Background geometry.
> The problem is that when I give the branchgroup , to which the geometry
> is added as an argument to setGeometry method of Background class ,I
> cannot see the effect. The code is :
> import java.applet.Applet;
> import java.awt.BorderLayout;
> import java.awt.event.*;
> import java.awt.Color;
> import java.awt.GraphicsConfiguration;
> import com.sun.j3d.utils.applet.MainFrame;
> import com.sun.j3d.utils.geometry.ColorCube;
> import com.sun.j3d.utils.universe.*;
> import javax.media.j3d.*;
> import javax.vecmath.*;
> import com.sun.j3d.utils.geometry.Sphere;
>
> public class HelloUniverse extends Applet {
>
> private SimpleUniverse u = null;
> Color3f white = new Color3f(1.0f,1.0f,1.0f);
> Color3f blue = new Color3f(0.0f,0.0f,1.0f);
>
> private final float[] vertices { 1.0f,-1.0f,1.0f,
> 1.0f, 1.0f,1.0f,
> -1.0f, 1.0f,1.0f,
> -1.0f,-1.0f,1.0f};
>
>
> public BranchGroup createSceneGraph() {
>
> BranchGroup objRoot = new BranchGroup();
>
> TransformGroup objTrans = new TransformGroup();
> objTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
> objRoot.addChild(objTrans);
>
> // Create a simple Shape3D node; add it to the scene graph.
> objTrans.addChild(new ColorCube(0.4));
>
> Transform3D yAxis = new Transform3D();
> Alpha rotationAlpha = new Alpha(-1, 4000);
>
> RotationInterpolator rotator new
> RotationInterpolator(rotationAlpha, objTrans, yAxis, 0.0f, (float)
> Math.PI*2.0f);
> BoundingSphere bounds new BoundingSphere(new Point3d(0.0,0.0,0.0),
> 100.0); rotator.setSchedulingBounds(bounds);
> objRoot.addChild(rotator);
>
>
> BranchGroup branch = new BranchGroup();
> branch.setCapability(BranchGroup.ALLOW_CHILDREN_EXTEND);
> branch.setCapability(BranchGroup.ALLOW_CHILDREN_READ);
> branch.setCapability(BranchGroup.ALLOW_CHILDREN_WRITE);
>
>
> Shape3D rectangle = new Shape3D();
> rectangle.setCapability(Shape3D.ALLOW_GEOMETRY_READ);
> rectangle.setCapability(Shape3D.ALLOW_GEOMETRY_WRITE);
> rectangle.setCapability(Shape3D.ALLOW_APPEARANCE_WRITE);
> rectangle.setCapability(Shape3D.ALLOW_APPEARANCE_READ);
> rectangle.setCapability(Shape3D.ALLOW_APPEARANCE_OVERRIDE_WRITE);
> rectangle.setCapability(Shape3D.ALLOW_APPEARANCE_OVERRIDE_READ);
> rectangle.setCapability(Shape3D.ALLOW_LOCAL_TO_VWORLD_READ);
>
> QuadArray aQuadArray = new
> QuadArray(4,QuadArray.COORDINATES|QuadArray.NORMALS|QuadArray.COLOR_3);
> aQuadArray.setCapability(QuadArray.ALLOW_COLOR_READ);
> aQuadArray.setCapability(QuadArray.ALLOW_COLOR_WRITE);
> aQuadArray.setCapability(QuadArray.ALLOW_COORDINATE_WRITE);
> aQuadArray.setCapability(QuadArray.ALLOW_COORDINATE_READ);
>
>
> aQuadArray.setCoordinates(0,vertices);
>
>
> Vector3f vector=new Vector3f( 0.0f,0.7f,0.7f);
> for( int i = 0; i < 4; i++ )
> {aQuadArray.setNormal( i,vector);}
>
>
> aQuadArray.setColor(0,white);
> aQuadArray.setColor(1,white);
> aQuadArray.setColor(2,blue);
> aQuadArray.setColor(3,blue);
>
>
> rectangle.addGeometry(aQuadArray);
> branch.addChild(rectangle);
> Background background = new Background();
> background.setApplicationBounds(bounds);
> background.setCapability(Background.ALLOW_GEOMETRY_READ);
> background.setCapability(Background.ALLOW_GEOMETRY_WRITE);
> background.setGeometry(branch);
>
> objRoot.addChild(background);
>
> objRoot.compile();
> return objRoot;
>
> }
>
> public HelloUniverse() {
>
> }
>
> public void init() {
>
> setLayout(new BorderLayout());
> GraphicsConfiguration config =
> SimpleUniverse.getPreferredConfiguration();
>
> Canvas3D c = new Canvas3D(config);
> add("Center", c);
>
> // Create a simple scene and attach it to the virtual universe
> BranchGroup scene = createSceneGraph();
> u = new SimpleUniverse(c);
>
> u.getViewingPlatform().setNominalViewingTransform();
>
> u.addBranchGraph(scene);
> }
>
> public void destroy() {
>
> u.removeAllLocales();
>
> }
>
> public static void main(String[] args) {
> new MainFrame(new HelloUniverse(), 256, 256);
> }
>
>
> }
===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff JAVA3D-INTEREST". For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".