图形学
文章平均质量分 93
bill2ccssddnn
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Unity实时反射——AngryBots示例项目地面实时反射效果剖析
Angry Bots是Unity安装程序自带的开源示例项目。该示例项目虽然已经发布很久了,但是其很多设计和实现仍然具有参考价值。运行该项目仔细观察,可以发现其雨天地面效果是实时反射的。这里我们先阐明实时反射的原理,然后分析其绘制流程。构造反射相机视图矩阵反射相机的视图矩阵由反射矩阵变换得到,反射矩阵由反射平面确定,下面列出反射矩阵推导过程。反射位置 反射方向 M1*M2即得到示例代码所示的反射矩原创 2016-03-21 23:20:04 · 7832 阅读 · 0 评论 -
Shadow mapping
Shadow maps是当前(2016)主流的动态阴影技术。该技术优点是比较容易实现,缺点是很难实现得很完美。在这篇教程中,我们先介绍Shadow maps的基础算法,了解它的不足之处,然后采用一些技术来得到更好的效果。因为在目前本文写的时候(2012),Shadow maps仍然是一个重要的研究课题,我们将给你们一些技术方向,这样你们可以根据需求来进一步改进你们自己的Shadow map。翻译 2016-03-12 10:54:28 · 819 阅读 · 0 评论 -
基于物理渲染的理论基础
作者 Jeff Russell基于物理的渲染(PBR)是近来实时渲染领域的趋势。PBR经常被提及,同时它的准确定义也经常被混淆。这里我们将来解释什么是PBR,它与之前的渲染模式区别在哪里?这篇文档的目标读者是非技术人员(主要是美术人员),文档中将不会出现任何数学公式或代码。 基于物理的着色(PBS)跟之前着色方式最大的区别在于PBS是建立在对光和物体表面行为准确推论的基础上的。当前硬件着色性能已经翻译 2016-05-29 19:07:52 · 2139 阅读 · 0 评论 -
HDR in OpenGL
HDRFramebuffer中的亮度和颜色值的范围被限制在0.0和1.0之间。我们在场景中设置光和颜色的时,也只能这个范围取值。这么做大部分情况下是OK的,结果也还可以,但是当场景中有一块多光源,亮度总合超过1.0的区域时,结果是什么样的?答案是所有的亮度或颜色值超过1.0的片段被直接截断到1.0。这并是我们想要的结果! 由于大量的片段亮度或颜色被直接截断到1.0,所以这些被截断的片段存的值都是白翻译 2016-05-09 14:35:36 · 2862 阅读 · 0 评论 -
BRDF模糊环境光照的简单实现
1. 介绍基于物理的渲染系统用双向反射分布函数(BRDF)来描述物体表面的反射表现。BRDF考虑物体表面各个方向的入射光(环境光)而不是仅仅计算某单一方向的入射光。近年的大量相关研究投入到如何实现环境光照效果与硬件渲染相结合。然而,其大部分的实现过于复杂,而且对硬件的要求过高。另一方面,众所周知,在BRDF实现的主要特性中,环境光照效果并不要求严格的计算的精确性。所以,后来发展出大量的近似处理技巧来翻译 2016-07-28 19:42:40 · 1274 阅读 · 0 评论 -
模型勾边outline的实现与改进
简述在卡通渲染中一般会涉及到模型勾边。效率最高的方式是在shader中去做。render to texture的实现方式这里不讨论。Shader勾边实现流程大致为:对模型进行2遍(2个pass)绘制,第一遍(勾边pass)在vertex shader中对模型沿顶点法线方向放大,fragment shader设置输出颜色为勾边颜色;第二遍正常绘制模型,除被放大的部分外,其余被覆盖,这样就有了勾边的效果原创 2016-08-08 08:52:30 · 2377 阅读 · 0 评论 -
Normal Mapping
法线贴图技术的使用可以使得低面模型具有与高模接近的光照表现。这可极大的提高实时渲染的效率。下面的截图做了很好的对比: How it works模型的光照表现跟其表面的法线分布密切相关,一般参与逐像素光照计算的法线由模型顶点间的法线光栅化插值得到,可以想象由少量三角面构成的表面插值得到的法线会比较平均。而法线贴图技术就是在不增加模型面数,渲染时用贴图采样得到的法线代替插值得到的法线来参与光照计算。原创 2016-10-31 22:14:41 · 654 阅读 · 0 评论 -
伽马空间与线性空间
随着真实性更高的基于物理渲染(PBR)的到来,线性空间(Linear space)光照计算也越来越被经常提及。虽然线性空间和与之“对立”的伽马空间(gamma space)是简单而重要的概念,但很多开发者对它们的真正意义并不了解。这篇文档将会介绍伽马空间和线性空间、它们之间的区别以及在Unity引擎中的应用。LINEAR SPACE线性空间是什么?简单的说,在线性空间对数字化的颜色和光照强度进行相加翻译 2016-12-01 16:44:59 · 8899 阅读 · 1 评论
分享