gpt4 book ai didi

java - 为 OpenGL ES 设置 ViewPort - Android

转载 作者:行者123 更新时间:2023-11-30 11:44:48 25 4
gpt4 key购买 nike

我有一个我正在尝试绘制的 OpenGL ES 对象。该对象具有相当大的顶点值,x 和 y 坐标介于 -30,000 和 +30,000 之间。 z 值介于 2000 和 -2000 之间。

谁能告诉我应该如何设置视口(viewport)?我正在使用以下代码:

public void onSurfaceChanged(GL10 gl, int width, int height) {
//Define the view frustrum
gl.glViewport(0, 0, width, height);
gl.glMatrixMode(GL10.GL_PROJECTION);
gl.glLoadIdentity();
float ratio = (float)width/height;
GLU.gluPerspective(gl, 45.0f, ratio, 1, 100f);
}

public void onDrawFrame (GL10 gl) {
// Clear the screen to black.
gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);

//Position the model.
gl.glMatrixMode(GL10.GL_MODELVIEW);
gl.glLoadIdentity();
gl.glTranslatef(0.0f, 0.0f, 0.0f);
//gl.glScalef(0.000015f,0.000015f,0.000015f);

编译没问题,但我根本看不到我的对象。

谢谢。

最佳答案

您可能看不到它,因为您的相机在物体内部。也许首先尝试将它缩放 0.001 以将其缩小到大约 60 个单位,在 z 方向上将它平移 -50(使其到达 z 范围的中间),然后看看它是否显示出来。

或者,您可以将 z 范围扩大很多,并在 z 方向上将其平移约 -50,000 个单位,以将对象从相机移回。您必须将 znear/zfar 调整得更大。

关于java - 为 OpenGL ES 设置 ViewPort - Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10604047/

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