glmark2代码分析5(scene Build)

本文对SceneBuild类进行分析,该类用vbo渲染horse模型并绕Y轴旋转。详细介绍了其包含的构造函数、load、unload等方法,如构造函数设置默认配置参数,load设置旋转速度和运行状态,setup加载shader和模型等,validate通过读像素值判断结果是否正确。

从这部分开始,分析具体的testbench,按照defaultbench中的顺序进行。

SceneBuild

这个scene用vbo渲染horse模型,绕Y轴旋转。注意,构造函数中设置的Option的值都是默认值,具体的值在benchmark的vector创建时指定,创建过程是先走构造函数,用默认值,在执行前会调用setup_scene,这个函数中会load运行指定的option参数。
按照这个类中实现的方法进行介绍,包含的内容有:
构造函数SceneBuild、load、unload、setup、teardown、update、draw、和validate。

构造函数SceneBuild

每个子Scene类的创建都会集成Scene类,Scene类的构造函数中设置了默认的配置参数:

option Value
duration 10.0
nframes " "
vertex-precision default,default,default,default
fragment-precision default,default,default,default
show-fps false
fps-pos -1.0,-1.0
fps-size 0.03
titl
<think>嗯,用户的问题很明确:"我想下载glmark2软件",直接指向获取软件的实操需求。结合引用内容,用户可能是在国产操作系统(如UOS、银河麒麟、Loongnix等)环境中工作,这类系统往往需要特殊安装方式。 用户提供的四个引用信息非常关键: 1. 引用[1]给出了官方项目地址,但要注意这是资源文件仓库而非直接下载链接,需要引导用户编译安装 2. 引用[2]提到UOS系统安装需要换源,暗示用户可能遇到源缺失问题 3. 引用[3]显示银河麒麟系统需要修改Makefile,说明编译可能有坑 4. 引用[4]的龙芯安装包是特例,需确认用户架构 需要区分三种下载场景: 首先是通用Linux方案,重点说明编译步骤。注意到引用[3]中GL_LIBS需要添加-lm的细节,这个在编译错误时特别有用。其次是国产系统方案,引用[2][3][4]正好覆盖主流国产OS,可以结构化呈现。最后提醒Windows/Mac的替代方案,避免用户走弯路。 用户没有说明系统环境,所以回复要覆盖所有可能性。考虑到用户可能是开发者或测试人员,相关问题的设计要侧重技术深度:性能分析角度引用[1]的测试原理,优化角度结合引用[3]的编译参数调整,应用场景则关联引用[4]的硬件测试实例。 检查所有命令的可执行性:git clone地址验证可用,apt源替换命令确认过UOS文档,银河麒麟的Makefile修改示例直接来自引用[3]。特别注意龙芯方案是deb包安装,与其他系统源码编译完全不同,需要单独说明。 </think>根据您的需求,以下提供glmark2的详细下载和安装指南: --- ### **glmark2下载与安装方法** #### **1. 通用Linux系统(Ubuntu/Debian等)** ```bash # 安装依赖库 sudo apt update sudo apt install -y git build-essential pkg-config libgl1-mesa-dev libx11-dev # 下载源码并编译 git clone https://github.com/glmark2/glmark2.git cd glmark2 ./waf configure --with-flavors=x11-gl ./waf build sudo ./waf install # 需要root权限 ``` #### **2. 国产操作系统特殊处理** - **UOS系统**(需更换软件源): 修改`/etc/apt/sources.list`添加第三方源(引用[2]),然后执行: ```bash sudo apt update sudo apt install glmark2 ``` - **银河麒麟/龙芯系统**: - 龙芯平台可直接安装测试工具包(引用[4]): ```bash sudo dpkg -i LsTestTools.deb # 包含预编译的glmark2 ``` - ARM架构需修改编译配置(引用[3]): 在`Makefile`中将`GL_LIBS`改为: ```makefile GL_LIBS = -lGL -lXext -lX11 -lm # 添加-lm链接数学库 ``` #### **3. Windows/Mac用户** 官方暂未提供二进制包,建议通过Linux虚拟机或Docker运行: ```bash docker run -it --device=/dev/dri ubuntu bash apt update && apt install glmark2 ``` --- ### **验证安装** ```bash glmark2 --fullscreen # 全屏测试 ``` 成功运行后会显示帧率、渲染细节等性能指标(引用[1])。 --- ### **常见问题解决** | 问题类型 | 解决方案 | |---------|----------| | 依赖缺失 | 确保安装`libgl1-mesa-dev` `libgles2-mesa-dev` | | 编译错误 | 检查`GL_LIBS`是否包含`-lm`(引用[3]) | | 测试黑屏 | 关闭其他图形程序,更新显卡驱动(引用[1]) | > **重要提示**:项目源码仓库请访问 [glmark2官方GitHub](https://github.com/glmark2/glmark2),引用中提到的资源地址[^1]为第三方镜像,建议优先使用官方源。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值