直接从顶点创建一个three.js BufferGeometry

时间:2015-04-08 05:23:56

标签: 3d three.js geometry vertex

我正在使用three.js将Java3D应用程序转换为WebGL。我的第一步是转换我的应用程序中的形状,并在我的three.js场景中显示它们。

在Java3D中,这些形状是通过围绕y轴旋转车床曲线来构建的。由于我无法找到一种方法来使用THREE.LatheGeometry自定义旋转,这不仅仅是围绕y轴的圆周旋转,我决定尝试直接从其顶点创建形状。

在Java3D代码中,顶点初始化如下:

    double verts[] = surfaceRevolve(xs, ys);
    GeometryInfo geom = new GeometryInfo(GeometryInfo.QUAD_ARRAY);
    geom.setCoordinates(verts);
    setGeometry(geom.getGeometryArray());

然后我接受了这些顶点,并尝试用它们创建THREE.BufferGeometry

    var geometry = new THREE.BufferGeometry();
    var vertices = new Float32Array(NUM_VERTICES);
    // add the vertices
    geometry.addAttribute('position', new THREE.BufferAttribute(vertices, 3));

问题在于,在Java3D中,我得到一个完整的,封闭的形状。在three.js和WebGL中,我得到了很多以某种方式形成形状的三角形,但它并不完整。我需要添加面孔吗?法线?任何建议将不胜感激!

My shape in Java3D vs. three.js

0 个答案:

没有答案