【发布时间】:2011-10-26 02:11:02
【问题描述】:
我有一个顶点数组,我绘制如下(我正在努力将其转换为单个 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,但是这些点没有显示出来。我原以为缩放只是将线循环缩放到位,但事实并非如此。
请注意缓冲区中的顶点何时未缩放,因为我希望能够以不同的比例重用相同的缓冲区。这个想法是我可以重绘形状一个恒定的像素大小,而无需在每次传递时重新创建数组。
谁能解释我做错了什么或者这是否可能?
【问题讨论】:
-
规模是什么意思?缩放顶点位置?
-
Luca,例如,如果我有一个以 0,0 为中心,半径为 1 的圆,我尝试将其缩放 10,那么半径将为 10。
标签: opengl scaling vertex-array