有的博客是说一个uniform变量没有被使用时将会被优化掉,这个时候cpu上是获取不了gpu上的buffer Location;
这句话有失偏颇,真实情况应该是:如果一个变量与着色器的输出不相关的话,这个变量将会被优化掉;举个例子,在vertex shader中声明两个变量,一个uniform ,一个out,out变量将uniform传入fragment shader,uniform不参与vertex shader的输出,fragment shader中对应的in变量不参与fragment shader的输出,这个时候会优化掉vertex shader中的uniform变量