Running this inside VideoPostData::Execute(BaseVideoPost *node, VideoPostStruct *vps) used to return the final rendered image. With R23, it does only on preview renders. On Picture View renders the buffer is clearly not finished.
VideoPostData::Execute(BaseVideoPost *node, VideoPostStruct *vps)
if (vps->vp==VIDEOPOSTCALL::FRAME && ! vps->open)
// TODO: R23 is delivering not the final image
VPBuffer * buf = vps->render->GetBuffer(VPBUFFER_RGBA,0);
Only if I disable MultiPass in the Render Settings, it returns the final image.
Is there any other VPBUFFER I could try?
Maybe my VideoPost need to be run later, after all the other effects, but I can't find how to set a VP priority.
Hi @rsodre, thanks for reaching out to us.
With regard to your request, I suggest to properly set the proper priority level in RegisterVideoPostPlugin by looking at how it's used in our documentation:
The MBL introduction in R23 might have introduced an unexpected behaviour due to the execution priority you're currently using.
Note from our DevTeam:
Could you somehow confirm that the issue:
@r_gigante Even setting the priority below VPPRIORITY_MAGICBULLETLOOKS and VPPRIORITY_WATERMARK the problem persists. It's lways a little darker.
No MBL, no Multi-Pass: OK
MBL, no Multi-Pass: OK
No MBL with Multi-Pass: NOK
MBL with Multi-Pass: NOK (example below)
The project is here, if you want to try. The VP source is here.
I'm grabbing the frame to send to other applications via Syphon (mac only).
You can check the resulting frame with the sample Syphon Client app.
Hi @rsodre, I' afraid I'm not able to reproduce in Cinema 4D with the next code
// Executed after each frame
if (vps->vp == VIDEOPOSTCALL::FRAME && !vps->open)
VPBuffer* buf = vps->render->GetBuffer(VPBUFFER_RGBA, 0);
Each time I have the expected result similar to the output.
Looking at your issue it seems more a colorspace issue than an "unfinished" buffer. so maybe there is some translation coming from Syphon?
@rsodre please refrain from discussing NDA-protected topics.