opengl库下载的库,比如GLUT是什么公司编写的?

豆丁微信公众号
君,已阅读到文档的结尾了呢~~
opengl的库函数介绍,opengl介绍,opengl2.0的显卡,我的世界opengl,nehe的opengl教程,我的世界高级opengl,数据库函数的使用,opengl 骨骼动画 的书,opengl中的坐标系,我的世界opengl是什么
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
opengl的库函数介绍
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='http://www.docin.com/DocinViewer--144.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口Fedora和Ubuntu下安装OpenGL开发环境配置_Linux教程_Linux公社-Linux系统门户网站
你好,游客
Fedora和Ubuntu下安装OpenGL开发环境配置
来源:Linux社区&
作者:zjutzz
下OpenGl开发环境配置
开发OpenGL工程需要3个库文件和对应的头文件:
libglut.so,libGLU.so,libGL.so, gl.h ,glu.h, glut.h
这些库在linux系统中默认都有,使用locate命令验证都在标准库目录(/usr/lib)下:
[root@localhost GL]# locate libglut.so
/usr/lib/libglut.so.3
/usr/lib/libglut.so.3.9.0
[root@localhost GL]# locate libGLU.so
/usr/lib/libGLU.so
/usr/lib/libGLU.so.1
/usr/lib/libGLU.so.1.3.070700
[root@localhost GL]# locate libGL.so
/usr/lib/libGL.so
/usr/lib/libGL.so.1
/usr/lib/libGL.so.1.2
但是头文件是没有的,安装开发包之前使用locate验证无法找到相关文件。
安装开发包(需要3个开发包):
yum install mesa-libGL-devel mesa-libGLU-devel
yum install freeglut-devel
安装完之后用rpm命令验证安装包和查询安装的文件以及安装在什么位置(以glut-devel为例):
[root@localhost etc]# rpm -qa | grep glut
freeglut-devel-2.6.0-1.fc12.i686
[root@localhost etc]# rpm -ql freeglut-devel
/usr/include/GL/freeglut.h
/usr/include/GL/freeglut_ext.h
/usr/include/GL/freeglut_std.h
/usr/include/GL/glut.h
/usr/lib/libglut.so
由上可见安装freeglut之后在/usr/include/GL/目录下添加了glut.h,在/usr/lib/下替换了libglut.so文件。
可以在/usr/include/GL下使用ls验证一下安装的头文件:
[root@localhost GL]# ls
freeglut_ext.h
freeglut_std.h
glx_mangle.h
glxproto.h
freeglut.h
gl_mangle.h
glu_mangle.h
glxtokens.h
好了,相关库和头文件都一切就绪,我们可以来写一个最简单的例子程序:
#include &GL/glut.h&
void display(){
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_POLYGON);
glVertex2f(-0.5,-0.5);
glVertex2f(-0.5,0.5);
glVertex2f(0.5,0.5);
glVertex2f(0.5,-0.5);
glFlush();
int main(int argc,char *argv[]){
glutInit(&argc,argv);
glutCreateWindow("Simple");
glutDisplayFunc(display);
glutMainLoop();
使用如下命令编译:
gcc simple.c -o app -lglut -lGL -lGLU -lm -lX11 -lm
运行./app出现一个画了白色矩形的窗口:
下安装OpenGL配置
OpenGL 是一套由SGI公司发展出来的绘图函式库,它是一组 C 语言的函式,用于 2D 与 3D 图形应用程式的开发上。OpenGL 让程式开发人员不需要考虑到各种显示卡底层运作是否相同的问题,硬体由 OpenGL 核心去沟通,因此只要显示卡支援 OpenGL,那么程式就不需要重新再移植,而程式开发人员也不需要重新学习一组函式库来移植程式。
首先不可或缺的就是编译器与基本的函式库,如果系统没有安装的话,依照下面的方式安装:
$ sudo apt-get install build-essential
安装OpenGL Library
$ sudo apt-get install libgl1-mesa-dev
安装OpenGL Utilities
$ sudo apt-get install libglu1-mesa-dev
OpenGL Utilities 是一组建构于 OpenGL Library 之上的工具组,提供许多很方便的函式,使 OpenGL 更强大且更容易使用。
安装OpenGL Utility Toolkit
$ sudo apt-get install libglut-dev
OpenGL Utility Toolkit 是建立在 OpenGL Utilities 上面的工具箱,除了强化了 OpenGL Utilities 的不足之外,也增加了 OpenGL 对于视窗介面支援。
注意:在这一步的时候,可能会出现以下情况,shell提示:
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package libglut-dev
将上述$ sudo apt-get install libglut-dev命令改成$ sudo apt-get install freeglut3-dev即可。
示例test.c源码:
#include &GL/glut.h&
void init(void)
glClearColor(0.0, 0.0, 0.0, 0.0);
glMatrixMode(GL_PROJECTION);
glOrtho(-5, 5, -5, 5, 5, 15);
glMatrixMode(GL_MODELVIEW);
gluLookAt(0, 0, 10, 0, 0, 0, 0, 1, 0);
void display(void)
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0, 0, 0);
glutWireTeapot(3);
glFlush();
int main(int argc, char *argv[])
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
glutInitWindowPosition(0, 0);
glutInitWindowSize(300, 300);
glutCreateWindow("OpenGL 3D View");
glutDisplayFunc(display);
glutMainLoop();
编译程式时,执行以下指令:
$ gcc -o test test.c -lGL -lGLU -lglut
配置IDE,用cmake作为构建工具
其实opengl的程序的cmake写法很简单,因为在linux下,头文件已经自动放到系统include路径了,因此只需要在链接的时候加入链接库,和前面用gcc/g++编译的设定几乎一致,无非是把参数写在CMakeLists.txt中。比如用clion作为IDE,那么对应的CMakeLists.txt为:
cmake_minimum_required(VERSION 3.3)
project(hello)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
set(SOURCE_FILES main.cpp)
add_executable(hello ${SOURCE_FILES})
target_link_libraries(${PROJECT_NAME} GL GLU glut)
#此行为新增
当然,如果你觉得写makefile很容易,那也可以去写的,关键点还是链接库要加入 GL GLU glut三个。
关于cmake的用法,可以参考 & 。如果进一步想看看pkg-config是怎么玩的,可以参考 ,即在/usr/lib64/pkgconfig路径下查看对应的pc文件。
glew.h头文件
目前还没有用到glew.h头文件,前面fedora的安装中也没有相关的安装。安装方法:
sudo dnf install glew-devel
如果是ubuntu,看起来应该这样安装:
sudo apt-get install libglew-dev
《OpenGL编程指南(原书第8版)》&&计算着色器&
OpenGL编程指南(原书第8版) 中英文PDF 高清晰版&
OpenGL编程指南(原书第7版)中文扫描版PDF&下载见 &
OpenGL超级宝典 第4版 中文版PDF+英文版+源代码 见&
OpenGL 渲染篇
Ubuntu 13.04 安装 OpenGL
OpenGL三维球体数据生成与绘制【附源码】
Ubuntu下OpenGL编程基础解析
如何在Ubuntu使用eclipse for c++配置OpenGL &
更多《OpenGL超级宝典学习笔记》相关知识 见&
本文永久更新链接地址:
相关资讯 & & &
& (08月07日)
& (12/13/:18)
& (08/25/:52)
& (03月10日)
& (08/25/:15)
& (02/25/:59)
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款& 相关文章 &
配置SOIL库,实现纹理加载
SOIL 是一个用于向OpenGL中加载纹理的小型C语言库。
下载地址:链接地址 下面记录一下vs2010中配置SOIL 库时,遇到的问题:
下载后,目录lib 下存在静态库 libSOIL.a .后缀是.a,官方说明中,是这样解释的“You can use the static library file included in the zip (libSOIL.a works for MinGW and Microsoft
【OpenGL】(NeHe教程学习)纹理映射及代码实现
由于glaux在很长时间内受到反对,我们可以使用SOIL(Simple OpenGL Image Library)库来实现加载图像作为纹理。SOIL库可以在这里下载:SOIL库 在程序中需要包含头文件SOIL.h,并且连接SOIL.lib库文件。 而且SOIL库比glaux更方便,直接加载磁盘上的图像成为纹理。 我们所需要对代码做的修改就是修改LoadGLTextures函数: //load the bitmap and convert it into a texture
Microsoft visual studio 2008下OpenGL环境配置
初次使用Microsoft Visual Studio调试编写的OpenGL程序时,有的人会遇到:OpenGL的函数auxWireTeapot()函数不能调用的问题,在运行的窗口上显示不出什么东西,这个时候程序也没有报错,这是因为它的环境没有配好的原因: 步骤:
1. 下载OpenGL库的压缩文件,解压缩后将LIB文件夹下的lib文件全部拷贝到Microsoft Visual Studio 2008的安装目录下,VC文件夹下的Lib文件夹下即可。例如我的Microsoft
【转】OpenGL版本与OpenGL扩展机制
) Extensions to OpenGL (opengl网站对extension的简单介绍) OpenGL 开发环境配置
OpenGL 下有一些重用的辅助库,比如glut,glee,glew等等,在windows平台下需要自己安装,因为微软为了推广自己的DX,在windows下只支持openGL 1.1版本。你可以打开/Microsoft Visual Studio X.X/VC/include/gl/gl.h 或 /Microsoft
SDKs/Windows/v6.1/Include/gl
OPENGL开发环境的搭建
下面先谈谈如何加载GLUT的库。 下载glut的文件, (1)
将glut32.dll复制到你的windows/system32目录下。 (2)
将glut32.lib文件复制到你安装VS2005的目录Program Files/Microsoft Visual Studio 8/VC/lib下面。 (3)
将glut.h复制到Program Files/Microsoft Visual Studio 8/VC/PlatformSDK/Include/gl下面。 这样的话,你就可以使用glut中的库函数了。
【OpenGL】(NeHe教程学习)纹理映射及代码实现
立方体的每个面,我们指定不同的纹理。 注意:我们需要再次绑定纹理,以确定需要使用的纹理。 【3】使用SOIL库代替glaux加载纹理 由于glaux在很长时间内受到反对,我们可以使用SOIL(Simple OpenGL Image Library)库来实现加载图像作为纹理。SOIL库可以在这里下载:SOIL库 在程序中需要包含头文件SOIL.h,并且连接SOIL.lib库文件。 而且SOIL库比glaux更方便,直接加载磁盘上的图像成为纹理。 我们所需要对代码做的修改就是修改
OpenGL在vs2008上的具体设置
一、OpenGL简介
OpenGL(全写Open Graphics Library)是个定义了一个跨编程语言、跨平台的编程接口的规格,它用于三维图象(二维的亦可)。OpenGL是个专业的图形程序接口,是一个功能强大,调用方便的底层图形库。 二、OpenGL环境的配置 第一步:编程环境的选择,这里用的是VC2008. 第二步:安装opengl工具包 Windows环境下安装GLUT的步骤:
1、将下载的压缩包解开 2、以默认的安装目录为例:
OpenGL VC++ 配置
,自己创建一个; 将上一步提到的库文件,全部拷贝到D:/Program Files/Microsoft Visual Studio/VC98/Lib目录下面。 第四步:配置VC 6中工程 启动VC 6,新建一个Win32 Console Application 1、按照如下顺序选择: Project → Settings → Link选项卡 然后,在Object/library modules下面的文本框的最前面添加如下库文件内容: Opengl32.lib glut32.lib GLAUX.LIB
) is a small and easy-to-use library that loads image files directly into texture objects or creates them for you. You can start using it in your project by linking with SOIL and adding the src directory to your include path. It includes Visual Studio project
VC6 配置 opengl
VC6.0中OpenGL开发环境配置
? OpenGL官方网站(英文)
http://www.opengl.org
? 设置编程的一些环境,及其安装必备文件的步骤如下:
第一步:选择一个编译环境
现在Windows系统的主流编译环境有Visual Studio,Broland C++ Builder,Dev-C++等,它们都是支持OpenGL的。我们选择VC++ 6.0作为学习OpenGL的环境。
第二步:安装GLUT工具包
在Windows平台上安装SGI版的OpenGL
的目录中,以VC.NET为例,将库文件opengl.lib,glu.lib拷
贝到Program Files/Microsoft Visual Studio .NET 2003/Vc7/PlatformSDK/Lib中
将头文件gl.h,glu.h拷贝到Program Files/Microsoft Visual Studio .NET 2003/
Vc7/PlatformSDK/Include中.
(注:Windows版的OpenGL的头文件是放在
学习OpenGL(一)一个简单的实例
放到"C:\Windows\System32"和“C:\Program Files\Microsoft Visual Studio 9.0\VC\bin”中。
经过上面的配置,OpenGL已经配置好,在后面的工程中,只需要添加对应的头文件即可使用OpenGL库(如果GL文件夹中没有gl和glu等库,从网上找到,如glut一样操作)。
3、OpenGL数据类型
4、第一个opengl程序 #include "stdafx.h"
1、新建类库项目,建立自己的类myDll.cs
在开始菜单找到 Visual Studio 2005----&Visual Studio Tools------& Visual Studio 2005命令提示
输入以下命令:csc /t:library /out:c:\makeDll.dll c:\makeDll.cs
其中c:\makeDll.cs 为要生成的cs文件;c:\makeDll.dll为生成的dll文件
2、建立控制台项目,引用makeDll.dll
openGL第六讲——库函数
/64MB以上 硬盘:512MB以上 其它可选。 OpenGL对软件环境的最低要求是: 操作系统:Windows NT4.0以上或Windows 95以上 OpenGL库:Visual Studio 5.0以上版本已包含该库。 以当前的计算机发展水平,达到以上软、硬件配置水平实在易之又易。由此对于OpenGL对系统的低要求也可略见一斑。
windows下安装opengl的glut库
***nehe的简单窗口例子(第二课)几 乎含盖世界上的所有语言,如果想用自己喜欢的独特语言,可以参考链接地址最下方的联接,并结合C++的例子学习(大多数教材都是基于C++的,不过幸好我们真 正关注的是OpenGL本身) OpenGL的例子大都需要用到 OpenGL应用工具包:GLUT库,下面讲讲怎样安装它
Visual C++ 6.0 HOWTO: 1。下载GLUT库:链接地址 2。将压缩包内的glut.h放 到.../Microsoft Visual Studio/VC98
vc++6.0配置opengl开发环境
因为vc++6.0本身就已经集成了opengl的开发环境,所以只需要很小的改动既可以开发opengl,只需要下载几个小文件即可,地址为:http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip,里面是动态连接库,头文件等,下载之后解压,作如下处理; (以我的为例)
(1)“c:\Program Files\Microsoft Visual Studio\VC98\include\GL文件夹”。把解压得到的glut.h
opengl安装编译说明
://freeglut.sourceforge.net/ GLEW库下载: 链接地址 FreeGLUT库和GLEW库的安装配置类似于GLUT库 转自 http://homepage.cs.uiowa.edu/~cwyman/classes/common/howto/winGLUT.html Compiling OpenGL Progams at Home Using Visual Studio Windows does not include GLUT standard, like the lab
在Ubuntu下如何开发配置OpenGL环境?
执行程序 */
glutMainLoop( );
} 然后: g++ light.cpp -o sample -lglut -lGL -lGLU 其他需要的库文件: OpenGL 下有一些重用的辅助库,比如glut,glee,glew等等,在windows平台下需要自己安装,因为微软为了推广自己的DX,在windows下只支持openGL 1.1版本。你可以打开\Microsoft Visual Studio X.X\VC\include\gl\gl.h
VS2010配置opengl
, 在你使用时候无需关注你的操作系统,显卡类型等等因素,当然,GLUT 包含了 OpenGL的所有函数与功能,这一点大可放心。 开始配置: 1、下载GLUT工具包 GLUT下载地址:(大小约为150k) 链接地址 2、配置OpenGL 以默认的VS安装目录为例:
(1)“C:\ProgramFiles\Microsoft Visual Studio 9.0\VC\include\gl”。把解压得到的.h文件放到这个GL文件夹里。没有GL文件夹可以自己建一个,一般都有的。
Visual C++ 6.0下OpenGL开发环境配置
。(典型的位置为:C:/Windows/System32) 二、vc工程配置:   1)创建一个工程。   2)链接OpenGL libraries。在Visual C++中先单击Project,再单击Settings,再找到Link单击,最后在Object/library modules 的最前面加上opengl32.lib glu32.lib glut.lib glaux.lib gdi32.lib user32.lib advapi32.lib
或者在project
& 2012 - 2016 & aiuxian.com &All Rights Reserved. &
/*爱悠闲图+*/
var cpro_id = "u1888441";OpenGL2.0及以上版本中gl,glut,glew,glfw,mesa等部件的关系
时间: 00:26:08
&&&& 阅读:441
&&&& 评论:
&&&& 收藏:0
标签:&&&&&&&&&&&&&&&&&&&&&&&&&&&OpenGL2.0及以上版本中gl,glut,glew,glfw,mesa等部件的关系
一、OpenGLOpenGL函数库相关的API有核心库(gl),实用库(glu),辅助库(aux)、实用工具库(glut),窗口库(glx、agl、wgl)和扩展函数库等。gl是核心,glu是对gl的部分封装。glx、agl、wgl 是针对不同窗口系统的函数。glut是为跨平台的OpenGL程序的工具包,比aux功能强大(aux很大程度上已经被glut库取代。)。扩展函数库是硬件厂商为实现硬件更新利用OpenGL的扩展机制开发的函数。OpenGL的竞争对手是Direct3D;OpenGL对应的开源实现是mesa 3D。二、glut:OpenGL工具库&OpenGL&Utility Toolkit这部分函数以glut开头,主要包括窗口操作函数,窗口初始化、窗口大小、窗口位置等函数;回调函数:响应刷新消息、键盘消息、鼠标消息、定时器函数等;创建复杂的三维物体;菜单函数;程序运行函数。gult对应的开源实现是freegult。三、窗口库GLX对于X窗口系统,它所使用的的OpenGL扩展(GLX:OpenGL&extension for X.)是作为OpenGL的一个附件提供的,所有的GLX函数都使用前缀glX。apl、wgl分别用于apple、windows。四、glewGLUT或者FREEGLUT主要是1.0的基本函数功能;GLEW是使用OPENGL2.0之后的一个工具函数。不同的显卡公司,也会发布一些只有自家显卡才支 持的扩展函数,你要想用这数涵数,不得不去寻找最新的glext.h,有了GLEW扩展库,你就再也不用为找不到函数的接口而烦恼,因为GLEW能自动识别你的平台所支持的全部OpenGL高级扩展函数。也就是说,只要包含一个glew.h头文件,你就能使用gl,glu,glext,wgl,glx的全部函数。五、glfwGLFW无愧于其号称的lightweight的OpenGL框架,的确是除了跨平台必要做的事情都没有做,所以一个头文件,很少量的API,就完成了任务。GLFW的开发目的是用于替代glut的,从代码和功能上来看,我想它已经完全的完成了任务。一个轻量级的,开源的,跨平台的library。支持OpenGL及OpenGL&ES,用来管理窗口,读取输入,处理事件等。因为OpenGL没有窗口管理的功能,所以很多热心的人写了工具来支持这些功能,比如早期的glut,现在的freeglut等。那么GLFW有何优势呢?glut太老了,最后一个版本还是90年代的。freeglut完全兼容glut,算是glut的代替品,功能齐全,但是bug太多。稳定性也不好(不是我说的啊),GLFW应运而生。六、层次关系aux-&glut-&freeglut-&glfwglewglu&-------------------------------------------opengl1.0 glx/apl/wgl&
opengl2.0及以上
--------------------------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------第二篇参考文献-----------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------
GLEW是一个跨平台的C++扩展库,基于OpenGL图形接口。使用OpenGL的朋友都知道,window目前只支持OpenGL1.1的涵数,但 OpenGL现在都发展到2.0以上了,要使用这些OpenGL的高级特性,就必须下载最新的扩展,另外,不同的显卡公司,也会发布一些只有自家显卡才支 持的扩展函数,你要想用这数涵数,不得不去寻找最新的glext.h,有了GLEW扩展库,你就再也不用为找不到函数的接口而烦恼,因为GLEW能自动识 别你的平台所支持的全部OpenGL高级扩展涵数。也就是说,只要包含一个glew.h头文件,你就能使用gl,glu,glext,wgl,glx的全 部函数。GLEW支持目前流行的各种操作系统(including Windows, Linux, Mac OS X, FreeBSD, Irix, and Solaris)。
项目主页:&&文档地址:&&下载地址:&
glu是实用库,包含有43个函数,函数名的前缀为glu。Glu 为了减轻繁重的编程工作,封装了OpenGL函数,Glu函数通过调用核心库的函数,为开发者提供相对简单的用法,实现一些较为复杂的操作。glaux是OpenGL辅助库,包含有31个函数,函数名前缀为aux。这部分函数提供窗口管理、输入输出处理以及绘制一些简单三维物体。glut是实用工具库,基本上是用于做窗口界面的,并且是跨平台(所以有时你喜欢做简单的demo的话,可以光用glut就ok了)
GLX:OpenGL extension for X.
对于X窗口系统,它所使用的的OpenGL扩展(GLX)是作为OpenGL的一个附件提供的,所有的GLX函数都使用前缀glX。
常见的OpenGL头文件如下:(Windows系统中可以忽略大小写的区别,我自己也没太注意大小写。同时,文件的路径可能变化,例如不是&GL/gl.h&而是"gl.h",具体情况要看你到底把头文件放到哪了)&GL/gl.h&:OpenGL所使用的函数和常量声明。&GL/glu.h&:GLU(OpenGL实用库)所使用的函数和常量声明。GLU库属于OpenGL标准的一部分。(以下各种库则不属于)&GL/glaux.h&:GLAUX(OpenGL辅助库)所使用的函数和常量声明。这个库提供了创建窗口,处理键盘和鼠标事件,设置调色板等OpenGL本身不提供,但在编写OpenGL程序时又经常用到的功能。目前这个库已经过时,只有比较少的编译环境中有提供,例如VC系列。在VC系列编译器中,使用这个头文件之前必须使用#include &windows.h&或者具有类似功能的头文件。&GL/glut.h&:GLUT(OpenGL实用工具包)所使用的函数和常量声明。这个库的功能大致与GLAUX类似,目前许多OpenGL教程使用这个库来编写演示程序。一些编译系统可能不直接提供这个库(例如VC系列),需要单独下载安装。这个头文件自动包含了&GL/gl.h&和&GL/glu.h&,编程时不必再次包含它们。&GL/glext.h&:扩展头文件。因为微软公司对OpenGL的支持不太积极,VC系列编译器虽然有&GL/gl.h&这个头文件,但是里面只有OpenGL 1.1版本中所规定的内容,而没有OpenGL 1.2及其以后版本。对当前的计算机配置而言,几乎都支持OpenGL 1.4版本,更高的则到1.5, 2.0, 2.1,而VC无法直接使用这些功能。为了解决这一问题,就有了&GL/glext.h&头文件。这个头文件提供了高版本OpenGL所需要的各种常数声明以及函数指针声明。&GL/wglext.h&:扩展头文件。与&GL/glext.h&类似,但这个头文件中只提供适用于Windows系统的各种OpenGL扩展所使用的函数和常量,不适用于其它操作系统。"glee.h":GLEE开源库的头文件。它的出现是因为&GL/glext.h&虽然可以使用高版本的OpenGL函数,但是使用的形式不太方便。GLEE库则让高版本的OpenGL函数与其它OpenGL函数在使用上同样方便。需要注意的是,这个头文件与&GL/gl.h&是冲突的,在包含"glee.h"之前,不应该包含&GL/gl.h&。#include &GL/glut.h&#include "glee.h"&& // 错误,因为glut.h中含有gl.h,它与glee.h冲突&&&&&&&&&&&&&&&&&&& // 但是如果把两个include顺序交换,则正确"glos.h":虽然这个也时常见到,但我也不知道它到底是什么,可能是与系统相关的各种功能,也可能只是自己编写的一个文件。我曾经看到一个glos.h头文件中只有一句#include &GL/glut.h&。
原文链接:标签:&&&&&&&&&&&&&&&&&&&&&&&&&&&原文:http://www.cnblogs.com/rainbow70626/p/5557904.html
教程昨日排行
&&国之画&&&& &&&&&&
&& &&&&&&&&&&&&&&
鲁ICP备号-4
打开技术之扣,分享程序人生!下次自动登录
现在的位置:
& 综合 & 正文
OpenGL的GLUT库写的程序去掉其控制台窗口的方法
转自:https://hi.baidu.com/lmhopen/blog/item/6b41ccd33fa78.html
用GLUT库的好处是不用学习windows编程只学GLUT库的编写就能做出windows下的OpenGL程序,不过我刚学的时候,发现GLUT库编写的程序会有一个控制台窗口,就是dos窗口,这一点让我对GLUT库没了兴趣,
不过后来我无意中发现在源代码里加一条命令就可以去掉控制台窗口,我马上在GLUT库编写的程序里试了一下,真的去掉了控制台窗口,这让我对GLUT库又有了兴趣.在源程序中包含完头文件之后加入下边的命令:
#pragma comment(linker, "/subsystem:/"windows/" /entry:/"mainCRTStartup/"")
就去掉了控制台窗口.此命令适用于任何基于控制台窗口编写的windows程序
下边转一篇GLUT库的简介.
全称为 OpenGL Utility Toolkit.[/I] Mark J. Kilgard 创作的 GLUT 库,
是我们创建完全独立于窗口系统的 OpenGL 程序成为可能. 感谢 GLUT, 我们能够在不了解 X Windows 或者 Microsoft
Windows 窗口系统本身的情况下编写3D应用程序. Kilgard 编写了GLUT的 X Windows 版本, 后来, Nate
Robins 又将之移植到 Microsoft Windows 系统之上. 谢谢你们二位, 你们完成了一项伟大的ぷ?
在这份教程里, 我将向你介绍一些关于编写 GLUT 应用程序的一些基础. 为了简单起见, 这片教程不会介绍复杂的视觉效果.
你需要什么?
首先, 你需要一份最新版本的 GLUT 库(在这份文档编写的时候, 我相信是 3.7版). 当你完成了这份基础教程后, 你可以在 GLUT主页 中, 你可以找到大量的实例.
通过 C语言编写 GLUT 程序, 你需要以下三个文件:
GLUT.H - 你需要在你的源代码中包含这个文件. 通常情况下, 这个文件应该放在你系统的包含目录下的 GL 文件夹中
GLUT.LIB (SGI windows版本) 以及 glut32.lib (微软版本) - 这个文件必须被连接到你的程序中, 确保它放在 LIB 目录中
glut32.dll (Windows) 和 glut.dll (SGI Windows版本) - 根据你所使用的OpenGL选择一个, 如果你正在使用微软公司的版本, 那么你必须选择 glut32.dll. 你应该把DLL放置在你的系统文件夹中
设置Visual C/C++ 6.0
Visual C/C++的工程有两个重要选项: Console (控制台) 和 Win32. 应用程序将会有两个窗口: 一个控制台窗口,
以及一个 OpenGL 窗口. 选择 Win32 仍然可以让你在不需要关心Windows程序设计的情况下编写 GLUT 程序.
你需要做以下设置:
选择 Project -& settings
选择 Link 选项卡
从 Category 中选择 Output
在 Entry-point synmbol 文本框中键入 mainCRTStartup
对于已存在的控制台工程, 有一个简单的办法将它转换成Win32应用程序:
根据上面的步骤修改入口点
在 Project options 文本框中用 subsystem:windows 覆盖 subsystem:console
或者你可以直接在你的源代码开头处添加:
// #pragma comment( linker, "/subsystem:/"windows/" /entry:/"mainCRTStartup/"" )
注意: 这是一行注释
如此一来, 应用程序就不会出现控制台窗口, 而只是一个 OpenGL 窗口了. 在Visual C/C++ 中你需要一下步骤来连接一个 GLUT 程序:
选择 Proejct/Settings
选择 LINK 选项卡
添加一下文件到 Object/library: opengl32.lib glut32.lib glu32.lib
请注意: 我同时添加了glu32.lib 和 opengl32.lib. 他们是标准OpenGL库.
好的,现在一切准备就绪, 我们可以开始编写 GLUT 应用程序了. 如果有任何不清楚的地方, 请您告诉我, 您的回馈非常之重要.
再附两个用GLUT库编写的小代码:
#include &GL/glut.h&
#pragma comment(linker, "/subsystem:/"windows/" /entry:/"mainCRTStartup/"")
void display(void)
glClear (GL_COLOR_BUFFER_BIT);/* clear all pixels
glColor3f (1.0, 1.0, 1.0);
glBegin(GL_POLYGON);/* draw white polygon with corners at(0.25, 0.25, 0.0) and (0.75, 0.75, 0.0)*/
glVertex3f (0.25, 0.25, 0.0);
glVertex3f (0.75, 0.25, 0.0);
glVertex3f (0.75, 0.75, 0.0);
glVertex3f (0.25, 0.75, 0.0);
glFlush ();/* start processing buffered OpenGL routines
void init (void)
glClearColor (0.0, 0.0, 0.0, 0.0);/* select clearing color
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0);/* initialize viewing values
int main(int argc, char** argv)
glutInit(&argc, argv);
glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB);/*Declare initial display mode(single buffer and RGBA).*/
glutInitWindowSize (250, 250); /*Declare initial window size.*/
glutInitWindowPosition (100, 100);/*Declare initial window position.*/
glutCreateWindow ("hello");/*Open window with "hello"in its title bar.*/
init ();/*Call initialization routines.*/
glutDisplayFunc(display); /*Register callback function to display graphics.*/
glutMainLoop();/*Enter main loop and process events.*/
/* ANSI C requires main to return int. */
另一组代码
//opengl.c
#include &windows.h&
#include &gl/glut.h&
#pragma comment(linker, "/subsystem:/"windows/" /entry:/"mainCRTStartup/"")
//绘图子程序
void display( void ) {
glClearColor( 1.0f,1.0f,1.0f,1.0f );
// 设置清除窗口时将窗口设为白色
glClear( GL_COLOR_BUFFER_BIT );// 执行窗口清理
glFlush();
// 刷新OpenGL中的命令队列和缓冲区,使所有尚未被执行的命令执行
void main( int argc,char** argv ) {
glutInit( &argc, argv );
// 初始化GLUT库
glutInitDisplayMode( GLUT_SINGLE| GLUT_RGB ); // 显示模式
glutCreateWindow( "Hello OpenGL!" ); // 创建一个窗口,参数为窗口的标题
glutDisplayFunc( display );
// 绘制当前窗口
glutMainLoop();//通常用于程序的结尾,表示开始运行程序.显示出所有创建的窗口
【上篇】【下篇】}

我要回帖

更多关于 opengles库 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信