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

    SampleBump()

    SDK Help
    0
    6
    468
    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 15/03/2004 at 13:16, xxxxxxxx wrote:

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

      ---------
      I'm trying to get the new SampleBump()-Method to work...

      My test shader sets CHANNEL_DIRECTBUMP_EX in GetRenderInfo, and links to another shader (which is a simple noise shader)

      Output() basically reads as:

      Vector n_src, n_dst;  
      n_src = sd->n;  
        
      if (!shader) return n_src; //no shader available, return normal  
        
      n_dst = !(n_src + shader->SampleBump(sd, 0)); // ! = normalize result   
      // the PLUS after n_scr... is swallowed by the forum software!  
        
      return Vector(n_dst);
      

      shader ->Sample(sd) works just fine, so I guess that shader is initialized correctly. However, SampleBump doesn't change a thing 😞

      Any ideas anybody? My two recent questions stayed without any comment, let's hope that somebody cares for this one. It's incredible frustrating crumbling on such basic stuff due to very basic documentation and no examples for this new function at all 😞

      Kabe

      P.S.: Even if it is a silly question: How to get the UV orientation of the map at the sample location?

      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 10/11/2006 at 20:36, xxxxxxxx wrote:

        I'm interested too 🙂

        Cheers
        Renato

        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 11/11/2006 at 08:18, xxxxxxxx wrote:

          Quote: Even if it is a silly question: How to get the UV orientation of the map at the sample location?
          >
          > * * *
          >
          >
          >
          >
          > * * *

          You can get the DU/DV vectors for the orientation matrix with GetDUDV().

            
          Vector ddu, ddv;  
          vd- >GetDUDV(vd->tex, vd->p, vd->n, vd->orign, vd->lhit, TRUE, &ddu;, &ddv;);  
          

          Instead of vd->n you can use also vd->bumpn for the bumped normal. As for your question about SampleBump(), I have to check this myself first. Will let you know when I know more. BTW. I would recommend to not use CHANNEL_DIRECTBUMP_EX anymore, it is only for legacy reasons.

          cheers,
          Matthias

          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 21/11/2006 at 01:29, xxxxxxxx wrote:

            ok, got a solution how to get SampleBump() to work. You have to set the ddu and ddv parameters of the VolumeData first, SampleBump() needs them. Here a modified Output function of the SDK BitmapDistortion shader:

            Vector BitmapData::Output(PluginShader *chn, ChannelData *cd)  
            {  
                 if (!shader) return 1.0;  
              
                 if(!cd->vd) return 1.0;  
              
                 Vector ddu,ddv;  
              
                 cd->vd->GetDUDV(cd->vd->tex, cd->vd->p, cd->vd->n, cd->vd->orign, cd->vd->lhit, TRUE, &ddu;, &ddv;);  
                 cd->vd->ddu = ddu;  
                 cd->vd->ddv = ddv;  
              
                 Vector res=!shader->SampleBump(cd,SAMPLEBUMP_MIPFALLOFF);  
              
                 return (res+1)/2;  
            }
            

            this code outputs the deltanormals of the sampled shader, for instance a noise shader.

            cheers,
            Matthias

            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 21/11/2006 at 01:30, xxxxxxxx wrote:

              Thanks 🙂

              i'll make some test soon.

              Cheers
              Renato T.

              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 22/05/2007 at 03:37, xxxxxxxx wrote:

                To Maxon Support:
                You should consider to put things like this post in SDK documentation. Any way, thanks a lot, i was looking for that kind of info.

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