哈哈,花了两天把POM完成,虽然我的爱机的配置很好,不过我还是按照了SM 2.0的规范写的,虽然DirecxtX sdk那个是用SM 3.0写的,效果帅多了....不过2.0的POM写得花三个Pass,比较麻烦,所以我就实现它了~~
先传图把
写的过程中遇到写旧的错误,以前以为只是个小问题的,现在觉得该重视了,关于mul()函数的用法,都知道在线性代数里,矩阵和向量相乘必须首先满足矩阵的行数等于向量的列数,其次乘运算时,向量在前矩阵在后。不过在看很多shader代码的时候我发现,许多人都不注意这问题,而且在大部分情况下颠倒矩阵和向量的顺序也是没问题的。但我写的时候就悲剧了。。。
譬如: Out.Position = mul( g_mWorldViewProjection, inPosition );
于是乎,显示结果就很诡异:
我没深入考虑这现象为何出现,不过觉得肯定与乘法顺序有关,所以以后还是乖乖地按规则来了。。贴在此供路人参考了~~
原理过两天补上,这两天想实现的东西好多,大学的破课更多。。faint。。。