Announcement

Collapse
No announcement yet.

globally disabling interpolation/where is that prepass coming from?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • globally disabling interpolation/where is that prepass coming from?

    again referring to the giant scene i am optimising. its doing a single prepass before rendering, even thought the imap is precalculated. im guessing that means either interpolation is enabled in one of the thousands of materials here, or there is a fastsss2 shader in there.


    ive tried both vray automator and VMC to disable interpolation in all materials, but its still there.. so either its buried in some fiendishly complex sub material the scripts are not finding, or its an sss shader.



    id like very much to kill it!!!!


    any suggestions that dont involve me spending days wading through other peoples material trees?

  • #2
    Take half of your scene, delete it and see if the prepass is still calculating. If yes take the half of what´s left and repeart as neccessary.
    (If no, undo delete and delete the other half)
    At a certain point the Material Tree gets clearer and you should easily be able to find the material in question.

    Comment


    • #3
      Something like:
      Code:
      (
      	vrmArr = getClassInstances vrayMtl
      	for m in vrmArr do
      	(
      		m.reflection_useInterpolation=false
      		m.refraction_useInterpolation=false
      	)
      )
      I don't have Max here and wrote this on my phone so apologies if it doesn't work.
      Dan Brew

      Comment


      • #4
        Get the zorb modifier modifier from scriptspot. Select everything in your scene. Go to the materials tab, get the material parameters, then set all vray reflection interpolations to on, then off. That should do it.
        Many Thanks
        Patrick

        Comment


        • #5
          thanks for the replies guys, but i just wonder, is that script snippet, or the zorb modifier modifier going to do anything that vmc or vray automator wont do? i assume they all use the same method. selecting all vray materials and turning off interpolation.

          the problem lies in either extremely deep material trees with composite materials (neither vmc or automator will see inside those to sub materials) and also sss2 materials that use interpolation by default. in which case it wont be possible to turn it off without finding the sss2 material and replacing it.

          i fear that the classic "divide and conquer" approach suggested by samuel might be the only way. was just hoping to avoid the couple of hours it will likely take on this scene.

          Comment


          • #6
            GetClassInstances should find all VRay materials in your scene regardless of how deeply embedded inside a material tree. If those other scripts you tried don't see inside composite materials then they must be using a different search method.

            Changing the first line of the code to:
            Code:
            vrmArr = getClassInstances vrayMtl processAllAnimatables:true
            will also include non scene objects. It shouldn't be necessy here but you may as well add it.

            I didn't know fastsss2 materials used interpolation but you can check for them in a similar way and print their names to the maxscript listener:
            Code:
            (
            	vrmArr = getClassInstances VRayFastSSS2 processAllAnimatables:true
            	for m in vrmArr do
            	(
            		print m.name
            	)
            )
            Got to be easier than wading through 1000's of materials yourself?
            Dan Brew

            Comment


            • #7
              many thanks!, yes indeed... to be honest i should just learn to script.. ive been using max since before it was max so its about bloody time.

              Comment

              Working...
              X