Отностися к Blender v2.31
Первый шаг, который необходимо сделать. Это решить что плагин будет делать и как пользователи будут с ним взаимодействовать. Для этого примера мы создадим простую текстуру, которая задаёт простой кирпичный образец.
Сейчас мы скопируем наш основной текстурный плагин в файл cube.c и заполним пробелы.
Неплохо было бы добавить коментарии. Сперва сообщите пользователям что плагин делает, где они могут получить копию, с кем они должны связаться, чтобы сообщить об ошибке или пожеланиях, и лицензионные ограничениях. Используя коментарии, убедитесь в том, что вы используете коментарии такого типа /* */. Плагины и некоторые компиляторы C не допускают кометарии типа //.
/* |
Далее нам нужно заполнить имя, необходимо сохранить то имя, которое имеет файл с исходным кодом на C, описанный ранее, менее 23 знаков, без пробелов и в нижнем регистре.
char name[24]= "cube.c"; |
Мы собираемся сохранить этот плагин простым, и у нас есть только единственный тип, который имеет дело с интенсивностью. Для этого нам нужно следующее:
#define NR_TYPES 1 |
Для нашего пользовательского интерфейса нам нужно позволить людям изменять размер кирпича и размер прослойки раствора, также значение интенсивности возвращаются для кирпича и раствора. Для этого нам надо отредактировать varstr и Cast. Структура Cast должна иметь переменную для каждого элемента.
/* Структура для кнопок, |
Теперь нам нужно заполнить функцию plugin_tex_doit, нам всего лишь нужно отобразить на текстуру "сетку", которая будет состоять из кирпичиков и прослоек вдоль нижних граней кирпича. Затем определим внутри кирпича мы находимся или нет. Следующий код должен это сделать:
int plugin_tex_doit(int stype, Cast *cast, float *texvec, float *dxt, |
Одна вещь на заметку, в заголовочных файлах в plugins/include определена функция ABS . Существуют и другие полезные функции.