真的0数学基础0Shader基础,如何通过<Shader入门精要>入门?一些阅读建议。

 

目录

总览

那为什么还是推荐诸位使用该书Shader入门呢?

如果真的数学0基础如何开始阅读呢?

比较粗略的阅读建议。

后续博客or笔记

最后


总览

首先,需要说明的是,<Shader入门精要>是一本十分十分优秀的UnityShader入门书籍,数学基础较为薄弱的也可以阅读。

但阅读前,我们要不得不承认两个问题。

  1. 该书版本比较老旧了,很多知识点,“学完等于过时”。由于该书出版于Unity5的时代,很多新的技术点没有介绍或一笔带过,比如表面着色器。
  2. 虽然该书曲线很平滑,但是如果你完全没有数学基础(或只有高中基础),阅读数学篇和基础篇时会遇到很多障碍。

那为什么还是推荐诸位使用该书Shader入门呢?

  • 首先,因为现在哪怕是2020年了,市面上依然没有成熟的全面的Shader入门教材或教程(有发现的可以安利我,提前谢谢老板。),该书依然是最佳的入门教材。
  • 该书花了很多篇章介绍了基础数学,特别是几何和矩阵那一块,适合数学基础较为薄弱的同学。
  • 整本书分为:基础,初级,高级,拓展四个大篇章,曲线十分平缓,不会让人在某个地方卡很久。而且从开发环境,到debug环境,和优化思路都有涉猎。特别是一些拓展部分,细细阅读,裨益良多。
  • 虽然前面说了,“学完等于过时”。但是学习技术,从来不是空中楼阁。从原理到思路,从尝试编写到debug,再到成品出来,这才是入门的合理历程。有了这些根基,再考虑迭代更新的事情,适应起来也快。

如果真的数学0基础如何开始阅读呢?

以我个人为例,推荐一个快速数学复习路线。

介绍下本人情况,供参考。高中数学基本忘完,大学数学基本划水。因工作需要,复习了一些3D几何相关的知识。学习Shader之前,自觉数学薄弱,便花了两周补习了一下数学,回顾一下感觉还是花了太久时间,有些浪费。(PS:甚至高中数学必修6本都买回来翻了一下,挺傻的)

每部分花个半天或者两三个小时复习一下即可,也不要花太多时间。

->复数与复变函数

Tips:书上没介绍这一部分,但是推荐这个要看,不然没办法理解极坐标怎么来的。

推荐链接:看百度百科就好

->向量加减法与极坐标

Tips:极坐标主要与旋转有关系,看了有助于理解后面的旋转

推荐链接:看百度百科就好 

->基础三角函数公式

Tips:比如余切,正切,反余切,和差公式这些概念,都是基础中的基础。忘记了可以简单回顾一下。

推荐链接:看百度百科就好 。

->向量的乘法(点乘叉乘)

Tips:这个很重要,法线向量,角度计算都需要。

推荐链接:向量点乘(内积)和叉乘(外积、向量积)概念及几何意义解读_牧野的博客-CSDN博客_向量点乘

->欧拉角旋转或者四元数旋转

Tips:看欧拉角旋转主要是有个旋转的概念,别到矩阵后面一头雾水,时间不充裕可以不看万向锁,这里用不到。

Tips:四元数也是个难度比较高的部分,但是其中四元数的乘法和0方向四元数和四元数旋转的思路,与矩阵十分相似,如果精力较多,建议看看。

推荐链接:【Unity编程】Unity中的欧拉旋转_Andrew的游戏世界-CSDN博客

【Unity编程】四元数(Quaternion)与欧拉角_Andrew的游戏世界-CSDN博客

->线性代数(矩阵)

Tips:矩阵这部分,也建议提前过一边,书上虽然也有比较详细的介绍,但是如果自己没有提前了解,还是会遇到很多坑理解不了。

推荐链接:https://www.bilibili.com/video/BV1yE411u7kj

 

比较粗略的阅读建议。

阅读该书时,有个最大的障碍是,看着后面的,忘着前面的(问了很多朋友也是这样)。

所以,所有的代码一定要仔细跟着敲,敲的过程中要思考每行代码的作用,遇到无法理解的,最好翻回去看看,不要得过且过。

 

第二章,如果你对渲染流程没有了解,这一章建议仔细阅读,特别是2.3节,GPU流水线,后面会反复用到。看不懂没事,硬着头皮看下去,先有个基础概念。

第三章,3.1-3.3大概过一下那些表格和代码格式即可,后面实际编写时会反复锤炼这些格式,总会记住的。仔细阅读下3.4-3.6,另外注意3.4.1节中的表面着色器书上放到最后才讲,而且讲的也比较粗,不在这里纠结(虽然后面实际开发还是用着比较多)。

第四章,如果你数学比较差,这里将会是你的入门的第一关。4.4-4.9都是重点,一定要啃下来。先记住一句话,矩阵就是向量的集合(一位前辈告诉我的,很多想不通的问题迎刃而解)。

第五-十五章,这里要实际编写代码了,没什么好说的,一重山水一重关。跟着敲,不要偷懒。遇到无法理解的,最好翻回去看看,不要得过且过。

第十六章,该章介绍了很多优化思路,即使不学shader也会用得上。但是因为该书主要是介绍shader,所以这里介绍的有些泛。

 

后续博客or笔记

接下来几天会对该书按章节进行进行复习,将遇到的坑总结一下分享出来。

更重要是分享随书编写的代码,这些代码中写了很多琐碎的注释,都是一些想不通的地方的思考与感悟。如果有缘人看书时遇到哪里看不懂,可以尝试看看我写的内容。

同时最后应该还会有一些对自己的问答篇章,这些篇幅也会作为面试题库不断的积累和更新。

 

最后

看书的过程中,不断地了解渲染的知识体系。渲染是一个庞大的,复杂的,深邃的知识体系。这本书讲的确实只是一些很重要的"三脚猫"人门功夫。

不过,我学习此书的目的,也只是了解一下渲染知识。读完此书,耗时近两个月,至此目的已基本达成,系统性的渲染学习应该会告一段落。

接下来会跟朋友开发一款新的独立游戏,不多说,星辰大海,我又来啦,冲!

PS:乐乐女神啥时候出第二版啊!

文章对你有帮助么,点个赞可以嘛。攒攒人气,谢谢啦。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值