计算机图形学【GAMES-101】10、材质(BRDF)(折射、菲涅尔项、微表面模型、各向异性材质)

2023-05-16

快速跳转:
1、矩阵变换原理Transform(旋转、位移、缩放、正交投影、透视投影)
2、光栅化(反走样、傅里叶变换、卷积)
3、着色计算(深度缓存、着色模型、着色频率)
4、纹理映射(重心坐标插值、透视投影矫正、双线性插值MipMap、环境光遮蔽AO)
5、几何(距离函数SDF、点云、贝塞尔曲线、曲面细分、曲面简化)
6、阴影映射(Shadow Mapping)
7、光线追踪原理(线面求交、预处理光追加速)
8、辐射度量学与光线追踪
9、蒙特卡洛路径追踪(Path Tracing)(光源采样)
10、材质(BRDF)(折射、菲涅尔项、微表面模型、各向异性材质)
11、渲染前沿技术介绍(双向路径追踪BDPT、MLT、光子映射、实时辐射度、外观建模)
12、相机(视场、曝光、光圈(F-Stop)、薄棱镜近似、CoC、景深)
13、光场、颜色与感知
14、动画(物理模拟、质点弹簧系统、粒子系统、运动学、动作捕捉、欧拉方法)


Lec17

  • 1 自然界中的材质
  • 2 计算机图形学中的材质
    • 2.1 漫反射材质(BRDF)
    • 2.2 抛光/毛面金属材质(BRDF)
    • 2.3 完全镜面反射+折射材质(BRDF)
      • 2.3.1 镜面反射方向(立体角)计算
      • 2.3.2 折射方向计算
  • 3 菲涅尔项(Fresnel Term)
  • 4 微表面材质(Microfacet Material)
    • 4.1 微表面模型Microfacet Theory/Model
      • 4.1.1 微表面的 BRDF (双向反射分布函数 f(i,o))
  • 5 各向同性/异性材质(BRDF)以及区分方式
  • 6 BRDF的性质总结
  • 7 测量BRDF的方式
  • GAMES101图形学专栏

1 自然界中的材质

  • 首先了解自然界中的材质
    在这里插入图片描述
    如上这幅图,不同的物体、场景、组合,会让我们看到不同的效果
    但是归根到底就一个核心:光线如何传播的,又是如何跟物体作用的。
    研究自然界中的材质,就是在研究光线如何传播

2 计算机图形学中的材质

由于渲染方程是几乎100%正确的,那么方程中一定有一项是描述材质的,材质 == BRDF
如下3D的由四边形组成的模型,右边是渲染后的图,表现为陶瓷杯,为啥就能看出是陶瓷? 因为在渲染方程中通过对BRDF函数的定义,使杯子表现了一定程度的镜面反射+漫反射,给人一种陶瓷感。
在这里插入图片描述

2.1 漫反射材质(BRDF)

在这里插入图片描述
漫反射的BRDF推导过程:

  • 假设入射光是均匀分布在半球上的并且处处相等,漫反射光也同入射光一样,均匀的分布,且处处相等。
  • 由能量守恒可以知道入射的照度Irradiance == 出射的Irradiance,并且入/出射都是均匀分布,那么他们任一单位立体角方向的通量即Radiance必须一样,即 Lo = Li 建立渲染方程如下:
  • 对cosθ在半球上的定积分结果为π,最终可得到完全不吸收能量的漫反射BRDF为:fr = 1 / π
  • 其中还定义了 ρ 反射率albedo,可以是单通道(0~1)、三通道(RGB),从而可以引入不同颜色的漫反射BRDF
    在这里插入图片描述

2.2 抛光/毛面金属材质(BRDF)

这种材质散射规律是在镜面反射方向附近,一小块区域进行均匀的散射,用代码实现的话也很简单,算出镜面反射方向(x,y,z),就以(x,y,z)为球心(圆心也行),随机在球内生成一个点,以反射点到这个点作为真的反射方向。这样的话,高一点的SPP下,就能够均匀的覆盖镜面反射方向附近的一块小区域了
在这里插入图片描述

2.3 完全镜面反射+折射材质(BRDF)

折射方向稍微难算一些,镜面反射方向简单。

