问题标签 [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.
c++ - 如何在OpenGL(使用GLUT)上绘制一个像圆锥体一样的填充信封?
我正在使用freeglut进行opengl渲染...
我需要绘制一个看起来像锥形(2D)的信封,必须填充一些颜色并应用一些透明度。
freeglut 工具包是否配备了这样的内置功能来绘制填充几何图形(或一些技巧)?或者是否有其他一些对填充几何图形具有内置支持的 api..
编辑1: 只是为了澄清2D锥体......包络是飞机在拦截期间(敌机)覆盖区域的图形解释......类似于圆形的扇区......我应该提到扇区反而..
和 glutSolidCone 对我没有帮助,因为我想绘制一个圆形的填充扇区......我已经完成了......剩下要做的就是用一些颜色填充它......如何在 opengl 中用颜色填充几何图形?
Edit2: 发布到这个问题的所有答案都可以在某种程度上解决我的问题。但我肯定想知道如何用某种颜色填充几何图形。假设我想绘制一个抛物线的包络线......在这种情况下,将没有默认的 glut 函数来实际绘制一个填充的抛物线(或者有没有?)......所以概括这个问题......如何以某种纯色绘制自定义几何图形?
Edit3: mstrobl 发布的答案适用于 GL_TRIANGLES 但对于这样的代码:
它画了一个正方形...只画了一个有线正方形...我需要用蓝色填充它。
反正要做吗?
如果我为闭合曲线放置一些绘图命令......就像一个馅饼......我需要用颜色填充它有没有办法让它成为可能......
我不知道 GL_TRIANGLES 怎么可能……但是对于任何闭合曲线如何做呢?
c# - 我正在协助的一个项目是为客户使用 freeglut。我应该另外建议吗?
我参与了一个为其客户使用freeglut(基于长期失效的过剩)的开发项目。
客户端最终将允许与大型 3d 环境进行完全交互。我应该让 freeglut 继续开发(甚至可能)还是我应该建议他们使用另一种替代方案,例如 libsdl、opentk 甚至 axiom。
我不是图形专家,但我觉得 freeglut 可能是一个有限的选择。
最有说服力的答案(赞成或反对)将被认可。
编辑:有几点要说...
- 该项目已经在使用 Tao 框架。
- DirectX 和 XNA 不是选项(即:必须使用诸如 freeglut 或 libsdl 之类的东西)。
我确实进行了研究,发现 freeglut 再次处于积极开发中,并且他们正在等待发布。这并没有改变我的感觉,即它可能仍然是一个潜在的有限选择。
我的问题不在于它是如何完成的,而是关于 freeglut 是否仍然是可能会变大的东西的可行选择,以及是否有更多“现代”解决方案可以稍微简化开发。
编辑:如果其他替代方案具有更好的多线程支持(不是用于渲染对象,而是用于处理数据等),那将有所帮助。
编辑:更详细一点......客户端必须至少在linux和windows中工作。
谢谢!
c - glutPostRedisplay 在另一个线程中
我有一个标准的过剩实施。显示函数重绘每个对象,但我需要不断更新每个对象的某些值。事实上,我能想到的唯一方法是产生一个线程来处理更新。但是,我不能使用来自不同线程的 glutPostRedisplay() 来获得 glut 来刷新窗口。有一个循环来更新 glut 循环旁边的值的好方法是什么?
另外,睡几秒钟的最佳方法是什么(而不是整秒钟的 sleep() )。
c++ - MSVC 和 FreeGlut 编译器错误
编译时收到大量这些消息,这使得编译一个简单的程序非常耗时。
有没有办法防止这种情况发生?会让我的任务工作更加愉快。:)
编辑:我正在使用 Microsoft Visual C++ Express 2008。
c++ - 如何使用 gcc/g++ 在 Linux 上为 Windows 编译?
我在 Linux 上使用 freeglut 在 C++ (g++) 中编写了一些效果,并使用
所以我想知道是否可以让 g++ 生成包含所需所有内容的静态编译 Windows 可执行文件?
我没有 Windows,所以如果我能在 Linux 上做到这一点,那就太酷了 :)
x11 - 获取 GLUT 程序的 X 窗口 ID?或者,如何远程控制 X 上的 GLUT 程序?
我想向 X11 上的 GLUT 程序发送击键,但我找不到 X11 客户端连接到 GLUT 程序。
我这样做,使用花栗鼠 2d 物理包的最优秀的演示程序:
并没有什么区别。
我最终的希望是我可以通过发送关键事件来控制 GLUT 程序,相当于:
所以我的问题:
- 如何远程控制在 linux/X11 上运行的 GLUT 程序?
- 有没有办法为 GLUT 程序获取 X11 窗口 ID?
opengl - 使用 GLUT 的标准和可靠的鼠标报告
我正在尝试在我的 OpenGL 应用程序中使用 GLUT (freeglut),并且我需要为鼠标滚轮事件注册一些回调。我设法挖掘出一个相当无证的功能:
但是这个函数的手册页和 API 条目都陈述了同样的事情:
注意:由于缺乏关于鼠标的信息,目前无法在 X 上正确实现。使用此功能会限制应用程序的可移植性。(此功能在 X 上确实有效,只是不可靠。)我们鼓励您使用标准的、可靠的鼠标按钮报告,而不是滚轮事件。
很公平,但是我如何使用这个标准的、可靠的鼠标报告呢?我怎么知道哪个是标准?我是否只使用 glutMouseFunc() 并分别使用 4 和 5 之类的按钮值作为向上和向下滚动值,例如 1、2 和 3 是否是左、中和右按钮?这是可靠的方法吗?
额外的问题:似乎“xev”工具为我的按钮报告了不同的值。我的鼠标按钮用 xev 从 1 到 5 编号,但 glut 报告的按钮从 0 到 4,即一个减一。这很常见吗?
c++ - gluPerspective 在 OpenGL 3.1 中被删除,有什么替代品吗?
我正在尝试在网上阅读一些 OpenGL 教程。问题是我发现了一些旧的使用gluPerspective()
. gluPerspective 在 OpenGL 3.0 中被弃用并在 3.1 中被移除。
我可以改用什么功能?
我正在使用安装了最新 FreeGlut 的 C++。
c++ - C++ 内存泄漏,找不到在哪里
我正在使用 Visual Studio 2008,开发 OpenGL 窗口。我创建了几个用于创建骨架的类,一个用于关节,一个用于皮肤,一个用于 Body(它是多个关节和皮肤的支架),一个用于读取 skel/skin 文件。
在我的每个类中,我对大部分数据都使用了指针,其中大部分是使用 = new int[XX] 声明的。我为每个使用 delete[XX] 删除指针的类都有一个析构函数。
在我的 GLUT 显示函数中,我让它声明一个主体,打开文件并绘制它们,然后在显示结束时删除主体。但是程序中的某个地方仍然存在内存泄漏。随着时间的推移,它的内存使用量只会以一致的速度不断增加,我将其解释为不会被删除的东西。
我不确定是否是 glut 显示功能中的某些内容只是不删除 Body 类,还是其他内容。我已经按照 Visual Studio 2008 中的内存泄漏检测步骤进行操作,它没有报告任何泄漏,但我不能 100% 确定它是否适合我。我对 C++ 不流利,所以可能有些东西我忽略了,有人能看到吗?
从主要:
从身体:
opengl - freeGLUT 键盘输入
我正在使用 GLUT(freeglut3)(通过 Haskell GLUT 绑定)。
似乎各种重要的键(例如:Shift+Tab)没有调用我的回调。此外,“mods”没有描述 win 键,只有 Ctrl、Shift 和 Alt。
对键盘输入的访问如此有限是实际应用程序开发的严重障碍。我在这里做错了什么还是只是 freeglut 瘫痪了?GLUT 一般是残废的吗?