问题标签 [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.

0 投票
2 回答
725 浏览

opengl - Mesa3D:32 位通道在 OSMesa32 中不起作用

Mesa 3D 声称通过 osmesa32 支持 32 位浮点颜色通道。问题是,浮点数被量化为 8 位!有没有其他人注意到这一点?以下是我用于测试的简短程序。你会看到我用特定的浮点颜色绘制了一个平面(占据整个视图),然后读取第一个像素的颜色:

在绘图代码中,行:

应该给我浮动颜色值。当我阅读颜色时,我得到以下输出:

您会注意到 0.501961 = 128/255,并且 0.568627=145/255(即量化)。

我在我的 Mac 上使用以下配置构建了 Mesa:

0 投票
1 回答
692 浏览

mesa - OpenGL 4.2 标头、Mesa 3D、扩展 - 它是如何组合在一起的?

现在,我很难找到有关 OpenGL 标头和扩展以及如何访问最新功能的信息。OpenGL.org 没有涉及任何这些,Mesa(2006 年更新!)或任何人都没有——但我想我不是唯一一个想要理解这一点的人。

我正在使用 Nvidia 驱动程序在 Archlinux 上开发 - 支持 4.2 - 这显然不附带 OpenGL 头文件(无论如何都不是存储库的头文件)。这就是问题和混乱开始的地方。我读到我应该使用 Mesa3D 标头——目前支持 OpenGL 3.0。这是我现在安装的。

现在,我在某处读到核心 OpenGL 4.2 头文件 - gl.h - 仅公开了 OpenGL 1.2 的功能。其余部分(最高 4.2)可通过扩展加载获得——这意味着即使我针对 4.2 进行开发,这些 3.0 标头也可以——我将加载所有 4.2 核心功能作为扩展。

我在其他地方读到 gl.h 标头确实暴露了 4.2 和 3.0 之间的不同功能 - 我无法验证任何东西,因为我发现了很多过时的文章并且没有可靠的信息。

有人能解释一下这一切是如何结合在一起的吗?

0 投票
1 回答
843 浏览

mesa - 镓 3D 架构中的 winsys 到底是什么?

我发现我无法理解gallium 3D Architecture中的winsys接口。winsys模块是什么?winsys和X server是什么关系?

0 投票
1 回答
8614 浏览

opengl - 通过 SSH 转发加速的 OpenGL GLX

我目前正在将开源 OpenGL 游戏移植到 OpenGL ES。目标设备运行 Linux,CPU 相对较弱(ARM11 系列,带 FPU)。它有一个 OpenGL ES 加速器,但没有一个 OpenGL 加速器。

最初,我希望使用另一台 Linux 机器上的加速 OpenGL 实例来运行现有的 OpenGL-GLX-X11 实现 - 例如,带有 Radeon X1650 Pro 的 Athlon X2。这将有助于验证是否存在需要从高级别解决的严重 CPU 瓶颈。

我设法设置了 X11 连接的 SSH 转发。glxinfo 和 glxgears 程序运行,但与本地运行的 glxgears(60fps 和 vsync)相比,后者的性能非常差(8fps)。glxinfo 报告指出正在使用直接渲染,这告诉我正在使用本地(到 ARM 设备)软件渲染器。

我想要发生的是将 OpenGL 命令发送到 Athlon X2 机器并使用 Radeon 加速。我相信我需要为此打开间接渲染。但是,设置 LIBGL_ALWAYS_INDIRECT=1 不会改变任何东西。例如:

ARM 设备正在运行 Gentoo Linux。强迫我想要发生的事情的最好方法是什么?

0 投票
1 回答
379 浏览

linux - 使用 OpenGL / Mesa3D 编译的便携式 Linux 可执行文件

我一直在阅读使用 OpenGL 进行游戏的跨平台开发。我们正在考虑开发一款可供 Linux 用户使用的游戏。然而,我遇到了一些我不太了解的事情。

如何创建可移植的 linux 可执行文件?具体来说,如何让各种不同版本的 OpenGL / Mesa3D 在一个(或多个)可执行文件中工作(我们不想分发源代码)。

关于 Linux 问题http://www.linuxquestions.org/questions/linux-software-2/hardware-acceleration-using-opengl-and-x11-876634/有人详细介绍了 Mesa3D / OpenGL 的工作原理,但我我很难看到我将如何在我编译的可执行文件中使用每个发行版的 Mesa3D 版本(甚至不确定是否可能)。

据我所知,我需要在每台用户机器上将应用程序的各个部分动态链接在一起,可能是通过使用安装程序?如果是这种情况,我们可以在运行时为 Mesa3D / OpenGL 部分编译程序和链接,就像 OpenGL 的 dll 在 Windows 上可以做的那样吗?

0 投票
0 回答
1890 浏览

opengl - (L)Ubuntu - 找不到 libGL.so 但 OpenGL 工作得很好

我正在尝试创建一个 OpenGL 程序,但我无法链接它,因为我总是收到无法找到 libGL 的链接器错误。我以为它没有安装,所以我安装了所有 Mesa OpenGL 的东西。libgl1-mesa-* 台面-*

我的驱动程序是 xserver-xorg-video-intel。所有安装的 OpenGL 软件都运行良好(linke Xmoto 和 Compitz)。所以我认为可能缺少符号链接。我搜索了 /usr/lib 文件夹,但只找到了 libGLEW.so(没有 libGL.so)。标题在那里。在 /usr/include/GL

然后我试图让 pkg-config 给我 OpenGL 库的路径,但它不会给出任何路径,只是链接器标志 -lGL。而“pkg-config --libs-only-L gl”什么也不返回。

我的 glxinfo 输出是:

如前所述,每个安装的 OpenGL 应用程序都可以工作,但缺少该库。我也找不到“台面”文件夹。

0 投票
1 回答
1681 浏览

opengl - Mesa GLES 或 GL + glext,要使用的标头/库(GLUT、GLEW、GLX)

我正在尝试在 Linux 上将 OpenGL 与 Mesa 库一起使用,但我对实际应该使用的头文件/库组合感到困惑。

GL/gl.h文件不包含任何 OpenGL 3.0+ 函数,例如glCreateProgram. 但是,这些都在GL/glext.h文件中,但前提GL_GLEXT_PROTOTYPES是已定义。这将与GL库相关联。

包括我需要的GLES2/gl2.h所有定义,并且还有一个不同的库GLESv2

Linux 桌面的头文件和库的正确组合是什么?

如果我使用 GLUT、GLEW、GLEX 或 EGL,我还可以添加到此列表中吗?所有这些都是 MESA 的一部分,样本似乎是随机选择的。

0 投票
3 回答
501 浏览

linux - OpenGL Linux 不读取 GL_VERSION

我有一个在 Linux 上使用 SDL 的简单 OpenGL 程序,它只是尝试加载和打印 OpenGL 版本。

当我运行程序时它只是挂起,输出如下......它基本上似乎在“等待”OpenGL库响应:

它与 Nvidia Ubuntu OpenGL 库 (nvidia-current-dev pkg) 链接。我也确实在系统上安装了 Mesa,但正如您从“lsof”中看到的,它似乎正在使用 Nvidia。

请注意,我确实必须安装“libglu1-mesa-dev”来提供 glu.h,因为这不是 Nvidia dev pkg 的一部分。

不太确定如何调试这个,有人可以指出我正确的方向吗?

0 投票
3 回答
10798 浏览

opengl - Mesa 与 OpenGL 驱动程序有何不同?

说 Mesa 是 OpenGL 的实现到底是什么意思?我的Nvidia卡的驱动程序没有实现所有的OpenGL功能等吗?因此,鉴于我的 Nvidia 卡的驱动程序正在接受 Opengl 调用并将它们交给硬件,Mesa 究竟做了什么?有人可以澄清 Mesa 和驱动程序之间的区别吗?

0 投票
1 回答
562 浏览

c - 强制opengl 3.x的软件实现

首先我想说我试过LIBGL_ALWAYS_SOFTWARE=1 ./myapp但没有帮助

我安装了 gentoo、mesa 9.0、ATI X800 (R420)(仅支持 OpenGL 2.0)

我想强制软件实现。OpenGL 3.x 和相应的 GLSL,是否可以这样做?

我使用 glfw 和 glew。

这导致我无法glfwOpenWindow获得 OpenGL 2.x 并且没有提示