glmark2代码分析8(其他scene)

这篇博客详细介绍了多个3D场景的测试点和实现方式,包括default-options、function、grid、jellyfish等,涉及图像处理、法向量计算、高度映射等多种技术。在effect-2d测试中,重点验证了不同卷积核的效率,而在bump场景中,对比了不同的高度映射算法。同时,文章还提到了一个综合场景,测试了旋转、字体和物体位置更新等元素。

这里对各个scene的测试点和实现方式概括一下。

包含的scene

包含的scene有:
default-options: option的setup和set
function:和collections一样,就是shader不同,得验证下
grid: 绘制基本的网格,调用的是mesh的类,比较简单
jellyfish:

setup

加载模型和纹理:jellyfish.jobj
loop
pulsar
refract
shading
shadow
terrain
texture

effect-2d

测试点

测试不同kernel进行图像处理速度。

实现方式

只有一个类 SceneEffect2D
create_convolution_fragment_shader:创建图像卷积的shader程序,用字符串替换的方式,传入的参数是:图像的宽高、卷积因子
kernel_printout: 打印shader函数
parse_matrix:将矩阵的字符串形式转成数字矩阵
normalize:对kernel矩阵进行Normalizes
setup:查找纹理 effect-2d,加载shader,解析输入参数,创建grid生成顶点属性,传递顶点数据。用vbo传递数据
draw:直接绘制
validate:和其他的scene相同,读取一个像素进行比较

bump

测试点:

测试不同算法的height map法向量计算方法。

实现方法:

绘制模型,和build的过程差不多,重点在 bump_rende

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值