GAME101-Lecture07学习

朗伯面、朗伯体、立体角----详细解答 在分析光源,以及物体反射时,由于朗伯表面具有规则的物理模型和数学计算公式,并且在不破坏光的原有性质的前提下,能很好地近似光源和物体反射的光学现象。因此在进行光学分析时,朗伯面是一个很好的公式以及分析简化的假设。 朗伯体:是指当入射能量在所有方向均匀反射,即入射能量以入射点为中心,在整个半球空间内向四周各向同性的反射能量的现象,称为漫反射,也称各向同性反射,一个完全的漫射体称为朗伯体。理想的漫反射... 阅读详情

前言

今天主要讲shading(着色)。在讲着色前,要先讲图形中三角形出现遮挡问题的方法(深度缓存或缓冲)。

先采样再模糊错误:对信号的频谱进行翻译(在这期间会有频谱的混叠),采样就是对这个信号进行截断。此时会发现混叠的信号还是混叠的。

Lecture 07 Shading 1 (Illumination, Shading and 
Graphics Pipeline)哔哩哔哩bilibili

光栅化内容

画家算法

image-20240515142326687

先给远处的东西画好(做光栅化),然后再给近处的做。这样就可以得到一个处理了遮挡的结果的“画”。

例如画一个正方体,按照后、左、下、右、上、前的顺序画,就可以得到一个正方体。

但是如果画的顺序改一改,可能会出现不同的效果。这是因为左、下、右、上这几个面到我们眼睛的距离在我们看来都是差不多的(视点到面的距离,又叫“深度”)

image-20240515142424665

  • 需要深度排序(对于n个三角形为0(n log n))可以具有无法解析的深度顺序

因此实际中,不能用画家算法。

深度缓存(缓冲)

由于不能使用画家算法,因此引入深度缓存的算法。

概念

image-20240515142619909

  • 这是最终胜出的算法。

  • idea:

    存储当前最小值。

    每个样本的Z值(像素)需要一个额外的缓冲区用于深度值

    -帧缓冲存储器存储颜色值 ​ -深度缓冲区(z缓冲区)存储深度

  • 重要:为简单起见,我们假设Z总是正数 (较小的z->更近,较大的z->更远)

图形学中,在渲染成品的图像时,会额外生成一个深度图/深度缓存(只存任何一个像素他所看到的最浅的深度信息)

算法(做法)

image-20240515143326188

一开始我们认为所有记录深度的点都是无限远的。

image-20240515143429228

数字越小代表越近,近的会把远的遮挡。

复杂度

image-20240515143700551

  • 以不同的顺序画三角形?

  • 最重要的可见性算法:在所有GPU的硬件中实现

我们认为每个三角形中有常数个像素,然后又n个三角形,那么复杂度就是0(n)(个人认为这里就有点离谱了,算法的复杂度要是这么算的话,那就所有都是On了。。。。。不过闫老师补充了下一般一个三角形会覆盖100个左右的像素,那就也行)

假设不会出现两个不同的三角形在一个像素上有同样的深度(在图形学中,这些数字大多都是用浮点型来表示,这意味着总会有些误差,这也因此浮点型的判断相同十分困难,尤其时两个经过运算得来的浮点型更加不可能相同),紫色和红色三角形画的顺序不一样,结果也是一样的。

知识回顾

image-20240515144717270

到目前为止,我们的学习到的内容:模型变换->坐标系变换->投影变换->视口变换->光栅化

image-20240515144931248

着色(Shading)

对不同的物体有不同的材质。

Blinn-Phong模型

Blinn-Phong反色模型是一款着色模型。

image-20240515151409991

  • 镜面高光

  • 漫反射

  • 环境照明

定义

image-20240515151557873

  • 在特定阴影点处反射到摄像机的计算机光

  • 输入: 观察者方向,v 表面法向,n 光的方向,I(为许多光的每一个) 表面参数(颜色、光泽度等)

