freeglut 与 glew 的区别?

2024-02-28

我最近开始学习 OpenGL (> 3.3) 并且我注意到很多示例和教程都使用 freeglut 和 glew,但根本没有真正解释其中的区别。在谷歌搜索和阅读令人作呕的内容之后,我发现的最好的描述是这样的OpenGL相关工具包和API http://www.opengl.org/wiki/Related_toolkits_and_APIs#Context.2FWindow_Toolkits但发现有所欠缺。我什至读过 SO 上的标签信息。

作为 OpenGL 的新手,我仍在尝试掌握不同的概念。我已经到了创建一个使用 glew 的基本程序的阶段,创建上下文(在 Windows 上,VS2010),并绘制真正基本的形状,所有这些都不需要显式包含 freeglut。所以我不明白为什么我需要它。

所以我的问题是,什么是不同之处之间:
- 自由过剩
-glew
-(&glfw)
一个人能做什么对方不能?


OpenGL 扩展牧马人 (GLEW)用于访问现代 OpenGL API 函数(版本 3.2 到最新版本)。如果我们使用古老版本的 OpenGL,那么我们可以访问 OpenGL 函数,只需包括#include <GL/gl.h>但在现代OpenGL中,API函数是在运行时确定的,而不是编译时确定的。 GLEW 将处理 OpenGL API 的运行时加载。关于 GLEW 请参阅here https://stackoverflow.com/tags/glew/info

GLFW or freeglut将允许我们创建一个窗口,并以跨平台的方式接收鼠标和键盘输入。 OpenGL 不处理窗口创建或输入,因此我们必须使用这些库来处理窗口、键盘、鼠标、操纵杆、输入和其他用途。

GLFW and freeglut根据我们的需要,我们可以选择任何一种,但是GLEW与它们不同的是,它们用于运行时加载 OpenGL API。

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

