09 2017 档案
摘要:接着上篇文章,我们实现了SSR效果。 其中的在屏幕空间进行光线追踪的方法是通用的。借此我们再实现一种屏幕空间的效果,即屏幕空间阴影。 文中的图片来自Catlike coding http://catlikecoding.com/unity/tutorials/rendering/part 7/ 完成
阅读全文
摘要:第四部分讲一下如何在2D屏幕空间步进光线。 http://casual effects.blogspot.com/2014/08/screen space ray tracing.html 中的代码感觉不太好理解,这里的代码是按照我自己的理解去重新实现的简单版,在效率上可能不如这个网址中的代码。 3
阅读全文
摘要:本篇讲一下相交检测的优化。有两个措施。 线段相交检测 之前的检测都是检测光线的终点是否在物体内。我们可以尝试检测光线的线段是否与物体相交。 比如说有一个非常薄的物体,光线差不多垂直于它的表面。如果用普通的方法的话,这个平面可能就会被光线跳过了。 我们将一个像素的厚度看做一维数轴上的一条线段,起点是其
阅读全文
摘要:traceRay函数 在上一篇中,我们有如下签名的traceRay函数 其中的参数意义都很明了。start和direction是相机空间下的光线起点,以及光线方向。 traceRay的核心代码并不复杂,如下: 相交检测 最简单的方式 最简单的,如果该像素的深度大于当前光线的深度(离相机更远),此时我
阅读全文
摘要:本篇文章我会介绍一下我自己在Unity中实现的SSR效果 出发点是理解SSR效果的原理,因此最终效果不是非常完美的(代码都是够用就行),但是从学习的角度来说足以学习到SSR中的核心算法。 如果对核心算法没有兴趣,可以直接使用Unity官方的PostProcessing库,其中包含了一个SSR效果。(
阅读全文
摘要:http://youxiputao.com/articles/11839 主要是参考该篇文章做一个微小的复盘。 漫反射与高光 文章中的漫反射与高光并不是类似于普通的 resultCol = Diffuse(...) + Specular(...) 而是更贴近实际的cg绘画流程中的,基色+阴影色+高光
阅读全文