标签: mesa

带有 osmesa 的 OpenGL ES 2.0

我正在尝试使用 osmesa(屏幕外台面)创建 OpenGL 上下文。我希望在没有窗口的情况下使用 mesa 的软件实现并将渲染输出保存到 png 文件。

http://www.mesa3d.org/osmesa.html

我使用以下内容创建了一个 GL 上下文:

OSMesaContext context = OSMesaCreateContext(GL_RGBA, NULL);
OSMesaMakeCurrent(context, buffer, GL_UNSIGNED_BYTE, width, height);
Run Code Online (Sandbox Code Playgroud)

但是,当我调用glGetString(GL_VERSION)版本是2.1 Mesa 10.1.1. 正如预期的那样,我的 GLSL ES 着色器都没有编译。使用 SDL 时,我可以提供版本提示并创建 GLES 2.0 上下文。

如何指定由 osmesa 创建的 GL 上下文的版本?

opengl opengl-es mesa

6
推荐指数
1
解决办法
1289
查看次数

如何使用 CMake 在 Ubuntu 中查找和链接 OpenGL(mesa) 包

我是CMakeOpenGL 的新手。我现在需要在我的 Ubuntu 15.04 64 位 PC 上的项目中使用OpenGL作为库,该 PC 由CMake 3.0.2构建。

我已经为此工作了几天,几乎感到沮丧。我对一堆问题感到困惑。


台面和 OpenGL

首先,我使用 command安装了mesasudo apt-get install mesa-common-dev,这让我得到了mesa 10.5.2

然后我浏览包文件dpkg -L mesa-common-dev

/.
/usr
/usr/share
/usr/share/bug
...
/usr/share/bug/mesa-common-dev/control

/usr/share/doc
...
/usr/share/doc/mesa-common-dev/faq.html

/usr/lib
/usr/lib/x86_64-linux-gnu
/usr/lib/x86_64-linux-gnu/pkgconfig
/usr/lib/x86_64-linux-gnu/pkgconfig/dri.pc

/usr/include
/usr/include/GL
/usr/include/GL/gl.h
...
/usr/include/GL/glx_mangle.h
Run Code Online (Sandbox Code Playgroud)

问题 1:共享库 (.so) 和静态库 (.a) 在哪里?


制作

我现在有一个CMakeLists.txt, 名为 OpenGL 模块OPENGL

...
find_package(OPENGL REQUIRED)  # here is CMakeLists.txt:45
... …
Run Code Online (Sandbox Code Playgroud)

opengl cmake mesa

6
推荐指数
1
解决办法
1万
查看次数

openGL MSAA 在带有 nouveau 驱动程序的 linux 上不起作用

最近我尝试在 Linux 下使用 MSAA(多样本抗锯齿)。结果令人惊讶:对于 Nvidia 专有驱动程序,一切都像魅力一样工作,但是对于 nouveau 驱动程序,它不起作用。奇怪的是,glxingo 说支持 GLX_ARB_multisample 并且我能够在 GLX_SAMPLE_BUFFERS 设置为 1 和 GLX_SAMPLES 设置为 4(或 8)的情况下获得适当的 FBConfig。但是在渲染时,图片没有应用抗锯齿。我的项目和 freeglut 都存在这个问题,所以我将提供一个基于 glut 的小程序来演示这个问题:

/*
 * Test multisampling and polygon smoothing.
 *
 * Brian Paul
 * 4 November 2002
 */

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <GL/glut.h>


static GLfloat Zrot = 0;
static GLboolean Anim = GL_TRUE;
static GLboolean HaveMultisample = GL_TRUE;
static GLboolean DoMultisample = GL_TRUE;


