先大概说一下glut.h和freeglut.h

首先要知道openGL是只提供绘图,不管窗口的,所以你需要给它一个绘图的区域(openGL能跨平台也与此有些关系)

glut.h和freeglut.h都是为了让入门者更好地学习openGL而开发的用于提供窗口的工具包

glut.h已经被开发者弃坑很久了,而freeglut.h还有人维护,也就是说glut.h是个很旧的东西了

不过虽然两个名字不同,但是它们的函数使用是一样的

配置这些函数库时,身边很多人在网上寻找到的教程都说放在某某文件夹里,位置都很固定,然而配置了半天系统还是告诉你无法打开XXX.lib

其实有些时候这种绝对路径很误导人,最好的配置方法是打开你的编译器,输入"#include<",对,只输入这么多,然后VS2013会弹出提示,

列表里有很多头文件,注意列表右边会弹出这些头文件的路径,根据路径打开文件夹,把相应的.h文件放入。至于.lib文件,注意到.h文件的路径上

有一个名为include的文件夹,其同级目录下有一个名为lib的文件夹,把.lib文件放入该文件夹中包含一堆.lib文件的文件夹里即可。关于.dll文件,

win7是在system32里,而win8则是在syswow(名字可能有误,不过路径与7大体相同,都是在c盘的window文件夹下)

就现在笔者个人的浅薄经历,glut.h和freeglut.h都暴露出了一些问题

1、glut.h和freeglut.h生成的窗口,当按下右上角的关闭按钮后,都不提供任何的回调函数用于回收内存之类的操作。

2、glut.h生成的子窗口会出现一些奇怪的问题,例如可能无法选中其他子窗口作为当前子窗口,个人写过一个程序,

将多个不同的图案绘制在同一个大窗口之下,每个图案各自位于自己的子窗口中,然而使用idle回调函数时却发现,

无论鼠标如何点击其它子窗口,都无法使其被选中,后来使用freeglut.h发现可以非常正常地工作。

并不是说glut在子窗口方面有问题,因为自己的glut库不是最新的,所以不能直接断言。

如果读者发现同样的问题还请使用freeglut或者下个新点的版本再试试

3、个人使用的win7 32位电脑上,使用glut弹出的子菜单是非常类似win7的系统菜单的,而使用freeglut弹出的菜单则非常的难看,

就像是199X年的风格,个人感觉很奇怪,分明freeglut要比glut新,但是在菜单实现上却非常的过时。

 
 

