VS2010配置OpenGL开发环境

Wesley13
• 阅读 764

最近开始研究OpenGL了,下面是网上看到的一篇入门VS2010上环境配置的文章

OpenGL(Open Graphics Library)是一个跨编程语言、跨平台的专业图形程序接口。

      OpenGL是SGI公司开发的一套计算机图形处理系统,是图形硬件的软件接口,任何一个OpenGL应用程序无须考虑其运行环境所在平台与操作系统,在任何一个遵循OpenGL标准的环境下都会产生相同的可视效果。
       OpenGL不是一种编程语言,而是一种API(Application Programming Interface,应用程序编程接口)。
       OpenGL主要包括三个函数库,它们是核心库、实用函数库和编程辅助库。核心库中包含了OpenGL最基本的命令函数。核心库提供了一百多个函数,这些函数都以”gl”为前缀,用来建立各种各样的几何模型、进行坐标变换、产生光照效果、进行纹理映射、产生雾化效果等所有的二维和三维图形操作。实用函数库是比核心库更高一层的函数库,它提供四十多个函数,这些函数都以”glu”为前缀。由于OpenGL是一个图形标准,是独立于任何窗口系统或操作系统的,在OpenGL中没有提供窗口管理和消息事件响应的函数,也没有鼠标和键盘读取事件的功能,所以在编程辅助库提供了一些基本的窗口管理函数、事件处理函数和简单的事件函数。这类函数以”aux”作为前缀。值得一提的是,目前AUX编程辅助库已经很大程度上被GLUT库取代了。以下介绍以GLUT库为例。
     GLUT代表OpenGL应用工具包(OpenGL Utility Toolkit),是一个与窗口系统无关的工具包。它作为AUX库的功能更强的替代品,用于隐藏不同窗口系统API的复杂性。GLUT的子程序的前缀使用”glut”。

一、下面介绍如何为VS2010配置OpenGL编译环境

   1. 下载GLUT。Windows环境下的GLUT下载地址:http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip

   2. 将下载的压缩包解开,将得到5个文件:glut.h glut.lib glut32.lib glut.dll glut32.dll
   3. 将glut.h放到(C:\Program Files\Microsoft SDKs\Windows\v7.0A\Include\gl\)这个文件夹中.
   4. 将glut.lib和glut32.lib放到静态函数库所在文件夹中。(安装目录\VC\lib\)
   5. 将glut.dll和glut32.dll放到操作系统所在目录下面的system32文件夹内. (C:Windows\system32)
   经过这五步,配置完成。

二、测试配置环境是否成功
   1. 打开VS2010,选择File->New->Project,然后选择Win32 Console Application,选择一个名字OpenGLTest,然后按OK。 
   2. 在弹出的对话框左边点Application Settings,找到Empty project并勾上,选择Finish。
   3. 然后向该工程添加一个代码文件,取名为OpenGLTest.cpp。
   4. 向OpenGLTest.cpp中添加代码
#include <GL/glut.h>

void myDisplay(void)
{
    glClear(GL_COLOR_BUFFER_BIT);
    glRectf(-0.5f, -0.5f, 0.5f, 0.5f);
    glFlush();
}

int main(int argc, char *argv[])
{
    glutInit(&argc, argv);
        glutInitDisplayMode(GLUT_RGB | 
                            GLUT_SINGLE);
    glutInitWindowPosition(100, 100);
       glutInitWindowSize(400, 400);
    glutCreateWindow("第一个OpenGL程序");
    glutDisplayFunc(&myDisplay);
    glutMainLoop();

    return 0;
}

编译、链接、执行这段程序,生成一个黑色的窗口中央画一个白色的矩形,表明配置环境成功。

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Jacquelyn38 Jacquelyn38
2年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Stella981 Stella981
2年前
Android 图形驱动初始化
从应用程序的角度看OpenGL图形系统的接口,主要包括两大部分,一部分是EGL,它为OpenGL渲染准备环境;另一部分是OpenGL,它执行图形渲染。通过这些接口构造渲染环境,并执行渲染的过程,可以参考在Android中使用OpenGL(https://www.oschina.net/action/GoToLink?urlhttp%
Wesley13 Wesley13
2年前
Java日期时间API系列36
  十二时辰,古代劳动人民把一昼夜划分成十二个时段,每一个时段叫一个时辰。二十四小时和十二时辰对照表:时辰时间24时制子时深夜11:00凌晨01:0023:0001:00丑时上午01:00上午03:0001:0003:00寅时上午03:00上午0
Wesley13 Wesley13
2年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
京东云开发者 京东云开发者
6个月前
Java服务总在半夜挂,背后的真相竟然是... | 京东云技术团队
最近有用户反馈测试环境Java服务总在凌晨00:00左右挂掉,用户反馈Java服务没有定时任务,也没有流量突增的情况,Jvm配置也合理,莫名其妙就挂了
笑面虎 笑面虎
3个月前
OpenGL-自主高性能三维GIS平台架构与实现(第2季)
OpenGL自主高性能三维GIS平台架构与实现(第2季)给大家分享一套课程——OpenGL自主高性能三维GIS平台架构与实现(第2季),附源码。大家下载学习。OpenGL(英语:OpenGraphicsLibrary,译名:开放图形库或者“开放式图形库”)
Python进阶者 Python进阶者
3个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这
光之守卫 光之守卫
2星期前
系统玩转OpenGL+AI,实现各种酷炫视频特效
系统玩转OpenGLAI,实现各种酷炫视频特效download》itzcw.com/9126/OpenGLAI的介绍OpenGL(OpenGraphicsLibrary)是一种用于渲染2D和3D矢量图形的跨平台图形库。它提供了一组函数,允许开发人员在不