Нужен пример 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.

Другие вопросы по тегам