Maxon Developers Maxon Developers
    • Documentation
      • Cinema 4D Python API
      • Cinema 4D C++ API
      • Cineware API
      • ZBrush Python 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
    • Recent
    • Tags
    • Users
    • Login

    DrawPolygonObject() w/Transparency

    Scheduled Pinned Locked Moved SDK Help
    17 Posts 0 Posters 1.3k Views
    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 Offline
      Helper
      last edited by

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

      On 10/11/2008 at 04:14, xxxxxxxx wrote:

      Hey Robert,

      try to use negative values for SetTransparency (0 to -255). That might work.

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

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

        On 10/11/2008 at 08:29, xxxxxxxx wrote:

        Did that, nope. 😉

        SetTransparency() doesn't seem to work with these methods at all.

        This is why I tried building the polygon object using Polygon3D() or PolygonNew() but these appear oddly - maybe because it treats the polys as individual rather than as part of an object (?).

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

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

          On 10/11/2008 at 11:13, xxxxxxxx wrote:

          hmm...have you tried DrawPoly too? There you can specify vertex normals which should be working to rather show a connected polyobject.

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

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

            On 10/11/2008 at 12:33, xxxxxxxx wrote:

            If I could ever get a polygon object with NORMALS! 😉 So far, neither C4D nor Riptide (free or pro) will create them solely from a Phong tag (and there is no Normal tag in R10+).

            That's one reason why I hadn't tried it yet.

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

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

              On 11/11/2008 at 10:41, xxxxxxxx wrote:

              Hey Robert,
              Sorry to be so brief in my e-mail... Riptide Pro should be creating Normals with just a Phong Tag present (assuming you have "Export Normals" enabled).  Is it not?
              Keith

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

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

                On 11/11/2008 at 11:48, xxxxxxxx wrote:

                Neither is creating normals (vn) in the exported .obj file. I am using a pre-release version of Riptide Pro though (haven't gotten around to getting the update and serial number). Maybe I'll get that updated and try again.

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

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

                  On 11/11/2008 at 12:08, xxxxxxxx wrote:

                  Ahh (odd).  Anyway, I just double-checked and the release version of Riptide Pro does indeed create Normal records ('vn') with just a Phong Tag - just send me your latest digits and I'll get you a license.
                  Riptide (Classic) would also create Normal records, IF the mesh has a Normal Tag, which can be created using my Add Normals plugin (there never was a way to create a Normal Tag using the C4D interface - that's why I wrote Add Normals).

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

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

                    On 11/11/2008 at 12:21, xxxxxxxx wrote:

                    BTW, instead of the above, maybe try setting xray mode:

                        
                        
                          
                          ObjectColorProperties objColor;  
                          objColor.usecolor = ID_BASEOBJECT_USECOLOR_ALWAYS;  
                          objColor.xray = TRUE;  
                          m_MagZone->SetColorProperties(&objColor);  
                        
                    

                    ...I was using that on a separate object, but maybe your plugin can set it on itself?

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

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

                      On 11/11/2008 at 12:37, xxxxxxxx wrote:

                      Got the export working (as you already know). 🙂

                      Plugin objects don't support X-Ray mode - it is not included in the Basic Properties. So, I'd be right back where I started - how to set transparency with BaseDraw. 😉

                      Unfortunately, how even X-Ray is done isn't explained anywhere.

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

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

                        On 12/11/2008 at 08:36, xxxxxxxx wrote:

                        Quote: Originally posted by kuroyume0161 on 11  November 2008
                        >
                        > * * *
                        >
                        > Got the export working (as you already know). 🙂
                        >
                        > Plugin objects don't support X-Ray mode - it is not included in the Basic Properties. So, I'd be right back where I started - how to set transparency with BaseDraw. 😉
                        >
                        > Unfortunately, how even X-Ray is done isn't explained anywhere.
                        >
                        > * * *
                        Hmm... add a "C++ SDK - Rounded Tube" to your scene... it has an X-Ray option in it's Basic properties.

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

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

                          On 12/11/2008 at 08:44, xxxxxxxx wrote:

                          Actually, I just tried this in the Rounded Tube  example...

                              
                              
                                
                              Bool RoundedTube::Message(GeListNode *node, LONG type, void *t_data)  
                              {
                              
                              
                              
                              
                                  if (type==MSG_DESCRIPTION_VALIDATE)  
                                  {  
                                      BaseContainer *data = ((BaseObject* )node)->GetDataInstance();  
                                      CutReal(*data,TUBEOBJECT_IRADX,0.0,data->GetReal(TUBEOBJECT_RAD));  
                                      CutReal(*data,TUBEOBJECT_ROUNDRAD,0.0,data->GetReal(TUBEOBJECT_IRADX));  
                                  }  
                                  else if (type==MSG_MENUPREPARE)  
                                  {  
                                      ((BaseObject* )node)->SetPhong(TRUE,FALSE,0.0);
                              
                              
                              
                              
                                      //****  insert this code, below *****  
                                      ObjectColorProperties objColor;  
                                      objColor.usecolor = ID_BASEOBJECT_USECOLOR_ALWAYS;  
                                      objColor.xray = TRUE;  
                                      ((BaseObject* )node)->SetColorProperties(&objColor);  
                                  }  
                                  return TRUE;  
                              }  
                              
                          

                          ..worked like a champ.

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

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

                            On 12/11/2008 at 08:48, xxxxxxxx wrote:

                            Hmm.. that was a generator object though... deformer objects don't have the X-Ray option - as you mentioned.

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

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

                              On 13/11/2008 at 05:39, xxxxxxxx wrote:

                              You could also calculate the vertex normals from the mesh yourself.

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

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

                                On 13/11/2008 at 17:09, xxxxxxxx wrote:

                                Or, I could use PolygonObject::CreatePhongNormals(). 🙂

                                Except that changing the values on the added/required Phong tag doesn't seem to change the display results of BaseDraw::DrawPoly() - always as if Angle Limit is off or Phong Angle is 180d even though I'm setting the values. It would sort of suck if I have to load the real object from file, get this Vector array, and write it out to file to use those values instead.

                                Luckily, DrawPoly() is responding to BaseDraw::SetTransparency().

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

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

                                  On 14/11/2008 at 00:10, xxxxxxxx wrote:

                                  What I'm doing is just using the polygon normal for the vertex normals - about all I need as this is a display representation and not a 'real' object. The results are facetted but at least not overly smoothed on the other end of the spectrum. Now onto more important parts of the code. 🙂

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

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

                                    On 14/11/2008 at 06:23, xxxxxxxx wrote:

                                    Just for future reference - and something I only recently discovered - calling ie.
                                    op->SetPhong(true, true, Rad(80.0));
                                    ... will create/add a Phong Tag on your mesh.   I used to always manually MakeTag() (or Alloc and Add) and then call SetPhong(), but that was apparently redundant.
                                    Also, op->CreatePhongNormals() should give you Normals once a Phong Tag is on your mesh.
                                    That may or may not help you out in this case - I want to see the more important parts working, myself :).

                                    1 Reply Last reply Reply Quote 0
                                    • First post
                                      Last post