专栏首页图形学与OpenGL实验0.2 OpenGL程序创建与运行

实验0.2 OpenGL程序创建与运行

下列介绍与图示均以Microsoft Visual Studio Community 2017版本(下面简称为VS)为例,其它版本类似。

1. 创建控制台应用

(1)点击:文件→新建→项目,如下图所示:

选择“Visual C++ → Windows桌面→控制台应用”:

在名称对应文本框中,修改工程名称为“HelloPoint”:

点击“确定”,得到缺省工程结果,如图所示:

2. 生成解决方案,确认生成没有错误

(1) 点击菜单:生成→生成解决方案,如图所示:

(2) 观察VS下方“输出”窗口中提示:“生成:成功1个…”,确认生成没有错误,如下图所示:

3. OpenGL代码替换,解决方案重新生成、运行

在运行下面代码前,请先配置FreeGlut库,这是一个OpenGL程序的支持环境库,具体信息与配置方法请参考: FreeGlut配置简介。 (1) 将原有缺省代码替换为下列OpenGL代码:

#include <GL/glut.h>
void myDisplay(void)
{
	glClearColor(0.0, 0.0, 0.0, 0.0);
	glClear(GL_COLOR_BUFFER_BIT);

	glPointSize(3);
	glBegin(GL_POINTS);
	glColor3f(1.0f, 0.0f, 0.0f);   glVertex2f(-0.4f, -0.4f);
	glColor3f(0.0f, 1.0f, 0.0f);   glVertex2f(0.0f, 0.0f);
	glColor3f(0.0f, 0.0f, 1.0f);   glVertex2f(0.4f, 0.4f);
	glEnd();

	glFlush();
}

int main(int argc, char *argv[])
{
	glutInit(&argc, argv);
	glutInitWindowPosition(100, 100);
	glutInitWindowSize(400, 400);
	glutCreateWindow("Hello Point!");
	glutDisplayFunc(&myDisplay);
	glutMainLoop();
	return 0;
}

替换完成后并重新生成,结果如下图所示:

(2)运行程序,观察程序运行结果 点击菜单:调试→开始执行(不调试),如图所示:

弹出两个窗口,其中一个窗口中显示红、绿、蓝三个点,即为程序运行结果,如图所示:

至此,完成了一个简单的OpenGL程序创建与运行。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 实验1 OpenGL初识

    常用的程序设计语言,如C、C++、Pascal、Fortran和Java等,都支持OpenGL的开发。这里只讨论C版本下OpenGL的语法。 OpenGL基本...

    步行者08
  • 10.4.3 编程实例-太阳系动画

    glClearColor(0.0f, 0.0f, 0.0f, 0.8f); //背景为黑色

    步行者08
  • 实验1 OpenGL初识

    Windows下的OpenGL编程步骤简单介绍详见课程实验教学博客-实验准备安装GLUT包与创建工程:

    步行者08
  • python 让cpu满载

    搞zabbix监控的时候,linux服务器的负载很低,如何写一个python脚本,让它满载呢?

    py3study
  • 《机器学习实战(Scala实现)》(五)——Logistic回归

    z=w0x0+w1x1+...+wnxn\large z = w_0x_0 + w_1x_1 + ... + w_nx_n

    用户1621453
  • Oracle数据库诊断案例-redo log日志组处于高激活状态

    作者:eygle 出处:http://www.eygle.com/blog 日期:June 26, 2005 本文链接:http://www.eygle.co...

    数据和云01
  • 《PaddlePaddle从入门到炼丹》三——线性回归

    在第二章,我们已经学习了如何使用PaddlePaddle来进行加法计算,从这个小小的例子中,我们掌握了PaddlePaddle的使用方式。在本章中,我们将介绍使...

    夜雨飘零
  • AWR 报告深度解读:Redo Nowait指标的算法和诊断泄露二十多万名用户数据

    AWR知识体系:https://www.modb.pro/topic/6165(复制到浏览器打开或者点击“阅读原文”)

    数据和云
  • 用MTR诊断网络问题

    MTR是一个功能强大的工具,使管理员能够诊断和隔离网络错误,并向上游提供商提供网络状态报告。MTR表示的演进traceroute通过提供更大的数据样本,好像增强...

    魔法少女伊莉雅
  • 实验1 OpenGL初识

    常用的程序设计语言,如C、C++、Pascal、Fortran和Java等,都支持OpenGL的开发。这里只讨论C版本下OpenGL的语法。 OpenGL基本...

    步行者08

扫码关注云+社区

领取腾讯云代金券