问题标签 [opengl]

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 回答
1072 浏览

iphone - 仅使用 OpenGL 而不是 Cocoa Touch 来制作 iPhone 应用程序是否可行?

我更愿意使用 OpenGL 等纯 C api 编写应用程序,而不是 Cocoa Touch。所以我想知道:这可行吗?我能否保持与 ​​Interface Builder 相同的用户体验?

0 投票
2 回答
6288 浏览

iphone - OpenGL-ES 的“输入”和“输出”是什么?(从 OpenGL 移植)

似乎我能找到的所有关于 OpenGL-ES 的文档都说“OpenGL-ES 就像 OpenGL,但没有很多东西。例如,没有 glBegin 或 glEnd”。

太棒了。那么,还有什么 ELSE 没有的呢?或者有什么清单?或者也许是移植指南?

(具体来说,我正在尝试将现有的 GL 应用程序移至 iPhone,尽管我不想将 Q 限制在 iPhone 上。)

0 投票
1 回答
1114 浏览

opengl - BlendFunc 用于具有变化背景的纹理字体

我正在尝试使用纹理字体,以便可以在我的 openGL 场景中显示文本。但是,我无法找到可行的 glBlendFunc 值。

将放置文本的背景是灰度图像,但在整个执行过程中会发生变化。因为背景发生了变化,所以文本可能位于从黑色到白色的任何颜色之上。

我发现的最佳值是 glBlendFunc(Gl.GL_SRC_COLOR, Gl.GL_ONE_MINUS_SRC_ALPHA)。这将使角色周围的黑框消失,但角色本身会随着背景变白而消失。

请帮忙!

0 投票
2 回答
3362 浏览

qt - OpenGL背景透明度?

我正在使用 QT 的 QGLFramebufferObject 进行离屏渲染。
渲染到缓冲区后,我使用 glReadPixels() 读取结果
问题是,有时我读取的背景颜色只是 0(透明黑色),有时是 0xFF000000(不透明黑色)
这似乎与缓冲区的时间有关初始化。如果缓冲区是从 QGLWidget 继承的类的成员,则为 0。如果在其他任何地方初始化,则为 0xFF000000。

有人知道这里发生了什么吗?这次阅读的良好预期结果是什么?

0 投票
3 回答
6661 浏览

opengl - 查找 3d 点之间的旋转角度

我正在编写一个程序,它将沿着样条曲线绘制一个实体。我正在使用 Visual Studio 2005,并用 C++ 编写 OpenGL。我正在使用 FLTK 打开我的窗口(快速轻便的工具包)。

我目前有一个算法,将绘制一个基本三次样条,给定一组控制点,通过将点之间的间隔分解为子间隔并在这些子点之间绘制线段。子区间的数量是可变的。

画线代码效果很好,基本上工作如下:我使用样条方程沿样条曲线生成一组点并将它们存储在一个数组中(作为一个称为 Pnt3f 的特殊数据结构,其中坐标是 3 个浮点数,并且有一些方便的函数,如距离、长度、点和叉积)。然后我有一个循环遍历点数组并绘制它们:

如前所述,此代码效果很好。现在我想做的是,我想挤出一个实体,而不是画一条线。我目前的探索是使用“圆柱”二次曲线沿线创建管。这有点棘手,因为我必须将 openGL 定向到我想要绘制圆柱体的方向。我的想法是这样做:

伪代码:

我的问题是获得点之间的角度。我只需要偏航和俯仰,滚动并不重要。我知道将两个点的点积除以两个点的大小的反余弦值,将返回它们之间的角度,但这不是我可以提供给 OpenGL 旋转的东西。我已经尝试在 2d 中执行此操作,使用 XZ 平面进行 x 旋转,并从原点制作点向量,但它没有返回正确的角度。

我目前的方法要简单得多。对于每个旋转平面(X 和 Y),通过以下方式找到角度:

反余弦((“x”值的差异)/点之间的距离)

“x”值取决于您如何设置飞机,尽管对于我的计算,我总是使用世界 x。

除非有一些问题使它在我还没有解决的正确象限中绘制出来,否则我想得到建议,看看这是否是一个好的实现,或者看看是否有人知道更好的方法。

0 投票
3 回答
5440 浏览

opengl - 将位图转换为多边形 - (反向光栅化)

给定一个带有一些纯色斑点的位图图像,你会使用什么算法来构造与这些斑点形状相同的多边形?

这可以通过多个步骤完成:高分辨率多边形可以稍后通过最佳拟合算法进行切割。如果您能告诉我如何将生成的多边形切割成凸组件,以便它们可以在 OpenGL 中毫无问题地渲染,则可以加分。

0 投票
3 回答
3061 浏览

c - OpenGL 包含 OS X 上的指令

我有点困惑为什么这段代码可以编译。我省略了“必要的” #include <OpenGL/gl.h>,但程序仍然可以编译。当我的程序从 GL 库调用函数而不包括它们时,这怎么可能。

我使用这个编译命令:

我假设添加 -framework 只是指定库所在的链接器,但我认为我仍然需要标头?

0 投票
2 回答
705 浏览

c++ - OpenSceneGraph 应用程序中的无效锁定序列错误

我有一个针对 OpenSceneGraph (2.6.1) 构建的应用程序,因此间接针对 OpenGL。应用程序初始化并开始运行,但随后在 OpenGL32.dll 中出现以下异常“尝试执行无效的锁定序列”。当我重新运行它时,有时会收到此异常,有时还会收到有关“特权指令”的异常。调用堆栈看起来已损坏,因此我无法准确判断异常是从哪里引发的。几天前我运行了该应用程序,但从未见过这种行为。从那时起,我在几个 if 中添加了 else 子句,仅此而已。我的应用程序是一个控制台应用程序,使用 Visual Studio 2008 构建,并将 OpenScenGraph 设置为 SingleThreaded 模式。有人见过这个吗?有什么调试技巧吗?

0 投票
2 回答
540 浏览

java - 在哪里可以找到关于 OpenGL 中鼠标移动和多边形旋转的示例代码?

在哪里可以找到关于 OpenGL 中鼠标移动和多边形旋转的示例代码?我正在使用 Java,因此首选 Java 中的示例代码。

0 投票
3 回答
1066 浏览

opengl - 在同一应用程序的不同窗口中混合opengl和directdraw?

我正在开发一个有两个窗口的应用程序:

  • 窗口 1:渲染直接绘制表面
  • 窗口 2:我想让做纯 OpenGL 调用

我不想在同一个窗口中混合使用 OpenGL 和 DirectDraw。

我从 Open GL 常见问题解答 ( http://www.opengl.org/resources/faq/technical/mswindows.htm ) 中看到,您不能在同一个窗口中混合 API 调用。

所以,我的问题是:一个应用程序可以让一个窗口进行直接绘制而另一个进行 OpenGL 吗?