[发明专利]一种图形绘制流水线中像素着色结果重用方法有效
申请号: | 201710608116.7 | 申请日: | 2017-07-24 |
公开(公告)号: | CN107464208B | 公开(公告)日: | 2019-07-09 |
发明(设计)人: | 王锐;鲍虎军;袁亚振 | 申请(专利权)人: | 浙江大学 |
主分类号: | G06T1/20 | 分类号: | G06T1/20;G06T1/60 |
代理公司: | 杭州天勤知识产权代理有限公司 33224 | 代理人: | 胡红娟 |
地址: | 310013 浙江*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 图形 绘制 流水线 像素 着色 结果 重用 方法 | ||
1.一种图形绘制流水线中像素着色结果重用方法,包括以下步骤:
(1)为输入图元生成对应像素空间的像素、粗像素和粗像素集合,其中,每个粗像素的像素尺寸为n,每个粗像素集合包含m个粗像素,n和m为非0自然数;
(2)在像素空间为每一个粗像素生成键值K,并按照此键值K为每个粗像素于粗像素缓存中查找与其相对应、属于不同图元且执行过粗像素着色器的粗像素;对于搜索到的不同图元的缓存结果,遍历并判断缓存的粗像素的着色结果能否重用到该粗像素上;
粗像素缓存包含已经计算过的粗像素的输入和执行过粗像素着色器之后的粗像素的着色结果;
(3)若组成一个粗像素集合的m个粗像素都找到可以重用的着色结果,则对该m个粗像素重用粗像素缓存中的着色结果;否则,对该m个粗像素执行粗像素着色器得到着色结果,并将该粗像素存储于缓存中;
(4)对步骤(3)中得到的着色结果,利用插值或重新执行像素着色器获得最终的像素着色结果。
2.如权利要求1所述的图形绘制流水线中像素着色结果重用方法,其特征在于,若绘制的是单视角流水线,在当前查询视点下,生成每一个粗像素的键值K;若绘制的是多视角流水线,除了在当前查询视点下生成每一个粗像素的键值K之外,还需要在其他查询视点下,生成每一个粗像素的键值K’。
3.如权利要求2所述的图形绘制流水线中像素着色结果重用方法,其特征在于,所述的键值K按照以下方式生成:
K=h(q,n,v)
其中,h(q,n,v)为合适的哈希函数,q为当前粗像素的索引,n为当前粗像素对应的像素尺寸,v为查询视角。
4.如权利要求3所述的图形绘制流水线中像素着色结果重用方法,其特征在于,在多视角绘制过程中,新视点的键值K’通过以下方式获得:
首先,将当前粗像素从当前查询视点投影到需要查找的新视角v’中,获得新视角v’下,该当前粗像素的投影代表的像素尺寸px和位置pi;
然后,利用公式n=1<<log2(px)获得当前粗像素在新视点的像素尺寸n’,从而得到对应的新索引q’=pi/n’,最终生成当前粗像素在新视点的键值K’=h(q’,n’,v’)。
5.如权利要求4所述的图形绘制流水线中像素着色结果重用方法,其特征在于,所述的像素尺寸px通过以下方式获得:
首先,将m个粗像素投影到新视角中,并获得每个粗像素在新视角中对应的像素位置pi;
然后,通过有限差分函数ddx(pi)、ddy(pi)计算得到每个粗像素在新视角中的投影对应的像素尺寸px。
6.如权利要求1所述的图形绘制流水线中像素着色结果重用方法,其特征在于,步骤(2)中查找得到的缓存粗像素需要与当前粗像素在像素空间对应起来,在当前粗像素位置处,需要通过双线性插值生成缓存粗像素以及与该缓存粗像素对应的着色结果。
7.如权利要求1所述的图形绘制流水线中像素着色结果重用方法,其特征在于,步骤(2)中,将于当前粗像素位置处的k个缓存粗像素分别与该当前粗像素执行缓存重用着色器,进而判断缓存的着色结果能否重用到当前粗像素中。
8.如权利要求7所述的图形绘制流水线中像素着色结果重用方法,其特征在于,所述的缓存重用着色器的输入除了全局输入外,还包括一些系统提供的语义,该语义包括:当前生成的粗像素的描述、查找得到的缓存粗像素的描述。
9.如权利要求1所述的图形绘制流水线中像素着色结果重用方法,其特征在于,步骤(3)中,将m个粗像素执行粗像素着色器得到着色结果存储于缓存中的具体步骤为:
将生成的粗像素在当前查询视点处按照权利要求3中所述的方式生成键值K=h(q,n,v);
缓存执行过粗像素着色器的着色结果与缓存重用着色器对应的当前粗像素着色器的输入。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710608116.7/1.html,转载请声明来源钻瓜专利网。