Classes | |
class | MaterialData |
Macros | |
#define | PLUGINFLAG_MATERIAL_GLIMAGE |
#define | PLUGINFLAG_MATERIAL_NO_MATERIALEDITOR |
#define | PLUGINFLAG_MATERIAL_HIDE_IN_MATERIALMANAGER |
#define | PLUGINFLAG_MATERIAL_GLIMAGE_TIMECHANGE |
#define | PLUGINFLAG_MATERIAL_GLIMAGE_WITH_ALPHA |
#define | PLUGINFLAG_MATERIAL_SHOW_IN_DEFAULT_MENU |
Functions | |
Bool | RegisterMaterialPlugin (Int32 id, const maxon::String &str, Int32 info, DataAllocator *g, const maxon::String &description, Int32 disklevel) |
Bool RegisterMaterialPlugin | ( | Int32 | id, |
const maxon::String & | str, | ||
Int32 | info, | ||
DataAllocator * | g, | ||
const maxon::String & | description, | ||
Int32 | disklevel | ||
) |
Registers a material plugin.
[in] | id | A unique plugin ID. Must be obtained from http://www.plugincafe.com |
[in] | str | The name of the plugin. To affect the order that plugins are displayed in menus add "#$n" as a prefix to this name, where n is a number. Lower numbers are displayed before higher numbers. If name is "--" it will show up as a menu separator. |
[in] | info | The node plugin info flags: PLUGINFLAG_MATERIAL PLUGINFLAG |
[in] | g | The allocator for the material plugin. This is a pointer to a function that creates a new instance of MaterialData with NewObj(). |
[in] | description | The name of the description resource file to use for the material plugin without .res extension, for example "Mmaterialname". The name has to be unique, i.e. "Tdisplay" cannot be used for 2 different descriptions. See Description Resource for more information. |
[in] | disklevel | The plugin level is similar to a version number. The default level is 0. Increase this for new revisions of a plugin to allow for forward and backward compatibility. As an example you may have updated a plugin. If you now need to write additional information for new settings or changed types for old settings increase the level. During loading either a 0 is passed (if the file was written by the old plugin) or 1 (if the file was written by the new plugin). This allows to easily write/read new values. For forward and backward compatibility to work any existing read order from a given level must not be changed. Cinema 4D skips any new settings automatically if they have not been read. disklevel is only useful if variables are written/read in NodeData::Write/ NodeData::Read. |