OpenGL自学日志1 - 启航

OpenGL启航

OpenGL的HellowWorld

记录OpenGL的自学过程,以日志促学习,文章中肯定有许多错误,请大家不吝指教。

环境搭建

  1. 安装VS2019;
  2. 工具>NuGet包管理器>管理解决方案的NuGet程序包;
  3. 搜索nupengl.core;
  4. 勾选右侧窗口中的所有选项,然后点击下边的 安装按钮。

创建项目

  1. 新建>项目,打开的窗口中依次下拉选中C++,Windows,控制台
  2. 双击新项目创建项目;

源码展示

//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;
}

运行结果

OpenGL自学日志1 - 启航

上一篇:Verilog RTL 设计:同步FIFO的设计与验证 方法一


下一篇:【DB宝42】MySQL高可用架构MHA+ProxySQL实现读写分离和负载均衡