Maxon Developers Maxon Developers
    • Documentation
      • Cinema 4D Python API
      • Cinema 4D C++ API
      • Cineware API
      • ZBrush GoZ API
      • Code Examples on Github
    • Forum
    • Downloads
    • Support
      • Support Procedures
      • Registered Developer Program
      • Plugin IDs
      • Contact Us
    • Categories
      • Overview
      • News & Information
      • Cinema 4D SDK Support
      • Cineware SDK Support
      • ZBrush 4D SDK Support
      • Bugs
      • General Talk
    • Unread
    • Recent
    • Tags
    • Users
    • Login

    RenderDocument

    SDK Help
    0
    6
    675
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • H
      Helper
      last edited by

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

      On 22/09/2004 at 07:47, xxxxxxxx wrote:

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

      ---------
      No matter how I setup a bitmap or the RenderDocument flags it will not render an alpha to the bitmap ( the bitmap does have an alpha and does show up when I open the bitmap I rendered to and saved in PS ). This is an issue for us. Help!?

      Best Regards,
      darf

      1 Reply Last reply Reply Quote 0
      • H
        Helper
        last edited by

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

        On 24/09/2004 at 22:05, xxxxxxxx wrote:

        Could really benefit from a solution here. This is a production issue. RUnning out of time.

        Best Regards,
        darf

        1 Reply Last reply Reply Quote 0
        • H
          Helper
          last edited by

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

          On 25/09/2004 at 01:26, xxxxxxxx wrote:

          Sorry for the delay. I have already verified that

              
              
              Bool straight = FALSE;
              
              
              
              
              BaseContainer rdata = doc->GetActiveRenderData()->GetData();  
              rdata.SetBool(RDATA_ALPHACHANNEL, TRUE);  
              rdata.SetBool(RDATA_STRAIGHTALPHA, straight);
              
              
              
              
              AutoAlloc<BaseBitmap> bmp;  
              bmp->Init(rdata.GetLong(RDATA_XRES), rdata.GetLong(RDATA_YRES));  
              bmp->AddChannel(TRUE, straight);
              
              
              
              
              RenderDocument(doc, rdata, NULL, NULL, bmp, 0, NULL);  
              ShowBitmap(bmp);
          

          doesn't seem to be enough to render an alpha channel. The question also arises if it's possible to render other multipass channels with RenderDocument(). I'll get back to you when I get a response from the developers.

          1 Reply Last reply Reply Quote 0
          • H
            Helper
            last edited by

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

            On 26/09/2004 at 00:08, xxxxxxxx wrote:

            Alphas and Multipass channels are automatically added by C4D, but also destroyed after the rendering is finished if no B3dBitmap was passed. Unfortunately the B3dBitmap (which is derived from BaseBitmap) cannot be accessed / created by the SDK yet. (For urgent needs and as a hack it should be possible to access the buffers in the Videopost though. Just inject your own custom Videopost and catch the buffers at the end.)

            1 Reply Last reply Reply Quote 0
            • H
              Helper
              last edited by

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

              On 26/09/2004 at 07:15, xxxxxxxx wrote:

              Erhmm...

              So I have caught the buffers. I don't understand what to do with them. Write them myself?   Sorry, just don't understand the idea.

              Best Regards,
              darf

              1 Reply Last reply Reply Quote 0
              • H
                Helper
                last edited by

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

                On 27/06/2006 at 03:06, xxxxxxxx wrote:

                The idea is to create a VideoPostData that uses for example Execute() at vp==VP_FRAME/open==FALSE, then look at vps->render->GetBuffer(VPBUFFER_xxx) to access the multipass buffers during the rendering. This is an example of doing this in vpcolorize.cpp (Execute() function) :

                    
                    
                    if (vps->vp == VP_FRAME && !vps->open)  
                    {  
                      VPBuffer* buf = vps->render->GetBuffer(VPBUFFER_RGBA, 0);  
                      MultipassBitmap* mpb = reinterpret_cast<MultipassBitmap*>(buf);
                    
                    
                    
                    
                      MultipassBitmap* alpha = mpb->GetAlphaLayerNum(0);  
                      alpha->Save(GeGetStartupPath() + "alpha.b3d", FILTER_B3D, NULL, 0);  
                    }
                
                1 Reply Last reply Reply Quote 0
                • First post
                  Last post