Using VP Stereo virtuals [SOLVED]
On 22/09/2015 at 08:01, xxxxxxxx wrote:
Cinema 4D Version: F13-R16
Platform: Mac ;
Language(s) : C++ ;
I want to use my own virtual StereoMergeImages() on a VideoPost plugin, so I created it like in the stereo VP example, but it is never called.
I see the example uses PLUGINFLAG_VIDEOPOST_STEREO_RENDERING to register the plugin, and I don't. If I use it, nothing renders at all, I get all black.
Is there anything else I need to set to make it call my merge method?
On 22/09/2015 at 08:13, xxxxxxxx wrote:
I feel like telling why I want to use StereoMergeImages(), maybe there's a better solution to my problem.
If we make a Side-by-Side stereo render, C4D will render two frames, once for each camera channel. That's ok, it has to be done.
But it will use the full resolution set on Output for each channel, then later compress both frames into one.
There's no need to render 2 full frames if we're gonna compres each one in half. We are rendering twice as needed. Render time will be doubled!
My solution for this would be to render using only half frame for each channel, then add one to the other.
On 23/09/2015 at 02:47, xxxxxxxx wrote:
if a custom video post is registered with PLUGINFLAG_VIDEOPOST_STEREO_RENDERING it has to take over the complete job of the default stereo video post. This means that also StereoGetCameraCountRenderer and StereoGetCameraInfo have to be implemented. Only with the flag set and all needed functions implemented the video post can work.
On 23/09/2015 at 04:50, xxxxxxxx wrote:
Ok, if I return 2 from StereoGetCameraCountRenderer() it works.
I was returning VideoPostData::StereoGetCameraCountRenderer(node, doc, rd);
So the super method is useless... :(
I still would like to understand why Cinema 4D will make me render double of the final frame on Side-by-Side stereos.
My renders can get to 4k by 4x.
If stereo, frame size is 8k by 4k.
But I need to render 2 full frames in order to save one.
It will be rendered twice for no good reason!
I need to address my users why, I know they're gonna ask.
On 23/09/2015 at 12:00, xxxxxxxx wrote:
I can only guess that the rendering pipeline was build without stereoscopy in mind. So you tell the renderer that you want two images, so he renders two images. The renderer does not now what you will do with that images, if you want to combine them side-by-side or in one anaglyph image.
On 29/09/2015 at 12:26, xxxxxxxx wrote:
Ok, so I implemented my own Stereoscopic path, everything works fine.
The Stereoscopic tab on Render Settings is all greyed-out, since stereoscopic control is on my plugin now, but it HAS to turned ON.
At least I wish I could turn it on myself, but I can't find out how.
Is there any way I can get and set it's state with the API?
On 06/10/2015 at 00:43, xxxxxxxx wrote:
you can enable the stereo setting by setting the parameter RDATA_STEREO to true. Something like this:
RenderData* renderData = doc->GetFirstRenderData(); renderData->SetParameter(RDATA_STEREO, true, DESCFLAGS_SET_0); EventAdd();
On 06/10/2015 at 05:50, xxxxxxxx wrote:
Looks like RDATA_STEREO was introduced in R16, right?
Any way to do it from R13 to R15?
On 06/10/2015 at 08:50, xxxxxxxx wrote:
I just took a quick look at R13 and RDATA_STEREO also exists there.
On 06/10/2015 at 19:36, xxxxxxxx wrote:
Great! I just asked because it's not documented in R13 reference.