目前我正试图呈现一个.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