[转] MoleHill操作AGAL的Helper类之一
本帖最后由 sleep2death 于 2011-4-20 16:49 编辑
应7yue大大的要求,贴写小东西.
如何使用呢?
先用helper设置一些属性:
AGALHelper.setVertexConstant("c_a1", Vector.<Number>([1.025]));
AGALHelper.setAttribute("a_vb", vertexBuffer));
然后写汇编
AGALHelper.addVertexCode("mov", "t_vb", "a_vb");
AGALHelper.addVertexCode("mov", "t_uvb", "a_uvb");
AGALHelper.addVertexCode("mov", "t_nb", "a_nb");
AGALHelper.addVertexCode("sub", "t_v3Ray", "t_vb", "c_v3CameraPos.xyz");
AGALHelper.addVertexCode("len", "t_fFar.xyz", "t_v3Ray");
AGALHelper.addVertexCode("m44", "op", "t_vb", "c_proj");
AGALHelper.addVertexCode("mov", "v_uvb", "t_uvb");
AGALHelper.addVertexCode("mov", "v_nb", "t_nb");
AGALHelper.addFragmentCode("mov", "t_uvb", "v_uvb");
AGALHelper.addFragmentCode("tex", "t_day", "t_uvb", "s_day", "<2d, clamp, linear>");
AGALHelper.addFragmentCode("mov", "oc", "t_day");
AGALHelper.printCode();
AGALHelper.uploadCode();
好处是你再也不要去记ft0, fc1到底是啥了...另外可以新增一些方法,比如length等等