有人可以举例说明如何在XTK中使用X.shaders吗?
我需要使用自定义着色器为顶点的alpha分量应用纹理和颜色。
答案 0 :(得分:1)
阅读完代码后:目前你不能。最初,着色器类没有公开,但我向Haehn提交了一个问题,将其导出为公共,以便您可以实例化一个着色器。此外,它需要2个setter用于片段和顶点源,并删除要在着色器源中使用的所有属性/制服的测试。
请注意,使用当前代码,您无法向着色器添加参数(顺便说一句,任何用途都应该足够,您可以在“属性”和“制服”中看到它们here)。
要使用它,之后,我会说:
var r = new X.renderer3D(); //create a renderer
r.init(); //initiate it
var sh = new X.shaders(); // create a new par of shaders
/* here use the futur setters to set sources from a string or a file */
r.addShaders(sh); // this set the shaders for the renderer and try to compile them
// DO NOT call init anymore or it would erase the current shaders and replace them by default ones
/*
Any code to fill the scene, etc...
*/
r.render();
但它需要等待我在本文开头所说的3个变化。我正在等待Haehn的消息。
答案 1 :(得分:0)
@ Ricola3D是对的。
关于这一点的讨论在这里:
https://github.com/xtk/X/issues/69
但是如果你想要一个顶点的alpha通道,你可以使用X.object.opacity。