对于glut和freeglut的一点比较和在VS2013上的配置问题的更多相关文章

  1. opengl库区分:glut、freeglut、glfw、glew、gl3w、glad

    //oepngl库 opengl原生库 gl* 随opengl一起发布 opengl实用库 glu* 随opengl一起发布 opengl实用工具库glut glut* 需要下载配置安装(太老了!) ...

  2. 在Windows/Ubuntu下安装OpenGL环境(GLUT/freeglut)与跨平台编译(mingw/g++)

    GLUT/freeglut 是什么? OpenGL 和它们有什么关系? OpenGL只是一个标准,它的实现一般自带在操作系统里,只要确保显卡驱动足够新就可以使用.如果需要在程序里直接使用OpenGL, ...

  3. 【OpenGL开发】GLUT/freeglut 是什么? OpenGL 和它们有什么关系?

    GLUT/freeglut 是什么? OpenGL 和它们有什么关系? OpenGL只是一个标准,它的实现一般自带在操作系统里,只要确保显卡驱动足够新就可以使用.如果需要在程序里直接使用OpenGL, ...

  4. OpenGL2.0及以上版本中glm,glut,glew,glfw,mesa等部件的关系

    OpenGL2.0及以上版本中gl,glut,glew,glfw,mesa等部件的关系 一.OpenGL OpenGL函数库相关的API有核心库(gl),实用库(glu),辅助库(aux).实用工具库 ...

  5. 使用Webbrowser的一点心得体会

    原文:使用Webbrowser的一点心得体会 自从用上VS2005后,发现多了个WebBrowser控件(.net 2003中不带),为图方便吧,有好多小工具就用这个写的,慢慢也有点体会了,总结一下, ...

  6. OpenGL结合C#进行绘图

    转自:http://www.cnblogs.com/wangshide/archive/2012/04/14/2447499.html 本人对OpenGL产生了浓厚的兴趣,又想学习一下C#这个语言,就 ...

  7. 【游戏开发】基于VS2017的OpenGL开发环境搭建

    一.简介 最近,马三买了两本有关于“计算机图形学”的书籍,准备在工作之余鼓捣鼓捣图形学和OpenGL编程,提升自己的价值(奔着学完能涨一波工资去的).俗话说得好,“工欲善其事,必先利其器”.想学习图形 ...

  8. XCODE 6.1.1 配置GLFW

    最近在学习opengl的相关知识.第一件事就是配环境(好烦躁).了解了一下os x下的OpenGL开源库,主要有几个:GLUT,freeglut,GLFW等.关于其详细的介绍可以参考opengl网站( ...

  9. OpenGL ES之GLFW窗口搭建

    概述 本章节主要总结如何使用GLFW来创建Opengl窗口.主要包括如下内容: OpenGl窗口创建介绍 GLFW Window版编译介绍 GLFW简单工程源码介绍 OpenGL窗口创建介绍 能用于O ...

随机推荐

  1. 转: 三大WEB服务器对比分析(apache ,lighttpd,nginx) (2008年的旧文,仅供参考之用)

    from:  http://www.blogjava.net/daniel-tu/archive/2008/12/29/248883.html 三大WEB服务器对比分析(apache ,lighttp ...

  2. 5.2 calendar--通用日期的相关函数(3)

    prmonth(theyear, themonth, w=0, l=0) 打印指定年和月的日历.格式与formatmonth()函数一样. 样例: #python 3.4 import calenda ...

  3. 【Union Find】JAVA implementation

    import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; import java.util.Scan ...

  4. 转:static关键字的总结

    static关键字的总结 C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static.前者应用于普通变量和函数,不涉及类:后者主要说明static在类中的作用. ...

  5. hibernate批量更新和删除数据

    批量处理  不建议用Hibernate,它的insert效率实在不搞,不过最新版本的Hibernate似乎已经在批量处理的时候做过优化了,设置一些参数如batch_size,不过性能我没有测试过,听说 ...

  6. Spark源码分析之九:内存管理模型

    Spark是现在很流行的一个基于内存的分布式计算框架,既然是基于内存,那么自然而然的,内存的管理就是Spark存储管理的重中之重了.那么,Spark究竟采用什么样的内存管理模型呢?本文就为大家揭开Sp ...

  7. PHP中__get()和__set()的用法实例详解

    php面向对象_get(),_set()的用法 一般来说,总是把类的属性定义为private,这更符合现实的逻辑.但是,对属性的读取和赋值操作是非常频繁的,因此在PHP5中,预定义了两个函数“__ge ...

  8. React中key的必要性与使用

    React这个框架的核心思想是,将页面分割成一个个组件,一个组件还可能嵌套更小的组件,每个组件有自己的数据(属性/状态);当某个组件的数据发生变化时,更新该组件部分的视图.更新的过程是由数据驱动的,新 ...

  9. H2 database 应用

    以前对内存表的引用一直采用sqllite,由于sqllite对字段的局限性无法满足需要.后来对h2 有了一定青睐做了下应用.下面对h2进行介绍. 1. H2数据库引擎 H2数据库由Java编写的,它可 ...

  10. 实现RTSP网站微信直播方案EasyNVR(linux版)部署问题之:ERR_CONTENT_LENGTH_MISMATCH

    发现问题: 想要优化一下EasyNVR相关功能,内部测试软件,于是在linux系统中部署了一台EasyNVR.当部署好,运行起来发现问题: EasyNVR的配置页面数据出不来. 分析问题: 基于是we ...