title: 如何进一步学习shader(CG)的知识？
desc: 因为是做手游的shader，对效率和效果也都有比较高的要求，所以前一段时间一直在熟悉GPU的渲染流程以及基本的CG算法，现在已经可以熟练阅读复杂shader和shader的效果应用。<br>前些天在看到一个大神写的shader中发现了可以直接用normalDir和ViewDir做为贴图的纹理坐标直接模拟了类似高光的效果，直接膜拜。<br>现在感觉做shader很大一部分就像在做线性代数的数学题，所以也在补习线性代数的一些东西。<br>特别想成为那种对于CG的各个函数信手拈来的使用，各个效果了然于胸的Shader高手，想请问各位大神哪些书里有我想要学习的知识？是要开始多看一些图形学算法么？求推荐。
topic: 游戏引擎
content: 按照楼主的说法，已经具有一些基础了，只是要更进一步而已。据我了解来看，楼主可以做以下事情提升自己： 0. 图形学的物理原理。图形学的物理原理是一切效果的基石，不管你怎么去思考，图形效果的物理背景总是优先考虑的。因为它们直观，而且被其他学科例如几何光学等充分检验过。例如光线在界面和介质中的传播是折射与反射的基础例如散射是体积光和Godray（丁达尔效应）的基础。当你能将一种光学现象（例如镜面反射）与它的
answerer_tags: 资深吊丝，职业傻逼。