本文讨论GLSL Optimizations的一些提示。
使用MAD进行分配您可以使用MAD指令一次设置所有字段:
const vec2 constantList = vec2(1.0, 0.0);
gl_FragColor = mycolor.xyzw * constantList.xxxy + constantList.yyyx;
这可以通过一个MAD操作完成,假设构建 常量直接编译到可执行文件中。
如果我以这种方式分配,哪个更快?为什么呢?
gl_FragColor = vec4(mycolor.xyz, 1.0);