Mesa系列(一)搭建环境

    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图形库的渲染原理。

  • 9
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值