Dear Community,
due to the current job i have to use Max10 and the EXR file format...but i had quite the same issues with max9 and EXR:

When i render a single EXR frame locally (having added all necessary render elements in advance of cause) i get all the desired render elements such as NoreRenderIDs, etc. all good!

When i render a sequence of EXRs (active time segment or range, doesnīt matter) i get only R,G,B and Alpha...

same happens when i render a sequence at the farm with backburner! R,G,B and Alpha...

When i render single frames divided by commata it seems to work though!!!

Any experience with that anyone?

Or is there a script maybe that takes the active time segment, divides it by commata and copies the values to the frames line in the render dialog or script listener...?

thanks in advance and kindest regards,
anselm

Gravey

04-02-2008, 12:49 PM

i dont really use EXRs like that much but here's a quick script that you asked for:
(
renderSceneDialog.close()
local frames = ""
local start = animationRange.start
local end = animationRange.end
for i = start to end do
(
str = i as string
str = substring str 1 (str.count-1)
append frames str
if i != end then append frames ","
)
rendPickupFrames = frames
)

PsychoSilence

04-02-2008, 12:56 PM

hey Gravey,
that was a quick reply :) thank you VERY MUCH for the script :) that will help me alot until there is a solution for the EXR issues.

kindrest regards,
Anselm

Kramsurfer

04-02-2008, 06:05 PM

Are you setting Render Elements in the RE dialog or the openEXR extra Channels?

Via the standard Render Elements Dialog, we've used them extensively without issues.

i set the EXR extra channels within the setup dialog of the exr format. all the elements are set to active just to make sure the compositors have all they need :D

PiXeL_MoNKeY

04-02-2008, 08:24 PM

Yeah this is an issue with the EXR settings and the .INI file that stores them. The settings aren't transfered with the files. Solution: setup EXR how you usually work, copy the file to a shared location, send a per server BB job through backburner with a batch file, done. Here is what I use here at the office:@echo off
COPY "\\<path>\openexr.ini" "C:\Program Files\Autodesk\3ds Max 2008\plugcfg\"
exit@echo off
"C:\Program Files\Autodesk\Backburner\cmdjob.exe" -jobname "Replace EXR" -manager <name> -priority 0 -perserver "\\<path>\copyEXR.bat"
exitHope that helps,
-Eric

PsychoSilence

04-02-2008, 09:12 PM

cant i manipulate the openexr.ini file and copy it to all mashines? like setting all necessary "FALSE" values to "TRUE"?
hope i get this right, so if i cant copy&paste the *.ini to all mashines and set it to "read only" so max canīt modify it at itīs will i have to send a command line render job and have to generate the *.bat files from your code?

or is it enough maybe to modify these lines?:
NetServersUseExportIniFileSettings=FALSE
NetServersUseImportIniFileSettings=FALSE

thanks in advance and kindest regards,
anselm

PsychoSilence

04-03-2008, 11:29 AM

any info anyone? :cry::banghead::bowdown:

Kameleon

04-03-2008, 11:56 AM

Cant you copy your ini to a shared network path and have a pre-render script that copies it to the current machine rendering? Just a thought...

PiXeL_MoNKeY

04-03-2008, 03:55 PM

The batch file does the copying of the .ini file to all the machines. Saves a lot of time to simply send a BB job that handles the copying for you :). copyEXR.bat is the command sent to every render machine. replaceEXR.bat is the BB batch that submits the job to every BB machine. Basically copyEXR.bat does all the work, while replaceEXR.bat tells all the machines what batch file they should run, and the fact that all machines should run that job.

NOTE: I used the BB job approach because it doesn't launch Max so there is no issue with the file being loaded and then replacing it, and wondering which file will be saved back once Max closes.

Hope that makes a little more sense,
-Eric

HOW TO USE IT:
1) make the changes to your openexr.ini file and place it on a shared network location.
2) Copy the code from copyEXR.bat to a new batch file and save it to a shared network location (Edit the code with the proper path to your openexr.ini file and Max install locations).
3) Copy the code from replaceEXR.bat to a run command prompt (ignore the first and last line, and edit path to the copyEXR.bat), dos command prompt (ignore the first and last line, and edit path to the copyEXR.bat), or to a new batch file on any one machine (edit path to the copyEXR.bat).
4) Run replaceEXR.bat code from one machine to submit the job to backburner and have all machines execute it.

Kramsurfer

04-09-2008, 12:44 AM

I looked into this here at work for myself and found we did have the same issue. Apparently no one on the floor thought uncompressed 128bit files where much of an issue...
Anyway, I solved the issue here with a PostFileOpen callback, which sets properties via MaxOpenEXR interface.
We can now decide what's 16bit or 32bit per channel as well as w/wo Alpha and PreMulti, per submittal.

Or if you wish to NOT save the green channel, try the code below... :-)

I found using a bitDepth of 8 bits per channel produces a black frame everytime.. ( plugin issue or Vray? not that there is a point to saving an 8bit .exr )

FDreesen

04-09-2008, 03:16 PM

We actually solved the issue of OpenExr channel settings not being transferred not by copying the openexr.ini to all machines but the openexr_temp.dat which is located in the same directory. Not sure if this had been changed in max 2008 but the openexr.ini alone did not make it work for us (on max2008).

Kind regards,
Friedolin Dreesen

CGTalk Moderation

04-09-2008, 03:16 PM

This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.