问题标签 [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 回答
19293 浏览

c++ - OpenGL 编码(尤其是 wrt 面向对象)有哪些最佳实践?

这个学期,我在大学修了一门计算机图形学课程。目前,我们开始研究一些更高级的东西,比如高度图、平均法线、曲面细分等。

我来自面向对象的背景,所以我试图将我们所做的一切都放入可重用的类中。我在创建相机类方面取得了很大的成功,因为它主要取决于对 gluLookAt() 的一次调用,它几乎独立于 OpenGL 状态机的其余部分。

但是,我在其他方面遇到了一些麻烦。使用对象来表示基元对我来说并不是真正的成功。这是因为实际的渲染调用依赖于许多外部事物,例如当前绑定的纹理等。如果您突然想从特定类的表面法线更改为顶点法线,则会导致严重的头痛。

我开始怀疑 OO 原则是否适用于 OpenGL 编码。至少,我认为我应该让我的课程不那么细化。

堆栈溢出社区对此有何看法?OpenGL 编码的最佳实践是什么?

0 投票
3 回答
2539 浏览

java - 我在哪里可以找到 LWJGL 的示例用法?

我在 lwjgl.org 上看过官方演示,但我希望看到更多教程级别的示例。

0 投票
9 回答
4530 浏览

java - 使用 Java 和 OpenGL 绘制 3D 树的方法有哪些?

我知道如何使用 JOGL 或 LWJGL 绘制基本对象以连接到 OpenGL。我想要的是可以为树生成某种几何图形的东西,类似于 SpeedTree 的著名之处。显然,我不期望与 SpeedTree 具有相同的质量。

我希望树木看起来不重复。速度不是问题,我不希望屏幕上一次需要超过 100 棵树。

Java 中有免费的树形图库吗?还是示例代码或演示?有什么其他语言可以移植或学习的吗?

0 投票
3 回答
2144 浏览

c++ - Open GL 中的纹理采样

我需要从纹理中获取特定坐标处的颜色。有两种方法可以做到这一点,通过获取和查看原始 png 数据,或者通过对我生成的 opengl 纹理进行采样。是否可以对 opengl 纹理进行采样以获得给定 UV 或 XY 坐标的颜色(RGBA)?如果是这样,怎么做?

0 投票
1 回答
226 浏览

opengl - GLUT:有什么方法可以在事件循环中添加“文件可读”挂钩?

我想打开一个套接字并在 GLUT 事件循环上挂起一个可读事件......关于如何做到这一点的任何想法?可移植的标准 GLUT 代码是最好的,但我也对特定于平台的 hack 持开放态度。

谢谢!

0 投票
6 回答
33995 浏览

opengl - 在 openGL 中,如何让项目向后拉到前面?

默认情况下,对象似乎是从前到后绘制的。我正在绘制一个 2-D UI 对象,并希望从前创建它。例如,我可以先创建一个白色方块,然后在其顶部创建一个稍小的黑色方块,从而创建一个带有白色边框的黑色窗格。 这篇文章对此进行了一些讨论,并将此顺序描述为“画家算法”,但最终他们给出的示例只是简单地以相反的顺序渲染对象以获得所需的效果。我想从前到后(第一个对象在后面,后续对象在顶部绘制)渲染可以通过一些转换来实现(gOrtho?)?

我还会提到,我对使用 GLUT 等包装库的解决方案不感兴趣。

我还发现,使用 Cocoa NSOpenGLView 在 Mac 上的默认行为似乎会向后拉,而在 Windows 中我无法获得这种行为。我正在使用的 Windows 中的设置代码是这样的:

0 投票
4 回答
3799 浏览

c++ - glBlendFunc 和 alpha 混合

我想知道 glBlendFunc 是如何工作的。例如,我有 2 个 gl 纹理,其中 alpha 在 tex1 上,我想在我的最终图像中使用 alpha。颜色在 tex1 上的地方,我想要 tex2 的颜色。

0 投票
2 回答
803 浏览

opengl - 将 pbuffer 与 GLUT 一起使用?

我一直在网上搜索一个代码示例,该示例显示如何将 pbuffer 与 GLUT 一起使用,但我找不到任何东西......

我对 pbuffer 和渲染窗口之间的上下文切换感到困惑。我想我将不得不使用 glutSetWindow 在两个渲染表面之间切换,但我不太确定细节。

有人可以解释我如何使用 GLUT 的 pbuffer 吗?

0 投票
16 回答
9684 浏览

opengl - 简单的 3D 图形项目?

我正在为一个简单的 3d 图形程序寻找一些好的想法,作为我计算机图形课程介绍的最终项目。至于一些背景信息,我们将使用 opengl 并且将有一个多月的时间来研究它,所以没什么太牵强的。看起来越简单和“漂亮”越好。但是,它确实需要某种用户可以与之交互的界面(因此非常简单的游戏或类似游戏是个好主意)并且必须是 3D 的。

到目前为止,我唯一的想法可能是 3D 版本的俄罗斯方块(谷歌的一些例子)。

编辑:我最终选择了 3D 俄罗斯方块。在不到一个月的时间里,你可以在这里看到我想出的东西

0 投票
5 回答
2604 浏览

opengl - 简单的线框格式?

我正在寻找一种用于线框模型的简单文件格式。我知道 VRML、u3D 等,但这些对于我的需求来说似乎很重要。我的标准是:

  • 必须有明确的规范。无论是开放的还是非常完善的/记录在案的。
  • 我只需要(想要)简单的模型——顶点和边。我不想处理面孔或物体。如果格式支持更多,那很好,只要我可以忽略它们。
  • 最终用户工具不是必需的,但会很棒。如果不是,它必须是人类可读的(并且对于简单模型是可编辑的)。
  • 能够注释或至少标记节点会很好(但不是必需的)。
  • 我使用什么语言并不重要,但可能的选项是 Java/C++ 和 OpenGL

还是我只是更好地将顶点/边缘列表写入文本文件并完成它?