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

    Deleting material doesn't change cache or data bit

    SDK Help
    0
    3
    351
    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 09/11/2016 at 14:26, xxxxxxxx wrote:

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

      ---------
      Hello.

      I have a render engine in which I pass the objects and materials from Cinema 4D.

      What I try to do is to update the engine data based on Cinema4D hierarchy changes.
      I do that by reading DIRTYFLAGS_MATRIX , DIRTYFLAGS_CACHE and DIRTYFLAGS_DATA bits using GetDirty on every object, tag and material in the hierarchy.

      But, whenever I delete a material which is set in a texture tag, the cache bits of this tag and object are not updated, even though the material parameter of the texture tag is empty.

      The other alternative solution would be to scan the material list and save the state. Is there anything else I can do to avoid this ? (since it can be really slow in huge scenes).

      Thank you very much for your time.

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

        On 09/11/2016 at 14:44, xxxxxxxx wrote:

        The actual data in the tag doesn't change, only the link becomes invalid. That's why the material parameter
        appears suddenly empty, although the actual "value" didn't change.

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

          On 10/11/2016 at 03:27, xxxxxxxx wrote:

          Hello and thank you very much for your help Niklas.

          So, basically, what I have to do to "catch" the change is to check the link if it is still valid right ?

          Thnx again.

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