前言
阅读了《Unity3d Shader入门精要》 的总结
其实总的来说,要学习Shader和渲染 或者说图形学, 数学原理和渲染流水线是最重要的两个部分
之后再是实战各种效果以及技巧。
之所以学习曲线抖和入门难,是因为数学和渲染流水线这两个部分真是让人头大,但要学习Shader或者渲染又不可能绕过他们,否则可以复制别人的Shader或者阅读以及简单修改没有太大问题,但是自己书写那是基本难以完成的。
总结以上:
- 理解渲染流水线
- 理解数学基础原理 (基本还是大学的线性代数教的,就是矩阵的一些计算、性质等)
- 学习游戏中基础Shader的书写方法、不断练习(可能需要记几个模型,例如光照模型) 手手硬敲,能用理解数学方法的不调用现成函数(不是为了快速开发)。
- 熟练后,就是发挥的时间了。
空间:
模型空间 、 切线空间
世界空间
观察空间
裁剪空间
光源空间
屏幕空间
学了1周的Shader,说实在的眼看自己能够实现一些基础的功能还是很开心的,发现渲染这一块真不是一朝一夕就能搞定的,还需要长期磨练。
解决过颜色空间转换问题,渲染顺序不正确问题(ZWrite Off造成,但是可能透明度物体会造成困难,想过Cull front cull back)