我有两个圆柱体,一端相交。我可以单独改变交叉点的半径,但它们仍然在一端相遇,如下所示。但是,我希望这两者之间的交集是平滑的,换句话说,它们在交集中的法线将如下所述进行共享:http://www.opengl-tutorial.org/intermediate-tutorials/tutorial-9-vbo-indexing/。 我已将正常更新设置为TRUE,并且还将交叉点中法线的所有y分量更改为零。它仍然没有显示平滑的交叉点。这两个圆柱体由BufferGeometry制作。
所以我的代码的一部分更重要:1-因为几何是BufferGeometry,我首先使用下面的两个命令来创建法线的几何:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.bgspanmcve.MainActivity">
<EditText
android:id="@+id/editText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:layout_marginStart="0dp"
android:inputType="text"
android:paddingEnd="0dp"
android:paddingStart="0dp"
android:text="EditText"
android:textSize="20sp" />
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignStart="@id/editText"
android:layout_below="@id/editText"
android:layout_marginStart="0dp"
android:layout_marginTop="16dp"
android:paddingEnd="0dp"
android:paddingStart="0dp"
android:text="TextView"
android:textSize="20sp"
android:textStyle="bold" />
</RelativeLayout>
2-然后由于两个几何具有相同数量的顶点,我将所有顶点的y分量设置为0:
comp.mesh.geometry.computeFaceNormals();
comp.mesh.geometry.computeVertexNormals();
当我让程序显示法线时,它们的法线y分量为0,但几何图形尚不平滑。
答案 0 :(得分:0)
我认为唯一可行的方法就是焊接这些点。您需要检查重复项,并为它们分配相同的索引。使用这些indecis进行三角测量和顶点法线计算。