17 - Games101 - 笔记 - 材质与外观

这篇具有很好参考价值的文章主要介绍了17 - Games101 - 笔记 - 材质与外观。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

**17 **材质与外观

材质与BRDF

自然界中的材质:丝绸、头发、蝴蝶翅膀表面、寿司表面等等
图形学中的材质:同一个模型之所以渲染出不同结果的原因就是因为材质。在图形学中是给不同的物体指定不同的材质,知道它们如何和光线作用后就能正确的渲染。

17 - Games101 - 笔记 - 材质与外观,games101系列笔记及其作业,笔记,材质,图形渲染

漫反射 BRDF

漫反射材质:光线打到一个点上后均匀分散到各个不同方向上。

17 - Games101 - 笔记 - 材质与外观,games101系列笔记及其作业,笔记,材质,图形渲染

漫反射材质可以定义它在任何一个点上可以有不同的漫反射系数,虽然都是漫反射,但各个点的光被吸收的不同,所以会显示出不同的颜色。

17 - Games101 - 笔记 - 材质与外观,games101系列笔记及其作业,笔记,材质,图形渲染

17 - Games101 - 笔记 - 材质与外观,games101系列笔记及其作业,笔记,材质,图形渲染

Glossy BRDF

17 - Games101 - 笔记 - 材质与外观,games101系列笔记及其作业,笔记,材质,图形渲染

Glossy材质,不完全镜面反射,也就是抛光金属。

BSDF=BRDF+BTDF

折射:一根光线打进来,一部分能量沿着镜面反射出去;有一部分能量却进到物体内部,这叫折射。
这种材质是玻璃或者水。

17 - Games101 - 笔记 - 材质与外观,games101系列笔记及其作业,笔记,材质,图形渲染

反射BRDF和折射BTDF共同称为散射BSDF

反射BRDF

反射定律:对于镜面物体有一个入射方向,法线方向,出射方向,入射角等于出射角。

反射公式:

  • 平行四边形法则
  • 投影

17 - Games101 - 笔记 - 材质与外观,games101系列笔记及其作业,笔记,材质,图形渲染

折射BTDF

斯内尔定律:入射角的正弦和折射角的正弦,它们之间满足折射率相乘相等的关系。

17 - Games101 - 笔记 - 材质与外观,games101系列笔记及其作业,笔记,材质,图形渲染

折射角的计算:

17 - Games101 - 笔记 - 材质与外观,games101系列笔记及其作业,笔记,材质,图形渲染

折射方向的计算:

17 - Games101 - 笔记 - 材质与外观,games101系列笔记及其作业,笔记,材质,图形渲染

17 - Games101 - 笔记 - 材质与外观,games101系列笔记及其作业,笔记,材质,图形渲染

全反射现象BTDF:
再来看折射角公式:

17 - Games101 - 笔记 - 材质与外观,games101系列笔记及其作业,笔记,材质,图形渲染

例:

17 - Games101 - 笔记 - 材质与外观,games101系列笔记及其作业,笔记,材质,图形渲染

菲涅尔项

日常生活中可以发现,物体的反射率与观察角度有关。

17 - Games101 - 笔记 - 材质与外观,games101系列笔记及其作业,笔记,材质,图形渲染

对于绝缘体来说观察角度与法线夹角越大,反射的程度就越大,如下图:

17 - Games101 - 笔记 - 材质与外观,games101系列笔记及其作业,笔记,材质,图形渲染

导体(金属)与绝缘体不同,他的反射率与夹角呈如下关系:

17 - Games101 - 笔记 - 材质与外观,games101系列笔记及其作业,笔记,材质,图形渲染

菲涅尔项公式(精确)

17 - Games101 - 笔记 - 材质与外观,games101系列笔记及其作业,笔记,材质,图形渲染

微表面理论 Microfacet Material

镜面反射项推导

