基于注意力感知的着色器简化变体评估方法和装置制造方法及图纸

技术编号:34559679 阅读:20 留言:0更新日期:2022-08-17 12:47
本发明专利技术公开了一种基于注意力感知的着色器简化变体评估方法和装置,包括:利用多模态条件转换网络对原始着色器代码和输入的多模态数据进行编码和解码,以得到着色器变体的特征向量;利用注意力感知模块对着色器变体的特征向量编码,保存三类注意力元素序列的感知缓存,从而构建着色器变体空间;在着色器变体空间,从三类注意元素序列查询抽取对应元素构建单个着色器简化变体的嵌入向量;根据着色器简化空间的所有注意力元素序列来构建原始着色器的嵌入向量,通过计算着色器简化变体和原始着色器对输入的同一多模态数据的绘制图像之间的嵌入向量距离来评估着色器简化变体的绘制效果。该方法和装置可快速低成本测量评估着色器简化变体的绘制效果。色器简化变体的绘制效果。色器简化变体的绘制效果。

【技术实现步骤摘要】
基于注意力感知的着色器简化变体评估方法和装置


[0001]本专利技术属于计算机图形学着色器简化领域,具体涉及一种基于注意力感知的着色器简化变体评估方法和装置。

技术介绍

[0002]现代图形硬件日益增加的灵活性允许通过复杂的着色器渲染有吸引力的视觉效果。自动着色器简化是一种很有前途的解决方案,可以满足各种复杂场景的实时要求。
[0003]现有论文提议自动简化着色器,如文献Wang,Rui,et al."Automatic shader simplification using surface signal approximation."ACM Transactions on Graphics(TOG)33.6(2014):1

11,该文献具体提出了简化规则,包括删除操作、将片段着色器代码移动到顶点/镶嵌着色器阶段、并将片段着色器代码移动到参数阶段等,将这些简化规则应用于原始着色器会生成大量简化的着色器变体。
[0004]文献Sitthi

Amorn,Pitchaya,et al."Genetic programming for shader simplification."ACM Transactions on Graphics(TOG)30.6(2011):1

12还提供了遗传编程(Genetic Programming,简称GP),GP能有效地找到由渲染性能和视觉质量等指标定义的帕累托边界上最佳的一个或多个着色器变体。然而,由于渲染和评估许多着色器变体的时间成本高,导致基于遗传编程构建的简化框架仍然是耗时的。
[0005]经典的离线方法通过在多个场景配置下渲染着色器变体并平均结果来寻求平均最佳,这种方法需要花费大量时间,并消耗大量空间来缓存结果。
[0006]现有技术中还提出通过渲染备用变体样本来预测渲染性能和视觉质量来代替评估。但是,这样方式仍然需要多次渲染示例场景来指导搜索,着色器评估通常是一项一项进行,并且会花费大量搜索时间。
[0007]尽管可以以很小的成本有效地预测渲染性能,但视觉质量直接取决于由阴影代码和场景配置组成的多模态输入。例如,删除Ambient Occlusion项的简化着色器可能会在平坦场景中产生良好的质量,但在凹凸表面中可能会失败。

技术实现思路

[0008]鉴于上述不足,本专利技术的目的是提供一种基于注意力感知的着色器简化变体评估方法和装置,提升构建着色器简化变体的效率,同时可快速低成本测量评估着色器简化变体的绘制效果。
[0009]为实现上述专利技术目的,实施例提供的一种基于注意力感知的着色器简化变体评估方法,包括以下步骤:
[0010]利用多模态条件转换网络(Multimodal Multi

Modal Conditional Transformer)对原始着色器代码和着色器输入的多模态数据进行编码和解码,以得到着色器变体的特征向量;
[0011]利用注意力感知模块对着色器变体的特征向量编码,保存三类注意力元素序列的
感知缓存,从而构建着色器变体空间;
[0012]在着色器变体空间,从三类注意元素序列查询抽取对应元素构建单个着色器简化变体的嵌入向量;
[0013]根据着色器简化空间的所有注意力元素序列来构建原始着色器的嵌入向量,通过计算着色器简化变体和原始着色器对输入的同一多模态数据的绘制图像之间的嵌入向量距离来评估着色器简化变体的绘制效果。
[0014]在一个实施例中,所述多模态条件转换网络包括节点编码器、输入编码器、上下文编码器、节点解码器;
[0015]所述利用多模态条件转换网络对原始着色器进行编码和解码,包括:
[0016]利用节点编码器对原始着色器代码编码成表示局部信息的着色器节点;
[0017]利用输入编码器对原始着色器的多模态输入数据编码成图像空间特征;
[0018]利用上下文编码器对输入的着色器节点在图像空间特征的约束下学习着色器节点之间的相关性,以生成表示全局信息的上下文向量;
[0019]利用节点解码器对上下文向量和着色器节点进行解码操作,以生成着色器变体的特征向量。
[0020]在一个实施例中,还包括:将原始着色器代码中的每个符号视为中间节点,将原始着色器代码表示为抽象语法树后,按照深度优先的顺序遍历抽象语法树,以将原始着色器代码编码成单词序列,并将单词序列嵌入到多维向量中,嵌入单词序列的多维向量作为节点编码器的输入,经编码计算生成表示局部信息的着色器节点。
[0021]在一个实施例中,还包括:原始着色器的多模态输入数据包括顶点属性、着色器uniform参数以及纹理信息,采用G

