目前我正試圖呈現一個.obj模型,我加載到向量中。我試圖將Vector3D對象從數組中拉出來,但它給我一個超出範圍的錯誤。在數組崩潰之前,它只有五個,例如數組有12個對象。這是渲染的代碼。std ::向量超出範圍
glBegin(GL_TRIANGLE_STRIP);
for (int indx = 0; indx < mv3_faces.size(); ++indx)
{
if (mb_print_once)
{
std::cout << "Rendering Loop....Faces at 8: " << mv3_faces.at(5).x << " Current Index: " << indx << std::endl;
std::cout << "Rendering Loop X: " << mv3_faces.at(indx).x << " Y: " << mv3_faces.at(indx).y << " Z: " << mv3_faces.at(indx).z << std::endl;
}
glColor4f(1.0f, 1.0f, 0.0f, 1.0f);
glVertex3f(mv3_vertices.at(mv3_faces.at(indx).x).x, mv3_vertices.at(mv3_faces.at(indx).y).y, mv3_vertices.at(mv3_faces.at(indx).z).z);
}
mb_print_once = false;
glEnd();
忽略用於調試目的的mb_print_once ...。
該錯誤對應哪一行?你確定矢量中有12個元素嗎?你可以在循環前添加'std :: cout << mv3_faces.size()<< std :: endl;'來確認嗎? – 2011-05-22 15:13:06
另外,請注意,它被認爲是很好的禮節*從您的代碼片段中*刪除*所有不相關的細節... – 2011-05-22 15:15:15
哪個向量得到超出範圍的錯誤 - 面或頂點? – 2011-05-22 15:15:54