我有两个相似的点云,由向量在空间中给定位置(x,y,z)定义,我想同时渲染两个云并评估它们之间的差异。这是我第一次使用OpenGL的应用程序,所以我仍然没有太多的把握。在OpenGL中绘制两个点云之间的交点
我已经设法通过分别处理每个载体,例如以使两者:
glBegin(GL_POINTS);GLfloat green[] = { 0.f, 1.0f, .0f, alpha[1]/10 };
glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, green);
glMaterialfv(GL_FRONT_AND_BACK, GL_SHININESS, low_shininess);
//glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, mat_specular);
for (std::vector<Point3D>::iterator moit = morig_cloud.begin(); moit != morig_cloud.end(); ++moit){
if ((moit - f_cloud.begin()) % (ptd[1]) == 0){
glVertex3f(moit->x, moit->y, moit->z);
}
}
glEnd();
然而,当我都重叠,所得到的图像如下:
在哪里红色和蓝色的云都应该完美匹配。有什么办法可以“合并”这些观点吗?也就是说,考虑到点位置匹配,我可以改变匹配位置的颜色?只有点才能完成渲染而不需要网格划分。
我试着在渲染前比较两个矢量,但算法速度太慢,因为点云太大。
现在我将你的答案标记为正确的答案,因为它是我用过的答案。两者似乎都是正确的。 – Ishida