Jump to content
AutoDesSys

Batch Rendering: How?


Hugo

Recommended Posts

I still don't get the clue about Batch Rendering in Maxwell. I see the scripts, but then it stops about my knowledge...  ;)

 

How can I use these scripts easily in my workflow?

 

At the moment I click in FormZ 8.5 on each view to render in Maxwell. This means I can render max. 5 views in Maxwell with all of them open at the same time. The problem is that my computer or Maxwell sometime block, because of memory.

 

What I want is this:

- Now all my MXI files are stored in the folder: /user/documents/Maxwell MXI files.

- Batch Render renders all MXI files each by each...

- Store all PNG files in the same Maxwell MXI folder.

 

This is the script:

 

 

// This script gets all the mxs's located in the folder "input" and its children

// Opens them, change their SL and resolution and launch each render

// The output of all the images are stored in the folder "output"

 

 

var inputFolder = "/Gebruikers/hugo/Documenten/Maxwell MXI files";

var outputFolder ="/Gebruikers/hugo/Documenten/Maxwell MXI files";

 

var engineVersion = Maxwell.getEngineVersion();

 

var mxsCount = FileManager.getNumberOfFilesInBranch( inputFolder, "*.mxs" );

var mxsList = FileManager.getFilesInBranch( inputFolder, "*.mxs" );

 

RenderEvents["renderFinished()"].connect(renderHasFinished);

 

 

var i = 0;

var isRendering = 0;

 

for( i = 0; i < mxsCount; i++ )

{

renderScene();

while( 1 )

{

if( isRendering == 0 )

{

break;

}

}

}

 

//////////////////////////////////////////////////////////////////

 

function renderScene()

{

var mxsFile = mxsList;

var imagePath = outputFolder + "\" + FileManager.getFileName( mxsFile ) + ".png";

var mxiPath = outputFolder + "\" + FileManager.getFileName( mxsFile ) + ".mxi";

 

Maxwell.print( "rendering Mxs file: " + mxsFile );

 

Maxwell.openMxs( mxsFile );

Scene.setImagePath( imagePath );

Scene.setMxiPath( mxiPath );

Scene.setSamplingLevel( 8 );

Mxi.setResX( 400 );

Mxi.setResY( 400 );

//Scene.setTime( 10 );

 

isRendering = 1;

Maxwell.startRender();

}

 

//////////////////////////////////////////////////////////////////

 

function renderHasFinished()

{

isRendering = 0;

 

Maxwell.print( "Render finished!!" );

}

 

//////////////////////////////////////////////////////////////////

 

 

Link to comment
Share on other sites

Hi Hugo,

 

You don't need to use a script to batch render. Use Maxwell's Network Rendering system, which is intended for batch rendering. The Manager, Monitor, and Node application are located in your Maxwell folder. If you what to render locally (on the same machine you are working on), just launch all three applications on the same machine. From formZ, use the "Network Render" launch action to export and begin rendering on the network (or batch render locally, if you prefer).

 

 

 

 

Link to comment
Share on other sites

Sorry, I assumed you had the floating license with render nodes. See http://www.maxwellrender.com/index.php/products/maxwell_render_suite/what_included

It is possible to upgrade for the difference in price between node-locked and floating: http://www.maxwellrender.com/pricing

 

 

Doing a batch using scripting should work with a node-locked license, however. I assume you are starting with the script here: http://support.nextlimit.com/display/maxwelldocs/Render+queue+example

You will need to modify it to use POSIX paths and separators if you are using OSX.

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...