viewrect变化时,是否应该算作cameracut

如图,在修改cine camera的sensor width/height的时候,view rect会每帧发生变化,这个时候,其实每一帧的color/depth/velocity的有效数据的屏幕范围是发生变化的。理论上超分算法里应该需要丢弃历史帧,但是我发现在TSR里camera cut并不是true。请问,此时,是否应该开启camera cut才是合理的

<br/>

<br/>

[Image Removed]

[Attachment Removed]

想先了解下你目前的需求和问题表现:是实时需要改摄像机的画幅?目前具体遇到了什么问题表现?

画幅的变化在现实中会影响到很多表现,除了长宽比还有DOF​,因此理论上不仅仅影响到尺寸比例,画面效果是不同的。

另外抛弃历史帧意味着一系列的问题,比如残影等。如果镜头是转(cut)的的确没问题,而且应该如此;但如果镜头是连续的如何接受?

因此目前希望先了解具体的问题表现,以及你们期待的表现。

[Attachment Removed]

我思考了一下,TSR这种确实不会有问题。主要是参考DLSS跟FSR4这些依赖AI Core的算法,修改view rect是需要重新建模的,这就会导致游戏掉帧。比如一张1024*1024的Color输入,N帧的View Rect是1000*1000,N+1帧变成900*900,那么N+1帧的900-1000的区域的颜色就会变成脏数据,因为不会执行clear。针对这个问题目前想到的是把这个脏区域手动clear一下,这样输入DLSS的view rect就不需要每帧变化,从而避免掉帧。不知道EPIC有没有其他想法

[Attachment Removed]

你好,你并没有回答我的问题。也不知道现在具体视觉上问题表现是什么。了解需求或具体问题本身是为了寻求更广解决问题思路。比如我的猜测你可能需要实时去改变画幅,这种画幅的调整主要目的是实现(长宽)比例的变化(尽管现实中画幅调整带来视效改变远超过仅仅比例的变化,而且现实中不可能有这样的连续变化)。如果仅是长宽比例变化的需求,也许根本就不需要(更准确地是不应该)去动sensor的长宽数值,尝试使用后期做也许就可以了。

鉴于你提到具体问题超出我的能力范围,我会转给熟悉渲染的程序同学,看下他们是否有想法

[Attachment Removed]

Hi,

我的理解viewrect变化应该不需要清掉历史帧,理论上View Rect从1000变到900,历史的900-1000的数据不会直接影响900里的画面,不知道你说的手动clear脏区域和不clear,有明显的变化吗?

[Attachment Removed]