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

opengl - 将 Z 轴与矢量对齐的最简单方法是什么?

给定一个点,例如 (0, 0, 0) 和一个向量,例如 (x, y, z)。对齐以 (0, 0, 0) 为中心的负 Z 轴以指向该向量的方向的最简单方法是什么?欢迎使用 OpenGL 的示例,但不是必需的。

0 投票
2 回答
1433 浏览

linux - 以编程方式将击键发送到 GLUT 应用程序

我在我的 linux 机器上运行了一个 OpenGL/GLUT 程序,它可以从各个角度查看 3D 模型并可以截取屏幕截图,并且一切都由键盘控制。我想编写一个以特定方式在模型周围移动的脚本,在每一步都截取屏幕截图。在 Linux 中似乎应该有一种简单的方法可以从脚本向该应用程序发送击键。有谁知道怎么做?

0 投票
3 回答
4673 浏览

c# - C# 中的 wglCreateContext 失败但在托管 C++ 中没有

我正在尝试在 C# 中使用 opengl。我有以下代码失败并出现错误 2000 ERROR_INVALID_PIXEL_FORMAT
第一个定义:

现在失败的代码:

托管 C++ 中的相同代码正在运行

我已经在带有 ATI 显卡的 VIsta 64 位和带有 Nvidia 的 Windows XP 32 位上进行了尝试,两种情况下的结果都相同。
另外我想提一下,我不想使用任何已经编写好的框架。

谁能告诉我导致异常的 C# 代码中的错误在哪里?

0 投票
2 回答
11067 浏览

c++ - openGL 子纹理

我有图像数据,我想获取它的子图像以用作 opengl 纹理。

如何获取加载为纹理的该图像的子图像。我认为它与使用 glTexSubImage2D 有关,但我不知道如何使用它来创建可以加载的新纹理。来电:

我什么都看不到,调用 glCopyTexSubImage2D 只占用了我的帧缓冲区的一部分。谢谢

0 投票
2 回答
649 浏览

opengl - vista下opengl问题

我刚开始使用opengl,但遇到了一些奇怪的行为。

下面我发布了在 xp 中运行良好的代码,但在 vista 上它只呈现黑屏。

很抱歉发布不寻常的(至于这个板)长代码。

在vista中打开gl有什么特别的吗?谢谢。

0 投票
1 回答
9227 浏览

performance - OpenGL:快速离屏渲染

我需要使用 OpenGL 在屏幕外渲染很多(数万)图像。
我在 Windows 下运行并使用 QT 作为框架。解决方案只能是windows,这并不重要。

从我使用谷歌发现的情况来看,有很多选项可以做到这 一点这篇文章似乎相当过时,提出了一些方法,其中相关的方法是:

  • 特定于 Windows - 使用CreateDIBSection并以某种方式将纹理绑定到它。
  • 使用我的卡上似乎支持的 pbuffers 扩展。

该线程(消息 6)建议使用 QT 特定的方式来执行此操作QGLWidget::renderPixmap

我的问题是——哪一个是最快的方式?pbuffers 似乎是最安全的选择,因为它保证在硬件上执行但不是使用 CreateDIB 方法也通过硬件?QT方法呢?这似乎存在一些上下文创建问题。当然,我不想为我创建的每个图像创建一个新的上下文。
有没有人对此有一些好的经验?


编辑:回答评论 -
我有一个不变的场景,根本没有改变,我从许多不同的角度渲染它。现在,图像会返回给用户并由 CPU 处理。将来它们可能会在 GPU 上进行处理。

0 投票
1 回答
3031 浏览

opengl - 使用gldrawpixels的opengl旋转

我的团队目前仅限于在opengl 1.4平台上绘制图像,这意味着我们不能使用任何漂亮的纹理映射来绘制图像(是的,我们仅限于使用intel集成图形平台,这很烦人)。到目前为止,我们能够绘制、缩放和翻转图像,但是做图形的人声称在使用 glDrawPixels 时无法通过 glRotate 进行旋转,我们必须使用纹理等等,这在英特尔平台上不起作用。

我和他打赌午餐有一个旋转功能,比如 glRotate,它适用于直接位图。有这样的功能吗?glRotate 会起作用吗?我对这个图形的东西有点新手,但是库不允许位图旋转,除非通过纹理旋转,这似乎很可笑。

谢谢。

0 投票
3 回答
2880 浏览

opengl - 具有多个显示上下文的 OpenGL 纹理

我有一个未定义数量的显示上下文,每个都会显示一个纹理。当我调用 glGenTextures 时,我会在所有显示上下文中返回相同的名称。这行得通吗?即使它们具有相同的名称,它们仍然会存储和显示不同的纹理吗?如果不是,应该怎么做才能解决这个问题?

0 投票
3 回答
3891 浏览

opengl - 在opengl中对纹理进行颜色映射

我正在显示一个我想在不影响图像数据的情况下操作的纹理。我希望能够钳制纹素值,以便低于下限值的任何值变为 0,高于上限值的任何值变为 0,并且介于两者之间的任何值都从 0 线性映射到 1。

最初,为了显示我的图像,我使用了 glDrawPixels。为了解决上述问题,我将使用 glPixelMap 创建一个颜色图。这很好用。但是,出于性能原因,我已经开始使用纹理来显示我的图像。glPixelMap 方法似乎不再有效。好吧,这种方法可能有效,但我无法让它发挥作用。

然后我尝试使用 glPixelTransfer 设置比例和偏差'。这似乎在第一次通过时产生了某种效果(不一定是所需的),但是当改变上限和下限约束时,看不到任何效果。

然后我被告知片段着色器可以工作。但是在调用 glGetString(GL_EXTENSIONS) 之后,我发现不支持 GL_ARB_fragment_shader。另外,调用 glCreateShaderObjectARB 会导致 nullreferenceexception。

所以现在我很茫然。我该怎么办?请帮忙。


我愿意尝试任何可能有效的方法。供应商是英特尔,渲染器是英特尔 945G。不幸的是,我仅限于集成在主板上的显卡,并且只有 gl 1.4。

感谢您迄今为止的回复。

0 投票
1 回答
1586 浏览

iphone - 从 OpenGL 视图显示视图控制器

我创建了一个基于 OpenGL 视图的 iPhone 应用程序。现在我想展示一个“设置”表单。由于我的代码在 UIView 中运行,因此我没有 pushViewController。如何在屏幕上显示视图控制器?

谢谢!