你的浏览器禁用了JavaScript, 请开启后刷新浏览器获得更好的体验!
输入关键字进行搜索
搜索:
没有找到相关结果
cuixueying
赞同来自:
import flash.display3D.Context3D;
//{{ var vertexShader:String = null; var fragmentShader:String = null; /*[IF-FLASH]*/vertexShader=AGAL_ShaderList.shader.QB_NOT_TEX_VS; /*[IF-FLASH]*/fragmentShader = AGAL_ShaderList.shader.QB_NOT_TEX_FS; //[IF-JS]vertexShader=GLSL_ShaderList.shader.QB_NOT_TEX_VS; //[IF-JS]fragmentShader = GLSL_ShaderList.shader.QB_NOT_TEX_FS; //}}
//设置Vertex Stream. //[IF-JS]loc1=pro.getAttributeLocation("a_position"); //[IF-JS]if(loc1 != null){ //[IF-JS]context.setVertexBufferAt(loc1, mVertexBuffer, 0, Context3DVertexBufferFormat.FLOAT_2); //[IF-JS]} //[IF-JS]loc2=pro.getAttributeLocation("a_color"); //[IF-JS]if(loc2 != null){ //[IF-JS] context.setVertexBufferAt(loc2, mVertexBuffer, VertexData.COLOR_OFFSET, Context3DVertexBufferFormat.FLOAT_4);
要回复问题请先登录
1 个回复
cuixueying
赞同来自:
1.Context3D
必须在入口类引用Context3D。使用Stage3D,一定要在游戏入口类里添加 不引用Context3D的话,编译器会把你的项目与3D相关的类库在编译成H5时全部剔除掉。
2.AGAL脚本代码
AGAL脚本代码必须修改为GLSL脚本代码,项目中涉及到AGAL使用的代码部分需要做出以下修改(使用LayaFlash宏编译:http://layaflash.ldc.layabox.com/index.php?m=content&c=index&a=show&catid=6&id=9 辅助)。
注意:链接如不能正常显示,请复制该链接在地址栏粘贴即可。
源代码类似如下代码格式: 注意,除了修改AGAL外,还必须在AS3代码内使用条件编译,设置GLSL的Shader参数数据,类似于如下的代码: 3.Stage3D的CullMode与WebGL的CullMode是相反的
如果程序内部有关于context3D.setCulling(Context3DTriangleFace.BACK)类的设置,则必须用LayaFlash宏编译写成Context3DTriangleFace.FRONT,反之亦然
4.暂不支持纹理压缩功能。
如果Stage3D项目内使用ATF格式的压缩纹理,必须要转回可以跨平台浏览器支持的PNG、JPG等格式。
5.性能优化方面
不管是AS3还是转换后的JS代码,执行效率,都会远远低于显卡的硬件计算。能够放到Shader内计算的矩阵,就一定要到Shander内计算。