本篇文章我会介绍一下我自己在Unity中实现的SSR效果 出发点是理解SSR效果的原理,因此最终效果不是非常完美的(代码都是够用就行),但是从学习的角度来说足以学习到SSR中的核心算法。 如果对核心算法没有兴趣,可以直接使用Unity官方的PostProcessing库,其中包含了一个SSR效果 ...
本篇讲一下相交检测的优化。有两个措施。 线段相交检测 之前的检测都是检测光线的终点是否在物体内。我们可以尝试检测光线的线段是否与物体相交。 比如说有一个非常薄的物体,光线差不多垂直于它的表面。如果用普通的方法的话,这个平面可能就会被光线跳过了。 我们将一个像素的厚度看做一维数轴上的一条线段,起点是其深度。同时将光线的起点 终点的深度值也用同样的方法看做一条线段。此时我们去检测这两条线段是否有重合。 ...
2017-09-22 15:02 0 1748 推荐指数:
本篇文章我会介绍一下我自己在Unity中实现的SSR效果 出发点是理解SSR效果的原理,因此最终效果不是非常完美的(代码都是够用就行),但是从学习的角度来说足以学习到SSR中的核心算法。 如果对核心算法没有兴趣,可以直接使用Unity官方的PostProcessing库,其中包含了一个SSR效果 ...
第四部分讲一下如何在2D屏幕空间步进光线。 http://casual-effects.blogspot.com/2014/08/screen-space-ray-tracing.html 中的代码感觉不太好理解,这里的代码是按照我自己的理解去重新实现的简单版,在效率上可能不如这个网址中的代码 ...
traceRay函数 在上一篇中,我们有如下签名的traceRay函数 其中的参数意义都很明了。start和direction是相机空间下的光线起点,以及光线方向。 traceRay的核心代码并不复杂,如下: 相交检测 最简单的方式 最简单的,如果该像素的深度大于当前光线的深度 ...
SSSR进一步调优,对标寒霜级技术水平,实现方式为Direct3D 11+自主实现实时渲染引擎,方法为对比测试。实现已经有段时间了,还是简要更新下吧。以下画面中的SSSR效果全部采用1:4 resolves。如下4个图,全1080p,分别是:"全屏tracing+全屏resolve"(2个图 ...
参考文章: https://www.imgtec.com/blog/implementing-fast-ray-traced-soft-shadows-in-a-game-engine/ 完成的工程: ...
接着上篇文章,我们实现了SSR效果。 其中的在屏幕空间进行光线追踪的方法是通用的。借此我们再实现一种屏幕空间的效果,即屏幕空间阴影。 文中的图片来自Catlike coding http://catlikecoding.com/unity/tutorials/rendering/part-7 ...
作者:i_dovelemon 日期:2020-06-23 主题:Screen Space Planar Reflection, Compute Shader 引言 前段时间,同事发来一篇讲述特化版本的 Screen Space Reflection 实现 Planar ...
之前的人皮渲染相关 前篇1:unity3d Human skin real time rendering 真实模拟人皮实时渲染 前篇2:unity3d Human skin real time rendering plus 真实模拟人皮实时渲染 plus篇 SSS:Unity ...