如果以较大的视角渲染图形(例如,非常大的电视或VR头戴式受话器),则观看者实际上无法将注意力集中在整个图像上,而只是整个图像的一部分。(实际上,常规尺寸的屏幕也是如此。)
结合跟踪观众眼睛的方式(我想这在VR中几乎是可行的),您可以在理论上加以利用,并通过逐渐减少细节和分辨率来使图形远离观众焦点,从而获得性能,而不会损失感知质量。
今天有没有可用的或正在开发的技术?
如果以较大的视角渲染图形(例如,非常大的电视或VR头戴式受话器),则观看者实际上无法将注意力集中在整个图像上,而只是整个图像的一部分。(实际上,常规尺寸的屏幕也是如此。)
结合跟踪观众眼睛的方式(我想这在VR中几乎是可行的),您可以在理论上加以利用,并通过逐渐减少细节和分辨率来使图形远离观众焦点,从而获得性能,而不会损失感知质量。
今天有没有可用的或正在开发的技术?
Answers:
您在许多游戏中都谈到了这种效果的例子。首先,存在景深,使远处的物体看起来模糊,就像相机在仅聚焦在靠近它的物体上一样,如本例所示。您可以在DirectX SDK包中探索与此相关的更多示例-它们中也有示例代码。对于OpenGL,如果您进行搜索,则将它们放在网上。
您可能想看到的第二件事是所谓的“ 几何MipMaping”或“渐进网格”,正如其名称所示,它类似于纹理mip贴图,但用于几何。随着物体离摄像机的距离越来越远,网格中多边形的数量会减少。这有助于提高性能。在D3D中,存在一个有助于自动生成渐进式网格的功能。这里是:
HRESULT WINAPI D3DXGeneratePMesh(
LPD3DXMESH pMesh,
const DWORD *pAdjacency,
const D3DXATTRIBUTEWEIGHTS *pVertexAttributeWeights,
const FLOAT *pVertexWeights,
DWORD MinValue,
DWORD Options,
LPD3DXPMESH *ppPMesh
);
这是一个例子:
编辑: 考虑以下图像-
这是相机的剔除视锥。穿过中间的线是LookAt向量。现在,假设玩家将始终要聚焦在屏幕中心,则定义角度x。将以大于确定的x的角度定位的任何对象都将具有低分辨率渲染,而位于该角度内的对象将被渲染细节。这样,屏幕中央的对象将比侧面的对象更详细。因为如果玩家没有注视中心,则只需将中心线调整到玩家注视的方向即可。(或者将整个相机旋转到该方向)。
是的,Fovated Rendering利用眼动追踪仅以高细节渲染用户正在观看的内容。其他所有内容都可以以较低的细节呈现。
虽然在观看这样的屏幕快照时相当明显,但据报道它在VR中对用户不可见。
现有的主流耳机尚不包括眼动追踪功能,但是有一些售后解决方案可增加眼动追踪功能。此外,渲染过程需要少量的附加处理。但是,好处是巨大的。实施中心凹型渲染后,只需要一小部分FOV即可进行高细节渲染,这可以显着提高帧速率。确切的数字取决于实现方式。
此外,这甚至不限于VR耳机。它也可以在台式机显示器上使用(附加了眼动追踪功能,效果有限)。
扩展Byte56的答案,是的,这种事情正在行业中开发。固定凹坑渲染是Valve在其机器人维修演示(https://youtu.be/DdL3WC_oBO4?t=769)和一些商业游戏中使用的一种技术(想到了PSVR的《生化危机7》)。固定的中心渲染不使用眼动追踪功能,但这意味着它可以与当前版本的VR头戴式显示器配合使用,而当前版本尚不具备任何眼动追踪功能。尽管目前Vive应该会提供眼动追踪的升级套件,所以您可能会看到一些AAA VR游戏正在使用该套件。
您不会找到许多与此类事情相关的代码示例,但是Nvidia确实有一些硬件扩展已得到了很好的记录。多分辨率已得到很好的解释,但与硬件相关联。