当前位置:   article > 正文

Mesa系列(一)搭建环境_mesa opengl

mesa opengl

    Mesa主要对OpenGL、EGL、Vulkan等图形库API的软件实现,本系统主要通过Mesa学习OpenGL的实现原理,在学习相关的流程之前,先搭建好Mesa的运行环境。

一、下载源码

官网下载源码,比如下载24.0,7版本:wget https://archive.mesa3d.org/mesa-24.0.7.tar.xz

这里下载示例,这里下载9.0.0版本:wget https://archive.mesa3d.org/demos/mesa-demos-9.0.0.tar.xz

文件下载后,下一步分别对这两个压缩文件进行解压。

tar -xf mesa-24.0.7.tar.xz 

tar -xf mesa-demos-9.0.0.tar.xz

二、编译

1、编译Mesa

1)首先配置编译环境

切换到mesa-24.0.7目录

meson setup builddir/ -Dprefix=/home/xxx/Mesa/target -Dgallium-drivers=swrast -Dvulkan-drivers=swrast

其中/home/xxx/Mesa/target为指定的安装目录

2)编译并安装
meson install -C builddir/

编译后的结果如下图所示

2、编译Demo

命令窗口切换到mesa-demos-9.0.0/

1)执行下面命令配置编译环境

meson --prefix=/xx/Mesa/demo/target  build-dir

其中/xx/Mesa/demo/target为安装目录。

2)开始编译

meson compile -C build-dir 

3)编译完成后安装

meson install -C build-dir

编译完成后,在安装目录可以看到各个demo的可执行文件

三、运行Demo

切换到demo的目录,直接打开文件可将demo跑起来,运行命令如下:

path/Mesa/demo/target/bin$ LD_LIBRARY_PATH=/home/xxx/external/Mesa/target/lib/x86_64-linux-gnu ./es2tri

在执行命令前,通过LD_LIBRARY_PATH指定要链接的库的路径,这里执行mesa安装目录表示要使用刚才编译处理的库。es2tri是一个三角形的示例,运行记过如下


通过ldd命令可以查看可执行文件连接的是哪个动态库,如下图所示

可以看出libGLESV2.so.2和libEGL.so.1使用的是本地编译出来的so。

    通过上面的步骤,已经搭建出了Mesa的运行环境,可以在源码中加入日志信息,重新编译后再运行可以打印日志信息,根据日志信息,可以学习EGL和OpenGL的执行流程。。

    在下一篇主要以三角形作为示例,介绍绘制三角形所用到的OpenGL API的执行流程,从而理解OpenGL图形库的渲染原理。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/正经夜光杯/article/detail/998760
推荐阅读
相关标签
  

闽ICP备14008679号