ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

FFR总结

2021-06-08 19:35:23  阅读:561  来源: 互联网

标签:总结 Subsampled FFR texture 像素 QCOM TEXTURE GL


                         FFR总结

 

1、参数意义

 

以下关于FFR 参数意义解释,以及4个Level对应的参数设置。

 

FoveationGainX, FoveationGainY

        ---- X/Y 轴方向外围像素的缩减率,值越大缩减的越多。

 

FoveationArea

-----注视点周围分辨率不降范围,值越大,中心清晰区域越大。

 

FoveationMinimum

       --------默认最小像素密度,像素密度大于等于FoveationMinimum。

 

 

Foveation Level 【SDK提供了四种Level可选】

Low [3.0f, 3.0f, 1.0f, 0.125f]

Med [4.0f, 4.0f, 1.0f, 0.125f]

High [6.0f, 6.0f, 1.0f, 0.0625f]

Top High[7.0f, 7.0f, 0.0f, 0.0625f]

 

 

 

 

 

 

2、实现逻辑

 

首先需要绑定texture,设置参数,包括GL_TEXTURE_FOVEATED_FEATURE_BITS_QCOM、GL_TEXTURE_PREVIOUS_SOURCE_TEXTURE_QCOM和GL_TEXTURE_FOVEATED_MIN_PIXEL_DENSITY_QCOM。

 

以下对于每个texture只执行一次。

 

 

 

 

 

然后需要在render之前,调用高通扩展函数glTextureFoveationParametersQCOM。

针对不同平台,所传的参数也不同,具体如下:

Unity/Native

 

focalPointX和focalPointY参数代表的是注视点坐标,一般在开启Eyetracking时,计算眼睛注视点,可以实现眼睛看到的地方,屏幕像素密度高,眼睛注视边缘位置像素密度低。未开启Eyetracking情况下,一般设置为0,也就是中心位置作为最大像素密度点。

 

 

 

 

 

UE

 

UE的texture是将左右眼的图合并成一张传下啦,所以在传参时要考虑将GanX的值乘以2,同时将focalPointX的值除以2。同时将合并的texture拆分成两个layer,作为左右眼(0,1)的图分别调用glTextureFoveationParametersQCOM。

 

 

 

 

 

 

3、关于Subsampled

 

FFR的GL_TEXTURE_FOVEATED_FEATURE_BITS_QCOM参数可以传GL_FOVEATION_SCALED_BIN_METHOD_BIT_QCOM,也可以设置为GL_FOVEATION_SUBSAMPLED_LAYOUT_METHOD_BIT_QCOM。

 

之前和高通沟通,开启Subsampled的,更能精确控制显示像素密度,并且优化了渲染,提高了性能,但是一直没有真正的对比测试。

 

Subsampled仅在NEO3上有效,在G2-4k和NEO2上开启都会有白线,开启Subsampled的话,需要修改shader,

一是需要开启扩展:

"#extension GL_QCOM_texture_foveated_subsampled_layout : require\n"

二是需要使用subsampled采样

"layout(subsampled) uniform mediump sampler2D Texture0;\n"

 

所以要想使用Subsampled,必须将所有shader都按照以上修改,否则会出现黑色方块,singlepass,投屏都已适配,之前发现只要一出现boundary就有黑块,是因为boundary的shader并没有按照以上修改,后期如果使用Subsampled,需要boundary按照以上适配。

 

标签:总结,Subsampled,FFR,texture,像素,QCOM,TEXTURE,GL
来源: https://www.cnblogs.com/seamus1995/p/14864102.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有