#include <windows.h>
#include <gl/gl.h>
#include <gl/glut.h>
#include <math.h>
/*
* 练习3.1
* 绘制线的学习,圆盘射线
*/
//定义常量PI
#define GH_PI 3.1415926f
//声明一个渲染函数
void ghRender(void);
//声明初始化gl操作
void initGL();
void main()
{
// 单缓冲模式 和RGB颜色模式
glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);
// 设定窗口位置
glutInitWindowPosition(100,150);
// 设定窗口大小
glutInitWindowSize(640,480);
//创建一个Windows窗口,用于gl绘制
glutCreateWindow("画线1");
//设置显示回调函数
glutDisplayFunc(ghRender);
//初始化操作
initGL();
//进入循环等待事件发生
glutMainLoop();
}
void initGL()
{
//绘制背景色为白色
glClearColor(0.0f,0.0f,0.0f,1.0f);
//设置可绘制区域
glViewport(0,0,640,480);
//设置当前矩阵为投影矩阵
glMatrixMode(GL_PROJECTION);
//重置当前矩阵为单位矩阵
glLoadIdentity();
//建立三维坐标系
glOrtho(-640.0,640.0,-480.0,480.0,-1,1);
//设置线宽
glLineWidth(2.0f);
}
/*
重要API
1、glLineWidth (GLfloat width);
设置线宽
参数:
width 线的宽度 float类型
*/
void ghRender()
{
GLfloat x,y,z = 0.0f,angle,r = 150.0f;
//清理颜色缓冲
glClear(GL