image-20240515151740156

目前所说的着色不考虑物体的存在,先不考虑关系打在物体后环境的变化(即没有阴影),只看光找过来物体表面的情况。着色具有着色性。

漫反射(Diffuse Reflection)

image-20240515152143011

  • 光均匀地向各个方向散射

  • 所有观看方向的表面颜色相同

当一个光线会到达某个点,然后这个光线会被均匀的反射出去,这就叫漫反射。

能量的接收

image-20240515152224381

  • 但是接收到多少光(能量)呢? 一朗伯余弦定律

  • 立方体的顶面接受一定量的光

  • 60°旋转立方体的顶面拦截了一半的光线

  • 一般来说,单位面积的光与cos 0=l·n成正比(朗伯余弦定律)

其实就是光通量。

此时就可以算出,这个着色点接收到的光的能量。

能量的发射

image-20240515153203920

假设一个点光源。任何时刻,点光源辐射到四面八方。

一个单位的距离上,光的强度为I。那么在距离为r时,强度为I/r2

光传播的能量和距离成反比。

此时就可以通过物体距点光源的距离,算出来点光源发送到该物体表面的光的能量。

漫反射的能量

image-20240515154037796

  • Ld:漫反射光

  • kd:传播系数(颜色)

  • (I/r2):能量到达阴影点

  • max(0,n·l):阴影点接收的能量

向量点乘(n·l)<0时,表示这个光线从下面打向了物体的表面,此时是没有任何物理意义的(也可以认为我们一般是不会考虑物体内部有光源向外的),因此不考虑。所以这里要用max。

这个shadingPoint是会吸收一部分的光/颜色,它会有一定的吸收率,我们就定义一个系数kd。

image-20240515154805217

总结

本节课讲的东西比起前面来说,难度直线下降!

今天主要讲着色,讲着色前补充了前面光栅化深度缓存的知识。

光栅化内容中,首先讲解了画家算法的思想。由于画家算法无法很好的满足计算机图形学的需求,因此引入深度缓存的概念。

  • 每个导出的图像都有一张对应的深度图,这个深度图记录着所有像素的深度信息。

  • 此外还讲了深度缓存算法的实现方法,其本质就是一个双重循环。

着色部分通过Blinn-Phong反色模型引入漫反射、高光等显示中光照的效果情况。

  • 主要讲了物体漫反射中,光的能量问题。

  • 着色点平面与光发现的角度可以得到着色点对光能量接收的情况。

  • 光源与物体的距离可以得到着色点处光能量的发射状况。

  • 通过光能量的接收和发射状况,我们就可以量化漫反射的能量。

Moveit +Gazebo:搭建单臂机械臂仿真平台 阅读详情

相关推荐

导出库的版本_Windows下PaddleOCR在C++中的推理部署(CPU版本)CMake + VS2017