这种材质与光的作用方式可分为射入射出(默认折射率η比空气大)

  • 从空气射入材质内部,则一定是镜面反射+折射同时发生
  • 如果从材质内部射入空气,则分两种情况
    • 镜面反射+折射
    • 不满足折射条件,仅镜面反射

在这里插入图片描述

2.3.1 镜面反射方向(立体角)计算

立体角是用 天顶角θ方位角φ 来描述的

  • 反射立体角中的天顶角θ计算
    • 先画图,注意三个方向都是单位向量,入射出射角度相等
    • 根据平行四边形法则,可以构建方程解出出射方向向量:ωo
    • 解释一下:ωi + ωo = 2 · 红线向量,红线向量:cosθi · |ωi|。平行四边形最长的那根对角线长度2cosθi · |ωi| ,|ωi| = 1可以省略,即2cosθi,但这只是个标量,所以用这个标量乘以方向向量n,就得到对角线这一段向量为2cosθi · n ;角度θ用点乘算出。 最终得到下面等式,即可得到出射方向
      在这里插入图片描述在这里插入图片描述
    • 还有一种方法理解起来也很容易:反射方向 = V + 2B
      在这里插入图片描述

这里其实可以看出来,计算镜面反射方向其实还是有那么点麻烦的吧,所以之前进行Blinn-Phong模型着色计算时,高光项判断出射方向是否足够接近镜面反射时,没有用镜面反射方向与出射方向做比较,而是用半程向量half vector跟法线n来比,半程向量计算非常简单:入射+出射然后单位化就行了。

  • 反射立体角中的方位角φ不用计算,他们必然在一个面上,并且相差180°,满足下面这个方程
    在这里插入图片描述

天顶角与方位角的出/入射角满足:

  • 方位角:φo = (φ + π)mod 2π
  • 天顶角:θi = θo

2.3.2 折射方向计算

光从一种介质进入到另一种介质就会发生折射。
第三幅图水底的这种现象称为caustics,这是由于水面凹凸不平,水底某些点会聚集较多的光线,有点聚焦的意思。
在这里插入图片描述在这里插入图片描述在这里插入图片描述
折射方向计算:
斯内尔定律(Snell’s Law): 给出了描述光从一种介质传播到另一种介质时是如何折射的方程:ηisinθi = ηtsinθt
必须知道两种材质的折射率η1,η2,和入射角度θi,然后能得到θt;再根据入射和出射的方位角关系公式,能算出φt。θt和φt组成ωt
在这里插入图片描述
折射发生的条件:

  • 光疏介质->光密介质:必然折射
  • 光密介质->光疏介质:根据入射角度大小,过大可能就没有折射而是全反射
    所以会有一个全反射和折射的临界角
  • 证明:
    由折射方程:ηisinθi = ηtsinθtsin2θ + cos2θ = 1可知
    在这里插入图片描述在这里插入图片描述
  • 看根号内的式子(首先1-cos2θi < 1 恒成立)
    ηit < 1,根号下式子 > 0,等式有意义,必然发生折射 。
    ηit > 1,具体看1-cos2θi 的大小,如果入射角θi比较大,根号下式子可能会 < 0。

例子:水介质和光介质
在这里插入图片描述

  • 两个角度看这张图:
    (1)光从空气射入水中,可以明显看到,空气中不管角度多大都会发生折射
    (2)记住图形学中考虑问题都是摄像机发射光线,光线从水中射入空气,只能看到大概97.2°的一个锥形区域的光,角度再大一点就发生全反射了。所以超过这个锥形区域,其他地方的光都射向水底了,比较黑。

BRDF:双向反射分布函数,用于计算反射光的能量百分比
BTDF:双向透射分布函数,用于计算折射光的能量百分比
BRFD 和 BTDF 统称为双向散射分布函数BSDF(Bidirectional scattering distribution function)

一般生活中也可直接用BRDF,不区分BTDF BSDF

3 菲涅尔项(Fresnel Term)

