c4d_shaderdata.h File Reference

Classes

class   ShaderData

函数

Bool   RegisterShaderPlugin ( Int32 id, const maxon::String &str, Int32 info, DataAllocator *g, const maxon::String &description, Int32 disklevel)

Function Documentation

◆  RegisterShaderPlugin()

Bool RegisterShaderPlugin ( Int32   id ,
const maxon::String str ,
Int32   info ,
DataAllocator g ,
const maxon::String description ,
Int32   disklevel  
)

Registers a shader 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 shader plugin. This is a pointer to a function that creates a new instance of ShaderData with NewObj() .
[in] description The name of the description resource file to use for the material plugin without .res extension, for example "Xshadername" .
The name has to be unique, i.e. "Tdisplay" cannot be used for 2 different descriptions. See 描述 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 .
返回
true if the shader plugin was registered, otherwise false .