diff --git a/ncj/maya/index.json b/ncj/maya/index.json index 0637a08..2fc24ed 100644 --- a/ncj/maya/index.json +++ b/ncj/maya/index.json @@ -1 +1,12 @@ -[] \ No newline at end of file +[ + { + "id": "render-vray-windows", + "name": "Render Maya/V-ray scene on windows", + "description": "Render a Maya scene with the V-Ray renderer on windows" + }, + { + "id": "render-vray-linux", + "name": "Render Maya/V-ray scene on linux", + "description": "Render a Maya scene with the V-Ray renderer on linux" + } +] diff --git a/ncj/maya/render-vray-linux/job.template.json b/ncj/maya/render-vray-linux/job.template.json new file mode 100644 index 0000000..b7a3ea4 --- /dev/null +++ b/ncj/maya/render-vray-linux/job.template.json @@ -0,0 +1,169 @@ +{ + "templateMetadata": { + "description": "Application template for working with Maya and V-Ray on CentOS." + }, + "parameters": { + "poolId": { + "type": "string", + "defaultValue": "vray-maya-pool-centos", + "metadata": { + "description": "The ID of the pool on which to run the job." + } + }, + "jobName": { + "type": "string", + "defaultValue": "render-vray-maya", + "metadata": { + "description": "The unique name of the job." + } + }, + "inputData": { + "type": "string", + "metadata": { + "description": "The file group where the input data is stored", + "advancedType": "file-group" + } + }, + "sceneFile": { + "type": "string", + "metadata": { + "description": "The Maya scene file to be rendered", + "advancedType": "file-in-file-group", + "dependsOn": "inputData" + } + }, + "frameStart": { + "type": "int", + "defaultValue": 1, + "metadata": { + "description": "Index of the first frame to render" + } + }, + "frameEnd": { + "type": "int", + "defaultValue": 1, + "metadata": { + "description": "Index of the last frame to render" + } + }, + "frameStep": { + "type": "int", + "defaultValue": 1, + "metadata": { + "description": "Incremental step in frame sequeunce" + } + }, + "outputs": { + "type": "string", + "metadata": { + "description": "The file group where outputs will be stored", + "advancedType": "file-group" + } + } + }, + "job": { + "type": "Microsoft.Batch/batchAccounts/jobs", + "properties": { + "id": "[parameters('jobName')]", + "poolInfo": { + "poolId": "[parameters('poolId')]" + }, + "jobPreparationTask": { + "resourceFiles": [ + { + "source": { + "fileGroup": "[parameters('inputData')]" + }, + "filePath": "assets/" + } + ], + "commandLine": "ls" + }, + "taskFactory": { + "type": "parametricSweep", + "parameterSets": [ + { + "start": "[parameters('frameStart')]", + "end": "[parameters('frameEnd')]", + "step": "[parameters('frameStep')]" + } + ], + "repeatTask": { + "displayName": "Frame {0}", + "userIdentity": { + "autoUser": { + "scope": "task", + "elevationLevel": "admin" + } + }, + "commandLine": "sudo mkdir -m a=rwx -p \"/X\";sudo mount --rbind $AZ_BATCH_JOB_PREP_WORKING_DIR/assets /X;Render -renderer vray -proj \"$AZ_BATCH_JOB_PREP_WORKING_DIR\" -verb -rd \"$AZ_BATCH_TASK_WORKING_DIR/images\" -s {0} -e {0} \"/X/[parameters('sceneFile')]\";err=$?;sudo umount \"/X\";exit $err", + "environmentSettings": [ + { + "name": "MAYA_SCRIPT_PATH", + "value": "%AZ_BATCH_JOB_PREP_WORKING_DIR%/scripts" + }, + { + "name": "FLEXLM_TIMEOUT", + "value": "5000000" + }, + { + "name": "VRAY_AUTH_CLIENT_FILE_PATH", + "value": "/etc/vray" + } + ], + "outputFiles": [ + { + "filePattern": "../stdout.txt", + "destination": { + "autoStorage": { + "fileGroup": "[parameters('outputs')]", + "path": "[parameters('jobName')]/logs/frame_{0}.log" + } + }, + "uploadOptions": { + "uploadCondition": "taskCompletion" + } + }, + { + "filePattern": "../stderr.txt", + "destination": { + "autoStorage": { + "fileGroup": "[parameters('outputs')]", + "path": "[parameters('jobName')]/logs/frame_{0}_error.log" + } + }, + "uploadOptions": { + "uploadCondition": "taskCompletion" + } + }, + { + "filePattern": "images/**/*", + "destination": { + "autoStorage": { + "fileGroup": "[parameters('outputs')]", + "path":"[parameters('jobName')]/images" + } + }, + "uploadOptions": { + "uploadCondition": "taskSuccess" + } + }, + { + "filePattern": "thumbs/*.png", + "destination": { + "autoStorage": { + "fileGroup": "[parameters('outputs')]", + "path": "[parameters('jobName')]/thumbs" + } + }, + "uploadOptions": { + "uploadCondition": "taskSuccess" + } + } + ] + } + }, + "onAllTasksComplete": "terminateJob" + } + } +} diff --git a/ncj/maya/render-vray-linux/pool.template.json b/ncj/maya/render-vray-linux/pool.template.json new file mode 100644 index 0000000..18269e3 --- /dev/null +++ b/ncj/maya/render-vray-linux/pool.template.json @@ -0,0 +1,117 @@ +{ + "parameters": { + "poolName": { + "type": "string", + "defaultValue": "vray-maya-pool-centos", + "metadata": { + "description": "Id of the pool" + } + }, + "vmCount": { + "type": "int", + "defaultValue": 1, + "metadata": { + "description": "The number of virtual machines in the Azure Batch pool where the job will run" + } + }, + "vmSize": { + "type": "string", + "metadata": { + "description": "The size of the virtual machines that run the application" + }, + "defaultValue": "Standard_D2_v2", + "allowedValues": [ + "Standard_A1", + "Standard_A2", + "Standard_A3", + "Standard_A4", + "Standard_A5", + "Standard_A6", + "Standard_A7", + "Standard_A8", + "Standard_A9", + "Standard_A10", + "Standard_A11", + "Standard_A1_v2", + "Standard_A2_v2", + "Standard_A4_v2", + "Standard_A8_v2", + "Standard_A2m_v2", + "Standard_A4m_v2", + "Standard_A8m_v2", + "Standard_D1", + "Standard_D2", + "Standard_D3", + "Standard_D4", + "Standard_D11", + "Standard_D12", + "Standard_D13", + "Standard_D14", + "Standard_D11", + "Standard_D12", + "Standard_D13", + "Standard_D14", + "Standard_D1_v2", + "Standard_D2_v2", + "Standard_D3_v2", + "Standard_D4_v2", + "Standard_D5_v2", + "Standard_D11_v2", + "Standard_D12_v2", + "Standard_D13_v2", + "Standard_D14_v2", + "Standard_D15_v2", + "Standard_D2_v3", + "Standard_D4_v3", + "Standard_D8_v3", + "Standard_D16_v3", + "Standard_E2_v3", + "Standard_E4_v3", + "Standard_E8_v3", + "Standard_E16_v3", + "Standard_E32_v3", + "Standard_E64_v3", + "Standard_F1", + "Standard_F2", + "Standard_F4", + "Standard_F8", + "Standard_F16", + "Standard_G1", + "Standard_G2", + "Standard_G3", + "Standard_G4", + "Standard_G5", + "Standard_L4", + "Standard_L8", + "Standard_L16", + "Standard_L32", + "Standard_M64s", + "Standard_M64ms", + "Standard_M128s" + ] + } + }, + "variables": { + "osType": { + "imageReference": { + "publisher": "batch", + "offer": "rendering-centos73", + "sku": "rendering", + "version": "latest" + }, + "nodeAgentSKUId": "batch.node.centos 7" + } + }, + "pool": { + "id": "[parameters('poolName')]", + "displayName": "V-Ray CentOS rendering pool", + "vmSize": "[parameters('vmSize')]", + "virtualMachineConfiguration": "[variables('osType')]", + "targetDedicatedNodes": "[parameters('vmCount')]", + "enableAutoScale": false, + "applicationLicenses": [ + "maya", + "vray" + ] + } +} diff --git a/ncj/maya/render-vray-windows/job.template.json b/ncj/maya/render-vray-windows/job.template.json new file mode 100644 index 0000000..dca0fd7 --- /dev/null +++ b/ncj/maya/render-vray-windows/job.template.json @@ -0,0 +1,165 @@ +{ + "templateMetadata": { + "description": "Application template for working with Maya and V-Ray on Windows." + }, + "parameters": { + "poolId": { + "type": "string", + "defaultValue": "vray-maya-pool-windows", + "metadata": { + "description": "The ID of the pool on which to run the job." + } + }, + "jobName": { + "type": "string", + "defaultValue": "render-vray-maya", + "metadata": { + "description": "The unique name of the job." + } + }, + "inputData": { + "type": "string", + "metadata": { + "description": "The file group where the input data is stored", + "advancedType": "file-group" + } + }, + "sceneFile": { + "type": "string", + "metadata": { + "description": "The Maya scene file to be rendered", + "advancedType": "file-in-file-group", + "dependsOn": "inputData" + } + }, + "frameStart": { + "type": "int", + "defaultValue": 1, + "metadata": { + "description": "Index of the first frame to render" + } + }, + "frameEnd": { + "type": "int", + "defaultValue": 1, + "metadata": { + "description": "Index of the last frame to render" + } + }, + "frameStep": { + "type": "int", + "defaultValue": 1, + "metadata": { + "description": "Incremental step in frame sequeunce" + } + }, + "outputs": { + "type": "string", + "metadata": { + "description": "The file group where outputs will be stored", + "advancedType": "file-group" + } + } + }, + "job": { + "type": "Microsoft.Batch/batchAccounts/jobs", + "properties": { + "id": "[parameters('jobName')]", + "poolInfo": { + "poolId": "[parameters('poolId')]" + }, + "jobPreparationTask": { + "resourceFiles": [ + { + "source": { + "fileGroup": "[parameters('inputData')]" + }, + "filePath": "assets/" + } + ], + "commandLine": "dir" + }, + "taskFactory": { + "type": "parametricSweep", + "parameterSets": [ + { + "start": "[parameters('frameStart')]", + "end": "[parameters('frameEnd')]", + "step": "[parameters('frameStep')]" + } + ], + "repeatTask": { + "displayName": "Frame {0}", + "userIdentity": { + "autoUser": { + "scope": "task", + "elevationLevel": "admin" + } + }, + "commandLine": "subst X: %AZ_BATCH_JOB_PREP_WORKING_DIR%\\assets & render -renderer vray -proj \"%AZ_BATCH_JOB_PREP_WORKING_DIR%\" -verb -rd \"%AZ_BATCH_TASK_WORKING_DIR%\\images\" -s {0} -e {0} \"X:\\[parameters('sceneFile')]\"", + "environmentSettings": [ + { + "name": "MAYA_SCRIPT_PATH", + "value": "%AZ_BATCH_JOB_PREP_WORKING_DIR%\\scripts" + }, + { + "name": "FLEXLM_TIMEOUT", + "value": "5000000" + } + ], + "outputFiles": [ + { + "filePattern": "../stdout.txt", + "destination": { + "autoStorage": { + "fileGroup": "[parameters('outputs')]", + "path": "[parameters('jobName')]/logs/frame_{0}.log" + } + }, + "uploadOptions": { + "uploadCondition": "taskCompletion" + } + }, + { + "filePattern": "../stderr.txt", + "destination": { + "autoStorage": { + "fileGroup": "[parameters('outputs')]", + "path": "[parameters('jobName')]/logs/frame_{0}_error.log" + } + }, + "uploadOptions": { + "uploadCondition": "taskCompletion" + } + }, + { + "filePattern": "images/**/*", + "destination": { + "autoStorage": { + "fileGroup": "[parameters('outputs')]", + "path":"[parameters('jobName')]/images" + } + }, + "uploadOptions": { + "uploadCondition": "taskSuccess" + } + }, + { + "filePattern": "thumbs/*.png", + "destination": { + "autoStorage": { + "fileGroup": "[parameters('outputs')]", + "path": "[parameters('jobName')]/thumbs" + } + }, + "uploadOptions": { + "uploadCondition": "taskSuccess" + } + } + ] + } + }, + "onAllTasksComplete": "terminateJob" + } + } +} diff --git a/ncj/maya/render-vray-windows/pool.template.json b/ncj/maya/render-vray-windows/pool.template.json new file mode 100644 index 0000000..c365ea5 --- /dev/null +++ b/ncj/maya/render-vray-windows/pool.template.json @@ -0,0 +1,117 @@ +{ + "parameters": { + "poolName": { + "type": "string", + "defaultValue": "vray-maya-pool-windows", + "metadata": { + "description": "Id of the pool" + } + }, + "vmCount": { + "type": "int", + "defaultValue": 1, + "metadata": { + "description": "The number of virtual machines in the Azure Batch pool where the job will run" + } + }, + "vmSize": { + "type": "string", + "metadata": { + "description": "The size of the virtual machines that run the application" + }, + "defaultValue": "Standard_D2_v2", + "allowedValues": [ + "Standard_A1", + "Standard_A2", + "Standard_A3", + "Standard_A4", + "Standard_A5", + "Standard_A6", + "Standard_A7", + "Standard_A8", + "Standard_A9", + "Standard_A10", + "Standard_A11", + "Standard_A1_v2", + "Standard_A2_v2", + "Standard_A4_v2", + "Standard_A8_v2", + "Standard_A2m_v2", + "Standard_A4m_v2", + "Standard_A8m_v2", + "Standard_D1", + "Standard_D2", + "Standard_D3", + "Standard_D4", + "Standard_D11", + "Standard_D12", + "Standard_D13", + "Standard_D14", + "Standard_D11", + "Standard_D12", + "Standard_D13", + "Standard_D14", + "Standard_D1_v2", + "Standard_D2_v2", + "Standard_D3_v2", + "Standard_D4_v2", + "Standard_D5_v2", + "Standard_D11_v2", + "Standard_D12_v2", + "Standard_D13_v2", + "Standard_D14_v2", + "Standard_D15_v2", + "Standard_D2_v3", + "Standard_D4_v3", + "Standard_D8_v3", + "Standard_D16_v3", + "Standard_E2_v3", + "Standard_E4_v3", + "Standard_E8_v3", + "Standard_E16_v3", + "Standard_E32_v3", + "Standard_E64_v3", + "Standard_F1", + "Standard_F2", + "Standard_F4", + "Standard_F8", + "Standard_F16", + "Standard_G1", + "Standard_G2", + "Standard_G3", + "Standard_G4", + "Standard_G5", + "Standard_L4", + "Standard_L8", + "Standard_L16", + "Standard_L32", + "Standard_M64s", + "Standard_M64ms", + "Standard_M128s" + ] + } + }, + "variables": { + "osType": { + "imageReference": { + "publisher": "batch", + "offer": "rendering-windows2016", + "sku": "rendering", + "version": "latest" + }, + "nodeAgentSKUId": "batch.node.windows amd64" + } + }, + "pool": { + "id": "[parameters('poolName')]", + "displayName": "V-Ray Windows rendering pool", + "vmSize": "[parameters('vmSize')]", + "virtualMachineConfiguration": "[variables('osType')]", + "targetDedicatedNodes": "[parameters('vmCount')]", + "enableAutoScale": false, + "applicationLicenses": [ + "maya", + "vray" + ] + } +} diff --git a/ncj/vray/index.json b/ncj/vray/index.json index a996327..5832959 100644 --- a/ncj/vray/index.json +++ b/ncj/vray/index.json @@ -1,12 +1,12 @@ [ { "id": "render-windows", - "name": "Render Maya scene on windows", - "description": "Render a Maya scene with the V-Ray renderer on windows" + "name": "Render V-Ray scene on windows", + "description": "Render a standalone V-Ray scene on windows" }, { "id": "render-linux", - "name": "Render Maya scene on linux", - "description": "Render a Maya scene with the V-Ray renderer on linux" + "name": "Render V-Ray scene on linux", + "description": "Render a standalone V-Ray scene on linux" } ]