On 12/06/2015 at 15:12, xxxxxxxx wrote:
[USERFORM][p]User Information:[/p]Cinema 4D Version: R15, R16
Platform: Windows ; Mac OSX ;
Language(s) : C++ ;
I'm currently in the process of adding TeamRender support to an existing rendering plug-in. The renderer is not capable of distributed rendering of a single frame, so the intended functionality is simply to distribute entire frames between the available TeamRender clients. The rendering portion of the plug-in is implemented as a VideoPostData override.
By adding VIDEOPOSTINFO_NETCREATEBUFFER and VIDEOPOSTINFO_NETFRAME flags to the result of GetRenderInfo, as well as adding the PLUGINFLAG_VIDEOPOST_ISRENDERER_NET flag when registering the plug-in, and overriding NetFrameInit, NetFrameFree, NetFrameMessage, and NetCreateBuffer (all of these just return true, aside from NetFrameFree which returns nothing, and NetFrameInit which performs some simple logic on the RenderJob object to control which client each frame is sent to and then returns true), the render process defined in the Execute method ran on the configured TeamRender Client. I was however, unable to determine how to send the fully rendered frame buffer back to Cinema4D and display it in the picture viewer using the SDK. As it is, the TeamRender client finishes rendering, and then Cinema 4D just sits and waits forever while displaying a fully transparent image in the picture viewer.
There doesn't appear to be any documentation available for the Net/TeamRender portions of the sdk aside from a few brief notes on hooks defined in VideoPostData so any help is appreciated.
For reference, I'm building against the R15 SDK and testing the plug-in using Cinema 4D and TeamRender Client R16.