[Closed] max2008 EXR issue and possible fix?
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
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
)
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
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.
XP pro 32 and 64 mixed / Max 9-sp2 / Vray 1.50.00 / Backburner 2k7.0.1
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
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:
Hope that helps,
-Eric
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?
I´m with stupid atm…too many nightshifts
my openexr.ini
[ExrDefaultOptions]
UseInternalImportDefaults=FALSE
UseInternalExportDefaults=FALSE
[ExrNetServerParamOverrideOptions]
NetServersUseExportIniFileSettings=FALSE
NetServersUseImportIniFileSettings=FALSE
[ExrImportInternalDefaultParams]
Dflt_StorageType=FLOAT32
Dflt_Exponent=1,000000
Dflt_BlackPoint=0,000000
Dflt_WhitePoint=1,000000
Dflt_RGBLevel=1,000000
Dflt_RGBOffset=0,000000
[ExrExportInternalDefaultParams]
Dflt_RGBABitDepth=FLOAT
Dflt_SaveRedChannel=TRUE
Dflt_SaveGreenChannel=TRUE
Dflt_SaveBlueChannel=TRUE
Dflt_SaveAlphaChannel=TRUE
Dflt_UseRealPixels=FALSE
Dflt_ApplyColorTransform=FALSE
Dflt_Exponent=1,000000
Dflt_PreMultipliedAlpha=TRUE
Dflt_OverrideFrameNumDigits=FALSE
Dflt_FrameNumDigits=4
Dflt_Compression=ZIP16
Dflt_AddAttr_Comment=FALSE
Dflt_AddAttr_ComputerName=FALSE
Dflt_AddAttr_SystemTime=FALSE
Dflt_AddAttr_LocalTime=FALSE
Dflt_AddAttr_VersionEXR=FALSE
Dflt_AddAttr_Version3dsMax=FALSE
Dflt_AddChan_ZBuffer=FALSE
Dflt_AddChan_ObjectID=FALSE
Dflt_AddChan_MaterialID=FALSE
Dflt_AddChan_RenderID=FALSE
Dflt_AddChan_UV=FALSE
Dflt_AddChan_Velocity=FALSE
Dflt_AddChan_Normal=FALSE
Dflt_AddChan_Coverage=FALSE
[ExrImportParams]
StorageType=FLOAT32
ApplyColorTransform=FALSE
Exponent=1,000000
BlackPoint=0,000000
WhitePoint=1,000000
RGBLevel=1,000000
RGBOffset=0,000000
[ExrExportParams]
RGBABitDepth=HALF
SaveRedChannel=TRUE
SaveGreenChannel=TRUE
SaveBlueChannel=TRUE
SaveAlphaChannel=TRUE
UseRealPixels=FALSE
ApplyColorTransform=FALSE
Exponent=1,000000
PreMultipliedAlpha=FALSE
Compression=ZIP16
OverrideFrameNumDigits=FALSE
FrameNumDigits=0
or is it enough maybe to modify these lines?:
NetServersUseExportIniFileSettings=FALSE
NetServersUseImportIniFileSettings=FALSE
thanks in advance and kindest regards,
anselm
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…
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:
- make the changes to your openexr.ini file and place it on a shared network location.
- 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).
- 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).
- Run replaceEXR.bat code from one machine to submit the job to backburner and have all machines execute it.