对于一个物体如果我们离得足够远,很多微小的东西是看不到的,看到的是他们总体对表面的作用。
微平面理论,就是从微观的角度去分析,其认为任意物体的表面在到达微观的尺度之后,都是由许许多多的更小的镜面所组成的:
17 - Games101 - 笔记 - 材质与外观,games101系列笔记及其作业,笔记,材质,图形渲染
远处(macrosurface)看材质 近处(microsurface)看几何

微表面BRDF的核心是认为每个微表面都有自己的法向量,它们的分布对整体的法向量有贡献。
17 - Games101 - 笔记 - 材质与外观,games101系列笔记及其作业,笔记,材质,图形渲染
Glossy的微表面法向量分布与整体几乎一致,而diffuse较为分散。

微表面镜面反射项公式
17 - Games101 - 笔记 - 材质与外观,games101系列笔记及其作业,笔记,材质,图形渲染

17 - Games101 - 笔记 - 材质与外观,games101系列笔记及其作业,笔记,材质,图形渲染

17 - Games101 - 笔记 - 材质与外观,games101系列笔记及其作业,笔记,材质,图形渲染

17 - Games101 - 笔记 - 材质与外观,games101系列笔记及其作业,笔记,材质,图形渲染

17 - Games101 - 笔记 - 材质与外观,games101系列笔记及其作业,笔记,材质,图形渲染

17 - Games101 - 笔记 - 材质与外观,games101系列笔记及其作业,笔记,材质,图形渲染

17 - Games101 - 笔记 - 材质与外观,games101系列笔记及其作业,笔记,材质,图形渲染

17 - Games101 - 笔记 - 材质与外观,games101系列笔记及其作业,笔记,材质,图形渲染

17 - Games101 - 笔记 - 材质与外观,games101系列笔记及其作业,笔记,材质,图形渲染

17 - Games101 - 笔记 - 材质与外观,games101系列笔记及其作业,笔记,材质,图形渲染

17 - Games101 - 笔记 - 材质与外观,games101系列笔记及其作业,笔记,材质,图形渲染

区分材质

材质可以分为两类:

  • 各向同性:微表面法线分布均匀
  • 各项异性:微表面法线分布有明确的方向性

各项异性的BRDF

  • 和方向角(绝对立体角)有关
  • 拉丝金属(钢锅底)、尼龙、天鹅绒

BRDFs的性质

17 - Games101 - 笔记 - 材质与外观,games101系列笔记及其作业,笔记,材质,图形渲染
17 - Games101 - 笔记 - 材质与外观,games101系列笔记及其作业,笔记,材质,图形渲染
17 - Games101 - 笔记 - 材质与外观,games101系列笔记及其作业,笔记,材质,图形渲染文章来源地址https://www.toymoban.com/news/detail-846411.html

  • 非负性:能量的分布
  • 线性性质:Blinn-Phong
  • 可逆性
  • 能量守恒
  • 各向同性/异性

BRDFs的测量

  • 测量的原因:理论准确,直接测出来,能测出来的就不用计算了。
  • 做法:枚举所有camera和光源的入射出射方向
  • 著名BRDF库:MERL BRDF Database

