hey guys - lets reopen this and put some pressure on solving it. let me know if i can chase autodesk…
cb
hey guys - lets reopen this and put some pressure on solving it. let me know if i can chase autodesk…
cb
We’re still on max2010 in production so that where I’m focusing my tests. My latest idea is to embed the file with a series of callbacks that log the exr settings. Since RPM is a possible candidate for triggering the issue, I wanted to make tests with and without rpm. Also, with and without SMTD from max, etc. I’m getting a little confused about the discrepancies between the ui’s of rpm and smtd regarding callbacks. So today I’m going to just bypass all of this and just embed it with my own script that assigns callbacks.
I do have one question. Since the #filepreopen and some other callbacks won’t yet know what they are rendering, its there a way to query the deadline task to get that information earlier? I need to know the frame and the job name so I can file everything together.
Here is a snippet of the code that dumps out the settings from fopenexr interface.
fn outexr stream =
(
format "%\n" rendOutputFilename to:stream
compr = case openexr.getcompression() of
(
0: "No Compression"
1:"Run-length Encoding"
2:"ZLIB, per scanline"
3:"ZLIB, 16 scanlines"
4:"PIZ"
5:"Lossy 4x4 Blocks"
6:"Lossy 4X4 Blocks (fixed rate)"
)
sl = case openexr.getsavescanline() of
(
true:"true"
false:"false"
)
ts = openexr.gettilesize()
format "\tcompression: % \n\tscanlines: % \n\ttileSize: %\n" compr sl ts to:stream
nl = openexr.numlayers()
for i in 0 to (nl-1) do
(
ln = openexr.getLayerName i
if ln == "" do ln = "(base)"
lt = case (openexr.getLayerType i) of
(
0:"Base Layer "
1:"Render Element "
2:"G-Buffer Channel"
default:"error!!! "
)
lo = case (openexr.getLayerOutputType i) of
(
0:"RGBA"
1:"RGB "
2:"Mono"
3:"XYZ "
4:"XY "
5:"UV "
default: "error!!!"
)
lf = case (openexr.getLayerOutputFormat i) of
(
0:"FLOAT32"
1:"FLOAT16"
2:"INT32 "
default:"error!!!"
)
format("\t %)%\t\t (% : %:%)\n") i ln lt lo lf to:stream
)
)
I’ll probably make some code that checks to see if the rendered settings are identical to the ones that existed at submit time.
The handful of DeadlineUtil functions that are expose to maxscript can be found in SMTD by selecting the Tiles tab and then clicking on the New Script From Template button. You’ll be able to pull the Frame number and scene file name. Hopefully that’s enough, because there isn’t a way to pull the job name currently.
Cheers,
I need access to these values during the render, not during the submission. I suppose I could just generate separate logs via machinename and timestamp and and collate them later by job and frame. I wanted the slave to create and write to a log called. .txt. and each callback would append that .txt file and close the stream.
Actually, they should be available during the render. They’re available to maxscript jobs (which is why they’re in the template), and I would expect them to also be available in callback scripts during the render as well.
Also, I just noticed the typo in my previous response - I meant the Scripts tab, not the Tiles tab.
Cheers,
Anyone solved this issue?
For some reason, I’m getting this too. Not sure what’s changed.
Looks like on submission of render to Deadline, the openexr.ini, in 3dsmax/plugincfg. is being overwritten.
By default it’s like this…
[ExrNetServerParamOverrideOptions]
NetServersUseExportIniFileSettings=TRUE
NetServersUseImportIniFileSettings=FALSE
So I changed it to this:
NetServersUseExportIniFileSettings=FALSE
NetServersUseImportIniFileSettings=TRUE
Which according to the help should switch it using the max file settings on net render, and not the local ini file?
But this changes back as soon as its submitted…so it’s being modified or overwritten each frame.
Here’s what the openexr_ini_help file says…
Our submission script doesn’t touch that file… is it possible that file gets overwritten when the max scene file is saved? We do save the scene as part of the submission process. If you just do a manual save, does that overwrite the file?
Your right. It’s Max doing it!
There are various posts about this over the place. And no-one seems to have fixed the issue. Or if they have, they are not sharing the info.
I don’t really want to update to connection extension, as there are issues going that way. The updated exr plugin doesn’t have a un-premutliplied button.