Я работаю над некоторыми учебными примерами OpenGL и модифицирую их для достижения целей моих проектов.
Проблема в том, что программа работает с этой конструкцией данных (то есть рисует треугольник)
float firstTriangle[] = {
-0.9f, -0.5f, 0.0f, // left
-0.0f, -0.5f, 0.0f, // right
-0.45f, 0.5f, 0.0f, // top
};
glBufferData(GL_ARRAY_BUFFER, sizeof(firstTriangle), firstTriangle, GL_STATIC_DRAW);
но он не рисует треугольник, когда я делаю следующие изменения:
std::vector<float> thisslice;
thisslice.push_back((float) -0.9f);
thisslice.push_back((float) -0.5f);
thisslice.push_back((float) 0.0f);
thisslice.push_back((float) 0.0f);
thisslice.push_back((float) -0.5f);
thisslice.push_back((float) 0.0f);
thisslice.push_back((float) -0.45f);
thisslice.push_back((float) -0.5f);
thisslice.push_back((float) 0.0f);
glBufferData(GL_ARRAY_BUFFER, thisslice.size() * sizeof(float), &thisslice[0], GL_STATIC_DRAW);
Что мне здесь не хватает?