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
    • Unread
    • Recent
    • Tags
    • Users
    • Login
    1. Maxon Developers Forum
    2. peterakos
    3. Topics
    P
    • Profile
    • Following 0
    • Followers 0
    • Topics 12
    • Posts 28
    • Best 0
    • Controversial 0
    • Groups 0

    Topics created by peterakos

    • P

      Cloner with multi-instance

      Cinema 4D SDK
      • c++ r21 • • peterakos
      4
      0
      Votes
      4
      Posts
      609
      Views

      ManuelM

      hello,

      without further addition on your part, this thread will be considered as solved tomorrow.

      Cheers,
      Manuel.

    • P

      Retrieving particle positions for Multi-Instance

      Cinema 4D SDK
      • c++ r20 • • peterakos
      3
      0
      Votes
      3
      Posts
      515
      Views

      P

      Thank you for your help !

    • P

      Bitmaps in custom shaders don't appear in Texture Manager

      Cinema 4D SDK
      • r20 c++ sdk • • peterakos
      5
      0
      Votes
      5
      Posts
      762
      Views

      S

      Hello,

      I tested it with the Gradient Shader example from the cinema4dsdk and it works fine as far as I can tell.

      I just removed the check for ASSETDATA_FLAG::TEXTURESONLY:

      Bool SDKGradientClass::Message(GeListNode* node, Int32 type, void* data) { switch (type) { case MSG_GETALLASSETS: { AssetData* const assetData = static_cast<AssetData*>(data); // checks if only texture assets should be added if (assetData == nullptr) return true; BaseList2D* const baseList2D = static_cast<BaseList2D*>(node); if (baseList2D != nullptr) { // get the file name const Filename path = baseList2D->GetData().GetFilename(GRAD_FILE); // check if the file name is set if (path.IsPopulated()) { // add the file name assetData->Add(path, nullptr); } } break; } } return SUPER::Message(node, type, data); };

      Regarding Shader hierarchies: I guess you can send the message to your child-shaders yourself, to make sure they receives the message.

      best wishes,
      Sebastian

    • P

      Precise float parameters in UI

      Cinema 4D SDK
      • c++ r20 sdk • • peterakos
      4
      0
      Votes
      4
      Posts
      678
      Views

      rsodreR

      Shouldn't STEP be used to set this precision?
      Or is there a limit for STEP?

    • P

      R20 equivalent of GeSignal

      Cinema 4D SDK
      • r20 sdk c++ • • peterakos
      7
      0
      Votes
      7
      Posts
      1.4k
      Views

      P

      Hello.

      The problem was that I didn't add the definitions.

      iferr_scope;
      signal = maxon::ConditionVariableRef::Create() iferr_return;

      Thank you for your time and sorry for that 😞

    • P

      MSG_UPDATE is sent after pressing button in Material Data

      Cinema 4D SDK
      • c++ r20 • • peterakos
      3
      0
      Votes
      3
      Posts
      642
      Views

      P

      Hello.

      Thank you very much for your clarification on this.
      I have a button in MaterialData that saves the material in a specific format in the disk.
      I doesn't change anything in the material but the MSG_UPDATE is sent anyway.
      So, since I don't want to run the MSG_UPDATE handler, I have to set a flag to true in order to skip it.

      Thank you.

    • P

      Send BaseBitmap to another plugin

      Cinema 4D SDK
      • c++ r20 • • peterakos
      5
      0
      Votes
      5
      Posts
      993
      Views

      P

      Thank you very much for your support !

    • P

      VPBUFFER_OBJECTBUFFER is not rendered correctly

      Cinema 4D SDK
      • r20 c++ • • peterakos
      4
      0
      Votes
      4
      Posts
      1.1k
      Views

      r_giganteR

      Hi Petros, glad that you get it fixed.

      With regard to buffer allocation via AllocateBuffer, being those buffer handled by Cinema, they are automatically released as soon as the multipass bitmap containing such buffers are passed to the PictureViewer.

      Best, Riccardo

    • P

      Flush a group in a non-main thread.

      Cinema 4D SDK
      • r20 c++ • • peterakos
      6
      0
      Votes
      6
      Posts
      1.3k
      Views

      P

      Hello.

      I have solved it by using SpecialEventAdd and sending a message to dialog's CoreMessage.

      Thank you.

    • P

      Get the real document in MATPREVIEW_GENERATE_IMAGE material message

      Cinema 4D SDK
      • r20 c++ • • peterakos
      4
      0
      Votes
      4
      Posts
      939
      Views

      r_giganteR

      Hi Petros, in order to have the MATPREVIEW_PREPARE_SCENE being dispatched, you've to set MatPreviewObjectInfo::bNeedsOwnScene to true. At the same time also MatPreviewObjectInfo::bHandlePreview needs to be set to true when the host object is responsible for the rendering.

      Finally I think that looking at MATPREVIEW enums can be helpful as well.

      Best, Riccardo

    • P

      LayoutFlushGroup doesn't place the insertion point inside the group

      Cinema 4D SDK
      • r19 c++ windows • • peterakos
      5
      0
      Votes
      5
      Posts
      1.3k
      Views

      S

      Hello,

      LoadDialogResource() and LayoutFlushGroup() should work perfectly fine together. Typically LayoutFlushGroup() is called in reaction to some user interaction or in InitValues():

      Bool CreateLayout() { if (!GeDialog::CreateLayout()) return false; if (!LoadDialogResource(11000, nullptr, 0)) return false; return true; } Bool InitValues() { LayoutFlushGroup(11003); AddButton(100, BFH_SCALEFIT, 0, 10, "Button"_s); LayoutChanged(11003); return true; }

      best wishes,
      Sebastian