Основной текстурный плагин

Относится к Blender v2.31

#include "plugin.h"

/* Название текстуры */
char name[24]= "";

#define NR_TYPES 3
char stnames[NR_TYPES][16]= {"Intens","Color", "Bump"};
/* Структура для кнопок,
* по умолчанию min, max равны 0
*/

VarStruct varstr[]= {
{NUM|FLO, "Const 1", 1.7, -1.0, 1.0, ""},
};


typedef struct Cast {
float a;
} Cast;

float result[8];
float cfra;
int plugin_tex_doit(int, Cast*, float*, float*, float*);

/* Фиксированные функции */
int plugin_tex_getversion(void) {
return B_PLUGIN_VERSION;
}

void plugin_but_changed(int but) { }

void plugin_init(void) { }

void plugin_getinfo(PluginInfo *info) {
info->name= name;
info->stypes= NR_TYPES;
info->nvars= sizeof(varstr)/sizeof(VarStruct);

info->snames= stnames[0];
info->result= result;
info->cfra= &cfra;
info->varstr= varstr;

info->init= plugin_init;
info->tex_doit= (TexDoit) plugin_tex_doit;
info->callback= plugin_but_changed;
}

int plugin_tex_doit(int stype, Cast *cast, float *texvec, float *dxt,
float *dyt) {

if (stype == 1) {
return 1;
} if (stype == 2) {
return 2;
}
return 0;
}