X3D - 如何在X3D中为多边形面添彩

时间:2013-11-24 00:14:01

标签: x3d

如何为多边形面部着色 - 例如,只有颜色1面部全部为红色。当我继续为相邻的脸颜色时,我不希望发生线性插值。我可以使用以下代码对其进行着色,但颜色会合并。当我将colorPerVertex变为false时,着色看起来很奇怪。请指教。谢谢。

<X3D>
<Scene>
<Shape>

    <IndexedFaceSet solid="false" colorPerVertex="true"
        coordIndex="0 3 4 1 -1
                    1 4 5 2 -1
                    3 6 7 4 -1
                    4 7 8 5 -1">
    <Coordinate
        point= "0 0 0, 1 0 0, 2 0 0
                0 0 1, 1 3 1, 2 0 1
                0 0 2, 1 0 2, 2 0 2" />

        <Color color= "0 0 0, 1 0 0, 2 0 0
                0 0 1, 1 3 1, 2 0 1
                0 0 2, 1 0 2, 2 0 2" />

    </IndexedFaceSet>

    <Appearance>
        <Material diffuseColor='1 0 0' />
    </Appearance>

</Shape>
</Scene>
</X3D>

1 个答案:

答案 0 :(得分:2)

如果colorPerVertex为FALSE并且colorIndex字段不为空,则为IndexedFaceSet的每个面应用一种颜色。

因此,如果在示例中将colorPerVertex设置为FALSE,则不应在面(测试)之间进行颜色插值。