У меня есть массив точек, которые нужно нарисовать в виде треугольника.Перед размещением их на экране я использую функцию для перевода их положения.Однако вызов функции translate для массива приводит к появлению вышеуказанной ошибки.
float positions[6] = {
-0.5f, -0.5f,
0.0f, 0.5f,
0.5f, -0.5f
};
//Basic Translate function
void basicTranslate(float Tx, float Ty){
for(int i=0; i<sizeof(positions); i++){
if(i % 2 == 0)
positions[i] += Tx;
else
positions[i] += Ty;
}
}
Ошибка возникает, когда я перевожу функцию перед работой с моими буферами и массивом вершин
basicTranslate(2, 1);
unsigned int buffer;
glGenBuffers(1, &buffer);
glBindBuffer(GL_ARRAY_BUFFER, buffer);
glBufferData(GL_ARRAY_BUFFER, 6 * sizeof(float), positions, GL_STATIC_DRAW);
GLuint vao = 0;
glGenVertexArrays(1, &vao);
glBindVertexArray(vao);
glEnableVertexAttribArray(0);
glVertexAttribPointer(0, 2, GL_FLOAT, GL_FALSE, sizeof(float) * 2, 0);