反射率取决于入射角度,入射光与法线的夹角越大,反射的能量越多

  • 从书上反射出的光,射到桌面然后反弹到人眼中,如果入射光跟法线夹角比较小(左1),则几乎看不到桌面的倒影,即反射能量比较少;当入射光跟法线夹角特别大,几乎接近90°的时候,桌面会形成比较明显的书的倒影,也就是能量衰减得比较少。
    在这里插入图片描述
    入射角度与反射率关系曲线图
    • 绝缘体(非金属)
      可以看到如果一根光线跟法线几乎成90°的话,反射率几乎为1,没有能量损失
      虚线可以不看,这部分是偏振光的性质,实线是两个方向偏振光取平均的结果,看红实线即可
      在这里插入图片描述
  • 导体(金属物品)
    不管什么角度反射率都蛮高的
    在这里插入图片描述
    菲涅尔项的计算
    • 精确计算菲涅尔项(没有必要)
      求s、p偏振光的菲涅尔项,然后取两者的平均作为最终结果
      计算挺复杂,明白这玩意儿跟出/入射角度介质反射率η有关就行了
      在这里插入图片描述
    • 近似计算:Schlick’s approximation(性价比更高)
      • R(θ)函数,自变量θ为入射光线与法线夹角,定义域在[0°,90°],返回值为反射率,值域[0,1]
      • Schlick提出这个计算方式,其实就是重新拟合了一条曲线,近似的表现上面介绍的“入射角度与反射率关系曲线图”。R0就是入射光与法线夹角为0时的反射率。
      • 我们如果代入θ = 0,θ = 90,进去算很容易看出R(0) = R0,R(90) = 1 ,还是比较正确的。这个函数同时适用于导体和绝缘体。
      • n1,n2是两种介质的折射率
        在这里插入图片描述

在这里提到菲涅尔项的目的:引出微表面材质/模型

4 微表面材质(Microfacet Material)

研究微表面材质的动机是什么?—— 因为现实生活中,确实有这种现象存在

  • 如下,卫星拍摄的一幅图, 可以看到那一片高光,很神奇很不对劲,因为这是地球,地球表面是凹凸不平的,但是在目前的角度和距离下,这片高光的效果就跟它表面是个略有粗糙度的平面一样。
  • 只要当视角离得足够远,我们看不到表面的细节,只能看到光对该表面整体的作用结果

在这里插入图片描述

4.1 微表面模型Microfacet Theory/Model

对于看向一个粗糙表面

  • 宏观上:平坦且略有粗糙
  • 微观上:凹凸不平,且每个微元都认为只发生镜面反射

总之,要有这么一个概念:从近处看能看到不同的几何细节,拉远后细节消失,看到的是材质

为什么会发生漫反射?因为粗糙的物体表面在微观上可以看成超级多细小的镜子,他们的朝向/法线各不相同,他们会把光线反射到四面八方.

微表面BRDF

  • 对于glossy毛面的材质,微表面的法线方向其实差不多,
    在这里插入图片描述
    把他们的分布画出来,会集中在宏观的法线周围(宏观即不看微表面,镜头拉远后忽略细节,法线正直朝上)
    材质的效果如右图所示
    在这里插入图片描述在这里插入图片描述
  • 对于特别粗糙的材质,微表面法线分布图(左),渲染效果(右)
    在这里插入图片描述

所以,通过微表面理论,我们可以把表面的粗糙程度用 微表面的法线分布 来表示

  • 如果微表面法线分布集中 ==> glossy
  • 如果微表面法线分布分散 ==> diffuse

那么对于微表面而言,入射光 ωi 反射到 ωo 方向会有多少能量?

4.1.1 微表面的 BRDF (双向反射分布函数 f(i,o))

  • 注意:微观上对于表面任意一个点来说,是镜面反射
    在这里插入图片描述
  • F(i,h):Fresnel Term 菲涅尔项。给定入射方向 ωi 和半程向量h方向,返回反射方向的反射率,值域[0,1]
  • D(h) :Distribution of normals 微表面的法线分布。给定一个半程向量h,返回法线位于该方向的微表面数量
  • G(i,o,h):Shadowing Masking Term 阴影遮蔽,也叫几何项。 当入射光以非常平(Grazing Angle 掠射角度)的射向表面时,有些凸起的微表面就会遮挡住后面的微表面。这一项其实就起修正作用,当入射为掠射角度时,这一项可能就会返回一个比较小的数比如0.5 0.4之类的,把BRDF的返回值拉低一点。 如果没有这一项,假如我们渲染一个球,球的边界上,就会是掠射角度,会特别亮。(看分子 菲涅尔项F(i,h) 返回值接近1,D(h) 的返回值也会很大,因为微表面法线分布基本是正态分布,又因为入射很平,半程向量很居中,微表面的数量是最多的,返回值就大。最终就造成BRDF返回值比较大,反射光的能量只会减少很少的两,因此边缘着色特别亮。)

