a1136519154 2014-10-11 05:24
浏览 1569

初学OpenGL,照着书上的代码画出来只有一个红色三角形

去掉画三角形的代码也看不见四边形和圆形
#include
#include
#include
#define NUM 200 //绘制圆时用的顶点数
GLfloat r=1.0f; //圆半径
void DrawSceneGL(void){
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); //清除颜色及深度缓存
glLoadIdentity();
glColor3f(1.0f,0.0f,0.0f); //设置画笔颜色
glBegin(GL_TRIANGLES); //画三角形
glVertex3f(0.0f,1.0f,0.0f);
glVertex3f(-1.0f,-1.0f,0.0f);
glVertex3f(1.0f,-1.0f,0.0f);
glEnd();
glTranslatef(-1.5f,1.0f,-7.0f); //移动坐标
glTranslatef(3.0f,0.0f,0.0f);
glColor3f(0.0f,0.0f,1.0f); //设置画笔为蓝色
glBegin(GL_QUADS); //画四边形
glVertex3f(-1.0f,1.0f,0.0f);
glVertex3f(-1.0f,-1.0f,0.0f);
glVertex3f(1.0f,-1.0f,0.0f);
glVertex3f(1.0f,1.0f,0.0f);
glEnd();
glColor3f(1.0f,1.0f,0.0f);
glTranslatef(-1.5f,-2.5f,0.0f);
glLineWidth(2.0f); //画黄色线
glBegin(GL_LINES);
glVertex2f(-1.0f,0.0f);
glVertex2f(-1.0f,0.0f);
glEnd();
glBegin(GL_LINE_LOOP); //画圆
for(int i=0;i<NUM;i++)
glVertex3f(r*float(sin(2*3.14*i/NUM)),r*float(cos(2*3.14*i/NUM)),0.0);
glEnd();
glFlush();
}

int main(int argc,char ** argv){
glutInit(&argc,argv);
//glutInitWindowPosition(200,200);
glutCreateWindow("few example");
glutDisplayFunc(DrawSceneGL);

glutMainLoop();
return(0);

}

  • 写回答

0条回答

    报告相同问题?

    悬赏问题

    • ¥100 关于使用MATLAB中copularnd函数的问题
    • ¥20 在虚拟机的pycharm上
    • ¥15 jupyterthemes 设置完毕后没有效果
    • ¥15 matlab图像高斯低通滤波
    • ¥15 针对曲面部件的制孔路径规划,大家有什么思路吗
    • ¥15 钢筋实图交点识别,机器视觉代码
    • ¥15 如何在Linux系统中,但是在window系统上idea里面可以正常运行?(相关搜索:jar包)
    • ¥50 400g qsfp 光模块iphy方案
    • ¥15 两块ADC0804用proteus仿真时,出现异常
    • ¥15 关于风控系统,如何去选择