Нужен пример XTK о том, как использовать X.shaders
Может кто-нибудь привести пример использования X.shaders в XTK?
Мне нужно использовать пользовательские шейдеры, чтобы применить текстуру и цвет с альфа-компонентом для вершин.
2 ответа
После прочтения кода: на данный момент вы не можете. Изначально класс шейдера не был сделан публичным, но я поставил перед Haehn задачу экспортировать его как публичный, чтобы можно было создать экземпляр одного шейдера. Кроме того, ему нужны 2 сеттера для источников фрагментов и вершин и для удаления теста для всех атрибутов / униформ, которые будут использоваться в источниках шейдеров.
Обратите внимание, что с текущим кодом вы не можете добавлять параметры в свои шейдеры (кстати, их должно быть достаточно для любого использования, вы можете увидеть их здесь в "атрибутах" и "униформе").
Чтобы использовать его, после этого я бы сказал:
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 изменения, о которых я говорил в начале этого поста. Я жду новостей Хэна.
@Ricola3D прав.
Обсуждение этого здесь:
https://github.com/xtk/X/issues/69
Но если вам нужен альфа-канал для вершин, вы можете использовать X.object.opacity.