图案图标(初级)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_34195441/article/details/79121793
#include <GL/glut.h> 
void myDisplay(void)
{
  glClearColor(0.0, 0.0, 0.0, 0.0);//将清空颜色设为黑色
  glClear(GL_COLOR_BUFFER_BIT);//将窗口的背景设为当前的清空颜色
  glColor3f (1.0f, 1.0f, 1.0f);
  glRectf(-0.4f, -0.4f, 0.4f, 0.4f);//画一个矩形
  glBegin (GL_POLYGON);//画一个菱形
  glColor3f (0.0f, 0.0f, 1.0f); glVertex2f (0.0f, 0.4f);
  glColor3f (0.0f, 0.0f, 1.0f); glVertex2f (-0.4f, 0.0f);
  glColor3f (0.0f, 0.0f, 1.0f); glVertex2f (0.0f, -0.4f);
  glColor3f (0.0f, 0.0f, 1.0f); glVertex2f (0.4f, 0.0f);
  glEnd ();
  glBegin (GL_TRIANGLES);//上三角形
  glColor3f (1.0f, 0.0f, 1.0f); glVertex2f (0.0f, 0.8f);
  glColor3f (1.0f, 0.0f, 1.0f); glVertex2f (0.4f, 0.4f);
  glColor3f (1.0f, 0.0f, 1.0f); glVertex2f (-0.4f, 0.4f);
  glEnd ();
  glBegin (GL_TRIANGLES);//下三角形
  glColor3f (0.0f, 1.0f, 0.0f); glVertex2f (0.0f, -0.8f);
  glColor3f (0.0f, 1.0f, 0.0f); glVertex2f (-0.4f, -0.4f);
  glColor3f (0.0f, 1.0f, 0.0f); glVertex2f (0.4f, -0.4f);
  glEnd ();
  glBegin (GL_TRIANGLES);//左三角形
  glColor3f (1.0f, 1.0f, 0.0f); glVertex2f (-0.8f, 0.0f);
  glColor3f (1.0f, 1.0f, 0.0f); glVertex2f (-0.4f, 0.4f);
  glColor3f (1.0f, 1.0f, 0.0f); glVertex2f (-0.4f, -0.4f);
  glEnd ();
  glBegin (GL_TRIANGLES);//右三角形
  glColor3f (0.0f, 1.0f, 1.0f); glVertex2f (0.8f, 0.0f);
  glColor3f (0.0f, 1.0f, 1.0f); glVertex2f (0.4f, 0.4f);
  glColor3f (0.0f, 1.0f, 1.0f); glVertex2f (0.4f, -0.4f);
  glEnd ();
  glFlush();//保证前面的OpenGL命令立即执行
 }
 int main(int argc, char *argv[])//带命令行参数的main函数
{
    glutInit(&argc, argv);//对GLUT进行初始化
    glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);//设置显示方式,RGB颜色,单缓冲
    glutInitWindowPosition(100, 100);//设置窗口在屏幕中的位置
    glutInitWindowSize(400, 400);//设置窗口大小
    glutCreateWindow("Hello World!");//根据前述设置的信息创建窗口
    glutDisplayFunc(&myDisplay);//设置一个函数,当需要进行画图时,这个函数会被调用
    glutMainLoop();
    return 0;
 }

运行结果:


猜你喜欢

转载自blog.csdn.net/qq_34195441/article/details/79121793