我正在我自己的引擎上工作,我正在努力寻找任何技术,在动态场景中实时提供好的反射效果。到目前为止,我发现在动态场景中实时工作的唯一技术是SSR,但是它真的很重,并且有很大的偏差。
拥有多个立方体地图并实时更新它们的想法闪现了我的脑海,但因为这意味着重新扫描场景,这也意味着每一个实时更新的立方体地图都是我无法做的阴影投射。
因此,我的问题是:除了反射探针(cubemap)或屏幕空间反射之外,还有其他技术吗?
游戏的艺术风格,其中的引擎将被使用是基于许多“几乎镜像”的反射,它不是PBR。
对于我正在搜索的内容,编辑要更精确一点:
发布于 2017-03-20 09:12:07
如果只有一个单一的平面镜像表面,解决办法是渲染场景的两倍,一次正常。之后,使用模具标记镜像可见的区域。
然后只绘制到那个区域,你再次渲染场景,但是将它反射到镜子的平面周围,并在镜子的另一边剔除任何几何形状。
发布于 2017-03-23 16:56:42
如果你想要一个实时的解决方案(没有烘焙),并且只需要一个反射反射,你可以尝试生成(或更新)每帧场景的立方体地图,如本GTA5 5图形学研究所描述的。
这个解决方案应该在一般情况下起作用(当cubemap探针位于场景的对象时,一定要处理这种情况)。
如果呈现立方体的六个面--每个帧看起来太重了--您可以尝试一次只更新一张脸。然后,您可以在更新faces时使用某种平均值函数,以便每个帧之间的更改看起来更流畅。
这只是一个想法,有许多其他的解决方案,你可以想到。
https://computergraphics.stackexchange.com/questions/4878
复制相似问题