A data class for creating shader (channel shader) plugins.
Shader plugins appear in the popup menu of the channels in the Material Manager.
Use RegisterShaderPlugin() to register a scene hook plugin.
Here are some general comments on the shader API:
- Coordinate Systems: if there is no further note, all elements like points, normals etc. are always given in global coordinates.
- Angle Systems: all angle values are always given in radians. Use maxon::RadToDeg() macro for conversion if needed.
- Vectors: all normals and ray vectors must be normalized. Also, all normals and ray vectors given by Cinema 4D are normalized.
|
| | NodeData () |
| |
| GeListNode * | Get () |
| |
| const GeListNode * | Get () const |
| |
| virtual Bool | Message (GeListNode *node, Int32 type, void *data) |
| |
| virtual void | GetBubbleHelp (GeListNode *node, maxon::String &str) |
| |
| virtual const BaseDocument * | GetDocument (const GeListNode *node) const |
| |
| virtual maxon::Result< Bool > | GetBranchInfo (const GeListNode *node, const maxon::ValueReceiver< const BranchInfo & > &info, GETBRANCHINFO flags) const |
| |
| virtual Bool | IsInstanceOf (const GeListNode *node, Int32 type) const |
| |
| virtual Bool | IsDocumentRelated (const GeListNode *node, Bool &docrelated) const |
| |
| virtual maxon::Result< Bool > | GetAccessedObjects (const BaseList2D *node, METHOD_ID method, AccessedObjectsCallback &access) const |
| |
| virtual maxon::Result< maxon::GenericData > | GroupChanges (BaseList2D *node) |
| |
| virtual Bool | Init (GeListNode *node, Bool isCloneInit) |
| |
| virtual void | Free (GeListNode *node) |
| |
| virtual Bool | Read (GeListNode *node, HyperFile *hf, Int32 level) |
| |
| virtual Bool | Write (const GeListNode *node, HyperFile *hf) const |
| |
| virtual Bool | CopyTo (NodeData *dest, const GeListNode *snode, GeListNode *dnode, COPYFLAGS flags, AliasTrans *trn) const |
| |
| virtual Bool | GetDDescription (const GeListNode *node, Description *description, DESCFLAGS_DESC &flags) const |
| |
| virtual Bool | GetDParameter (const GeListNode *node, const DescID &id, GeData &t_data, DESCFLAGS_GET &flags) const |
| |
| virtual Bool | SetDParameter (GeListNode *node, const DescID &id, const GeData &t_data, DESCFLAGS_SET &flags) |
| |
| virtual Bool | GetDEnabling (const GeListNode *node, const DescID &id, const GeData &t_data, DESCFLAGS_ENABLE flags, const BaseContainer *itemdesc) const |
| |
| virtual Bool | TranslateDescID (GeListNode *node, const DescID &id, DescID &res_id, C4DAtom *&res_at) |
| |
| virtual | ~BaseData () |
| |
| void | Destructor () |
| |
| GeListNode * | private_link |
| |