Announcement

Collapse
No announcement yet.

VrayInstancer over-logging

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

  • #16
    Thanks for those.

    On the issue of multi-threading, there is a crash when using any source objects with deformation.
    The first frame will render fine, but max will crash on the start of the 2nd frame, when calling renderBegin and frameBegin on the instances.
    I've attached a short script which recreates the bug:

    Code:
    (
    	delete objects
    	t = teapot()
    	addModifier t (noiseModifier animate:on strength:[1,1,1])
    	(
    		p = pf_source()
    		ParticleFlow.BeginEdit()
    		a1 = RenderParticles()
    		p.AppendAction a1
    		ev = Event()
    		ev_a1 = Birth Emit_Start:0 Emit_Stop:0 Amount:10
    		ev_a2 = Position_Icon()
    		ev.appendAction ev_a1
    		ev.appendAction ev_a2
    		ParticleFlow.EndEdit()
    		p.appendInitialActionList ev
    	)
    
    	i = vrayInstancer source_nodes:#(t) particles:#(p) multithreaded:on
            --render a sequence with at least 2 frames
    )

    Comment


    • #17
      Another very bizarre VrayInstancer bug is the following:

      Code:
      (
      	delete objects
      	c = cone pos:[50, 0, 0]
      	addModifier c (noiseModifier animate:on strength:[1,1,1])
      	addModifier c (turbosmooth())
      		
      	(
      		p = pf_source Emitter_Length:150 Emitter_Width:150
      		ParticleFlow.BeginEdit()
      		a1 = RenderParticles()
      		p.AppendAction a1
      		ev = Event()
      		ev_a1 = Birth Emit_Start:0 Emit_Stop:0 Amount:50
      		ev_a2 = Position_Icon()
      		ev.appendAction ev_a1
      		ev.appendAction ev_a2
      		ParticleFlow.EndEdit()
      		p.appendInitialActionList ev
      	)
      
      	i = vrayInstancer source_nodes:#(c) particles:#(p) multithreaded:off
      	--render a sequence with at least 2 frames
      )
      The first rendered frame will generate all 50 instances as expected. Subsequent frames will generate only about half that number, as shown below.

      Click image for larger version

Name:	f0000.png
Views:	1
Size:	178.8 KB
ID:	856063Click image for larger version

Name:	f0001.png
Views:	1
Size:	117.9 KB
ID:	856064

      Note that multithreading is off in this example.
      For some reason, recreating this in a simple scene requires that the object be a cone, and that the top modifier be turbosmooth, though I have encountered it on some pointcached characters as well. The middle modifier can be anything which generates deformation.

      Any idea what is causing this or how this could be worked around?

      Comment


      • #18
        The first issue will be fixed in the next nightly build tomorrow. The problem was a call in VRenderInstance::init() to a 3ds Max SDK function that is not really designed to work from multiple threads.

        The second issue I can't reproduce after fixing the first one. Which 3ds Max version are you using?

        Best regards,
        Vlado
        I only act like I know everything, Rogers.

        Comment


        • #19
          Amazing, thank you so much!

          I am using 2014. Neither issue appears in the latest nightly. Will this fix be included in the official 3.20 builds?

          Comment


          • #20
            Yes, I think so.

            Best regards,
            Vlado
            I only act like I know everything, Rogers.

            Comment

            Working...
            X