PaddleOCR是一个与OCR相关的开源项目,不仅支持超轻量级中文OCR预测模型,总模型仅8.6M(单模型支持中英文数字组合识别、竖排文本识别、长文本识别,其中检测模型DB(4.1M)+识别模型CRNN(4.5M)),而且提供多种文本检测训练算法(EAST、DB)和多种文本识别训练算法(Rosetta、CRNN、STAR-Net、RARE)。本文将教大家通过PaddleOCR(CPU版...

weixin_31304817的博客 1913

朗伯余弦定律(Lambert‘s Cosine Law)

我最近看到卡耐基梅隆大学 15-462/662 计算机图形学 Computer Graphics(Fall 2020)_哔哩哔哩_bilibili讲解朗伯余弦定律的部分,觉得讲得不错,记录在这里。 首先给出辐射照度(Irradiance)定义:单位被照面积接收到的辐射通量,即 单位是. 注意:这里的面积就是实际被照的面积,而不是投影面积。 下图是表示入射光线与接收面垂直的情况。接收面的面积是A。 此时辐照度为: 下面考虑入射光束与接收面存在夹角的情况。 其中A'是接收面实际面积,.

weixin_49783507的博客 7639

博流BL602开发二 环境搭建与固件烧录实战

本文详细介绍了博流BL602 RISC-V芯片开发环境的搭建与固件烧录全流程。从Linux/WSL系统选择、RISC-V工具链配置、SDK获取,到编译首个Wi-Fi示例并生成固件镜像,再到通过命令行或图形化工具完成烧录及串口测试,提供了完整的实战指南和常见问题解决方案。

weixin_29175469的博客 449

DirectX11 兰伯特余弦定理(Lambert)

兰伯特余弦定理(Lambert) 1. 关于光照强烈度的思考 垂直照向平面的线比从侧面照向平面的线更加强烈(见下图)。 假设有一块很小的区域dA。当法线向量n与光照向量L平行时,区域dA受到的光线照射最多。随着n和L之间的夹角θ逐渐增大,区域dA受到的光线照射量会越来越少 (因为很多光线都无法照射到dA表面上了)。2. 推导兰伯特(Lambert)余弦定理 们可以从这个概念中推导出一个函

梦幻DUO的游戏开发之路 6221

手把手教你读懂蓝牙BQB射频测试报告:以PRBS9为例的实战分析

本文以蓝牙BQB射频测试中的PRBS9信号为例,提供了一份实战分析指南。文章深入解读了输出功率、调制特性、邻道泄漏等核心测试项,并分享了信号分析仪操作技巧、测试环境搭建要点及设备选型建议,旨在帮助工程师精准解读报告,高效定位问题,确保产品顺利通过认证。

weixin_29289821的博客 261

已过tiktok校招客户端,面经分享

面试的话, 一天面完3面, 效率很高, 三天之后就发了offer 字节邮件里面也说了不能泄露面试题, 那我就把我秋招参与美团,字节,腾讯,阿里面试被问到的全部问题总结着写出来了, 这其实是我每一轮面试完之后我都会总结哪里答对了, 哪里没有答对, 总结了一大堆问题出来. 答案未必正确, 我只是给自己写了个简单的一句话概括, 可能不够完善, 建议看官自行回答一下这些问题 二本非科班, 暑假在字节实习过, 不过不是tiktok部门, 因此秋招就没啥时间准备面试了, 只投了几个大厂, 顺便也在字节跨部门转正,

a1472750149的博客 1307

漫反射体各向同性和朗伯体遵循余弦定律之间矛盾吗?

不矛盾。 这是本科学习知识的一个误区,属于知识没有掌握牢固到位部分,正如很多人现在依然分不清普朗克定律的单位是辐射通量密度,单位是W/m2/um,而不是一个模糊的辐射,模糊的通量,亦或者不知道就模糊说为辐射亮度,学遥感的人,上述物理量的单位必须早已烂熟于心。 漫反射体,本科学的时候都知道是各向同性,而我们同学又可能在别的地方看到了:朗伯体遵循余弦定律。那问题来了,对于入射的一束光,经过漫反射体反射,准备出射时,既然已经是漫反射体,出射时各个方向应该是一样的,各项同性的,何来余弦定律之说呢? 注意了,此处就是

Never Settle 3600

从稀疏表示到低秩表示(一)

确定研究方向后一直在狂补理论,最近看了一些文章,有了些想法,顺便也总结了representation系列的文章,由于我刚接触,可能会有些不足,愿大家共同指正。 从稀疏表示到低秩表示系列文章包括如下内容: 一、 sparse representation 二、 一、 sparse representation 1  sparsity  一个线性表示解决的问题如下图所示:

彼岸花 3万+

遥感物理基础

遥感物理基础

uwpk123的博客 1870

深入探索 ClickHouse:性能优化之道

在大数据处理的广袤天地里,ClickHouse 宛如一颗璀璨的明星,以其卓越的性能为海量数据的存储与查询提供了强大助力。但要想让 ClickHouse 发挥出极致效能,性能优化至关重要。今天,就让我们一同深入探寻 ClickHouse 的性能优化之路。

arnold66的专栏 1547

第一百三十九回 介绍三个BLE包

本章回中主要介绍了Flutter中BLE的概念和操作方法,主要介绍了三个BLE包的功能和差异,以方便大家在BLE操作中选择不同的包。

talk_8的专栏 574

GAME101-Lecture06学习

今天主要是讲反走样

rempter的博客 2292

光通量与辐射通量之间的换算

由理论和实验可知存在两种定义: 1W1W1W(瓦特)的频率为540×1012Hz540\times10^{12}Hz540×1012Hz(赫兹)的单色辐射的辐射通量等于683lm(流明)683lm(流明)683lm(流明).。 1lm1lm1lm的频率为540×1012Hz540\times10^{12}Hz540×1012Hz的单色通量等于1683=0.001464W\frac{1}{683}=0.001464W6831​=0.001464W。 从上述定义中我们可以得到什么呢?我们知道光速: c=3×

u011699626的博客 3271

GAME101_Lecture01学习

GAME101系列学习,Lecture01的笔记

rempter的博客 386

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

GAME101_Lecture02学习

GAME101系列学习,Lecture02的笔记。这节课主要是对线性代数的复习。

rempter的博客 2037

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

GAME101-Lecture04学习

今天的主要内容是观测变换,开始前有一些二维和三维变换的补充。

rempter的博客 1016

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Game101课程笔记_lecture15_光线跟踪

辐射度量学中各个概念之间的关系。根据这些关系提出了BRDF。 通过反射方程提出了渲染方程。渲染方程的简化过程。 概率论在图形学的使用。

qq_41286360的博客 938

GAME101-Lecture05学习

今天主要是讲三角形的光栅化

rempter的博客 876

GAME101-Lecture03学习

今天主要是讲变换,主要以2D上的变换为主,后面涉及到了一点3D的变换。

rempter的博客 1136

Game101课程笔记_lecture09_着色(插值,高级纹理映射)与阴影

重心坐标讲解,以及纹理映射太大太小问题的解决

qq_41286360的博客 1236

Game101课程笔记_lecture14_光线跟踪

光线和场景的求交加速的包围盒的方法:空间划分和物体划分 辐射度量学的动机和几个基本概念

qq_41286360的博客 770

Game101课程笔记_lecture18_复杂外观、高级光线传播与实时光线追踪

高级光线传播方式; 高级外观,比如云,头发,动物毛发,布料; 细节渲染; 波动光学; 程序生成外观;

qq_41286360的博客 793

Game101课程笔记_lecture03_transformation变换

最重要的是齐次坐标的引入。从下而上的去理解,先知道为啥引入,再去想是什么。组合变换是以后图形学编程中使用最多的,把其结论记下来,至于具体的矩阵,在理解的基础上可以自己推导出来。

qq_41286360的博客 1230

Game101课程笔记_lecture07_着色1(光照与基本着色模型)

z-buffer算法主要解决的遮挡的问题 shading 主要是解决每个像素的颜色值的问题。

qq_41286360的博客 1020

Game101课程笔记_lecture08_Shading2-shading Pipeline and Texture Mapping

Game101课程笔记_lecture08_Shading2-shading Pipeline and Texture Mapping1 Binn-Phone Reflectance model1 高光2 环境光3 着色模型4 questions2 着色频率1 flat shading2 Gouraud shading3 Phone shading4 比较5 顶点法线3 实时渲染管线2 Shade...

qq_41286360的博客 999

Game101课程笔记_lecture10_几何

纹理贴图的应用广泛,纹理贴图的本质就是促存储一些数据,并在其中查询,做一些相关的计算。 几何是很难的,主要分为隐式和显示的表示方法。

qq_41286360的博客 441
上一篇: 算法练习day8
rempter
博客等级 码龄8年 253粉丝 22原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值