C++ 使用OpenGL和uC+转换三角形+;
我正在用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
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状态,然后在完成时弹出它们?什么是
每只鸟(三角形)都是一条线内森,我这么做了,现在正在工作,谢谢!derhass,当您使用uC++类时,它是一个线程或任务,与使用pthread时类似,但它是面向对象的。所以我有任务鸟,每只鸟都是一根线。