gpt4 book ai didi

java - 使用 OpenGL Android 的点数组

转载 作者:行者123 更新时间:2023-11-30 09:26:22 24 4
gpt4 key购买 nike

我正在尝试像时尚一样在网格中制作一系列点,但一个点只出现在中间:我

private Point[][] sq = new Point[10][10];

@Override
public void onDrawFrame(GL10 gl) {



gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);

gl.glLoadIdentity();

for(int x = 0; x< 10 ; x++){
for(int y = 0; y< 10 ; y++){
sq[x][y] = new Point(x/10,y/10);
gl.glTranslatef(0.0f, x/10,-5.0f);
sq[x][y].draw(gl, 0, 1, 0);
}
}

最佳答案

假设 openGL ES 与标准 openGL 相同,您需要在每次转换时插入和弹出矩阵。否则,您将首先翻译 0,然后翻译 0.1,然后翻译 0.3,然后翻译 0.6,依此类推...

但我假设您想按 0、0.1、0.2、0.3、0.4 等进行翻译...

我也不确定为什么你只用 x 值沿 y 轴平移?我认为:

gl.glTranslatef(0.0f, x/10,-5.0f);

应该是这样的:

gl.glTranslatef(x/10.0f, y/10.0f, -5.0f);

我想你想要这样的东西:

for(int x = 0; x< 10 ; x++){
for(int y = 0; y< 10 ; y++){

sq[x][y] = new Point(x/10.0f, y/10.0f);

gl.glPushMatrix();
gl.glTranslatef(x/10.0f, y/10.0f, -5.0f);
sq[x][y].draw(gl, 0, 1, 0);
gl.glPopMatrix();
}
}

关于java - 使用 OpenGL Android 的点数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14949800/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com