Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/151.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ glut摄像头使矩形变倾斜_C++_Opengl_Glut - Fatal编程技术网

C++ glut摄像头使矩形变倾斜

C++ glut摄像头使矩形变倾斜,c++,opengl,glut,C++,Opengl,Glut,我在做一个简单的游戏。这是2d的,但是gluLookAt是3d的(带z位置),我是否可以在透视图不改变世界运作方式的情况下得到2d的表示 如果你们想知道的话,这一切都与球员的位置有关 gluLookAt(jake.px, 0.0f, jake.pz + 20, jake.px, 7.0f, jake.pz, 0.0f, 1.0f, 0.0f ); 平台采用以下方式绘制: void drawPlatform (Platform* p, GLuint texture){ float x

我在做一个简单的游戏。这是2d的,但是gluLookAt是3d的(带z位置),我是否可以在透视图不改变世界运作方式的情况下得到2d的表示

如果你们想知道的话,这一切都与球员的位置有关

gluLookAt(jake.px, 0.0f, jake.pz + 20, jake.px, 7.0f, jake.pz, 0.0f, 1.0f, 0.0f );
平台采用以下方式绘制:

void drawPlatform (Platform* p, GLuint texture){
    float x = p->px, y = p->py, z = p->pz, w = p->width, h = p->height;
    drawCircle(x, y, 0.1f, 80);
    //glBindTexture(GL_TEXTURE_2D, texture);
    glColor3f(0, 1.0f, 0);
    glBegin(GL_QUADS);
        glVertex2f(x, y);
        //glTexCoord2f(x, y);

        glVertex2f(x, y + h);
        //glTexCoord2f(x, y + h);

        glVertex2f(x + w, y + h);
        //glTexCoord2f(x + w, y + h);

        glVertex2f(x + w, y);
        //glTexCoord2f(x + w, y);
    glEnd();
}

听起来像是在使用3D透视功能(gluLookAt和gluPerspective),而您需要2D透视功能。改为使用:-)@Cameron是的,但这允许我更改相机的X和Y位置吗?当然,在调用函数时,只需相应地设置左/右/上/下。或者,绘制与摄影机的逻辑位置相关的所有内容,并将摄影机的实际位置保持在(0,0)。这将避免远距离的浮点错误。@Cameron听起来不错,但现在我找不到显示所有平台xD的位置