如何系统的学习 Unity 3D 中的 shader 编写

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何系统的学习 Unity 3D 中的 shader 编写相关的知识,希望对你有一定的参考价值。

仅针对你只想学些shader编程来讲:

1、先要明白shader在整个3D流水线中的地位或者是作用,建立流水线概念的过程,是理解整个当代3D的基础。

2、把Unity当做shader编辑器,这一方面讲,unity的确也是不错的,:)。由简到难的分析和实验各个shader,调试各种参数,用unity的所见即所得界面,了解shader内部代码的意义。

3、就每个遇到的问题,在互联网上查找该问题的可能的答案。如Diffuse light的算法公式究竟是什么,shadow map的矩阵干嘛用的。在这块上,请尽量查找英文资料,会痛快些。

就这么三点,第一点是面,能帮助自己确定方向。第三点是点,知道自己的短线位置在哪里。书籍不举例,只知道我第一本看的书是《3D游戏编程大师技巧》。后来在各种查找过程中,各种不同的书籍自然会进入自己的腰包,没有一本是需要全部读完的。但是读完所有的每本的某一个部分,应该每本书都算是读完了,你明白的。
参考技术A 这会是个比较漫长的学习过程

(一)国内引进出版的书籍
国内引进或出版的图形学书籍很多,但是大部分是糟粕,看它们是浪费时间

3D数学基础:图形与游戏开发
这本可以补数学基础,矩阵变换,线性代数啥的

图形着色器:理论与实践(第2版)
这本是比较新的讲 opengl shader 的

DirectX 9.0 3D游戏开发编程基础
这本是国内出版或引进的 d3d 书籍中唯一能看的

(二)国内没有引进的书籍,可以下载电子版或上淘宝买打印版
OpenGL Shading Language
可以认为是 glsl 的圣经

Introduction to 3D Game Programming: With Directx 11
可以认为是 d3d11 的圣经,这本是 DirectX 9.0 3D游戏开发编程基础 的升级版

(三)个人推荐
3D数学基础:图形与游戏开发
DirectX 9.0 3D游戏开发编程基础
Introduction to 3D Game Programming: With Directx 11

以上是关于如何系统的学习 Unity 3D 中的 shader 编写的主要内容,如果未能解决你的问题,请参考以下文章

如何系统的学习 Unity 3D 中的 shader 编写

如何系统的学习 Unity 3D 中的 shader 编写

如何使用 RGL 中的 tmesh3d 在 RGL 中使用 shade3d 或 wire3d 制作 3D 网格

什么是unity3d?如何学习

Unity3d-Particle System系统的学习

学习unity3d,如何安排进程,从哪里开始学