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

    Graph Descriptions

    General Talk
    chit-chat
    3
    6
    1.3k
    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.
    • M
      Mats
      last edited by

      Hi.
      Been spending the day reading about redshift materials and node graphs.
      Then someone mentioned Graph Descriptions. Is that the new way to go? limitations other then what is in the docs?
      https://developers.maxon.net/docs/py/2024_3_0/manuals/manual_graphdescription.html

      Would also love some more examples.
      Maybe how to remove connections and nodes from existing graphs.
      Add nodes between existing nodes.

      I ended up with multiple material connections in to the surface port of the output nodes, that i am sure is illegal 🐶
      So ye, learn how to remove connection before adding new connections i guess.

      Would love to read more about this new way of doing it, and if other people is using this instead of the old ways.

      Cheers

      ferdinandF DunhouD 2 Replies Last reply Reply Quote 0
      • ferdinandF
        ferdinand @Mats
        last edited by

        Hey @Mats,

        Thank you for reaching out to us. Is it intentional that you posted in General Talk? Because this strikes me more as an API question; although very broad in scope, which might be why you posted here.

        What to use depends a bit on your goals. Graph descriptions are currently most geared towards creating new graphs from scratch. But with graph queries you can also modify existing graphs. Graph descriptions are still actively being developed, for 2025.0.0, when the docs only contained the change note about having fixed varidaic port handling I actually implemented much more, but that is currently all undocumented.

        Documenting this is in my backlog, and planned for the upcoming release. Generally speaking graph descriptions are also not a new way, and the Nodes API an old way. Graph descriptions are just a more streamlined way to interact with nodes graphs (something like handling variadic ports or the undocumented node commands can either be quite complicated or outright impossible in the Python Nodes API).

        But generally remains the fact that the Nodes API is the 'true' API which always will be more powerful (at least to the extent it has been wrapped for Python). My suggestion would be either to ask a concrete question what you want to do, or wait for the 2025.1 docs which are not far away. I will then have hopfeully found the time to document the new features and add some examples.

        Cheers,
        Ferdinand

        MAXON SDK Specialist
        developers.maxon.net

        1 Reply Last reply Reply Quote 1
        • M
          Mats
          last edited by

          Hi @ferdinand .

          It wasn't really a direct question, so to speak. More like a "Hey, anyone want to talk about graph description?"—so more of a general discussion about where and when people tend to use it. I was curious about what people have noticed it doesn't work well for, and where it excels. I didn’t want to take the focus away from the core support topics. 🙂

          But I can start.

          What I'm planning to use it for are daily tasks like converting color channels (as shown in the examples), creating partial descriptions (also in the examples), inverting roughness/glossy maps, swapping opacity for a sprite node, or adding triplanar nodes to texture nodes. Tasks that you find yourself doing over and over again because of purchased models or other deliveries.

          Again, this is from an artistic perspective. I know a bit about scripting—just enough to make my day easier in C4D—but I’m primarily an artist, not a coder. When I discovered graph description, I got a bit excited because I never dared venture into the node API before. However, I didn’t find many references to graph description when searching the forum, which led me to believe this might be a relatively new feature.

          But a big kudos to you guys on the manual. It’s so easy to read and understand, and it feels much more focused toward artists, which is really nice.

          Looking forward to the 2025.1 documentation!

          1 Reply Last reply Reply Quote 0
          • DunhouD
            Dunhou @Mats
            last edited by

            Graph Description is great and I love it.

            I wrote a rough trace to generate descriptions from selected material and reconstruct a new material based on the descriptions.

            I have more plans for this, but due to busy artistic work I had to suspend this project. It's really regrettable.

            But I have more plans and ideas about this. Perhaps before I achieve my idea, the omnipotent @ferdinand already has these features built-in, who knows 😊

            Cheers~
            DunHou

            https://boghma.com
            https://github.com/DunHouGo

            M 1 Reply Last reply Reply Quote 0
            • M
              Mats @Dunhou
              last edited by

              @Dunhou so you "scan" an already existing material, then it generates a graph description code to recreate that already existing material ?
              sounds complicated 😄
              Ye, ferdinand is omnipotent, but your not bad yourself. Using multiple tools from you in boghma already.

              DunhouD 1 Reply Last reply Reply Quote 0
              • DunhouD
                Dunhou @Mats
                last edited by

                Yes @Mats , it will 'scan' the material and convert to a description, then convert back to material.

                I want to achieve material conversion between different renderers, which may seem like a very labor-intensive task, but the good news is that I have taken the first step in implementing it.

                And thanks for your like for boghma.

                Cheers~
                DunHou

                https://boghma.com
                https://github.com/DunHouGo

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