正如標題所描述的,我正在嘗試使用三角列表鑲嵌BSline補丁。使用三角列表(OpenGL)鑲嵌BSpline補丁
下面是我從前面看到的補丁的圖像,它看起來應該如何。
我的問題是補丁,這使得這種效果的後部:
正如你可以看到三角形的上一行被連接到新行正被畫。我嘗試過不同的方法來避免這種情況,比如當它到達行尾時將索引值增加1。我能找到的唯一快速解決方案是將每行放在一個單獨的循環中(使用循環範圍,因爲該行的大小),這根本不直觀。
這裏是我的補丁的繪製有關的代碼:
void drawBSplinePatch1(std::vector<int>& sample_elements_out, const int samples)
{
for(int i = 0; i <= 379; i++)
{
// first triangle
sample_elements_out.push_back(i);
sample_elements_out.push_back(i + 1);
sample_elements_out.push_back(i + samples);
// second triangle
sample_elements_out.push_back(i + samples);
sample_elements_out.push_back(i + 1);
sample_elements_out.push_back(i + samples + 1);
}
}
爲什麼對行和列有單獨的循環並不直觀?聽起來很直截了當... ...?如果你想讓人們理解你的問題,你可能應該發佈循環(s)... –
這不僅僅是因爲它不直觀,我最終會超過100個循環,最終超過一個文件允許的循環限制。 – user2484294
所以你沒有嵌套循環?我期望這是完全兩個嵌套循環。也許也會發布工作版本的一部分 - 這可能會讓人們展示如何以更緊湊的形式編寫此文檔。使用當前的代碼,很難猜測拆分行的正確索引。 –