freeglut 与 glew 的区别? 的相关文章

  • glGenerateMipmap 是否在 sRGB 纹理的线性空间中执行平均?

    OpenGL 3 3 规范似乎没有要求 mipmap 生成在线性空间中完成 我能找到的只有以下内容 派生的 mipmap 数组的内部格式都与 levelbase 数组和派生数组的维度如下 第 3 8 14 节中描述的要求 的内容 派生数组是
  • 静态链接库时出现 glew 链接器错误

    我正在尝试在 Visual Studio 2012 中构建一个 opengl 项目 我想静态包含 glew 库 因此我从源代码构建它并将生成的 glew32sd lib 复制到我的 lib 目录 我将此 lib 路径提供给 Visual S
  • 从文件中读取 GLSL 着色器

    我正在尝试从如下所示的文件中读取顶点和片段着色器 version 330 core in vec3 ourColor out vec4 color void main color vec4 ourColor 1 0f but when i
  • OpenGL Z 偏置(多边形偏移)限制

    我有两个共面的多边形 我尝试做 glEnable GL POLYGON OFFSET FILL glPolygonOffset 0 1 并期望其中一个明显 位于 另一个之上 这种情况直到大约 70 75 个单位之外 近剪裁平面为 1 远剪裁
  • 交错顶点提交如何提高性能?

    我已经阅读并看到了其他问题 这些问题通常都指向将顶点位置和颜色等交错到一个数组中的建议 因为这可以最大限度地减少从 cpu 发送到 gpu 的数据 我不清楚的是 即使使用交错数组 您仍然必须对位置和颜色指针进行单独的 GL 调用 OpenG
  • 退出 glutFullScreen()

    我不明白为什么当我按 f 时它进入全屏但不退出全屏 在这个方法的开头我已经设置了bool fullscreen false 这是我的切换代码 case f toggle screenmode if fullscreen glutFullSc
  • glutPostRedisplay 不在循环内工作

    我试图让一个人在 y 轴上跳跃 所以我使用 2 秒的循环 第一秒它应该向下移动并弯曲膝盖 第二秒它应该向上移动 然后在起始位置完成 现在我刚刚开始让这个人在第一秒内跪下并弯曲膝盖 我还没有编写动画的其余部分 问题是 glutPostRedi
  • QOpenGLFunctions 缺少重要的 OpenGL 函数

    QOpenGLFunctions 似乎缺少重要的函数 例如 glInvalidateFramebuffer 和 glMapBuffer 据我了解 QOpenGLFunctions 加载桌面 OpenGL 函数和 ES 函数的交集 如果是这样
  • 我的绘图存在坐标/glortho 问题

    I have made a bit of a change to my code in the last couple of hours as everything was messy with my grid so I made it i
  • 对齐坐标系

    Let s say I have 2 coordinate systems as it is shown in image attached 如何对齐这个坐标系 我知道我需要将第二个坐标系围绕 X 平移 180 度 然后将其平移到第一个坐标
  • Eclipse 标记 OpenGL 函数无法解析

    我尝试在 Eclipse C C 中使用一些 OpenGL 函数 一些 标准 函数如 GlClear 可以被 eclipse 识别 而其他函数如 glBindBuffer 和 glEnableVertexAttribArray 则不能 它们
  • OpenGL 与 Eclipse CDT + MinGW + GLEW + GLFW:未定义的参考

    Edit 与此同时 我已经弄清楚了这一点 并在下面写了详细的答案 我刚刚尝试在 Win7 上从 Express 版本的 MSVC 10 切换到 Eclipse CDT 在配置时遇到了以下简单 OpenGL 代码的问题 在 Visual St
  • 使用 OpenGL 着色器进行数学计算 (C++)

    我有一个矩阵 例如 100x100 尺寸 我需要对每个元素进行计算 matrix i j tt 8 5例如 我有一个巨大的矩阵 我想使用 OpenGL 着色器来实现该算法 我想使用着色器 例如 uniform float val unifo
  • glut 库中缺少 glutInitContextVersion()

    我正在练习一些 opengl 代码 但是当我想通过以下方式强制 opengl 上下文使用特定版本的 opengl 时glutInitContextVersion 它编译过程失败并给出以下消息 使用未声明的标识符 glutInitContex
  • 使用 C# 截取任何外部应用程序的屏幕截图

    我们有一个 C WPF 应用程序 我们想要在其中截取我们启动的任意应用程序的屏幕截图 即 我们可以引用我们启动的进程 应用程序可能已最小化或位于其他窗口后面 但我们仍然只需要单个应用程序的图像 而不是重叠像素 我知道使用 BitBlt 或的
  • 为什么OpenGL使用float而不是double? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 将四元数旋转转换为旋转矩阵?

    基本上 给定一个四元数 qx qy qz qw 我如何将其转换为OpenGL旋转矩阵 我也对哪个矩阵行是 向上 向右 向前 等感兴趣 我有一个四元数的相机旋转 我需要在向量中 以下代码基于四元数 qw qx qy qz 其中顺序基于 Boo
  • 为什么拥有单独的投影矩阵但结合模型和视图矩阵会有好处?

    当您学习 3D 编程时 您会被告知用 3 个变换矩阵来思考是最简单的 模型矩阵 该矩阵对于每个模型都是独立的 它根据需要旋转和缩放对象 最后将其移动到 3D 世界中的最终位置 模型矩阵将模型坐标转换为世界坐标 视图矩阵 对于大量对象 如果不
  • 更改 Qt OpenGL 窗口示例以使用 OpenGL 3.3

    我正在尝试更改 Qt OpenGL 示例以使用更现代的 opengl 版本 330 似乎合适 所以我做了 在 main cpp 上设置版本和配置文件 设置着色器版本 更改着色器以使用统一 它现在构建没有任何错误 但我只看到一个空白窗口 我错
  • Opengl 像素完美 2D 绘图

    我正在研究 2d 引擎 它已经工作得很好 但我不断收到像素错误 例如 我的窗口是 960x540 像素 我从 0 0 到 959 0 画一条线 我希望扫描线 0 上的每个像素都会被设置为一种颜色 但事实并非如此 最右边的像素没有被绘制 当我

