RecordAnimation with Raytraced

Thank you! Where do I find these for download, to keep on top of updates?

Also, can you point me to the Denoiser plugin for Mac?

The link I posted above is currently the only download. For v7 it will be unnecessary to use.

There is no denoiser plug-in for Mac.

A quick test shows that using Cycles, the Render quality is worse than the viewport quality. Why would that be? Are they in fact two different engines?

They are the exact same engines. The plug-in is just a bit of code to offer the same engine as a selection possibility in the Current Renderer menu.

I can check tomorrow if you can share a file with me: rhino3d.com/upload?to=nathan@mcneel.com

Okay thank you. How do you prefer files sent, with everything in them (in this case 250MB+) or stripped down to minimal?

Everything in is fine - less roundtrips in asking to upload versions that contain more :slight_smile:

okay sending now. Also of note - if turn cycles up to 1000, Rhino crashes.

Here’s another comparison at 100 samples to show difference more clearly, viewport is first -

Viewport%20100%20samples

Cycles%20100%20samples

Viewport is brighter, sharper, less noisy. Maybe it’s because shadows are not fully calculated, and this is deceptively seeming like higher quality?

I also noticed when using RecordAnimation that every frame reloads meshes, textures, etc which wastes time - vs viewport where once they are loaded you can update quickly.

Note that in the upper screenshot you see the OpenGL rendering of the scene, not the Raytraced version.

RecordAnimation doesn’t know about Raytraced, best would be if it did, then it could use the viewport for the rendering where it is then just a matter of adjusting the viewport, wait for the samples to be all calculated, then capture.

btw, I did see the notification of your file upload. I’ll look it tomorrow when at the office.

@Eric_Forman I looked at your file, and while many objects, it should work fine. When using _Render and the animation recording with Rhino Render Next you don’t have to have the viewport in Raytraced mode. I suggest you don’t use that when starting either command, since you’ll have an unnecessary session running in parallel.

Rendering here works just fine. Note in the background I have the viewport just in Wireframe, while Rhino Render Next was crunching. I had it actually set to 1500, but I had to step out, so I stopped at 1429. But it rendered just fine on my MBP (2017, 13.1", CPU, 2 render threads on 4 cores).

Interesting. Thank you for testing. I always pause the Viewport render before starting render, but I can try also switching it to wireframe.

Can you clarify - you said viewport and renderNext use same engines - but then you said viewport was OpenGL not Raytraced. Or maybe you meant Render (you said “upper screenshot” which was viewport).

Besides that question, what other test can I do to figure out why Render on my machine looks way worse than on yours? I’m using a 2019 MBP, loaded. Will also test on iMac with 3.3Ghz i5 and AMD Radeon R9.

Secondary question - if you use RhinoCycles_ChangeSamples, it seems RenderNext ignores quality settings. Is there a way to control render quality without setting samples manually for both viewport and render each time?

Another thought - since on newer Macs the display resolution is quite high, and uses dpi scaling, a Viewport of the same apparent size as a 640x480 Render output is not in fact the same resolution as . To demonstrate, if you take a screenshot of the viewport of seemingly identical size it’s actually 4 times the resolution (1280x960). When you first open it in Preview it looks to be the same resolution at 100% - but that’s because it’s 144dpi instead of 72, and the Mac OS interprets 100% “actual size” as apparent size, NOT actual resolution. (Which is annoying on many levels.)

So my theory is the Viewport of the same apparent size is actually much higher res. Therefore it looks better. And also explains its much slower rendering time (6 minutes vs 1 minute).

They use indeed the same engine. When I say you see the OpenGL bit it is the ‘preview’ of the scene before Raytraced manages to put any of its own results on screen.

Hmm, it should use the sample count that has been set with RhinoCycles_ChangeSamples. Or what quality setting are you referring to?

This may very well be the case. Just for the record can you please go to RhinoBETA > Preferences > Advanced and type DpiScale in the search field. What does the value for RhinoCycles.DpiScale say?

Other than that Raytraced (and Rhino Render Next) is rendering at the resolutions it is told to by Rhino. So if there is a descrepancy between the two that needs to be fixed.

DPI Scale = 1.

By render quality, I mean setting Render Properties / Quality to Low Draft Good or Final has no effect - it renders same number of samples.

Hmm, interesting, for a viewport in theory that should be 2 if your dpi is what you say it is. I’ll revisit the code determining that when I get a similar setup to test with.

Right, that quality settings is for the Rhino Render only,
Raytraced/Rhino Render Next don’t look at these settings.

Thanks Nathan. A few more observations/problems:

If I set viewport to wireframes before stating render, as you suggested, the RecordAnimation script always switches it back to Raytraced when started. Thus it is rendering in two windows for every frame. So I have to wait until first frame is done and then “sneak in” and click pause.

The RecordAnimation script crashes or freezes computer when rendering higher res or samples, not sure exactly which. At 800x600 with 500 samples, left overnight, it stopped after 8 frames out of 30. (Energy Saver was set to “prevent computer from sleeping automatically when display is off.”) Unable to wake computer to get any further detail, had to force power down and reboot.

I don’t see that here. I do these steps:

  • Load model
  • Ensure Rhino Render Next is current renderer
  • Activate the view I want to render from
  • Set that view to Wireframe mode
  • SetTurnTableAnimation
    • set frame count
    • RenderFull
    • PNG
  • RecordAnimation
    • select target location to save PNGs to
    • done

This will start the animation process, render it with Rhino Render Next into the render window. The viewport stays in wireframe mode, it should not switch magically to Raytraced.

I did see a problem with memory consumption, and I have a feeling it is related to what was reported here: Problem textures resulting in very high RAM and CPU use . We’re investigating that.

I have found at least one crash bug, that happens even with the regular Rhino Render:

https://mcneel.myjetbrains.com/youtrack/issue/RH-53446