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

    Topics

    • P

      Cloner with multi-instance

      Watching Ignoring Scheduled Pinned Locked Moved Cinema 4D SDK c++ r21
      4
      0 Votes
      4 Posts
      824 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

      Watching Ignoring Scheduled Pinned Locked Moved Cinema 4D SDK c++ r20
      3
      0 Votes
      3 Posts
      727 Views
      P
      Thank you for your help !
    • P

      Bitmaps in custom shaders don't appear in Texture Manager

      Watching Ignoring Scheduled Pinned Locked Moved Cinema 4D SDK r20 c++ sdk
      5
      0 Votes
      5 Posts
      1k 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

      Watching Ignoring Scheduled Pinned Locked Moved Cinema 4D SDK c++ r20 sdk
      4
      0 Votes
      4 Posts
      860 Views
      rsodreR
      Shouldn't STEP be used to set this precision? Or is there a limit for STEP?
    • P

      R20 equivalent of GeSignal

      Watching Ignoring Scheduled Pinned Locked Moved Cinema 4D SDK r20 sdk c++
      7
      0 Votes
      7 Posts
      2k 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

      Watching Ignoring Scheduled Pinned Locked Moved Cinema 4D SDK c++ r20
      3
      0 Votes
      3 Posts
      791 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

      Watching Ignoring Scheduled Pinned Locked Moved Cinema 4D SDK c++ r20
      5
      0 Votes
      5 Posts
      1k Views
      P
      Thank you very much for your support !
    • P

      VPBUFFER_OBJECTBUFFER is not rendered correctly

      Watching Ignoring Scheduled Pinned Locked Moved Cinema 4D SDK r20 c++
      4
      0 Votes
      4 Posts
      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.

      Watching Ignoring Scheduled Pinned Locked Moved Cinema 4D SDK r20 c++
      6
      0 Votes
      6 Posts
      2k 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

      Watching Ignoring Scheduled Pinned Locked Moved Cinema 4D SDK r20 c++
      4
      0 Votes
      4 Posts
      1k 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

      Watching Ignoring Scheduled Pinned Locked Moved Cinema 4D SDK r19 c++ windows
      5
      0 Votes
      5 Posts
      2k 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