opengl库中gl glu glut glaux的区别

2023-11-10

GL GLU GLUT的关系

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

gl是核心,glu是对gl的部分封装,glut是OpenGL的跨平台工具库。

gl中包含了最基本的3D函数,而glu似乎对gl的辅助,如果算数好,不用glu的情况下,也是可以做出同样的效果。

glut是基本的窗口界面,如果不喜欢用glut可以用MFC和Win32窗口等代替,但是glut是跨平台的,这就保证了我们编出的程序是跨平台的,如果用MFC或者Win32只能在windows操作系统上使用。选择OpenGL的一个很大原因就是因为它的跨平台性,所以我们可以尽量的使用glut库。

GLUT 不是 OpenGL 所必须的,但它会给我们的学习带来一定的方便。


首先,需要包含头文件#include <GL/glut.h>,这是 GLUT 的头文件。本来 OpenGL 程序一般还要包含<GL/gl.h>和<GL/glu.h>,但 GLUT 的头文件中已经自动将这两个文件包含了,不必再次包含。




各种库

opengl 实用库 : 43个函数,以glu开头,包括纹理映射、坐标变换、多边形分化、绘制一些如椭球、圆柱、茶壶等简单多边形实体部分函数象核心函数一样在任何OpenGL平台都可以应用。

opengl辅助库: 31个函数,以aux 开头。

OpenGL函数库相关的API有核心库(gl)、实用库(glu)、辅助库(aux)、实用工具库(glut)、窗口库(glx、agl、 wgl)和扩展函数库等。

gl是核心,glu是对gl的部分封装。

glx、agl、wgl 是针对不同窗口系统的函数。

glut是为跨平台的OpenGL程序的工具包,比aux功能强大。





几种常见的“奇异”头文件:

<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扩展所使用的函数和常量,不适用于其它操作系统。


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

