问题标签 [freeglut]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
8750 浏览

c++ - 如何在OpenGL(使用GLUT)上绘制一个像圆锥体一样的填充信封?

我正在使用freeglut进行opengl渲染...

我需要绘制一个看起来像锥形(2D)的信封,必须填充一些颜色并应用一些透明度。

freeglut 工具包是否配备了这样的内置功能来绘制填充几何图形(或一些技巧)?或者是否有其他一些对填充几何图形具有内置支持的 api..

编辑1: 只是为了澄清2D锥体......包络是飞机在拦截期间(敌机)覆盖区域的图形解释......类似于圆形的扇区......我应该提到扇区反而..

和 glutSolidCone 对我没有帮助,因为我想绘制一个圆形的填充扇区......我已经完成了......剩下要做的就是用一些颜色填充它......如何在 opengl 中用颜色填充几何图形?

Edit2: 发布到这个问题的所有答案都可以在某种程度上解决我的问题。但我肯定想知道如何用某种颜色填充几何图形。假设我想绘制一个抛物线的包络线......在这种情况下,将没有默认的 glut 函数来实际绘制一个填充的抛物线(或者有没有?)......所以概括这个问题......如何以某种纯色绘制自定义几何图形?

Edit3: mstrobl 发布的答案适用于 GL_TRIANGLES 但对于这样的代码:

它画了一个正方形...只画了一个有线正方形...我需要用蓝色填充它。

反正要做吗?

如果我为闭合曲线放置一些绘图命令......就像一个馅饼......我需要用颜色填充它有没有办法让它成为可能......

我不知道 GL_TRIANGLES 怎么可能……但是对于任何闭合曲线如何做呢?

0 投票
3 回答
1000 浏览

c# - 我正在协助的一个项目是为客户使用 freeglut。我应该另外建议吗?

我参与了一个为其客户使用freeglut(基于长期失效的过剩)的开发项目。

客户端最终将允许与大型 3d 环境进行完全交互。我应该让 freeglut 继续开发(甚至可能)还是我应该建议他们使用另一种替代方案,例如 libsdl、opentk 甚至 axiom。

我不是图形专家,但我觉得 freeglut 可能是一个有限的选择。

最有说服力的答案(赞成或反对)将被认可。

编辑:有几点要说...

  • 该项目已经在使用 Tao 框架。
  • DirectX 和 XNA 不是选项(即:必须使用诸如 freeglut 或 libsdl 之类的东西)。

我确实进行了研究,发现 freeglut 再次处于积极开发中,并且他们正在等待发布。这并没有改变我的感觉,即它可能仍然是一个潜在的有限选择。

我的问题不在于它是如何完成的,而是关于 freeglut 是否仍然是可能会变大的东西的可行选择,以及是否有更多“现代”解决方案可以稍微简化开发。

编辑:如果其他替代方案具有更好的多线程支持(不是用于渲染对象,而是用于处理数据等),那将有所帮助。

编辑:更详细一点......客户端必须至少在linux和windows中工作。

谢谢!

0 投票
1 回答
1256 浏览

c - glutPostRedisplay 在另一个线程中

我有一个标准的过剩实施。显示函数重绘每个对象,但我需要不断更新每个对象的某些值。事实上,我能想到的唯一方法是产生一个线程来处理更新。但是,我不能使用来自不同线程的 glutPostRedisplay() 来获得 glut 来刷新窗口。有一个循环来更新 glut 循环旁边的值的好方法是什么?

另外,睡几秒钟的最佳方法是什么(而不是整秒钟的 sleep() )。

0 投票
1 回答
2573 浏览

c++ - MSVC 和 FreeGlut 编译器错误

编译时收到大量这些消息,这使得编译一个简单的程序非常耗时。

有没有办法防止这种情况发生?会让我的任务工作更加愉快。:)

编辑:我正在使用 Microsoft Visual C++ Express 2008。

0 投票
7 回答
233930 浏览

c++ - 如何使用 gcc/g++ 在 Linux 上为 Windows 编译?

我在 Linux 上使用 freeglut 在 C++ (g++) 中编写了一些效果,并使用

