VS2010配置OpenGL开发环境

Wesley13
• 阅读 934

最近开始研究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
3年前
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
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Stella981 Stella981
3年前
Android 图形驱动初始化
从应用程序的角度看OpenGL图形系统的接口,主要包括两大部分,一部分是EGL,它为OpenGL渲染准备环境;另一部分是OpenGL,它执行图形渲染。通过这些接口构造渲染环境,并执行渲染的过程,可以参考在Android中使用OpenGL(https://www.oschina.net/action/GoToLink?urlhttp%
Wesley13 Wesley13
3年前
Java日期时间API系列36
  十二时辰,古代劳动人民把一昼夜划分成十二个时段,每一个时段叫一个时辰。二十四小时和十二时辰对照表:时辰时间24时制子时深夜11:00凌晨01:0023:0001:00丑时上午01:00上午03:0001:0003:00寅时上午03:00上午0
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
9个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这