System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术实施例涉及渲染技术,尤其涉及一种屏幕子像素排列渲染方法、装置、设备及介质。
技术介绍
1、随着现代设备整体算力水平的提升,观众对画面的细节和渲染效果要求也越来越高,其中,由于光影细节在游戏和cg动画整体表现效果上越来越逼真,玩家对画面内其他物件的细节表现要求也在逐步提升。其中,一些游戏和cg动画的画面涉及对屏幕的渲染,但由于真实的屏幕结构和次像素算法相当复杂,为了便于说明,将根据子像素结构复杂度将子像素结构划分为两类:
2、a.子像素面积相同且不存在共用子像素的屏幕结构:
3、b.子像素面积不同或存在共用子像素的屏幕结构,并且子像素面积不同及存在共用子像素的情况通常会同时出现:
4、目前,市面上已有的对所述a类屏幕子像素结构的渲染方法,包括:
5、贴图法,需要存储高精度纹理贴图来展示细节;
6、几何体阵列法,需要存储网格来模拟屏幕的3d结构;
7、经典程序化贴图方法,需要额外计算程序化贴图,能够展示次像素的结构细节,能满足所述a类屏幕子像素细节渲染需求;
8、但是,现有技术中,还没有针对所述b类屏幕子像素结构的渲染方法。本专利技术提供了一种通用的屏幕子像素排列渲染方法,可以解决现有技术无法渲染所述b类屏幕的技术难点,同时提高了子像素结构细节的渲染表现,进一步的提高用户的视觉体验感。
技术实现思路
1、本专利技术的目的在于提供一种屏幕子像素排列渲染方法、装置、设备及介质,以解决技术中已有的屏
2、第一方面,本专利技术实施例提供了一种屏幕子像素排列渲染方法,该方法包括:
3、确定用于描述屏幕子像素排列的函数;
4、获取目标对象纹理映射数据,使用蒙特卡洛法对次像素坐标范围内纹素总体颜色进行估计;
5、根据所述纹理映射数据和屏幕子像素排列函数,计算次像素坐标及其对应的次像素颜色;
6、基于所述屏幕子像素排列函数,使用蒙特卡洛法对次像素坐标范围内的次像素总体颜色进行估计;
7、基于所述目标对象纹理映射数据、次像素坐标和屏幕子像素排列函数,获取该次像素的邻接次像素数据;
8、根据所述次像素颜色、邻接次像素数据及次像素坐标范围内的次像素总体颜色对所述目标对象纹理映射数据进行合成,得到具有子像素细节的屏幕渲染图;
9、进一步的,确定用于描述屏幕子像素排列的函数包括:
10、将目标屏幕子像素排列按屏幕水平、垂直分辨率切割为可通过四方连续性质来表达原所述目标屏幕子像素排列结构的矩形区域:
11、xsub,ysub=f(u,v)
12、利用曲线求交、有符号距离场和隐式方程建立次像素坐标与次像素颜色的映射关系:
13、csubpixel=texture(xsub,ysub)=texture(f(u,v))=f(u,v)
14、进一步的,使用蒙特卡洛法对次像素坐标范围内纹素总体颜色进行估计包括:
15、根据所述纹理映射数据,计算所属像素坐标x,y,在所述所属像素的次像素坐标范围对纹素颜色采样n次,根据第i次采样得到的纹素颜色估计所述纹素总体颜色carea_texture:
16、
17、进一步的,计算次像素坐标及其对应的次像素颜色包括:
18、根据所述纹理映射数据,获取其中的uv坐标,根据次像素坐标公式:
19、xsub=u×resx-floor(u×resx)
20、ysub=u×resy-floor(v×resy)
21、其中,resx为屏幕的横向分辨率,resy为屏幕的垂直分辨率,floor为向下取整的函数。
22、根据所述次像素坐标及描述屏幕子像素排列的函数,取得对应的次像素颜色:
23、csubpixel=texture(xsub,ysub)
24、进一步的,使用蒙特卡洛法对次像素坐标范围内的次像素总体颜色进行估计包括:
25、根据所述屏幕子像素排列函数,在次像素坐标范围对子像素颜色采样n次,根据第i次命中的子像素颜色估计所述次像素总体颜色ccorrect:
26、
27、进一步的,次像素的邻接次像素数据包括:
28、目标次像素拥有的邻接次像素个数npixel;
29、所有邻接次像素所属像素的像素坐标
30、所有邻接次像素所属像素范围的纹素总体颜色
31、进一步的,根据所述次像素颜色、邻接次像素数据及次像素坐标范围内的次像素总体颜色对所述目标对象纹理映射数据进行合成的方法包括:
32、对于每个计算单元,根据所述纹理映射数据,计算所属像素坐标x0,y0,根据公式计算所属像素范围纹素总体颜色:
33、
34、得到初步结果c0:
35、获取所述相邻次像素数据,继续进行:
36、对于每个所述邻接次像素所属像素坐标xi,yi,根据公式:
37、
38、计算所有邻接次像素所属像素范围纹素总体颜色;
39、根据所述所有邻接次像素所属像素范围纹素总体颜色:c1,c2……cn,基于公式:
40、
41、计算相邻次像素平均颜色cavg;
42、最后,根据所述次像素坐标范围内的次像素总体颜色ccorrect,所述次像素颜色csubpixel和所述相邻次像素平均颜色cavg合成最终结果cfinal:
43、
44、根据所有计算单元的最终结果,得到具有子像素排列结构的屏幕渲染图。
45、第二方面,本专利技术实施例提供了一种屏幕子像素排列渲染装置,该装置包括:
46、屏幕子像素排列描述模块,用于建立次像素坐标与次像素颜色的映射关系;
47、纹理映射数据获取模块,用于获取纹理坐标,并根据纹理坐标,计算次像素坐标;
48、纹素颜色计算模块,用于采样所述像素坐标范围的纹素颜色,根据得到的纹素颜色计算所述像素范围总体纹素颜色;
49、邻接次像素数据获取模块,用于判定邻接子像素并统计其数据;
50、色偏计算模块,用于采样所述像素坐标范围的次像素颜色,根据得到的次像素颜色计算所述像素坐标范围总体次像素颜色;
51、次像素重采样模块,用于获取所述相邻次像素数据,根据所述相邻次像素数据计算所有邻接次像素所属像素范围总体颜色;
52、子像素颜色获取模块,用于获取子像素颜色;
53、屏幕渲染图获取模块,用于合成像素颜色计算模块、次像素重采样模块、色偏计算模块及子像素颜色获取模块所产生的初步结果,得到屏幕渲染图
54、第三方面,本专利技术实施例提供了一种设备,该设备包括:
<本文档来自技高网...【技术保护点】
1.一种屏幕子像素排列渲染方法,其特征在于,包括:
2.根据权利要求1所述方法,其特征在于,所述目标对象纹理映射数据包括:
3.根据权利要求1所述方法,其特征在于,所述屏幕子像素排列函数是通过以下方式确定的:
4.根据权利要求1所述方法,其特征在于,所述次像素坐标范围内的次像素总体颜色是通过以下方式估计的:
5.根据权利要求1所述方法,其特征在于,所述次像素坐标范围内纹素总体颜色是通过以下方式估计的:
6.根据权利要求1所述方法,其特征在于,所述次像素是否有邻接次像素是通过以下方式确定的:
7.根据权利要求1所述方法,其特征在于,所述邻接次像素数据包括:
8.根据权利要求1所述方法,其特征在于,所述次像素颜色、相邻次像素数据及次像素坐标范围内的次像素总体颜色是通过以下方式对所述目标对象纹理映射数据进行合成的:
9.一种屏幕微观结构渲染装置,其特征在于,包括:
10.一种设备,其特征在于,包括:
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程
...【技术特征摘要】
1.一种屏幕子像素排列渲染方法,其特征在于,包括:
2.根据权利要求1所述方法,其特征在于,所述目标对象纹理映射数据包括:
3.根据权利要求1所述方法,其特征在于,所述屏幕子像素排列函数是通过以下方式确定的:
4.根据权利要求1所述方法,其特征在于,所述次像素坐标范围内的次像素总体颜色是通过以下方式估计的:
5.根据权利要求1所述方法,其特征在于,所述次像素坐标范围内纹素总体颜色是通过以下方式估计的:
6.根据权利要求1所述方法,其特征在于,所述次像素是否有邻接次像素...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。