当前位置:网站首页>【TA-霜狼_may-《百人计划》】2.4 传统经验光照模型
【TA-霜狼_may-《百人计划》】2.4 传统经验光照模型
2022-07-01 03:24:00 【zczplus】
–
这部分内容跟着Games101已经详细推过了,主要看后半部分吧
光照模型的分类
- 基于物理理论的光照模型:偏重于使用物理的度量和统计方法,效果真实,计算复杂,实现较为复杂;
- 经验模型:对光照的模拟,通过简化和总结归纳,以达到可接受的效果;
本章节重点考虑经验模型的方法
漫反射
不受观察角度影响,Lambert光照模型仅仅针对漫反射:
镜面反射
受到观察角度影响,有Phong模型和Blinn-Phong模型两种这两种模型包含了漫反射、镜面反射、环境光三个部分,是最初得比较完整的模型。后者在前者基础上引入了半程向量从而降低了计算复杂度。
Phong模型:
Blinn-Phong模型:
区别就在于绿色框框中利用到了半程向量,半程向量的计算实现如下:
环境光
一般上对这部分光照进行简化,直接利用环境光颜色乘以漫反射材质。
着色方法
后面的内容应该对应的是Games101的着色方法章节,范别是逐平面、逐顶点和逐像素的着色,利用到的则是面差值、顶点插值和法线插值对上述部分进行实现。
对应英文名称分别是:
- Flat shading
- Gouraud shading
- Phong Shading
注意区分此处的Phong shading与之前的Phong模型,Phong shading注重着色的频率问题,而Phong模型则是在描述如何模拟真实的光照现象。
顶点法线
顶点法线之前一直不明白如何计算,看过Games101之后明白了是利用相邻面的法线和或者是加权和(权值为相邻面的面积)求得的。
总结
跟着入门精要第六章过了一遍,大致明白了各种经验光照模型的实现方法。

作业里要求的能量守恒的实现我愣住了,后面学完PBR再回来补吧。能量守恒的应用则是在于:光打到物体表面之后形成的漫反射,镜面反射以及被吸收的能量总和是一定的,无论如何变化整体强度不变。
感觉不带点基础来看百人有点不好理解,先速通一下《入门精要》吧,10天之内弄完。
边栏推荐
- FCN full Convolution Network Understanding and Code Implementation (from pytorch Official Implementation)
- 快速筛选打卡时间日期等数据:EXCEL筛选查找某一时间点是否在某一时间段内
- pytorch训练深度学习网络设置cuda指定的GPU可见
- Finally in promise
- Error: plug ins declaring extensions or extension points must set the singleton directive to true
- Leetcode:剑指 Offer 59 - I. 滑动窗口的最大值
- 衡量两个向量相似度的方法:余弦相似度、pytorch 求余弦相似度:torch.nn.CosineSimilarity(dim=1, eps=1e-08)
- MFC窗口滚动条用法
- 【伸手党福利】开发人员重装系统顺序
- ASGNet论文和代码解读2
猜你喜欢

TEC: Knowledge Graph Embedding with Triple Context

File upload and download

ASGNet论文和代码解读2

Edlines: a real time line segment detector with a false detection control

Appium自动化测试基础 — APPium基本原理

详解Spark运行模式(local+standalone+yarn)

Pytorch training deep learning network settings CUDA specified GPU visible

复习专栏之---消息队列

Home online shopping project

pytorch nn.AdaptiveAvgPool2d(1)
随机推荐
还在浪费脑细胞自学吗,这份面试笔记绝对是C站天花板
排序链表(归并排序)
pytorch nn. AdaptiveAvgPool2d(1)
[深度学习]激活函数(Sigmoid等)、前向传播、反向传播和梯度优化;optimizer.zero_grad(), loss.backward(), optimizer.step()的作用及原理
实现pow(x,n)函数
Online public network security case nanny level tutorial [reaching out for Party welfare]
Leetcode 1818 absolute value, sorting, dichotomy, maximum value
Home online shopping project
静态库使用MFC和共享库使用MFC的区别
Binary tree god level traversal: Morris traversal
md5sum操作
10、Scanner. Next() cannot read spaces /indexof -1
在线公网安备案保姆级教程【伸手党福利】
Cookie&Session
Appium automation test foundation -- supplement: c/s architecture and b/s architecture description
衡量两个向量相似度的方法:余弦相似度、pytorch 求余弦相似度:torch.nn.CosineSimilarity(dim=1, eps=1e-08)
GCC usage, makefile summary
Ouc2021 autumn - Software Engineering - end of term (recall version)
深度学习中的随机种子torch.manual_seed(number)、torch.cuda.manual_seed(number)
Server rendering technology JSP