Как обычно люди рисуют несколько объектов в OpenGL 3.3+? У меня есть 2 объекта: ландшафт и сфера. Для каждого объекта у меня есть 2 массива (вершин и индексов). Я попытался установить различные VBO и IBO (как это):OpenGL рисование нескольких объектов
glEnableVertexAttribArray(0);
glEnableVertexAttribArray(1);
glEnableVertexAttribArray(2);
glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, sizeof(Vertex), 0);
glVertexAttribPointer(1, 2, GL_FLOAT, GL_FALSE, sizeof(Vertex), (const GLvoid*)12);
glVertexAttribPointer(2, 3, GL_FLOAT, GL_FALSE, sizeof(Vertex), (const GLvoid*)20);
glBindBuffer(GL_ARRAY_BUFFER, m_VBO);
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, m_IBO);
glDrawElements(GL_TRIANGLES, (size-1)*(size-1)*6, GL_UNSIGNED_INT, 0);
glBindBuffer(GL_ARRAY_BUFFER, m_VBOsphere);
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, m_IBOsphere);
glDrawElements(GL_TRIANGLES, 36, GL_UNSIGNED_INT, 0);
glDisableVertexAttribArray(0);
glDisableVertexAttribArray(1);
glDisableVertexAttribArray(2);
но выглядит как вычисляет GPU/рисовать все только после закрытия этой функции, и я вижу только сферу. И что же мне делать?
Я не вижу здесь проблем. Просто, чтобы убедиться, что если вы прокомментируете 3 линии рендеринга сфер, ландшафт визуализируется отлично? – HolyBlackCat
@HolyBlackCat Да. – user3051029