2009-07-31 9 views
0

Ich versuche, eine transparente Ebene (X [0..100], Y [0..100], Z = 0) in Java 3D zu zeichnen, kann aber nicht herausfinden, wie. Ich habe auf der Tutorialseite nachgesehen und finde immer noch keine Beispielprogramme.Wie zeichne ich eine transparente Ebene in Java 3D?

Ich versuche, ein "Ebenen" -Objekt als BranchGroup zu finden, um es meiner bestehenden TransformGroup hinzuzufügen, aber es gibt kein solches Ebenenobjekt; Was soll ich verwenden? Und wie mache ich es transparent?

+1

Wenn es transparent ist, wie Sie sicher sein können, es nicht da ist? :-) Sorry, nichts für ungut. (Sind Sie sicher, dass es Flugzeug heißt?) Geben Sie weitere Informationen ein. – zoidbeck

+0

Was ich meinte, war halb transparent, ich bin mir nicht sicher, wie es heißt, es ist eine flache Oberfläche. – Frank

+0

Meinst du durchscheinend? –

Antwort

0

Dies ist ein Code-Schnipsel, den ich in einem Histogramm verwendet habe - das könnte auf einer flachen Ebene funktionieren.

private static void createAppearances() { 
    normalAppearance = new Appearance(); 
    normalAppearance.setMaterial(normalMaterial); 
    selectedAppearance = new Appearance(); 
    selectedAppearance.setMaterial(selectedMaterial); 
    TransparencyAttributes ta = new TransparencyAttributes(); 

    ta.setTransparencyMode (TransparencyAttributes.BLENDED); 
    ta.setTransparency (DEFAULT_HISTOGRAM_ALPHA); 

    normalAppearance.setTransparencyAttributes (ta); 
    selectedAppearance.setTransparencyAttributes(ta); 
} 

Der Schlüssel ist die TransparencyAttributes, wenn ich mich richtig erinnere. Ich wünschte, ich könnte dir mehr erzählen, aber ich kann das nicht jetzt kompilieren (fehlende alte Bibliotheken, die nicht mit 3D verwandt sind).

0

diesen Code Versuchen ...

BranchGroup group = new BranchGroup(); //Content branch. 
PolygonAttributes p = new PolygonAttributes(); //Not sure how to make it transparent/try code above. 
Appearance planeAppearance = new Appearance(); 
planeAppearance.setPolygonAttributes (p); 
Color3f planeColor = new Color3f (1.0f, 1.0f, 1.0f); //This makes it white. 
ColoringAttributes planeCA = new ColoringAttributes (planeColor, 1); 
planeAppearance.setColoringAttributes(planeCA); 
QuadArray plane = new QuadArray (4, QuadArray.COORDINATES); //This makes the plane. 
    plane.setCoordinate(0, new Point3f(-5f, -5f, -15f)); //You specify your own cornerpoints... 
    plane.setCoordinate(1, new Point3f(5f, -5f, -15f)); 
    plane.setCoordinate(2, new Point3f(5f, 5f, -15f)); 
    plane.setCoordinate(3, new Point3f(-5f, 5f, -15f)); 
group.addChild(new Shape3D(plane, planeAppearance)); //Add plane to content branch. 
Verwandte Themen