本节书摘来自华章出版社《Unity着色器和屏幕特效开发秘笈》一 书中的第1章,第1.1节,作者:(美)Kenny Lammers,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

1.1 引言

任何优秀的着色器开始总是会依赖于一个基础的漫反射组件或者光照模型。因此从漫反射部分开始着色器的编写是非常有意义的。
在过去的计算机图形学中,漫反射的着色过程(diffuse shading)是通过所谓的固定功能光照模型来完成的,它只允许图形程序员通过一些参数或纹理来对单一的光照模型进行调整。而现在,我们可以通过Cg语言更加灵活地控制渲染细节,特别是使用Unity中的表面着色器。
漫反射着色器主要描述了各个方向上的光线在一个表面上的反射方式。这听起来跟反光镜的工作原理很相似,但事实上它们是不相同的。反光镜实际上反射的是周围环境的图像,而漫反射光照是将所有的光源,如太阳的光线,反射到观众的眼睛中。反射将在后面的章节中介绍,但现在我们的目的是利用这些知识帮助我们区分两者之间的区别。
为了实现一个基本的漫反射光照模式,我们必须创建一个着色器,它包含了自发光颜色(emissive)、环境反射光的颜色以及所有光源叠加的光照。接下来的教程将告诉你如何建立一个完整的漫反射光照模型,同时也将展示一些不同行业的技巧,对于只使用纹理创建更复杂的漫反射模型来说总会派上用场。
在本章的最后你将学会如何创建基本的着色器,使之能执行基本的操作。有了这些知识,你将能够创建几乎任何表面着色器。

《Unity着色器和屏幕特效开发秘笈》—— 1.1 引言相关推荐

  1. 《Unity着色器和屏幕特效开发秘笈》—— 3.4 创建BlinnPhong高光类型

    本节书摘来自华章出版社<Unity着色器和屏幕特效开发秘笈>一 书中的第3章,第3.4节,作者:(美)Kenny Lammers,更多章节内容可以访问云栖社区"华章计算机&quo ...

  2. 《Unity着色器和屏幕特效开发秘笈》—— 2.1 引言

    本节书摘来自华章出版社<Unity着色器和屏幕特效开发秘笈>一 书中的第2章,第2.1节,作者:(美)Kenny Lammers,更多章节内容可以访问云栖社区"华章计算机&quo ...

  3. 《Unity着色器和屏幕特效开发秘笈(原书第2版)》一2.9 打包和混合纹理

    本节书摘来自华章出版社<Unity着色器和屏幕特效开发秘笈(原书第2版)>一书中的第2章,第2.9节,作者 [英]艾伦朱科尼(Alan Zucconi) [美]肯尼斯拉默斯(Kenneth ...

  4. 《Unity着色器和屏幕特效开发秘笈》—— 1.7 创建渐变纹理来控制漫反射着色...

    本节书摘来自华章出版社<Unity着色器和屏幕特效开发秘笈>一 书中的第1章,第1.7节,作者:(美)Kenny Lammers,更多章节内容可以访问云栖社区"华章计算机&quo ...

  5. 《Unity着色器和屏幕特效开发秘笈》—— 第3章 利用镜面反射让游戏闪耀起来...

    本节书摘来自华章出版社<Unity着色器和屏幕特效开发秘笈>一 书中的第3章,第3.1节,作者:(美)Kenny Lammers,更多章节内容可以访问云栖社区"华章计算机&quo ...

  6. 《Unity着色器和屏幕特效开发秘笈》—— 2.5 法线贴图

    本节书摘来自华章出版社<Unity着色器和屏幕特效开发秘笈>一 书中的第2章,第2.5节,作者:(美)Kenny Lammers,更多章节内容可以访问云栖社区"华章计算机&quo ...

  7. 《Unity着色器和屏幕特效开发秘笈(原书第2版)》——2.6 法线映射

    本节书摘来自华章计算机<Unity着色器和屏幕特效开发秘笈(原书第2版)>一书中的第2章,第2.6节,作者 [英]艾伦朱科尼(Alan Zucconi)[美]肯尼斯拉默斯(Kenneth ...

  8. 《Unity着色器和屏幕特效开发秘笈(原书第2版)》一2.6 法线映射

    本节书摘来自华章出版社<Unity着色器和屏幕特效开发秘笈(原书第2版)>一书中的第2章,第2.6节,作者 [英]艾伦朱科尼(Alan Zucconi) [美]肯尼斯拉默斯(Kenneth ...

  9. unity着色器和屏幕特效开发秘笈_Oculus研发分享:开发移动VR内容时应避免的PC渲染技术...

    查看引用/信息源请点击:映维网 开发移动VR内容时应避免的PC渲染技术 (映维网 2019年11月25日)有不少开发者都是以与PC相同的方式来开发Quest游戏,但这可能会导致优化性能方面出现大量困难 ...

最新文章

  1. laravel模板写php代码,Laravel框架之blade模板新手入门教程及小技巧
  2. RxSwift之UI控件UIPickerView扩展的使用
  3. webService学习7:调用天气接口
  4. java 的 CopyOnWriteArrayList类
  5. mysql 创建新用户权限_MySQL创建新用户以及权限授予
  6. 大数据学习——mapreduce共同好友
  7. debian9 linux的版本,Debian 9.4 发布,小版本更新
  8. JAVA之JDBC数据库连接池(超详细介绍)
  9. mysql卸载不_mysql卸载不干净解决方法
  10. electron操作注册表时,regedit模块功能缺少deleteValue功能的解决办法
  11. 安卓的三个Activity
  12. 想做IT行业项目管理,面向客户方向的,考ITIL和PMP哪个更好一些?
  13. 直播预约 | 如何通过MLOps解放和提升AI生产力?
  14. ODOO13 开发教程三 开始你的第一个模块
  15. 没噪音免更换滤网?贝昂JY200净化器评测
  16. java计算机二级知识点、易错点整理(一)
  17. Sherlock之Instructions指令介绍(Sherlock Version: 7.2.5.1 64-bit)
  18. pip install paddlepaddle 报错 command ‘/usr/bin/gcc‘ failed with exit code 1 或 command ‘gcc‘ 报错
  19. 梯度下降法的简单理解
  20. 远程桌面管理_IIS7远程桌面连接工具使用方法

热门文章

  1. jenkins-deleteDir报错(FilePath is missing)
  2. 图像处理基础知识总结1
  3. 香蕉派 Banana Pi BPI-CM4计算机模组,采用Amlogic A311D芯片方案,兼容树莓派 CM4模组
  4. QC-excel的用例导入QC
  5. vivado手工布线
  6. 中国环境监测仪器行业发展状况与运营前景研究报告2022-2028年
  7. php多维数组排序方案。按照姓名 首字符 等排序
  8. java中model接口与实现类_关于java中dao,model,service,impl,util的理解
  9. linux下GStreamer安装
  10. 二代身份证阅读器(XZX)