所以我想知道是否可以让 g++ 生成包含所需所有内容的静态编译 Windows 可执行文件?

我没有 Windows,所以如果我能在 Linux 上做到这一点,那就太酷了 :)

0 投票
1 回答
902 浏览

x11 - 获取 GLUT 程序的 X 窗口 ID?或者,如何远程控制 X 上的 GLUT 程序?

我想向 X11 上的 GLUT 程序发送击键,但我找不到 X11 客户端连接到 GLUT 程序。

我这样做,使用花栗鼠 2d 物理包的最优秀的演示程序:

并没有什么区别。

我最终的希望是我可以通过发送关键事件来控制 GLUT 程序,相当于:

所以我的问题:

  1. 如何远程控制在 linux/X11 上运行的 GLUT 程序?
  2. 有没有办法为 GLUT 程序获取 X11 窗口 ID?
0 投票
1 回答
419 浏览

opengl - 使用 GLUT 的标准和可靠的鼠标报告

我正在尝试在我的 OpenGL 应用程序中使用 GLUT (freeglut),并且我需要为鼠标滚轮事件注册一些回调。我设法挖掘出一个相当无证的功能:

api文档

但是这个函数的手册页和 API 条目都陈述了同样的事情:

注意:由于缺乏关于鼠标的信息,目前无法在 X 上正确实现。使用此功能会限制应用程序的可移植性。(此功能在 X 上确实有效,只是不可靠。)我们鼓励您使用标准的、可靠的鼠标按钮报告,而不是滚轮事件。

很公平,但是我如何使用这个标准的、可靠的鼠标报告呢?我怎么知道哪个是标准?我是否只使用 glutMouseFunc() 并分别使用 4 和 5 之类的按钮值作为向上和向下滚动值,例如 1、2 和 3 是否是左、中和右按钮?这是可靠的方法吗?

额外的问题:似乎“xev”工具为我的按钮报告了不同的值。我的鼠标按钮用 xev 从 1 到 5 编号,但 glut 报告的按钮从 0 到 4,即一个减一。这很常见吗?

0 投票
5 回答
28220 浏览

c++ - gluPerspective 在 OpenGL 3.1 中被删除,有什么替代品吗?

我正在尝试在网上阅读一些 OpenGL 教程。问题是我发现了一些旧的使用gluPerspective(). gluPerspective 在 OpenGL 3.0 中被弃用并在 3.1 中被移除。

我可以改用什么功能?

我正在使用安装了最新 FreeGlut 的 C++。

0 投票
4 回答
1926 浏览

c++ - C++ 内存泄漏,找不到在哪里

我正在使用 Visual Studio 2008,开发 OpenGL 窗口。我创建了几个用于创建骨架的类,一个用于关节,一个用于皮肤,一个用于 Body(它是多个关节和皮肤的支架),一个用于读取 skel/skin 文件。

在我的每个类中,我对大部分数据都使用了指针,其中大部分是使用 = new int[XX] 声明的。我为每个使用 delete[XX] 删除指针的类都有一个析构函数。

在我的 GLUT 显示函数中,我让它声明一个主体,打开文件并绘制它们,然后在显示结束时删除主体。但是程序中的某个地方仍然存在内存泄漏。随着时间的推移,它的内存使用量只会以一致的速度不断增加,我将其解释为不会被删除的东西。

我不确定是否是 glut 显示功能中的某些内容只是不删除 Body 类,还是其他内容。我已经按照 Visual Studio 2008 中的内存泄漏检测步骤进行操作,它没有报告任何泄漏,但我不能 100% 确定它是否适合我。我对 C++ 不流利,所以可能有些东西我忽略了,有人能看到吗?

从主要:

从身体:

0 投票
1 回答
1736 浏览

opengl - freeGLUT 键盘输入

我正在使用 GLUT(freeglut3)(通过 Haskell GLUT 绑定)。

似乎各种重要的键(例如:Shift+Tab)没有调用我的回调。此外,“mods”没有描述 win 键,只有 Ctrl、Shift 和 Alt。

对键盘输入的访问如此有限是实际应用程序开发的严重障碍。我在这里做错了什么还是只是 freeglut 瘫痪了?GLUT 一般是残废的吗?