tongbowen laya里如何使用3d的shader。包括创建缓冲器,把对象绑定等等一系列流程。laya官网中的https://ldc.layabox.com/doc/?nav=zh-as-3-4-4这一篇文章是2d的,和3d有比较大区别。https://layaair.ldc.layabox.com/demo/?category=3d&group=shader&name=Shader_Simple这一个实例是3d的教程。下面的代码是复制了这个例子,因为没有模型,所以使用了内置的BoxMesh模型。但是这个示例运行出来是黑屏的,并且这个示例中处理shader编译的只有 Laya.ShaderCompile3D.add(customShader, vs, ps, attributeMap, uniformMap);这么一句话。我没有办法理解shader是如何和模型相关联的。shader在wegl中有一系列的使用流程,例如gl.createShader,shaderSource,compileShader,createProgram,attachShader,linkProgram,useProgram。laya中对应这些流程的相应流程是什么。还要一个问题是,我想在laya中直接写webGL,例如://获取canvas元素var canvas = document.getElementById('canvas'); //获取绘制二维上下文var ctx = canvas.getContext('2d');这样是不是不行?
LagField webgl的方法在Laya里面封装的太底层了,想要做定制化耗时很多啊。我这有个简单介绍Laya shader编写的文章,可以参考下http://hezaizhou.com/wordpress/?p=100