MultipassObject Allocation



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 20/05/2011 at 12:44, xxxxxxxx wrote:

    User Information:
    Cinema 4D Version:   12 
    Platform:   Windows  ; Mac  ;  
    Language(s) :     C++  ;

    ---------
    Hey Everyone,
    How can one go about inserting a new Multipass layer (i.e VPBUFFER_OBJECTBUFFER) into the RenderData? The RenderData has a method InsertMultipass which takes a MultipassObject*, but the MultipassObject has no allocation methods. So essentially I am asking how can I allocate a MultipassObject*.

    I've tried using BaseList2D::Alloc(VPBUFFER_OBJECTBUFFER) and casting the resulting pointer to a MultipassObject to no avail.

    Thanks in advance,
    Josh



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 23/05/2011 at 02:18, xxxxxxxx wrote:

    A multipass is allocted and inserted like this:

      
    RenderData *rd = doc->GetActiveRenderData();  
      
    MultipassObject *mpo = NULL;  
    mpo = (MultipassObject* )MultipassObject::Alloc(Zmultipass);  
    if (!mpo) return FALSE;  
      
    BaseContainer *data = mpo->GetDataInstance();  
    data->SetLong(MULTIPASSOBJECT_TYPE, VPBUFFER_RGBA);  
      
    doc->StartUndo();  
      
    rd->InsertMultipass(mpo, NULL);  
      
    doc->AddUndo(UNDOTYPE_NEW, mpo);  
    doc->EndUndo();  
      
    rd->Message(MSG_UPDATE);  
    EventAdd();  
    

    I will include this into the docs.

    cheers,
    Matthias



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 23/05/2011 at 08:58, xxxxxxxx wrote:

    Mattias,

    Could you please consider adding this line of code in your docs example as well:

    rd->SetParameter(RDATA_MULTIPASS_ENABLE, 1, DESCFLAGS_SET_0); // Enable the multi pass option
    

    That way people reading that SDK will also know how to enable it too.

    Just a friendly suggestion  ,
    -ScottA



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 23/05/2011 at 10:15, xxxxxxxx wrote:

    Thanks Matthias! That is exactly what I needed to know.

    Regards,
    Josh


Log in to reply