Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/148.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++ 使用OpenGL和uC+转换三角形+;_C++_Opengl - Fatal编程技术网

C++ 使用OpenGL和uC+转换三角形+;

C++ 使用OpenGL和uC+转换三角形+;,c++,opengl,C++,Opengl,我正在用OpenGL和uC++进行三角形转换。每只鸟(三角形)都是一根线。问题是,当鸟类在平移时,相机或普通图像会向上或向下移动 绘图代码如下所示: void Graphics::draw(){ double AxisX; double AxisY; double Direction; for (int i = 0; i < numBirds; i++) { AxisX = bird

我正在用OpenGL和uC++进行三角形转换。每只鸟(三角形)都是一根线。问题是,当鸟类在平移时,相机或普通图像会向上或向下移动

绘图代码如下所示:

   void Graphics::draw(){
       double AxisX;
       double AxisY;
       double Direction;

       for (int i = 0; i < numBirds; i++)
       {
           AxisX     = birds[i]->Px;
           AxisY      = birds[i]->Py;
           Direction = birds[i]->Dir - 90;

           glColor3d(1, 1, 1);

       //Operacion para el triangulo
           glTranslated(AxisX, AxisY, 0.0f);
           glRotated(Direction, 0, 0, 1);


           /*
               Se mantienen estas proporciones:
                Base: 1
                Altura: 1.9364916731
                Lado (isosceles): 2
          */
           glBegin(GL_TRIANGLES); // Inicio del dibujo
           glVertex3d(-5, 0, 0); // Primer vertice
           glVertex3d( 5, 0, 0); // Segundo vertice
           glVertex3d( 0, 15, 0); // Tercer vertice
           glEnd(); // Fin del dibujo

          // Deshago las operaciones de rotacion y translacion
           glRotated(-Direction, 0, 0, 1);
           glTranslated(-AxisX, -AxisY, 0.0f);
       }
   }
void Graphics::draw(){
双轴;
双轴;
双向;
for(int i=0;iPx;
AxisY=birds[i]>Py;
方向=鸟[i]>Dir-90;
glColor3d(1,1,1);
//三角公园酒店
GLX(AxisX,AxisY,0.0f);
旋转(方向,0,0,1);
/*
东南曼提安内斯塔斯普罗皮奇奥尼斯:
基数:1
阿尔图拉:1.9364916731
拉多(等腰):2
*/
glBegin(GL_三角形);//Inicio del dibujo
glVertex3d(-5,0,0);//初级垂直
glVertex3d(5,0,0);//segundovertice
glVertex3d(0,15,0);//第三方垂直
格伦德();//Fin del dibujo
//旋转和平移操作
gl旋转(-方向,0,0,1);
GLX(-AxisX,-AxisY,0.0f);
}
}

问题是,我如何解决这个问题?我已经苦苦挣扎了好几个小时,什么也得不到。

你有没有尝试过在开始时推动gl状态,然后在完成时弹出它们?什么是
每只鸟(三角形)都是一条线