我有兩個相似的點雲,由向量在空間中給定位置(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