OpenGL学习记录(三)----画黑白棋盘

:2018-09-28    :232 次   :2211 字   

实验思路:

利用嵌套循环,变量叠加的方法,改变矩形的两个点的坐标位置,根据像素size进行叠加,利用奇偶性在相对应的位置循环画出矩形,然后改变相对应的颜色。

实验代码:


// ConsoleApplication1.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
#include "pch.h"
#include <gl/glut.h>
#include<stdlib.h>
void myInit(void)
{
glClearColor(1.0, 1.0, 1.0, 0.0);
glColor3f(0.0f, 0.0f, 0.0f);
glPointSize(2.0);
glLineWidth(10.0);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(0, 240, 0, 240);
}
void  checkerboard(int size)
{
    for  (GLint i = 0; i < 8; i ++)
    {
        for  (GLint j = 0; j < 8; j ++)
        {
           if  ((i + j)%2== 0)
           {
   glColor3f(1.0f, 0.0f, 1.0f);
   }
   else
            {
                glColor3f(0.0f,1.0f,1.0f);}
            glRecti(size * j,size * i,size *(j +1),size *(i + 1));
        }
    }
glFlush();
}
void Display()
{
//sierpinski_render(corner);
glClearColor(0.0f, 1.0f, 0.0f, 0.0f); //green
checkerboard(30);
}
void main(int argc, char* argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
glutInitWindowPosition(0, 0);
glutInitWindowSize(240, 240);
glutCreateWindow("实验一"); 
glutDisplayFunc(Display); 
myInit();
glutMainLoop();                
}





    暂无评论,快来抢沙发吧!
×