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
    • Unread
    • Recent
    • Tags
    • Users
    • Login

    VertexMap colouring

    SDK Help
    0
    3
    337
    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

      On 31/08/2013 at 07:24, xxxxxxxx wrote:

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

      ---------
      Hi folks,

      I feel a bit guilty asking this one as I've gone in circles on similar subjects previously. But...

      How does the vertex map tag do it's drawing? Is that done through a SceneHook, using DrawPolygon()?

      I'm wishing to draw a similar vertex-map-style shading where a colour is interpolated between points on polys. And the only reference I've found doesn't really answer how it's done.

      My experiences with drawing polygons has been somewhat mixed. Some ways seem very slow, while other ways are limited in their scope. Is DrawPolygon() the only way to really achieve vertex-map style colouring?

      WP.

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

        On 31/08/2013 at 12:20, xxxxxxxx wrote:

        This doesn't seem to be slow at all to me.
        But I have to confess that I haven't used it in anything with a substantial number of vertices.
        Are you saying that this kind of thing is slow when used on dense meshes?

        TOOLDRAW LiquidToolData::Draw(BaseDocument *doc, BaseContainer &data, BaseDraw *bd, BaseDrawHelp *bh, BaseThread *bt,TOOLDRAWFLAGS flags)  
        {  
          
          Vector red = Vector(1.0, 0.0, 0.0);     //The color Red  
          Vector green = Vector(0.0, 1.0, 0.0);   //The color Green  
          
          Vector vp[4];                           //An array that will hold four vertices  
          vp[0] = Vector(-100.0, -100.0, 0.0);  
          vp[1] = Vector(-100.0, 100.0, 0.0);     //Draws the polygon using the four point positions  
          vp[2] = Vector(100.0, 100.0, 0.0);  
          vp[3] = Vector(100.0, -100.0, 0.0);  
          
          Vector vf[4];                          //An array that holds four colors  
          vf[0] = red;  
          vf[1] = green;                         //Assign the desired color to each specific vertice  
          vf[2] = green;  
          vf[3] = red;  
          
          bd->DrawPoly(vp, vf, NULL, 4, NULL);   //Draw the polygon using the above information  
          
          
          //The rest of the liquid painter code...
        

        -ScottA

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

          On 01/09/2013 at 07:21, xxxxxxxx wrote:

          Hi Scott,

          I had some code back home that was using DrawPolygon() - or something similar to what you've got above there. It worked, but at around 500+ polys it started to become quite sluggish. That part of my plugin I've since changed.

          But I'm still in need of a similar draw colouring in the viewport. And it really should be able to handle more than 500-odd polys! The vertex-map seems to do what I'm wishing to achieve colour-wise. But I'm not sure how that does it's draw.

          Is there a way to draw this kind of shading on a PolygonObject() perhaps?

          WP.

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