1
這是我如何創建一個示例三角面沒有剔除Java 3D中可以在曲面的每一面上具有不同的顏色嗎?
Point3f a = new Point3f(0, 0, 0);
Point3f b = new Point3f(0, 0, 1);
Point3f c = new Point3f(0, 1, 0);
TriangleArray pyramidGeometry = new TriangleArray(3, GeometryArray.COORDINATES);
pyramidGeometry.setCoordinate(0, a);
pyramidGeometry.setCoordinate(1, b);
pyramidGeometry.setCoordinate(2, c);
GeometryInfo geometryInfo = new GeometryInfo(pyramidGeometry);
NormalGenerator ng = new NormalGenerator();
ng.generateNormals(geometryInfo);
GeometryArray result = geometryInfo.getGeometryArray();
Appearance appearance = new Appearance();
PolygonAttributes polyAttrib = new PolygonAttributes();
polyAttrib.setCullFace(PolygonAttributes.CULL_NONE);
appearance.setPolygonAttributes(polyAttrib);
Shape3D shape = new Shape3D(result, appearance);
如果我設置一些顏色的外觀對象,這種顏色將顯示在表面的兩側。
我最好的猜測是,這是不可能的,從邏輯的角度來看,因爲表面只有兩個維度(因此只有一張臉),但我不知道是否可以爲每一面設置不同的顏色表面。這對我的應用程序很方便。否則,我需要複製曲面以顯示每面的顏色。
我已經搜索了一個沒有運氣的答案。