自从CE3首倡SSR以来,发展至今,其质量与当年早已不能同日而语.不仅强调超越性的质量,而且强调超越性的性能.乘着周末有空撸了撸,以下是增强型实时SSR结果图.与我原来的SSR原始实现相比,新的增强型实现采样数量 x 1/8,质量提升8x,在没有特别重度优化的前提下,1080p 1:4 resolve的单帧性能增量均值可控制在4ms上下(原始版本720p需要将近15ms...).…
SSSR进一步调优,对标寒霜级技术水平,实现方式为Direct3D 11+自主实现实时渲染引擎,方法为对比测试.实现已经有段时间了,还是简要更新下吧.以下画面中的SSSR效果全部采用1:4 resolves.如下4个图,全1080p,分别是:"全屏tracing+全屏resolve"(2个图) v.s. "1/4全屏trace+1/4全屏resolve" (2个图).为便于对比测试,特地没对反射效果加双边滤波.你觉得哪个效果棒?如果不看对比的话,你会接受1/4分辨率…
本篇文章我会介绍一下我自己在Unity中实现的SSR效果 出发点是理解SSR效果的原理,因此最终效果不是非常完美的(代码都是够用就行),但是从学习的角度来说足以学习到SSR中的核心算法. 如果对核心算法没有兴趣,可以直接使用Unity官方的PostProcessing库,其中包含了一个SSR效果.(其实现来自于casual effects) 参考资料: https://github.com/Unity-Technologies/PostProcessing http://www.kode80.c…
第四部分讲一下如何在2D屏幕空间步进光线. http://casual-effects.blogspot.com/2014/08/screen-space-ray-tracing.html 中的代码感觉不太好理解,这里的代码是按照我自己的理解去重新实现的简单版,在效率上可能不如这个网址中的代码. 3D空间的光线步进 原本的实现中,我们得到光线后,将其在3D空间中进行步进,再投影到2D空间上.在投影过后,3D空间中均匀的采样点在2D空间中就不是均匀分布的了. (图来自 http://casual-…
traceRay函数 在上一篇中,我们有如下签名的traceRay函数 bool traceRay(float3 start, float3 direction, out float2 hitPixel, out float3 debugCol ) { } 其中的参数意义都很明了.start和direction是相机空间下的光线起点,以及光线方向. traceRay的核心代码并不复杂,如下: #define RAY_LENGTH 2.0 #define STEP_COUNT 64 //maxim…
本篇讲一下相交检测的优化.有两个措施. 线段相交检测 之前的检测都是检测光线的终点是否在物体内.我们可以尝试检测光线的线段是否与物体相交. 比如说有一个非常薄的物体,光线差不多垂直于它的表面.如果用普通的方法的话,这个平面可能就会被光线跳过了. 我们将一个像素的厚度看做一维数轴上的一条线段,起点是其深度.同时将光线的起点.终点的深度值也用同样的方法看做一条线段.此时我们去检测这两条线段是否有重合.有的话则证明相交. 用这种方法可以解决薄的物体被跳过的问题. bool intersect(floa…
http://www.crytek.com/cryengine/presentations/secrets-of-cryengine-3-graphics-technology 很多宝贝里面 不止题目那俩 soft alpha test不用msaa的话用后处理 screen space reflection用 ray tracing ******************************************* screen space reflection /real time loc…
目录 Reflective Shadow Maps(RSM) RSM 的重要性采样 RSM 的应用与缺陷 Screen Space Ambient Occulsion(SSAO) SSAO Blur Horizon Based Ambient Occlusion(HBAO) SSAO 的应用与缺陷 Screen Space Directional Occlusion(SSDO) SSDO 的应用与缺陷 Screen Space Reflection(SSR)/Screen Space Ray T…
作者:i_dovelemon 日期:2020-06-23 主题:Screen Space Planar Reflection, Compute Shader 引言 前段时间,同事发来一篇讲述特化版本的 Screen Space Reflection 实现 Planar Reflection 的文章.出于好奇,实验了下,看看效果如何.如下是目前实现出来的基础版本的效果: 原理 对于上图来说, Water Plane 表示水面,上半部分为实际场景的山体,下半部分为以水面为镜像进行反射之后的山体效果.…
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将追究法律责任!原文链接:http://www.cnblogs.com/jiangzhengjun/p/4292407.html 输出到PDF打印 列表屏幕(List Screen) 生成列表屏幕 在START-OF-SELECTION事件处理块中,用WRITE语句向列表缓冲区(List Buffer…