繁体   English   中英

为每个场景渲染目标,进行过渡

[英]Render target for each scene, for transitions

我试图提出一个过渡的一般概念,而不必在实际场景中包含任何特定的代码。 到目前为止,在我所看到的所有示例中,场景本身都可以解决这些问题。 就像淡入/淡出一样,为了正确的透明度,场景必须调整其绘制方法。 但是,不仅在每个场景中都有这种烦人的感觉,而且通过多种转换,您会很快得到混乱的代码。

所以我一直在想。 我想出的唯一方法来支持这一点,而更复杂的过渡(而不在场景本身中进行处理)是每个场景的渲染目标。 在调用draw方法之前,可以从场景管理器中设置渲染目标。 绘制后,渲染目标将重置为管理器的渲染目标,并且场景的纹理将绘制有关当前过渡的信息。 如果不清除管理器纹理,则如果必须绘制更多场景,则会出现更多场景。 这样,您几乎可以做任何事情(明智的过渡方式),场景将完全相互独立,并且在实际场景中不需要一行过渡代码。 (作为参考,我希望能够执行多种过渡类型。不仅淡入淡出,而且还包括着色器效果,在“推开”当前场景的同时移动一个场景等),涉及一个或多个场景。 )

好吧,那是我的理论。 我的问题来了:这听起来像可行的计划吗? 这是要走的路吗? 我已经阅读过频繁切换渲染目标时的性能问题以及其他问题,这是我犹豫实现此问题的主要原因。 但是到目前为止,我还没有想到或找到更好的方法。 尽管我认为这没有什么区别,但目前我只关心2D(以防万一)。

通常,这是一种合理的方法,但要提防目标转换成本。 另外,如果要在过渡时为每个场景设置动画,则可以将两个场景同时渲染到两个不同的渲染目标中,然后将结果合成到屏幕上。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM