基于距离估计光线步进的 3D IFS 分形绘制

本文作为本人阅读 Distance Esitmated 3D Fractals 系列文章前 3 篇的笔记及一个扩展,将描述基于距离估计光线步进的任意 3D IFS(Iterated Function Systems)分形的绘制方法。本文首先将对光线步进(ray marching)和原文中的距离估计器(Distance Estimator)做一些简要的说明。之后将分析并给出 Sierpinski 四面体和 Cantor 立方体两个分形的距离估计器。最后会给出将此方法拓展到任意 3D IFS 绘制的算法,并以 Menger 海绵为例进行说明。后两部分均会给出核心代码和本人的绘制结果。

阅读全文

Unity 中的渲染 学习笔记(五)(完)

CatLikeCoding 上的诸多 Unity 系列教程中,关于 Unity 的渲染相关实现的教程的学习笔记,原教程用 20 节讲述了 Unity 自己的渲染相关的一些具体细节。本文是其中 18~20 节,也就是最后 3 节的学习笔记,此 3 节的标题依次为:

  • 18 - Realtime GI, Probe Volumes, LOD Groups
  • 19 - GPU Instancing
  • 20 - Parallax

原教程及其他参考:

阅读全文

Unity 中的渲染 学习笔记(四)

CatLikeCoding 上的诸多 Unity 系列教程中,关于 Unity 的渲染相关实现的教程的学习笔记,原教程用 20 节讲述了 Unity 自己的渲染相关的一些具体细节。本文是其中 13~17 节的学习笔记,此 5 节的标题依次为:

  • 13 - Deferred Shading
  • 14 - Fog
  • 15 - Deferred Lighting
  • 16 - Static Lighting
  • 17 - Mixed Lighting

原教程及其他参考:

阅读全文

Unity 中的渲染 学习笔记(三)

CatLikeCoding 上的诸多 Unity 系列教程中,关于 Unity 的渲染相关实现的教程的学习笔记,原教程用 20 节讲述了 Unity 自己的渲染相关的一些具体细节。本文是其中 9~12 节的学习笔记,此 4 节的标题依次为:

  • 9 - Complex Material
  • 10 - More Complexity
  • 11 - Transparency
  • 12 -Semitransparent Shadows

原教程及其他参考:

阅读全文

Unity 中的渲染 学习笔记(一)

CatLikeCoding 上的诸多 Unity 系列教程中,关于 Unity 的渲染相关实现的教程的学习笔记,原教程用 20 节讲述了 Unity 自己的渲染相关的一些具体细节。本文是其中 1~5 节的学习笔记,此 5 节的标题依次为:

  • 1 - Transform
  • 2 - Shader
  • 3 - Combining Textures
  • 4 - The First Light
  • 5 - Multiple Lights

原教程及其他参考:

阅读全文

用 Unity 学习 PBR(六)环境光照

本文描述了环境光照中的漫反射项与镜面反射项的计算方法,然后给出了在 Unity ShaderLab 中使用 Unity 提供的全局光照工具得到环境光照结果的代码,最后给出了一路下来实现的各个部分结合起来后的效果并与 Unity 自己的 PBR 结果做了一个大致的对比。

参考

阅读全文

用 Unity 学习 PBR(五)漫反射项

本文大致描述了直接光照中的漫反射项中的光滑表面模型与粗糙表面模型。在光滑表面模型中,描述了如何把菲涅尔现象加入 Lambert 公式之中;在粗糙表面模型中,简要介绍了 Disney 漫反射模型、Oren-Nayar 漫反射模型与 Hammon 满反射模型。最后给出了代码实现与在 Unity 中的结果。

参考

阅读全文

用 Unity 学习 PBR(三)几何项

本文先简单介绍了几何阴影函数(Geometry Shadowing Function,GSF)的基本性质,之后大致介绍了 Smith GSF,包括 Smith 遮蔽函数与四种联合遮蔽阴影函数,描述了两个 GGX Smith 高度相关遮蔽阴影函数的近似,最后给出了代码实现与在 Unity 中 GSF 的可视化结果。

参考

阅读全文