OpenGL中的gl库是核心库,glu是实用库,glut是实用工具库。

gl库是核心,gl中包含了最基本的3D函数,glu是对gl的部分封装,而glu似乎对gl的辅助,如果算术好,在不使用glu的情况下,使用gl可以实现同样的效果。glu包含有43个函数,函数名前缀为glu。

glut是基本的窗口界面,是独立于gl和glu的,如果不喜欢用glut可使用MFC和Win32窗口等代替。但是glut是跨平台的,这就保证了我们编出的程序具有跨平台性,而使用MFC或Win32只能在windows操作系统上使用。

这个库提供了创建窗口,处理键盘和鼠标事件,设置调色板等OpenGL本身不提供,但在编写OpenGL程序时又经常用到的功能,目前许多OpenGL教程使用这个库来编写演示程序。一些编译系统不直接提供这种库(例如VC系列),需要单独下载安装(有需要可以联系我)。这个头文件自动包含了<GL/gl.h>和<GL/glu.h>,编程时不必再次包含它们。

<GL/glaux.h>:GLAUX(OpenGL辅助库)所使用的函数和常量声明。目前这个库已经过时,只有比较少的编译环境中有提供,例如VC系列。在VC系列编译器中,使用这个头文件之前必须使用#include <windows.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扩展所使用的函数和常量,不适用于其它操作系统。

OpenGL中gl,glu,glut的关系(扩展)相关推荐

  1. opengl库中gl glu glut glaux的区别

    GL GLU GLUT的关系 OpenGL中的gl库是核心库,glu是实用库,glut是实用工具库. gl是核心,glu是对gl的部分封装,glut是OpenGL的跨平台工具库. gl中包含了最基本的 ...

  2. GL GLU GLUT的关系

    GL GLU GLUT的关系 OpenGL中的gl库是核心库,glu是实用库,glut是实用工具库. gl是核心,glu是对gl的部分封装,glut是OpenGL的跨平台工具库. gl中包含了最基本的 ...

  3. OpenGL与gl glu glut freeglut glew glfw封装库关系(十五)

    1.概述     初学者往往搞不明白OpenGL与诸多库的联系下面一张图帮理清楚,gl glu glut freeglut glew glfw都是对OpenGL的封装而已.这些库已经将OpenGL.E ...

  4. OpenGL中常用的 GLUT 函数

    GLUT函数说明 一.初始化 void glutInit(int* argc,char** argv) 这个函数用来初始化GLUT库.对应 main 函数的形式应是: int main(int arg ...

  5. OpenGL中gl,glu,glut的区别

    OpenGL中的gl库是核心库,glu是实用库,glut是实用工具库, gl是核心,glu是对gl的部分封装,glut是OpenGL的跨平台工具库,gl中包含了最基本的3D函数,而glu似乎对gl的辅 ...

  6. 一张图弄懂opengl的诸多库gl glu glut freeglut glew glfw之间关系

    开始学习opengl,但是看opengl编程指南不同版本之间使用了一堆不同的库,概念名称全都搅起的,越看越糊涂,遂整理的一下opengl相关的一些库的名词, 才发现是不同时期不同版本不断发展的结果. ...

  7. OpenGL 各类库的解析 gl/glu/glut/freeglut/glfw/glew

    看了网上很多资料,讲的都不是很全,正好在学这一块,好好地总结一下吧 注:在windows中,对这些库的大小写是不作要求的 gl.h gl库是核心库,gl中包含了最基本的3D函数,可以再本地电脑中的: ...

  8. OpenGL 各类库的解析gl glu glut freeglut glfw glew

    gl.h gl库是核心库,gl中包含了最基本的3D函数,可以再本地电脑中的: C:\Program Files (x86)\MicrosoftSDKs\Windows\v7.0A\Include\gl ...

  9. glew, glee与 gl glu glut glx glext的区别和关系

    GLEW是一个跨平台的C++扩展库,基于OpenGL图形接口.使用OpenGL的朋友都知道,window目前只支持OpenGL1.1的涵数,但 OpenGL现在都发展到2.0以上了,要使用这些Open ...

最新文章

  1. 【开发环境】Mac 安装 PyCharm 开发环境 ( 下载 PyCharm | 安装 PyCharm )
  2. 【解决方案】无法将grub-efi-amd64-signed软件包安装到/target/【安装Ubuntu】
  3. Linux 条件变量使用细节(为何调用 pthread_cond_wait 前加锁,函数内部解锁,返回时又加锁)
  4. 网页性能优化03-函数防抖
  5. 0708---oop学习--用户密码管理
  6. 读卡距离和信号强度两方面来考虑
  7. 利用SpringBoot+RabbitMQ,实现一个邮件推送服务
  8. 设计模式之单例模式-C++
  9. 计算机语言列表,计算机语言java中得List
  10. 毛子说PostgreSQL 需要实现多主
  11. 基于Krpano的Hotspot热区插件·第二版
  12. JDK源码阅读调试环境搭建
  13. Ubuntu下截图贴图软件——flameshot
  14. cad卸载不干净_如何才能干净的卸载顽固软件?不给恶意软件留机会!
  15. 去了一趟少林寺 竟然发现...
  16. 【Oracle】ngrok 映射数据库地址为外网
  17. C++实现 L1-054 福到了 (15分)
  18. 做好数据全生命周期管理,实现数据资产化
  19. Java web(简单的servlet计算器)网页计算器
  20. 三月不开单,开单吃三月说的是你吗?

热门文章

  1. 非诚勿扰php灯全灭,“收破烂”小伙上非诚勿扰,话没完灯全灭,孟非:这破烂你们没有...
  2. 如何锁定EXCEL表格而保留某些单元格可以编辑
  3. C语言0x6c等于多少,6个变态的C语言Hello World程序——更好的理解C
  4. 企业会计准则2020版pdf_药二2020年执业药师真题回忆版(完整PDF版)
  5. linux系统之禁用usb口
  6. 计算机公共基础知识实验报告,MIPS单周期CPU实验报告总结.doc
  7. 第11章 下载xkcd的漫画
  8. 【Mybatis】Mybatis批量插入操作【详细教程】
  9. Tasks(任务), microtasks(微任务), queues(队列) and schedules(回调队列)
  10. 触发器与存储过程的区别