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

    Displacement Mapping / Selection Tags

    SDK Help
    0
    2
    253
    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 17/05/2003 at 11:20, xxxxxxxx wrote:

      User Information:
      Cinema 4D Version:   8.100 
      Platform:      
      Language(s) :   C.O.F.F.E.E  ;

      ---------
      I already made it work seemling the same as C4D's internal algorithm.

      Before I say the algorithm seems odd at best, I would like to hear why it works the way it does.

      It is odd at best. ( i couldn't wait )

      bt

      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 23/05/2003 at 21:29, xxxxxxxx wrote:

        The algorithm is dependent on the order of points/faces. First an index array points->polys is generated:

            
            
              for (j=0; j<op->vcnt; j++)  
              {  
               pind[op->vadr[j].a] = j;  
               pind[op->vadr[j].b] = j;  
               pind[op->vadr[j].c] = j;  
               pind[op->vadr[j].d] = j;  
              }
        

        Then the displacement is calculated for each point, using the face entered into 'pind':

            
            
              for (j=0; j<op->pcnt; j++)  
              {  
               op->padr[j] = Displace(op,op->padr[j],pind[j]);  
              }
        

        Only if the face pind[j] is in the selection map is the displacement evaluated.

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