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);
如果我设置一些颜色的外观对象,这种颜色将显示在表面的两侧。
我最好的猜测是,这是不可能的,从逻辑的角度来看,因为表面只有两个维度(因此只有一张脸),但我不知道是否可以为每一面设置不同的颜色表面。这对我的应用程序很方便。否则,我需要复制曲面以显示每面的颜色。
我已经搜索了一个没有运气的答案。