opengl库中gl glu glut glaux的区别 的相关文章

  • openGL之API学习(十)glReadBuffer

    该函数主要是确定颜色缓冲区的来源 不会影响到深度 模板等缓冲区的读取 这里的设置将会影响到glReadPixels glCopyTexImage1D glCopyTexImage2D glCopyTexSubImage1D glCopyTe
  • 图形学数学基础之基本蒙特卡罗尔积分(Monte Carlo Integration)

    作者 i dovelemon 日期 2017 07 29 来源 CSDN 主题 Monte Carlo Integration 引言 好久没有写博客了 最近一直在忙于工作 同时GLB库中关于PBR的渲染算法 一直卡住 无法实现下去 不过在这
  • 计算机图形学【GAMES-101】1、矩阵变换原理Transform(旋转、位移、缩放、正交投影、透视投影)

    快速跳转 1 矩阵变换原理Transform 旋转 位移 缩放 正交投影 透视投影 2 光栅化 反走样 傅里叶变换 卷积 3 着色计算 深度缓存 着色模型 着色频率 4 纹理映射 重心坐标插值 透视投影矫正 双线性插值MipMap 环境光遮
  • DirectX9中Pixel Coordinates System的一个怪异特性

    http drilian com 2008 11 25 understanding half pixel and half texel offsets 这个文章解释的很详细 他的blog里面也有很多的文章 值得一看哦 总结下来就是这样 在D
  • 一个图形爱好者的书架.-也来介绍一下我的藏书.

    1 一个图形爱好者的书架 也来介绍一下我的藏书 http blog csdn net nhsoft article details 22992 2 关于计算机图形学的学习的书籍推荐 http www opengpu org forum ph
  • openGL之API学习(三十七)如何从FBO中读取颜色、深度信息

    方法一 保存成图片 QImage img new QImage WINDOW WIDTH WINDOW HEIGHT QImage Format ARGB32 uchar tmpBIT img gt bits 从颜色缓冲区中读取数据 int
  • UnityShader 模型空间转剪裁空间

    模型空间转剪裁空间 1 引入UnityCG cginc库 include Lighting cginc 2 使用UnityObjectToClipPos 方法 v2f vert a2v v v2f f f svPos UnityObject
  • 计算机图形学期刊和会议

    目录 中国计算机学会推荐国际学术期刊 计算机图形学与多媒体 一 A类 二 B类 三 C类 中国计算机学会推荐国际学术会议 计算机图形学与多媒体 一 A类 二 B类 三 C类 中国计算机学会推荐国际学术期刊 计算机图形学与多媒体 一 A类 序
  • openGL之API学习(二十七)glEnable

    开启服务器端的opengl功能 void glEnable GLenum cap GL BLEND If enabled blend the computed fragment color values with the values in
  • 实时渲染学习(十)渲染加速算法总结

    参考博文 Real Time Rendering 3rd 提炼总结 十一 第十四章 游戏开发中的渲染加速算法总结 前言 本章主要介绍了一些加速渲染算法 个人认为了解这些加速技术还是很重要的 本章知识概览 常用空间数据结构 Spatial D
  • GAMES101-现代计算机图形学学习笔记(4)作业3

    前言 上篇作业2 本篇将更新作业3相关内容 作业3相关链接 games的作业3链接 我的源码 作业3简述 插值计算 各种shader实现 作业3相关知识笔记 Barycentric Coordinates Blinn Phong Lambe
  • 图形学光照

    图形学光照 一 概述 二 环境光照 三 漫反射光照 四 镜面光照 五 光照公式 六 Demo 一 概述 现实世界的光照是极其复杂的 而且会受到诸多因素的影响 这是我们有限的计算能力所无法模拟的 因此OpenGL的光照使用的是简化的模型 对现
  • 如何使用PVRTexTool提升移动端图形效果

    导语 本文作者Ben Anuworakarn 是PowerVR 开发技术团队的技术作者 具有计算科学工程知识背景 文中 他针对移动端游戏画面的优化 介绍了图像纹理处理 Mipmapping以及渗色等相关技术 同时 通过充分利用PVRTexT
  • openGL之API学习(六十二)glBufferData

    往gpu缓冲区写入数据 void glBufferData GLenum target GLsizeiptr size const GLvoid data GLenum usage target Specifies the target t
  • openGL之API学习(十六)glViewport

    确定要绘制的区域 如果你打算把整个屏幕渲染到一个或大或小的纹理上 你需要用新的纹理的尺寸作为参数再次调用glViewport 要在渲染到你的帧缓冲之前做好 否则只有一小部分纹理或屏幕能够绘制到纹理上 void glViewport GLin
  • BRDF详解

    光照模型主要分为三类 测量模型 经验模型和基于物理的分析模型 在计算机图形学中介绍的光照模型为经验模型中的Phong模型 也就是本人理解的 根据点距光源的位置 入射角度等信息计算的 反射强度 包括漫反射强度 镜面反射强度 但是Phong模型
  • Game101现代计算机图形学入门学习笔记(七)

    光线追踪 一 光线追踪 1 为什么要使用光线追踪 二 基础光线追踪算法 1 光线 2 光线投射 1 着色过程 3 递归光线追踪 Whitted Style 1 基本过程 2 光线 表面相交 1 光线方程 3 轴对称包围盒 AABB 1 Un
  • openGL之API学习(六十三)GL_RASTERIZER_DISCARD

    glEnable GL RASTERIZER DISCARD 使用GL RASTERIZER DISCARD标志作为参数调用glEnable 函数 告诉渲染管线在transform feedback可选阶段之后和到达光栅器前抛弃所有的图元
  • openGL之API学习(六十九)水平同步 垂直同步

    垂直和水平是CRT中两个基本的同步信号 水平同步信号决定了CRT画出一条横越屏幕线的时间 垂直同步信号决定了CRT从屏幕顶部画到底部 再返回原始位置的时间 而恰恰是垂直同步代表着CRT显示器的刷新率水平 垂直同步打开 那么在游戏中 或许强劲
  • OpenGL ES 3.0 Programming Guide 1-3

    一 introduction to OGLES 3 0 OGLES 3 0 Graphics Pipeline VertexBuffer ArrayObj gt VertexShader texture transform feedback