buffer技术将顶点属性和纹理信息光栅化成图片序列后,将着色器uniform参数堆叠到图片序列一同输入至输入编码器,经过编码计算生成图像空间特征。
[0022]在一个实施例中,所述节点编码器采用多层网络感知机,所述输入编码器采用PointNet,所述上下文编码器采用基于Transformer的编码器,所述节点解码器采用基于Transformer的解码器。
[0023]在一个实施例中,所述注意力感知模块包括轻量级Key单元、轻量级Query单元、轻量级Value单元;
[0024]利用利用注意力感知模块对着色器变体的特征向量进行三方面的注意力感知计算,包括:
[0025]利用轻量级Key单元对着色器变体的特征向量进行感知计算,以得到注意力元素k
x
序列;
[0026]利用轻量级Query单元对着色器变体的特征向量进行感知计算,以得到注意力元素q
x
序列;
[0027]利用轻量级Value单元;对着色器变体的特征向量进行感知计算,以得到注意力元素v
x
序列;
[0028]其中,k
x
和q
x
是标量,v
x
是向量,x表示注意力元素索引,注意力元素k
x
序列、注意力元素q
x
序列以及注意力元素v
x
序列组成着色器变体空间;
[0029]三类注意力元素序列的维度相等,且与着色器节点的维度相等。
[0030]在一个实施例中,所述在着色器变体空间中,从三类注意力元素序列查询抽取对应元素来构建单个着色器简化变体的嵌入向量,包括:
[0031]从三类注意力元素序列中分别查询抽取对应注意力元素,被抽取的注意力元素按照在原序列中的位置排放,没被查询抽取的注意力元素位置设为空,组成三类新注意力元素序列;
[0032]三类新注意力元素序列经过公式(1)计算来构建着色器简化变体:
[0033][0034]其中,S
v
表示着色器简化变体的嵌入向量,上标v表示原始着色器的节点数,Q、K以及V表示三类新注意力元素序列,上标T表本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于注意力感知的着色器简化变体评估方法,其特征在于,包括以下步骤:利用多模态条件转换网络对原始着色器代码和着色器输入的多模态数据进行编码和解码,以得到着色器变体的特征向量;利用注意力感知模块对着色器变体的特征向量编码,保存三类注意力元素序列的感知缓存,从而构建着色器变体空间;在着色器变体空间,从三类注意元素序列查询抽取对应元素构建单个着色器简化变体的嵌入向量;根据着色器简化空间的所有注意力元素序列来构建原始着色器的嵌入向量,通过计算着色器简化变体和原始着色器对输入的同一多模态数据的绘制图像之间的嵌入向量距离来评估着色器简化变体的绘制效果。2.根据权利要求1所述的基于注意力感知的着色器简化变体评估方法,其特征在于,所述多模态条件转换网络包括节点编码器、输入编码器、上下文编码器、节点解码器;所述利用多模态条件转换网络对原始着色器进行编码和解码,包括:利用节点编码器对原始着色器代码编码成表示局部信息的着色器节点;利用输入编码器对原始着色器的多模态输入数据编码成图像空间特征;利用上下文编码器对输入的着色器节点在图像空间特征的约束下学习着色器节点之间的相关性,以生成表示全局信息的上下文向量;利用节点解码器对上下文向量和着色器节点进行解码操作,以生成着色器变体的特征向量。3.根据权利要求1所述的基于注意力感知的着色器简化变体评估方法,其特征在于,还包括:将原始着色器代码中的每个符号视为中间节点,将原始着色器代码表示为抽象语法树后,按照深度优先的顺序遍历抽象语法树,以将原始着色器代码编码成单词序列,并将单词序列嵌入到多维向量中,嵌入单词序列的多维向量作为节点编码器的输入,经编码计算生成表示局部信息的着色器节点。4.根据权利要求1所述的基于注意力感知的着色器简化变体评估方法,其特征在于,还包括:原始着色器的多模态输入数据包括顶点属性、着色器uniform参数以及纹理信息,采用G

buffer技术将顶点属性和纹理信息光栅化成图片序列后,将着色器uniform参数堆叠到图片序列一同输入至输入编码器,经过编码计算生成图像空间特征。5.根据权利要求1所述的基于注意力感知的着色器简化变体评估方法,其特征在于,所述节点编码器采用多层网络感知机,所述输入编码器采用PointNet,所述上下文编码器采用基于Transformer的编码器,所述节点解码器采用基于Transformer的解码器。6.根据权利要求1所述的基于注意力感知的着色器简化变体评估方法,其特征在于,所述注意力感知模块包括轻量级Key单元、轻量级Query单元、轻量级Value单元;利用利用注意力感知模块对着色器变体的特征向量进行三方面的注意力感知计算,包括:利用轻量级Key单元对着色器变体的特征向量进行感知计算,以得到注意力元素k
x
序列;利用轻量级Query单元对着色器变体的特征向量进行感知计算,以得到注意力元素q
x
序列;
利用轻量级Value单元;对着色器变体的特征向量进行感知计算,以得到注意力元素v
x
序列;其中,k
x
和q
x
是标量,v
x
是向量,x表示注意力元素索引,注意力元素k
x
序列、注意力元素q
x
序列以及注意力元素v
x
序列组成着色器变体空间;三类注意力元素序列的维度相等,且与着色器节点的维度相等。7.根据权利要求1所述的基于注意力感知的着色器简化变体评估方法,其特征在于,所述在着色器变体空间中,从三类注意力元素序列查询抽取对应元素来构建单个着色器简化变体的嵌...

【专利技术属性】
技术研发人员:王锐霍宇驰李仕陈旭鲍虎军
申请(专利权)人:光线云杭州科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1