我有一个顶点数组,我绘制如下(我正在努力将其转换为单个 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);
}
这可行,但我想缩放正在绘制的线循环。我在调用 glDrawArrays 之前尝试调用glScaled
,但是这些点没有显示出来。我会认为缩放只是将线循环缩放到位,但事实并非如此。
请注意缓冲区中的顶点何时未缩放,因为我希望能够以不同的比例重用相同的缓冲区。这个想法是我可以在不重新创建每个通道的数组的情况下以恒定的像素大小重新绘制形状。
谁能解释我做错了什么,或者这是否可能?