У меня есть 170 объектов для рисования, каждый из которых состоит из 312 вершин.У меня есть один объект, и я рисую его 170 раз с разными мартиксами, я понял, что мне не нужно вызывать некоторые функции, если я рисую их одну за другой, поэтому я вызываю их только в начале, это дает мне около 5 кадров в секунду, яЯ использую неиндексированные треугольники с drawArrays.
if(!started)
{
glUseProgram( __programObject );
glEnableVertexAttribArray(attPosition);
glVertexAttribPointer(attPosition, 3, GL_FLOAT, GL_FALSE, 3*sizeof(float), vVertices);//3*sizeof(float)
glEnableVertexAttribArray(attNormals);
glVertexAttribPointer(attNormals, 3, GL_FLOAT, GL_FALSE, 3*sizeof(float), vNormals);//3*sizeof(float)
}
Есть ли способ сделать это быстрее под es 2.0?Я получаю около 23 кадров в секунду на sgx 540, снижение детализации вершин до 36 на объект не увеличивает частоту кадров, в матричных вычислениях (масштабирование, умножение, преобразование, преобразование, инвертирование) примерно 10 кадров в секунду, но они сделаны на процессоре, и я не думаю, чточто их перемещение в шейдеры - хорошая идея.Я знаю, что больше всего времени уходит на прохождение униформы каждый раз.Я знаю, что есть способ создать объекты и передать униформу и нарисовать ее одним вызовом, но я не могу найти учебник, описывающий его, вы знаете, где я могу его найти?