static void
PrintString(const char *s)
{
   while (*s) {
      glutBitmapCharacter(GLUT_BITMAP_8_BY_13, (int) *s); …
Run Code Online (Sandbox Code Playgroud)

linux opengl antialiasing mesa msaa

5
推荐指数
1
解决办法
1465
查看次数

跳过不兼容的libGL.so

我已经在我的电脑上新安装了Fedora 19 x86_64.我写了一个简单的OpenGL程序,但未能编译它.

    gcc -o quad quad.c -lX11 -lGL -lGLU
    /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-redhat-linux/4.8.1/../..        /../libGL.so when searching for -lGL
    /usr/bin/ld: skipping incompatible /lib/libGL.so when searching for -lGL
    /usr/bin/ld: skipping incompatible /usr/lib/libGL.so when searching for -lGL
    /usr/bin/ld: cannot find -lGL
    collect2: error: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)

我有MesaGL和其他库(即/ usr/lib)然后出了什么问题?

linux mesa

5
推荐指数
2
解决办法
9073
查看次数

构建Mesa for windows 7. Mesa 9.1

我在Mesa网站的编译/安装页面上完成了所有步骤,并阅读了常见问题解答.您发送给scons进行编译的最终命令会在python脚本中引发错误.这是我的输出.我究竟做错了什么?如果有人使用最新的台面和mingw或VS2012编译了dsa用于台面,那么请分享!

这是我的输出,我没有在很长一段时间内编写python,但看起来地图/字典不包含键/值对.

C:\Downloads\MesaLib-9.1.5\Mesa-9.1.5>scons platform=windows toolchain=crossming
w machine=x86_64 mesagdi libgl-gdi

scons: Reading SConscript files ...
KeyError: 'CCVERSION':
  File "C:\Downloads\MesaLib-9.1.5\Mesa-9.1.5\SConstruct", line 40:
    ENV = os.environ,
  File "C:\Python27\scons-2.3.0\SCons\Environment.py", line 1002:
    apply_tools(self, tools, toolpath)
  File "C:\Python27\scons-2.3.0\SCons\Environment.py", line 106:
    env.Tool(tool)
  File "C:\Python27\scons-2.3.0\SCons\Environment.py", line 1786:
    tool(self)
  File "C:\Python27\scons-2.3.0\SCons\Tool\__init__.py", line 183:
    self.generate(env, *args, **kw)
  File "C:\Downloads\MesaLib-9.1.5\Mesa-9.1.5\scons\gallium.py", line 313:
    ccversion = env['CCVERSION']
  File "C:\Python27\scons-2.3.0\SCons\Environment.py", line 412:
    return self._dict[key]
Run Code Online (Sandbox Code Playgroud)

c python opengl mesa

5
推荐指数
1
解决办法
7048
查看次数

为Mac OS X 10.8编译Mesa以获取不受支持的GPU

是否可以为“山狮”编译Mesa。我的Intel HD Graphics 2000 Mobile不被支持,如果我将驱动程序(kext)移回/ System / Library / Extensions /,则我的卡在灰屏上,则OpenGL加速不起作用。我正在考虑使用Mesa代替Mac OS X内置的OpenGL。是否可以通过某种方式进行编译?

opengl macos mesa osx-mountain-lion

5
推荐指数
1
解决办法
2903
查看次数

如何强制chrome使用mesa软件驱动程序的webgl

我想强制chrome使用软件驱动程序而不是硬件来渲染WebGL.

我正在使用Ubuntu Linux,我知道在启动程序时,可以通过指定环境变量LIBGL_ALWAYS_SOFTWARE = 1来强制使用Mesa GL驱动程序.我确认在指定env var时驱动程序发生了变化.

bash$ glxinfo | grep -i "opengl"
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) 945GM x86/MMX/SSE2
OpenGL version string: 1.4 Mesa 10.1.3
OpenGL extensions:

bash$ LIBGL_ALWAYS_SOFTWARE=1 glxinfo | grep -i "opengl"
OpenGL vendor string: VMware, Inc.
OpenGL renderer string: Gallium 0.4 on llvmpipe (LLVM 3.4, 128 bits)
OpenGL version string: 2.1 Mesa 10.1.3
OpenGL shading language version string: 1.30
OpenGL extensions:
Run Code Online (Sandbox Code Playgroud)

默认的GL驱动程序提供OpenGL 1.4支持,软件驱动程序提供OpenGL 2.1支持.

我追踪桌面启动器所在的位置(/ …

ubuntu google-chrome webgl mesa

5
推荐指数
1
解决办法
5336
查看次数

如何将 ffmpeg 与 gltransition 集成?

我想用 GLTransition 过滤器构建 FFMPEG。我按照此链接中的构建说明进行操作

我还安装了 FFMPEG 构建(GLU 和 GLEW 库)的所有依赖项,并使用 EGL 配置它。

我配置的命令是:

./configure --extra-libs='-lGLEW -lEGL' --enable-filter=gltransition --disable-x86asm
Run Code Online (Sandbox Code Playgroud)

执行此命令后,Enabled Filter 日志中会出现 GLTransition 过滤器。我已经使用命令检查了 GLTransition 过滤器:

./ffmpeg -v 0 -filters | grep gltransition  
Run Code Online (Sandbox Code Playgroud)

但它什么也没显示。

然后还使用下面的 ffmpeg 命令进行交叉检查:

./ffmpeg -i media/0.mp4 -i media/1.mp4 -filter_complex gltransition -y out.mp4
Run Code Online (Sandbox Code Playgroud)

但它显示错误,例如

[AVFilterGraph @ 0x1febe80] No such filter: 'gltransition'
Error initializing complex filters.
Invalid argument.
Run Code Online (Sandbox Code Playgroud)

我是不是错过了什么?

glew ffmpeg filter mesa

5
推荐指数
0
解决办法
1117
查看次数

gallium 3D Architecture中的winsys究竟是什么?

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

mesa

4
推荐指数
1
解决办法
813
查看次数

导入错误:CentOS 上的 libGL.so.1

当我尝试import cv2在 python 中时,我收到以下错误:

ImportError: libGL.so.1: cannot open shared object file: No such file or directory
Run Code Online (Sandbox Code Playgroud)

我发现这个线程,其建议我安装libgl1-mesa-glx,但我不知道如果这是仅适用于Ubuntu的,因为我在CentOS,当我尝试sudo yum install libgl1-mesa-glx,我得到No package libgl1-mesa-glx available.另外,当我添加了安装到我的dockerfile我得到这个错误:The command '/bin/sh -c yum install libgl1-mesa-glx' returned a non-zero code: 1

然后我找到了一个看起来像Fedora 的解决方案解决同样的问题,说使用mesa-libGL-devel. 当我sudo yum install mesa-libGL-devel看起来安装正确时,但是当我将它添加到我的 dockerfile 时,我得到了The command '/bin/sh -c yum install mesa-libGL-devel' returned a non-zero code: 1.

我还应该尝试什么?

编辑:这是Dockerfile:

FROM nvidia/cuda:10.1-cudnn7-devel-centos7

WORKDIR /app/ …
Run Code Online (Sandbox Code Playgroud)

mesa

4
推荐指数
1
解决办法
6276
查看次数