OpenGL启航
OpenGL的HellowWorld
记录OpenGL的自学过程,以日志促学习,文章中肯定有许多错误,请大家不吝指教。
环境搭建
- 安装VS2019;
- 工具>NuGet包管理器>管理解决方案的NuGet程序包;
- 搜索nupengl.core;
- 勾选右侧窗口中的所有选项,然后点击下边的 安装按钮。
创建项目
- 新建>项目,打开的窗口中依次下拉选中C++,Windows,控制台;
- 双击新项目创建项目;
源码展示
//GLUT(OpenGL Utility Toolkit) OpenGL实用函数工具包wr;
//提供了与屏幕窗口进行交互的函数库。
#include <gl/glut.h>
void Init(void)
{
//设置控制台窗口的标题wr
glutCreateWindow("OpenGL");
//设置控制台的宽高,宽400px,高300px。
glutInitWindowSize(400, 300);
//设置控制台相对于屏幕左上角的初始化位置;
//如下:控制台左上角距离屏幕左上角的距离为距左100px,距上120px。
glutInitWindowPosition(100, 120);
//设置显示窗口的缓存和颜色模型;
//设置为单个缓存并且RGB颜色模型;
//使用逻辑或将这两个参数合并传递给函数。
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
//清理屏幕,将屏幕设置为黑色,全透明
glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
//指定投影模式
glMatrixMode(GL_PROJECTION);
//指定显示区域为(左下角)0 0 到(右上角)200 200;
//超出区域将不显示
gluOrtho2D(0.0, 200.0, 0.0, 200.0);
}
void DrawPoint(void)
{
//定义三个点
//以矩阵模式描述点;
//注意第三个点超出显示范围
int point1[] = { 10,10, 0 };
int point2[] = { 100,100, 0 };
int point3[] = { 250,250, 0 };
//设定画笔颜色为白色
glColor3f(1.0f, 1.0f, 1.0f);
//开始绘制;
//绘制点
glBegin(GL_POINTS);
//glVertex*函数wr可以加不同的后缀
//glVertex 绘制角点
//3 使用三维坐标形式
//i 使用整数
//v 使用向量形式的点
glVertex3iv(point1);
glVertex3iv(point2);
glVertex3iv(point3);
glEnd();
}
void Display(void)
{
//真正的清理屏幕wr;
//使用glClearColor中指定的颜色和透明度来清理屏幕;
//参数为颜色刷新缓存中的位值。
glClear(GL_COLOR_BUFFER_BIT);
//开始画点
DrawPoint();
//强制执行系统缓存中的内容;
//清空缓存。
glFlush();
}
int main(int argc, char* argv[])
{
//GLUT初始化
glutInit(&argc, argv);
//wr初始化OpenGL
Init();
//将绘制函数Display传递给系统函数glutDisplayFunc
glutDisplayFunc(Display);
//wr显示初始化图形,并开始检查鼠标键盘设备的输入;
//开启无限循环模式。
glutMainLoop();
return 0;
}