Python Interface

 

An alpha version of the Octane Python interface is included with the plugin. Modifications can be made to the Octane scene via Python, however, manual changes will cause the scene to be reloaded, overwriting your changes. For a complete list of functions, refer to:

C:\Users\[username]\AppData\Roaming\Luxology\Configs\OctaneRenderForModoXXX\Scripts\octane.py

 

import octane
import ctypes
from ctypes import c_uint

# Examples of accessing Octane information 
if octane.IsStarted():
  # Pause rendering
  octane.PauseRendering()
  # Resume rendering - if paused
  octane.ContinueRendering()
  # Restart rendering
  octane.RestartRendering()
  # Get the rendertarget node
  rendertargetNode = octane.GetRenderTargetNode()

  if bool(rendertargetNode) != 0:
    # Get the number of pin on the rendertarget node 
    numPins = octane.GetPinCount(rendertargetNode) 
    print "Rendertarget pin count = " + str(numPins)
  else:
    print "No rendertarget found"

  rs = octane.ResultStatistics()
  octane.GetResultStatistics(rs)
  print "Max Samples per Pixel = " + str(rs.maxSamplesPerPixel)

  usage = c_uint() 
  total = c_uint() 
  triCount = c_uint() 
  meshCount = c_uint() 
  free = c_uint() 
  hairCount = c_uint() 
  dispCount = c_uint()
  octane.GetMemoryUsage(usage, free, total, triCount, meshCount, hairCount, dispCount)
  print "Used memory = " + str(usage.value)

else:
  print "OctaneRender not loaded"