示例#1
0
def main():
    parser = argparse.ArgumentParser(
        description="convert Mitsuba scenes to appleseed format.")
    parser.add_argument("input_file",
                        metavar="input-file",
                        help="Mitsuba scene (*.xml)")
    parser.add_argument("output_file",
                        metavar="output-file",
                        help="appleseed scene (*.appleseed)")
    args = parser.parse_args()

    # Create a log target that outputs to stderr, and binds it to the renderer's global logger.
    # Eventually you will want to redirect log messages to your own target.
    # For this you will need to subclass appleseed.ILogTarget.
    log_target = asr.ConsoleLogTarget(sys.stderr)

    # It is important to keep log_target alive, as the global logger does not
    # take ownership of it. In this example, we do that by removing the log target
    # when no longer needed, at the end of this function.
    asr.global_logger().add_target(log_target)
    asr.global_logger().set_verbosity_level(asr.LogMessageCategory.Warning)

    tree = ElementTree()
    try:
        tree.parse(args.input_file)
    except IOError:
        fatal("Failed to load {0}".format(args.input_file))

    project = convert(tree)

    asr.ProjectFileWriter().write(
        project, args.output_file,
        asr.ProjectFileWriterOptions.OmitHandlingAssetFiles)
示例#2
0
    def write_project(self, export_path):
        # Export project files.
        filename = os.path.abspath(bpy.path.ensure_ext(bpy.path.abspath(export_path), '.appleseed'))

        asr.ProjectFileWriter().write(self.__project,
                                      filename,
                                      asr.ProjectFileWriterOptions.OmitWritingGeometryFiles | asr.ProjectFileWriterOptions.OmitHandlingAssetFiles)
示例#3
0
    def __writeAppleseedProject(self, r, filename):

        proj = r.appleseedProject()
        writer = appleseed.ProjectFileWriter()
        writer.write(
            proj, filename,
            appleseed.ProjectFileWriterOptions.OmitWritingGeometryFiles
            | appleseed.ProjectFileWriterOptions.OmitBringingAssets)
示例#4
0
    def write_project(self, filename):
        """
        Write the appleseed project out to disk.
        """

        asr.ProjectFileWriter().write(
            self.as_project, filename,
            asr.ProjectFileWriterOptions.OmitWritingGeometryFiles
            | asr.ProjectFileWriterOptions.OmitHandlingAssetFiles)
示例#5
0
    def write_project(self, filename):
        """
        Write the appleseed project out to disk.
        :param filename:
        """

        asr.ProjectFileWriter().write(
            self.as_project,
            bpy.path.abspath(filename),
            asr.ProjectFileWriterOptions.OmitWritingGeometryFiles | asr.ProjectFileWriterOptions.OmitHandlingAssetFiles)
示例#6
0
def main():
    # Create a log target that outputs to stderr, and binds it to the renderer's global logger.
    # Eventually you will want to redirect log messages to your own target.
    # For this you will need to subclass appleseed.ILogTarget.
    log_target = asr.ConsoleLogTarget(sys.stderr)

    # It is important to keep log_target alive, as the global logger does not
    # take ownership of it. In this example, we do that by removing the log target
    # when no longer needed, at the end of this function.
    asr.global_logger().add_target(log_target)

    # Build the project.
    project = build_project()

    # Create the master renderer.
    renderer_controller = RendererController()

    # Catch Control-C.
    signal.signal(signal.SIGINT, lambda signal, frame: renderer_controller.abort_rendering())

    resource_search_paths = []
    tile_callback = TileCallback()
    renderer = asr.MasterRenderer(project,
                                  project.configurations()['final'].get_inherited_parameters(),
                                  resource_search_paths,
                                  renderer_controller,
                                  tile_callback)

    # Render the frame.
    if RENDER_ON_THREAD:
        render_thread = RenderThread(renderer)
        render_thread.start()

        while render_thread.isAlive():
            render_thread.join(0.5)  # seconds
    else:
        renderer.render()

    # Save the frame to disk.
    project.get_frame().write_main_image("output/test.png")

    # Save the project to disk.
    asr.ProjectFileWriter().write(project, "output/test.appleseed")

    # Remove the log target we added previosly.
    asr.global_logger().remove_target(log_target)
示例#7
0
def main():
    # Build the project.
    project = build_project()

    # Save the project to disk.
    asr.ProjectFileWriter().write(project, "test.appleseed")
示例#8
0
def main():
    # Build the project.
    project = build_project()

    # Save the project to disk.
    asr.ProjectFileWriter().write(project, output_scene_name + ".appleseed")
示例#9
0
	def _writeProject( self, r, filename ) :

		proj = r.appleseedProject()
		opts = appleseed.ProjectFileWriterOptions.OmitBringingAssets | appleseed.ProjectFileWriterOptions.OmitWritingGeometryFiles
		w = appleseed.ProjectFileWriter()
		w.write( proj, filename, opts )