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

    Render Data - EXR compression type [SOLVED]

    Scheduled Pinned Locked Moved PYTHON Development
    8 Posts 0 Posters 957 Views
    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 Offline
      Helper
      last edited by

      On 21/05/2017 at 17:03, xxxxxxxx wrote:

      Hi all!

      I'm writing one script to collect and set the render setting to render some projects with the same render setting and speed up the workflow with this script.

      I want to use EXR format to Multi Pass setting but in the python SDK documentation doesn't talk about compression for each format (jpg, or exr for example).

      So, how can I get the compression data to set it with the script? I want to set the Lossy 16bit format in blocks of 16 scanlines exr compression.

      Here is the format sectionof the script:

      import c4d

      def Format() :

      doc=c4d.documents.GetActiveDocument()
          rDat=doc.GetActiveRenderData()
          MPFormat=c4d.FILTER_EXR #EXR format
          rDat[c4d.RDATA_MULTIPASS_SAVEFORMAT] = MPFormat #Set EXR in Multipass Output Render Settings
          print rDat[c4d.FILTER_EXR] #always print 1 any option compression information
          c4d.EventAdd()
          
      Format()

      ----------------------

      Thanks and cheers!!

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

        On 22/05/2017 at 01:12, xxxxxxxx wrote:

        Don't know if it's uptodate or not but did you read this thread? Because for me everything is working when I use the script from this thread.
        https://developers.maxon.net/forum/topic/8721/11429_setting-the-format-options-of-an-openexr-solved&PID=45254

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

          On 22/05/2017 at 01:54, xxxxxxxx wrote:

          Hi cybor09,

          as stated out by gr4ph0s, in the thread he mentioned there's a small snippet showing how to define the options for the EXR file format by adding a sub-container. Basically once you have accessed the RDATA_SAVEOPTIONS BaseContainer, just add a subcontainer with the additional options you need to be used.

          Best, Riccardo

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

            On 22/05/2017 at 02:16, xxxxxxxx wrote:

            I guess it will be really nice to have at least all options exposed.
            Since even in the C++ sdk I was not able to find others options

            btw: your link point to nothing riccardo 😉

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

              On 22/05/2017 at 05:09, xxxxxxxx wrote:

              I agree 100% gr4ph0s, for the time being here you are with a small atlas:

              OPENEXR - rdata[c4d.RDATA_SAVEOPTIONS][0] is a BaseContainer containing the OpenEXR options
                  None
                  rdata[c4d.RDATA_SAVEOPTIONS][0][0] =  0
                  rdata[c4d.RDATA_SAVEOPTIONS][0][1] =  0

              Run length encoding
                  rdata[c4d.RDATA_SAVEOPTIONS][0][0] =  1
                  rdata[c4d.RDATA_SAVEOPTIONS][0][1] =  0

              Zip, one scan line at a time
                  rdata[c4d.RDATA_SAVEOPTIONS][0][0] =  2
                  rdata[c4d.RDATA_SAVEOPTIONS][0][1] =  0

              Zip, in blocks of 16 scan lines 
                  rdata[c4d.RDATA_SAVEOPTIONS][0][0] =  3
                  rdata[c4d.RDATA_SAVEOPTIONS][0][1] =  0
                   
                  Piz-based wavelet
                  rdata[c4d.RDATA_SAVEOPTIONS][0][0] =  4
                  rdata[c4d.RDATA_SAVEOPTIONS][0][1] =  0

              Lossy 24-bit float, Zip 
                  rdata[c4d.RDATA_SAVEOPTIONS][0][0] =  5
                  rdata[c4d.RDATA_SAVEOPTIONS][0][1] =  0
                   
                  Lossy 16-bit float, 4-by-4 pixel [B44]
                  rdata[c4d.RDATA_SAVEOPTIONS][0][0] =  6
                  rdata[c4d.RDATA_SAVEOPTIONS][0][1] =  1
                   
                  Lossy 16-bit float, 4-by-4 pixel (flat fields) [B44A]
                  rdata[c4d.RDATA_SAVEOPTIONS][0][0] =  7
                  rdata[c4d.RDATA_SAVEOPTIONS][0][1] =  1
                   
                  Lossy 16-bit float, Run length encoding
                  rdata[c4d.RDATA_SAVEOPTIONS][0][0] =  1
                  rdata[c4d.RDATA_SAVEOPTIONS][0][1] =  1
                   
                  Lossy 16-bit float, Zip, one scan line at a time
                  rdata[c4d.RDATA_SAVEOPTIONS][0][0] =  2
                  rdata[c4d.RDATA_SAVEOPTIONS][0][1] =  1
                   
                  Lossy 16-bit float, Zip, in blocks of 16 scan lines 
                  rdata[c4d.RDATA_SAVEOPTIONS][0][0] =  3
                  rdata[c4d.RDATA_SAVEOPTIONS][0][1] =  1
                   
                  Lossy 16-bit float, Piz-based wavelet
                  rdata[c4d.RDATA_SAVEOPTIONS][0][0] =  4
                  rdata[c4d.RDATA_SAVEOPTIONS][0][1] =  1

              PNG
                  Not interlaced/interlaced
                  rdata[c4d.RDATA_SAVEOPTIONS][PNG_INTERLACED] = 0 (not interlaced)
                  rdata[c4d.RDATA_SAVEOPTIONS][PNG_INTERLACED] = 1 (interlaced)
                  
              JPG
                  compression percentage
                  rdata[c4d.RDATA_SAVEOPTIONS][JPGSAVER_QUALITY] = percentage value

              DPX
                  planar
                  rdata[c4d.RDATA_SAVEOPTIONS][DPX_PLANAR] = 0 (disabled)
                  rdata[c4d.RDATA_SAVEOPTIONS][DPX_PLANAR] = 1 (enabled)

              RLA 
                  Z
                  (rdata[c4d.RDATA_SAVEOPTIONS][RLA_OPTIONS] & c4d.RLAFLAGS_Z) == c4d.RLAFLAGS_Z (enabled)
                  (rdata[c4d.RDATA_SAVEOPTIONS][RLA_OPTIONS] & c4d.RLAFLAGS_Z) != c4d.RLAFLAGS_Z (disabled)

              Object
                  (rdata[c4d.RDATA_SAVEOPTIONS][RLA_OPTIONS] & c4d.RLAFLAGS_OBJECTBUFFER) == c4d.RLAFLAGS_OBJECTBUFFER (enabled)
                  (rdata[c4d.RDATA_SAVEOPTIONS][RLA_OPTIONS] & c4d.RLAFLAGS_OBJECTBUFFER) != c4d.RLAFLAGS_OBJECTBUFFER (disabled)

              UV Coordinates
                  (rdata[c4d.RDATA_SAVEOPTIONS][RLA_OPTIONS] & c4d.RLAFLAGS_UV) == c4d.RLAFLAGS_UV (enabled)
                  (rdata[c4d.RDATA_SAVEOPTIONS][RLA_OPTIONS] & c4d.RLAFLAGS_UV) != c4d.RLAFLAGS_UV (disabled)

              Normal
                  (rdata[c4d.RDATA_SAVEOPTIONS][RLA_OPTIONS] & c4d.RLAFLAGS_NORMAL) == c4d.RLAFLAGS_NORMAL (enabled)
                  (rdata[c4d.RDATA_SAVEOPTIONS][RLA_OPTIONS] & c4d.RLAFLAGS_NORMAL) != c4d.RLAFLAGS_NORMAL (disabled)

              Non-clamped color
                  (rdata[c4d.RDATA_SAVEOPTIONS][RLA_OPTIONS] & c4d.RLAFLAGS_ORIGCOLOR) == c4d.RLAFLAGS_ORIGCOLOR (enabled)
                  (rdata[c4d.RDATA_SAVEOPTIONS][RLA_OPTIONS] & c4d.RLAFLAGS_ORIGCOLOR) != c4d.RLAFLAGS_ORIGCOLOR (disabled)

              Coverage    
                  (rdata[c4d.RDATA_SAVEOPTIONS][RLA_OPTIONS] & c4d.RLAFLAGS_COVERAGE) == c4d.RLAFLAGS_COVERAGE (enabled)
                  (rdata[c4d.RDATA_SAVEOPTIONS][RLA_OPTIONS] & c4d.RLAFLAGS_COVERAGE) != c4d.RLAFLAGS_COVERAGE (disabled)

              RPF
                  Z
                  (rdata[c4d.RDATA_SAVEOPTIONS][RLA_OPTIONS] & c4d.RLAFLAGS_Z) == c4d.RLAFLAGS_Z (enabled)
                  (rdata[c4d.RDATA_SAVEOPTIONS][RLA_OPTIONS] & c4d.RLAFLAGS_Z) != c4d.RLAFLAGS_Z (disabled)

              Object
                  (rdata[c4d.RDATA_SAVEOPTIONS][RLA_OPTIONS] & c4d.RLAFLAGS_OBJECTBUFFER) == c4d.RLAFLAGS_OBJECTBUFFER (enabled)
                  (rdata[c4d.RDATA_SAVEOPTIONS][RLA_OPTIONS] & c4d.RLAFLAGS_OBJECTBUFFER) != c4d.RLAFLAGS_OBJECTBUFFER (disabled)

              UV Coordinates
                  (rdata[c4d.RDATA_SAVEOPTIONS][RLA_OPTIONS] & c4d.RLAFLAGS_UV) == c4d.RLAFLAGS_UV (enabled)
                  (rdata[c4d.RDATA_SAVEOPTIONS][RLA_OPTIONS] & c4d.RLAFLAGS_UV) != c4d.RLAFLAGS_UV (disabled)

              Normal
                  (rdata[c4d.RDATA_SAVEOPTIONS][RLA_OPTIONS] & c4d.RLAFLAGS_NORMAL) == c4d.RLAFLAGS_NORMAL (enabled)
                  (rdata[c4d.RDATA_SAVEOPTIONS][RLA_OPTIONS] & c4d.RLAFLAGS_NORMAL) != c4d.RLAFLAGS_NORMAL (disabled)

              Non-clamped color
                  (rdata[c4d.RDATA_SAVEOPTIONS][RLA_OPTIONS] & c4d.RLAFLAGS_ORIGCOLOR) == c4d.RLAFLAGS_ORIGCOLOR (enabled)
                  (rdata[c4d.RDATA_SAVEOPTIONS][RLA_OPTIONS] & c4d.RLAFLAGS_ORIGCOLOR) != c4d.RLAFLAGS_ORIGCOLOR (disabled)

              Coverage    
                  (rdata[c4d.RDATA_SAVEOPTIONS][RLA_OPTIONS] & c4d.RLAFLAGS_COVERAGE) == c4d.RLAFLAGS_COVERAGE (enabled)
                  (rdata[c4d.RDATA_SAVEOPTIONS][RLA_OPTIONS] & c4d.RLAFLAGS_COVERAGE) != c4d.RLAFLAGS_COVERAGE (disabled)

              ObjectID
                  (rdata[c4d.RDATA_SAVEOPTIONS][RLA_OPTIONS] & c4d.RLAFLAGS_OBJECTID) == c4d.RLAFLAGS_OBJECTID (enabled)
                  (rdata[c4d.RDATA_SAVEOPTIONS][RLA_OPTIONS] & c4d.RLAFLAGS_OBJECTID) != c4d.RLAFLAGS_OBJECTID (disabled)
                  
                  Color
                  (rdata[c4d.RDATA_SAVEOPTIONS][RLA_OPTIONS] & c4d.RLAFLAGS_COLOR) == c4d.RLAFLAGS_COLOR (enabled)
                  (rdata[c4d.RDATA_SAVEOPTIONS][RLA_OPTIONS] & c4d.RLAFLAGS_COLOR) != c4d.RLAFLAGS_COLOR (disabled)

              Subpixel Weight
                  (rdata[c4d.RDATA_SAVEOPTIONS][RLA_OPTIONS] & c4d.RLAFLAGS_SUBPIXEL_WEIGHT) == c4d.RLAFLAGS_SUBPIXEL_WEIGHT (enabled)
                  (rdata[c4d.RDATA_SAVEOPTIONS][RLA_OPTIONS] & c4d.RLAFLAGS_SUBPIXEL_WEIGHT) != c4d.RLAFLAGS_SUBPIXEL_WEIGHT (disabled)

              Subpixel Mask           
                  (rdata[c4d.RDATA_SAVEOPTIONS][RLA_OPTIONS] & c4d.RLAFLAGS_SUBPIXEL_MASK) == c4d.RLAFLAGS_SUBPIXEL_MASK (enabled)
                  (rdata[c4d.RDATA_SAVEOPTIONS][RLA_OPTIONS] & c4d.RLAFLAGS_SUBPIXEL_MASK) != c4d.RLAFLAGS_SUBPIXEL_MASK (disabled)
                          
              PS: Note that the corresponding map is just an atlas and doesn't consider any sort of check about the existence of the objects containing the values as usual happens in snippets

              Best, Riccardo

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

                On 22/05/2017 at 08:06, xxxxxxxx wrote:

                I love your posts Riccardo.
                Every time you reply to a question, you always reply to it with a working code example.

                I really love that. !Thumbs Up[URL-REMOVED]
                -ScottA


                [URL-REMOVED] @maxon: This section contained a non-resolving link which has been removed.

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

                  On 22/05/2017 at 08:12, xxxxxxxx wrote:

                  Wow that thread must be added to the sdk 😛

                  I 100% agree with Scotta !

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

                    On 23/05/2017 at 10:13, xxxxxxxx wrote:

                    That's great guys! Thanks a lot!

                    And sorry, I didn't search correctly with the advanced search options before to create this thread but I'm grateful for the atlas 🙂. This should be added to the SDK 😄

                    Thanks again, cheers!

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