本文主要是介绍UnityShader源码2017---学习笔记与自我拓展036,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
源自Normal-Bumped,Normal-BumpSpec,Normal-Diffuse,Normal-DiffuseDetail,Normal-DiffuseFast,Normal-Glossy,Normal-Parallax,Normal-ParallaxSpec,Normal-VertexLit
一下可以忽略这么多shader有点高兴,简单的看一下个别shader里藏着的个别新鲜toy
从名字上可以看到Normal-Diffuse,Normal-DiffuseDetail,Normal-DiffuseFast这三个shader(前提的之前博客都分析过了,忽略)
DiffuseFast是直接fallback到Normal-VertexLit这里的,然后这里面前三个pass是固定管线的,所以他这个fast有多fast我就不去查看编译后的shader去比较了。
着重看一下Normal-DiffuseDetail里的一个常量unity_ColorSpaceDouble,这个变量的定义我在UnityCG里找到了。
#ifdef UNITY_COLORSPACE_GAMMA
#define unity_ColorSpaceDouble fixed4(2.0, 2.0, 2.0, 2.0)
#else // Linear values
#define unity_ColorSpaceDouble fixed4(4.59479380, 4.59479380, 4.59479380, 2.0)
#endif
可以看到在不同的颜色空间下,unity做了区别。
这篇关于UnityShader源码2017---学习笔记与自我拓展036的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!