以下文字有点长,因为我想确保那些有类似问题的人,例如google这个页面可以轻松地轻松地遵循确切的问题及其解决方案.但现在我的问题:
我最近开始在Android智能手机上编程OpenGL ES,并且遇到了解如何使用gluPerspective和gluLookAt的问题.我想我明白他们做了什么,但我看不到我画的三角形.我在我的活动的onDrawFrame方法中运行以下代码.所述活动使用标记为@Override的onDrawFrame实现GLSurfaceView.Renderer.我的代码是:
gl.glViewport(0, 0, screen_width, screen_height);
gl.glClearColor(0.0f, 0.0f, 0.0f, 0.5f); //set background to black
gl.glClearDepthf(1.0f);
gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);
gl.glMatrixMode(GL10.GL_PROJECTION); // Change PROJECTION matrix
gl.glLoadIdentity();
float aspect_ratio = (float) screen_width / screen_height;
GLU.gluPerspective(gl, 67, aspect_ratio, 1, 100);
gl.glEnable(GL10.GL_DEPTH_TEST);
gl.glMatrixMode(GL10.GL_MODELVIEW); // Change MODELVIEW matrix
gl.glLoadIdentity();
GLU.gluLookAt(gl, 0, 0, 20, 0, 0, 0, 0, 1, 0);
// make triangle with vertices (-2,0,0), (2,0,0), and (0,.5,0)
float[] vertices = { -2f, 0, 0, 2f, 0, 0, 0, .5f, 0 };
ByteBuffer …Run Code Online (Sandbox Code Playgroud)