System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及计算机,尤其涉及一种纹理数据采样方法、装置、存储介质及电子设备。
技术介绍
1、随着科技的不断发展,对图形处理器(graphics processing unit,gpu)的性能需求也在不断提升。目前,图形处理器需要实时动态采样以及加载纹理数据,以满足渲染需求。
2、但是,由于不同的纹理数据的大小并不一致,且通常渲染时也不需要纹理数据中所有纹素,因此将纹理数据整体加载到显存中,容易导致显存加载过多实际未使用的纹素,使得显存的占用率较高,浪费了显存资源。因此,如何对纹理数据进行采样,以使在加载纹理数据时降低显存的占用率,提高gpu性能是一个非常重要的问题。
3、基于此,本申请提供了一种纹理数据采样方法。
技术实现思路
1、本申请提供一种纹理数据采样的方法、装置、存储介质及电子设备,以部分的解决现有技术存在的上述问题。
2、本申请采用下述技术方案:
3、本申请提供了纹理数据采样方法,包括:
4、确定对待加载的纹理数据的采样指令,所述采样指令中携带有指定数量的目标像素的坐标;
5、确定各目标像素的坐标与所述纹理数据的纹理单元的映射关系,并将各目标像素对应的纹理单元作为待选单元;
6、从各待选单元中,选取一个待选单元作为起始单元;
7、以所述起始单元为起始位置,根据预设的区域尺寸,确定所述纹理数据中的采样区域,所述采样区域中包括一个或多个所述待选单元;
8、确定所述采样区域
9、可选地,所述方法还包括:
10、当确定出所述采样区域后,确定所述采样区域中包含的待选单元,作为选中单元;
11、判断是否存在未作为选中单元的待选单元;
12、若是,则从除所述选中单元外的各待选单元中,重新选取一个待选单元作为起始单元,继续确定采样区域以及选中单元,直到各待选单元均为选中单元为止。
13、可选地,以所述起始单元为起始位置,根据预设的区域尺寸,确定所述纹理数据中的采样区域,包括:
14、确定预设的区域尺寸对应的坐标行数量以及坐标列数量;
15、根据所述映射关系,在像素坐标系中,筛选出行坐标与所述起始单元的行坐标差在所述坐标行数量内,且列坐标与所述起始单元的列坐标差在所述坐标列数量内的待选单元;
16、根据所述起始单元以及筛选出的待选单元,确定所述纹理数据中的采样区域。
17、可选地,从各待选单元中,选取一个待选单元作为起始单元,包括:
18、将各待选单元按照指定规则进行排序,得到单元序列;
19、将所述单元序列首位的待选单元,作为起始单元;
20、从除所述选中单元外的各待选单元中,重新选取一个待选单元作为起始单元,包括:
21、将所述选中单元从所述单元序列中删除,将删除后的单元序列首位的待选单元,重新作为起始单元。
22、可选地,将各待选单元按照指定规则进行排序,得到单元序列,包括:
23、根据各待选单元在所述纹理数据中的坐标,将各待选单元按照水平坐标从小到大的顺序进行排序,得到单元序列;
24、其中,当存在水平坐标相同的待选单元时,按照所述水平坐标相同的待选单元的垂直坐标从小到大的顺序,确定所述水平坐标相同的待选单元在所述单元序列中的排序。
25、可选地,以所述起始单元为起始位置,根据预设的区域尺寸,确定所述纹理数据中的采样区域,包括:
26、确定需采样的区域的左上角为起始位置;
27、以所述起始单元为所述起始位置,根据预设的区域尺寸,在所述纹理数据中确定需采样的区域,作为采样区域。
28、可选地,从各待选单元中,选取一个待选单元作为起始单元,包括:
29、根据各待选单元在所述纹理数据中的坐标,对各待选单元进行聚类,确定各聚类簇;
30、从所述各聚类簇中,确定一个聚类簇;
31、将确定出的聚类簇的聚类中心对应的待选单元,作为起始单元。
32、可选地,所述采样指令中还携带有纹理单元的单元尺寸;
33、在确定各目标像素的坐标与所述待加载纹理数据的纹理单元的映射关系之前,所述方法还包括:
34、根据所述单元尺寸,对所述待加载纹理数据中的纹素进行划分,得到纹理单元,其中,所述纹理单元中至少包含一个纹素。
35、可选地,确定所述采样区域包含的纹理数据并返回,以根据所述纹理数据进行像素渲染,包括:
36、根据确定出的采样区域在所述纹理数据中的坐标,以及所述采样区域内选中单元的位置,确定所述采样区域对应的纹理数据,以加载所述采样区域对应的纹理数据渲染所述目标像素。
37、本申请提供了一种纹理数据采样装置,包括:
38、第一确定模块,用于确定对待加载的纹理数据的采样指令,所述采样指令中携带有指定数量的目标像素的坐标;
39、映射模块,用于确定各目标像素的坐标与所述纹理数据的纹理单元的映射关系,并将各目标像素对应的纹理单元作为待选单元;
40、选取模块,用于从各待选单元中,选取一个待选单元作为起始单元;
41、第二确定模块,用于以所述起始单元为起始位置,根据预设的区域尺寸,确定所述纹理数据中的采样区域,所述采样区域中包括一个或多个所述待选单元;
42、采样模块,用于确定所述采样区域包含的纹理数据并返回,以根据所述纹理数据进行像素渲染。
43、本申请提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述纹理数据采样方法。
44、本申请提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述纹理数据采样方法。
45、本申请采用的上述至少一个技术方案能够达到以下有益效果:
46、本申请提供的纹理数据采样方法,确定对待加载的纹理数据的采样指令,确定各目标像素的坐标与纹理数据的纹理单元的映射关系,并将各目标像素对应的纹理单元作为待选单元。之后,从各待单元中,选取一个待选单元作为起始单元。以起始单元为起始位置,根据预设的区域尺寸,确定纹理数据中的采样区域。之后,确定采样区域包含的纹理数据并返回,以根据纹理数据进行像素渲染。
47、从上述方法中可以看出,本申请在对纹理数据进行采样时,确定需渲染的各目标像素的坐标与纹理数据的纹理单元的映射关系,并将各目标像素对应的纹理单元作为待选单元。然后,先从各待选单元中选取起始单元,并根据起始单元和预设的区域尺寸,确定纹理数据中的采样区域。之后,确定采样区域包含的纹理数据并返回,以根据纹理数据进行像素渲染。减少对纹理数据进行采样时返回纹理数据的次数,提高返回的纹理数据包含的有效数据的量,从而提高本文档来自技高网...
【技术保护点】
1.一种纹理数据采样方法,其特征在于,包括:
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
3.如权利要求1所述的方法,其特征在于,以所述起始单元为起始位置,根据预设的区域尺寸,确定所述纹理数据中的采样区域,包括:
4.如权利要求2所述的方法,其特征在于,从各待选单元中,选取一个待选单元作为起始单元,包括:
5.如权利要求4所述的方法,其特征在于,将各待选单元按照指定规则进行排序,得到单元序列,包括:
6.如权利要求1所述的方法,其特征在于,以所述起始单元为起始位置,根据预设的区域尺寸,确定所述纹理数据中的采样区域,包括:
7.如权利要求1所述的方法,其特征在于,从各待选单元中,选取一个待选单元作为起始单元,包括:
8.如权利要求1所述的方法,其特征在于,所述采样指令中还携带有纹理单元的单元尺寸;
9.如权利要求2所述的方法,其特征在于,确定所述采样区域包含的纹理数据并返回,以根据所述纹理数据进行像素渲染,包括:
10.一种纹理数据采样装置,其特征在于,包括:<
...【技术特征摘要】
1.一种纹理数据采样方法,其特征在于,包括:
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
3.如权利要求1所述的方法,其特征在于,以所述起始单元为起始位置,根据预设的区域尺寸,确定所述纹理数据中的采样区域,包括:
4.如权利要求2所述的方法,其特征在于,从各待选单元中,选取一个待选单元作为起始单元,包括:
5.如权利要求4所述的方法,其特征在于,将各待选单元按照指定规则进行排序,得到单元序列,包括:
6.如权利要求1所述的方法,其特征在于,以所述起始单元为起始位置,根据预设的区域尺寸,确定所述纹理数据中的采样区域,包括:
7.如权利要求1所述的方法,其特征在于,从各待选...
【专利技术属性】
技术研发人员:请求不公布姓名,
申请(专利权)人:摩尔线程智能科技北京有限责任公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。