这个微表面、glossy、diffuse、这那滴各种材质,都是渲染方程中的BRDF项 fr

微表面模型渲染出来的效果特别真实
在这里插入图片描述

现在特别火的PBR——physically Based Rendering 就一定会使用微表面模型。为了更好的效果和表现,工业界有很多自己开发的不同种类的微表面模型,但是都是基于上面介绍的微表面模型搞出来的 核心是不变的。

5 各向同性/异性材质(BRDF)以及区分方式

电梯间的四周的材质是这种沿某方向磨过的金属,它的高光表现如下所示,这是种各项同性材质。
在这里插入图片描述

Isotropic Material:各向同性材质,各个方向法线分布是差不多的
Anisotropic Material:各项异性材质,各个方向法线分布是不同的,如沿着某个方向刷过的金属
在这里插入图片描述
这两种BRDF的区分方式:

  • 各向同性材质:BRDF值只跟相对方位角有关,BRDF函数可以从四维降成三维
    • 什么意思?—— 对于各向同性材料,不管入射方位角 φi ,和出射方位角 φr ,怎么变化,只要这俩角度的相对差值 i - φr| 没变,那BRDF就不变,加绝对值是因为光的可逆性,下面公式也可以加上问题不大。
    • 具体来说,入射方向和出射方向的方位角同时绕着色点随便怎么转,只要 i - φr| 不变,BRDF返回值不会变,着色结果相同。
      在这里插入图片描述
  • 各项异性材质:绝对方位角(各自的φ)有关,只要任意一方的方位角改变,就会呈现比较大的差别

在这里插入图片描述

6 BRDF的性质总结

  • (1)非负性fr(ωi ->ωr ) ≥ 0

  • (2)线性:BRDF可以分成多项分别计算后相加(类似Blinn-Phong模型分成高光+漫发射+环境光)
    在这里插入图片描述

  • (3)可逆性:调换BRDF的入射光和出射光,返回值是一样的
    在这里插入图片描述

  • (4)能量守恒:不能违背能量守恒原则。下面公式,其实可以看做是半球上所有方向入射光的能量Li 的一个系数,这个系数必须满足 ≤ 1
    在这里插入图片描述

  • (5)各向异性/各向同性BRDF:不管是各项同性还是异性材质都遵循光的可逆性,互换出入射光,BRDF返回值不变。

    • 各向同性材质BRDF:跟出入射方位角无关,跟他们相对差值有关,因此四维BRDF函数变成三维。保持相对静止,方位角随便怎么旋转,BRDF返回值不变。
      在这里插入图片描述
      并且满足光的可逆性,交换出入射光,数值不变;方位角也不用管谁大谁小。
      在这里插入图片描述
    • 各向异性材质BRDF:跟绝对方位角有关。

7 测量BRDF的方式

前面对于BRDF的讨论都隐藏了BRDF的定义细节,相当于它还是个黑盒子,BRDF怎么定义的?
不通过实践测量的,用理论得出的BRDF函数都是耍流氓,是不准确的。像之前的菲涅尔项,就不准确,现实中的真正的效果并不是曲线描述的那样。

对一个材质的BRDF的测量,工作量非常大
测量过程: 固定光源在某一个入射角,用一个摄像机在整个球面的不同出射角进行拍摄,最终得出在这个入射角下对应的所有出射角的能量分布。然后再把光源换到另一个角度,重复此操作,直到光源遍历了球面所有角度为止。
在这里插入图片描述
从而得出一般测量方法:
入射出射方向可以互换
在这里插入图片描述
每移动一次光源,摄像机就要遍历整个球面,在移动光源,循环往复,效率还是很低的。
以下这几种情况,是可以提高效率的:

  • 各向同性的材质,可以把4D降到3D的
  • 由于光的可逆性,工作量可以减少一半
  • 不用采样那么密集,就采样若干个点,其中间的点可以插值出来
  • …还有很多方法,这里省略了