随机推荐

  • linux编译运行c++多线程程序

    引言 Linux下编译运行普通的C 程序此前已有文章介绍不再累述 下文主要介绍Linux下如何编译多线程的c 程序 正文 首先尝试编译 cpp文件 例中文件名test2 cpp 执行 g test2 cpp 后可看到编译不通过 报了许多错
  • 解决Could not install packages due to an EnvironmentError: [WinError 5] 拒绝访问。(win10下升级pip)

    一 问题描述 在dos下升级pip时 报错如下 Could not install packages due to an EnvironmentError WinError 5 拒绝访问 c program files python37 l
  • 081基于深度学习的农业病虫害检测小程序版本

    卷积网路CNN分类的模型一般使用包括alexnet DenseNet DLA GoogleNet Mobilenet ResNet ResNeXt ShuffleNet VGG EfficientNet和Swin transformer等1
  • 欧姆龙温控器参数笔记(五)(高级功能设定菜单)

    要进入这个菜单是需要输入密码的 密密麻麻的 但是大多是重复的 比如关于报警 关于输出分配 项目显示 重点 比如这里选择o 温控器就控制ssr来进行加热 比如这里可以sub1设为run sub2设为ha 这个时候 温控器工作的时候 输出sub
  • opencv--图像金字塔--高斯金字塔

    什么是图像金字塔 我们需要了解一个概念 尺度 尺度 顾名思义就是说图像的尺寸和分辨率 在我们进行图像处理的时候 会经常对源图像的尺寸进行放大或者缩小的变换 进而转换为我们指定尺寸的目标图像 在对图像进行放大和缩小的变换的这个过程 我们称为尺
  • QT多线程(QThread)小结

    QThread只有run函数是在新线程里的 其他所有函数都在QThread生成的线程里 如果QThread是在ui所在的线程里生成 那么QThread的其他非run函数都是和ui线程一样的 所以 QThread的继承类的其他函数尽量别要有太
  • 如何使用 Xshell 连接 Linux 服务器

    目录 搭建 Linux 环境 Linux 环境的搭建方式 购买云服务器 使用Xshell远程登陆到Linux服务器 下载安装Xshell 查看Linux主机ip 使用Xshell登录主机 方法1 方法2 额外补充 总结 搭建 Linux 环
  • GBase 8s V8.8 SQL 指南:教程-1.4

    1 4 示例代码约定 SQL 代码的示例在整个出版物中出现 除非另有说明 代码不特定于任何单个的 GBase 8s 应用程序开发工具 如果示例中仅列出 SQL 语句 那么它们将不用分号定界 例如 您可能看到以下示例中 的代码 要将此 SQL
  • 【100%通过率】【华为OD机试c++/java/python】通信误码【 2023 Q1考试题 A卷

    华为OD机试 题目列表 2023Q1 点这里 2023华为OD机试 刷题指南 点这里 题目描述 信号传播过程中会出现一些误码 不同的数字表示不同的误码ID 取值范围为1 65535 用一个数组记录误码出现的情况 每个误码出现的次数代表误码频
  • 04目标检测-Two-stage的目标检测算法

    目录 一 深度学习目标检测算法介绍 二 基于Two stage的目标检测算法 三 Two stage基本流程 四 Two stage常见算法 五 Two stage核心组件 1 Two stage的两个核心组件 2 主干CNN网络设计原则
  • 大一软件工程学生想买电脑,应该如何选择呢?

    全文1万多字 计算机专业怎么选购笔记本电脑 哪些电脑性价比高 轻薄本 全能本 游戏本有什么推荐 看这篇就够了 每天都有邀请我回答关于计算机专业电脑选择的问题 看来如何选购电脑确实是大学生的痛点 不过丑话先说在前面 本人是CS科班毕业 但由于
  • git更新pull不下来代码_git pull更新错误解决办法

    Your local changes to the following files would be overwritten by merge error Your local changes to the following files
  • conda的一些简单操作 for Mac

    在终端输入 conda h 就会列出conda的介绍 和一些命令 如 clean config create help info install list package remove uninstall search update upg
  • 程序员入门教程【非常详细】从零基础入门到精通,看完这一篇就够了 !

    零基础编程入门先学什么 编程语言有几百种 我们应该怎么选择 想学习编程 加入互联网行业 哪一个更有前途 在小白学习编程会有各种各样的问题 今天小编我就来为你解答 一 怎么选择编程语言 编程语言有很多种 但方向不同 每个人都需要根据工作方向
  • BUUCTF闯关日记--[CISCN2019 华北赛区 Day2 Web1]Hack World

    可恶 明明当初想着是写给自己看的 文章越写越多 越来越在意别人会不会看我的文章了 还是太功名利禄了 我得清高点 这是写给自己看 这是写给自己看 这是写给自己看 进入页面 可以看到只有一个白框 多半是SQL注入 直接开始做题 输入 1 回显
  • win10任务管理器快捷键是什么

    win10任务管理器快捷键是什么 Ctrl Shift ESC
  • Zabbix整合钉钉实战

    1 基本告警思路 钉钉类似于微信 但是偏向于办公方向 可以通过钉钉的群机器人功能 实现将告警信息通过机器人发送到钉钉群 群机器人是钉钉群的高级扩展功能 群机器人可以将第三方服务的信息聚合到群聊中 实现自动化的信息同步 2 添加钉钉机器人 首
  • YOLOV5学习笔记(一)——原理概述

    目录 一 目标检测概述 1 1 数据集介绍 1 2 性能指标 1 2 1 混淆矩阵 1 2 2 IOU 边界框回归 1 2 3 AP mAP 1 2 4 检测速度 1 3 YOLO发展史 1 3 1 算法思想 1 3 2 YOLOv5网络架
  • NLP学习(九)文本向量化doc2vec及案例实现-Python3实现

    doc2vec基本原理 A distributed memory model 训练句向量的方法和词向量的方法非常类似 训练词向量的核心思想就是说可以根据每个单词的上下文预测 也就是说上下文的单词对是有影响的 那么同理 可以用同样的方法训练d
  • opengl库中gl glu glut glaux的区别

    GL GLU GLUT的关系 OpenGL中的gl库是核心库 glu是实用库 glut是实用工具库 gl是核心 glu是对gl的部分封装 glut是OpenGL的跨平台工具库 gl中包含了最基本的3D函数 而glu似乎对gl的辅助 如果算数