zoukankan      html  css  js  c++  java
  • 对于glut和freeglut的一点比较和在VS2013上的配置问题

    先大概说一下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新,但是在菜单实现上却非常的过时。

     
     
  • 相关阅读:
    WScript.Shell对象的run和exec(脚本调用其他程序)
    Hard link 和 Symbolic link 软链接 硬链接
    SGI STL 红黑树(RedBlack Tree)源代码分析
    宏likely和unlikely
    PCLint输出格式选项
    32位与64位原子操作的问题
    王石与成功的定义
    关于FckEditor基于Asp.net MVC中出现未结束的字符窜常量——解决方案
    崩溃中!Nhibernate的数据分页.
    创建Silverlight技术联盟QQ群 希望大家踊跃加入
  • 原文地址:https://www.cnblogs.com/hjlweilong/p/5636586.html
Copyright © 2011-2022 走看看