Vray Frame Buffer Check add to Sanity Check ? :)

Okay… I just looked around and did find some old threads from 2014 on this.

When using Vray’s built-in Frame Buffer it doesn’t output the render elements according to 3dsMax’s designated locations.
For this reason I never use it… but it actually quite a nice VFB for all other purposes (except unattended rendering…)

I read something in the 2014 post (forums.thinkboxsoftware.com/vie … 56&t=11668) about it being able to add a custom line for the sanity check to check if this is on (and perhaps even turn it off automatically).

How could this line be added to the sanity check… and more importantly … how to construct this :slight_smile:

As I’m a quite forgetful at times and more then often forget to disable the Vray built-in frame buffer when submitting to deadline… which is a painful discovery after a hour(s) rendering…

any help would be much appreciated.

Well, it looks like we made some progress in the last two years! We have a checkboxes for it nowadays:

docs.thinkboxsoftware.com/produc … ng-options

Look for these specifically:

Override Renderer Frame Buffer Visibility: If checked, the current renderers frame buffer visibility will be overridden by the next setting (Show Renderer Frame Buffer).

Show Renderer Frame Buffer: If checked, the current renderers frame buffer will be made visible during rendering (V-Ray and Corona Frame Buffers currently supported).

thanks for the response!

I indeed seen these, but this doesn’t enable the max native render-elements again.
Which means that there are no render element subdirs made nor files written to is as it would when the vray buffer is disabled completely before submitting the render.

So I’d still need to check if the vray buffer is left on prior to submitting

Deadline 8.1 (private BETA for customers) has now full respect to create sub-dirs when using V-Ray VFB. In fact, all the “Pathing Options” in SMTD are now respected by V-Ray VFB, where possible. ie: Split Channels & RAW Save still do their own thing, as they are overrides.

HOWEVER, if the V-Ray VFB is enabled, then 3dsMax std RE’s will not ever be created. There are a few SMTD Sanity Checks which check for various states such as if the V-Ray VFB is enabled or not, combined with other settings. Feel free to review this file, if you need to ‘borrow’ any of the code to write your own custom SMTD Sanity Check:

“<your_repo>/submission/3dsmax/Main/SubmitMaxToDeadline_SanityCheck_General.ms”

Here is the content of the Private Sanity Check with an example of how to implement a check for VRay VFB, and a fix function to turn it off:

-----------------------------------------------------------------------------------------------------------------------------------------------
--THIS FILE CONTAINS YOUR USER-DEFINED CHECKS TO BE PERFORMED AND THE FUNCTIONS
--TO BE USED TO CHECK AND REPAIR THE SCENE BEFORE SUBMISSION
-----------------------------------------------------------------------------------------------------------------------------------------------
--THIS FILE WILL **NOT** BE UPDATED AUTOMATICALLY BY THINKBOX SOFTWARE INC
--AND SHOULD BE USED FOR YOUR IN-HOUSE NEEDS.
-----------------------------------------------------------------------------------------------------------------------------------------------

(
global SMTD_Private_SanityCheckFunctions
global SMTD_Private_SanityChecksToPerform
global SMTD_Private_RepairFunctions 

global SMTD_RepairFunctions
global SMTD_SanityChecksToPerform
global SMTD_SanityCheckFunctions

struct SMTD_Private_SanityCheckFunctions
(
    fn isVFBFrameBufferOn =
    (
        not (isKindOf renderers.current VRay AND renderers.current.output_on)
    )
    
)--end struct		


struct SMTD_Private_RepairFunctions 
(
    fn TurnOffVFBFrameBuffer =
    (
        if isKindOf renderers.current VRay do renderers.current.output_on = false
    )
    
)--end struct 

------------------------------------------------------------------------------------------------------------------------------------------------------
--SANITY CHECK PRIVATE DEFINITIONS
------------------------------------------------------------------------------------------------------------------------------------------------------

SMTD_Private_SanityChecksToPerform = #(
    #(SMTD_Private_SanityCheckFunctions.isVFBFrameBufferOn, #fix, "The renderer is VRay and VRay VFB is ON!", SMTD_Private_RepairFunctions.TurnOffVFBFrameBuffer, true)
)--end checks array

)--End File

To use

  • Navigate to your Deadline Repository and go into submission\3dsmax\Main\
  • Locate the file “SubmitMaxToDeadline_SanityCheck_Private.ms” and open it for editing in the MAXScript editor or an external text editor.
  • If you already have private sanity check functions in that file, you will have to copy the functions and the definition into it. Otherwise, you can replace the whole content with the above code.
  • If you are adding to an existing set of functions and definitions, don’t forget to add commas after the previous function when adding the new one, and a comma after the previous check definition array. Let me know if you don’t know what I am talking about.
  • Save the file
  • Launch SMTD
  • If you would run the Sanity Check and VRay is the current renderer and its VFB is on, you will get a new warning with the option to fix it by right-clicking it. Doing so will switch the VFB off. You can also uncheck the checkbox in front of the line to ignore and submit with VFB on while passing the Sanity Check…

Hope this helps.

Thanks Mike & Bobo for these suggestions!

For now I’ll use bobo’s answer to make sure that forgetful me is reminded of turning things off :slight_smile:
After that I’ll upgrade the farm to the beta and have a run at that (indeed missed the subdir’s in the Vray method).
I already have access to the beta, but rather do it after a mayor project-deadline just to avoid surprises (I know… there are hardly any big ones with the beta’s… but still :slight_smile: )

thanks!