首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >实时动态反射,该走哪条路?

实时动态反射,该走哪条路?
EN

Computer Graphics用户
提问于 2017-03-20 02:39:18
回答 2查看 4.5K关注 0票数 6

我正在我自己的引擎上工作,我正在努力寻找任何技术,在动态场景中实时提供好的反射效果。到目前为止,我发现在动态场景中实时工作的唯一技术是SSR,但是它真的很重,并且有很大的偏差。

拥有多个立方体地图并实时更新它们的想法闪现了我的脑海,但因为这意味着重新扫描场景,这也意味着每一个实时更新的立方体地图都是我无法做的阴影投射。

因此,我的问题是:除了反射探针(cubemap)或屏幕空间反射之外,还有其他技术吗?

游戏的艺术风格,其中的引擎将被使用是基于许多“几乎镜像”的反射,它不是PBR。

对于我正在搜索的内容,编辑要更精确一点:

  • 我不需要不止一次弹跳。
  • 我不想要任何不能在“装货时间”进行的烘焙。
  • 我更喜欢这种技术是否适用于每像素的法线,但如果你知道一种与每顶点法线一起工作的技术,我也是开放的。
  • 我对只在特定情况下工作的技术开放(比如小场景,延迟渲染等等)。只要符合其他要求。
  • 如果你的技术是全球照明技术的一个特点,我也是开放的,但我更希望它能独立工作。
  • 如果它可以轻松地支持GGX,那么它会更好,但不是必需的。
  • 只要艺术家能预料到,不准确就不是问题。
EN

回答 2

Computer Graphics用户

发布于 2017-03-20 09:12:07

如果只有一个单一的平面镜像表面,解决办法是渲染场景的两倍,一次正常。之后,使用模具标记镜像可见的区域。

然后只绘制到那个区域,你再次渲染场景,但是将它反射到镜子的平面周围,并在镜子的另一边剔除任何几何形状。

票数 2
EN

Computer Graphics用户

发布于 2017-03-23 16:56:42

如果你想要一个实时的解决方案(没有烘焙),并且只需要一个反射反射,你可以尝试生成(或更新)每帧场景的立方体地图,如本GTA5 5图形学研究所描述的。

这个解决方案应该在一般情况下起作用(当cubemap探针位于场景的对象时,一定要处理这种情况)。

如果呈现立方体的六个面--每个帧看起来太重了--您可以尝试一次只更新一张脸。然后,您可以在更新faces时使用某种平均值函数,以便每个帧之间的更改看起来更流畅。

这只是一个想法,有许多其他的解决方案,你可以想到。

票数 2
EN
页面原文内容由Computer Graphics提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://computergraphics.stackexchange.com/questions/4878

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档