У меня есть массив вершин, который я рисую следующим образом (я работаю над преобразованием его в один вызов glDrawArrays, так что здесь это не проблема):
gl.glVertexPointer(3, GL.GL_FLOAT, 0, buff);
for ( int i = 0; i < numPoints; i++ ) {
gl.glDrawArrays(GL.GL_LINE_LOOP, i*verticesPerPoint, verticesPerPoint);
}
Это работает, но я хотел бы масштабировать рисуемые петли линий. Я пытался вызвать glScaled
перед вызовом glDrawArrays, но тогда точки не отображаются. Я бы подумал, что масштабирование просто масштабирует контуры линий на месте, но, похоже, это не так.
Обратите внимание, когда вершины в буфере не масштабируются, так как я надеялся повторно использовать один и тот же буфер в разных масштабах. Идея состоит в том, что я могу перерисовывать фигуры постоянного размера в пикселях, не создавая заново массив при каждом проходе.
Может ли кто-нибудь объяснить, что я делаю неправильно, или если это вообще возможно?