当前有关于测出来的庞大的BRDF数据如何存储的研究

  • 神经网络压缩数据

GAMES101图形学专栏

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

计算机图形学【GAMES-101】10、材质(BRDF)(折射、菲涅尔项、微表面模型、各向异性材质) 的相关文章

  • MATLAB快速傅里叶变换(fft)函数详解

    转载 xff1a https blog csdn net me4weizhen article details 53688848 定义 xff1a The 39 i 39 in the 39 Nth root of unity 39 是虚数
  • C++中substr()函数用法详解

    定义 substr 是C 43 43 语言函数 xff0c 主要功能是复制子字符串 xff0c 要求从指定位置开始 xff0c 并具有指定的长度 如果没有指定长度 Count或 Count 43 Off超出了源字符串的长度 xff0c 则子
  • 101、104规约解析

    转载 xff1a 电网101 104规约解析 xff08 Java xff09 张二狗和苗翠花的博客 CSDN博客 iec101 java 1 前言 最近在研究广东电网的101与104规约 xff0c 也就是DL T634 5101 200
  • 第一范式(1NF)、第二范式(2NF)和第三范式(3NF)

    第一范式 xff08 1NF xff09 xff1a 列1唯一确定列2 列3 列4 xff0c 即列2 列3 列4 不能再分裂出其它列 假设有关系模式列1 订单名 列2 商品 一个订单下可以有多个商品 xff0c 即列2 商品可以分裂成商品
  • 关于 傅里叶变换 的一些理解(通俗版)

    什么是傅里叶变换 xff1f 对随时间变化的曲线 xff0c 不再从时间轴上去看他的变化 xff0c 而是消去时间因子 xff0c 从出现的频率上来分析他的变化情况 例如 xff1a 股市变化曲线是随时间变化的曲线 xff0c 而通过傅里叶
  • excel取消多行隐藏

    同时取消多行隐藏 xff0c 需要选中隐藏行的上一行和下一行 xff0c 然后右键点击取消隐藏行
  • 双面打印说明

    长边翻页表示以A4纸较长的边翻页 xff0c 类似A4纸张大小的书本的翻页 xff0c 短边翻页则是以较短的边翻页 xff1b 长边翻页是从右往左翻页 xff0c 短边翻页是从下往上翻页 xff0c 翻页后文字观看方向不同 xff1b 长边
  • Segment routing分段路由

    为了解决传统IP转发和MPLS转发的问题 xff0c 业界提出了SR xff08 segment routing xff0c 分段路由 xff09 SR的转发机制有很大改进 xff0c 主要体现在以下几个方面 1 基于现有协议进行扩展 xf
  • mount: RPC: Unable to receive; errno = No route to host

    环境 xff1a gec2440开发板 VMware8 0 43 Ubuntu10 04 uboot xff0c kernel xff0c rootfs都是之前做好的 xff0c 调试驱动都反复用过很多次 今天只是搬了台电脑 xff0c 换
  • 实现Charles+Postern抓包

    实现Charles 43 Postern抓包 在实际抓手机App包场景中 有很多种方案 经典的就是Fiddler 但是Fiddler会有一个问题 如果App设置了不走代理这个选项 那Fiddler就不行了 xff0c 比如说大众点评 xff
  • STM32学习—systick系统定时器

    SysTick定时器配置步骤 SysTick定时器的操作可以分为 4 步 xff1a xff08 1 xff09 设置SysTick定时器的时钟源 xff08 2 xff09 设置SysTick定时器的重装初始值 xff08 如果要使用中断
  • Mac 关闭设置系统升级红点

    关闭系统更新提醒红点 xff1a 在终端输入 xff1a defaults write com apple systempreferences AttentionPrefBundleIDs 0 killall dock
  • 图像特征提取算法之Haar特征原理(一)

    文章目录 笔记截图问题积分图例子结论 笔记截图 用白色的特征值之和 黑色的特征值之和 61 这一个区域的特征值 你也可以理解为用卷积进行提取 xff0c 白色的区域为1 黑色的为 1 xff08 邪恶的黑色 xff09 然后进行相加既可以得
  • CAS方式实现单点登录

    单点登录 xff0c 英文是 Single Sign On xff0c 缩写为 SSO 多个站点 192 168 1 20X 共用一台认证授权服务器 192 168 1 110 xff0c 用户数据库和认证授权模块共用 用户经由其中任何一个
  • 双系统重装Ubuntu经验分享

    真的很喜欢ubuntu 但又没有恒心把它学通透 xff0c 毕竟不是相关专业 第一次重装是因为没多少经验 xff0c 安装qqforlinux的时候多了两个东西 xff0c 还自己生成了快捷方式 xff0c 就想点开看看是啥 xff0c 结
  • PCL三维点云拼接融合

    1 PCL三维点云拼接融合技术 2 PCL系列 拼接两个点云
  • ubuntu20版本忘记或重置密码的问题

    前段时间把ubuntu密码忘了 xff0c 进不去并且有些需要密码权限的功能也用不了 xff0c 在网上搜了一大堆 xff0c 都是什么从开始就摁shift或Esc xff0c 好家伙摁烂了也不行啊 解决如下 xff1a 首先 xff0c
  • 程序员申请加班调休被HR拒绝:996是行规,不想加班就滚?

    现如今 xff0c 很多公司为了不给员工加班费 xff0c 一般都会允许他们进行调休 也就是你加班了多少个小时 xff0c 等项目不忙的时候 xff0c 你们可以选择多休息几天 公司的这种做法 xff0c 大多数员工还是能接受的 xff0c
  • 博士生如何进行文献阅读和文献整理?

    一 阅读文献之前 先了解写文章的规则 SCI的架构 TITLE ABSTRACT main message INTRODUCTION why did you do this job METHODS how did you do it RES
  • 结构体之offsetof宏详细解析

    1 define offsetof TYPE MEMBER size t amp TYPE 0 gt MEMBER include linux stddef h 1 1 功能 xff1a 返回结构体TYPE中MEMBER成员相对于结构体首地

