0

Java 3D で透明な平面 (X[0..100]、Y[0..100]、Z=0) を描画しようとしていますが、方法がわかりません。チュートリアルのページを見ましたが、まだサンプル プログラムが見つかりません。

既存の TransformGroup に追加する BranchGroup として「平面」オブジェクトを見つけようとしていますが、そのような平面オブジェクトはありません。何を使えばいいですか?そして、どうすれば透明にできますか?

4

2 に答える 2

0

このコードを試してください...

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.
于 2011-11-01T10:10:41.040 に答える
0

これは、ヒストグラムで使用したコードのスニペットです。これは平面で機能する可能性があります。

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);
}

鍵は、TransparencyAttributes私が正しく覚えているかどうかです。もっと話せたらいいのにと思いますが、今はこれをコンパイルできません (3D に関係のない古いライブラリがいくつかありません)。

于 2009-09-22T21:30:55.223 に答える