惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Stack Overflow Blog
Stack Overflow Blog
量子位
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
美团技术团队
小众软件
小众软件
aimingoo的专栏
aimingoo的专栏
Recent Announcements
Recent Announcements
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Microsoft Security Blog
Microsoft Security Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
酷 壳 – CoolShell
酷 壳 – CoolShell
J
Java Code Geeks
V
V2EX
大猫的无限游戏
大猫的无限游戏
D
DataBreaches.Net
博客园 - Franky
爱范儿
爱范儿
T
Tailwind CSS Blog
A
About on SuperTechFans
Google DeepMind News
Google DeepMind News
博客园_首页
B
Blog RSS Feed
博客园 - 司徒正美
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知

音视频开发进阶

音视频教程-第三节 音视频教程-第二节 真的,AI 可能就是新时代的信息差 充值 Cursor 之后,工作有了哪些变化?🤔 个人'蒸馏'大模型能做哪些有意思的事情 DeepSeek 大模型在 Mac 上的部署和运行 音视频教程-第一节 【WebRTC 专栏】-- Android 开发集成 WebRTC 库的几种方式 【WebRTC 专栏】-- 在 Mac M1 等系列芯片编译和开发 WebRTC-Android 库 Meta Llama3 大模型在 Mac 上的部署和运行 iOS VideoToolBox 解码 HEVC Open-GOP 视频的问题排查 Flutter 状态管理之 InheritedWidget 使用和分析 用 ChatGPT 回答技术问题怎么样 ? 音视频开发系统入门大致路线 UE 4.27 添加自定义 ShadingModel 用 UE4 虚幻引擎做个捏脸小功能~~ UE4 材质练习 之 凹凸贴图偏移的使用 UE4 材质练习系列基础 OpenGL上下文创建以及共享机制 007 | 播放器系列专栏-解析 MP4 文件读取信息 006 | 播放器系列专栏-在 Mac 上查看 MP4 格式信息 干货 | 快速抽取缩略图是怎么练成的? 关于直播、WebRTC、FFmpeg 的那些事 005 | 播放器系列专栏-在 Windows 上查看 MP4 格式信息 将音视频中的花屏、绿屏、黑屏问题一网打尽 关于音视频里面的解码帧率和渲染帧率 004 | 播放器系列专栏-认识MP4视频(下) 003 | 播放器系列专栏-认识MP4视频(上) 入门或者转行音视频,应该要怎么做? H264视频文件如何缩放分辨率
Unity Shader 光照基础内容
音视频开发进阶 · 2021-09-02 · via 音视频开发进阶

一个专注音视频领域的小圈子

光照可以说是整个计算机图形学里面最重要的部分了,当展现物体时如何模拟真实世界中的光照环境,这往往是很复杂的。 由于光是可以散射的,一个物体不仅仅可以接收来自直接光源的照射,还可以接收来自周围环境的散射光,而在渲染时,要计算周围环境的散射光就无疑加大了计算量,因为周围环境远比光源复杂多了。 下面就是一张很逼真的光照渲染实例: 如果说这是用手机拍的照片,可能我都分不出来哪里有问题,而计算机模拟真实感渲染就是追求这一目标吧。 下面是一张缺少周围环境光的渲染实例:

可以很明显地看到下图很多地方都是黑色,而在现实世界中就不会一片黑,

要实现图一那样真实感的渲染,还是有不少东西要学的,尤其是数学方面,很多公式的推导和计算都是凝聚了学术界大佬心血的。

当然,学习也是一个由浅入深的过程。

学习光照,可以先从局部光照开始入手,然后再进入到全局光照,局部光照和全局光照都可以算是光照模型中的一种。

局部光照

局部光照是一种比较简单的光照模型,它仅处理直接照射到物体表面的光照,不处理周围光照的光照。

因此,局部光照要相对简单一些,只要算光源对物体的影响就好了,而且它是一种经验模型,和实际的物理现象是不对的。

局部光照又可以分为以下几种模型:

  • Lambert 漫反射模型
  • Phong 光照模型
  • Blinn-Phong 光照模型

简单总结就是 Lambert 模型是处理漫反射的,Phong 模型是在前者基础上加上镜面反射处理的,而 Blinn-Phong 模型又是在前者基础上做了计算优化。

后面会一个一个过这几个计算模型,并且在这几个模型上拓展了很多渲染方面的技巧内容。

全局光照

全局光照就复杂多了,常常听到的光线追踪就是实现全局光照的一种方法。

全局光照模型不同于局部光照经验模型,它是基于光学物理原理的,会考虑到光在现实世界中的反射、散射、透射等,另外还有光的辐射度,能量衰减等物理现象。

由于全局光照的计算量巨大,实时渲染的难度就很大,但这也是未来的发展方向了。

全局光照主要有如下的实现方向:

  • 光学追踪
  • 路径追踪
  • 光子映射
  • 辐射度
  • 球谐光照

每个方向都是一块难啃的骨头了,后面再深入到这块的学习吧,先把局部光照的基础打好。

小结

光照模型分为局部光照和全局光照。局部光照的发展比较稳定了,光照模型就是 Lambert 和 Phong 等,而全局光照还在随着硬件升级不断发展前进中。

参考

  1. https://zhuanlan.zhihu.com/p/49474631

原创文章,转载请注明来源:    Unity Shader 光照基础内容