问题标签 [glx]

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 投票
1 回答
2524 浏览

opengl - OpenGL超级采样抗锯齿?

在办公室,我们正在使用旧的 GLX/Motif 软件,该软件使用 OpenGL 的 AccumulationBuffer 来实现用于保存图像的抗锯齿。我们的问题是 Apple 从其所有驱动程序中删除了 AccumulationBuffer(从 OS X 10.7.5 开始),并且一些 Linux 驱动程序(如 Intel HDxxxx)也不支持它。

然后我想更新软件的抗锯齿代码,使其与大多数实际的操作系统和 GPU 兼容,但保持生成的图像和以前一样漂亮(因为我们需要它们用于科学出版物)。

SuperSampling 似乎是最古老、质量最好的抗锯齿方法,但我找不到任何不使用 AccumulationBuffer 的 SSAA 示例。有没有不同的方法来使用 OpenGL/GLX 实现 SuperSampling ???

0 投票
1 回答
258 浏览

c++ - Apache2 模块中的无窗口 OpenGL 上下文

我正在尝试开发一个 Apache2 模块,该模块利用 OpenGL 执行屏幕外渲染并动态生成图像,然后我可以将其发送回客户端。

Apache2 在 Ubuntu 12.04 机器上运行,我创建了一个测试模块,它渲染一个四边形并使用 OpenGL/GLX 将帧作为图像存储到磁盘。但是当模块收到客户端请求时,它会XOpenDisplay(0)因分段错误而崩溃。有什么想法可能会出错吗?

编辑: 我见过的所有例子都在谈论使用像素缓冲区(PBuffer)。据我所知,这些已被弃用,应该使用 FBO。有人可以解释如何创建上下文并使用 FBO 执行屏幕外渲染吗?

0 投票
1 回答
10509 浏览

opengl - OpenGL 代码未运行:显示器不支持 OpenGL GLX 扩展

我必须运行一个代码,它包括库 GL/glut.h 和 GL/glew.h。通过以下指令,代码编译得很好:

但是当我运行它时,我收到以下错误:

相同的代码在我的另一个系统上确实有效,它突然崩溃甚至无法启动,所以我必须在这个系统上完成它。

$ glxinfo 的输出是:

此外,$ lspci 的输出是:

请帮帮我,我认为 nvidia 显示驱动程序没有正确安装,但我无法解决这个问题。我也安装了 CUDA。

0 投票
1 回答
2374 浏览

opengl - OpenGL + GLUT over SSH 段错误

我正在尝试通过带有 X 转发的 SSH 运行 OpenGL+GLUT 程序。该程序提供以下错误,然后是段错误。

Xlib:显示“localhost:10.0”上缺少扩展名“NV-GLX”。

