Android 如何在屏幕的0,0,-1 opengl坐标上绘制黑点?

Android 如何在屏幕的0,0,-1 opengl坐标上绘制黑点?,android,opengl-es,Android,Opengl Es,实际上我在画一个立方体,我在检查立方体的旋转问题,但为此我需要在屏幕的0,0,-1 opengl坐标上画一个点,我使用透视投影,MyGLSurfaceView和android 1.5 opengl es 1.x 如何在屏幕的0,0,-1 opengl坐标上绘制一个黑色或白色点?如果您希望能够直接在窗口空间中绘制,那么最简单的方法是使用标识矩阵临时加载modelview和投影,并绘制一个带有所需位置的GL点。这大概是这样的: glMatrixMode(GL_MODELVIEW); glPushMa

实际上我在画一个立方体,我在检查立方体的旋转问题,但为此我需要在屏幕的0,0,-1 opengl坐标上画一个点,我使用透视投影,MyGLSurfaceView和android 1.5 opengl es 1.x


如何在屏幕的0,0,-1 opengl坐标上绘制一个黑色或白色点?

如果您希望能够直接在窗口空间中绘制,那么最简单的方法是使用标识矩阵临时加载modelview和投影,并绘制一个带有所需位置的
GL点。这大概是这样的:

glMatrixMode(GL_MODELVIEW);
glPushMatrix();
glLoadIdentity();

glMatrixMode(GL_PROJECTION);
glPushMatrix();
glLoadIdentity();

// draw the point here; specifics depending on whether you
// favour VBOs, VBAs, etc

// e.g. (assuming you don't have any client state enabled
// on entry and don't care about leaving the vertex array
// enabled on exit)
GLfloat vertexLocation[] = {0.0f, 0.0f, -1.0f};

glColor4f(0.0f, 0.0f, 0.0f, 1.0f);
glEnableClientState(GL_VERTEX_ARRAY);
glVertexPointer(3, GL_FLOAT, 0, vertexLocation);

glDrawArrays(GL_POINTS, 0, 1);

// end of example to plot a GL_POINT

glPopMatrix();

glMatrixMode(GL_MODELVIEW);
glPopMatrix();

// and possibly restore yourself to some other matrix mode
// if, atypically, the rest of your code doesn't assume modelview

我不知道如何在0,0,-1处画出点,请你添加代码,好吗?我添加了一些代码,但在重新阅读你的问题时,我想我可能误解了你的提问。你希望(0,0,-1)成为3d世界中的位置,如果你有一个相机并且移动了它,它会受到影响,还是希望它直接位于眼睛空间?GLfloat不存在于android上:这是我应该使用的?我只想在0,0,-1 opengl坐标上画一个点。只是that@AndroidUser99汤米的问题是,什么是“opengl坐标”?它是以像素为单位的屏幕坐标、后投影空间中的标准化设备坐标、世界空间坐标、视图空间坐标还是对象空间坐标?是的,我使用了所有这些术语来让您查找它们的含义并更好地掌握OpenGL的转换管道。