到了这里,关于17 - Games101 - 笔记 - 材质与外观的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • GAMES101:作业3

    附其他所有作业超链接如下: Games101 作业0: 作业0 Games101 作业1: 作业1 Games101 作业2: 作业2 Games101 作业3: 作业3 Games101 作业4: 作业4 Games101 作业5: 作业5 Games101 作业6: 作业6 Games101 作业7: 作业7 完整代码获取途径: https://github.com/liupeining/Games_101_homework 照旧把这段代码

    2024年02月04日
    浏览(37)
  • GAMES101 作业0

    课上提供的环境是Linux, 还需要安装Vitrual Box和创建虚拟机,省事就直接在Windows系统下Visual Studio下操作了。 简单的环境配置: 下载Eigen 的库 在工程属性中添加目录: 2处地方 注意: 刚添加完后,我新建main.cpp后, 引入头文件 路径也没有设置错啊,但是就是找不到。 直到看

    2024年02月16日
    浏览(40)
  • games101 作业3

    1.项目才打开时无法运行。 解决方法: 切换成c++17 解决方法引用: Games101 作业3 环境问题 - 知乎  注:知乎里面的关于越界限制的控制不适用,虽然可以解决部分作业的问题,但是在bump里面依然会出现越界错误。应该用以下大佬的代码。  2.出现越界错误   解决方法: 在头

    2023年04月25日
    浏览(35)
  • 【GAMES101】作业1(提高)与框架理解

    本次作业的任务是填写一个旋转矩阵和一个透视投影矩阵。给定三维下三个点 v0(2.0, 0.0, −2.0), v1(0.0, 2.0, −2.0), v2(−2.0, 0.0, −2.0), 你需要将这三个点的坐标变换为屏幕坐标并在屏幕上绘制出对应的线框三角形 (在代码框架中,我们已经提供了 draw_triangle 函数,所以你只需要去

    2023年04月12日
    浏览(37)
  • 【GAMES101】作业5 简单光线追踪与代码流程理解

    在这部分的课程中,我们将专注于使用光线追踪来渲染图像。在光线追踪中最重要的操作之一就是找到光线与物体的交点。一旦找到光线与物体的交点,就可以执行着色并返回像素颜色。在这次作业中,我们需要实现两个部分:光线的生成和光线与三角的相交。本次代码框架

    2024年02月06日
    浏览(36)
  • 【GAMES101】作业7(提高)路径追踪 多线程、Microfacet(全镜面反射)、抗锯齿

    在之前的练习中,我们实现了 Whitted-Style Ray Tracing 算法,并且用 BVH等加速结构对于求交过程进行了加速。在本次实验中,我们将在上一次实验的基础上实现完整的 Path Tracing 算法。至此,我们已经来到了光线追踪版块的最后一节内容。 相比上一次实验,本次实验对框架的修改

    2023年04月08日
    浏览(39)
  • Games101学习笔记1

    2023-08-10开始接触图形学 参考博客:GAMES101 梳理 / 个人向图形学笔记_games101笔记_river_of_sebajun的博客-CSDN博客  向量的长度 向量的单位化  向量的点乘 点乘结果是一个数字,叉乘结果是垂直已知向量的向量  b向量投影到a向量上  矩阵的乘法 二维变换 线性变换    切边  旋转

    2024年02月13日
    浏览(35)
  • Games101笔记-模型、视图、投影

    在旋转点,旋转矩阵的逆等于矩阵的转置 左边3*3是线性变换,右边一列是仿射变换(平移) 先线性再平移 x叉乘y得到z,y叉乘z得到x, xyz给任何两个可以得到另一个 (循环对称) z叉乘x得到y,所以y是反的 任意绕3d轴旋转可以分解为绕x,y,z轴旋转。三个角为欧拉角 罗德里格斯旋

    2024年03月19日
    浏览(49)
  • Games101学习笔记 - 变换矩阵基础

    缩放变换 : 1均匀缩放 2不均匀缩放 注意:上图是默认二维旋转的是以远点为圆转重心,并且逆时针旋转 旋转矩阵推导原理: 引入原因: 上面说了ax + by 的方式都可以写成矩阵的形式,但是平移的操作的公式如下,不能写成矩阵的形式。 只能写成如下: 为了同意变换,让他

    2024年02月15日
    浏览(29)
  • GAMES101 计算机图形学 | 学习笔记 (上)

    1. C++中安装opencv库 2. C++中安装eigen库 3. C++中安装openGL库 步骤(1)glut下载 4. C++安装openGL库 步骤(2)VS中安装两个NuGet程序包 5. C++安装glew和glfw工具库 要注意的是 glew.h必须包含再glut.h之前 。 如下: 计算机图形学是利用计算机技术进行图像和视觉内容的创建、处理和显示的领

    2024年02月03日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包