问题六十八:BRDF——(着色模型(shading model)(1)——反射模型(reflection model)(3.2))
来源:互联网 发布:win8风格网站源码 编辑:程序博客网 时间:2024/05/21 23:45
1 BRDF
1.1 BRDF
在前一章节,我们已经知道,在给图形着色时,反射光线的辐射率(Radiance)即为颜色值。结合之前的反射模型,我们知道:反射光线在某方向的辐射率可以根据入射光线的强度和入射光线的角度来进行计算。
从“式子1”中,我们可以看到:BRDF的值和入射光线的强度、方向,反射光线的强度、方向有关。值得说明的是:BRDF是物体表面的物理属性。不同的入射光线到达物体表面,该属性决定离开物体表面时的反射光线是什么样的。
问:BRDF为什么定义为反射光线辐射率和入射光线辐照度的比值?
答:反射光线用辐射率的原因是:前面有提过,在计算机图形中,辐射率对应的就是颜色值;至于为什么用入射光线的辐照度而不是入射光线的辐射率,这个和测试仪有关:在辐射率章节,我们有说明过辐射率测量仪不适合测试入射光线(即入射光线的辐射率没法测量);而入射光线的辐照度的测量很容易完成。实际使用的BRDF都是预先测试好的,而编程过程中BRDF只是一个简单的系数。
根据辐射率和辐照度的定义:
1.2 反射光线在某方向的辐射率
我们先学习了辐射学,然后通过辐射学引入BRDF,其实主要是为了更严谨地计算“反射光线在某方向的辐射率”。
重复贴图如下:
根据前面学习过的反射模型,一束入射光线撞击物体表面后在物体表面上方的任何方向都有可能产生反射光线。有的方向是漫反射光线,有的方向是高光反射光线,有的方向是漫反射光线和高光反射光线的叠加。
由上图,我们需要知道的是,“任何方向都有反射光线,只是光线强度大小可能不同”。
根据BRDF,则可以求出任意方向的反射光线的强度(辐射率)。
由“式子3”得到:
1.3 光通量的反射率(Reflectance)
2 漫反射的BRDF
3 高光反射的BRDF
Referrance
[1]. Andrew S. Glassner, An Introduction toRay Tracing, Xerox PARC, 1989.
[2]. Matt Pharr, Greg Humphreys,Physically-Based Render, 3rd, Elsevier Inc., 2016.
[3]. Kevin Suffern, Ray Tracing from theGround Up, A K Peters Ltd, 2007.
[4]. Perter Shirley, Steve Marschner,Fundamentals of Computer Graphics, 3rd, Taylar & Francis Group, LLC, 2009.
[5]. John F. Hughes, Andries Van Dam,Morgan Mcguire, David F. Sklar, James D. Foley, Steven K. Feiner, Kurt Akeley,Computer Graphics: Principles and Practice, Pearson Education, Inc. 2014.
[6]. Tomas Akenine-Moller, Eric Haines,Naty Hoffman, Real-Time Rendering, A K Peters Ltd, 2008.
[7]. Michael F. Cohen, John R. Wallace,Radiosity and Realistic Image Synthesis, Academic Press, Inc., 1993.
[8]. http://www.raytracegroundup.com/
[9]. http://www.realtimerendering.com/
[10]. https://zhuanlan.zhihu.com/p/21376124
- 问题六十八:BRDF——(着色模型(shading model)(1)——反射模型(reflection model)(3.2))
- 问题六十八:着色模型(shading model)(1)——反射模型(reflection model)(2.2)——高光反射(specular reflection)
- 问题六十八:着色模型(shading model)(1)——反射模型(reflection model)(2.1)——漫反射(diffuse reflection)
- 问题六十八:着色模型(shading model)(1)——反射模型(reflection model)(3.1)——辐射学(Radiometry)
- 问题六十八:着色模型(shading model)(1)——反射模型(reflection model)(1)——概述
- 问题六十八:着色模型(shading model)(2)——光照模型(Light model)
- 问题六十八: 着色模型(shading model)(0)——《Ray Tracing from the Ground Up》代码的移植
- 问题六十八:光照模型(Light model)——关于“环境光”模型的补充
- Ogre着色方式和光照模型(shading mode vs lighting model)
- Ogre着色方式和光照模型(shading mode vs lighting model)
- 【Unity Shaders】Diffuse Shading——创建一个自定义的diffuse lighting model(漫反射光照模型)
- 模型(Model)类
- Django06模型(Model)
- QT——模型/视图(model/view)
- Django学习笔记(三)—— 模型 model
- Hibernate学习笔记—模型类(model)的规范
- Yii2—模型(Model)
- Yii2—模型(Model)
- 2017,云计算的机遇在哪里
- 获取索引初始化设置
- Java中计算两个日期间隔多少天
- 最全的android各国语言对照表
- 第二十九章 SpringBoot自定义事件
- 问题六十八:BRDF——(着色模型(shading model)(1)——反射模型(reflection model)(3.2))
- 凸包算法
- RecyclerView的使用
- hiho一下 第117周 #1393 : 网络流三·二分图多重匹配 【网络流--增加源点-汇点 Ford-Fulkerson算法】
- android:screenOrientation属性
- 机器学习之相对熵
- weex官方demo weex-hackernews代码解读(1)
- 78. Subsets ,90. Subsets II(待研究)---位运算法(重要和Combination Sum一系列的题目类似)
- Windows Error 错误代码全解