Cycles render engine in RM

I just don’t get why this isn’t the way it is implemented currently. Having now had a chance to fiddle around with it in the viewport, it has all of the draw backs of a viewport with very few benefits. It is WAY too slow to actually be usable in the viewport as a live view and has no feedback about how far through completing a render it is. Not to mention that you might be sitting there for a while, waiting for a half decent quality image to appear and then accidentally adjust the view only for it to start all over again. There is simply no benefit to a viewport mode that takes many minutes to render.

It seems like it was implemented in such a way as to tick a box or look impressive without actually being that useful.

I’ve not yet had a chance to see if there are any sensible settings for it, partly because my 2018 MacBook Pro is essentially unresponsive now I’ve turned on the Raytraced mode.

I just don’t get what the downside is to having a traditional render output?

Sorry to be down about it, but I just want alternative render modes and I don’t think this is it.

edit: about 15 minutes after enabling the raytace mode in the viewport, I’m still trying to tell viewcapturetofile where to save the output file. Having my whole computer grind to a halt because I have set the viewport mode when all I want to do is set an export going is unbelievably un-user friendly; I expect an output render to take several minutes and can find other things to do once it is set up and running but for it to take 15 minutes before I’ve even got it going because the viewport rendering is hogging every last bit of performance from the machine is completely insane.

@nathanletwory is it CPU or GPU limited? Should we be adding eGPUs to MacBooks to have any hope of using this?

20 minutes after trying to get a viewcapturetofile out of it, I’ve resorted to force quitting Rhino.

This is simply not a useable feature on a complex model.

Raytraced appears to be working with AMD GPUs, haven’t ever got CUDA enabled on a Mac. But I use Raytraced with the CPU only. I have no experience with eGPUs, but if they are AMD GPUs of at least GCN 2nd architecture or newer it should just work. Note that switching the first time to a Raytraced mode can take a while, since the Cycles kernels are being compiled then. Those are cached though, so once done the next time switching should be relatively fast.

The Macs are generally quite underpowered IMO, but with some tweaks to advanced RhinoCycles settings it is still usable in the viewport (PixelSize 2 or 3, ensure fastdraw is on and a start resolution is used). When going to do a view capture you’ll want to pause the viewport first, or ensure you have only a low sample setting for viewport. Because otherwise you’ll be running two sessions at the same time.

You can create a macro that pauses the viewport for you prior to doing a viewcapture. Personally I don’t use the dialog ever, because using the command-line version (-_ViewCaptureToFile) is much more controllable. Make sure you use sane resolutions to render to.

Around 3M polygons captured with -_ViewCaptureToFile @ 50 samples, using two cores only.

Hi

Thanks, I’m not sure where the settings are that you mention? ie, pixel size, fast draw and start resolution? I’m sure I’m just not looking in the right place.

thanks
Robin

Yah sorry, those are in the Advanced section (RhinoWIP > Preferences > Advanced). Type RhinoCycles to show just the Raytraced-related settings. Setting PixelSize to 2 or 3 already helps a lot in the viewport. ViewportCapture will still go pixelsize 1, so you’d get full resolution.

Set UseStartResolution to true, and StartResolution of 64 is generally a useful number, too, on Macs.

Hi, I’m struggling to find the pixel size setting. Is it called something else? thanks

Also, in your example render, what lighting settings do you have? Do you have a custom environment?

Sorry, I forgot that in the settings it is called RhinoCycles.DpiScale

Nothing special. Background is solid white. Further in the custom reflection environment the default Rhino Studio environment. Skylight is on, and for that the same default Rhino Studio is used as custom environment

Hi, thanks, I’ve found it now.

Things seem a bit better on the model I was having problems with previously, having reduced the threads to stop it taking over the whole machine.

However, it is way too slow to actually rotate / adjust the view while raytrace mode is enabled. I’ve done a screen recording. You can’t tell, but I am trying to rotate the view during the video. Constant beach balling.

It’s interesting how the beach ball doesn’t appear in the screen shot video…! It just looks like I’m actually just doing nothing.

What is polygon count for this file?

At any rate I wouldn’t use Raytraced view on machines that lack the oomph using that high resolution. DpiScale I’d set much higher and use the viewport for “quick” indication only, then do the actual rendering using -ViewCaptureToFile

@nathanletwory how would I get a depth channel out of a viewcapturetofile method, or other channels for that matter? One advantage of more sophisticated rendering engines is the ability to save out multiple additional channels which can help with photoshopping after.

@robinp Cycles itself already provides these channels. There already is the rhino-render-next plug-in, but TestPackageManager unfortunately doesn’t play very nice with it yet on the Mac. The rhino-render-next plug-in enables access to the depth channel.

Hi, I think that sounds vaguely positive but I’m afraid you’ve lost me with some of your post.

I think my knowledge of rhino development is letting me down. I’m not familiar with TestPackageManager nor the rhino-render-next plugin.

However, I’m aware that the render dialogue in V6 WIP looks much like the screenshot you have shown above and if it is possible or will be possible to render using cycles via that dialogue then great.

thanks
Robin

For users it eventually will be possible yes. The TestPackageManager is a way to get plug-ins, unfortunately it doesn’t play nice on the Mac just yet. (I hope @will, @dan and friends will make it happens sooner rather than later). The rhino-render-next plug-in is a production render plug-in interfacing for the Cycles render engine that is used in Raytraced.

The screenshot is of V6 WIP. I’ll see if I can publish a .macrhi package here that should work with V6 WIP for Mac.

Thanks, that sounds very promising. With regards to the rhino-render-next / V6 WIP render interface, it would be great to be able to save a single file with all of the additional channels included, either as channels or layers within a multi-layer file.

It would be also very helpful to have a couple of other options for channels such as:

  • AO and / or GI type layer (perhaps similar to the arctic display mode)
  • Object / material / render ID

Not sure if the above is even technically possible with Cycles?!

That would be very nice indeed. I think I made a feature request for the Render Window to support saving to EXR with all possible channels in one go. I couldn’t find it so I made a new YT issue for this feature request: https://mcneel.myjetbrains.com/youtrack/issue/RH-52758

All the channels Cycles support in the very least would be nice to have (here are the possible channels: https://docs.blender.org/manual/en/dev/render/cycles/settings/scene/render_layers/passes.html )

Marvellous. Looking forward to these and rhino-render-next etc. Thank you.