def __init__(self, scene, interactive=False, external_render=False, preview_render=False, bake=False): self.rib_done = False self.scene = scene self.output_files = [] # set the display driver if external_render: self.display_driver = scene.renderman.display_driver elif preview_render: self.display_driver = 'openexr' else: self.display_driver = 'it' if scene.renderman.render_into == 'it' else 'openexr' # pass addon prefs to init_envs addon = bpy.context.user_preferences.addons[__name__.split('.')[0]] init_exporter_env(addon.preferences) self.initialize_paths(scene) self.rm = scene.renderman self.external_render = external_render self.bake=bake self.do_render = (scene.renderman.output_action == 'EXPORT_RENDER') self.is_interactive = interactive self.is_interactive_ready = False self.options = [] # check if prman is imported if not prman_inited: init_prman() if interactive: prman.Init(['-woff', 'A57001']) # need to disable for interactive else: prman.Init() self.ri = prman.Ri() self.edit_num = 0 self.update_time = None self.last_edit_mat = None
def __init__(self, scene, interactive=False): self.scene = scene # pass addon prefs to init_envs addon = bpy.context.user_preferences.addons[__name__.split('.')[0]] init_exporter_env(addon.preferences) self.initialize_paths(scene) self.rm = scene.renderman self.do_render = (scene.renderman.output_action == 'EXPORT_RENDER') self.is_interactive_running = False self.is_interactive = interactive self.options = [] if interactive: prman.Init(['-woff', 'A57001']) #need to disable for interactive else: prman.Init() self.ri = prman.Ri() self.edit_num = 0 self.update_time = None
def runFilter(RIBFiles): prman.Init(["-catrib", "/dev/null", ""]) #"-woff",woff]) ri = prman.Ri() rif = CameraRif(ri) prman.RifInit([rif]) ri.Begin(ri.RENDER) for rib in RIBFiles: print('parsing for camera parameters: ' + rib) prman.ParseFile(rib) ri.End() return rif._cameraData
def __init__(self, scene): self.scene = scene #pass addon prefs to init_envs init_exporter_env( \ bpy.context.user_preferences.addons[__name__.split('.')[0]].preferences) self.initialize_paths(scene) self.rm = scene.renderman self.do_render = (scene.renderman.output_action == 'EXPORT_RENDER') self.is_interactive_running = False self.is_interactive = False self.options = [] prman.Init() self.ri = prman.Ri() self.edit_num = 0
import prman prman.Init() ri = prman.Ri() ri.Begin(ri.RENDER) ri.Display("sphere.tiff", "tiff", "rgb") ri.Projection("perspective") ri.WorldBegin() ri.Translate(0, 0, 2) ri.Sphere(1, -1, 1, 360) ri.WorldEnd() ri.End()
face = [-0.1, -1, -3, 0.1, -1, -3, -0.1, -1, 3, 0.1, -1, 3] plank = -5.0 ri.AttributeBegin() while (plank <= 5.0): ri.TransformBegin() ri.Color([1, 1, 1]) ri.Surface("paintedplastic") ri.Translate(plank, 0, 0) ri.Patch("bilinear", {'P': face}) ri.TransformEnd() plank = plank + 0.206 ri.AttributeEnd() prman.Init(["-progress" ]) # a list of string arguments, same as prman executable ri = prman.Ri() # create an instance of the RenderMan interface ri.Option("rib", {"string asciistyle": "indented"}) filename = "paintedplastic.rib" # this is the begining of the rib archive generation we can only # make RI calls after this function else we get a core dump ri.Begin("__render") #filename) ri.Clipping(0.1, 20) # ArchiveRecord is used to add elements to the rib stream in this case comments # note the function is overloaded so we can concatinate output ri.ArchiveRecord(ri.COMMENT, 'File ' + filename) ri.ArchiveRecord(ri.COMMENT, "Created by " + getpass.getuser()) ri.ArchiveRecord(ri.COMMENT, "Creation Date: " + time.ctime(time.time()))