MULTIPASS_CHANNELS
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 01/04/2008 at 04:13, xxxxxxxx wrote:
User Information:
Cinema 4D Version: 8
Platform: Windows ;
Language(s) : C++ ;---------
Hi
I want to add Object Buffer into Multipass Channel in C++.
but it could't be going@well.
i don't know how to do it.
RenderData* pRenderData = doc->GetActiveRenderData();
BaseContainer* pCont = pRenderData->GetDataInstance();
BaseContainer* pMultPass = pCont->GetContainerInstance( RDATA_MULTIPASS_CHANNELS );//This is NULL
//and i want add [object buffer:1,2,......]
Colud you give me an example,Please? -
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 02/04/2008 at 04:27, xxxxxxxx wrote:
You have to set the channel containers within the multipass container of the RenderData container.
here an example that adds an object buffer channel:
>
\> Bool MenuTest::Execute(BaseDocument \*doc) \> { \> RenderData \*rdata = doc->GetActiveRenderData(); \> if(!rdata) return FALSE; \> \> BaseContainer \*rbc = rdata->GetDataInstance(); \> if(!rbc) return FALSE; \> \> BaseContainer cbc; \> cbc.SetBool(RDATA_MULTIPASS_ACTIVE, TRUE); \> cbc.SetLong(RDATA_MULTIPASS_SPECIALGROUP, 2); \> \> BaseContainer mpbc; \> mpbc.SetContainer(VPBUFFER_OBJECTBUFFER, cbc); \> \> doc->StartUndo(); \> \> doc->AddUndo(UNDO_CHANGE, rdata); \> \> rbc->SetContainer(RDATA_MULTIPASS_CHANNELS, mpbc); \> \> doc->EndUndo(); \> \> rdata->Message(MSG_UPDATE); \> \> EventAdd(); \> \> return TRUE; \> } \>
cheers,
Matthias -
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 02/04/2008 at 18:29, xxxxxxxx wrote:
Thank you for your example!!
I could add object buffer into multipass.
But I want to add multiple object buffers into multipass.
For example 1, 2, .. and more.
Is it possible in C++ sdk? -
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 03/04/2008 at 01:45, xxxxxxxx wrote:
ok, I modifed the code a bit, it now adds two object buffer channels:
>
\> Bool MenuTest::Execute(BaseDocument \*doc) \> { \> RenderData \*rdata = doc->GetActiveRenderData(); \> if(!rdata) return FALSE; \> \> BaseContainer \*rbc = rdata->GetDataInstance(); \> if(!rbc) return FALSE; \> \> BaseContainer mpbc; \> BaseContainer subbc; \> \> subbc.SetBool(RDATA_MULTIPASS_ACTIVE, TRUE); \> subbc.SetLong(RDATA_MULTIPASS_SPECIALGROUP, 1); \> mpbc.InsData(VPBUFFER_OBJECTBUFFER, GeData(subbc)); \> subbc.SetLong(RDATA_MULTIPASS_SPECIALGROUP, 2); \> mpbc.InsData(VPBUFFER_OBJECTBUFFER, GeData(subbc)); \> \> doc->StartUndo(); \> \> doc->AddUndo(UNDO_CHANGE, rdata); \> \> rbc->SetContainer(RDATA_MULTIPASS_CHANNELS, mpbc); \> \> doc->EndUndo(); \> \> rdata->Message(MSG_UPDATE); \> \> EventAdd(); \> \> return TRUE; \> } \>
cheers,
Matthias -
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 03/04/2008 at 02:02, xxxxxxxx wrote:
Thank you for your help!
it could be going@well!