随机推荐

  • 解决curl: (7) Failed to connect to raw.githubusercontent.com port 443

    解决办法 xff1a 一 首先查询域名 raw githubusercontent com对应的ip地址 去这网址查询 xff1a https tools ipip net domain php 二 修改hosts文件 linux系统一般都
  • 关于使用Maix Bit所遇到的OSError: Reset Failed问题

    一 问题 今天在使用Maix Bit学习的时候遇到了这样一个问题 xff0c 我使用Maixpy连接上了Maix Bit xff0c 然后进行下载程序的时候 xff0c 下载失败 xff0c 弹出来一个OSError Reset Faile
  • 致小白的K210模型训练与运用

    致小白的K210模型训练与运用 文章目录 致小白的K210模型训练与运用 前言一 模型训练方法二 详细介绍1 使用MixHub平台进行训练2 使用Mx yolov3自己搭建平台进行训练3 V3模型4 V4模型 前言 由于我也是刚接触K210
  • 使用APP inventor来制作一个属于自己的蓝牙串口软件

    使用APP inventor来制作一个属于自己的蓝牙串口软件 本文主要讲述蓝牙的发送和接收功能的制作 一 准备 1 APPinventor的网址 xff1a http app gzjkw net 二 蓝牙APP界面的设置 首先我们新建一个项
  • 一起卷吧,arduino/mixly语音识别模块,10元,可以自定义,提供自制的mixly库

    一 效果演示 制作的语音风扇演示一起卷吧 xff01 语音识别 xff0c 10元 xff0c 串口通信 xff0c arduino可用 xff0c 提供自制的mixly库 操作简单 xff0c 可以语音播报 哔哩哔哩 bilibili 制
  • arduino/mixly红外发射接收模块

    一 资料 http 资料链接 xff1a https pan baidu com s 1idRcrVCxQ5zWLh59EFpi9g 提取码 xff1a n8ud 默认波特率9600 串口通信 xff0c 可以发送也可以接收 发送格式 二
  • openmv学习十三:特征点匹配

    适用于匹配多角度的物体 xff0c 需要现场提取之后才能使用 http docs openmv io library omv image html http docs openmv io library omv image html cla
  • arduino/Mixly使用TCS230颜色识别传感器

    一 器材 TCS230 arduino uno 二 接线 TCS230arduino unoGNDGNDVCC5VS0D2S1D3S2D4S3D5OE LEDD6OUTD7 三 程序 mixly程序 arduino程序 define tcs
  • arduino/Mixly心知天气

    一 准备 首先百度一下心知天气 xff0c 获取一下密钥 xff0c 具体的可以看这一篇Blynk中WebHook组件的使用方法 moshanghuaw的博客 CSDN博客 然后再准备一个esp8266或者esp32都可以 二 程序 mix
  • C For Linux之内存访问-内存简介

    1 内存 1 1 计算机为什么需要内存 存储器是计算机系统中非常重要的组成部分 计算机中的存储器分为两类 xff1a 内存储器的外存储器 xff08 也叫辅助存储器 xff09 所谓外存储器在PC机中一般指硬盘 U盘 光盘等 xff0c 而
  • 每天一分钟玩转golang:基础类型之字符串(四)

    大家好 xff0c 我是加摩斯 xff0c 觉得文章有帮助的小伙伴 xff0c 记得一键三连哟 xff5e 申明 xff1a 本系列两天更新一篇 xff0c 纯原创 xff0c 转载前请与我沟通 字符串类型也是一种基本类型 xff0c 底层
  • 项目二:电子骰子

    项目二 xff1a 电子骰子 文章目录 项目二 xff1a 电子骰子一 导入 5分钟 xff09 学习目的 二 新授 65分钟 1 预展示结果 5分钟 2 本节课所用的软硬件 5分钟 3 硬件介绍 1分钟 4 图形化块介绍 1分钟 5 单个
  • 项目三:双人骰子

    项目三 xff1a 双人骰子 文章目录 项目三 xff1a 双人骰子一 导入 5分钟 xff09 学习目的 二 新授 65分钟 1 预展示结果 5分钟 2 本节课所用的软硬件 5分钟 3 硬件介绍 1分钟 4 图形化块介绍 1分钟 5 单个
  • 项目四:无极调光台灯

    项目四 xff1a 无极调光台灯 文章目录 项目四 xff1a 无极调光台灯一 导入 5分钟 xff09 学习目的 二 新授 65分钟 1 预展示结果 5分钟 2 本节课所用的软硬件 5分钟 3 硬件介绍 5分钟 4 图形化块介绍 10分钟
  • Windows10安装anaconda之后pip3不能使用

    1 在命令行中切换到你自己的anaconda环境中 xff0c 2 在命令行中 xff0c 切换到你的anaconda环境中的Scripts目录中像我是在 xff1a D software anaconda3 az envs py3 pyt
  • UE4蓝图通信-蓝图接口

    蓝图接口 除了最常用的cast to蓝图节点可以实现通信以外 xff0c 进阶的通信方式就是蓝图接口 目的 xff1a 与多个对象中的特定几个对象进行通信方式 xff1a 对检测到的对象发送消息消息 xff1a 发出的消息是接口消息 xff
  • UE4蓝图通信-事件分发器(Event Dispatcher)

    事件分发器在蓝图编辑器的我的蓝图选项卡中创建 在我的蓝图 xff08 My Blueprint xff09 面板中的 进行创建输入事件分发器的名称 xff0c 该字段显示在 我的蓝图 xff08 My Blueprint xff09 选项卡
  • UE4项目优化(帧数优化)相关知识

    控制台命令 r screenpercentage 0 100 0是百分之百 如果改了这个 游戏运行超级流畅说明瓶颈在GPU上stat fps 显示帧率 Frame Per Second 或者快捷键Crlt 43 Shift 43 H 显示帧
  • 计算机图形学【GAMES-101】2、光栅化(反走样、傅里叶变换、卷积)

    快速跳转 xff1a 1 矩阵变换原理Transform 旋转 位移 缩放 正交投影 透视投影 2 光栅化 反走样 傅里叶变换 卷积 3 着色计算 深度缓存 着色模型 着色频率 4 纹理映射 重心坐标插值 透视投影矫正 双线性插值MipMa
  • 计算机图形学【GAMES-101】10、材质(BRDF)(折射、菲涅尔项、微表面模型、各向异性材质)

    快速跳转 xff1a 1 矩阵变换原理Transform 旋转 位移 缩放 正交投影 透视投影 2 光栅化 反走样 傅里叶变换 卷积 3 着色计算 深度缓存 着色模型 着色频率 4 纹理映射 重心坐标插值 透视投影矫正 双线性插值MipMa