I have implemented a MaterialData plugin in which I draw my own preview listening to MATPREVIEW_GENERATE_IMAGE.
To do that, I use the GeListNode* node parameter passed in Message(....), which in this case is the currently selected material.
To produce the preview, I need to parse the material's parameters and transfer the material into my engine, which produces a preview image.
If a parameter uses a bitmap shader, I am going to need that image.
I get the image path using GenerateTexturePath. As first parameter in this function I pass the document's path.
The problem is that the document in MATPREVIEW_GENERATE_IMAGE is the sphere.c4d in resource\modules\xtensions\preview_scenes.
The result of this is that GenerateTexturePath returns false.
So basically, MATPREVIEW_GENERATE_IMAGE forces me to use a GeListNode and a document that I don't need.
Can I switch this functionality to use the real node and document file ? (othewise my preview generation cannot find the requested images in Bitmap Shaders).