随机推荐

  • 在匿名类型上编写 Group By

    我正在两个表上编写一个 group by 子句 这两个表已连接并通过实体数据模型进行访问 我无法迭代匿名类型 有人可以帮助我吗 public string GetProductNameByProductId int productId st
  • 在C中将MD5结果转换为整数

    我的目标是使用 MD5 结果来索引哈希表 我想对其执行模运算以在表中找到适当的槽 我尝试将其转换为无符号 long long 类型 当我打印结果时 对于相同的 MD5 哈希值 每次都会得到不同的数字 MD5 哈希值最初是一个 unsigne
  • 对于 .net core 6 中的控制器调用,WebApplicationFactory 始终返回 404

    我按照微软的文档进行集成测试 https learn microsoft com en us aspnet core test integration tests view aspnetcore 6 0 introduction to in
  • 在 AFNetworking 中找不到具有指定主机名的服务器

    我关掉AFnetworkingAPI来自ASIHTTPRequest在我的应用程序中解决连接错误问题 但现在我收到连接错误AFNetworking 我该如何解决这个问题 Printing description of error Error
  • SpinLock.Enter 获取锁失败怎么办?

    The SpinLock https msdn microsoft com en us library system threading spinlock v vs 110 aspx Net 中的结构可用于管理多个线程对资源的访问 与普通锁
  • 来自未预编译的 ASP.NET 网站的预编译相关错误

    我有一个 ASP NET 网站 已通过 XCOPIED 进行生产 我不使用 Visual Studio 发布此网站 我只是将所有 aspx 和代码隐藏页面复制到生产环境中 没有发布配置文件 我的生产服务器正在运行 IIS 7 5 集成管道
  • 如何更改 Android 中 Activity 的标题?

    我在用 Window w getWindow w setTitle My title 更改我当前活动的标题 但它似乎不起作用 谁能指导我如何改变这个 尝试单独使用 setTitle 如下所示 setTitle Hello StackOver
  • 将 OSGi 包分组以形成一致的“应用程序”的最佳方式是什么

    OSGi 方式 是开发包含离散的 连贯的功能块的单独的包 有时这些包包含实用程序类 有时它们依赖于实用程序类并设置自己的 OSGi 服务 另一方面 用户不太可能接触到捆绑包 他们更关心的是应用 一个执行任务或解决问题的软件 通常 应用程序将
  • 如何获取 LINQPad 中列出的 SQL Express 数据库的连接字符串?

    有没有一种简单的方法可以获取 LINQPad 连接窗口中列出的数据库的连接字符串 除了使用 Visual Studio 的对象资源管理器 Making sgmoore https stackoverflow com users 125759
  • 重新绘制留下的痕迹

    我知道这不是第一次问这个问题 但回答对我没有多大帮助 所以我正在帮助我终于得到答案 我制作了这个小游戏 让汽车绕着轨道行驶 必须使用矩形 当我使用repaint 方法代表汽车的矩形在新位置重新绘制 但留下一条痕迹 我有这个代码 import
  • 如何使用python在hadoop中保存文件

    问题 我开始学习hadoop 但是 我需要使用python将很多文件保存到其中 我似乎无法弄清楚我做错了什么 谁能帮我这个 下面是我的代码 我觉得HDFS PATH是正确的 因为我在安装时没有在设置中更改它 这pythonfile txt在
  • 什么是覆盖事务超时的注释?

    EE 新手 尝试重新配置 Weblogic 的默认超时 30 秒 而不必编写 weblogic ejb jar xml 文件 我现在只使用了注释 但我看到的唯一内容是在 DD 中
  • jQuery 从选定的下拉列表中获取 html id [重复]

    这个问题在这里已经有答案了 由于我的表单中有多个下拉菜单 我想从选定的下拉菜单之一检索 HTML id 我的更改下拉菜单有以下代码 select name product type change function 使用时console lo
  • Rplotly - 绘制分组线

    我正在从 ggplot2 迁移到plotly 以便利用它们提供的交互功能 我确实意识到plotly库有一个ggplotly函数 我可以用它来封装本机ggplot命令 但我想学习如何使用本机plotly命令绘制类似的图形 我的问题是我似乎无法
  • 自定义 RES 屏幕和 RES 图标已替换为默认的 Cordova 屏幕和图标

    我正在使用适用于 Apache Cordova 的 Visual Studio 工具 我已经测试了 CLI 6 4 0 不幸的是 RES 屏幕和 RES 图标存在错误 如果我使用 CLI 6 3 1 这个问题就会消失 为了演示它 我从头开始
  • 有没有可以阅读 ePub 书籍的 API? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在尝试为 WP7 创建电子书阅读器 到目前为止 我还没有找到任何 API 来阅读 ePub 书籍 谢谢 扎因 对于基于 DRM fre
  • 列的数据被截断?

    更改 MySql 列的数据类型以存储后Twilio 通话 https www twilio com docs api rest call ids 34 个字符字符串 我尝试使用以下命令手动更改该列中的数据 update calls set
  • 如何在带有 View Holder 的自定义 ListView 中使用 Button OnClick

    我需要一些帮助 我正在使用视图保持器从动态数组适配器显示 我有列表视图 每行包含 标题 文本视图 副标题 TextView 进度条 下载按钮 按钮 我想在单击下载按钮时显示进度栏并隐藏下载按钮 单击第一行的下载按钮时 会显示第一个进度条 但
  • 如何在glmnet中指定日志链接?

    我正在使用 R 中的 glmnet 和 caret 包在广义线性模型上运行弹性网络 我的响应变量是成本 其中成本 gt 0 因此我想为我的 GLM 指定一个带有日志链接的高斯族 然而 glmnet 似乎不允许我指定 link log 如下
  • freeglut 与 glew 的区别?

    我最近开始学习 OpenGL gt 3 3 并且我注意到很多示例和教程都使用 freeglut 和 glew 但根本没有真正解释其中的区别 在谷歌搜索和阅读令人作呕的内容之后 我发现的最好的描述是这样的OpenGL相关工具包和API htt