问题标签 [mesa]
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.
opengl - VxWorks 5.5 上的硬件加速 OpenGL
我需要在 VxWorks5.5 平台上进行硬件加速的 OpenGL 渲染。经过几天的谷歌搜索,我对以下问题感到困惑:
单机 Mesa3D 只能在 VxWorks 上做软件渲染?(前提是我把 Mesa3D 移植到 VxWorks 上)
Mesa3d 结合 DRI 可以在 VxWorks 上做硬件加速渲染吗?如果是这样,除了 Mesa3d+DRI 之外,我还需要额外的 OpenGL 硬件驱动程序吗?(Mesa 只提供 gl API,而 DRI 是实现具体硬件渲染的,对吗?)
是否有任何商业解决方案?
opengl - Windows 中的 OpenGL
- Windows 只提供了 GL v1.1 ;如何下载最新版本的 OpenGL 二进制文件 (+hearders) 以开始在 Windows 中编码,以及在哪里可以找到它们?
- 哪个版本的 OpenGL 是所有三个 MacOS、Linux 和 Windows 平台完全支持的最新版本?
visual-studio - 以编程方式为 MESA 软件渲染器切换 dll
我想将命令行选项添加到我的应用程序中,该选项会切换到子文件夹(例如)--software-rendering
中的 MESA opengl32.dll 。mesa\opengl32.dll
如何以编程方式切换到此 dll?
到目前为止,我知道当我将 opengl32.dll 移动到我的主文件夹时,渲染使用这个,但我希望根据命令行选项加载它
opengl - 为什么 glDrawArrays 在 Intel Mesa 10.3 上失败,同时使用 OpenGL 3.3 与 nVidia 一起工作
我正在尝试在 Intel GPU 上运行Piccante图像处理库。该库使用 OpenGL 着色器在图像上应用过滤器。该库根据其文档使用 OpenGL 4.0,因此我必须进行一些小修改才能使其在 Intel Mesa 10.3 驱动程序支持的 OpenGL 3.3 上下文中运行。
创建着色器时,我更改了以下行(在 buffer_op.hpp 中):
在此修改之后,我的程序在 nVidia GPU 上仍然可以正常工作,即使将 OpenGL 上下文初始化为 OpenGL 3.3(核心配置文件)。
在英特尔 GPU 上,该程序部分工作。只要图像是单通道的,它似乎就可以正常工作。当图像是 RGB 时,绘图现在更有效,我的图像最终变成黑色。
我已将错误追溯到(quad.hpp)中的以下行:
这是 Vertex Array Object 和 Vertex Buffer Object 的初始化:
这是我正在尝试运行的生成片段着色器:
我检查了顶点着色器和片段着色器是否成功编译和链接。这是否意味着着色器应该与 GLSL 3.3 兼容并且问题不在着色器内,而是在其他地方?
什么可能导致程序在 RGB 图像上失败,而它在单通道图像上运行良好?
当上下文在两者上都被初始化为 OpenGL 3.3 时,什么可能导致程序在 Intel Mesa 10.3 驱动程序上失败,而在 nVidia 驱动程序上正常工作?
渲染时似乎有很多原因可能导致GL_INVALID_OPERATION 。为了追查错误,我还可以检查哪些其他内容?
非常感谢您的帮助!
opengl - 使用 Mesa OpenGL 获取带有模板缓冲区的像素格式/上下文
我需要更改一个非常旧的应用程序才能通过远程桌面连接工作(它只支持 opengl 1.1 的子集)。它只需要各种 opengl 1.x 函数,所以我尝试使用在应用程序文件夹中放置 mesa opengl32.dll 文件的技巧。该应用程序仅少量使用 opengl,因此可以使用低性能软件渲染器。
无论如何,我从https://wiki.qt.io/Cross_compiling_Mesa_for_Windows获得了一个预编译的 mesa opengl32.dll 文件,但我无法获得启用模板缓冲区的像素格式/上下文。如果我禁用模板缓冲区使用,那么其他一切都可以正常工作,但如果我能弄清楚如何在启用模板缓冲区的情况下获得像素格式/上下文,那将是最好的。
这是上下文创建代码的 pixelformat 部分:
错误发生在 (pfd.cStencilBits>pfd2.cStencilBits) 行,我似乎无法通过 mesa 找到 cStencilBits 不为 0 的像素格式,因此我无法获得支持模板的上下文。
ubuntu - OpenGL 不支持带有英特尔 4000 图形和 Mesa 11 的 GLSL 3.30
您好,我在 Ubuntu 15.04 上使用英特尔笔记本电脑(i5-3317U -> HD 4000)编译着色器时遇到了一些问题
来自的日志信息glGetShaderInfoLog
说
根据 mesa 11,我应该能够运行 3.30 (www.mesa3d.org/shading.html),并且据我了解,我的系统应该能够处理这些着色器。
那么有人知道问题可能是什么吗?是时候换个新系统了吗??
顺便说一句,如果它有助于glxinfo | grep OpenGL
在我的系统上运行的结果是
opengl - OpenGL:Mesa3D:如何禁用抖动、动画等以加速静态渲染?
我正在使用 Mesa3d opengl 库并仅使用 SW 渲染器。是否可以修改 Mesa3D 库源以禁用所有动画、阴影、抖动等,以最大限度地提高显示静态图像的性能?我正在尝试使用一个应用程序,我希望禁用它的所有动态 2D/3D 效果(例如动画、滑动等)并使其运行得更快并优化它以显示静态图像。
我该怎么做呢?
linux - 强制现有的 OpenGL 应用程序在无头机器上渲染屏幕外
我想为视频游戏的自动渲染测试创建一个框架。
我想测试一个通常使用 OpenGL 渲染到窗口的应用程序。相反,我希望它渲染成图像文件以供进一步评估。我想在没有 GPU 的 Linux 服务器上执行此操作。
我怎样才能在对评估的应用程序影响最小的情况下做到这一点?
为了清楚起见,一些注释:
- OpenGL 版本是 2.1,因此应该可以使用 Mesa 进行软件渲染。
- 最好,我不想更改任何应用程序代码。如果有一个解决方案可以让我模拟 X 服务器或类似的东西,我会更喜欢它。
- 我不想更改任何渲染代码。如果真的有必要,我可以改变我初始化 OpenGL 的方式,但在那之后,我想执行任意的 OpenGL 代码。
理想情况下,您的答案将解释如何在无头 Linux 服务器上设置环境,该服务器允许我启动任意 OpenGL 二进制文件并将其输出呈现为图像。如果那不可能,我愿意接受任何建议。
ubuntu - apt-get 无法安装“libgl1-mesa-dev-lts-vivid”依赖项
我正在尝试使用 apt-get 在 ubuntu 14.04 LTS 上安装“libgl1-mesa-dev-lts-vivid”,但我收到以下错误消息:
我尝试单独安装每个列出的软件包,而 apt-get 只抱怨 mesa-common-dev-lts-vivid。当我尝试手动安装那个时,我得到:
我已经运行了 apt-get update 和 upgrade。我在几乎全新安装的 ubuntu 14.04 LTS 上运行,只安装了一些 nvidia 图形驱动程序和另一个图形程序。我还在所有涉及的软件包上运行了 apt-show-versions:
它们似乎都是安装的有效版本
opengl - 如何使用 CMake 在 Ubuntu 中查找和链接 OpenGL(mesa) 包
我是CMake和OpenGL的新手。我现在需要在我的 Ubuntu 15.04 64 位 PC 上的项目中使用OpenGL作为库,该 PC 由CMake 3.0.2构建。
我已经为此工作了几天,几乎感到沮丧。我对一堆问题感到困惑。
台面和 OpenGL
首先,我用 command 安装了mesa包sudo apt-get install mesa-common-dev
,得到mesa 10.5.2。
然后我浏览包文件dpkg -L mesa-common-dev
:
问题 1:共享库 (.so) 和静态库 (.a) 在哪里?
制作
我现在有一个CMakeLists.txt
名为 OpenGL 的模块OPENGL
所以我肯定需要一个 cmake 文件,比如说FindOPENGL.cmake
,像这样(以GLEW
的 cmake 文件为模板):
问题 2:如何在 cmake 文件中链接静态库和共享库,第 17/23/29 行有什么区别?
然后我运行 cmake 并得到以下错误:
问题 3:我怎么会收到这个错误,我该如何解决?我在整个过程中做错了吗?
更新
感谢@usr1234567 的回答,然后我删除我的FindOPENGL.cmake
并尝试使用/usr/share/cmake-3.0/Modules/FindOpenGL.cmake。我仍然得到错误missing: OPENGL_gl_LIBRARY
。我查看这个 cmake 文件中的定义OPENGL_gl_LIBRARY
,并手动检查其中的 lib 路径,不幸的是,列出的路径都不存在。
我是否正确安装了台面?