这似乎是因为我的“服务器”计算机有一个 nvidia 卡,然后当客户端没有 nvidia 卡时,它告诉我的客户端计算机使用这些 nvidia 特定的渲染功能。当然,我用谷歌搜索了这个,发现很多其他人也有类似的问题;但是,我真正看到的唯一建议是(https://superuser.com/questions/196838/opengl-program-not-work-with-x-forwarding)尝试

这没有用。我不关心硬件加速/通过 ssh 连接保持良好的性能。我只想获得窗口渲染。

0 投票
1 回答
1101 浏览

opengl - 为什么 glXChooseFBConfig 对于 nvidia 总是 NULL

下面是我正在玩的 Vala 程序的一些代码。它在 Ubuntu 12.04 ATI 机器上运行良好,但是当我切换到运行相同操作系统的 Nvidia (8400M GS) 机器时,我得到零 fbConfigs,并且从 glXChooseFBConfig 返回 null。

为什么会发生这种情况?这是获取 FB 配置和 VisualInfo 以使用 GLX 创建 OpenGL 上下文的最佳方式,还是我应该采用不同的方式?

代码

GLX 信息

0 投票
1 回答
790 浏览

opengl - ssh到远程计算机时不同的opengl版本

我无法通过 ssh 运行 opengl(3.3) 程序。

当我运行时:

在我自己的计算机(ubuntu 12.04)上,我得到:

当我 ssh 到远程计算机(ubuntu 10.04)并运行相同的命令时,我得到:

出于某种原因,当我连接到远程计算机时,我没有获得更新版本的 opengl(3.3)。是否有不需要远程计算机管理员权限来解决这个问题的方法?

0 投票
1 回答
470 浏览

opengl - 将 glxMakeContextCurrent 转换为 Windows

我有一些为 Linux 编写的代码,我需要重新实现这些代码,以便它可以在 Windows 和 Linux 上运行。它目前是 X-Windows、GLX 和 OpenGL 2.1,我正在使用 SDL2 和使用 GLEW 的兼容 OpenGL 扩展(它仍在旧的(Centos 5.3)Linux 平台以及带有 6 年旧显卡的最新 Windows 上运行)。

我被困在如何替换 glXMakeContextCurrent 上。这当前用于选择读取和绘制像素缓冲区 (GLXPbuffer) 并与上下文关联。我一直在研究使用像素缓冲区对象来替换 GLXPbuffers 但不知道如何使用此类技术复制 glXMakeContextCurrent 的功能,或者是否有更好的方法来做到这一点。

现有代码对其进行设置,使其呈现为 GLXPbuffer,然后使用 glCopyPixels 使用指定的上下文从一个可绘制对象(一个 GLXPbuffer)复制到另一个(另一个 GLXPbuffer),并在 glXMakeContextCurrent 调用中指定 Draw 和 Read Drawables 和 Context . 这是一个主要是 2D 的 OpenGL 应用程序。

在不使用 GLX 的情况下如何实现这一点,即它可以在 Windows(以及 Linux)上运行?

这是一个代码段,显示了当前代码的作用:

0 投票
1 回答
537 浏览

opengl - 将 OpenGL (libGL.so) 与 EGL 上下文一起使用

据我所知,GLES (libGLES) 可以在 EGL 上下文中工作,而 OpenGL (libGL.so) 可以在 GLX 上下文中工作。

是否可以在带有 EGL 上下文的 libGL.so 中使用 openGL 函数?

或者有什么理论上或实践上的理由表明这不能不费力气就做到吗?

我正在考虑使用英特尔高清显卡,因此我可以使用 MESA 源代码构建 libGL.so 和 libEGL。

0 投票
1 回答
363 浏览

c++ - glxCreateContextAttribsARB 和 OpenGL 函数在 Linux 上的动态加载

我需要在 linux 系统上动态加载 openGL 函数。问题是,当我尝试创建 gl 上下文时 glXCreateContextAttribsARB 失败并且程序回退到使用 OGL 1.4。它应该在 OGL 4.4 上。如果我只是使用共享库并进行常规链接,则代码可以完美运行。因此,使用我没有看到的动态加载的库存在一些问题。这些函数正在使用 dlopen/dlsym 加载,并且没有报告错误。我尝试使用 glxGetProcAddressARB 加载 glXCreateContextAttribsARB ,但没有任何区别。我难住了。有什么建议么?

Ubuntu 12.04LTS/GLX 1.4/OGL 4.4/Nvidia 331.62

0 投票
1 回答
427 浏览

c++ - OpenGL 3/GLFW 空白视口

我正在浏览http://www.open.gl上的第二个“章节”,遇到了一个我无法弄清楚的绘图问题。

顶点着色器:

片段着色器:

编译时使用

我没有收到任何警告,但程序运行时出现空白屏幕。我检查了他链接的示例代码以及示例源的github 副本。不幸的是,他使用的是 SFML,而我使用的是 GLFW,所以我试图弥补这种差异。

我尽力模仿他的示例代码(事物的顺序等),并在最后几行main()和主循环中添加(在教程中没有提到删除着色器或清除视口的颜色,但是那些语句存在于他的示例代码中)但仍然得到相同的结果。检查glGetError()给了我一个无效的枚举错误,但这篇文章说这可能是glewExperimental.

在那之后,我不确定如何进一步隔离这个问题。我期待有人指出这显然是一个简单的错误。=)